Jump to content

Recommended Posts

  • Replies 428
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Bonjour   Suite à la suppression de l'autre post je repartage cette emu avec beaucoup d'ajout.   J'ai corriger la bdd qui permet de démarrer le serveur.     Changelog :       

.

 

Bonjour

 

Suite à la suppression de l'autre post je repartage cette emu avec beaucoup d'ajout.

 

J'ai corriger la bdd qui permet de démarrer le serveur.

 

 

Changelog : 

 

 
MOD SQL:
 
#Quests:
tables quests et steps et objectives
dans perso: questList en 'text' lenght 0
 
#Lazy loading nouvelles tables:
usedAccounts.  Colonne: idAccount
usedMaps.  Colonne: idMap 
 
#Bandits
perso: Humanity
bandit_copy: aucomplet
experience: bandit
 
#Prismes
areas: prisme / alignement
subareas: prisme / conquerable
prismes: tout
 
#Achiev et stats
achievements: au complet
statistiques: au complet
 
#Élevage
mount_data: ne
w colonnes pour élevage
mountpark_data: new colonnes pour élevage
 
#MultiServ
perso: serverID
 
#Héroique:
perso: deathCount, isDead, reachedLevel
mobsWhoDropped: modGroupID, drops         #TODO
 
#Autres modifs/ajouts:
perso: title devient int au lieu de byte, 
perso: ARrestrictions et GMrestrictions
 
#Boutique IG:
account: points et des trucs
item_template: pointso
 
 
 
 
Dernier Changelog: 
- Guildes
- Amis/Ennemis/ignorés
- Teleportation enclos de guilde (avec potion)
- Perceps
- Sorts 99%
- Challenges
- Étoiles de groupe sur les mobs
- Mode marchand fonctionnel 
- HDV fonctionnels
- Percepteurs fonctionnels 
- Correction des sorts de poussée: Ça ne fait plus déco quand on pousse quelqu'un sur un mur. 
- Obvijevans à la création de perso. ***FAIT***
- 10 slots dans la config pour mettre des items à la création du perso.***FAIT***
- Commandes:***FAIT***
- .tp => .start , .shop , .event , .goulta , .pvp , .go***FAIT***
- .align => .neutre , .brakmarien , .bontarien , .seriane***FAIT***
- .save , .vie , .fmcac , .parcho , .site, etc.***FAIT***
- Enclos de guilde. (Élevage actuellement désactivé car je ne l'ai pas terminé, mais c'est en cours)
- Les dd vont du lvl 100 à 200. (Ce qui double leurs bonus)***FAIT***
- Sorts de classe appris automatiquement au lvl 500.***FAIT***
- Bonus aux stats aux levels 300, 600, 900 et 1000.***FAIT***
- Commande .demorph***FAIT***
- Console avec commandes réservées aux membres VIP (À date: Honneur, taille, metier, sériane et éventuellement Zobal)***FAIT***
- La possibilité d'être Sériane et/ou Zobal sera donc réservée aux VIP.***FAIT***
- Résolution des bugs concernant le passage des tours des mobs.
- Enclos de guilde. (Élevage actuellement désactivé car je ne l'ai pas terminé)
- L'augmenteur de stats a maintenant des vraies formules de calcul (Avant il ne prenait pas en compte tous les paliers)***FAIT***
- Ajout d'un message de félicitation lorsqu'un perso arrive au lvl 1000.***FAIT***
- Ajout de la cinématique à la création de personnage.***FAIT***
- Correction de l'xp en groupe (pas beaucoup l'ont expérimenté avant, mais ca bugait)***FAIT***
 
- Suppresion de l'écriture des logs txt et console pour enlever un peu de lag.***FAIT***
- Commande pour les niveaux Mod et >: setvip [nom] et unsetvip [nom] qui donne le rang de vip ainsi que le grade à la personne.***FAIT***
- Correction des dragodindes caméléones.***FAIT***
- Montiliers avec bonus***FAIT***
- TROPHÉS équipable dans la barre d'objets rapide (donc 14 slots)***FAIT***
- Bandits 95%***FAIT***
- Prismes 90%***FAIT***
- Augmenteur de stats avec le code, mais sans etre obliger de "mettre des zéros dans les trous" Exemple avant pour mettre 57, il fallait faire 057, maintenant on peut mettre 57 et rien dans la derniere case.
Aussi, apres avoir augmenté une stat, un message est envoyé disant de combien elle a été boostée et de combien est son total actuel.
Si le joueur n'a pas assez de capital, un message est envoyé pour l'indiquer.
 
- XP en défi.***FAIT***
- Correction de la faille spectateur et de la faille de duplication d'objets***FAIT***
- Insertion des nouvelles dragodindes (Montilier, Hurledent et Piouture). (Ancestra, Constants)***FAIT***
- Débug final des bandits (Objet, SQL, Personnage, Constants, World, GameThread) ***FAIT***
- Débug final du restat en fonction des bonus gagnés à certains niveaux***FAIT***
- Armes bandits et trophés maintenant non stackable.***FAIT***
- Trophés maintenant équipable en faisant un double-clic.***FAIT***
- Trophés maintenant non-échangeables.***FAIT***
- Élevage terminé. (ou presque, il manque peut-etre des trucs pour la reproduction)***FAIT***
- + Les émotes pour faire bouger les dd fonctionnent.***FAIT***
- Les objectifs donnent des titres automatiquements à la réussite de ce dernier.***FAIT***
- Boutique ig 100%. (Personnage, SQL, User, Objet, gamethread.Exchange_onbuyitem)***FAIT***
- IA améliorée (thx kanido) ***FAIT***
- Ajout de commandes gm: CLEANENCLOS, CLEANETABLE, MODIFMP, CELLMONTURE, ADDPOINTS, ADDKILLS, PACKET, SPAL***FAIT***
- Correction de la faille quand on entre dans 2 combats en meme temps. ***FAIT***
- Optimisation générale entamée et correction de bugs et multiples stupidités au niveau de: tout l'emu x)
- Correction de l'ordre de jeu (Merci je ne sais plus qui)(Fight.InitOrdreJeu).***FAIT***
- Possibilité d'adapter l'emu a n'importequel serveur.***FAIT***
- ÉLEVAGE **FAIT**
 
 
 
