On a pas mal de DOT dans notre jeu (jeu au tour par tour aussi) et on a choisit d'appliquer les dégats en fin de tour (de jeu) du joueur qui crée le DOT.
Ce n'est pas une bon choix d'appliquer les DOT au début du tour du joueur qui subit les dégats car ce n'est pas à lui de décider quand les prendre et surtout parceque ça pourrait perturber le déroulement du combat. Imaginons dans la situation ci-dessus (mais que l'on résolve les dégats en début de tour de cible) : si lors du tour de J2, celui-ci attaque J3 (J3 serait full HP), J2 ne "bénéficiera" pas du DOT que J1 a infligé à J3, alors qu'il l'a lancé le DOT avant ! (J2 va devoir infligé plus de dégats pour achever la cible par exemple. Ca serait pas réaliste du tout, le DOT lancé avant aura effet qu'après et plein d'actions pourront d'intercaller entre temps) => On a donc des actions désynchronisées, on perd tout l'enchainnement possible...
Si tu veux que le joueur ciblé sache qu'il s'est prit un DOT, autant lui afficher un rappel plutot que d'appliquer les dégats en début de tour.
EDIT : Je viens de relire le 1er post. C'est que dans une utilisation 1V1 en fait. Cette solution marche quand même, mais à moins d'intérêt...
En tous cas, il ne faut infliger les dégats qu'une fois par tour "complet" de jeu.
Code :
Tour X de J1 ---------------
[J1 applique un DOT sur J2/J3]
[J1 valide sa fin de tour]
[J2 se mange des dommages du DOT]
[J3 se mange des dommages du DOT]
Tour X de J2 ---------------
[J2 effectue une action quelconque]
Tour X de J3 ---------------
[J3 effectue une action quelconque]
Tour X de J4 ---------------
[J4 effectue une action quelconque]
Tour X+1 de J1 ---------------
[J1 effectue une action quelconque]
[J1 valide sa fin de tour]
[J2 se mange des dommages du DOT]
[J3 se mange des dommages du DOT]
Ce n'est pas une bon choix d'appliquer les DOT au début du tour du joueur qui subit les dégats car ce n'est pas à lui de décider quand les prendre et surtout parceque ça pourrait perturber le déroulement du combat. Imaginons dans la situation ci-dessus (mais que l'on résolve les dégats en début de tour de cible) : si lors du tour de J2, celui-ci attaque J3 (J3 serait full HP), J2 ne "bénéficiera" pas du DOT que J1 a infligé à J3, alors qu'il l'a lancé le DOT avant ! (J2 va devoir infligé plus de dégats pour achever la cible par exemple. Ca serait pas réaliste du tout, le DOT lancé avant aura effet qu'après et plein d'actions pourront d'intercaller entre temps) => On a donc des actions désynchronisées, on perd tout l'enchainnement possible...
Si tu veux que le joueur ciblé sache qu'il s'est prit un DOT, autant lui afficher un rappel plutot que d'appliquer les dégats en début de tour.
EDIT : Je viens de relire le 1er post. C'est que dans une utilisation 1V1 en fait. Cette solution marche quand même, mais à moins d'intérêt...
En tous cas, il ne faut infliger les dégats qu'une fois par tour "complet" de jeu.