示例#1
0
 public void removeAll_ExepteObvijevanStats() {
   setObvijevanPos(0);
   Personnage.Stats StatsSansObvi = new Personnage.Stats();
   for (Map.Entry<Integer, Integer> entry : Stats.getMap().entrySet()) {
     int statID = ((Integer) entry.getKey()).intValue();
     if ((statID != 971) && (statID != 972) && (statID != 973) && (statID != 974)) continue;
     StatsSansObvi.addOneStat(statID, ((Integer) entry.getValue()).intValue());
   }
   Stats = StatsSansObvi;
 }
示例#2
0
  public String parseStatsStringSansUserObvi() {
    if (getTemplate().getType() == 83) // Si c'est une pierre d'âme vide
    return getTemplate().getStrTemplate();

    StringBuilder stats = new StringBuilder();
    boolean isFirst = true;
    for (SpellEffect SE : Effects) {
      if (!isFirst) stats.append(",");

      String[] infos = SE.getArgs().split(";");
      try {
        stats
            .append(Integer.toHexString(SE.getEffectID()))
            .append("#")
            .append(infos[0])
            .append("#")
            .append(infos[1])
            .append("#0#")
            .append(infos[5]);
      } catch (Exception e) {
        e.printStackTrace();
        continue;
      }
      ;

      isFirst = false;
    }

    for (Entry<Integer, Integer> entry : Stats.getMap().entrySet()) {
      if (!isFirst) stats.append(",");
      String jet = "0d0+" + entry.getValue();
      stats
          .append(Integer.toHexString(entry.getKey()))
          .append("#")
          .append(Integer.toHexString(entry.getValue()));
      stats.append("#0#0#").append(jet);
      isFirst = false;
    }

    for (Entry<Integer, String> entry : txtStats.entrySet()) {
      if (!isFirst) stats.append(",");

      if (entry.getKey() == Constants.CAPTURE_MONSTRE) {
        stats.append(Integer.toHexString(entry.getKey())).append("#0#0#").append(entry.getValue());
      } else {
        stats
            .append(Integer.toHexString(entry.getKey()))
            .append("#0#0#0#")
            .append(entry.getValue());
      }
      isFirst = false;
    }
    return stats.toString();
  }
示例#3
0
 public void obvijevanNourir(Objet obj) {
   if (obj == null) return;
   for (Map.Entry<Integer, Integer> entry : Stats.getMap().entrySet()) {
     if (entry.getKey().intValue() != 974) // on ne boost que la stat de l'expérience de l'obvi
     continue;
     if (entry.getValue().intValue()
         > 500) // si le boost a une valeur supérieure à 500 (irréaliste)
     return;
     entry.setValue(
         Integer.valueOf(
             entry.getValue().intValue()
                 + obj.getTemplate().getLevel() / 32)); // valeur d'origine + ObjLvl / 32
     // s'il mange un obvi, on récupère son expérience
     /*if (obj.getTemplate().getID() == getTemplate().getID()) {
     	for(Map.Entry<Integer, Integer> ent : obj.getStats().getMap().entrySet()) {
     		if (entry.getKey().intValue() != 974) // on ne considère que la stat de l'expérience de l'obvi
     			continue;
     		entry.setValue(Integer.valueOf(entry.getValue().intValue() + Integer.valueOf(ent.getValue().intValue())));
     	}
     }*/
   }
 }
示例#4
0
  public void parseStringToStats(String strStats) {
    String[] split = strStats.split(",");
    for (String s : split) {
      try {
        String[] stats = s.split("#");
        int statID = Integer.parseInt(stats[0], 16);

        // Stats spécials
        if (statID == 997 || statID == 996) {
          txtStats.put(statID, stats[4]);
          continue;
        }
        // Si stats avec Texte (Signature, apartenance, etc)
        if ((!stats[3].equals("") && !stats[3].equals("0"))) {
          txtStats.put(statID, stats[3]);
          continue;
        }

        String jet = stats[4];
        boolean follow = true;
        for (int a : Constants.ARMES_EFFECT_IDS) {
          if (a == statID) {
            int id = statID;
            String min = stats[1];
            String max = stats[2];
            String args = min + ";" + max + ";-1;-1;0;" + jet;
            Effects.add(new SpellEffect(id, args, 0, -1));
            follow = false;
          }
        }
        if (!follow) continue; // Si c'était un effet Actif d'arme ou une signature
        int value = Integer.parseInt(stats[1], 16);
        Stats.addOneStat(statID, value);
      } catch (Exception e) {
        continue;
      }
      ;
    }
  }
示例#5
0
 public void obvijevanChangeStat(int statID, int val) {
   for (Map.Entry<Integer, Integer> entry : Stats.getMap().entrySet()) {
     if (((Integer) entry.getKey()).intValue() != statID) continue;
     entry.setValue(Integer.valueOf(val));
   }
 }