REV 8
- Packets de restrictions (tombe et tout) 
- Réglage de la faille héroique (lancer des combats en mode tombe) grace a la restriction tombe
- Pose du lvl maximum de différence en pvp pour l'héroique (pour pas que les HL tuent les bl tout le temps)
- Ajouts de champs dans les achievements. réglage de leurs sql et de l'instance Achievement pour le "createCleanAchiev" et tout et tout
- Deletion et recodage du mode héroique complet
- Correction des restrictions
 
 
REV 9
- Clean des utilisations de Ancestra.CONFIG_DEBUG dans le SocketManager
- Items utilisables en combat. (GameThread.object_use et Ancestra)
- Mise en commentaire de presque tout ce qui se rapporte aux prismes
- Armes robot/merco équipables,non-changeables,non-dropables et restrictions des aggros par rapport au clan du joueur. ()
 
 
REV 10
- Limitations sur les objets en combats avec les PI (Fighter. _pointsI et GameThread.object_use et Ancestra)
- Encore une rectification des restrictions (sur le actualize)
- Armes spéciales (qui lancent des sorts) dans Fight.tryCaC
- Enlevé un bug sur la déconnexion aussi
- Réglage du lancement automatique des combats en pvp
 
 
REV 11
- Correction de nullPointerExecption: Perso.finishACtionOnCell (2984), Pending(19), GameThread.Exchange_MountPark(2880), Gamethread.Exchange_onMoveItem(3216)
- Correction bug sql sur les achievements (quand javais enlevé 10_pvm et 1_pvp)
- Mise en place du rang "Développeur de l'emulateur" dans le .infos
- Correction de la restriction sur les merco/robot dans gamethread.joinfight, ceux qui avait pas de cac pouvait pas rejoindre de combat.
- Commande CLEANMP
- Deletion du systeme de vente des objets boutique a moitié prix des points
- Delete de la classe USER de ce qui s'y rapporte + modif de SAVE_USER_POINTS (useless)
- Fini les armes légendaires (fight.trycac)
 
 
REV 12
- Fight.toggleLockSpec: revue avec la meme structure que toggleOnlyGroup
- Revue de la structure de leftFight (ANNULÉ, YAVAIT BUG)
- Redirection de la table user>points.Mtn accounts>points
- Correction de la faille bandits quand on enleve l'arme on perd bien les sorts bandits.
 
 
REV 13
- Commencement du métier Renforceur (Constants+ref., Lang.jobs lang.skills, lang.interactiveobject, langitem) Fichier 122 pour les items de renforcement. L'outil dans le type 20. Classe reinforcement. Metier.jobaction.get/set_ingredients, get/set_lastcraft, lang.effects.  Metier.craft. Objet.parseStringToStats, Objet.parseStatsStringSansUserObvi, parseStatString peut-etre. Objet.get/set_rang, Constants.JOB_ACTION, Constants.
- Pdv insoignables (reste le bug daffichage quand cpas ton tour)
 
 
REV 14
- réglage d'un nullException sur onToggleMount  
- dautre affaire....
 
 
REV 15
- Début de ZenMina
- Suppression du pending dans G4-Zen comme j'avais fait dans mina
- Commandes .double, DOUBLE, etc
- dautre affaire....
 
 
REV 16
- Commandes IG utilisables dans la console en utilisant le perso de notre choix (!!.... et @@...)
- CodeInput & Finders
- Correction du System.exit(1); dans SAVE_PERSONNAGE, les perso qui bugent sont mtn kick sans etre savé
- dautre affaire....
- Mise en place des commandes @code(début), @exe(fini) et @eval(à peu pres fini)
- Mise en place du système de scripting utilisant JavaScript (CodeInput.evaluate) avec la commande @eval
 
 
REV 17
- ajout de SAVE_CANAUX et SAVE_PERSONNAGE_STATS pour éviter des grosses requetes de save_personnage
- Fight.joinAsSpec: possibilité pour les gm > 1 de rejoindre cbt en spectateur meme s'il est bloqué
- commencement du bloquage des messages contenant des liens vers dautres serveurs (GameThread.Basic_chatMessage)
 
 
REV 18:
- Réorganisation des commandes joueurs + la classe CommandesJoueurs pour les mettre
- réglage des exceptions :
- StringIndexOutOfBoundsException: String index out of   range: 0
        at java.lang.String.charAt(Unknown Source)       (GameThread.java:4100)
 
- [Peut-Etre:] java.lang.NullPointerException
        at game.GameThread.game_action(GameThread.java:5766)
 
- [Peut-Etre:] java.lang.ArrayIndexOutOfBoundsException: 1
        at game.GameThread.Basic_chatMessage (GameThread.java:4971)
 
- [Probablement]: java.lang.NullPointerException
        at game.GameThread.Game_on_GI_packet         (GameThread.java:5509)
 
- java.lang.NullPointerException
        at objects.Compte.resetAllChars(Compte.java:389)
 
- java.lang.NullPointerException
        at game.GameThread.Game_on_GK_packet (GameThread.java:5434)
- java.util.ConcurrentModificationException        
  at objects.Compte.resetAllChars(Compte.java:371)
- java.lang.NullPointerException
        at objects.Fight.leftFight(Fight.java:4878)
- java.lang.NullPointerException
        at objects.Compte.resetAllChars(Compte.java:389)
        at objects.Compte.deconnexionNoSave(Compte.java:359)
- java.lang.NullPointerException
        at game.GameThread.Mount_ride(GameThread.java:1494)
- java.lang.NullPointerException
        at objects.Fight$Fighter.getGmPacket(Fight.java:530)
- java.lang.NullPointerException
        at game.GameThread.parseGameActionPacket (GameThread.java:5253)
- java.lang.NullPointerException
        at common.SocketManager.
GAME_SEND_FIGHT_PLAYER_READY_TO_FIGHT(SocketMana
ger.java:798)
- Debug de quand on fait la commande .all mais on dit rien avant ca déco-ait
 
 
REV 19
- Mit plusieurs effets de sorts débuffables (+esquives pa/pm, +%resist, -%resist, +po, +invocs)
- Bloqué les mots interdits (Arkalia, asterion, infinite, etc)
- Rajout du chargement des maps/cells pour goulta et event de la config
- Ajout de SHOP2_MAP et SHOP3_MAP dans la config et dans Ancestra. Cest pour mettre des copies de la map shop originale pour que les joueurs s'y téléportent quand la premiere est pleine. Comme ca on évite la surpopulation et que ca bug
- Niveau max des dragos mtn 100 + rajout des montilier/hurledent
- java.lang.NullPointerException
        at objects.House.OpenHouse(House.java:245)
 
 
REV 20
- DEBUG DES INVOCS EN PVP Fallait ajouter:        
if(i.isInvocation() && i.getMob() != null ){
    continue;
    }
Dans la section GAGNANTS en PVP dans le GetGE. Voir le fichier bugs.txt pour voir l'exception qui faisait bug ca 
- Commande: pub 0, pub 1, pub 2, pub3.  0 = pub vote. 1,2,3 c'est celles dans la config. 
- Les pubs sont en rouge et jai rajouté "[TicTak-Serveur]: " devant. x)
- Dans SocketManager.send(Perso): on n'envoie qu'au persos qui sont online, ca réduit le nombre de bugs liés aux doubles.
 
 
REV 21:
- Début du Kolisé: classe Koliseum + références
  Constants.FIGHT_TYPE_KOLI + références
