public static int getExpRate(MapleCharacter noob){
        if(noob.getGMSMode() > 0 && !noob.isJounin()){
            return 0;
        }
        double expRate = Village.getExpRate(noob.getVillage());
        if(Modes.getInstance(noob).hasKyubi()){
            if(noob.getVillage() != 5) {
                expRate *= 2;
            } else {
                expRate *= 1.3;
            }
        }
        expRate += (noob.getExpBoost() * expRate / 100);
        if(noob.isGenin()){
            expRate += (expRate * 0.25);
        }         
        if(noob.hasRasengan()){
            expRate *= 0.70;
        }
        double reduce = Math.min((noob.getMaxStatItems() * 100), noob.getReborns());
        reduce = Math.min(reduce, (expRate /2));
        expRate -= reduce;
        if(Village.isOtherVillage(noob)){
            expRate /=2;
        }
        return (int) Math.floor(expRate);
    }