Domaine concerné: script
Logiciel utilisé: RPG Maker MV
Bonjour,
J'aimerais faire des boucliers anti-feu, anti-eau, anti-foudre et anti-glace comme dans Final Fantasy X. Pour ceux qui ne connaissent pas, ce sont des boucliers qui protègent une fois de l'élément auquel ils correspondent avant de disparaître.
J'ai la compétence, qui donne un état aux alliés. Mais c'est cet état qui me pose problème.
- J'ai testé en rendant invulnérable à un élément (par exemple "vulnérabilité feu * 0%") pendant 1 à 3 tours, mais ça ne me convient pas parce que l'état persiste après avoir protégé son porteur du sort (de feu en l'occurrence).
- J'ai testé le Tips & Tricks de Yanfly sur le Spell Shield (http://www.yanfly.moe/wiki/Spell_Shield_(MV_Plugin_Tips_%26_Tricks)), mais ça ne va pas non plus parce que quand l'état "anti-feu" disparait, tous les autres états anti-élément disparaissent avec, même s'ils n'ont pas affrontés de sort correspondant à leur élément (par exemple, l'état "anti-eau" disparait après une attaque de feu en même temps que "anti-feu")
J'utilise ce script pour l'état "anti-feu" :
(à savoir que ça fonctionne avec 2 plugins de Yanfly : "Battle Engine Core" et "Buffs & States Core")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <Custom Select Effect>
if (this.item() && DataManager.isSkill(this.item()) && this.isForOpponent()) {
var blockedskills = [];
blockedskills.push(13, 14, 15);
if (blockedskills.contains(this.item().id)) {
this._formerItemSuccessRate = this.item().successRate;
this.item().successRate = 0;
target.startAnimation(53);
}
}
</Custom Select Effect>
<Custom Deselect Effect>
if (this._formerItemSuccessRate !== undefined) {
this.item().successRate = this._formerItemSuccessRate;
target.removeState(stateId);
}
</Custom Deselect Effect> |
Je l'ai copié sur chacun de mes 4 états (un pour chaque élément) en changent l'id de la compétence affectée(blockedskills.push), et je pense que c'est de cette copie que vient le problème : quand ça en supprime un, ça les supprime tous.
J'y connais rien en codage, et javascript est une langue étrangère que j'essaie d'appréhender .
Dites-moi comment changer ce code pour que les compétence n°13, 14, 15 (des sorts de feu) soient les seules à retirer l'état "anti-feu", et que l'état "anti-eau" ne soit pas affecté par ce retrait.
Merci de m'avoir lue.
Au plaisir de lire vos réponses.
|