Personnage.getKoliGroup/set + références
- Système de blocage des ips (+autoban) qui floodent connexion dans gameserver, à ajouter dans le realmserver et à peaufiner (?)
- Ajout du gm6 : GameHelper
 
 
REV 22:
- Mit de la synchronization et des lock sur les références à groupsOf1, groupsOf2 et groupsOf3 dans Kolizéum
- bloqué le multi-compte quand on créé un groupe kolizéum ainsi que le multi-compte en 1vs1.
- Ajout de l'actionID 100003 pour choisir un titre d'achiement. args = titleID. Le titre n'est mis en place que si la personne a le trophé correspondant au bon achievement
- mis en commentaire le blocage des envois de packets aux doubles dans SM.send
- mis en comments tout le system de blocage d'ip ds le gameserv
- Correction des étoiles dans Monstre.get_bonusValue et Ancestra
- Ajout de l'xp en kolizeum dans GetGE, et modifié la formule d'xpDefi utilisée pour être moins busay et plus représentative des niveaux.
- Correction de la deco sur l'inscription des groupes 2vs2 en koli 
- Mit environ 21 maps pour le kolizeum, mais certaines bugent à cause que les joueurs ne les vérifient pas.
 
 
REV 23:
- Correction totale de la commande .go suite à des demandes
- NullPointerException: GameThread.Game_On_GI_Packet(5396)
- NullPointerException: Perso.teleport, _curCell==null(2911)
- NullPointerException: GameThread.group_accept(1908)
- NullPointerException: Carte.getGMsPackets(1853 sur le for)
- NullPointerException: Compte.resetAllChars(375 sur le for)
- NullPointerException: GameThread.Basic_chatMessage(4148) 
- Réorganisation des packages; exclusion de mes propres classes du reste de l'emu.
 
 
REV 24:
- Mit une formule personnelle correcte pour calculer l'xp gagnée en Kolizeum dans le GetGE, les autres étaient à chier.
- Ajouté un LVL_MAX qui bloque l'xp en dessous de celui-ci. Exemple si c'est 300, on ne pourra jamais monter 301.
- On ne gagne plus d'xp en Kolizeum si on est déjà lvl 300.
- (Formule de tacle officielle de 1.27 donnée par Nekkro mais pas finie d'être implantée)
- Début du nouveau SM basé sur la structure du DataProcessor du client. Avec des classes internes pour séparer chaque catégories de packets. Avec les class Supplements, Realm, Factory, Conquest, Party, Messages..
- Revu le systeme de multiples map shops dans Perso.teleport en ajoutant des return; (il en manquait vrm), mettant des if(map!=null)...
- Remplacé toutes les références à System.out.println par Ancestra.debug, Ancestra.write et Ancestra.writeD
- Ajouté des vérifications de nullité dans SQL.SAVE_PERSONNAGE pour éviter les bugs de save.
- Début des quetes
 
 
REV 25:
- ajouté un catch(NullPointerException e){} dans la save_personnage, ca va ptete enfin le régler
- Aussi foutu le try de save_personnage dans World.save_all.for(Perso)
- Refait le SM en un package avec les classes completes dedans à la place d'une classe SM avec dles classes intégrées. Et mtn toutes ces classe extend la classe SM pour accéder aux method de send();
- Avancée dans les quetes
- Debug du sort libération dans SpellEffects.spell_Effect_5
- Debug du sort invoc de craqueleur: Suffisait de changer l'id du sort invoqué dans le sql du sort (C'était 5000 alors quil faut mettre 37)
- Quand on se téléporte en fin de combat dans un donjon, ca attend un peu avant de téléporter pour éviter de faire bug.
 
 
REV 26: 
- Puissance sylvestre n'affecte plus les ennemis.
- Suppression de la restriction de temps entre deux commandes .save.
- Début des transferts SocketManager -> SM.Accounts fini.
- Lvl max de différence entre les persos dans une aggro.
- Avancement des quêtes.
- Ajout d'une sauvegarde du personnage quand on met des items en banque pcq sinon il peut y avoir de la duplication d'items.
 
 
REV 27:
- Canal all cachable en désactivant le canal alignement (SM.Messages.MA)
- Doubles créés lors de la déconnexion en combat ne se font pu.
- Variable dans la config pour en aggro: DIFF_LVL_AGGRO = 35 et delete LVL_PVP
- Ajout de PVP2_MAP et PVP2_CELL dans config
- Correction du titre GameHelper et ajout de GameHelper Master
- Renommé les dragons de l'ile adventure.
- Changé les niv de différence en kolizeum
 
