public void giveJQReward() {
        if (jqStart == null || client.getChannel() != 3) {
            dropMessage("You did not start the JQ properly. either you warped in or CCed . so no rewards for you");
            return;
        }
        int type = (int) Math.floor(Math.random() * 3200 + 1);
        int[] jqmap = {105040311, 105040313, 105040316, 103000902, 103000905, 103000909, 101000101, 101000104, 109040004, 280020001};
        for (byte i = 1; i <= jqmap.length; i++) {
            if (this.getMapId() == jqmap[i]) {
                jqFinished++;
                if (i == 9) {
                    jqPoints++;
                    lastjq = 0;
                } else {
                    lastjq = i;
                }
                dropMessage("Congratulations on successfully finishing the JQ #" + (i + 1));
            } else {
                dropMessage("You cheat");
            }
        }
        int chance = (int) (Math.random() * 1000);
        if (chance < 10) {
            giveSpecialScroll(1);
        } else if (chance < 50) {
            Rebirths.giveRebirth(this);
            dropMessage("you have gained a rebirth");
        } else if (chance < 75) {
            gainItem(Items.GachaType.regular, 1);
            dropMessage("you have gained a Gacha ticket");
        } else if (chance < 100) {
            levelUp();
            levelUp();
            levelUp();
        } else if (chance < 110) {
            addNinjaTensu();
            dropMessage("you have gained NinjaTensu");
        } else if (chance < 200) {
            addCSPoints(1, chance * 5);
            dropMessage("You have gained " + (chance * 5) + " NX");
        }
        changeMap(100000000);
    }