/* * Gives a number of experience points to the hero */ public static void gainExperience(int x) { Thing h = Game.hero(); // if (QuestApp.debug) Game.warn("You gain "+x+" experience points"); int exp = h.getBaseStat(RPG.ST_EXP) + x; int level = h.getBaseStat(RPG.ST_LEVEL); int requiredForNextLevel = calcXPRequirement(level + 1); while (exp >= requiredForNextLevel) { if (level < 50) { Being.gainLevel(h); exp -= requiredForNextLevel; level++; requiredForNextLevel = calcXPRequirement(level + 1); } else { exp = requiredForNextLevel - 1; } } h.set(RPG.ST_EXP, exp); }