public static int gainKillExperience(Thing h, Thing t) { int hlevel = h.getLevel(); int tlevel = t.getLevel(); int killcount = 0; if (h.isHero()) { killcount = incKillCount(t); if (killcount == 1) { Score.scoreFirstKill(t); } } int base = t.getStat("XPValue"); double xp = base; xp = xp * Math.pow(experienceDecay, killcount); xp = xp * Math.pow(experienceLevelMultiplier, tlevel - 1); // decrease xp gain for killing lower level monsters if (hlevel > tlevel) xp = xp / (hlevel - tlevel); int gain = (int) xp; Hero.gainExperience(gain); return gain; }