Tips & Tricks – Cagnazzo’s Tsunami (Final Fantasy 4) – RPG Maker MV

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.