Elements and Status Menu Core VisuStella MZ

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.



Download

System

This is a plugin created for RPG Maker MZ.

InstallPluginsMz.png

UpdatePlugins.png

Troubleshooting.jpg

Click here for help on how to install plugins and an explanation on the Tier Hierarchy System.

Click here to learn how to update plugins.

Click here for how to troubleshoot plugins if you get an error.


Masterarbeit Writer


ElementStatusMenuCoreTraitSets.png ElementStatusMenuCoreBios.png
ElementStatusMenuCoreParams.png ElementStatusMenuCoreElePage.png

Extension Plugins

The following plugins are Extension Plugins that require this plugin as its Parent Plugin.

Place the following plugins below this plugin located in the Plugin Manager if you plan on using them.


VisuStella MZ

This plugin is a part of the VisuStella MZ Plugin Library.

Click here if you want to help support VisuStella on Patreon.

Introduction

The Elements & Status Menu Core plugin gives you more control over in-game elemental rate calculations, providing Trait Sets to streamline assigning elements to actors and enemies, and updating the Status Menu to display all that information properly.

Features include all (but not limited to) the following:

  • Element Rate control from target side and user side.
  • Elemental Absorption and Elemental Reflection added.
  • Assign items and skills to have multiple elements.
  • Elemental rates can be adjusted from additive and multiplicative notetags.
  • Forcing Elemental Rates and nullifying Elemental properties.
  • Trait Sets added to mass assign traits through the usage of notetags.
  • Trait Sets used to assign Elements, SubElements, Genders, Races, Natures, Alignments, Blessings, Curses, Zodiacs, and Variants.
  • Randomized Trait Sets with weights to make enemies more dynamic.
  • The ability to change traits midway through the game by Plugin Commands.
  • Updated Status Menu Layout to display all this new information.
  • Control over the information category tabs in the Status Menu.
  • Change up the actor's Biography midway through the game by Plugin Command.

Requirements

This plugin is made for RPG Maker MZ. This will not work in other iterations of RPG Maker.


Tier 1

This plugin is a Tier 1 plugin. Place it under other plugins of lower tier value on your Plugin Manager list (ie: 0, 1, 2, 3, 4, 5).

This is to ensure that your plugins will have the best compatibility with the rest of the VisuStella MZ Plugin library.


Major Changes

This plugin adds some new hard-coded features to RPG Maker MZ's functions. The following is a list of them.

---

Element Damage Calculation

Elements.png

Elemental damage was calculated in one very specific way in RPG Maker MZ: getting the target's elemental resistance found across various database objects and applying the damage to that rate. This plugin extends that by giving more ways to extend the target's elemental damage rate as add in a facet which introduces the attacker's elemental bonus damage, too.

---

Multi-Elemental Calculation

By default in RPG Maker MZ, if there are multiple elements assigned to an action, then the element with the highest rate is taken. This plugin will give you, the game dev, the decision on how this is handled: the default maximum rate, a minimum rate, a multiplicative product, an additive sum, or an average of all the elemental rates calculated.

---

Notetags

RPG Maker MZ's editor is unable to allow for custom traits/properties that a game dev may wish to associate with a database object, event, map, etc. Notetags are used to work around such limitations by allowing the game dev to tag certain traits/properties using specific Notetags declared by the related plugin.

Here is a list of Notetag(s) that you may use.


The following are notetags that have been added through this plugin. These notetags will not work with your game if this plugin is OFF or not present.

Element-Related Notetags

Elements.png

The following are element-related notetags.

---

<Multi-Element: x>
<Multi-Element: x,x,x>

<Multi-Element: name>
<Multi-Element: name, name, name>

- Used for: Skill, Item Notetags
- Gives this action an additional element (alongside the Damage element)
  when calculating damage.
- Replace 'x' with the ID of the element from Database > Types.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to assign more elements.

---

<Multi-Element Rule: Maximum>
<Multi-Element Rule: Minimum>
<Multi-Element Rule: Multiply>
<Multi-Element Rule: Additive>
<Multi-Element Rule: Average>

- Used for: Skill, Item Notetags
- Changes the multi-element ruling for this action to either 'Maximum',
  'Minimum', 'Multiply', 'Additive', or 'Average'.
- If this notetag is not used, refer to the default ruling set by the
  Plugin Parameters.

---

<Force Action Element: Null>

<Force Action Element: x>
<Force Action Element: x,x,x>

<Force Action Element: name>
<Force Action Element: name, name, name>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Forces any actions performed by this unit to be the specific element(s).
- Replace 'x' with the ID of the element from Database > Types.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- If multiples of this notetag are found across various Database objects,
  priority will go in the order of states, actor, enemy, class, equips.

---

<Force Received Element id Rate: x%>
<Force Received Element id Rate: x.x>

<Force Received Element name Rate: x%>
<Force Received Element name Rate: x.x>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Forces the unit to receive elemental damage at x multiplier.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to assign more elements.

---

<Received Element id Plus: +x%>
<Received Element id Plus: +x.x>

<Received Element name Plus: +x%>
<Received Element name Plus: +x.x>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the received elemental damage additively before applying rates and
  flat bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to assign more elements.
- Formula works as follows: (base + plus) * rate + flat
- Formula may vary if changed up in the Plugin Parameters.
- This does not add on flat bonus damages after calculating elemental rates.
  This merely adds onto it at the end after applying rates if the formula
  from above is unchanged.

---

<Received Element id Rate: x%>
<Received Element id Rate: x.x>

<Received Element name Rate: x%>
<Received Element name Rate: x.x>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the received elemental damage multiplicatively after applying plus and
  before applying flat bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to assign more elements.
