Healing Fate (MV Plugin Tips & Tricks)

From Yanfly.moe Wiki
Jump to navigation Jump to search

Welcome to the wiki! This is where you can find resources from Yanfly.moe, Ækashics.moe,
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.


In Everquest 2, Healing Fate is an impairment placed on an opponent that will grant Health to the caster and allies when the opponent takes a certain amount of damage. Here’s how to recreate this effect in RPG Maker MV!

Required Plugins

The following plugin(s) is required to create this Tips & Tricks effect:

For help on how to install plugins, click here.

For help on how to update plugins, click here.

About

This is a Tips & Tricks effect created for RPG Maker MV. Tips & Tricks are not to be confused with plugins. Instead, they are usually customized code created for the sake of producing unique features/effects that do not require an entire plugin to do.

Yanfly Engine Plugins

This Tips & Tricks effect is made possible due to the Yanfly Engine Plugins library.

Click here if you want to help support Team Yanfly on Patreon.

Instructions

Follow video instructions.

You can grab the copy/paste code here:

Place the following code into the Healing Fate state’s notebox. Change the values to fit your game.

<Custom Apply Effect>
// Set the Healing Fate HP damage to 0.
target._healingFateDmg = 0;
</Custom Apply Effect>

<Custom Remove Effect>
// Set the Healing Fate HP damage to 0.
target._healingFateDmg = 0;
</Custom Remove Effect>

<Custom Respond Effect>
// Check if the effect is an HP effect and if the target received HP damage.
if (this.isHpEffect() && target.result().hpDamage > 0) {
  // Increase the target's Healing Fate HP damage by damage received.
  target._healingFateDmg += target.result().hpDamage;
  // Check if the amount of total HP Healing Fate damage exceeds more than 20% of the target's MaxHP.
  if (target._healingFateDmg >= target.mhp * 0.20) {
    // If it does, remove this state.
    target.removeState(stateId);
    // Get all the original caster's allies.
    var members = origin.friendsUnit().aliveMembers();
    // Calculate the amount of HP healed.
    var hpHealed = origin.mdf * 2;
    // Loop through each one of them.
    for (var i = 0; i < members.length; ++i) {
      // Get the currently looped member.
      member = members[i];
      // If the member exists...
      if (member) {
        // Then the member gains the calculated HP.
        member.gainHp(hpHealed);
        // Play an animation on the member.
        member.startAnimation(46);
        // Start the damage popup.
        member.startDamagePopup();
        // Clear the results.
        member.clearResult();
      }
    }
  }
}
</Custom Respond Effect>

Happy healing!