REV 28:
- Debug repérage
- Ajout de la perte de ph si on déconnecte en aggro
- nouvelle commande pour changer de nom: changename [anciennom] [newname]
- Jouvence n'affecte plus les ennemis (mit 4 ddans son effectTargets)
- Ajout de //unhide des personnages
if(target.isHide()){
target.unHide(spell);
dans SpellEffet.132 quand on debuff qqn pour lui enlever son invisibilité comme il faut. (debuff l'invi avec pelle fantom et ronce insolente par exemple)
- Réglé chatiment vitalesque dans Spelleffect.applyOnHitBuffs
- Réglé transfert de vie à 100%
- Réglé que si qqn est déjà contre un objet et qu'on le pousse il recoit des dommages
- Noms de beaucoup d'items boutiques changés (Merci multi-sacri)
 
 
REV 29:
- Ajout de la commande "M [nom joueur] [message]" pour envoyer un message sans nom et en rouge à un joueur
- Ajout de la method MC dans SM.Messages pour gérer les messages console + remplacement de toutes les références à lancienne method de socketmanager pour celle ci: SM.Messages.MC
- Changé les achievement lvl600 et lvl900 pour lvl150 et lvl250 et delete les achievement 1000 et 2000. Changé tout cela dans sql, achiev, stats...
- Corrigé bug d'achievements dans SQL.replace_achiev et changé les champs dans la bdd pour correspondre.
- Corrigé effet de poussée 100% à part quand on meurt à cause d'un dommage de poussée, le combat ne se termine pas
- Ajout des packets de kode dans SM, un peu de conquest, commencé les party, dialogs, Infos, chat, .....ca avance^^
 
 
REV 30:
- Ajout de l'IA d'hirogens
- LINK_RPG pour aller direct sur la page de vote rpg (commande .vote) au lieu de passer par le site (.site)
- quand fait fmcac, le jet diminue de 85%
- retiré la restriction sur les niveaux en aggro.
- ajout du debug vers la console ig (ancestra.sendDebugToConsole)
- Clean du code bandit/humanity + ajouté les morphs sur les tourmenteurs mais pas les sorts pcq cest à chier.
 
REV 31:
- ajouté commands NBRIP, LISTIP(liste les ips passée par le realm) et bloquage des ips sur le game qui n'ont pas été acceptées par le realm. Ca ne note qu'une fois une meme ip.
- enlevé un bug sur les groupes qui envoyait le packet en double
- foutu le endNullTurn dans fight dans endTurn à la fin et au début... en espérant que ca marche cette merde.
- mis en commentaire ce qui a trait aux Animations et MobsWhoDropped, yavait un bug sur eclipse et il ne reconnaissait pas ces classes U_U -> corrigé, faut faire projet>clean.
 
 
REV 32:
- corrigée la fm des petits dommages (1à1 genre)
- corrigé un bug sur les percep (xp column = out of range value)
- ajout load itemset/pano
- mit que quand je (crystal) suis away, je ne suis pas listé dans le .staff
- Ajout commande UpdateItemTemplate pour update les stats de tous les items dun meme template du monde quand jfais des modifs
- "load useitemaction" pour debug les parchos maitrise et cie.
- "load map" pour recharger aussi les mob fix mais ca marche pas
- public void addAction(Action A){if(onUseActions.contains(A)){onUseActions.remove(A);}onUseActions.add(A);}
- Ajout de SM.Game.GV(F.getPersonnage()); dans Fight.verifIfTeamAllDead pour essayer de mieux finir les combats
- ajout SM.chat.cMK_FightBlack et cMK_Black
- ajout de références à SM.chat.cMK_XXXXX 
 
REV 33:
- Ajout des types 7,8 et 9 dans l'ia kanido.
- Ajout d'un if(spellid == 2005) dans getBestSpellForTarget pour forcer le craq à jouer. -> à modifier, c'est brutal comme solution xd
- Mit IA craqueleur osa à 7, tofu et prespic à 8.
33.5:
- Ajout de bcp de e.printStackTrace dans fight car quand on catch une exception sans la print, cest la que ca marche "NullPointerException" tout seul sans message à coté.
- Ajout ia types 10 et 11 pour style folle et surpuissante.
- Mit IA surpuissante à 11, folle 10, sacrifié 7, gonflable 9
- ajout de la method IAZen.spellCanReach 
- mis en commentaire plusieurs ancestra.debug
- Géré deux nouvelles exceptions quand on abandonne quand cest au tour d'une invoc et que le combat doit finir ca déco-ait.
- renommé class Ancestra en Zen, c'tait trop chian comme nom. 
- fait method Zen.startLogs à la suite du chargement dla config
 
REV 34:
- Nouvelles commandes listedoublemap et finalizedoubles (qui détruit tous les doubles). pour gm 3+ --> MARCHE PAS
- ajout de MAX_PERSO_BY_MAP ds config + ds perso.teleport
- ajout  de DELETE_DOUBLE_AUTO ds config pour activer la deletion des doubles avec la nouvelle commande automatiquement
 
REV 35:
- mit mon SM en source externe pour pouvoir le développer dans G4-Zen et E4c-Zen en meme temps. (nimp projet) comme une lib.
- modifié le SM du mieux possible pour accomoder chaque projet
- ajouté command .debugcbt qui envoie GV et un message pour dire de deco/reco si le gars voit pu son perso ou qyest encore en cbt
- ajouté commandes nbripgame et listipgame
- ajouté 6 commandes contre les doubles:WorldDouble3,WorldDouble2,WorldDouble1,TestDoubleOnCell,TestAllDoubles2,TestAllDoubles,TestDouble, deleteOneDouble  et pas mal de code dans World pour contrer les doubles.
- ajout d'un DEBUG_LOGGER que jajoute dans Zen.debug()
- ajout champs config DEBUG_LOGGER pour variable CAN_LOG_DEBUG
 
REV 36: 
- Dans RealmThread + World, supprimé l'hashmap ComptesByName + optimisé la partie Compte.COMPTE_LOGIN2.
- Ds Zen: Ajouté MAX_COMPTES_BY_IP
- Dans RealmThread: bloqué le nombre de co par ip avec World.getNbrCompteByIP et deco direct si trop de comptes co + envoie un message aux comptes co pour informer le joueur du pk il peut pas se co
- Testé LAZY_DEBUG sur le chargement des comptes et persos-> Testé de chargé 0 comptes et perso dans le createWorld -> ca marche quand meme.
- ajouté testdouble2, testalldoubles3 et WorldDouble5 ->test avec le 
if(GT.getcompte.getGT.getPerso != GT.getPerso)
- amélioration du World.deleteOneDouble
- correction du .double
- modifié le perso.teleport pour saver la map et cell quand on tlp avant que ca bug et ajoute le perso sur la map avant que ca bug
 
REV 37:
- Corrigé le bug de pdv et pdvmax en combat -> 
Alors , quand va en combat, dans la phase de placement, on enlève tout les équipements sauf la coiffe le cac la cape le fami et le bouclier. Ensuite on fait le combat et si on gagne ce dernier, apres qu'il soit fini, on remet tout les items que nous avions enlevé et on gagne plein de vitalité + plein d'ini à cause du calcul de l'ini fait sur la vie 
- Modifié Carte.getGMsPacket -> removePlayer + Game.GM_R sur la cell automatiquement si cest un double
- Modifié le RealmThread, ajouté un delete des doubles automatique du compte qui se co s'il en a. (S'fait à l'envoi du packet Af et doit avoir le Zen.CAN_DELETE_DOUBLE_AUTO) 
- Modifié le deleteOneDouble pour avoir les bonnes valeurs de cell et map à partir de usedMaps
- Mit le World.deleteAllDouble5 dans GS
- Pas mal fini les usedMaps et usedAccount
 
REV 38:
- Remit le bloqueur de connexion dans le RServer et GServer pour stoper le flood quon recoit.
- Modifié l'ia type 7 pour que les mobs bougent pas pour rien quand ils sont déjà au cac -> ca marche. Mit pareil dans le type 5 et 10
- Mit l'ia du sanglier à 7.
- Mit l'effectTarget de soin poupesque à 4 pour pas heal les ennemis
- Enlevé les sleep dans la save des usedAccounts et usedMaps
- Agrandi de beaucoup la classe ArrayShit et corrigé le add et remove.
- IAZen: ajouté "isReachableByEnnemies" pour savoir si le mob devrait continuer à s'éloigner ou non (s'il se fait taper ou pas)
- Modifié le createWorld pour chargé les guildes en premier, ensuite les guildMembers et ensuite les comptes/persos
- Ajouté un load_map_BY_XY dans TELEPORT et GOMAP et .go si elle était pas déjà dans le World.
- Modifié le LOAD_ITEMS(String ids) pour ne pas charger un item déjà dans le world et enlevé plusieurs int
- Modifié le Carte.getGMsPacket pour mettre juste un if(|| ||) au lieu de 3 if/else pareils
 
REV 39:
- Nerfé (corrigé) punition en y ajoutant les réductions par les résist %/fixes pvp et normales et physiques et le sarmures feca.
REV 39.5
- Ajouté World.ticAllFightersTurnsByRobyn dans GameServer.AllFightsTurns pour ne for() que les usedMap au lieu de toutes.
- Changé MEUCH_TIMER (boolean) pour FIGHT_TIMER (string) pour choisir le ticker que j'veux .-.
- Mit des locks toutes les références de Carte.Case._persos (Une variable lock publique dans la classe Case)
REV 39.9
- Corrigé gros bug dans le RealmThread y'avait un if de trop à la fin avec le if(packet.equals("AX"+Zen.SERVER_ID)) Pcq yavait pas de else fack ca envoyait deux fois et faisait bug.
 
REV 40:
- mit l'effectTarget de Mise en garde à 4;4;4;4;4;4;
- Modifié le Timer global de combat avec mon ptit systeme de tasks dans le GameThread. (Fight.TicMyTimerByCrystal et GT.packetTask, addTask, parseTask)
- java.lang.NullPointerException
    at game.GT.Exchange_finish_buy(GT:3795)
at game.GT.parseExchangePacket(GT:2695)
- java.lang.NullPointerException
at objects.Fight.leftFight(Fight.java:5041) at common.SocketManager.GAME_SEND_ERASE_ON_MAP_TO_MAP(java:519)
- Exception in "Thread-5" java.lang.NullPointerException 
at game.GameThread.<init>(GT:89) at GT.kick(GT:6239)
- java.lang.NullPointerException 
at objects.Fight.verifIfTeamAllDead(Fight:4465)
- java.lang.NullPointerException 
at game.GT.parseGameActionPacket(GT:5692)
at at game.GT.parseGamePacket(GT:5312)
- java.lang.NullPointerException 
at objects.fight.leftFight(Fight:5094)
 
REV 41:
- Travaillé le package TPT (ThreadPoolTasking) sous ses 3 classes + ajouté 3 champs config USE_IATAK, USE_TURNTASK, RATIO_THREADS_TASKS
- Ajout de la création d'une IATask dans fight au lieu des IAThreadKanido
- PS: TODO: ajoute un thread par fight pvm pour l'IA, comme ca yaura jamais d'attente pour les IATASK
- Enlevé tous les .sleep dans saveAll
 
REV 42:
- Mit les guildes valides à 10 membres
- enlevé un sleep(500) dans fight.tryCastSpell + mit les deux autres à 500 et 350
- Ajouté _t.interrupt();
try {
this.finalize();
} catch (Throwable e) {e.printStackTrace();} à la fin de IAThread.run();
- Mit la commande deleteUnusedAccounts
 
REV 42.5:
- Mit des finalize dans le RealmThread à la fin du catch et finally dans le run.
- Enlevé le canal admin des VIPs
- Ajouté method World.banIP pour le banip/blocage des flood packets 
- Enlevé le finalize dans action.apply, ca fait tout bug lol
 
REV 42,8:
- Ajouté add/delVipMorph
- AJout liste des morphes dispo pour les vip + dans leur commande de morph
 
REV 43:
- Ajouté les maps/cell de départ officiel pour chaque classe (statue astrub)
- Commencé l'ajout de plugin
- Commencé la nouvelle IA en interface/implementation
- Corrigé ronce apaisante avec l'effect target 0;4
- les poisons (vent+tremblement) finnissent bien le combat quand le dernier survivant en meurt
- Corrigé le bug d'ordre de jeu quand une invoc meurt par elle meme et que le perso davant peut jouer deux fois.
- Corrigé un bug sur les bandits dans Objet.parseStringToStats, y'avait if(strStats.contains("bDI")) au lieu de "bID"
- Commencé les panos de classes aek PanoClasse et modif aux endroits ou ya les  objet. txtStats et les parse d'objet, le onJoinGame, le object_move, le packet SM.Spells.SB
Donc on voit bien les modifications faites par les items dans l'affichage du sort. Modif dans Formulas.calculFinalDommage et tryCastSpell.
- Fini les panos de classes et restricté au serveur anka seulement vu quil y a des items 300 sur tictak qui utilisent les panos de classe
- Ajouté un LOAD_SCRIPT_CELL et usedAccounts.add dans LOAD_MAP_BY_XY
 
REV 44:
- Quetes presque finies. apprentissage + affichage + load/save parfaits. manque les actions quand on termine un objectif/step/quetes.
- Map boutique pour serveur elite pvp
- Enlevé un bug sur les sauvegarde de perso (a cause des quetes qui nétaient pas au point et qui avait pas la condition if(Zen.ACTIVE_QUEST))
 
REV 45:
 
- Reco en combat commencée (+champs config)
- Nouvelle FM commencée (+champs config)
- Génération de stats non-cheat pour les familiers sur l'elite dans Objet et gamethread
- DailyEvents (devrait etre 100% à part le panel, event xp pvp, drop, métier)
- Les vip ne peuvent plus parler en canal admin(ni voir les messages mais ca ctait déjà bon)
- IAModel.StaticMethods extends Zen pour avoir les fonction write+debug facilement
- nouvelle commande forgetspell (besoin de decoreco apres)
- correction de plusieurs bugs potentiels suite aux grandes modifs faites avec la reco en cbt et tout
 
REV 46:
- Avancement du SocketManager+SM (delete bcp de variables temporaires + transfert quelques commandes)
- Travaillé un tout ptit peu sur l'IAInterface
- ChatPlugin
- FMPlugin
- PluginLib
- Fait que la vie des joueurs se met à 100% apres chaque combat et enlevé les timers de regen automatiques.
 
REV 47:
- Commencé le BigTimer et son ModalT et ses Threads
- Travaillé les plugins (Fonctionnels 100%)
- Travaillé bcp la nouvelle FM.
- Reco en cbt finit
- Travaillé un tout ptit peu l'IA
 
REV 48:
- Vol de PM débuggé
- Les poisons ne sont plus affectés par les renvois de dom
- La vie est direct à 100% apres chaque combat
 
REV 48.1:
- Guide de bravoure ne donne des dommages qu'aux alliés
 
REV 49: 
- Les sorts de renvois de dom et de soins sont nerfés (Ajout champ config pour les ratios de ca et armure,retrait PA/PM...)
 
REV 49.1:
- Commande LOSE (perso) pour le faire abandonner combat
- FightThreads avancés. Ca a l'air de marcher quand meme bien. Sauf quand on se déco en combat il continue de ticker, mais surement qu'apres 20 tours ca va arreter. fack dans l'fond cest normal.
 
REV 49.2:
- Correction de bugs sur la reco en cbt (au 20eme tour)
- Le .infos ne compte plus les persos qui sont déco en cbt
 
REV 50:
- Changé BIGTIMER bool -> array pour les diffrent type de thread
- Ajouté un ptit systeme pour cleaner les threads non-utilisé à chaque jour pour éviter que la ram+nbr thread ne cesse de monter
- Remit bcp de "é" dans les textes des commandes.(Y'en rest ds GT)
- Ajouté SERVEUR_ICHINA
- Ajouté DEL_ALL_UsedAccounts dans World.saveAll, juste avant dsave
- Ajout des paras/rolis
 
REV 51:
- Ajout du load des maps zaaps si CONFIG_ZAAP = true
 
- Ajout de la commande !boutique pour s'y téléporter
- Corrigé (jpense) une faille kamas en échange (mettre des kamas en négatif)(Dans réception du Packet EMK)
- Piège empoisonné ne se fait plus renvoyer par contre & protec
- Ajouté SERVEUR_SCYLLA
- Sorts brokle et poisse débuggés
 
REV 52:
- DailyChallenges complets avec récompenses, stats, achiev, tout
- Chargement des NPC en lazy dans LOAD_LAZY_MAP
- Correction d'un bug sur ModalT, changé les String patente = ""; qui .wait par des String patente = new String("");.  Ca évite que quand un thread tick, ca tick  pas tous les autres threads, de la concurrence quoi
- Ajouté commandes : !DC/!DE/infoboutique dans l'plugin et dans le .command et !boutique est mtn dans le .tp
- Ajouté GM5 commande InternReboot, addTimerTime, CHANGECHALL
- Commencé le systeme InternReboot
- Ajout d'un utilThread pour timer les DE et DC et faire d'autres choses en Daily 
- Ajout d'un clean des IAThreads dans le bigTimer en daily
 
REV 53:
- Chargement des NPC dans LOAD_MAP
- Chargement des Houses dans LOAD_MAP
- Chargement des MountPark dans LOAD_MAP
- Retrait du LOAD_NPCS() dans World.createWorld() (LAZYLOADING)
- Retrait du LOAD_HOUSES dans World.createWorld() (LAZYLOADING)
- Retrait du LOAD_MOUNTPARKS dans World.createWorld() (LAZYLOADING)
- Retrait du LOAD_TRIGGERS dans World.createWorld() (LAZYLOADING)
- Retrait des LOAD_CRAFTS et JOBS dans createWorl if(ACTIVE_CRAFT)
- Ajouté des LOAD_MAP() dans LOAD_ZAAPS et LOAD_ZAAPIS
- Ajouté DEL_ALL_USEDMAPS dans saveAll juste avant d'save usedMap
- Modifié la loadMapByXandY, mtn ca renvoit à load_map(RS.getID)
- Rectification des drops sur les DailyChallenges pour incrémenter le score par rapport à la quantité de l'objet droppé (d'un coup). Avant ca augmentait de juste un.
- Petite correction de la déco auto dans le timer GS (decoidle)
- Tentative pour enrayer la loop SQLM.commitTransacts/closeCons qui faisait "off" en quelque sorte le serveur apres X temps sans perso co
- Remise des prismes qui étaient en commentaires. On test.
- Commencement des City inspirées de LotR,HeroesM&M,Wakfu,Prisms
 
REV 54:
- Modif des utilThread pour leur mettre un type ID.
- Ajout d'un utilThread "MOVE_MOBS" et MOVE_TROUPS
- Avancement des Troups des cités (Thx faith pour le mvm de mob)
- Ajout d'un DC.timedFinisehd au reboot pour reset score
- Champs config USE_HEROES
- Tentative de debug l'ia qui fout rien en mettant le bool "stop" non-static (wtf, pk il l'était?) et enlevé la classe IAThread qui était ds IAKanido, jai juste tout laissé dans IAkanido. Ca marche tres bien quand on met le pooling d'ia à false
- Avancement des class Troup et City [19/nov/17h36]
- Ajout de commandes !NATION dans le plugin opur créer des troupes, des infrastructures, changer de leader...
- Update la BasicLib pour ^
- Ajout de la classe Heroes pour contenir toutes leurs constants
- Ajout commande GM5 : getpersolog pour avoir ndc & mdp
- Ajout d,une condition quand on choisi le nom d'un perso à la création: peut pas contenir "rystal" ni "robyn"
- Gros travail sur l'interface d'Heroes sur le core.
 