- Formula works as follows: (base + plus) * rate + flat
- Formula may vary if changed up in the Plugin Parameters.

---

<Received Element id Flat: +x%>
<Received Element id Flat: +x.x>

<Received Element name Flat: +x%>
<Received Element name Flat: +x.x>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the received elemental damage additively after applying rates and
  plus bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to assign more elements.
- Formula works as follows: (base + plus) * rate + flat
- Formula may vary if changed up in the Plugin Parameters.
- This does not add on flat bonus damages after calculating elemental rates.
  This merely adds onto it at the end after applying rates if the formula
  from above is unchanged.

---

<Dealt Element id Plus: +x%>
<Dealt Element id Plus: +x.x>

<Dealt Element name Plus: +x%>
<Dealt Element name Plus: +x.x>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the dealt elemental damage additively before applying rates and
  flat bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to assign more elements.
- Formula works as follows: (base + plus) * rate + flat
- Formula may vary if changed up in the Plugin Parameters.
- This does not add on flat bonus damages after calculating elemental rates.
  This merely adds onto it at the end after applying rates if the formula
  from above is unchanged.

---

<Dealt Element id Rate: x%>
<Dealt Element id Rate: x.x>

<Dealt Element name Rate: x%>
<Dealt Element name Rate: x.x>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the dealt elemental damage multiplicatively after applying plus and
  before applying flat bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to assign more elements.
- Formula works as follows: (base + plus) * rate + flat
- Formula may vary if changed up in the Plugin Parameters.

---

<Dealt Element id Flat: +x%>
<Dealt Element id Flat: +x.x>

<Dealt Element name Flat: +x%>
<Dealt Element name Flat: +x.x>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the dealt elemental damage additively after applying rates and
  plus bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to assign more elements.
- Formula works as follows: (base + plus) * rate + flat
- Formula may vary if changed up in the Plugin Parameters.
- This does not add on flat bonus damages after calculating elemental rates.
  This merely adds onto it at the end after applying rates if the formula
  from above is unchanged.

---

<Element Absorb: x>
<Element Absorb: x,x,x>

<Element Absorb: name>
<Element Absorb: name, name, name>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Gives the unit the ability to absorb damage from element.
- Replace 'x' with the ID of the element from Database > Types.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to absorb more elements.
- Absorption is calculated after all other element rates have been made.

---

<Element Reflect: x>
<Element Reflect: x,x,x>

<Element Reflect: name>
<Element Reflect: name, name, name>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Gives the unit the ability to reflect damage from element.
- Replace 'x' with the ID of the element from Database > Types.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to reflect more elements.
- Reflection occurs before any damage is calculated and dealt.
- Elemental Reflection will take priority over Magic Reflection.

---

<Bypass Element Reflect>

- Used for: Skill, Item Notetags
- Makes this skill/item unable to be reflected by Element Reflect effect.

---

<Element Pierce: x>
<Element Pierce: x,x,x>

<Element Pierce: name>
<Element Pierce: name, name, name>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Gives the unit the ability to attack with the element and bypass any kinds
  of damage immunities, reflections, and absorptions.
  - Actions can still miss or be countered, however.
- If an action has multiple elements, as long as one element has pierce, the
  action will go through.
- Replace 'x' with the ID of the element from Database > Types.
- For 'name' notetag variant, replace 'name' with the element's name.
  Remove any \I[x] in the 'name' replacement.
- Insert multiples of this notetag to allow unit to reflect more elements.

---

<Element Pierce>

- Used for: Skill, Item Notetags
- Makes this skill/item bypass any kinds of damage immunities, reflections,
  and absorptions.
  - Action can still miss or be countered, however.

---

JavaScript Notetags: Element-Related

Elements.png

The following are notetags made for users with JavaScript knowledge to determine dynamic element-related effects.

---

<JS Force Received Element id Rate: code>
<JS Force Received Element name Rate: code>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Forces the unit to receive elemental damage at a code-determined rate.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
- Replace 'code' with JavaScript code to determine the change.
- Insert multiples of this notetag to allow unit to assign more elements.

---

<JS Received Element id Plus: code>
<JS Received Element name Plus: code>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the received elemental damage additively before applying rates and
  flat bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
- Replace 'code' with JavaScript code to determine the change.
- Insert multiples of this notetag to allow unit to assign more elements.

---

<JS Received Element id Rate: code>
<JS Received Element name Rate: code>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the received elemental damage additively after applying plus and
  before applying flat bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
- Replace 'code' with JavaScript code to determine the change.
- Insert multiples of this notetag to allow unit to assign more elements.

---

<JS Received Element id Flat: code>
<JS Received Element name Flat: code>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the received elemental damage additively after applying rates and
  plus bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
- Replace 'code' with JavaScript code to determine the change.
- Insert multiples of this notetag to allow unit to assign more elements.

---

<JS Dealt Element id Plus: code>
<JS Dealt Element name Plus: code>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the dealt elemental damage additively before applying rates and
  flat bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
- Replace 'code' with JavaScript code to determine the change.
- Insert multiples of this notetag to allow unit to assign more elements.

---

<JS Dealt Element id Rate: code>
<JS Dealt Element name Rate: code>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the dealt elemental damage additively after applying plus and
  before applying flat bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
- Replace 'code' with JavaScript code to determine the change.
- Insert multiples of this notetag to allow unit to assign more elements.

---

<JS Dealt Element id Flat: code>
<JS Dealt Element name Flat: code>

- Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
- Alters the dealt elemental damage additively after applying rates and
  plus bonuses.
