Formules d'attaque et calculs de dégâts dans RPG Maker MV: tutoriel détaillé

Les termes utilisés proviennent de la traduction effectuée par l’équipe Oniromancienne. Le pourcentage de réussite pour toucher son adversaire = au % de réussite de l’arme employée. Un modificateur s’applique sur les dommages reçus pour le défenseur suivant sa résistance à l’attribut. A: 200% de dommage. B: 150% de dommage. C: 100% de dommage. D: 50% de dommage. E: 0% de dommage. (Aucun dommage. F:-100% de dommage. (Effet inverse. Si le défenseur a une défense élevée, les dommages sont divisés par 4. La chance de fuite = 150 - 100 x moyenne de l’initiative des ennemis / par ceux des joueurs.

Pour commencer, on va préparer le terrain pour nos événements communs. Rendez-vous dans la base de données, onglet Common Events. Pour mon exemple, j’ai créé un sort Soustraction d’ID 134 et de cible Single Enemy. Dans ce second event, on va détecter quand est lancé le sort Soustraction. En lançant un combat à ce stade, et en utilisant la compétence Soustraction vous verrez la boîte de dialogue s’ouvrir pour afficher "AZE". Maintenant il faut calculer les dommages. Maintenant, il faut retirer cette valeur aux PV de l’ennemi. Problème, il n’existe pas de commande pour le faire. Direction donc l’onglet Troops de la BDD, dans la partie Battle Events rajoutez une commande Change Enemy HP. Et voilà ! On peut maintenant changer les PV des ennemis depuis l’onglet Common Events ! Si vous ne pouvez pas aller jusqu’au 8ème ennemi, rajoutez des ennemis dans le premier groupe de monstre le temps de faire la manip.

Relancez le test, et cette fois, le MISS n’apparaîtra. Par contre, le statut reste un tour après celui-là. Donc si vous reciblez le même ennemi, le jeu va vous dire qu’il est sous le status NoDMG. Problème, s’il y a moins de 8 ennemis, le jeu plante. Voilà pour la première version. Pour remédier à cela, on va créer un nouvel event commun appelé BattleSyst_Update, avec un Trigger : Parrallel ( Battle ). A ce niveau, on a une compétence qui tape aussi fort que l’attaque normale. Pour rajouter des dommages, on va multiplier la variable 97-DamageCalc par une nouvelle variable 94-%Damage+, puis diviser par 100. Cette variable 94-%Damage+ va servir à savoir le pourcentage de frappe de la compétence. Maintenant, on va rajouter un peu d’aléatoire, on va multiplier notre variable 97-DamageCalc par une valeur aléatoire entre 80 et 120 (histoire d’avoir +- 20% de dégâts.

Quel RPG Maker choisir ? Es-tu une star ? - ❤ 0 Il est pas mort, donc tout va bien. Pour le titre, c’est celui d’origine, j’ai la flemme de changer le titre de la flash news. (Je prends note de tout les commentaires, même si je n’y réponds pas.) Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Imaginons que vous voulez créer une compétence et que vous savez déjà ce qu’elle aura comme effet. Cependant, dès que vous vous mettez aux dégâts, vous voyez, dans le coin supérieur droit de la fenêtre, une catégorie "Formule". Tiens, qu’est-ce que c’est ?, vous vous demandez.

I. Vocabulaire et cadre général

Tout d’abord, un petit point sur le vocabulaire s’impose. Pour les formules, RPG Maker utilise des abréviations représentant un des 8 paramètres ainsi que deux lettres, "a" et "b" : "a" représente l’attaquant et "b" la cible. Maintenant que vous savez le vocabulaire, il est temps de dresser quelques exemples !

Pour cela, nous allons prendre l’exemple d’une attaque basique. Cette formule calcule les dégâts selon l’attaque de l’utilisateur multipliée par 4 moins la défense de la cible multipliée par 2. Par ailleurs, vous avez trois types de formules : les dégâts, la régénération et le drainage. Donc. Qu’avons-nous appris ?

II. Typologie des formules et paramètres utilisables

Les bases :

  • Type - Ce que touchera la formule (HP ou MP), et comment (Dégats, Récup, Drain).
  • HP Dommages - Les HP seront endommagés.
  • Récupération HP - Les HP seront restaurés.
  • HP Drain - Endommage les HP ennemis et restaure autant de HP à l’attaquant.
  • Élément - L’élément utilisé par la formule.
  • Attaque normale - signifie que l’élément sera le même que l’arme utilisée.
  • Variance - Comment fluctue les dégâts (par exemple +/- 20%).
  • Critique - Règle si la compétence peut être critique ou non (un coup critique fera 300% des dégâts).

Et maintenant la partie fun - les formules ! Elles décident de combien l’ennemi sera endommagé ou l’allié soigné. Si on prend la formule cela donne : 100 + 100*2 - 20*2. Après calcul, le dégât que fera cette compétence sera de 260, sans variance. Avec une variance de 10%, les dégâts seraient entre 234 et 286. Seul le dernier nombre de la formule fera du dégât (ou du soin). Si vous avez plusieurs lignes dans la formule, le point-virgule ; indique la fin d’une ligne. Exemple : a.atk; a.atk*2. Seul a.atk*2 sera utilisé pour le calcul des dégâts.

Y a-t-il d’autres lettres que a et b pour la formule ? Oui. Il y a les variables. Elles sont utilisées comme ceci : v[ID]. Donc vous pouvez avoir une compétence qui devient plus forte en fonction de la valeur d’une variable. Exemple : v[10] * 2 - b.def * 3.

Peut-on rendre une formule encore plus complexe, par exemple si une variable est au-delà de 100, faire des dégâts bonus ? Oui, dans ce cas nous utilisons une instruction conditionnelle "if else" (en français le fameux "si alors sinon"). A quoi ça ressemble : if (condition){formule1;}else{formule2;}. Mais comment on l’écrit dans la formule ? Il n’y a qu’une seule ligne ! Il faut juste écrire tout ensemble ~ if (condition) { formule1; } else { formule2; }.

Exemple: if (v[10] > 100) { a.atk*4 - b.def*2 } else { a.atk*2 - b.def*2 }. Cela peut être écrit plus court : if (condition) formule1; else formule2; ou v[10] > 100 ? a.atk*4 - b.def*2 : a.atk*2 - b.def*2;

III. Symbols et paramètres utilisables

Symboles mathématiques utiles :

  • >, <, >=, <=, ===, &&, ||, !==, >== et variants.

Exemples concrets d’utilisation :

  1. v[10] > 100 ? 1000 : 100;
  2. v[10] < 100 ? 1000 : 100;
  3. v[10] > 50 && v[11] > 25 ? 1000 : 100;

Paramètres utilisables pour a et b (résumé partiel) :

  • Actuels: level, hp, mp, tp
  • Paramètres: mhp, mmp, atk, def, mat, mdf, agi, luk
  • Ex-Paramètres: hit, eva, cri, cev, mev, mrf, cnt, hrg, mrg, Sp
  • Exemples: b.isDeathStateAffected(), b.updateStateTurns(), a.addBuff(0,3), b.addDebuff(2,10), a.elementRate(10)
  • Pour les actions sur les combattants: die(), revive(), recoverAll(), hpRate(), mpRate(), tpRate(), escape()

Et pour les acteurs et ennemis, on peut interroger des états, buffs et debuffs, ainsi que des valeurs comme currentExp(), currentLevelExp(), nextLevelExp(), maxLevel(), isActor(), isEnemy(), etc.

IV. Mathématiques et randomisation

Math.random(), Math.min(), Math.max(), Math.round(), Math.ceil(), Math.floor() et Math.random() pour générer des valeurs aléatoires. Exemple pratique : Math.floor(Math.random()*100)+1 retourne un nombre entre 1 et 100.

Infographie: schéma des paramètres et flux de calcul

Compétences de dégâts sur la durée basées sur les statistiques - Tutoriel RPG Maker MV

Pour les éléments et la variance, vous pouvez introduire des variations autour de 80-120% afin d’obtenir des dégâts fluctuants autour d’un cap moyen, ce qui permet d’obtenir des résultats plus naturels en combat.

Note: la gestion des coups critiques, des faiblesses et des résistances n’est pas prise en compte dans ce tutoriel, mais peut être ajoutée par extension dans des formules avancées.

tags: #formules #attaque #rpg #maker #mv