Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Dans la classe SQLManager:
- public static void LOAD_BREED_SPELLS()
- {
- try {
- ResultSet RS = SQLManager.executeQuery("SELECT * from breed_spells;", Faith.STATIC_DB_NAME);
- while (RS.next())
- {
- World.addRaceSpell(new BreedSpell(
- RS.getInt("Breed"),
- RS.getInt("Level"),
- RS.getInt("SpellId"),
- RS.getInt("Pos")));
- }
- closeResultSet(RS);
- } catch (SQLException e) {
- System.out.println("Game: SQL ERROR: " + e.getMessage());
- System.exit(1);
- }
- }
- public static void LOAD_BREEDS() {
- try {
- ResultSet RS = SQLManager.executeQuery("SELECT * from breed_data;", Faith.STATIC_DB_NAME);
- while (RS.next())
- {
- World.addBreed(new Breed(
- RS.getInt("Breed"),
- RS.getInt("StartLife"),
- RS.getInt("StartPA"),
- RS.getInt("StartPM"),
- RS.getInt("StartInitiative"),
- RS.getInt("StartProspecting"),
- RS.getInt("StartMap"),
- RS.getInt("StartCell"),
- RS.getString("Intelligence"),
- RS.getString("Wisdom"),
- RS.getString("Chance"),
- RS.getString("Agility"),
- RS.getString("Strenght"),
- RS.getString("Vitality")));
- }
- closeResultSet(RS);
- } catch (SQLException e) {
- System.out.println("Game: SQL ERROR: " + e.getMessage());
- System.exit(1);
- }
- }
- // Dans la classe World:
- private static Map<Integer, Breed> Breeds = new TreeMap<Integer, Breed>();
- private static ArrayList<BreedSpell> BreedSpells = new ArrayList<BreedSpell>();
- public static ArrayList<BreedSpell> getBreedSpells()
- {
- return BreedSpells;
- }
- public static void addRaceSpell(BreedSpell breedSpell)
- {
- BreedSpells.add(breedSpell);
- }
- public static Breed getBreed(int breed)
- {
- return Breeds.get(breed);
- }
- public static void addBreed(Breed breed)
- {
- Breeds.put(breed.getId(), breed);
- }
- //Dans createWorld:
- System.out.print("Loading breed data: ");
- SQLManager.LOAD_BREEDS();
- System.out.println("breed data were loaded");
- System.out.print("Loading breed spells: ");
- SQLManager.LOAD_BREED_SPELLS();
- System.out.println("breed spells were loaded");
- // Dans la classe Personnage:
- public void spellPlacement()
- {
- Map<Integer, Character> toPlace = new TreeMap<Integer, Character>();
- for(SortStats spell : _sorts.values())
- {
- for(BreedSpell breedSpell : World.getBreedSpells())
- {
- if(breedSpell.getSpellId() == spell.getSpellID() && breedSpell.getBreed() == _classe)
- {
- char pos = CryptManager.getHashedValueByInt(breedSpell.getPos());
- for(Entry<Integer, Character> entry : _sortsPlaces.entrySet())
- {
- if(entry != null && entry.getValue() == pos)
- {
- continue;
- }
- toPlace.put(spell.getSpellID(), pos);
- }
- }
- }
- }
- }
- public void learnBreedSpell()
- {
- List<BreedSpell> toLearn = new ArrayList<BreedSpell>();
- for(BreedSpell breedSpell : World.getBreedSpells())
- {
- if(breedSpell.getBreed() == _classe && breedSpell.getLvl() <= _lvl && !hasSpell(breedSpell.getSpellId()))
- {
- toLearn.add(breedSpell);
- }
- }
- for(BreedSpell breedSpell : toLearn)
- {
- addSpell(breedSpell.getSpellId(), 1);
- }
- }
- public synchronized void addSpell(int spellId, int lvl)
- {
- if(!hasSpell(spellId))
- {
- if(World.getSort(spellId).getStatsByLevel(lvl)==null)
- {
- GameServer.addToLog("[ERROR]Sort "+spellId+" lvl "+lvl+" non trouvé.");
- return;
- }
- _sorts.put(spellId, World.getSort(spellId).getStatsByLevel(lvl));
- }
- }
- public boolean hasSpell(int spellId)
- {
- return (getSortStatBySortIfHas(spellId) == null ? false : true);
- }
- /*Dans CREATE_PERSONNAGE():
- On retire:*/
- perso._sorts = Constants.getStartSorts(classe);
- for (int a = 1; a <= perso.get_lvl(); a++)
- {
- Constants.onLevelUpSpells(perso, a);
- }
- perso._sortsPlaces = Constants.getStartSortsPlaces(classe);
- //Et on ajoute:
- perso.learnBreedSpell();
- perso.spellPlacement();
- /*Ensuite on replace les occurences de: Constants.onLevelUpSpells(this,_lvl); en: learnBreedSpell();, celles de Constants.getStartMap(_classe) en World.getBreed(classe).getStartMap(), celles de Constants.getStartCell(_classe) en World.getBreed(classe).getStartCell()*/
Advertisement
Add Comment
Please, Sign In to add comment