- Replace 'id' with the ID of the element.
- For 'name' notetag variant, replace 'name' with the element's name.
- Replace 'code' with JavaScript code to determine the change.
- Insert multiples of this notetag to allow unit to assign more elements.

---

Trait Set Notetags

ElementStatusMenuCoreTraitSets.png

Trait Sets are used to apply various properties to actor and enemy units as a whole depending on what the trait set is. Use the following notetags to determine how to properly assign the desired Trait Set.

WARNING: Trait Sets only work if they are enabled in the Plugin Parameters: ElementStatusCore => General Trait Set Settings => Enable Trait Sets?

---

<Element: name>
<SubElement: name>
<Gender: name>
<Race: name>
<Nature: name>
<Alignment: name>
<Blessing: name>
<Curse: name>
<Zodiac: name>
<Variant: name>

- Used for: Actor, Enemy Notetags
- Determines the specific Trait Set(s) for the actor or enemy unit.
- Replace 'name' with the name of an associated Trait Set type found in the
  Plugin Parameters.
- If any of these notetags are unused, the Trait Set will default to the one
  determined in the Plugin Parameters.

Examples:

<Element: Fire>
<SubElement: Thunder>
<Gender: Male>
<Nature: Jolly>
<Alignment: Chaotic Good>
<Zodiac: Aries>

---

<Trait Sets>
 Element:    name
 SubElement: name
 Gender:     name
 Race:       name
 Nature:     name
 Alignment:  name
 Blessing:   name
 Curse:      name
 Zodiac:     name
 Variant:    name
</Trait Sets>

- Used for: Actor, Enemy Notetags
- Determines the Trait Set(s) for the actor or enemy unit.
- Replace 'name' with the name of an associated Trait Set type found in the
  Plugin Parameters.
- You may remove the Trait Set types (ie. Blessing and Curse) that you don't
  want to assign anything to from the list.
- If any of these sets are unused, the Trait Set will default to the one
  determined in the Plugin Parameters.

Example:

<Trait Sets>
 Element:    Fire
 SubElement: Thunder
 Gender:     Male
 Nature:     Jolly
 Alignment:  Chaotic Good
 Zodiac:     Aries
</Trait Sets>

---

<Random type>
 name: weight
 name: weight
 name: weight
</Random type>

- Used for: Actor, Enemy Notetags
- Assigns a random Trait Set for this Trait Set 'type'.
- Replace 'type' with 'Element', 'SubElement', 'Gender', 'Race', 'Nature',
  'Alignment', 'Blessing', 'Curse', 'Zodiac', or 'Variant' depending on
  which you're trying to randomize.
- Replace 'name' with the name of an associated Trait Set type found in the
  Plugin Parameters.
- Replace 'weight' with a number value representing how often the 'name'
  would come up. The higher the weight, the more often. You may omit this
  and the colon(:) and just type in the 'name' instead.
- This would bypass the innate settings determined in the Plugin Parameters.

Examples:

<Random Gender>
 Male: 75
 Female: 25
</Random Gender>

<Random Variant>
 Mighty: 10
 Major: 20
 Greater: 60
 Normal: 200
 Lesser: 10
 Minor
 Puny
</Random Variant>

---

<No Random Trait Sets>

- Used for: Actor, Enemy Notetags
- Prevents random Trait Sets from being assigned to this actor/enemy unit.

---

<Trait Set Name Format>
 text
</Trait Set Name Format>

- Used for: Enemy Notetags
- Enemy names can be affected by the Trait Sets they have. Replace 'text'
  with the format you wish to see them have.
- Insert [Name] into 'text' to determine where the enemy's name goes.
- Insert [Letter] into 'text' to determine where the enemy's letter goes.
- Insert [Element] into 'text' to determine where the format text goes.
- Insert [SubElement] into 'text' to determine where the format text goes.
- Insert [Gender] into 'text' to determine where the format text goes.
- Insert [Race] into 'text' to determine where the format text goes.
- Insert [Nature] into 'text' to determine where the format text goes.
- Insert [Alignment] into 'text' to determine where the format text goes.
- Insert [Blessing] into 'text' to determine where the format text goes.
- Insert [Curse] into 'text' to determine where the format text goes.
- Insert [Zodiac] into 'text' to determine where the format text goes.
- Insert [Variant] into 'text' to determine where the format text goes.

Example:

<Trait Set Name Format>
 [Alignment] [Nature] [Element] [Name][Gender] [Letter]
</Trait Set Name Format>

---

<traitname Battler Name: filename>

<traitname Battler Names>
 filename: weight
 filename: weight
 filename: weight
</traitname Battler Names>

- Used for: Enemy Notetags
- Allows certain Trait Sets to cause battlers to have a unique appearance.
- Replace 'traitname' with the name of the Trait Set (ie. Male, Female).
- Replace 'filename' with the battler graphic to associate with that
- Replace 'weight' with a number value representing how often the 'name'
  would come up. The higher the weight, the more often. You may omit this
  and the colon(:) and just type in the 'name' instead.
  Trait Set.

Examples:

<Male Battler Name: Spider1>
<Female Battler Name: Spider2>

<Male Battler Names>
 Rogue: 25
 Fighter: 10
 Warrior
</Male Battler Names>

---

ElementsStatusMenuCoreVariants.png

<traitname Battler Hue: x>

<traitname Battler Hues>
 x: weight
 x: weight
 x: weight
</traitname Battler Hues>

- Used for: Enemy Notetags
- Allows certain Trait Sets to cause battlers to use a different hue.
- Replace 'traitname' with the name of the Trait Set (ie. Male, Female).
- Replace 'x' with a number from 0 to 360 depicting the hue to become.
- Replace 'weight' with a number value representing how often the 'name'
  would come up. The higher the weight, the more often. You may omit this
  and the colon(:) and just type in the 'name' instead.

