Forum Sistearth

Informations et outils => Bugs => Discussion démarrée par: Tohwi le 15 Janvier 2014 à 21:04:03



Titre: Bug avec les emphases, malés, conditions, frags etc.
Posté par: Tohwi le 15 Janvier 2014 à 21:04:03
Bon.
J'ai déjà passé beaucoup trop de temps sur ce bug, donc je vais faire un résumé de mes conclusions actuelle pour un futur débugueur (éventuellement moi-même)

En gros les dégâts des conditions, malés et buffs (?) sont appliqués après tous les autres dégâts du combat. (combat.php:107)
Le problème, c'est que dans certains cas (par ex, avec une emphase), la cible peut mourir avant cela.
La conséquence de cela, c'est que l'enregistrement de ces dégâts peut être fait après la mort de la cible (l'xp associé sera donc gagné à la prochaine mort).
Et le problème, avec une emphase, c'est que si l'attaquant tue la cible avec un malé qui ne fait pas de dégât (comme beaucoup de malés), il n'aura pas d'enregistrement d'xp avant la mort de la cible. (cf jeu/lib/jeu.fonctions.inc.php:5747)
Et donc ?
Et donc, du coup, il ne sera pas considéré comme ayant effectué des dégât, et son frag ne sera pas enregistré partout si c'est sa seule attaque (mais à certains endroits quand même, sinon ça serait pas drôle).

Conclusion : bon courage au suivant.

Edit : Ah, et virer l'appel à Isdead() lors d'une emphase n'est pas une solution, car certes ça règle le problème ci-dessus, mais dans ce cas un mage qui soigne un allié ayant une malveillance se choppe le frag.
Peut-être que faire ça et gérer ce cas-là peut être une solution.