15-11-2011, 01:23 PM
Je dirais qu'il te faut recalculer le tout à chaque changement tout simplement.
Pour les ordres de priorités je définirais deux types basiques d'effets : les effets longs/permanents et les effets courts.
Ensuite c'est à toi de choisir les priorités mais ça permet d'y voir clair:
J'ai 100 points de vie, je me mets un buff longue durée de 10% => 110 est mon nouveau total. Le buff longue durée affecte en profondeur mon être. Donc, si ensuite je me mets un autre buff longue durée de 20 %, j'aurai au total 132.
C'est facile car ça permet de pas galérer avec une priorité, vu que dans le calcul l'ordre des buffs ne change pas
100 × 1.1 × 1.2 = 100 × 1.2 × 1.1 = 132
Ensuite, si tu ulises un buff courte durée de +10 PV, tu ajoutes du buffer sur la barre de vie en somme. Tu ne recalcules pas les pourcentages par rapport à ce petit ajout.
(vie de base = 132) + 10 => 142
Ce qui est cool aussi c'est que si tu exprimes ton buff temporaire en pourcentages, tu n'as pas non plus de problème avec l'ordre d'application : (100 × 1.1 × 1.2) × 1.1 => tu peux virer les parenthèses.
Pour les ordres de priorités je définirais deux types basiques d'effets : les effets longs/permanents et les effets courts.
Ensuite c'est à toi de choisir les priorités mais ça permet d'y voir clair:
J'ai 100 points de vie, je me mets un buff longue durée de 10% => 110 est mon nouveau total. Le buff longue durée affecte en profondeur mon être. Donc, si ensuite je me mets un autre buff longue durée de 20 %, j'aurai au total 132.
C'est facile car ça permet de pas galérer avec une priorité, vu que dans le calcul l'ordre des buffs ne change pas
100 × 1.1 × 1.2 = 100 × 1.2 × 1.1 = 132
Ensuite, si tu ulises un buff courte durée de +10 PV, tu ajoutes du buffer sur la barre de vie en somme. Tu ne recalcules pas les pourcentages par rapport à ce petit ajout.
(vie de base = 132) + 10 => 142
Ce qui est cool aussi c'est que si tu exprimes ton buff temporaire en pourcentages, tu n'as pas non plus de problème avec l'ordre d'application : (100 × 1.1 × 1.2) × 1.1 => tu peux virer les parenthèses.