REV 55:
- Corrigé la commande TELEPORT pour bien loader les maps qui ne le sont pas déjà au démarrage (En passant est en double la comm)
- Corrigé le fait que si la mapPos d'une map est mal faite et bug, ben on met le X et Y à 0 et la subArea de la map à null au lieu de faire reboot.
- Prismes avancés ! pu bcp de bug
- Ajouté des System.exit(0) si les connexions SQL sont perdues dans newTransact() et executeQuery();
- Corrigé bug prismes dans fight.verifIfAllReady
- Refait presque tout le systeme des quetes/structure
- Ajouté la possibilité de finir un objectif, une step et une quete
- Quetes fonctionnelles
- Prismes fonctionnels sauf pour combats
- Corrigé bug prisme dans fight.parseFightInfos
- Corrigé bug prisme dans GetGE
- Bougé le this.FT = Threads.Timer.startFightTurnsThread(this);, l'ai mit dans chaque constructeur Fight() au lieu du Fight.startFight ^^
- Prismes finis, aucun bug à ma connaissance
- Seul bug prisme: Quand on essaie d'en poser un et qu'on n'a pas le droit (Grade, territoire aligné, etc) On perd quand l'objet prisme.
- Bug prisme quand on rejoint et que ca nous teleporte, on voit les perso/npc d'en dehors pendant quon est dans le combat
 
