public void resetAP(MapleClient c, byte stat) {
        MapleCharacter player = c.getPlayer();
        short amount = 0;
        switch (stat) {
            case 1: // STR
                amount = (short) (player.getStat().getStr() - 4);
                if ((player.getRemainingAp() + amount) > 32767) {
                    c.showMessage("Trying to get negative AP? you cannot have more than 32767 free AP. now go fap");
                    return;
                }
                player.getStat().setStr(4);
                player.updateSingleStat(MapleStat.STR, 4);
                break;
            case 2: // DEX
                amount = (short) (player.getStat().getDex() - 4);
                if ((player.getRemainingAp() + amount) > 32767) {
                    c.showMessage("Trying to get negative AP? you cannot have more than 32767 free AP. now go fap");
                    return;
                }
                player.getStat().setDex(4);
                player.updateSingleStat(MapleStat.DEX, 4);
                break;
            case 3: // INT
                amount = (short) (player.getStat().getInt() - 4);
                if ((player.getRemainingAp() + amount) > 32767) {
                    c.showMessage("Trying to get negative AP? you cannot have more than 32767 free AP. now go fap");
                    return;
                }
                player.getStat().setInt(4);
                player.updateSingleStat(MapleStat.INT, 4);
                break;
            case 4: // LUK
                amount = (short) (player.getStat().getLuk() - 4);
                if ((player.getRemainingAp() + amount) > 32767) {
                    c.showMessage("Trying to get negative AP? you cannot have more than 32767 free AP. now go fap");
                    return;
                }
                player.getStat().setLuk(4);
                player.updateSingleStat(MapleStat.LUK, 4);
                break;
        }
        player.setRemainingAp(player.getRemainingAp() + amount);
        player.updateSingleStat(MapleStat.AVAILABLEAP, player.getRemainingAp());
    }