Examples:

<Male Battler Hue: 160>
<Female Battler Hue: 275>

<Female Battler Hues>
 275: 10
 325: 5
 345
</Female Battler Hues>

---

<Equip Trait Requirement: name>
<Equip Trait Requirement: name, name, name>

- Used for: Weapon, Armor Notetags
- Makes this piece of equipment equippable by only actors with those traits.
- If there are multiple traits required, all of them have to be met.
- If multiple trait types share the same trait name, the listed name will
  count for all of them.
- Replace 'name' with the name of an associated Trait Set type found in the
  Plugin Parameters.
- Changing trait sets mid-game will remove unmatched traits.
- Usage Example: <Equip Trait Requirement: Female> makes the item only
  equippable by female actors as long as they are tagged as female.

---

<Damage VS name Trait: x%>

- Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
- If used on a skill or item, the action will perform 'x%' damage versus any
  targets with 'name' trait sets (any of them).
- If present in an actor, class, weapon, armor, enemy, or state's notebox,
  all damage types will be multiplied by 'x%' versus targets with 'name'
  trait sets (any of them).
- This notetag does not affect healing.
- Replace 'name' with the name of an associated Trait Set type found in the
  Plugin Parameters.
- Replace 'x' with a number representing a percentage value to augment
  damage by.
- Use multiple notetags to affect multiple trait types. If multiple effects
  manage to stack, they will stack multiplicatively.

---

<Healing VS name Trait: x%>

- Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
- If used on a skill or item, the action will perform 'x%' heals versus any
  targets with 'name' trait sets (any of them).
- If present in an actor, class, weapon, armor, enemy, or state's notebox,
  all heal types will be multiplied by 'x%' versus targets with 'name'
  trait sets (any of them).
- This notetag does not affect damage.
- Replace 'name' with the name of an associated Trait Set type found in the
  Plugin Parameters.
- Replace 'x' with a number representing a percentage value to augment
  heals by.
- Use multiple notetags to affect multiple trait types. If multiple effects
  manage to stack, they will stack multiplicatively.

---

<Accuracy VS name Trait: x%>
<Accuracy VS name Trait: +x%>
<Accuracy VS name Trait: -x%>

- Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
- If used on a skill or item, the action will have 'x%', '+x%', or '-x%'
  accuracy against any targets with 'name' trait sets (any of them).
- If present in an actor, class, weapon, armor, enemy, or state's notebox,
  all actions will have 'x%', '+x%', or '-x%' accuracy against any targets
  with 'name' trait sets (any of them).
- Replace 'name' with the name of an associated Trait Set type found in the
  Plugin Parameters.
- Replace 'x' respectively for percentile or additive/subtractive values.
  - 'x%' means an action with an accuracy rate of 20% will be (20% * x%).
  - '+x%' means an action with an accuracy rate of 20% will be (20% + x%).
  - '-x%' means an action with an accuracy rate of 20% will be (20% - x%).
- Multiple 'x%' notetags will stack multiplicatively.
- Multiple '+x' and '-x' notetags will stack additively.

---

<Critical VS name Trait: x%>
<Critical VS name Trait: +x%>
<Critical VS name Trait: -x%>

- Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
- If used on a skill or item, the action will have 'x%', '+x%', or '-x%'
  crtical rate against any targets with 'name' trait sets (any of them).
- If present in an actor, class, weapon, armor, enemy, or state's notebox,
  all actions will have 'x%', '+x%', or '-x%' crtical rate against any
  targets with 'name' trait sets (any of them).
- Replace 'name' with the name of an associated Trait Set type found in the
  Plugin Parameters.
- Replace 'x' respectively for percentile or additive/subtractive values.
  - 'x%' means an action with a critical rate of 20% will be (20% * x%).
  - '+x%' means an action with a critical rate of 20% will be (20% + x%).
  - '-x%' means an action with a critical rate of 20% will be (20% - x%).
- Multiple 'x%' notetags will stack multiplicatively.
- Multiple '+x' and '-x' notetags will stack additively.

---

Actor Biography Notetag

ElementStatusMenuCoreBios.png

The following notetag is used for the Status Menu if the updated Status Menu Layout option has been enabled from the Plugin Parameters.

---

<Biography>
 text
 text
 text
</Biography>

- Used for: Actor Notetags
- Determines the actor's biography shown in the Status Menu.
- Replace 'text' with the text intended.
- Text Codes are allowed.
- The biography can be changed mid-game through Plugin Commands.
- If this notetag isn't used, then the actor's profile message is displayed
  as the biography.

---

Plugin Commands

PluginCommandsMZ.png

Plugin Commands are event commands that are used to call upon functions added by a plugin that aren't inherently a part of RPG Maker MZ.

Here is a list of Plugin Command(s) that you may use:

---


The following are Plugin Commands that come with this plugin. They can be accessed through the Plugin Command event command.

---

Actor Plugin Commands

---

ElementStatusMenuCoreBios.png

ElementsStatusMenuCorePluginCommand01.png

Actor: Change Biography (Group)
Actor: Change Biography (Range)
Actor: Change Biography (JS)
- Changes the biography of the selected actor(s).
- Each version has a different means of selecting Actor ID's.

  Step 1: Target ID
  - Select which Actor ID(s) to affect.

  Step 2: Biography
  - Change the biography for target actor(s) to this.
  - Text codes allowed.
  - %1 - Actor's name.

---

ElementStatusMenuCoreTraitSets.png

ElementsStatusMenuCorePluginCommand04.png