REV 56:
- Corrigé la methode Pools.startNewutilThread()
- Ajouté classDamageRatios dans config et appliqué dans Formulas.calculFinalDommage
- Enlevé le param boolean useless de la method perso.get_classe
- Modifié la commande getnbrthread pour afficher ceux dont le thread est actifs et ceux dont les variables sont != nulll
- Ajouté commande !bug dans le chatplugin
- Modifié le .command pour montrer certaine commande que si leur systeme respectif est activé (stats/achiev/koli/!bug..)
- Corrigé le bug de PH divisé entre les gagnants et leurs invocs
- Corrigé les sorts d'invoc de Cawotte, Chaferfu et Arakne (bdd)
- Ajout commande getmapfight et getTimerTime
 
REV 57:
- Corrigé un bug quand un gars marche en direction d'un gars invisible qui est au cac dans un combat.: il pouvait pu jouer
- Corrigé faille de duplication d'items/kamas en échange (Quand ils envoyaient un packet avec une quantitée négative <=0)
- Changé quelques System.exit(0) pour des setUpConnexion dans le SQLManager pour que ca réactive la connexion sql automatiquement quand ca bug.
 
REV 58:
- Dans Personnages.getAsPacket: juste mit 3 variables temporaires stuffStats/donsStats/buffsStats au lieu de tous les getXXX intenses. Résultat: getAsPacket prend 0-1ms au lieu de 20-22ms.
- Ajouté un correctif sur l'objectif de quete type KILL_ONEFIGHT: Reset du compteur de monstres tués à 0 à la fin du combat.
- Ajout des objectifs type 1 et 9: TALK_TO et TALK_AGAIN_TO
- Ajout de la methode dans Objectif.setRepetitionsDone pour pouvoir mettre à 0
- Modif la method Step.checkForObjectifsToBeDone, mit un ptit boolean au début du switch pour savoir si lobjectif était fini pis mit les récompenses et tout apres le switch
- Modif Step.checkForObjectifsToBeDone, ajout types SHOW_TO et GIVE_TO
- Ajout de la colonne npcTargetID dans les objectif template
- Ajout de la variable npcTargetID dans les objectif template
- Ajout des objectifs type USE, DISCOVER_MAP, DISCOVER_ZONE et KILL.
- Ajouté une commande pour lister toutes les fights du monde en appelant d'elle-meme la commande getmapfight qui est mtn + précise
 
REV 59:
- Ajouté systeme de FactionWars + champs config pour activer
- Ajouté le bonus d'XP des FactionWars dans le getGE
- Ajouté les kill pour les FactionWars dans le fighterOnDie
- Ajouté des restrictions pour les FactionWars sur : perso.teleport, commande "go" "bonta" "brak" ...
- Ajouté le starting de la guerre des factions le vendredi à 18h 
   et l'arret de cell-ci le dimanche à 00h
- Ajouté champs bramarArea et bontaArea dans Constants pour les ID de ces areas 
pour interdire la tlp en camps ennemi
- Modifié la colonne questList de personnage en "text",length=0
- Ajouté champs config ACTIVE_FACTION_WARS
- Ajouté commande joueur .factioninfos 
- Ajouté commande console startwar et stopwar
- Ajouté sécurité dans Factionwars.start et stop: vérifie si la guerre est on/off avant
- Désactivé commandes d'alignement pour le serveur Scylla
 
REV 60:
- Essayé de corriger bug de quetes
- Commencé les dopeuls
- Ajouté serveur OtoMustam, ils devraient faire pas mal d'argent eux :)
- Corrigé à la création du perso, ca mettait que le personnage était mort (variable _isDead)
Ce qui faisait que dès qu'on changeait de perso juste apres en avoir créé un, il est mort.
- Corrigé la commande addNPC (ils se sauvegerdaient pas dans la bdd quand on le fesait)
- Ajouté le drop de items sur les monstres sur l'héroique.
- Ajouté les bonbons full debug (dans Fight.verifIfTeamAllDead(2fois), dans GT.Obect_use et dans Perso.onJoinGame et dans Objet.parseStatsString/parseStringStats/parseSansUserObvi....)
- Ajouté pnj échangeurs de doplons qui prend les doplons au lieu des kamas dans GT.Exchange_onBuyItem
avec champs config DOPLON_PNJ_ID
Le doplon du joueur doit être le bon par rapport à sa classe
- Activé le generateNormalizedPetsStats pour Scylla dans la vente d'item sur PNJ
 
REV 61:
- Bloqué une faille quand on perso.booststat et que la classe=0 ou gfx=0:-> ban+kick (Sinon le gar pouvait se booster infini stat)
- Corrigé bug sur les items utilisables en combat quand on l'utilise avant ca deletais le paquet d'objet au complet au lieu de réduire la qty
 
