示例#1
0
  /**
   * Remove XP from a skill.
   *
   * @param skillType Type of skill to modify
   * @param xp Amount of xp to remove
   */
  public void removeXP(SkillType skillType, int xp) {
    if (skillType.equals(SkillType.ALL)) {
      for (SkillType skill : SkillType.values()) {
        if (skill.equals(SkillType.ALL)) {
          continue;
        }

        skillsXp.put(skill, skillsXp.get(skill) - xp);
      }
    } else {
      skillsXp.put(skillType, skillsXp.get(skillType) - xp);
    }
  }
示例#2
0
  /**
   * Add levels to a skill.
   *
   * @param skillType Type of skill to add levels to
   * @param levels Number of levels to add
   */
  public void addLevels(SkillType skillType, int levels) {
    if (skillType.equals(SkillType.ALL)) {
      for (SkillType skill : SkillType.values()) {
        if (skill.equals(SkillType.ALL)) {
          continue;
        }

        skills.put(skill, skills.get(skill) + levels);
        skillsXp.put(skill, 0);
      }
    } else {
      skills.put(skillType, skills.get(skillType) + levels);
      skillsXp.put(skillType, 0);
    }
  }
示例#3
0
  /**
   * Modify a skill level.
   *
   * @param skillType Type of skill to modify
   * @param newValue New level value for the skill
   */
  public void modifySkill(SkillType skillType, int newValue) {
    if (skillType.equals(SkillType.ALL)) {
      for (SkillType skill : SkillType.values()) {
        if (skill.equals(SkillType.ALL)) {
          continue;
        }

        skills.put(skill, newValue);
        skillsXp.put(skill, 0);
      }
    } else {
      skills.put(skillType, newValue);
      skillsXp.put(skillType, 0);
    }
  }
示例#4
0
  public PlayerProfile(String playerName, boolean addNew) {
    this.playerName = playerName;
    party = PartyManager.getInstance().getPlayerParty(playerName);

    for (AbilityType abilityType : AbilityType.values()) {
      skillsDATS.put(abilityType, 0);
    }

    for (SkillType skillType : SkillType.values()) {
      if (skillType != SkillType.ALL) {
        skills.put(skillType, 0);
        skillsXp.put(skillType, 0);
      }
    }

    if (Config.getInstance().getUseMySQL()) {
      if (!loadMySQL() && addNew) {
        addMySQLPlayer();
        loaded = true;
      }
    } else if (!load() && addNew) {
      addPlayer();
      loaded = true;
    }
  }
 /**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public SkillType createSkillTypeFromString(EDataType eDataType, String initialValue) {
   SkillType result = SkillType.get(initialValue);
   if (result == null)
     throw new IllegalArgumentException(
         "The value '"
             + initialValue
             + "' is not a valid enumerator of '"
             + eDataType.getName()
             + "'");
   return result;
 }
示例#6
0
  @Override
  protected final void writeImpl() {
    writeC(0x8a);
    writeD(_skillType.ordinal());
    writeD(_skills.size());

    for (Skill temp : _skills) {
      writeD(temp.id);
      writeD(temp.nextLevel);
      writeD(temp.maxLevel);
      writeD(temp.spCost);
      writeD(temp.requirements);
    }
  }
示例#7
0
 private List<SkillItem> get(String skill, boolean isjob) {
   String key = isjob ? "jobs" : "prereq";
   List<SkillItem> items = new ArrayList<SkillItem>();
   if (config.contains("skills." + skill + "." + key)) {
     for (String item :
         config.getConfigurationSection("skills." + skill + "." + key).getKeys(false)) {
       String ref = "skills." + skill + "." + key + ".";
       SkillType type = SkillType.valueOf(item);
       if (type != null) {
         items.add(new SkillItem(config.getString(ref + item), type, skill));
       }
     }
   }
   return items;
 }