Actor: Change Trait Sets (Group)
Actor: Change Trait Sets (Range)
Actor: Change Trait Sets (JS)
- Changes the Trait Set(s) of the selected actor(s).
- Each version has a different means of selecting Actor ID's.

  Step 1: Target ID
  - Select which Actor ID(s) to affect.

  Step 2: Change Trait Set
  - Element
  - SubElement
  - Gender
  - Race
  - Nature
  - Alignment
  - Blessing
  - Curse
  - Zodiac
  - Variant
    - Change to the name of the Trait Set to switch actor(s) to.
    - "Unchanged" to leave alone.
    - "Random" to randomize.
      - Random will use the random pool dictated by the Plugin Parameters
        and the Trait Set weights determined there as well.

---

Enemy Plugin Commands

---

ElementsStatusMenuCoreVariants.png

ElementsStatusMenuCorePluginCommand07.png

Enemy: Change Trait Sets (Group)
Enemy: Change Trait Sets (Range)
Enemy: Change Trait Sets (JS)
- Changes the Trait Set(s) of the selected enemy(ies).
- Each version has a different means of selecting Enemy Indexes.

  Step 1: Target ID
  - Select which Enemy Index(es) to affect.

  Step 2: Change Trait Set
  - Element
  - SubElement
  - Gender
  - Race
  - Nature
  - Alignment
  - Blessing
  - Curse
  - Zodiac
  - Variant
    - Change to the name of the Trait Set to switch target(s) to.
    - "Unchanged" to leave alone.
    - "Random" to randomize.
      - Random will use the random pool dictated by the Plugin Parameters
        and the Trait Set weights determined there as well.

---


Script Calls

The following are Script Calls that can be used with this plugin. These are made for JavaScript proficient users. We are not responsible if you use them incorrectly or for unintended usage.

---

Trait Set-Related Script Calls

---

battler.hasTraitSet(typeName)

- Returns a 'true' or 'false' value if the battler has a specific trait set.
- This will check all 10 trait set categories (elements, subelements,
  gender, race, nature, alignment, blessing, curse, zodiac, variant) and if
  any of them match, this will return 'true'. If not, returns 'false'.
- 'battler' references a Game_Actor or Game_Enemy.
- Replace 'typeName' with a string representing the trait set key name
  (ie. 'male' or 'female' or 'goblin' or 'human').

Examples:

  $gameActors.actor(1).hasTraitSet('male')
  $gameParty.leader().hasTraitSet('female')
  $gameTroop.members()[0].hasTraitSet('goblin')

---


Plugin Parameters

Element Rulings

Elements.png

ElementsStatusMenuCoreParams01.png

These Plugin Parameters control the rulings for Element-related mechanics. These play an important part in determine what to do when multiple elements are present, how to calculate the elemental rates, and

---

Rulings

 Multi-Element Ruling:
 - Ruling on how to calculate element rate when there are  multiple
   elements used for damage calculation.
   - Maximum (largest rate of all elements)
   - Minimum (smallest rate of all elements)
   - Multiplicative (product of all elements used)
   - Additive (sum of all elements used)
   - Average (of all the elements used)
 JS: Maximum Rate:
 - Determine how maximum element rate is calculated.
 JS: Minimum Rate:
 - Determine how minimum element rate is calculated.
 JS: Multiply Rate:
 - Determine how a multiplied element rate is calculated.
 JS: Additive Rate:
 - Determine how an additive element rate is calculated.
 JS: Average Rate:
 - Determine how an average element rate is calculated.

---

Formulas

 JS: Received Rate:
 - Determine how the element rate for the receiving target is calculated.
 JS: Finalize Rate:
 - Determine how the finalized element rate before damage is calculated.

---

Status Menu Settings

ElementStatusMenuCoreBios.png

ElementsStatusMenuCoreParams02.png

The Status Menu Settings determine how the Status Menu appears and the various objects that exist within it. The option to update it to a more updated menu also exists, too.

---

General

 Use Updated Layout:
 - Use the Updated Status Menu Layout provided by this plugin?
 - This will override the Core Engine windows settings.
 Layout Style:
 - If using an updated layout, how do you want to style the
   menu scene layout?
   - Upper Help, Top Category
   - Upper Help, Bottom Category
   - Lower Help, Top Category
   - Lower Help, Bottom Category
 Trait Set Font Size:
 - The font size used for Trait Set Descriptions.
 Show Back Rectangles?:
 - Show back rectangles of darker colors to display information better?
   Back Rectangle Color:
   - Use #rrggbb for custom colors or regular numbers for text colors
     from the Window Skin.

---

Category Window

 Style:
 - How do you wish to draw commands in the Category Window?
 - Text Only: Display only the text.
 - Icon Only: Display only the icon.
 - Icon + Text: Display the icon first, then the text.
 - Auto: Determine which is better to use based on the size of the cell.
 Text Align:
 - Text alignment for the Category Window.

---

Displayed Parameters

 Column 1:
 Column 2:
 Column 3:
 - A list of the parameters that will be displayed in column 1.
 - Basic Parameters (ie. MaxHP, ATK, LUK)
 - X Parameters (ie. HIT, EVA, CRI)
 - S Parameters (ie. PDR, MDR, EXR)

---

Elements

 Excluded Elements:
 - These element ID's are excluded from the Status Menu list.
 IDs: Column 1:
 IDs: Column 2:
 - The list of element ID's to show in column 1/2.
 - If neither column has ID's, list all elements.

---

