YEP.157 – Lunatic Pack – State Protection – 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.

You can grab the plugin here:

English Mirror

Support Team Yanfly on Patreon

This plugin allows you to add a variety of protection effects to your states to allow them to reduce HP or MP damage in more unique ways, from cutting off a percentage of the original damage, blocking off damage entirely once certain break points are met, capping damage in certain ways, and surviving fatal damage. And should any of those effects trigger, you can set the state to perform special effects, too!

*NOTE*: This plugin is best used with RPG Maker MV version 1.5.0+. You can still use this plugin with a lower version number, but you will have a much harder time altering the plugin parameters without it.


Introduction


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

This plugin requires the following plugins:

– Battle Engine Core
– Buffs & States Core

Place this plugin beneath the above listed plugins in the plugin manager. This plugin allows you to add a variety of protection effects to your states to allow them to reduce HP or MP damage in more unique ways, from cutting off a percentage of the original damage, blocking off damage entirely once certain break points are met, capping damage in certain ways, and surviving fatal damage. And should any of those effects trigger, you can set the state to perform special effects, too!

*NOTE*: This plugin is best used with RPG Maker MV version 1.5.0+. You can still use this plugin with a lower version number, but you will have a much harder time altering the plugin parameters without it.


Notetags


For updated versions of the notetags, please refer to the plugin’s helpfile.


Lunatic Mode – Effect Code


For experienced users that know JavaScript and have RPG Maker MV 1.5.0+, you can add new notetag effects that can be used by the plugin or alter the effects of currently existing notetag effects from the plugin parameters entry: Effect Code. It should look something like this:

// ----------------
// Damage Reduction
// ----------------
if (data.match(/DAMAGE CUT[ ](\d+)([%%])/i)) {
  rate = parseFloat(RegExp.$1) * 0.01;
  blocked = originalValue * rate;
  value -= blocked;
  value = Math.max(value, 0);

} else if (data.match(/DAMAGE BLOCK[ ]([\+\-]\d+)/i)) {
  blocked = parseInt(RegExp.$1);
  value -= blocked;
  value = Math.max(value, 0);

...

// -------------------------------
// Add new effects above this line
// -------------------------------
} else {
  skip = true;
}

Here’s what each of the variables used in this code bit refer to:

  --------------------   ---------------------------------------------------
  Variable:              Refers to:
  --------------------   ---------------------------------------------------
  state                  The state this effect belongs to
  stateId                The state ID this effect belongs to

  value                  The HP/MP damage being affected by this effect. Any
                         changes made to this value will be permanent unless
                         the effect is skipped.

  originalValue          The original HP/MP damage before any of the protect
                         state effects have been applied.

  item                   The item being used by this action
  skill                  The skill being used by this action

  isItem                 Returns true if action is an item
  isSkill                Returns true if action is a skill

  a                      Returns the action user
  user                   Returns the action user
  subject                Returns the action user

  b                      Returns the action's current target
  target                 Returns the action's current target

  s[x]                   Return switch x (true/false)
  v[x]                   Return variable x's current value

  user._result           The current results for the user
  target._result         The current results for the target
  userPreviousResult     The results for the user before any changes
  targetPreviousResult   The results for the target before any changes

  animation              The animation to be played.

  triggered              Returns if any of this state's protection effects
                         have been triggered (true) or not (false)

  skip                   Default: false. If true, skips popups & animations

If you need to revert the Effect Code back to its original state, delete the plugin from your plugin manager list and then add it again. The code will be back to default.


Happy RPG Making!