Le wiki de la création de jeux

Caractéristiques et formules

A partir de RPG Maker VX, les dégâts infligés par une compétence sont personnalisables précisément à l’aide de formules et des caractéristiques.

Interface d'écriture de formules

Formule de l’attaque de base.

L’utilisateur de la compétence est représenté par a et la cible par b. On y associe un attribut avec un point. Par exemple, a.atk signifie « l’attaque du joueur » et b.def signifie « la défense de la cible ».

Caractéristiques de base

CaractéristiqueSymbole
Attaqueatk
Défensedef
Magiemat
Déf. magiquemdf
Agilitéagi
Chanceluk
PV maximummhp
PM maximummmp

Les caractéristiques des personnages ont une utilité par défaut qui est détaillée ici, mais il est aussi possible de les manipuler d’une façon différente à l’aide des formules.

Attaque et défense

L’attaque, la défense, l’attaque magique et la défense magique n’ont aucun effet particulier et sont uniquement utilisées pour calculer les dégâts dans les formules des compétences ou des objets. Leur impact est donc facilement personnalisable.

Agilité

Attaques surprise

L’agilité influe sur la possibilité de réaliser une attaque surprise au début du combat. Lors d’une attaque surprise, l’adversaire ne peut pas agir durant le premier tour. Les attaques surprises ne peuvent pas survenir lors d’un combat déclenché par un évènement.

De plus, dans l’onglet Autre des caractéristiques, l’effet de groupe Augmenter les attaques préventives* augmente les chances par un facteur de 4. Un autre effet permet de désactiver les attaques surprise ennemies.

Fuite

L’agilité détermine également la probabilité de réussir une fuite :

Chances de fuir (%) = 150 - 100 × agilité moyenne de l’ennemi ÷ agilité moyenne de l’équipe

Un bonus de 10% est ajouté après chaque tentative de fuite échouée. De plus, l’équipe peut s’échapper à coup sûr lors d’une attaque surprise.

Chance

La chance influe lorsqu’on souhaite appliquer une altération d’état à une cible, ou pour calculer la probabilité pour que l’état se dissipe :

Chance (%) = 100 + (chance du lanceur - chance de la cible) ÷ 10

Paramètres supplémentaires

Les caractéristiques “Ex” ont une valeur de 0% par défaut, tandis que les paramètres “Sp” ont une valeur de 100% par défaut. Toutes ces valeurs peuvent varier entre -1000% et +1000%.

ExSignificationSpSignification
hitChance de toucher1tgrChance d’être ciblé
evaTaux d’esquive1grdTaux de réduction des dommages
criTaux de critiquerecTaux de régénération (via skill)
cevTaux d’esquive critiquephaTaux de régénération (via item)
mevTaux d’évasion magiquemrcAugmentation/réduction du coût en MP
mrfTaux de réflexiontcrAugmentation/réduction du gain en PT
cntChance de contrer2pdrTaux de réduction des attaques physiques
hrgTaux de regen des PV/tourmdrTaux de réduction des attaques magiques
mrgTaux de regen des PM/tourfdrTaux de réduction des dommages de terrain3
trgTaux de regen des PT/tourexrBonus/malus à l’expérience
  1. La chance de toucher et la chance d’esquiver sont calculées séparément. Par exemple, si l’attaquant a une précision de 90% et la cible a une esquive de 10%, la chance d’esquiver sera 10% de 90%, ce qui revient à une précision globale de 81%.

  2. La contre-attaque est uniquement possible contre les attaques physiques des ennemis.

  3. Le taux de réduction des dommages a l’impact suivant :

    Dégâts en défense = Dégâts normaux ÷ (2 × taux de réduction)

Attributs en cours de jeu

AttributSignification
hpPV actuels
mpPM actuels
tpPT actuels
levelNiveau
v[x]Variable numéro x

Ecrire des formules

Les formules sont écrites dans le langage de script du logiciel. On peut utiliser les opérateurs suivants mais aussi des parenthèses : la priorité des opérations est respectée.

OpérateurSignification
+Addition
-Soustraction
*Multiplication
/Division
**Exponentielle
%Modulo

Notez que la résistance élémentaire et les autres effets sont calculés séparément. Les formules concernent uniquement les dégâts de base des compétences.

RPG Maker VX et VX Ace

Pour réaliser des formules complexes et intéressantes, il est possible de tirer parti des possibilités de Ruby.

Conditions

Imaginons une condition simple : si l’attaque de l’utilisateur est supérieure à 20, la compétence fera 200 points de dégâts, sinon, elle fera seulement 100 points de dégâts.

if a.atk > 20
  200
else
  100
end

Cependant, le champ de formule ne fait qu’une seule ligne. Pour condenser ceci, on écrit ; à la place d’un retour à la ligne.

if a.atk > 20; 200; else; 100; end;

Il existe une autre façon d’écrire une condition en une ligne :

condition ? commande_si_vrai : commande_si_faux

Cela permet d’écrire notre exemple ainsi :

a.atk > 20 ? 200 : 100

Manipuler les nombres

Les nombres peuvent être négatifs en les précédant d’un - sans espace. Espacer correctement les opérateurs et les nombres permet d’avoir un meilleur contrôle sur ses opérations.

4 + -6 => -2
4 - -6 => 10

Evitez de laisser un zéro avant votre nombre ou il sera traité en base 8.

0567 => 375

Il est possible d’utiliser des nombres décimaux en séparant la partie entière et la partie décimale d’un .. Utiliser au moins un décimal dans une opération produira toujours un résultat décimal.

5 + 10.0 => 15.0

Cette astuce vous permet de choisir entre un résultat de division arrondi ou décimal.

3 / 2 => 1
3 / 2.0 => 1.5

RPG Maker MV et MZ

Plusieurs conditions très pratiques peuvent être utilisées au sein d’une formule :

ConditionLa cible…
isDead()Est morte
isDying()N’a plus qu’un quart de sa vie
isStateAffected(id)Subit le statut de numéro id
isActor()Fait partie de l’équipe
isEnemy()Est un ennemi

Elles sont à utiliser ainsi. Pour rappel, a est le lanceur de la compétence et b est la cible.

b.isDying() ? commande_si_vrai : commande_si_faux

Dernière mise à jour le 30 décembre 2020