REV 61.5:
- Ajouté systeme pour changer le dialogue en fonction des quêtes en cours/terminées
- Ex: Si on parle à un pnj dont le dialogue contient une quête:
- Si le perso n'a pas encore la quête, il l'apprend
- S'il l'a mais qu'elle n'est pas finie, on envoie une autre question "whileQuesting"
- S'il l'a et qu'elle est finie, on envoie une autre question "doneQuesting" 
- Tout ça en boucle, donc ça permet de faire une chaîne de bcp de questions changeant selon les quêtes
- Un PNJ pourrait avoir des dialogues changeants pour apprendre infini de quêtes.
- Ajouté systeme pour vérifier l'existance de certaines colonnes dans une table d'une bdd
- Et pour les ajouter automatiquement si elles n'existent pas.
- Ajouté systeme de spawn de monstres-esclaves 
- Qui spawn des monstres automatiquement au début du combat si un certain item est équipé
- Le mobID/Lvl et tout sont dans les parametres de l'effet 621 qu'on ajoute sur l'item.
- Ex: si on ajoute "26d#36#1#24#0d0+1" aux effets d'un item, 
- quand on va lancer un combat, un bouftou sera spawn automatiquement (sans perdre de PA)
 
REV 62:
- Corrigé un bug suite au nouveau systeme de dialogues changeant avec les quêtes
- Corrigé les stats des DD Ivoire-Pourpre et Ivoire-Prune
- TODO: 
- Corriger les armes qui soignent (Baguette Rhon, Kriss Toubal, etc)
- Peur : Lorsqu'un Sram utilise le sort Peur sur un allié ou un ennemi et qu'un piège se trouve sur la même ligne, la cible est automatiquement "attirée" sur le piège. Par exemple, si un Piège Mortel se trouve à dix cases de l'ennemi et qu'un Sram fait Peur d'une case sur cet ennemi en direction du piège, alors l'ennemi va sur le piège. En attente d'une réparation, cette technique devrait je pense être considérée comme usebug.
- Piège d'Immobilisation : Seule la première ligne d'effet du sort fonctionne. Autrement dit, les personnages dans la zone d'effet du piège perdent des Pm lorsque celui-ci se déclenche, mais n'en perdent pas les trois tours qui suivent. Un des meilleurs sorts de retrait de Pm du jeu devient donc complètement obsolète. A part si on a rien d'autre à faire, on va rarement dépenser 4 Pa pour faire perdre au grand maximum 4 Pm pour un seul tour à un ennemi. 
- Poisse : Le sort fonctionne toujours à l'envers. Il réduit les jets effectués sur un allié au lieu de réduire les jets effectués par l'ennemi tout en l'empêchant d'effectuer des coups critiques. Là-aussi un sort génial est rendu complètement inutile. 
- Invisibilité : Si un ennemi tente de se déplacer sur la case occupée par un joueur invisible, alors il ne peut plus rien faire durant ce tour à part passer. En étant fourbe, on peut volontairement se placer sur une case que risque fort d'emprunter l'ennemi pour lui faire passer son tour. Là-encore cette technique devrait être considérée comme usebug.
- Général : Les pièges Sram ne sont toujours pas affectés par les + et % dommages pièges fournis par l'équipement. C'est assez frustrant en non-boutique avec des équipements comme le Solomonk, les Dagues Lassay, Eudin ou encore la Panoplignon. Je prend l'exemple du Piège Empoisonné, avec Solomonk et Dagues Lassay celui-ci tape environ 50 de moins que normalement, et ça pendant 3 tours, soit 150 dégâts en moins ! C'est loin d'être négligeable. De même que l'absence de %do pièges réduit considérablement la puissance des Pièges Mortels lorsqu'on est équipé d'une Panoplignon.
- Corriger les bugs cités sur le DevBlog
- Ajouté la restriction de mulage sur l'xp en défi
- Modifié le chatPlugin pour changer les prix des roli/para dans la commande !infoboutique
- Modifié le chatPlugin pour empecher l'achat des parabiotes qu,ils n,ont pas encore faits.
- Ajouté un champ config comprenant des mapID sur lesquelles il est mtn impossible de défier/aggresser
- Ajouté commande .spellmax dispo pour le serv crystal
 
REV 63:
- Ajouté un systeme de configuration par bdd et vidé la config.txt pour tout mettre en sql
- Corrigé un bug avec les dailychallengescore quand le ACTIVE_ACHIEVEMENTS était à false. (Les achievments étaient par chargés donc null)
- Corrigé le Zen.CONFIG_TAILLE_VAR qui n'était pas utilisé, mtn s,il est à false les perco sont bien à 100% de taille fixe.
- Ajouté un systeme pour limiter les PA/PM si on le veut. Dans Perso.getTotalStats et Fighter.getTotalStats
- Ajouté commande TAGVIP et .allvip pour les vips
- Ajouté plusieurs champs config bdd pour les vip : 
- VIP_TAG pour config le tag à mettre lors de l'utilisation de la commande TAGVIP. Ex pourrait être "[VIP]"
- VIP_TITLE pour config l'ID du titre à mettre quand on fait command VIPTITLE.
- VIP_COMMANDS pour activer/désactiver certaines commandes VIP. Ex: -TITLEVIP-MORPHE-CLASSE-allvip-changenom-  :celleslà seront activées
- VIP_CHAT_COLOR pour config la couleur du chat pour les VIP (.allvip)
 
 
REV 64: [19/fev/2013]
- Mit la map boutique offi avec le prix = niv/2 utilisables sur tous les serv au lieu de juste elite pvp
- Ajouté systeme de commandes pconfigurables par bdd
- Mit les vipMorphs dans la config (bdd)
 
 
 
REV 65: [27/fev/2013]
- Modifié le MasterThread:
- Ajouté enum ParsingResults pour les ID des messages à renvoyer
- Ajouté la création/parsing d'actions à partir de packets (packet id 4)
- Ajouté un minimum de PA/PM à coté du maxPaPm (mit l'array en [][] au lieu de []: { min{0,0},  max{9999,999} })
- [inutile] si on n'active pas le controle des PA/PM APRÈS le compte des buffs. (les pertes de pa/pm sont comptabilisées dans les buffs dont si on les compte pas, le min pa/pm ne prendra pas effet)
 
 
REV 66: [11 Mars 2013]
- Installé le nouveau systeme de threads de Syn + modifié le ThreadsManager
- Corrigé l'esquive (fallait mettre des ratios de 0.8 environ en fait au lieu de 100000)
 
REV 66.1 [21 Mars 2013]
 
 
 
 
REV 67 [2 Juillet 2013]
- Système de craft par PNJ vendeur: 
- Ajouté champs config CRAFT_VENDOR_PNJ qui contient les ID des npcTemplate qui font du craft comme ca
- Ce champs fonctionne ainsi:   -1-2-3-4-    ( les "-" étant importants partout)
- Ajouté le code de crafting dans GameThread.Exchange_onBuyItem pour à peine 20 lignes :)
- Refonte du système de statistiques et d'achievements
- Delete classe Achievements
- Delete tout le code de la classe Statistiques
- Créé classe Achievement dans ConfigurationObjects
- Créé table sql achievements_config
- Créé enum StatType
- Ajouté le parsing des conditions d'obtention des achievements en lien avec les stats dans ConditionParser
- Mit en commentaire toutes les anciennces fonctions de save/update/deplace des stats/achievs dans SQLManager
- Delete les tables de stats et d'achievs
- Ajouté colonne statistiques dans table de perso
- Ajouté chargement des stats dans le chargement du perso
- Ajouté la sauvegarde des stats dans la sauvegarde du perso
- Remplacé tout l'ancien code touchant aux stats/achiev par le nouveau \o/ (Dans Fight, DailyChallenge, etc)
- [TODO] Ajouter des calls à stats.save(perso) pour sauvegarder les stats plus souvent quand on les modifies
- [TODO] [FAIT] Coder le chargement des nouveaux Achievement et la table achievements_config 
- [TODO] Remplir la table achievements_config avec les anciens achievs qu'on avait ;o
- [TODO] Travailler sur l'IAInterface, l'attaqueur est déjà pas mal, mais il y a des bugs assez importants.
- + Il faut ajouter le scheduling de packets. 
- Peut-être faire une DelayQueue avec une classe DelayedPacket extends Delayed   :)
 
 
 
