Template:VisuMZ Battle AI Notetags

From Yanfly.moe Wiki
Jump to navigation Jump to search

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.

General A.I. Settings Notetags

These notetags set the general A.I. related settings for enemies and any actors that use A.I. (requires Auto Battle and has a reference A.I.).

---

BattleAI Styles.png

<AI Style: x>

- Used for: Class, Enemy Notetags
- Replace 'x' with 'Classic', 'Gambit', 'Casual', or 'Random' without the
  quotes. Example: <AI Style: Gambit>
- Determines the A.I. style used. Refer to the A.I. Styles section on the
  various types of styles.
- For actors, place this inside the associated class's notebox instead.
- For actors, this does not apply if there is no referenced enemy A.I. list.
- Setup the reference enemy through either the Plugin Parameters or by using
  the <Reference AI: Enemy id> notetag found below.

---

BattleAI Levels.png

<AI Level: x>

- Used for: Actor, Enemy Notetags
- Designates the unit's A.I. level if A.I. is to be used.
- Replace 'x' with a number from 0 to 100.
- Units with higher A.I. Levels will be more strict about conditions.
- Units with lower A.I. Levels will be more lax about conditions.

---

<AI Rating Variance: x>

- Used for: Actor, Enemy Notetags
- Sets the variance amount when determining A.I. actions by rating.
- Replace 'x' with a number between 0 and 9.
- 0 for no variance.
- Lower numbers for less variance.
- Higher numbers for more variance.

---

BattleAI Reference.png

<Reference AI: Enemy id>
<Reference AI: name>

- Used for: Class Notetags
- Causes any actor using this class that has the Auto Battle trait to use
  a specific enemy's attack pattern (ratings, conditions, etc.) to determine
  which skill to use in battle.
- Replace 'id' with a number representing the enemy's ID to reference.
- Replace 'name' with the name the enemy to reference.
- Actors are only able to use skills they would normally have access to.
  - Actors need to have LEARNED the skill.
  - Actors need to be able to access the skill's SKILL TYPE.
  - Actors need to have the RESOURCES to pay for the skill.
- If you cannot figure out why an auto battle actor cannot use a
  specific skill, turn OFF auto battle and see if you can use the skill
  normally.

---

<No Reference AI>

- Used for: Class Notetags
- Prevents the class from using any enemies as their reference A.I. pattern
  (including the one set in the Plugin Parameters).

---

Skill A.I. Condition Notetags

Insert these notetags into the noteboxes of skills that you'd like to give custom A.I. conditions for. The 'All' version of the notetags require every condition to be met while the 'Any' version of the notetags require only one of the conditions to be met.

If both are used together, then the 'All' conditions must be completely fulfilled while the 'Any' conditions need only one to be fulfilled.

---

BattleAI Params2.png

<All AI Conditions>
 condition
 condition
 condition
</All AI Conditions>

- Used for: Skill
- Add/remove as many conditions as needed for the skill.
- All conditions must be met in order for this to become a valid skill for
  the AI to use.
- This can be used together with <Any AI Conditions>. If either of these
  notetags exist, do not use the Plugin Parameter defaul conditions.
- This will not inherit default 'All' conditions in the Plugin Parameters.
- Replace 'condition' with any of the following Condition List below.

---

<Any AI Conditions>
 condition
 condition
 condition
</Any AI Conditions>

- Used for: Skill
- Add/remove as many conditions as needed for the skill.
- As long as one condition is met, this becomes a valid skill for the AI
  to use. If none of them are met, this skill becomes invalid for AI use.
- This can be used together with <All AI Conditions>. If either of these
  notetags exist, do not use the Plugin Parameter defaul conditions.
- This will not inherit default 'Any' conditions in the Plugin Parameters.
- Replace 'condition' with any of the following Condition List below.

---

<No AI Conditions>

- Used for: Skill
- Removes any default 'All' and 'Any' conditions for this skill.

---

Condition List

BattleAI Params2.png

Replace 'condition' in the notetags in the above section with any of the following to make conditions. These conditions are also used in the Plugin Parameters for the default conditions, too.

---

x >= y
x > y
x === y
x !== y
x < y
x <= y

- Replace 'x' and 'y' with any of the following:

- A numeric value representing a hard number.
- '50%' or any other percentile number to represent a rate.
- '0.5' or any other float number to represent a rate.

- 'Variable x' (replace 'x' with a number) for variable x's current value.

- 'HP%', 'MP%', 'TP%' for HP, MP, and TP rates respectively.
- 'MaxHP', 'MaxMP', 'MaxTP' for the potential target's respective values.
- 'Level' for the potential target's level. Requires VisuMZ_0_CoreEngine for
  this to affect enemies.
- 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK' for the potential target's total
  parameter value.

- 'param Buff Stacks' for the potential target's current Buff stacks.
  - Replace 'param' with 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK'