Vocabulary

 Biography:
 - Vocabulary for 'Biography'.
 Damage: Absorb:
 - Vocabulary for 'Damage: Absorb'.
 Damage: Received:
 - Vocabulary for 'Damage: Received'.
 Damage: Dealt:
 - Vocabulary for 'Damage: Dealt'.
 Skill Types:
 - Vocabulary for 'Skill Types'.
 Weapon Types:
 - Vocabulary for 'Weapon Types'.
 Armor Types:
 - Vocabulary for 'Armor Types'.

---

Status Menu Categories

ElementStatusMenuCoreParams.png

ElementsStatusMenuCoreParams03.png

ElementsStatusMenuCoreParams03a.png

These Plugin Parameters allow you, the game dev, to add new categories to the Status Menu as you please, and change up how the information is found and displayed within the Status Menu. This will only apply if the Updated Status Menu Layout is enabled.

---

Category

 Symbol:
 - Symbol used for this category.
 Icon:
 - Icon used for this category.
 - Use 0 for no icon.
 Text:
 - Text name used for this category.
 JS: Draw Data:
 - Code used to determine what appears in the data window.

---

General Trait Set Settings

ElementStatusMenuCoreTraitSets.png

ElementsStatusMenuCoreParams04.png

Trait Sets are new properties added to RPG Maker MZ through this plugin. They're used to streamline the process of applying traits to actors and enemies through the database.

Instead of having to manually adjust the elemental rate of each enemy, you can now assign them to a Trait Set (through the Plugin Parameters) and then assign that Trait Set to an enemy or batch of enemies instead. This means that all enemies with <Element: Fire> would be weak and resistance to the same elements determined by the Elemental Fire Trait Set.

These Plugin Parameters adjust how Trait Sets are handled on a general scale within your game.

---

General

 Enable Trait Sets?:
 - Enable Trait Sets? This must be enabled for Trait Sets to have any kind
   of effect on battlers.
 Enemy Name Format:
 - Enemy name format on how Trait Sets affect how enemy names appear.
 - Choose from the list or customize it.
   - [name] [letter]
   - [element] [name] [letter]
   - [element] [subelement] [name] [letter]
   - [name][gender] [letter]
   - [race] [name][gender] [letter]
   - [alignment] [name][gender] [letter]
   - [blessing] [name][gender] [letter]
   - [curse] [name][gender] [letter]
   - [name][gender]([zodiac]) [letter]
   - [variant] [name][gender] [letter]
   - [variant] [nature] [name][gender] [letter]
   - [variant] [nature] [element] [name][gender] [letter]
   - [alignment] [variant] [nature] [element] [name][gender] [letter]
   - ...and more...

---

Trait Columns

 Column 1 Traits:
 Column 2 Traits:
 - List of the traits that appear in this column.
 - Used by default in the Properties category.

---

Trait Set Types

ElementsStatusMenuCoreVariants.png

ElementsStatusMenuCoreParams05.png

Trait Sets are new properties added to RPG Maker MZ through this plugin. They're used to streamline the process of applying traits to actors and enemies through the database.

Instead of having to manually adjust the elemental rate of each enemy, you can now assign them to a Trait Set (through the Plugin Parameters) and then assign that Trait Set to an enemy or batch of enemies instead. This means that all enemies with <Element: Fire> would be weak and resistance to the same elements determined by the Elemental Fire Trait Set.

There are 10 different types of Trait Set Types out there that you can assign to actors and enemies and they all work the same way, just under different categories.

---

ElementsStatusMenuCoreParams05a.png

Element

SubElement

Gender

Race

Nature

Alignment

Blessing

Curse

Zodiac

Variant

 Name:
 - Name of this Trait Set. Also used as a reference key
 Display Text:
 - How the Trait Set is displayed in game when selected.
 - Text codes are allowed.
 Help Description:
 - Help description for this Trait Set if required.
 Format Text:
 - The text that's added onto an enemy's name if this Trait Set is used.
 Valid for Random?:
 - Is this Trait Set valid for random selection?
 Random Weight:
 - Default weight of this Trait Set if valid for random.
 Traits:
 Element Rates:
 - The elemental damage rates received for this Trait Set.
 - The modifiers are multiplicative.
 Basic Parameters:
 - The basic parameter rates altered by this Trait set.
 - The modifiers are multiplicative.
 X Parameters:
 - The X parameter rates altered by this Trait set.
 - The modifiers are additive.
 S Parameters:
 - The S parameter rates altered by this Trait set.
 - The modifiers are multiplicative.
 Passive States:
 - Passive states that are applied to this Trait Set.
 - Requires VisuMZ_1_SkillsStatesCore.
 - Refer to VisuMZ_1_SkillsStatesCore's documentation for more details.
 Equipment:
 Weapon Types:
 - Additional weapon types usable by this Trait Set.
 Armor Types:
 - Additional armor types usable by this Trait Set.

---


Terms of Use

1. These plugins may be used in free or commercial games provided that they have been acquired through legitimate means at VisuStella.com and/or any other official approved VisuStella sources. Exceptions and special circumstances that may prohibit usage will be listed on VisuStella.com.

2. All of the listed coders found in the Credits section of this plugin must be given credit in your games or credited as a collective under the name: "VisuStella".

3. You may edit the source code to suit your needs, so long as you do not claim the source code belongs to you. VisuStella also does not take responsibility for the plugin if any changes have been made to the plugin's code, nor does VisuStella take responsibility for user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow custom JavaScript code.

4. You may NOT redistribute these plugins nor take code from this plugin to use as your own. These plugins and their code are only to be downloaded from VisuStella.com and other official/approved VisuStella sources. A list of official/approved sources can also be found on VisuStella.com.