REV 68 [3 Juillet 2013]
- Travaillé sur les timers de combat utilisant les Executor et les Tasks 
- Tout d'abord, vive le mode debug d'eclipse <3 
- J'ai corrigé pas mal tout par rapport à ça :)
- Tous les tours passent comme il faut, 
- aucun bug par rapport au passage de tours manuel (bouton passer son tour ig)
- Pour ce faire j'ai delete l'ancien FTT = newScheduledAtFiexRate
- Et j'ai fait FTT = newSchedule à chaque tour pour rescheduler au bon moment.
- Travaillé aussi sur l'IA du sourcepack IAInterface (Avec IAModel et IAAttaqueur)
- Elle marche pas mal :) mais y'a encore un bug de boucle infini qui arrive desfois 
 
 
REV 69
- Commencé une version de Zen sous Apache Mina. mais quel fou je suis encore .... u.u
- Manque le GClient.kick
- Beaucoup d'erreurs dans le game.Parser
- Mettre commons.Commands en static au lieu d'en objet
- Refaire un nouveau système de GameActions ou déplacer celui qu'il y avait ailleurs 
- que dans le "gamethread" puisqu'on delete cette classe
- Continuer le GHandler et vérifier toutes ses methodes avec les anciennes de Zen
- pour que toute marche
- Faire le GServer + l'instanciation/boot
- Ça avance pas mal, reste quand même déjà "juste" 600 erreurs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
- TODO : PathFinding = pourri
- TODO : DailyTeamChallenges
- TODO : RAIDS
- TODO : CITÉS
- TODO : Quests : objectifs de ramener un objet ou parler à qqn
- TODO : Internal Reboots
 
 
 
[18:49:05] Shaireurs ~ crystal: Voilà la liste fait ce que tu veux :
[18:49:24] Shaireurs ~ crystal: En combat le perco est géant
[18:49:45] Shaireurs ~ crystal: Débug le début des combats et le passage de tour
[18:50:11] Shaireurs ~ crystal: Impossible d'agro la même personne avant 30minutes
[18:50:20] Shaireurs ~ crystal: Mettre mode tactique
[18:50:32] Shaireurs ~ crystal: Give you $$$
 
 
 
- NON FINI/EN COURS:
- Début d'achievements et de statistiques (Ex: le nombre de monstres tués) (Achievements, Statistiques, fight.onFighterDie, Personnage.levelUp, SQL, World, GameThread)***FAIT***
- Début de l'ajout d'un effet pour les bombes roublard. (SpellEffect)
- Début Héroique. (Fight.getge, SQLManager.DELETE_MOBSWHODROPPED, SQLManager.UPDATE_MOBSWHODROPPED, SQLManager.LOAD_MOBSWHODROPPED , World.CreateWorld, GameThread.parseAccountPacket, Fight.onFighterDie, Personnage.addDeathCount, Constants.forgetAllSpells/forgetClassSpells, Action 10001&10002, Fight.GetGE, Formulas.getXpWinPvm2, Formulas.getXpWinPvp)***FAIT***
- Début du débug des livres/documents, à continuer.
- Début du multi-serveur.(Socketmanager, realmthread, personnage)
- Début des prismes/conquete. (Ajout champ USE_PRISMES dans config/Ancestra, Subarea, Area, World, SocketManager, GameThread.parseConquest, SQLManager.LOAD_SUBAREA, SQLManager.LOAD_AREA, Carte, Fight.verifIfTeamAllDead, Fight.Fight, Fighter.Fighter, Carte.iniciarFightVSPrisma, Fighter.getGMPacket, Fighter.getTotalStatsLessBuff, Fighter.getTotalStats, Fight.startTurn, Fight.get_lvl, Fight.GetGE, GameThread.game_join_fight, GameThread.juego_Ataque_Prisma, Formulas.getHonorWin, IA ...ETC ETC ETC)
 
 
 
- TODO/TOFIX:
- Rendre laffichage de la map plus rapide quand on se tlp pcq sinon ca fait écran noir + bug et si on deco/reco ca fait souvent double
- PRISMES: vérifies toutes les références de tous les packets concernant les prismes, il en manque, dont certains GM.
- ÉLEVAGE: les packets gm ne sont pas finis (va tout en bas dans Carte)
- Debug les monstres qui droppent sur héroique avec ma new table (mobsWhoDropped: modGroupID, drops) 
- Debug la fin des combats: desfois il ne finit pas et on reste prit dedans...
- Ajouter le chevalier neutre pour défendre les neutres qui se font aggresser sur l'héroique.
- Debug la save des bandits, elle bloque.
 
 
 
 
 
 
- Idées:
.ajouter l'effet de sort 776 qui a été utilisé par qqn mais qui est inexistant dans l'emu
.afficher l'ordre de jeu quand on rentre en temps que spectateur (la il n'y a qun carré blanc, meme pas le nombre de fighters.) enfin il s'affiche apres un certain temps (un tour j'imagine)
.on devrait faire des nouvelles recettes pour créer des items abuzay avec des nouvelles ressources hyper rares :3
.debug les poubelles
.debug les panneaux qui disent des directions
.bonbons
.pnj échange
.nouvelle monaie comme busta
.changement de nom/classe/couleurs avancé
.IA, combats
.FM ?
.héroique***FAIT*** (manque les mobs qui droppent et l'interface spéciale de fin de combat)
.livre des artisans
."" Les trophés débloquent nouvelles commande comme  des morphs, rangs(titres), acces a certaines maps, débloque certain items""
.pour les vip j'pourrais faire qu'ils gagnent 2 mobs kill a chaque fois qu'il tuent un monstres au lieu de 1?
 
 
 
_Ajout du système de drop de Pévétons
_Ajout du système de drop de Doplons (avec dopeuls)
_Ajout du système de "titre - objet" (chargement des ItemsID + ID_Titre depuis une BDD ?)
_Ajout des PDV des familliers et de leur bouffe
_Ajout des animations (fées, pains...)
_Ajout des bonbons et de leurs effets
_Rectification/Ajout de l'inventaire des dragodindes
_Correction de la formule de drop (-> Multi-Drop un peu bizarre, le plus haut lvl drop presque tout et les autres de 0 a environ 3 items genre)
_Mise en place d'un champ dans la configuration "FM_RATE" pour régler les rates de FM ?
_Faire un système activable ou non pour désactiver les défis/aggros (etc.) de Joueurs vs Staff

 
 
Lien :
 

 

 

<script type="text/javascript"> //

Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...