Cavolo è vero! Ho dimenticato la ciccia
Ora dovrebbe andare:
/*:
* @target MZ
* @plugindesc Permette di attivare combo in battaglia basate sulla presenza di specifici personaggi nel party.
* @author Massimo Bivona
*
* @param ComboSkillID
* @text ID Skill Combo
* @desc L'ID della skill che i personaggi possono attivare in combo.
* @type skill
* @default 1
*
* @param ComboMPCost
* @text Costo MP Combo
* @desc Il costo in MP per attivare la combo.
* @type number
* @default 20
*
* @help
* Utilizza il tag <ComboMember> nelle note dei personaggi per indicare chi può attivare la combo.
* Esempio di uso nella nota del personaggio: <ComboMember>
*/
(() => {
const parameters = PluginManager.parameters('ComboPlugin');
const comboSkillID = Number(parameters['ComboSkillID'] || 1);
const comboMPCost = Number(parameters['ComboMPCost'] || 20);
Game_Party.prototype.canUseCombo = function() {
// Verifica se ci sono abbastanza MP e se i membri con <ComboMember> sono nel party.
return this.members().some(member => member.actor().meta.ComboMember && member.mp >= comboMPCost);
};
const _Game_BattlerBase_canUse = Game_BattlerBase.prototype.canUse;
Game_BattlerBase.prototype.canUse = function(item) {
if (item.id === comboSkillID && this.isActor()) {
return $gameParty.canUseCombo() && _Game_BattlerBase_canUse.call(this, item);
}
return _Game_BattlerBase_canUse.call(this, item);
};
const _Game_Action_apply = Game_Action.prototype.apply;
Game_Action.prototype.apply = function(target) {
if (this.item().id === comboSkillID) {
// Riduci gli MP di tutti i membri idonei per la combo.
$gameParty.members().forEach(member => {
if (member.actor().meta.ComboMember) {
member.gainMp(-comboMPCost);
}
});
}
_
Game_Action_apply.call(this, target);
};
})();
Ora ho fornito più spiegazioni su come utilizzarlo in modo corretto. Comunque per il discorso richieste passate, io non guardo l'anno di pubblicazione, di solito leggo la richiesta e poi provo a soddisfarla, per me è anche una sorta di esercizio per vedere se sono migliorato con la programmazione. Magari migliorando lo stile di scrittura dei plugin che creo e soprattutto anche velocizzarmi nel realizzarne uno.
Però ovvio hai ragione devo seguire le regole del sito e fornirvi anche una demo.