public long getWinExperience(PlayerFighter fighter, int winTeamLevel, int loseTeamLevel) { if (Config.RATE_DEFIANCE.getValue() <= 0) return 0; double fact = loseTeamLevel / winTeamLevel; fact *= Config.RATE_DEFIANCE.getValue(); fact *= (10 / fighter.getLevel()) + 1; fact *= (double) (((double) fighter.getPlayer().getTotalStats().get(Stats.Element.SAGESSE) / 100) + (double) 1); Pair<Experience, Experience> xps = ExperienceHandler.instance().getLevel(fighter.getLevel()); long inter = xps.getSecond().player - xps.getFirst().player; long ret = (long) (Utils.randLong((long) (0.01 * inter), (long) (0.1 * inter)) * fact); if (ret < 0) ret = 0; return ret; }