Tips & Tricks – Damage Dispersion (Bravely Default) – 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.

When a unit with the Damage Dispersion passive gets attacked in Bravely Default, the direct damage is reduced by 15% per ally but also spread to those allies. This is a great effect to help keep frail allies alive. Here’s how we can make this effect in RPG Maker MV!

You can grab the copy/paste code here: 


Insert the following Lunatic Mode into the passive state’s notebox. Change the values in red to reflect your game’s settings.

<Custom React Effect>
// Check if this dealt HP damage
if (this.isHpEffect() && value > 0) {
  // Get the target's alive allies
  var group = target.friendsUnit().aliveMembers();
  // Calculate the damage to be dispersed
  var rate = 0.15;
  // Reduce it by 15% per member other than the user
  rate = Math.min(rate, 1 / Math.max(1, group.length - 1));
  // Round the damage down
  var dmg = Math.floor(value * rate);
  // Loop through each member
  for (var i = 0; i < group.length; ++i) {
    // Get the currently looped member
    var member = group[i];
    // Check if the member exists and isn't the target
    if (member && member !== target) {
      // Lower the damage dealt to the target by the reduced amount
      value -= dmg;
      // Play an animation on the looped member
      member.startAnimation(2);
      // Make the member lose HP
      member.gainHp(-dmg);
      // Play a damage popup
      member.startDamagePopup();
      // Check if the member is dead
      if (member.isDead()) {
        // If it is, make the member collapse
        member.performCollapse();
      }
      // Clear the member's results
      member.clearResult();
    }
  }
  // Make sure the damage amount reduced cannot go below 0
  value = Math.max(value, 0);
}
</Custom React Effect>

Enjoy!

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