Atonement (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.


Atonement is an interesting buff in the World of WarCraft. The effect by itself doesn’t do anything too special. However, when the caster deals spell damage, it instantly heals all affected allies for 40% of the damage dealt. Here’s how to recreate the 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:

Insert the following code into the Atonement Global state. Change the values to reflect the settings of your game.
<Custom Establish Effect>
// Check if the current effect dealt HP damage and is magical.
if (this.isHpEffect() && this.isMagical() && value > 0) {
  // Set the ID of the atonement state.
  var atonement = 225;
  // Get current alive members.
  var group = user.friendsUnit().aliveMembers();
  // Calculate the amount of HP healed.
  var hpHealed = Math.floor(value * 0.401);
  // Go through all of the party members.
  for (var i = 0; i < group.length; ++i) {
    // Get the currently looped ally.
    var ally = group[i];
    // Check if the ally exists, is affected by atonement, and the original caster of the state is the current user.
    if (ally && ally.isStateAffected(atonement) && ally.stateOrigin(atonement) === user) {
      // If it matches, heal the ally.
      ally.gainHp(hpHealed);
      // Start the damage popup.
      ally.startDamagePopup();
      // Clear the results.
      ally.clearResult();
    }
  } 
}
</Custom Establish Effect>

Enjoy!