5. VisuStella is not responsible for problems found in your game due to unintended usage, incompatibility problems with plugins outside of the VisuStella MZ library, plugin versions that aren't up to date, nor responsible for the proper working of compatibility patches made by any third parties. VisuStella is not responsible for errors caused by any user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow JavaScript code.

6. If a compatibility patch needs to be made through a third party that is unaffiliated with VisuStella that involves using code from the VisuStella MZ library, contact must be made with a member from VisuStella and have it approved. The patch would be placed on VisuStella.com as a free download to the public. Such patches cannot be sold for monetary gain, including commissions, crowdfunding, and/or donations.

7. If this VisuStella MZ plugin is a paid product, all project team members must purchase their own individual copies of the paid product if they are to use it. Usage includes working on related game mechanics, managing related code, and/or using related Plugin Commands and features. Redistribution of the plugin and/or its code to other members of the team is NOT allowed unless they own the plugin itself as that conflicts with Article 4.

8. Any extensions and/or addendums made to this plugin's Terms of Use can be found on VisuStella.com and must be followed.

Terms of Use: Japanese


『VisuStella MZ』利用規約

1. これらのプラグインは、VisuStella.comおよび/または公式に承認されたVisuStellaのソースから合法的な手段で入手したものである限り、フリーゲームや商用ゲームに使用することができます。例外的に使用が禁止される場合については、VisuStella.comの記載をご確認ください。

2. 本プラグインの「クレジット」部分に記載されているすべてのコーダーの名前は、ゲーム内にクレジット表記を行うか、もしくは「VisuStella」という名前の下にまとめて表記する必要があります。

3. ソースコードを自分のものだと主張しない限りは、必要に応じて編集することが可能です。ただしプラグインのコードに変更が加えられた場合、VisuStellaはそのプラグインに対して一切の責任を負いません。高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードについても、VisuStellaは一切の責任を負いません。

4. これらのプラグインやプラグイン内のコードを、「自分のもの」として再配布したり使用したりすることはできません。これらのプラグインとそのコードは、VisuStella.comおよび、その他の公式/承認済みVisuStellaソースからのみダウンロードすることができます。公式/承認済みのソースのリストは、VisuStella.comでご確認いただけます。

5. VisuStellaは、意図しない使用方法による問題、VisuStella MZライブラリ以外のプラグインとの非互換性の問題、プラグインのバージョンが最新でないことによる問題、第三者による互換性パッチが適切に動作していないことなどが原因でゲーム内で発生した問題については、一切の責任を負いません。VisuStellaは、高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードに起因するエラーについても、一切の責任を負いません。

6. VisuStella MZライブラリのコードを使用した互換性パッチをVisuStellaとは関係のない第三者を通じて作成する必要がある場合は、まずVisuStellaのメンバーと連絡を取り、承認を得る必要があります。パッチはVisuStella.comに公開され、誰でも無料でダウンロードすることができるようになります。このようなパッチを、制作発注やクラウドファンディングの対象にしたり、寄付などの金銭的な利益を得るために販売することはできません。

7. このVisuStella MZプラグインが商用製品である場合、プロジェクトチームのすべてのメンバーは、それを使用するため、それぞれ製品を購入しなければなりません。使用方法には、関連するゲームメカニクスの作業、関連するコードの管理、および/または関連するプラグインコマンドや機能の使用、が含まれます。プラグインそのものやそのコードをチームの他のメンバーに再配布することは第4項に抵触するため、そのメンバーがプラグインそのものを所有していない限りは許可されません。

8. このプラグインの利用規約の追加項目や補足については、VisuStella.comに掲載されていますので、それを参照し従ってください。

Credits

If you are using this plugin, credit the following people in your game:

Team VisuStella

Changelog

Version 1.23: November 16, 2023

  • Documentation Update!
    • Help file updated for new features.
  • New Features!
    • New notetags added by Arisu:
      • <Damage vs name Trait: x%>
      • <Healing vs name Trait: x%>
      • <Accuracy VS name Trait: x%>
      • <Critical VS name Trait: x%>
        • New notetags that enhance actions and trait objects to augment damage, healing, accuracy, and critical hit rates against targets with specific trait sets.
    • New script calls added by Arisu:
      • battler.hasTraitSet(typeName)
        • This will check all 10 trait set categories (elements, subelements, gender, race, nature, alignment, blessing, curse, zodiac, variant) and if any of them match, this will return 'true'. If not, returns 'false'.


Version 1.22: May 18, 2023

  • Bug Fixes!
    • Fixed a bug that prevented "max" element rate rulings to disable element absorption. Fix made by Arisu.


Version 1.21: March 16, 2023

  • Compatibility Update!
    • Added compatibility functionality for future plugins.


Version 1.20: February 16, 2023

  • Compatibility Update!
    • Added compatibility functionality for future plugins.


Version 1.19: January 20, 2023

  • Documentation Update!
    • Help file updated for new features.
  • New Notetags added by Olivia and sponsored by Anon:
    • Trait Object Notetag: <Element Pierce: x,x,x>
      • Gives the unit the ability to attack with the element and bypass any kinds of damage immunities, reflections, and absorptions. Actions can still miss or be countered, however.
    • Action Object Notetag: <Element Pierce>
      • Makes this skill/item bypass any kinds of damage immunities, reflections, and absorptions. Action can still miss or be countered.


Version 1.18: August 18, 2022

  • Feature Update!
    • When enemy traits are changed, their visuals will reflect the change. Update made by Arisu.


Version 1.17: April 28, 2022

  • Bug Fixes!
    • Fixed a problem with certain trait affinities ignoring zero values. Fix made by Olivia.


Version 1.16: October 14, 2021

  • Compatibility Update!
    • Those using the updated layout of the Status Menu will now have the windows inherit the background type of the previous layout's Status Window Background Type from the Core Engine settings. Update by Irina.


