public ItemSet(int id, String items, String bonuses) { _id = id; // parse items String for (String str : items.split(",")) { try { ObjTemplate t = World.getObjTemplate(Integer.parseInt(str.trim())); if (t == null) continue; _itemTemplates.add(t); } catch (Exception e) { } ; } // on ajoute un bonus vide pour 1 item _bonuses.add(new Stats()); // parse bonuses String for (String str : bonuses.split(";")) { Stats S = new Stats(); // séparation des bonus pour un même nombre d'item for (String str2 : str.split(",")) { try { String[] infos = str2.split(":"); int stat = Integer.parseInt(infos[0]); int value = Integer.parseInt(infos[1]); // on ajoute a la stat S.addOneStat(stat, value); } catch (Exception e) { } ; } // on ajoute la stat a la liste des bonus _bonuses.add(S); } }
public Stats generateNewStatsFromTemplate(String statsTemplate, boolean useMax) { Stats itemStats = new Stats(false, null); // Si stats Vides if (statsTemplate.equals("") || statsTemplate == null) return itemStats; String[] splitted = statsTemplate.split(","); for (String s : splitted) { String[] stats = s.split("#"); int statID = Integer.parseInt(stats[0], 16); boolean follow = true; for (int a : Constants.ARMES_EFFECT_IDS) // Si c'est un Effet Actif if (a == statID) follow = false; if (!follow) continue; // Si c'était un effet Actif d'arme String jet = ""; int value = 1; try { jet = stats[4]; value = Formulas.getRandomJet(jet); if (useMax) { try { // on prend le jet max int min = Integer.parseInt(stats[1], 16); int max = Integer.parseInt(stats[2], 16); value = min; if (max != 0) value = max; } catch (Exception e) { value = Formulas.getRandomJet(jet); } ; } } catch (Exception e) { } ; itemStats.addOneStat(statID, value); } return itemStats; }