Esempio n. 1
0
  /*
   * 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);
  }