Domaine concerné: Script/Event Logiciel utilisé: Vx Ace Salut,
Par souci de clarté, j'aimerai introduire dans les descriptions des sorts les dégâts infligés aux ennemis (avant réduction par les défenses) ou HP rendus aux alliés. Pour ceux qui connaissent, pensez aux tooltip de League of Legends, et pour ceux qui ne connaissent pas, voici un aperçu de la description d'un sort dans League of Legends :
Ici, le sort inflige 70 dégâts magiques de base, plus un montant en vert, basé sur la puissance du personnage (En l’occurrence, le ratio est ici de 85% de la puissance du personnage).
J'ai réussi à retranscrire cela dans mon projet, via un événement commun, constamment actif :
Je fais donc en sorte que la variable 21 corresponde à la Magie (puissance) de mon personnage, puis je multiplie par 3 et enfin divise par 10 de façon à qu'elle corresponde à 30% de sa puissance.
J'écris ensuite ceci dans la description du sort :
1
| Inflige 80 + \C[4](\v[21])\C[0] points de dégâts magiques de Feu à un ennemi. |
Où \C[4] correspond à une couleur et \v[21] introduit le nombre stocké dans la variable 21, donc les fameux 30% de la puissance de mon personnage.
Pour ce qui est de la formule, la voici :
1
| ((0.3 * a.mat + 80) * (1 - (b.mdf / (b.mdf + 100.0)))).round |
C'est la même formule que celle utilisée dans LoL, c'est à dire que (si je ne dis pas de bêtise), les dégâts subis diminuent de 1% pour chaque % de défense que le personnage possèdent. Enfin bref là n'est pas la question.
Voici donc ce que cela donne en jeu :
On voit que la petite astuce fonctionne, mon personnage possédant 16 de Magie et le ratio étant de 0.3, on a donc bien 16*0.3=4 points de dégâts bonus en plus des 80 dégâts de base.
Le problème est que cette démarche est assez fastidieuse (je dois créer ces ratios pour tous les personnages, et pour toute valeur de ratio utilisée dans les sorts), mais surtout la valeur enregistrée n'est pas actualisé pendant le combat.
Ce qui veut dire qu'effectivement, la valeur sera actualisée constamment en dehors des combat, peu importe l'augmentation de la magie du personnage (via équipement, buffs ou autre), cependant en combat, si mon personnage voit sa puissance augmentée pendant le combat (avec disons un objet de soutien), la valeur restera telle qu'elle était avant le début du combat, les événement communs en processus parallèle ne fonctionnant pas en combat (c'est indiqué quand on passe la souris par dessus (processus parallèle).
L'idéal serait donc de pouvoir stocker ces valeurs dans un script et d'appeler ce script à chaque fois que je veux afficher un ratio. Est-ce possible ? J'imagine que oui, mais je dois bien avouer ne pas savoir comment faire ! Ou peut-être avez vous une autre astuce ?
Merci de m'avoir lu !
|