Tips & Tricks – Kyrie Eleison (Ragnorak Online) – 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.

Kyrie Eleison is an effect from iRO that blocks either x physical attacks or y damage, based on whichever comes first, then expires. This is a nice way to mitigate damage without it becoming too one-dimensional. Here’s how to recreate the effect in RPG Maker MV!

You can grab the copy/paste code here: Insert the following code into the state’s notebox. Change the values in red to reflect the settings of your game.

<Custom Apply Effect>
// The number of hits before the shield wears off.
user._KyrieHits = 10;
// The number of damage before the shield wears off.
user._KyrieHP = Math.floor(user.mhp * 0.30);
// Set the state counter to display HP left.
user.setStateCounter(stateId, user._KyrieHP);
</Custom Apply Effect>

<Custom Remove Effect>
// Remove the number of hits to expire the shield.
user._KyrieHits = undefined;
// Remove the damage needed to expire the shield.
user._KyrieHP = undefined;
// Reset the state counter.
user.setStateCounter(stateId, 0);
</Custom Remove Effect>

<Custom React Effect>
// Check if the action deals HP damage.
if (this.isHpEffect() && value > 0) {
  // Play an animation on the target.
  target.startAnimation(53);
  // Calculate the amount of HP to reduce.
  var reduce = Math.min(value, target._KyrieHP);
  // Reduce that from the value.
  value -= reduce;
  // Reduce that value from the shield amount.
  target._KyrieHP -= reduce;
  // Reduce the hits from the shield count.
  target._KyrieHits -= 1;
  // Set the state counter to reflect the new HP amount left
  target.setStateCounter(stateId, target._KyrieHP);
  // Create a text to display.
  var text = "<CENTER>" + target.name() + "'s shield blocks " + reduce + " damage and has " + target._KyrieHits + (target._KyrieHits !== 1 ? " hits" : " hit") + " left."
  // Set the wait time.
  var wait = 90;
  // Display the text.
  BattleManager.addText(text, wait);
}
// Check if either the shield HP is exhausted or the hits are depleted
if (target._KyrieHP <= 0 || target._KyrieHits <= 0) {
  // Then remove the state.
  target.removeState(stateId);
}
</Custom React Effect>

Enjoy!

Please wait while you are redirected...or Click Here if you do not want to wait.