Version 1.15: July 23, 2021

  • Bug Fixes!
    • Fixed trait blessing calculations for X Parameters to make more sense and not snuff out if the base value is 0%. Fix made by Arisu.


Version 1.14: May 28, 2021

  • Bug Fixes!
    • Added fail safe to prevent passive state melding from traits to crash the game when cache fails to collect data. Fix by Irina.


Version 1.13: May 21, 2021

  • Documentation Update
    • Added for Trait "Passive States" section:
      • Refer to VisuMZ_1_SkillsStatesCore's documentation for more details.


Version 1.12: April 30, 2021

  • Bug Fixes!
    • When changing traits to a random value, load up any passive states and other effects that may have changed. Fix made by Arisu.


Version 1.11: February 26, 2021

  • Optimization Update!
    • Plugin should run more optimized.


Version 1.10: January 29, 2021

  • Bug Fixes!
    • <Multi-Element: x> notetags should now work properly. Fix made by Olivia.
  • Documentation Update!
    • Help file updated for new features.
  • New Features!
    • New notetag added by Irina:
      • <Equip Trait Requirement: name>
        • Makes this piece of equipment equippable by only actors with those traits. If there are multiple traits required, all of them have to be met. If multiple trait types share the same trait name, the listed name will count for all of them.
        • Usage Example: <Equip Trait Requirement: Female> makes the item only equippable by female actors as long as they are tagged as female.
    • New Plugin Parameters added by Irina and sponsored by AndyL.
      • Status Menu Settings > Elements > IDs: Column 1 added
      • Status Menu Settings > Elements > IDs: Column 2 added
        • The list of element ID's to show in column 1/2.
        • If neither column has ID's, list all elements.
          • If you do not update the drawn JS found in the Status Menu Categories Plugin Parameters, these new settings won't do anything.
  • Feature Update!
    • Plugin Parameter updates made by Irina and sponsored by AndyL.
      • Status Menu Categories > Parameters updated
        • Default draw options now have a slightly thicker padding to make the parameter values easier to read.
      • Status Menu Categories > Elements updated
        • Default draw options now factor in multiple columns as applied by the new plugin parameters above.
      • Status Menu Categories > Access updated
        • Skill Types, Weapon Types, and Armor Types are now centered in the various data columns to allow for better reading.
    • Default settings have been added to the Plugin Parameters. If you want to acquire these settings for an already-existing project, do either of the following:
      • Delete the existing VisuMZ_1_ElementStatusCore.js in the Plugin Manager list and install the newest version.
      • Or create a new project, install VisuMZ_1_ElementStatusCore.js there, then copy over the "Status Menu Categories" parameters found in the Plugin Parameters to your current project.


Version 1.09: January 8, 2021

  • Bug Fixes!
    • Default "JS: Draw Data" code for Plugin Parameters > Status Menu Categories > Elements has been updated to account for Trait Type visibility for both Element and Sub-Element. This won't update normally as it is a part of the Plugin Parameters. You will need to either delete the reinstall the plugin into the Plugin Manager list or copy and paste the Status Menu Categories plugin parameters from a fresh install. Fix made by Irina.


Version 1.08: November 29, 2020

  • Bug Fixes!
    • Trait Set bonuses for X Parameters and S Parameters no longer increase exponentially with each other. Fix made by Arisu.


Version 1.07: November 8, 2020

  • Compatibility Update!
    • Plugins should be more compatible with one another.


Version 1.06: October 18, 2020

  • Compatibility Update!
    • Plugins should be more compatible with one another.
  • Documentation Update
    • "Use Updated Layout" plugin parameters now have the added clause: "This will override the Core Engine windows settings." to reduce confusion. Added by Yanfly.


Version 1.05: October 4, 2020

  • Bug Fixes!
    • Main Menu Portraits are now forced to pre-load prior to entering the Status Menu scene to ensure images will properly appear. Fix made by Irina.


Version 1.04: September 20, 2020

  • Bug Fixes!
    • The "Column 1 and 2 Traits" plugin parameters for "General Trait Set" should now work. You will need to readjust them again. Fix by Arisu.
    • The "Elements" Status Menu Categories tab has its "JS: Draw Data" updated to display the percentages properly for Dealt Damage bonuses. This won't update normally as it's a part of the plugin parameters. You would need to do either a fresh install, copy from the sample project, or change the code bit yourself. To change to code bit, look for this:
     let dealtText = '%1%'.format(dealt);

and change it to:

     let dealtText = '%1%'.format(Math.round(dealt * 100));

Fix made by Irina.


Version 1.03: September 6, 2020

  • Documentation Update!
    • <Dealt Element id Flat: +x%> notetag gets a more indepth explanation.
      • This does not add on flat bonus damages after calculating elemental rates. This merely adds onto it at the end after applying rates if the formula from above is unchanged.
  • New Features!
    • New Plugin Parameters added in Status Menu Settings for disabling the back rectangles and/or changing their colors.


Version 1.02: August 30, 2020

  • Bug Fixes!
    • Trait Set bonuses for X Parameters and S Parameters now show up properly in the Status Menu. Fix made by Yanfly.
    • Trait Set Sideview Battler Solo Weapon and Solo Motion notetags are now fixed to register properly with Battle Core. Fix made by Shaz.


Version 1.01: August 23, 2020

  • Bug Fixes!
    • Passive states now work with Skills & States Core. Fix made by Yanfly.
    • Fixed S parameters not working. Fix made by Yanfly.


Version 1.00: August 20, 2020

  • Finished Plugin!

See Also


End of File