- 'param Debuff Stacks' for the potential target's current Debuff stacks.
  - Replace 'param' with 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK'

- 'param Buff Turns' for potential target's current buff turn duration.
  - Replace 'param' with 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK'
  - Returns 0 if the potential target is not affected by that buff.
- 'param Debuff Turns' for potential target's current debuff turn duration.
  - Replace 'param' with 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK'
  - Returns 0 if the potential target is not affected by that debuff.

- 'State id Turns' or 'State name Turns' for potential target's current turn
  duration on that particular state.
  - Replace 'id' with a number representing the ID of the state.
  - Replace 'name' with the state's name.
  - Returns 0 if the potential target is not affected by that state.
  - Returns the max safe number value if the potential target is has that
    state as a passive state.

- 'Element id Rate', 'Element name Rate', 'name Element Rate'
  - Returns a (float) value of the potential target's element's rate.
  - Replace 'id' with the ID of the element whose rate is to be checked.
  - Replace 'name' with the name of the element whose rate is to be checked.
    - Ignore any text codes in the element name.

- 'Team Alive Members'
  - Returns a number value indicating how many alive members there are on
    the potential target's team.

- 'Team Dead Members'
  - Returns a number value indicating how many dead members there are on
    the potential target's team.

- When no keyword matches are found, the comparison value will be
  interpreted as JavaScript code. If the JavaScript code fails, it will
  default to a 0 value.

  *NOTE* JavaScript cannot be used without comparison operators to reduce
  error. This means if you want to check if a switch is on or not, don't
  simply use "$gameSwitches.value(42)" as it does not have any comparison
  operators. Instead, use "$gameSwitches.value(42) === true" to check.

  *NOTE* To make any of these conditions base off of the user instead, add
  the word 'user' before the condition as such:

  user hp% >= 0.50
  user atk buff stacks === 2
  user team alive members < 3

---

Always

- Going to be valid no matter what.

---

x% Chance

- Replace 'x' with a number value representing the percent chance this skill
  would pass as valid.

---

Switch x On
Switch x Off

- Replace 'x' with the ID of the switch to check as ON/OFF.

---

User is Actor
User is Enemy
Target is Actor
Target is Enemy

- Requires the user or potential target to be an actor/enemy.

---

User Has State id
User Has State name
Target Has State id
Target Has State name

- Replace 'id' with the ID of the state the user or potential target needs
  to have.
- Replace 'name' with the name of the state the target needs to have.

---

User Not State id
User Not State name
Target Not State id
Target Not State name

- Replace 'id' with the ID of the state the user or potential target
  cannot have.
- Replace 'name' with the name of the state the target cannot have.

---

User Has param Buff
User Has param Debuff
Target Has param Buff
Target Has param Debuff

- Requires user or potential target to have the associated parameter
  buff/debuff at any stack level.
- Replace 'param' with 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK'

---

User Has param Max Buff
User Has param Max Debuff
Target Has param Max Buff
Target Has param Max Debuff

- Requires potential user or target to have the associated parameter
  buff/debuff at maxed out stacks.
- Replace 'param' with 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK'

---

User Not param Buff
User Not param Debuff
Target Not param Buff
Target Not param Debuff

- Requires user or potential target to not have the associated parameter
  buff/debuff at any stack level.
- Replace 'param' with 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK'

---

User Not param Max Buff
User Not param Max Debuff
Target Not param Max Buff
Target Not param Max Debuff

- Requires user or potential target to not have the associated parameter
  buff/debuff at maxed out stacks.
- Replace 'param' with 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK'

---

A.I. => TGR Weight Notetags

BattleAI Params3.png

You can set how much influence on TGR weights actors and enemies will place when determining valid targets for their actions.

---

<AI Element Rate Influence: x.x>

- Used for: Actor, Enemy Notetags
- Sets how much TGR weight influence is given based on the element rate.
- Replace 'x.x' with a numberic value representing the influence rate.

---

<Bypass AI Element Rate Influence>

- Used for: Actor, Enemy Notetags
- Makes the actor/enemy not factor in element rates when calculating TGR
  weights to determine action targets.

---

<AI EVA Influence: x.x>

- Used for: Actor, Enemy Notetags
- Sets how much TGR weight influence is given based on the EVA rate.
- Replace 'x.x' with a numberic value representing the influence rate.

---

<Bypass AI EVA Influence>

- Used for: Actor, Enemy Notetags
- Makes the actor/enemy not factor in EVA rates when calculating TGR
  weights to determine action targets.

---

<AI MEV Influence: x.x>

- Used for: Actor, Enemy Notetags
- Sets how much TGR weight influence is given based on the MEV rate.
- Replace 'x.x' with a numberic value representing the influence rate.

---

<Bypass AI MEV Influence>

- Used for: Actor, Enemy Notetags
- Makes the actor/enemy not factor in MEV rates when calculating TGR
  weights to determine action targets.

---