Yanfly Engine Plugins is a plugin library made for RPG Maker MV, a wonderful piece of software to help you make that role playing game of your dreams. You can find out more about RPG Maker MV here.
Cagnazzo, a boss from Final Fantasy 4, has an interesting skill. Tsunami takes a couple of turns to charge up. But while it charges up, if the boss is struck by a lightning attack, it will cancel out the charging effect.
You can grab the copy/paste version of the code here:
Place this inside of the charging state. Modify the highlighted red text to fit your game.
<Custom Apply Effect> // Clear the user's current actions. user.clearActions(); // Create the text for the charging effect. var text = '<CENTER>' + user.name() + ' will unleash \\c[4]Tsunami\\c[0] in 3 turns.' // Insert the line of text into the battle log. SceneManager._scene._logWindow._lines.push(text); // Create the next line of text. text = '<CENTER>Attack ' + user.name() + ' with \\c[6]Lightning\\c[0] to cancel it!' // Insert the line of text into the battle log. SceneManager._scene._logWindow._lines.push(text); // Refresh the battle log window to show the added text. SceneManager._scene._logWindow.refresh(); // Get the number of frames to wait. var waitframes = 120; // Add a wait action sequence. BattleManager._actionList.push(['WAIT', [waitframes]]); </Custom Apply Effect> <Custom Leave Effect> // Get the skill ID of the skill that will launch once the charging is complete. var skill = 194; // The target's index. -1 for random. -2 for last target. var target = -2; // Set the forced action for the user. // Queue the forced action. BattleManager.queueForceAction(user, skill, target); </Custom Leave Effect> <Custom Respond Effect> // Get the element ID of the the attack the target received. var element = this.item().damage.elementId; // Check if it is damage based and if the element matches the interrupting element. if (this.isDamage() && element === 5) { // Remove this charging state from the target. target.removeState(stateId); // The text used to indicate the charging effect was interrupted. var text = '<CENTER>' + target.name() + "'s \\c[4]Tsunami\\c[0] is interrupted!" // Insert the line of text into the battle log. SceneManager._scene._logWindow._lines.push(text); // Refresh the battle log window to show the added text. SceneManager._scene._logWindow.refresh(); // Get the number of frames to wait. var waitframes = 120; // Add a wait action sequence. BattleManager._actionList.push(['WAIT', [waitframes]]); } </Custom Respond Effect>
Happy charging!
Please wait while you are redirected...or Click Here if you do not want to wait.