En effet, le système des formules de combat semble avoir quelques problèmes avec les nombres décimaux. Pour qu'un résultat soit accepté avec des décimales, il faut que l'un des facteurs soir décimal, donc il faut rajouter "virgule zéro" aux nombres entiers pour que le résultat de l'opération puisse être décimal.
Pour ma part, j'ai eu ce problème avec les variables, puisque pour pouvoir calculer le pourcentage de vie restante (pour simuler la fatigue), le calcul a.hp/a.mhp n'accepte que des résultats entiers. J'ai résolu le problème en tapant: a.hp*(1.0/a.mhp)
Au passage, je donne ma formule, ça peut aider certains peut-être pour la syntaxe:
[1,((a.tp/200.0)+1)*(a.hp*1.0/a.mhp*0.333+0.664)*a.atk*4-b.def*2*((b.hp*1.0/b.mhp)*0.333+0.667)].max
En détail:
1) Les dégâts minimums sont de 1, ça évite de taper du 0 et ça permet de faire des ennemis faibles mais nombreux. (fonction [a,b].max)
2) La formule d'attaque et de défense est celle de base (atk*4 - def*2)
3) Les TP (Points de Techniques) donnent un boost a l'attaque, ce qui donne un choix au héros lors de l'accumulation de points de technique: utiliser sa super compétence ou taper légèrement plus fort. Au maximum, la force de l'attaque est multipliée par 1.5
4) La fatigue est symbolisée par le pourcentage de pv perdus et affecte l'attaquant et le défenseur. Au maximum, la force d'attaque est diminuée de 1/3 | la défense est diminuée de 1/3
|