//=============================================================================
// VisuStella MZ - Battle Core
// VisuMZ_1_BattleCore.js
//=============================================================================

var Imported = Imported || {};
Imported.VisuMZ_1_BattleCore = true;

var VisuMZ = VisuMZ || {};
VisuMZ.BattleCore = VisuMZ.BattleCore || {};
VisuMZ.BattleCore.version = 1.82;

//=============================================================================
 /*:
 * @target MZ
 * @plugindesc [RPG Maker MZ] [Tier 1] [Version 1.82] [BattleCore]
 * @author VisuStella
 * @url http://www.yanfly.moe/wiki/Battle_Core_VisuStella_MZ
 * @orderAfter VisuMZ_0_CoreEngine
 *
 * @help
 * ============================================================================
 * Introduction
 * ============================================================================
 *
 * The Battle Core plugin revamps the battle engine provided by RPG Maker MZ to
 * become more flexible, streamlined, and support a variety of features. The
 * updated battle engine allows for custom Action Sequences, battle layout
 * styles, and a lot of control over the battle mechanics, too.
 *
 * Features include all (but not limited to) the following:
 * 
 * * Action Sequence Plugin Commands to give you full control over what happens
 *   during the course of a skill or item.
 * * Animated Sideview Battler support for enemies!
 * * Auto Battle options for party-wide and actor-only instances.
 * * Base Troop Events to quickly streamline events for all Troop events.
 * * Battle Command control to let you change which commands appear for actors.
 * * Battle Layout styles to change the way the battle scene looks.
 * * Casting animation support for skills.
 * * Critical Hit control over the success rate formula and damage multipliers.
 * * Custom target scopes added for skills and items.
 * * Damage formula control, including Damage Styles.
 * * Damage caps, both hard caps and soft caps.
 * * Damage traits such Armor Penetration/Reduction to bypass defenses.
 * * Elements & Status Menu Core support for traits.
 * * Multitude of JavaScript notetags and global Plugin Parameters to let you
 *   make a variety of effects across various instances during battle.
 * * Party Command window can be skipped/disabled entirely.
 * * Weather effects now show in battle.
 * * Streamlined Battle Log to remove redundant information and improve the
 *   flow of battle.
 * * Visual HP Gauges can be displayed above the heads of actors and/or enemies
 *   with a possible requirement for enemies to be defeated at least once first
 *   in order for them to show.
 *
 * ============================================================================
 * 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 library.
 *
 * ============================================================================
 * Major Changes
 * ============================================================================
 *
 * This plugin will overwrite some core parts of the RPG Maker MZ base code in
 * order to ensure the Battle Core plugin will work at full capacity. The
 * following are explanations of what has been changed.
 *
 * ---
 *
 * Action Sequences
 *
 * - Action sequences are now done either entirely by the Battle Log Window or
 * through common events if the <Custom Action Sequence> notetag is used.
 * In RPG Maker MZ by default, Action Sequences would be a mixture of using the
 * Battle Log Window, the Battle Manager, and the Battle Scene, making it hard
 * to fully grab control of the situation.
 *
 * ---
 *
 * Action Speed
 *
 * - Action speeds determine the turn order in the default battle system. The
 * AGI of a battle unit is also taken into consideration. However, the random
 * variance applied to the action speed system makes the turn order extremely
 * chaotic and hard for the player to determine. Thus, the random variance
 * aspect of it has been turned off. This can be reenabled by default through
 * Plugin Parameters => Mechanics Settings => Allow Random Speed?
 *
 * ---
 *
 * Animated Sideview Battler Support For Enemies
 *
 * - Enemies can now use Sideview Actor sprites for themselves! They will
 * behave like actors and can even carry their own set of weapons for physical
 * attacks. These must be set up using notetags. More information can be found
 * in the notetag section.
 *
 * - As the sprites are normally used for actors, some changes have been made
 * to Sprite_Actor to be able to support both actors and enemies. These changes
 * should have minimal impact on other plugins.
 *
 * ---
 *
 * Battle Sprite Updates
 *
 * - A lot of functions in Sprite_Battler, Sprite_Actor, and Sprite_Enemy have
 * been overwritten to make the new Action Sequence system added by this plugin
 * possible. These changes make it possible for the sprites to move anywhere on
 * the screen, jump, float, change visibility, and more.
 *
 * ---
 *
 * Change Battle Back in Battle
 * 
 * - By default, the Change Battle Back event command does not work in battle.
 * Any settings made to it will only reflect in the following battle. Now, if
 * the battle back event command is used during battle, it will reflect upon
 * any new changes immediately.
 *
 * ---
 *
 * Critical Hit - LUK Influence
 *
 * - The LUK Buffs now affect the critical hit rate based off how the formula
 * is now calculated. Each stack of a LUK Buff will double the critical hit
 * rate and compound upon that. That means a x1 LUK Buff stack will raise it by
 * x2, a x2 LUK Buff stack will raise the critical hit rate by x4, a x3 LUK
 * Buff Stack will raise the critical hit rate stack by x8, and so on.
 *
 * - LUK also plays a role in how much damage is dealt with critical hits. The
 * default critical hit multiplier has been reduced from x3 to x2. However, a
 * percentage of LUK will added on (based off the user's CRI rate) onto the
 * finalized critical damage. If the user's CRI rate is 4%, then 4% of the user
 * LUK value will also be added onto the damage.
 *
 * - This change can be altered through Plugin Parameters => Damage Settings =>
 * Critical Hits => JS: Rate Formula and JS: Damage Formula.
 *
 * ---
 * 
 * Damage Popups
 * 
 * - Damage popups are now formatted with + and - to determine healing and
 * damage. MP Damage will also include "MP" at the back. This is to make it
 * clearer what each colored variant of the damage popup means as well as help
 * color blind players read the on-screen data properly.
 * 
 * - Damage popups have also been rewritten to show all changed aspects instead
 * of just one. Previously with RPG Maker MZ, if an action would deal both HP
 * and MP damage, only one of them would show. Now, everything is separated and
 * both HP and MP changes will at a time.
 * 
 * ---
 * 
 * Dual Wielding
 * 
 * - Previously, RPG Maker MZ had "Dual Wielding" attack using both weapon
 * animations at once, with the combined ATK of each weapon. It's confusing to
 * look at and does not portray the nature of "Dual Wielding".
 * 
 * - Dual Wielding, or in the case of users adding in third and fourth weapons,
 * Multi Wielding is now changed. Each weapon is displayed individually, each
 * producing its own attack animation, showing each weapon type, and applying
 * only that weapon's ATK, Traits, and related effects. It is no longer a
 * combined effect to display everything at once like RPG Maker MZ default.
 * 
 * - If an actor has multiple weapon slots but some of them are unequipped,
 * then the action will treat the attack as a single attack. There will be no
 * barehanded attack to add on top of it. This is to match RPG Maker MZ's
 * decision to omit a second animation if the same scenario is applied.
 * 
 * ---
 *
 * Force Action
 *
 * - Previously, Forced Actions would interrupt the middle of an event to
 * perform an action. However, with the addition of more flexible Action
 * Sequences, the pre-existing Force Action system would not be able to exist
 * and would require being remade.
 *
 * - Forced Actions now are instead, added to a separate queue from the action
 * battler list. Whenever an action and/or common event is completed, then if
 * there's a Forced Action battler queued, then the Forced Action battler will
 * have its turn. This is the cleanest method available and avoids the most
 * conflicts possible.
 *
 * - This means if you planned to make cinematic sequences with Forced Actions,
 * you will need to account for the queued Force Actions. However, in the case
 * of battle cinematics, we would highly recommend that you use the newly added
 * Action Sequence Plugin Commands instead as those give you more control than
 * any Force Action ever could.
 *
 * ---
 *
 * Random Scope
 *
 * - The skill and item targeting scopes for Random Enemy, 2 Random Enemies,
 * 3 Random Enemies, 4 Random Enemies will now ignore TGR and utilize true
 * randomness.
 *
 * ---
 *
 * Spriteset_Battle Update
 *
 * - The spriteset now has extra containers to separate battlers (actors and
 * enemies), animations, and damage. This is to make actors and enemy battler
 * sprites more efficient to sort (if enabled), so that animations won't
 * interfere with and cover damage sprites, and to make sure damage sprites are
 * unaffected by screen tints in order to ensure the player will always have a
 * clear read on the information relaying sprites.
 *
 * ---
 * 
 * TPB/ATB Active Battle Actor Shifting
 * 
 * - Pressing cancel on the Actor Command Window no longer switches between
 * actors with a full TPB/ATB gauge before reaching the Party Command Window.
 * This is to accomplish a couple of things: 1) reduce the number of button
 * presses to reach the Party Command Window and 2) to prevent motion resets
 * and disrupting action sequences. If this feature is vital to your battle
 * system, we recommend that you do not use this plugin or any of the Battle
 * Core-required plugins.
 * 
 * ---
 *
 * Weather Displayed in Battle
 *
 * - Previously, weather has not been displayed in battle. This means that any
 * weather effects placed on the map do not transfer over to battle and causes
 * a huge disconnect for players. The Battle Core plugin will add weather
 * effects to match the map's weather conditions. Any changes made to weather
 * through event commands midway through battle will also be reflected.
 *
 * ---
 *
 * ============================================================================
 * Base Troops
 * ============================================================================
 *
 * Base Troops can be found, declared, and modified in the Plugin Parameters =>
 * Mechanics Settings => Base Troop ID's. All of the listed Troop ID's here
 * will have their page events replicated and placed under all other troops
 * found in the database.
 *
 * ---
 *
 * This means that if you have an event that runs on Turn 1 of a Base Troop,
 * then for every troop out there, that same event will also run on Turn 1,
 * as well. This is useful for those who wish to customize their battle system
 * further and to reduce the amount of work needed to copy/paste said event
 * pages into every database troop object manually.
 *
 * ---
 *
 * ============================================================================
 * Damage Styles
 * ============================================================================
 *
 * Damage Styles are a new feature added through the Battle Core plugin. When
 * using certain Battle Styles, you can completely ignore typing in the whole
 * damage formula inside the damage formula input box, and instead, insert
 * either a power amount or a multiplier depending on the Damage Style. The
 * plugin will then automatically calculate damage using that value factoring
 * in ATK, DEF, MAT, MDF values.
 *
 * ---
 *
 * Here is a list of the Damage Styles that come with this plugin by default.
 * You can add in your own and even edit them to your liking.
 * Or just remove them if you want.
 *
 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 * Style          Use Formula As   PH/MA Disparity   Stat Scale   Damage Scale
 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 * Standard       Formula          No                Varies       Varies
 * ArmorScaling   Formula          No                Varies       Varies
 * CT             Multiplier       Yes               Low          Normal
 * D4             Multiplier       No                High         Normal
 * DQ             Multiplier       No                Low          Low
 * FF7            Power            Yes               Low          High
 * FF8            Power            Yes               Medium       Normal
 * FF9            Power            Yes               Low          Normal
 * FF10           Power            Yes               Medium       High
 * MK             Multiplier       No                Medium       Low
 * MOBA           Multiplier       No                Medium       Normal
 * PKMN           Power            No                Low          Normal
 *
 * Use the above chart to figure out which Damage Style best fits your game,
 * if you plan on using them.
 *
 * The 'Standard' style is the same as the 'Manual' formula input, except that
 * it allows for the support of <Armor Penetration> and <Armor Reduction>
 * notetags.
 *
 * The 'Armor Scaling' style allows you to type in the base damage calculation
 * without the need to type in any defending modifiers.
 *
 * NOTE: While these are based off the damage formulas found in other games,
 * not all of them are exact replicas. Many of them are adapted for use in
 * RPG Maker MZ since not all RPG's use the same set of parameters and not all
 * external multipliers function the same way as RPG Maker MZ.
 * 
 * ---
 *
 * Style:
 * - This is what the Damage Style is.
 *
 * Use Formula As:
 * - This is what you insert into the formula box.
 * - Formula: Type in the formula for the action just as you would normally.
 * - Multiplier: Type in the multiplier for the action.
 *     Use float values. This means 250% is typed out as 2.50
 * - Power: Type in the power constant for the action.
 *     Use whole numbers. Type in something like 16 for a power constant.
 * 
 * PH/MA Disparity:
 * - Is there a disparity between how Physical Attacks and Magical Attacks
 *   are calculated?
 * - If yes, then physical attacks and magical attacks will have different
 *   formulas used.
 * - If no, then physical attacks and magical attacks will share similar
 *   formulas for how they're calculated.
 *
 * Stat Scale:
 * - How much should stats scale throughout the game?
 * - Low: Keep them under 100 for the best results.
 * - Medium: Numbers work from low to mid 400's for best results.
 * - High: The numbers really shine once they're higher.
 *
 * Damage Scale:
 * - How much does damage vary depending on small parameter changes?
 * - Low: Very little increase from parameter changes.
 * - Normal: Damage scales close to proportionally with parameter changes.
 * - High: Damage can boost itself drastically with parameter changes.
 *
 * ---
 *
 * To determine what kind of parameters are used for the Damage Styles, they
 * will depend on two things: the action's 'Hit Type' (ie Physical Attack,
 * Magical Attack, and Certain Hit) and the action's 'Damage Type' (ie. Damage,
 * Recovery, or Drain).
 *
 * Certain Hit tends to use whichever value is higher: ATK or MAT, and then
 * ignores the target's defense values. Use Certain Hits for 'True Damage'.
 *
 * Use the chart below to figure out everything else:
 * 
 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 * Hit Type      Damage Type   Attacker Parameter   Defender Parameter
 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 * Physical      Damage        ATK                  DEF
 * Magical       Damage        MAT                  MDF
 * Certain Hit   Damage        Larger (ATK, MAT)    -Ignores-
 * Physical      Recover       DEF                  -Ignores-
 * Magical       Recover       MDF                  -Ignores-
 * Certain Hit   Recover       Larger (ATK, MAT)    -Ignores-
 * Physical      Drain         ATK                  DEF
 * Magical       Drain         MAT                  MDF
 * Certain Hit   Drain         Larger (ATK, MAT)    -Ignores-
 *
 * These can be modified within the Plugin Parameters in the individual
 * Damage Styles themselves.
 *
 * ---
 *
 * Skills and Items can use different Damage Styles from the setting you've
 * selected in the Plugin Parameters. They can be altered to have different
 * Damage Styles through the usage of a notetag:
 *
 * <Damage Style: name>
 *
 * This will use whichever style is found in the Plugin Parameters.
 *
 * If "Manual" is used, then no style will be used and all calculations will be
 * made strictly based off the formula found inside the formula box.
 *
 * ---
 *
 * ============================================================================
 * VisuStella MZ Compatibility
 * ============================================================================
 *
 * While this plugin is compatible with the majority of the VisuStella MZ
 * plugin library, it is not compatible with specific plugins or specific
 * features. This section will highlight the main plugins/features that will
 * not be compatible with this plugin or put focus on how the make certain
 * features compatible.
 *
 * ---
 * 
 * VisuMZ_1_BattleCore
 * 
 * When using Action Sequences, Boost effects for damage, turn extensions,
 * analyze, etc. will not occur for anything other than the Action Sequence:
 * "MECH: Action Effect" in order to maintain controlled effects. However, if
 * you do want to apply bonuses for Boosts, utilize "MECH: Boost Store Data" to
 * store inside a variable how many times Boosts were used. This can be used
 * however which way you want it to as long as it is manageable through events
 * and Common Events.
 * 
 * ---
 *
 * ============================================================================
 * Notetags
 * ============================================================================
 *
 * 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.
 * 
 * === HP Gauge-Related Notetags ===
 * 
 * The following notetags allow you to set whether or not HP Gauges can be
 * displayed by enemies regardless of Plugin Parameter settings.
 * 
 * ---
 *
 * <Show HP Gauge>
 *
 * - Used for: Enemy Notetags
 * - Will always show the HP Gauge for the enemy regardless of the defeat
 *   requirement setting.
 * - This does not bypass the player's Options preferences.
 * - This does not bypass disabling enemy HP Gauges as a whole.
 * 
 * ---
 *
 * <Hide HP Gauge>
 *
 * - Used for: Enemy Notetags
 * - Will always hide the HP Gauge for the enemy regardless of the defeat
 *   requirement setting.
 * - This does not bypass the player's Options preferences.
 * 
 * ---
 * 
 * <Battle UI Offset: +x, +y>
 * <Battle UI Offset: -x, -y>
 * 
 * <Battle UI Offset X: +x>
 * <Battle UI Offset X: -x>
 * 
 * <Battle UI Offset Y: +y>
 * <Battle UI Offset Y: -y>
 * 
 * - Used for: Actor and Enemy Notetags
 * - Adjusts the offset of HP Gauges and State Icons above the heads of actors
 *   and enemies.
 * - Replace 'x' with a number value that offsets the x coordinate.
 * - Negative x values offset left. Positive x values offset right.
 * - Replace 'y' with a number value that offsets the y coordinate.
 * - Negative y values offset up. Positive x values offset down.
 * 
 * ---
 *
 * === Animation-Related Notetags ===
 *
 * The following notetags allow you to set animations to play at certain
 * instances and/or conditions.
 *
 * ---
 *
 * <Slip Animation: x>
 *
 * - Requires VisuMZ_0_CoreEngine!
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - During the phase at which the user regenerates HP, MP, or TP, this
 *   animation will play as long as the user is alive and visible.
 * - Replace 'x' with a number value representing the Animation ID to play.
 *
 * ---
 *
 * <Cast Animation: x>
 *
 * - Used for: Skill Notetags
 * - Plays a battle animation at the start of the skill.
 * - Replace 'x' with a number value representing the Animation ID to play.
 *
 * ---
 *
 * <Attack Animation: x>
 *
 * - Used for: Enemy Notetags
 * - Gives an enemy an attack animation to play for its basic attack.
 * - Replace 'x' with a number value representing the Animation ID to play.
 *
 * ---
 *
 * === Battleback-Related Notetags ===
 *
 * You can apply these notetags to have some control over the battlebacks that
 * appear in different regions of the map for random or touch encounters.
 *
 * ---
 *
 * <Region x Battleback1: filename>
 * <Region x Battleback2: filename>
 * 
 * - Used for: Map Notetags
 * - If the player starts a battle while standing on 'x' region, then the
 *   'filename' battleback will be used.
 * - Replace 'x' with a number representing the region ID you wish to use.
 * - Replace 'filename' with the filename of the graphic to use. Do not insert
 *   any extensions. This means the file 'Castle1.png' will be only inserted
 *   as 'Castle1' without the '.png' at the end.
 * - *NOTE: This will override any specified battleback settings.
 *
 * ---
 *
 * === Battle Command-Related Notetags ===
 *
 * You can use notetags to change how the battle commands of playable
 * characters appear in battle as well as whether or not they can be used.
 *
 * ---
 *
 * <Seal Attack>
 * <Seal Guard>
 * <Seal Item>
 *
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Prevents specific battle commands from being able to be used.
 *
 * ---
 *
 * <Battle Commands>
 *  Attack
 *  Skills
 *  SType: x
 *  SType: name
 *  All Skills
 *  Skill: x
 *  Skill: name
 *  Guard
 *  Item
 *  Party
 *  Escape
 *  Auto Battle
 *  Combat Log
 *  Talk
 *  Weapon Swap
 * </Battle Commands>
 *
 * - Used for: Class Notetags
 * - Changes which commands appear in the Actor Command Window in battle.
 *   If this notetag is not used, then the default commands determined in
 *   Plugin Parameters => Actor Command Window => Command List will be used.
 * - Add/remove/modify entries as needed.
 *
 * - Attack 
 *   - Adds the basic attack command.
 * 
 * - Skills
 *   - Displays all the skill types available to the actor.
 * 
 * - SType: x
 * - Stype: name
 *   - Adds in a specific skill type.
 *   - Replace 'x' with the ID of the skill type.
 *   - Replace 'name' with the name of the skill type (without text codes).
 *
 * - All Skills
 *   - Adds all usable battle skills as individual actions.
 * 
 * - Skill: x
 * - Skill: name
 *   - Adds in a specific skill as a usable action.
 *   - Replace 'x' with the ID of the skill.
 *   - Replace 'name' with the name of the skill.
 * 
 * - Guard
 *   - Adds the basic guard command.
 * 
 * - Item
 *   - Adds the basic item command.
 *
 * - Party
 *   - Requires VisuMZ_2_PartySystem.
 *   - Allows this actor to switch out with a different party member.
 * 
 * - Escape
 *   - Adds the escape command.
 * 
 * - Auto Battle
 *   - Adds the auto battle command.
 * 
 * - Combat Log
 *   - Requires VisuMZ_4_CombatLog.
 *   - Opens up the combat log.
 * 
 * - Talk
 *   - Requires VisuMZ_3_BattleCmdTalk!
 *   - Shows talk command if applicable.
 * 
 * - Weapon Swap
 *   - Requires VisuMZ_2_WeaponSwapSystem.
 *   - Swaps the current weapon.
 *
 * Example:
 *
 * <Battle Commands>
 *  Attack
 *  Skill: Heal
 *  Skills
 *  Guard
 *  Item
 *  Escape
 * </Battle Commands>
 *
 * ---
 *
 * <Command Text: x>
 *
 * - Used for: Skill Notetags
 * - When a skill is used in a <Battle Commands> notetag set, you can change
 *   the skill name text that appears to something else.
 * - Replace 'x' with the skill's name you want to shown in the Actor Battle
 *   Command window.
 * - Recommended Usage: Shorten skill names that are otherwise too big to fit
 *   inside of the Actor Battle Command window.
 *
 * ---
 *
 * <Command Icon: x>
 *
 * - Used for: Skill Notetags
 * - When a skill is used in a <Battle Commands> notetag set, you can change
 *   the skill icon that appears to something else.
 * - Replace 'x' with the ID of icon you want shown in the Actor Battle Command
 *   window to represent the skill.
 * 
 * ---
 * 
 * <Command Require Learn>
 * 
 * - Used for: Skill Notetags
 * - Determines if a battle command is visible or not by whether the actor has
 *   learned the skill.
 * - Learning the skill is a requirement. Acquiring the skill through traits
 *   does not count as learning the skill.
 * 
 * ---
 * 
 * <Command Require Access>
 * 
 * - Used for: Skill Notetags
 * - Determines if a battle command is visible or not by whether the actor has
 *   access to the skill.
 * - Having access to the skill can come through either learning the skill or
 *   temporarily acquiring it through trait objects.
 * 
 * ---
 * 
 * <Command Show Switch: x>
 * 
 * <Command Show All Switches: x,x,x>
 * <Command Show Any Switches: x,x,x>
 * 
 * - Used for: Skill Notetags
 * - Determines if a battle command is visible or not through switches.
 * - Replace 'x' with the switch ID to determine the skill's visibility.
 * - If 'All' notetag variant is used, item will be hidden until all
 *   switches are ON. Then, it would be shown.
 * - If 'Any' notetag variant is used, item will be shown if any of the
 *   switches are ON. Otherwise, it would be hidden.
 * - This can be applied to Attack and Guard commands, too.
 * 
 * ---
 * 
 * <Command Hide Switch: x>
 * 
 * <Command Hide All Switches: x,x,x>
 * <Command Hide Any Switches: x,x,x>
 * 
 * - Used for: Skill Notetags
 * - Determines if a battle command is visible or not through switches.
 * - Replace 'x' with the switch ID to determine the skill's visibility.
 * - If 'All' notetag variant is used, item will be shown until all
 *   switches are ON. Then, it would be hidden.
 * - If 'Any' notetag variant is used, item will be hidden if any of the
 *   switches are ON. Otherwise, it would be shown.
 * - This can be applied to Attack and Guard commands, too.
 * 
 * ---
 * 
 * <Battle Portrait: filename>
 *
 * - Used for: Actor
 * - This is used with the "Portrait" Battle Layout.
 * - Sets the battle portrait image for the actor to 'filename'.
 * - Replace 'filename' with a picture found within your game project's
 *   img/pictures/ folder. Filenames are case sensitive. Leave out the filename
 *   extension from the notetag.
 * - This will override any menu images used for battle only.
 * 
 * ---
 * 
 * <Battle Portrait Offset: +x, +y>
 * <Battle Portrait Offset: -x, -y>
 * 
 * <Battle Portrait Offset X: +x>
 * <Battle Portrait Offset X: -x>
 * 
 * <Battle Portrait Offset Y: +y>
 * <Battle Portrait Offset Y: -y>
 *
 * - Used for: Actor
 * - This is used with the "Portrait" and "Border" Battle Layouts.
 * - Offsets the X and Y coordinates for the battle portrait.
 * - Replace 'x' with a number value that offsets the x coordinate.
 * - Negative x values offset left. Positive x values offset right.
 * - Replace 'y' with a number value that offsets the y coordinate.
 * - Negative y values offset up. Positive x values offset down.
 * 
 * ---
 * 
 * === JavaScript Notetag: Battle Command-Related ===
 *
 * The following are notetags made for users with JavaScript knowledge to
 * determine if skill-based battle commands are visible or hidden.
 * 
 * ---
 * 
 * <JS Command Visible>
 *  code
 *  code
 *  visible = code;
 * </JS Command Visible>
 * 
 * - Used for: Skill Notetags
 * - The 'visible' variable is the final returned variable to determine the
 *   skill's visibility in the Battle Command Window.
 * - Replace 'code' with JavaScript code to determine the skill's visibility in
 *   the Battle Command Window.
 * - The 'user' variable represents the user who will perform the skill.
 * - The 'skill' variable represents the skill to be used.
 * 
 * ---
 *
 * === Targeting-Related Notetags ===
 *
 * The following notetags are related to the targeting aspect of skills and
 * items and may adjust the scope of how certain skills/items work.
 *
 * ---
 *
 * <Always Hit>
 *
 * <Always Hit Rate: x%>
 *
 * - Used for: Skill, Item Notetags
 * - Causes the action to always hit or to always have a hit rate of exactly
 *   the marked x%.
 * - Replace 'x' with a number value representing the hit success percentage.
 *
 * ---
 *
 * <Repeat Hits: x>
 *
 * - Used for: Skill, Item Notetags
 * - Changes the number of hits the action will produce.
 * - Replace 'x' with a number value representing the number of hits to incur.
 *
 * ---
 *
 * <Target: x Random Any>
 *
 * - Used for: Skill, Item Notetags
 * - Makes the skill pick 'x' random targets when used.
 * - Targets can be both actors and enemies.
 * - This will overwrite the existing database scope and ignore the database's
 *   existing scope in favor of this.
 * - Replace 'x' with a number value representing the number of random targets.
 *
 * ---
 *
 * <Target: x Random Enemies>
 *
 * - Used for: Skill, Item Notetags
 * - Makes the skill pick 'x' random targets when used.
 * - This will overwrite the existing database scope and ignore the database's
 *   existing scope in favor of this.
 * - Targets are only enemies.
 * - Replace 'x' with a number value representing the number of random targets.
 *
 * ---
 *
 * <Target: x Random Allies>
 *
 * - Used for: Skill, Item Notetags
 * - Makes the skill pick 'x' random targets when used.
 * - This will overwrite the existing database scope and ignore the database's
 *   existing scope in favor of this.
 * - Targets are only actors.
 * - Replace 'x' with a number value representing the number of random targets.
 *
 * ---
 *
 * <Target: All Allies But User>
 *
 * - Used for: Skill, Item Notetags
 * - Targets all allies with the exception of the user.
 * - This will overwrite the existing database scope and ignore the database's
 *   existing scope in favor of this.
 *
 * ---
 * 
 * <Target: Ally or Enemy>
 * 
 * - Used for: Skill, Item Notetags
 * - Allows the player to target allies or enemies with the skill/item.
 *   - Keep in mind this does NOT allow you to select dead party members.
 * - This will overwrite the existing database scope and ignore the database's
 *   existing scope in favor of this.
 * - Target selection emphasis will go to allies first.
 * - Ignored when used by enemies and will be treated as an ally scope.
 * - Auto-battle actors will also treat this action as an ally scope.
 * - For certain battle layouts in frontview, this will open the Actor Select
 *   window in order for Touch Input to be able to select actors.
 * 
 * ---
 * 
 * <Target: Enemy or Ally>
 * 
 * - Used for: Skill, Item Notetags
 * - Allows the player to target enemies or allies with the skill/item.
 *   - Keep in mind this does NOT allow you to select dead party members.
 * - This will overwrite the existing database scope and ignore the database's
 *   existing scope in favor of this.
 * - Target selection emphasis will go to enemies first.
 * - Ignored when used by enemies and will be treated as an enemy scope.
 * - Auto-battle actors will also treat this action as an enemy scope.
 * - For certain battle layouts in frontview, this will open the Actor Select
 *   window in order for Touch Input to be able to select actors.
 * 
 * ---
 * 
 * <Single or Multiple Select>
 * 
 * - Used for: Skill, Item Notetags
 * - Requires an original scope that can select individual targets.
 * - This will allow the skill/item to be able to select either single targets
 *   or multiple targets at once.
 *   - In order to select "all enemies", the player must press the "Page Up"
 *     keyboard button or the visual on screen "All Enemies" button.
 *   - In order to select "all allies", the player must press the "Page Down"
 *     keyboard button or the visual on screen "All Allies" button.
 *   - Those wondering why this isn't regulated to a command left or right of
 *     the enemies and actors is because mouse controls and touch controls
 *     would not be able to select all enemies or all allies that way.
 *   - This can NOT be used with single dead ally scopes.
 * - If there is an enemy with Taunt or Provoke, the option to select
 *   "All Enemies" does not become possible.
 * - The enemy AI and Auto-Battle actor AI will NOT make use of the ability to
 *   toggle between single and multiple target scopes. They will only use the
 *   single target versions of these skills.
 * 
 * ---
 * 
 * <Disperse Damage>
 * 
 * - Used for: Skill, Item Notetags
 * - This will cause any damage dealt by this skill to be split equally amongst
 *   all targets of the skill including repeats.
 *   - For basic attacks, any damage reduction added attack trait totals will
 *     by reverted.
 * - This does NOT have to be used with <Single or Multiple Select> notetag and
 *   can be used by itself for an "All" scope, making the skill/item deal less
 *   damage if there's more enemies and more damage if there's less enemies.
 * 
 * ---
 * 
 * <Cannot Target User>
 * 
 * - Used for: Skill, Item Notetags
 * - This will cause the action to be unable to select the user as the target.
 * - This is not a targeting scope. Instead, it is used in addition to any
 *   other targeting scopes out there.
 * - When used with "All" scopes, the user is removed from the target pool.
 * - This is also applied outside of battle.
 * - If the user somehow enters the target pool, the user is then replaced by
 *   a random ally found in the party.
 * 
 * ---
 *
 * === JavaScript Notetag: Targeting-Related ===
 *
 * ---
 * 
 * <JS Targets>
 *  code
 *  code
 *  targets = [code];
 * </JS Targets>
 *
 * - Used for: Skill, Item Notetags
 * - The 'targets' variable is an array that is returned to be used as a
 *   container for all the valid action targets.
 * - The 'targets' variable will include the original set of targets determined
 *   by the skill/item's original scale.
 * - If you wish to clear it out, simply do 'targets = []' first.
 * - Replace 'code' with JavaScript code to determine valid targets.
 *
 * ---
 *
 * === Damage-Related Notetags ===
 *
 * ---
 *
 * <Damage Style: name>
 *
 * - Used for: Skill, Item Notetags
 * - Replace 'name' with a Damage Style name to change the way calculations are
 *   made using the damage formula input box.
 * - Names can be found in Plugin Parameters => Damage Settings => Style List
 *
 * ---
 *
 * <Armor Reduction: x>
 * <Armor Reduction: x%>
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - If used on skills and/or items, sets the current skill/item's armor
 *   reduction properties to 'x' and/or 'x%'.
 * - If used on trait objects, adds 'x' and/or 'x%' armor reduction properties
 *   when calculating one's own armor.
 * - This applies to physical attacks.
 * - Use the 'x' notetag variant to determine a flat reduction value.
 * - Use the 'x%' notetag variant to determine a percentile reduction value.
 *
 * ---
 *
 * <Armor Penetration: x>
 * <Armor Penetration: x%>
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - If used on skills and/or items, sets the current skill/item's armor
 *   penetration properties to 'x' and/or 'x%'.
 * - If used on trait objects, adds 'x' and/or 'x%' armor penetration
 *   properties when calculating a target's armor.
 * - This applies to physical attacks.
 * - Use the 'x' notetag variant to determine a flat penetration value.
 * - Use the 'x%' notetag variant to determine a percentile penetration value.
 *
 * ---
 *
 * <Magic Reduction: x>
 * <Magic Reduction: x%>
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - If used on skills and/or items, sets the current skill/item's armor
 *   reduction properties to 'x' and/or 'x%'.
 * - If used on trait objects, adds 'x' and/or 'x%' armor reduction properties
 *   when calculating one's own armor.
 * - This applies to magical attacks.
 * - Use the 'x' notetag variant to determine a flat reduction value.
 * - Use the 'x%' notetag variant to determine a percentile reduction value.
 *
 * ---
 *
 * <Magic Penetration: x>
 * <Magic Penetration: x%>
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - If used on skills and/or items, sets the current skill/item's armor
 *   penetration properties to 'x' and/or 'x%'.
 * - If used on trait objects, adds 'x' and/or 'x%' armor penetration
 *   properties when calculating a target's armor.
 * - This applies to magical attacks.
 * - Use the 'x' notetag variant to determine a flat penetration value.
 * - Use the 'x%' notetag variant to determine a percentile penetration value.
 *
 * ---
 *
 * <Bypass Damage Cap>
 * 
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - If used on skills and/or items, this will cause the action to never have
 *   its damage capped.
 * - If used on trait objects, this will cause the affected unit to never have
 *   its damage capped.
 *
 * ---
 *
 * <Damage Cap: x>
 *
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - If used on skills and/or items, this will declare the hard damage cap to
 *   be the 'x' value.
 * - If used on trait objects, this will raise the affect unit's hard damage
 *   cap to 'x' value. If another trait object has a higher value, use that
 *   value instead.
 *
 * ---
 *
 * <Bypass Soft Damage Cap>
 *
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - If used on skills and/or items, this will cause the action to never have
 *   its damage scaled downward to the soft cap.
 * - If used on trait objects, this will cause the affected unit to never have
 *   its damage scaled downward to the soft cap.
 *
 * ---
 *
 * <Soft Damage Cap: +x%>
 * <Soft Damage Cap: -x%>
 *
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - If used on skills and/or items, this will increase/decrease the action's
 *   soft cap by x% where 'x' is a percentage value representing the increment
 *   changed by the hard cap value.
 * - If used on trait objects, this will raise the affect unit's soft damage
 *   limit by x% where 'x' is a percentage value representing the increment
 *   changed by the hard cap value.
 *
 * ---
 *
 * <Unblockable>
 *
 * - Used for: Skill, Item Notetags
 * - Using "Guard" against this skill will not reduce any damage.
 *
 * ---
 *
 * === Critical-Related Notetags ===
 *
 * The following notetags affect skill and item critical hit rates and the
 * critical damage multiplier.
 *
 * ---
 *
 * <Always Critical>
 *
 * - Used for: Skill, Item Notetags
 * - This skill/item will always land a critical hit regardless of the
 *   user's CRI parameter value.
 *
 * ---
 *
 * <Set Critical Rate: x%>
 *
 * - Used for: Skill, Item Notetags
 * - This skill/item will always have a x% change to land a critical hit
 *   regardless of user's CRI parameter value.
 * - Replace 'x' with a percerntage value representing the success rate.
 *
 * ---
 *
 * <Modify Critical Rate: x%>
 * <Modify Critical Rate: +x%>
 * <Modify Critical Rate: -x%>
 *
 * - Used for: Skill, Item Notetags
 * - Modifies the user's CRI parameter calculation for this skill/item.
 * - The 'x%' notetag variant will multiply the user's CRI parameter value
 *   for this skill/item.
 * - The '+x%' and '-x%' notetag variants will incremenetally increase/decrease
 *   the user's CRI parameter value for this skill/item.
 *
 * ---
 *
 * <Modify Critical Multiplier: x%>
 * <Modify Critical Multiplier: +x%>
 * <Modify Critical Multiplier: -x%>
 *
 * - Used for: Skill, Item Notetags
 * - These notetags determine the damage multiplier when a critical hit lands.
 * - The 'x%' notetag variant multiply the multiplier to that exact percentage.
 * - The '+x%' and '-x%' notetag variants will change the multiplier with an
 *   incremenetal rate for this skill/item.
 *
 * ---
 *
 * <Modify Critical Bonus Damage: x%>
 * <Modify Critical Bonus Damage: +x%>
 * <Modify Critical Bonus Damage: -x%>
 *
 * - Used for: Skill, Item Notetags
 * - These notetags determine the bonus damage added when a critical hit lands.
 * - The 'x%' notetag variant multiply the damage to that exact percentage.
 * - The '+x%' and '-x%' notetag variants will change the bonus damage with an
 *   incremenetal rate for this skill/item.
 *
 * ---
 *
 * === JavaScript Notetags: Critical-Related ===
 *
 * The following are notetags made for users with JavaScript knowledge to
 * determine how critical hit-related aspects are calculated.
 *
 * ---
 *
 * <JS Critical Rate>
 *  code
 *  code
 *  rate = code;
 * </JS Critical Rate>
 *
 * - Used for: Skill, Item Notetags
 * - The 'rate' variable is the final returned amount to determine the
 *   critical hit success rate.
 * - Replace 'code' with JavaScript code to determine the final 'rate' to be
 *   returned as the critical hit success rate.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 *
 * ---
 *
 * <JS Critical Damage>
 *  code
 *  code
 *  multiplier = code;
 *  bonusDamage = code;
 * </JS Critical Damage>
 *
 * - Used for: Skill, Item Notetags
 * - The 'multiplier' variable is returned later and used as the damage
 *   multiplier used to amplify the critical damage amount.
 * - The 'bonusDamage' variable is returned later and used as extra added
 *   damage for the critical damage amount.
 * - Replace 'code' with JavaScript code to determine how the 'multiplier' and
 *   'bonusDamage' variables are calculated.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 *
 * ---
 * 
 * === Life Steal-Related Notetags ===
 * 
 * ---
 * 
 * <HP Life Steal: x%>
 * <MP Life Steal: x%>
 * 
 * - Used for: Skill, Item Notetags
 * - Causes this skill/item to have Life Steal properties, allowing the user to
 *   take x% of the HP/MP Damage as recovered HP/MP.
 *   - HP Life Steal can only take HP from dealt HP damage.
 *   - MP Life Steal can only take MP from dealt MP damage.
 * - Replace 'x' with a number representing the percentage of the dealt damage
 *   used as HP/MP recovery.
 * - This cannot be used with skills/items with HP Drain/MP Drain. Life Steal
 *   is a different mechanic from HP Drain/MP Drain.
 * 
 * ---
 * 
 * <HP Life Steal Certain Hit: +x%>
 * <HP Life Steal Physical Hit: +x%>
 * <HP Life Steal Magical Hit: +x%>
 * 
 * <HP Life Steal Certain Hit: -x%>
 * <HP Life Steal Physical Hit: -x%>
 * <HP Life Steal Magical Hit: -x%>
 * 
 * <MP Life Steal Certain Hit: +x%>
 * <MP Life Steal Physical Hit: +x%>
 * <MP Life Steal Magical Hit: +x%>
 * 
 * <MP Life Steal Certain Hit: -x%>
 * <MP Life Steal Physical Hit: -x%>
 * <MP Life Steal Magical Hit: -x%>
 * 
 * - Used for: Used for: Actor, Class, Armor, Enemy, State Notetags
 * - The related battler's various trait properties can have passive life steal
 *   properties that will trigger upon using skills/items with matching hit
 *   types regardless of whether or not the skill/item innately has Life Steal.
 *   - Notetag variants with "Certain Hit" will only trigger from "Certain Hit"
 *     skill and item types. Same with "Physical" and "Magical" variants.
 *   - HP Life Steal can only take HP from dealt HP damage.
 *   - MP Life Steal can only take HP from dealt MP damage.
 * - Replace 'x' with a number representing the additive stacking percentage
 *   boost of the dealt damage used as HP/MP recovery. The effects will stack
 *   additively with other trait objects.
 * - This cannot be used with skills/items with HP Drain/MP Drain. Life Steal
 *   is a different mechanic from HP Drain/MP Drain.
 * 
 * ---
 * 
 * <Cancel Life Steal>
 * 
 * <Cancel HP Life Steal>
 * <Cancel MP Life Steal>
 * 
 * - Used for: Skill, Item Notetags
 * - Prevents this skill from allowing Life Steal effects to occur including
 *   the passive life steal calculators from the skill/item user.
 * - This does not affect HP Drain/MP Drain. Life Steal is a different mechanic
 *   from HP Drain/MP Drain.
 * 
 * ---
 * 
 * <Guard Life Steal>
 * 
 * <Guard HP Life Steal>
 * <Guard MP Life Steal>
 * 
 * - Used for: Used for: Actor, Class, Armor, Enemy, State Notetags
 * - If the related battler becomes the target of Life Steal, this will prevent
 *   the Life Steal effects from taking effect.
 * - This does not affect HP Drain/MP Drain. Life Steal is a different mechanic
 *   from HP Drain/MP Drain.
 * 
 * ---
 * 
 * <Disarm Life Steal>
 * 
 * <Disarm HP Life Steal>
 * <Disarm MP Life Steal>
 * 
 * - Used for: Used for: Actor, Class, Armor, Enemy, State Notetags
 * - Makes the related battler unable to HP/MP Life Steal regardless of the
 *   skill/item and its related properties like equipment.
 * - This does not prevent skills/items with innate Life Steal from being used.
 *   Only the Life Steal part of the skill/item will have no effect.
 * - This does not affect HP Drain/MP Drain. Life Steal is a different mechanic
 *   from HP Drain/MP Drain.
 * 
 * ---
 * 
 * <Negative Life Steal>
 * 
 * <Negative HP Life Steal>
 * <Negative MP Life Steal>
 * 
 * - Used for: Used for: Actor, Class, Armor, Enemy, State Notetags
 * - If the related battler becomes the target of Life Steal, this will invert
 *   the healing properties of Life Steal, causing the Life Steal user to
 *   instead take HP/MP damage.
 *   - This does NOT heal the target related battler.
 * - This does not prevent skills/items with innate Life Steal from being used.
 *   Only the Life Steal part of the skill/item will have no effect.
 * - This does not affect HP Drain/MP Drain. Life Steal is a different mechanic
 *   from HP Drain/MP Drain.
 * 
 * ---
 *
 * === Action Sequence-Related Notetags ===
 *
 * Action Sequences allow you full control over how a skill and/or item plays
 * through its course. These notetags give you control over various aspects of
 * those Action Sequences. More information is found in the Action Sequences
 * help section.
 *
 * ---
 *
 * <Custom Action Sequence>
 *
 * - Used for: Skill, Item Notetags
 * - Removes all automated Action Sequence parts from the skill.
 * - Everything Action Sequence-related will be done by Common Events.
 * - Insert Common Event(s) into the skill/item's effects list to make use of
 *   the Custom Action Sequences.
 * - This will prevent common events from loading in the Item Scene and Skill
 *   Scene when used outside of battle.
 *
 * ---
 * 
 * <Auto Action Sequence>
 * 
 * - Used for: Skill, Item Notetags
 * - If the Action Sequence Plugin Parameter "Auto Notetag" is enabled, this
 *   plugin will prevent custom action sequences from happening for the skill
 *   or item, and instead, use an Automatic Action Sequence instead.
 * - Ignore this if you have "Auto Notetag" disabled or set to false. By
 *   default, this setting is set to false. Please be aware of the changes
 *   you've made to your game before using it.
 * 
 * ---
 * 
 * <Bypass Auto Action Sequence>
 * 
 * - Used for: Skill, Item Notetags
 * - This notetag is used for the game devs that have the Action Sequence
 *   Plugin Parameter "Auto Notetag" on for applying <Custom Action Sequence>
 *   to everything.
 * - This will allow items and skills to be able to launch their common
 *   events from the menu scene regardless of the inherent restriction to
 *   prevent action sequence based skills/items with common events from
 *   launching.
 * - Ignore this if you have "Auto Notetag" disabled or set to false. By
 *   default, this setting is set to false. Please be aware of the changes
 *   you've made to your game before using it.
 * 
 * ---
 * 
 * <Common Event: name>
 *
 * - Used for: Skill, Item Notetags
 * - Battle only: calls forth a Common Event of a matching name.
 * - Replace 'name' with the name of a Common Event to call from when this
 *   skill/item is used in battle.
 *   - Remove any \I[x] in the name.
 * - Insert multiple notetags to call multiple Common Events in succession.
 * - This will occur after any Common Event Trait Effects for the skill/item's
 *   database entry.
 * - This is primarily used for users who are reorganizing around their Common
 *   Events and would still like to have their skills/items perform the correct
 *   Action Sequences in case the ID's are different.
 * 
 * ---
 *
 * <Display Icon: x>
 * <Display Text: string>
 *
 * - Used for: Skill, Item Notetags
 * - When displaying the skill/item name in the Action Sequence, determine the
 *   icon and/or text displayed.
 * - Replace 'x' with a number value representing the icon ID to be displayed.
 * - Replace 'string' with a text value representing the displayed name.
 *
 * ---
 * 
 * <Common Event Key: name>
 * <Common Event Keys: name, name, name>
 * 
 * <Common Event Keys>
 *  key
 *  key
 *  key
 * </Common Event Keys>
 * 
 * - Used for: Skill, Item Notetags
 * - Will generate Common Events for the skill/item with a corresponding key.
 * - Replace 'name' with the name of the Common Event's key that you want to
 *   reference. That key will be converted into a Common Event effect for the
 *   skill/item and be treated as an action sequence.
 *   - The notetag variants that use multiple keys will have the keys added in
 *     the order they are listed.
 *   - If keys do not reference any Common Events, no Common Events will be
 *     added for that key.
 * - To mark a Common Event with a key, insert inside a Common Event's name the
 *   [ and ] brackets around the text that will be used as the Common Event's
 *   key text.
 *   - For example, if Common Event's name is "Penta Slash [PENTA]", then the
 *     key used is "PENTA" without the quotes.
 *   - This key could then be referenced by <Common Event Key: PENTA> notetag.
 *   - Do not use commas (,) inside the key text as it will be automatically
 *     removed for the sake of consistency.
 * - This feature is made for make the process of sharing Action Sequences to
 *   become easier without needing to line up Common Event ID's.
 * 
 * ---
 *
 * === Animated Sideview Battler-Related Notetags ===
 *
 * Enemies can use Animated Sideview Actor graphics thanks to this plugin.
 * These notetags give you control over that aspect. Some of these also affect
 * actors in addition to enemies.
 *
 * ---
 *
 * <Sideview Battler: filename>
 *
 * <Sideview Battlers>
 *  filename: weight
 *  filename: weight
 *  filename: weight
 * </Sideview Battlers>
 *
 * - Used for: Enemy Notetags
 * - Replaces the enemy's battler graphic with an animated Sideview Actor
 *   graphic found in the img/sv_actors/ folder.
 * - Replace 'filename' with the filename of the graphic to use. Do not insert
 *   any extensions. This means the file 'Actor1_1.png' will be only inserted
 *   as 'Actor1_1' without the '.png' at the end.
 * - If the multiple notetag vaiant is used, then a random filename is selected
 *   from the list upon the enemy's creation.
 * - Replace 'weight' with a number value representing how often the 'filename'
 *   would come up. The higher the weight, the more often. You may omit this
 *   and the colon(:) and just type in the 'filename' instead.
 * - Add/remove lines as you see fit.
 *
 * Example:
 *
 * <Sideview Battlers>
 *  Actor1_1: 25
 *  Actor1_3: 10
 *  Actor1_5
 *  Actor1_7
 * </Sideview Battlers>
 *
 * ---
 *
 * <Sideview Anchor: x, y>
 *
 * - Used for: Actor, Enemy Notetags
 * - Sets the sprite anchor positions for the sideview sprite.
 * - Replace 'x' and 'y' with numbers depicting where the anchors should be for
 *   the sideview sprite.
 * - By default, the x and y anchors are 0.5 and 1.0.
 *
 * ---
 * 
 * <Sideview Home Offset: +x, +y>
 * <Sideview Home Offset: -x, -y>
 * 
 * - Used for: Actor, Class, Weapon, Armor, State Notetags
 * - Offsets the sideview actor sprite's home position by +/-x, +/-y.
 * - Replace 'x' and 'y' with numbers depicting how much to offset each of the
 *   coordinates by. For '0' values, use +0 or -0.
 * - This notetag will not work if you remove it from the JavaScript code in
 *   Plugin Parameters > Actor > JS:  Home Position
 * 
 * ---
 * 
 * <Sideview Weapon Offset: +x, +y>
 * <Sideview Weapon Offset: -x, -y>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy State Notetags
 * - Offsets the sideview weapon sprite's position by +/-x, +/-y.
 * - Replace 'x' and 'y' with numbers depicting how much to offset each of the
 *   coordinates by. For '0' values, use +0 or -0.
 * 
 * ---
 *
 * <Sideview Show Shadow>
 * <Sideview Hide Shadow>
 *
 * - Used for: Actor, Enemy Notetags
 * - Sets it so the sideview battler's shadow will be visible or hidden.
 *
 * ---
 * 
 * <Sideview Shadow Scale: x%>
 * <Sideview Shadow Scale: x.y>
 * 
 * - Used for: Actor, Enemy Notetags
 * - Adjusts the scaling size of the sideview battler's shadow.
 * - This affects both the X and Y scale.
 * 
 * ---
 * 
 * <Sideview Shadow Scale X: x%>
 * <Sideview Shadow Scale X: x.y>
 * 
 * <Sideview Shadow Scale Y: x%>
 * <Sideview Shadow Scale Y: x.y>
 * 
 * - Used for: Actor, Enemy Notetags
 * - Adjusts the scaling size of the sideview battler's shadow.
 * - These affect their respective X and Y scales separately.
 * 
 * ---
 *
 * <Sideview Collapse>
 * <Sideview No Collapse>
 *
 * - Used for: Enemy Notetags
 * - Either shows the collapse graphic or does not show the collapse graphic.
 * - Collapse graphic means the enemy will 'fade away' once it's defeated.
 * - No collapse graphic means the enemy's corpse will remain on the screen.
 *
 * ---
 *
 * <Sideview Idle Motion: name>
 *
 * <Sideview Idle Motions>
 *  name: weight
 *  name: weight
 *  name: weight
 * </Sideview Idle Motions>
 *
 * - Used for: Enemy Notetags
 * - Changes the default idle motion for the enemy.
 * - Replace 'name' with any of the following motion names:
 *   - 'walk', 'wait', 'chant', 'guard', 'damage', 'evade', 'thrust', 'swing',
 *     'missile', 'skill', 'spell', 'item', 'escape', 'victory', 'dying',
 *     'abnormal', 'sleep', 'dead'
 * - If the multiple notetag vaiant is used, then a random motion name is
 *   selected from the list upon the enemy's creation.
 * - 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.
 * - Add/remove lines as you see fit.
 *
 * Example:
 *
 * <Sideview Idle Motions>
 *  walk: 25
 *  wait: 50
 *  guard
 *  victory
 *  abnormal
 * </Sideview Idle Motions>
 *
 * ---
 *
 * <Sideview Size: width, height>
 *
 * - Used for: Enemy Notetags
 * - When using a sideview battler, its width and height will default to the
 *   setting made in Plugin Parameters => Enemy Settings => Size: Width/Height.
 * - This notetag lets you change that value to something else.
 * - Replace 'width' and 'height' with numbers representing how many pixels
 *   wide/tall the sprite will be treated as.
 * - This does NOT change the image size. This only changes the HITBOX size.
 *
 * ---
 *
 * <Sideview Weapon: weapontype>
 *
 * <Sideview Weapons>
 *  weapontype: weight
 *  weapontype: weight
 *  weapontype: weight
 * </Sideview Weapons>
 *
 * - Used for: Enemy Notetags
 * - Give your sideview enemies weapons to use.
 * - Replace 'weapontype' with the name of the weapon type found under the
 *   Database => Types => Weapon Types list (without text codes).
 * - If the multiple notetag vaiant is used, then a random weapon type is
 *   selected from the list upon the enemy's creation.
 * - Replace 'weight' with a number value representing how often the weapontype
 *   would come up. The higher the weight, the more often. You may omit this
 *   and the colon(:) and just type in the 'weapontype' instead.
 * - Add/remove lines as you see fit.
 *
 * Example:
 *
 * <Sideview Weapons>
 *  Dagger: 25
 *  Sword: 25
 *  Axe
 * </Sideview Weapons>
 *
 * ---
 *
 * <traitname Sideview Battler: filename>
 *
 * <traitname Sideview Battlers>
 *  filename: weight
 *  filename: weight
 *  filename: weight
 * </traitname Sideview Battlers>
 *
 * - Used for: Enemy Notetags
 * - Requires VisuMZ_1_ElementStatusCore
 * - Allows certain Trait Sets to cause battlers to have a unique appearance.
 * - Replace 'filename' with the filename of the graphic to use. Do not insert
 *   any extensions. This means the file 'Actor1_1.png' will be only inserted
 *   as 'Actor1_1' without the '.png' at the end.
 * - If the multiple notetag vaiant is used, then a random filename is selected
 *   from the list upon the enemy's creation.
 * - Replace 'weight' with a number value representing how often the 'filename'
 *   would come up. The higher the weight, the more often. You may omit this
 *   and the colon(:) and just type in the 'filename' instead.
 * - Add/remove lines as you see fit.
 *
 * Examples:
 *
 * <Male Sideview Battlers>
 *  Actor1_1: 25
 *  Actor1_3: 10
 *  Actor1_5
 *  Actor1_7
 * </Male Sideview Battlers>
 *
 * <Female Sideview Battlers>
 *  Actor1_2: 25
 *  Actor1_4: 10
 *  Actor1_6
 *  Actor1_8
 * </Female Sideview Battlers>
 *
 * ---
 *
 * <traitname Sideview Idle Motion: name>
 *
 * <traitname Sideview Idle Motions>
 *  name: weight
 *  name: weight
 *  name: weight
 * </traitname Sideview Idle Motions>
 *
 * - Used for: Enemy Notetags
 * - Requires VisuMZ_1_ElementStatusCore
 * - Allows certain Trait Sets to cause battlers to have unique idle motions.
 * - Replace 'name' with any of the following motion names:
 *   - 'walk', 'wait', 'chant', 'guard', 'damage', 'evade', 'thrust', 'swing',
 *     'missile', 'skill', 'spell', 'item', 'escape', 'victory', 'dying',
 *     'abnormal', 'sleep', 'dead'
 * - If the multiple notetag vaiant is used, then a random motion name is
 *   selected from the list upon the enemy's creation.
 * - 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.
 * - Add/remove lines as you see fit.
 *
 * Examples:
 *
 * <Jolly Sideview Idle Motions>
 *  wait: 25
 *  victory: 10
 *  walk
 * </Jolly Sideview Idle Motions>
 *
 * <Serious Sideview Idle Motions>
 *  walk: 25
 *  guard: 10
 *  wait
 * </Jolly Sideview Idle Motions>
 *
 * ---
 *
 * <traitname Sideview Weapon: weapontype>
 *
 * <traitname Sideview Weapons>
 *  weapontype: weight
 *  weapontype: weight
 *  weapontype: weight
 * </traitname Sideview Weapons>
 *
 * - Used for: Enemy Notetags
 * - Requires VisuMZ_1_ElementStatusCore
 * - Allows certain Trait Sets to cause battlers to have unique weapons.
 * - Replace 'weapontype' with the name of the weapon type found under the
 *   Database => Types => Weapon Types list (without text codes).
 * - If the multiple notetag vaiant is used, then a random weapon type is
 *   selected from the list upon the enemy's creation.
 * - Replace 'weight' with a number value representing how often the weapontype
 *   would come up. The higher the weight, the more often. You may omit this
 *   and the colon(:) and just type in the 'weapontype' instead.
 * - Add/remove lines as you see fit.
 *
 * Examples:
 *
 * <Male Sideview Weapons>
 *  Dagger: 25
 *  Sword: 25
 *  Axe
 * </Male Sideview Weapons>
 *
 * <Female Sideview Weapons>
 *  Dagger: 25
 *  Spear: 25
 *  Cane
 * </Female Sideview Weapons>
 *
 * ---
 *
 * === Enemy-Related Notetags ===
 *
 * ---
 *
 * <Battler Sprite Cannot Move>
 *
 * - Used for: Enemy Notetags
 * - Prevents the enemy from being able to move, jump, and/or float due to
 *   Action Sequences. Useful for rooted enemies.
 *
 * ---
 * 
 * <Battler Sprite Grounded>
 *
 * - Used for: Enemy Notetags
 * - Prevents the enemy from being able to jumping and/or floating due to
 *   Action Sequences but still able to move. Useful for rooted enemies.
 * 
 * ---
 *
 * <Swap Enemies>
 *  name: weight
 *  name: weight
 *  name: weight
 * </Swap Enemies>
 *
 * - Used for: Enemy Notetags
 * - Causes this enemy database object to function as a randomizer for any of
 *   the listed enemies inside the notetag. When the enemy is loaded into the
 *   battle scene, the enemy is immediately replaced with one of the enemies
 *   listed. The randomization is based off the 'weight' given to each of the
 *   enemy 'names'.
 * - Replace 'name' with the database enemy of the enemy you wish to replace
 *   the enemy with.
 * - 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.
 * - Add/remove lines as you see fit.
 *
 * Example:
 *
 * <Swap Enemies>
 *  Bat: 50
 *  Slime: 25
 *  Orc
 *  Minotaur
 * </Swap Enemies>
 *
 * ---
 *
 * === JavaScript Notetags: Mechanics-Related ===
 *
 * These JavaScript notetags allow you to run code at specific instances during
 * battle provided that the unit has that code associated with them in a trait
 * object (actor, class, weapon, armor, enemy, or state). How you use these is
 * entirely up to you and will depend on your ability to understand the code
 * used and driven for each case.
 *
 * ---
 *
 * <JS Pre-Start Battle>
 *  code
 *  code
 *  code
 * </JS Pre-Start Battle>
 *
 * <JS Post-Start Battle>
 *  code
 *  code
 *  code
 * </JS Post-Start Battle>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code at the start of battle aimed at the function:
 *   BattleManager.startBattle()
 *   - 'Pre' runs before the function runs.
 *   - 'Post' runs after the function runs.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Pre-Start Turn>
 *  code
 *  code
 *  code
 * </JS Pre-Start Turn>
 *
 * <JS Post-Start Turn>
 *  code
 *  code
 *  code
 * </JS Post-Start Turn>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code at the start of a turn aimed at the function:
 *   BattleManager.startTurn()
 *   - 'Pre' runs before the function runs.
 *   - 'Post' runs after the function runs.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Pre-Start Action>
 *  code
 *  code
 *  code
 * </JS Pre-Start Action>
 *
 * <JS Post-Start Action>
 *  code
 *  code
 *  code
 * </JS Post-Start Action>
 * 
 * - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code at the start of an action aimed at the function:
 *   BattleManager.startAction()
 *   - 'Pre' runs before the function runs.
 *   - 'Post' runs after the function runs.
 * - If used on skills and/or items, this will only apply to the skill/item
 *   being used and does not affect other skills and items.
 * - If used on trait objects, this will apply to any skills/items used as long
 *   as the unit affected by the trait object has access to the trait object.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Pre-Apply>
 *  code
 *  code
 *  code
 * </JS Pre-Apply>
 * 
 * - Used for: Skill, Item Notetags
 * - Runs JavaScript code at the start of an action hit aimed at the function:
 *   Game_Action.prototype.apply()
 *   - 'Pre' runs before the function runs.
 * - If used on skills and/or items, this will only apply to the skill/item
 *   being used and does not affect other skills and items.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 *
 * ---
 *
 * <JS Pre-Apply as User>
 *  code
 *  code
 *  code
 * </JS Pre-Apply as User>
 *
 * <JS Pre-Apply as Target>
 *  code
 *  code
 *  code
 * </JS Pre-Apply as Target>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code at the start of an action hit aimed at the function:
 *   Game_Action.prototype.apply()
 *   - 'Pre' runs before the function runs.
 * - If used on trait objects, this will apply to any skills/items used as long
 *   as the unit affected by the trait object has access to the trait object.
 * - If the 'as User' notetag variant is used, this code will be run as a
 *   response to the action from the action user end.
 * - If the 'as Target' notetag variant is used, this code will be run as a
 *   response to the action from the action target end.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 *
 * ---
 *
 * <JS Pre-Damage>
 *  code
 *  code
 *  code
 * </JS Pre-Damage>
 * 
 * - Used for: Skill, Item Notetags
 * - Runs JavaScript code before damage is dealt aimed at the function:
 *   Game_Action.prototype.executeDamage()
 *   - 'Pre' runs before the function runs.
 * - If used on skills and/or items, this will only apply to the skill/item
 *   being used and does not affect other skills and items.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 * - The 'value' variable represents the damage being calculated up to this
 *   point (if any) and any changes made to the 'value' variable will reflect
 *   on the damage dealt/healed, too.
 *
 * ---
 *
 * <JS Pre-Damage as User>
 *  code
 *  code
 *  code
 * </JS Pre-Damage as User>
 *
 * <JS Pre-Damage as Target>
 *  code
 *  code
 *  code
 * </JS Pre-Damage as Target>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code before damage is dealt aimed at the function:
 *   Game_Action.prototype.executeDamage()
 *   - 'Pre' runs before the function runs.
 * - If used on trait objects, this will apply to any skills/items used as long
 *   as the unit affected by the trait object has access to the trait object.
 * - If the 'as User' notetag variant is used, this code will be run as a
 *   response to the action from the action user end.
 * - If the 'as Target' notetag variant is used, this code will be run as a
 *   response to the action from the action target end.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 * - The 'value' variable represents the damage being calculated up to this
 *   point (if any) and any changes made to the 'value' variable will reflect
 *   on the damage dealt/healed, too.
 *
 * ---
 *
 * <JS Post-Damage>
 *  code
 *  code
 *  code
 * </JS Post-Damage>
 * 
 * - Used for: Skill, Item Notetags
 * - Runs JavaScript code after damage is dealt aimed at the function:
 *   Game_Action.prototype.executeDamage()
 *   - 'Post' runs after the function runs.
 * - If used on skills and/or items, this will only apply to the skill/item
 *   being used and does not affect other skills and items.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 * - The 'value' variable represents the damage/healing that has been last
 *   dealt through this action.
 *
 * ---
 *
 * <JS Post-Damage as User>
 *  code
 *  code
 *  code
 * </JS Post-Damage as User>
 *
 * <JS Post-Damage as Target>
 *  code
 *  code
 *  code
 * </JS Post-Damage as Target>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code after damage is dealt aimed at the function:
 *   Game_Action.prototype.executeDamage()
 *   - 'Post' runs after the function runs.
 * - If used on trait objects, this will apply to any skills/items used as long
 *   as the unit affected by the trait object has access to the trait object.
 * - If the 'as User' notetag variant is used, this code will be run as a
 *   response to the action from the action user end.
 * - If the 'as Target' notetag variant is used, this code will be run as a
 *   response to the action from the action target end.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 * - The 'value' variable represents the damage/healing that has been last
 *   dealt through this action.
 *
 * ---
 *
 * <JS Post-Apply>
 *  code
 *  code
 *  code
 * </JS Post-Apply>
 * 
 * - Used for: Skill, Item Notetags
 * - Runs JavaScript code at the end of an action hit aimed at the function:
 *   Game_Action.prototype.apply()
 *   - 'Post' runs after the function runs.
 * - If used on skills and/or items, this will only apply to the skill/item
 *   being used and does not affect other skills and items.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one using the skill/item.
 * - The 'target' variable represents the one receiving the skill/item hit.
 *
 * ---
 *
 * <JS Post-Apply as User>
 *  code
 *  code
 *  code
 * </JS Post-Apply as User>
 *
 * <JS Post-Apply as Target>
 *  code
 *  code
 *  code
 * </JS Post-Apply as Target>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code at the end of an action hit aimed at the function:
 *   Game_Action.prototype.apply()
 *   - 'Post' runs after the function runs.
 * - If used on trait objects, this will apply to any skills/items used as long
 *   as the unit affected by the trait object has access to the trait object.
 * - If the 'as User' notetag variant is used, this code will be run as a
 *   response to the action from the action user end.
 * - If the 'as Target' notetag variant is used, this code will be run as a
 *   response to the action from the action target end.
 * - Replace 'code' with JavaScript code to run desired effects.
 *
 * ---
 *
 * <JS Pre-End Action>
 *  code
 *  code
 *  code
 * </JS Pre-End Action>
 *
 * <JS Post-End Action>
 *  code
 *  code
 *  code
 * </JS Post-End Action>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code at the end of an action aimed at the function:
 *   BattleManager.endAction()
 *   - 'Pre' runs before the function runs.
 *   - 'Post' runs after the function runs.
 * - If used on trait objects, this will apply to any skills/items used as long
 *   as the unit affected by the trait object has access to the trait object.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Pre-End Turn>
 *  code
 *  code
 *  code
 * </JS Pre-End Turn>
 *
 * <JS Post-End Turn>
 *  code
 *  code
 *  code
 * </JS Post-End Turn>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code at the end of a turn aimed at the function:
 *   Game_Battler.prototype.onTurnEnd()
 *   - 'Pre' runs before the function runs.
 *   - 'Post' runs after the function runs.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Pre-Regenerate>
 *  code
 *  code
 *  code
 * </JS Pre-Regenerate>
 *
 * <JS Post-Regenerate>
 *  code
 *  code
 *  code
 * </JS Post-Regenerate>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code when a unit regenerates HP/MP aimed at the function:
 *   Game_Battler.prototype.regenerateAll()
 *   - 'Pre' runs before the function runs.
 *   - 'Post' runs after the function runs.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Battle Victory>
 *  code
 *  code
 *  code
 * </JS Battle Victory>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code when a battle is won aimed at the function:
 *   BattleManager.processVictory()
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Escape Success>
 *  code
 *  code
 *  code
 * </JS Escape Success>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code when escaping succeeds aimed at the function:
 *   BattleManager.onEscapeSuccess()
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Escape Failure>
 *  code
 *  code
 *  code
 * </JS Escape Failure>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code when escaping fails aimed at the function:
 *   BattleManager.onEscapeFailure()
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Battle Defeat>
 *  code
 *  code
 *  code
 * </JS Battle Defeat>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code when a battle is lost aimed at the function:
 *   BattleManager.processDefeat()
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 *
 * <JS Pre-End Battle>
 *  code
 *  code
 *  code
 * </JS Pre-End Battle>
 *
 * <JS Post-End Battle>
 *  code
 *  code
 *  code
 * </JS Post-End Battle>
 * 
 * - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags
 * - Runs JavaScript code when the battle is over aimed at the function:
 *   BattleManager.endBattle()
 *   - 'Pre' runs before the function runs.
 *   - 'Post' runs after the function runs.
 * - Replace 'code' with JavaScript code to run desired effects.
 * - The 'user' variable represents the one affected by the trait object.
 *
 * ---
 * 
 * === Battle Layout-Related Notetags ===
 * 
 * These tags will change the battle layout for a troop regardless of how the
 * plugin parameters are set up normally. Insert these tags in either the
 * noteboxes of maps or the names of troops for them to take effect. If both
 * are present for a specific battle, then priority goes to the setting found
 * in the troop name.
 * 
 * ---
 * 
 * <Layout: type>
 * <Battle Layout: type>
 * 
 * - Used for: Map Notetags, Troop Name Tags, and Troop Comment Tags
 * - Changes the battle layout style used for this specific map or battle.
 * - Replace 'type' with 'default', 'list', 'xp', 'portrait', or 'border'.
 * - Those with VisuMZ_3_FrontviewBattleUI can use 'frontview'.
 * - Those with VisuMZ_3_SideviewBattleUI can use 'sideview'.
 * - If using Troop Comment Tags, then as long as the tag appears in a comment
 *   found on any of the Troop's pages (even if they don't run), the tag will
 *   be considered in effect.
 * 
 * ---
 * 
 * === Troop Size Tags ===
 * 
 * ---
 * 
 * <Extend: x>
 * <Extend: x, x, x>
 * 
 * - Used for: Troop Name Tags and Troop Comment Tags
 * - Adds enemies from another troop to the current troop.
 * - Enemies from another troop will retain their database positions.
 * - Replace 'x' with the ID of the database troop entry you wish to add enemy
 *   members from.
 *   - Insert multiple x's to add from more troops.
 * - Extended troop members will be added in the order they're listed.
 * - Be cautious of how many enemies you add as too many will lag the battle
 *   system. We are not responsible for frame drops due to this.
 * 
 * ---
 * 
 * === Troop Comment Tags ===
 * 
 * Place these tags inside of a comment found in a troop page's event list.
 * 
 * ---
 * 
 * <Once Parallel When Start Battle>
 * 
 * - Used for: Troop Page Comment Tags
 * - Causes the troop page to immediately load the moment the battle scene
 *   begins to fade in (not after it fades in). This is faster than a turn 0
 *   condition troop page. Troop page conditions are ignored.
 * - This can be used for things like the Action Sequence Camera plugin, the
 *   Visual Battle Environment plugin, and/or initial battle poses and such in
 *   order to provide a near seamless battle transition experience.
 * - This does NOT trigger when coming out of the options menu or party menu.
 * - This WILL trigger when going from battle to battle nonstop via plugins
 *   like VisuStella MZ's Chain Battles.
 * - When actors are moving towards their home positions, it will take around
 *   30 frames by default. Use this information however you like.
 * 
 * ---
 *
 * ============================================================================
 * Action Sequence - Plugin Commands
 * ============================================================================
 *
 * Skills and items, when used in battle, have a pre-determined series of
 * actions to display to the player as a means of representing what's going on
 * with the action. For some game devs, this may not be enough and they would
 * like to get more involved with the actions themselves.
 *
 * Action Sequences, added through this plugin, enable this. To give a skill or
 * item a Custom Action Sequence, a couple of steps must be followed:
 *
 * ---
 *
 * 1. Insert the <Custom Action Sequence> notetag into the skill or item's
 *    notebox (or else this would not work as intended).
 * 2. Give that skill/item a Common Event through the Effects box. The selected
 *    Common Event will contain all the Action Sequence data.
 * 3. Create the Common Event with Action Sequence Plugin Commands and/or event
 *    commands to make the skill/item do what you want it to do.
 *
 * ---
 *
 * The Plugin Commands added through the Battle Core plugin focus entirely on
 * Action Sequences. However, despite the fact that they're made for skills and
 * items, some of these Action Sequence Plugin Commands can still be used for
 * regular Troop events and Common Events.
 *
 * ---
 *
 * === Action Sequence - Action Sets ===
 *
 * Action Sequence Action Sets are groups of commonly used
 * Action Sequence Commands put together for more efficient usage.
 *
 * ---
 *
 * ACSET: Setup Action Set
 * - The generic start to most actions.
 *
 *   Display Action:
 *   Immortal: On:
 *   Battle Step:
 *   Wait For Movement:
 *   Cast Animation:
 *   Wait For Animation:
 *   - Use this part of the action sequence?
 *
 * ---
 *
 * ACSET: All Targets Action Set
 * - Affects all targets simultaneously performing the following.
 *
 *   Dual/Multi Wield?
 *   - Add times struck based on weapon quantity equipped?
 * 
 *   Perform Action:
 *   Wait Count:
 *   Action Animation:
 *   Wait For Animation:
 *   Action Effect:
 *   Immortal: Off:
 *   - Use this part of the action sequence?
 *   - Insert values for the Wait Count(s).
 *
 * ---
 *
 * ACSET: Each Target Action Set
 * - Goes through each target one by one to perform the following.
 *
 *   Dual/Multi Wield?
 *   - Add times struck based on weapon quantity equipped?
 *
 *   Perform Action:
 *   Wait Count:
 *   Action Animation:
 *   Wait Count:
 *   Action Effect:
 *   Immortal: Off:
 *   - Use this part of the action sequence?
 *   - Insert values for the Wait Count(s).
 *
 * ---
 *
 * ACSET: Finish Action
 * - The generic ending to most actions.
 *
 *   Wait For New Line:
 *   Wait For Effects:
 *   Clear Battle Log:
 *   Home Reset:
 *   Wait For Movement:
 *   - Use this part of the action sequence?
 *
 * ---
 * 
 * === Action Sequences - Angle ===
 * 
 * These action sequences allow you to have control over the camera angle.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * ---
 *
 * ANGLE: Change Angle
 * - Changes the camera angle.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Angle:
 *   - Change the camera angle to this many degrees.
 *
 *   Duration:
 *   - Duration in frames to change camera angle.
 *
 *   Angle Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Angle?:
 *   - Wait for angle changes to complete before performing next command?
 *
 * ---
 *
 * ANGLE: Reset Angle
 * - Reset any angle settings.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Duration:
 *   - Duration in frames to reset camera angle.
 *
 *   Angle Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Angle?:
 *   - Wait for angle changes to complete before performing next command?
 *
 * ---
 *
 * ANGLE: Wait For Angle
 * - Waits for angle changes to complete before performing next command.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 * ---
 *
 * === Action Sequences - Animations ===
 *
 * These Action Sequences are related to the 'Animations' that can be found in
 * the Animations tab of the Database.
 *
 * ---
 *
 * ANIM: Action Animation
 * - Plays the animation associated with the action.
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 *
 * ANIM: Attack Animation
 * - Plays the animation associated with the user's weapon.
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 *
 * ANIM: Attack Animation 2+
 * - Plays the animation associated with the user's other weapons.
 * - Plays nothing if there is no other weapon equipped.
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 * 
 *   Slot:
 *   - Which weapon slot to get this data from?
 *   - Main-hand weapon is weapon slot 1.
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 * 
 * ANIM: Balloon Animation
 * - Plays a balloon animation on target(s).
 * 
 *   Targets:
 *   - Select unit(s) to play the animation on.
 * 
 *   Balloon Type:
 *   - What kind of balloon should be played on target(s)?
 * 
 *   Wait for Completion:
 *   - Wait for balloon animation completion before continuing?
 * 
 * ---
 * 
 * ANIM: Balloon Icon (Single)
 * - Plays a balloon animation using an icon on target(s).
 * - Requires VisuMZ_4_IconBalloons!
 * 
 *   Targets:
 *   - Select unit(s) to play the animation on.
 * 
 *   Icon Index:
 *   - Insert the ID of the icon to show.
 *   - Tip: Right click > Insert Icon Index
 * 
 *   Wait for Completion:
 *   - Wait for balloon animation completion before continuing?
 * 
 * ---
 * 
 * ANIM: Balloon Icon (Range)
 * - Plays a balloon animation an icon range on target(s).
 * - Requires VisuMZ_4_IconBalloons!
 * 
 *   Targets:
 *   - Select unit(s) to play the animation on.
 * 
 *   Starting Icon Index:
 *   - Insert the ID of the icon to show.
 *   - Tip: Right click > Insert Icon Index
 * 
 *   Ending Icon Index:
 *   - Insert the ID of the icon to show.
 *   - Tip: Right click > Insert Icon Index
 * 
 *   Wait for Completion:
 *   - Wait for balloon animation completion before continuing?
 * 
 * ---
 * 
 * ANIM: Balloon Icon (Specific)
 * - Plays a balloon animation with specific icons on target(s).
 * - Requires VisuMZ_4_IconBalloons!
 * 
 *   Targets:
 *   - Select unit(s) to play the animation on.
 * 
 *   Icons:
 *   - Insert the ID(s) of the icon to show.
 *   - Tip: Right click > Insert Icon Index
 * 
 *   Wait for Completion:
 *   - Wait for balloon animation completion before continuing?
 * 
 * ---
 *
 * ANIM: Cast Animation
 * - Plays the cast animation associated with the action.
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 *
 * ANIM: Change Battle Portrait
 * - Changes the battle portrait of the actor (if it's an actor).
 * - Can be used outside of battle/action sequences.
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *   - Valid units can only be actors.
 *
 *   Filename:
 *   - Select the file to change the actor's portrait to.
 * 
 * ---
 *
 * ANIM: Guard Animation
 * - Plays the animation associated with the user's guard action (if any).
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 *
 * ANIM: Item Animation
 * - Plays the animation associated with a specific item.
 * 
 *   Item ID:
 *   - Which item ID will the animation come from?
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 *
 * ANIM: Play at Coordinate
 * - Plays an animation on the screen at a specific x, y coordinate.
 * - Requires VisuMZ_0_CoreEngine!
 * 
 *   Animation ID:
 *   - Plays this animation.
 * 
 *   Coordinates:
 * 
 *     X:
 *     Y:
 *     - X/Y coordinate used for the animation.
 *       You may use JavaScript code.
 * 
 *   Mirror Animation?:
 *   - Mirror the animation?
 * 
 *   Mute Animation?:
 *   - Mute the animation?
 * 
 *   Wait for Completion?:
 *   - Wait the animation to finish before continuing?
 *
 * ---
 *
 * ANIM: Show Animation
 * - Plays the a specific animation on unit(s).
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *
 *   Animation ID:
 *   - Select which animation to play on unit(s).
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 *
 * ANIM: Show Animation JS
 * - Plays the a specific animation on unit(s).
 * - Uses JavaScript to determine animation ID.
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *
 *   JS: Animation ID:
 *   - Select which animation to play on unit(s).
 *   - Uses JavaScript to determine animation ID.
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 *
 * ANIM: Skill Animation
 * - Plays the animation associated with a specific skill.
 * 
 *   Skill ID:
 *   - Which skill ID will the animation come from?
 *
 *   Targets:
 *   - Select unit(s) to play the animation on.
 *
 *   Mirror Animation:
 *   - Mirror the animation?
 *
 *   Wait For Animation?:
 *   - Wait for animation to complete before performing next command?
 *
 * ---
 *
 * ANIM: Wait For Animation
 * - Causes the interpreter to wait for any animation(s) to finish.
 *
 * ---
 *
 * === Action Sequences - Battle Log ===
 *
 * These Action Sequences are related to the Battle Log Window, the window
 * found at the top of the battle screen.
 *
 * ---
 *
 * BTLOG: Add Text
 * - Adds a new line of text into the Battle Log.
 *
 *   Text:
 *   - Add this text into the Battle Log.
 *   - Text codes allowed.
 * 
 *   Copy to Combat Log?:
 *   - Copies text to the Combat Log.
 *   - Requires VisuMZ_4_CombatLog
 * 
 *     Combat Log Icon:
 *     - What icon would you like to bind to this entry?
 *     - Requires VisuMZ_4_CombatLog
 *
 * ---
 *
 * BTLOG: Clear Battle Log
 * - Clears all the text in the Battle Log.
 *
 * ---
 *
 * BTLOG: Display Action
 * - plays the current action in the Battle Log.
 *
 * ---
 *
 * BTLOG: Pop Base Line
 * - Removes the Battle Log's last added base line and  all text up to its
 *   former location.
 *
 * ---
 *
 * BTLOG: Push Base Line
 * - Adds a new base line to where the Battle Log currently is at.
 *
 * ---
 *
 * BTLOG: Refresh Battle Log
 * - Refreshes the Battle Log.
 *
 * ---
 *
 * BTLOG: UI Show/Hide
 * - Shows or hides the Battle UI (including the Battle Log).
 *
 *   Show/Hide?:
 *   - Shows/hides the Battle UI.
 *
 * ---
 *
 * BTLOG: Wait For Battle Log
 * - Causes the interpreter to wait for the Battle Log to finish.
 *
 * ---
 *
 * BTLOG: Wait For New Line
 * - Causes the interpreter to wait for a new line in the Battle Log.
 *
 * ---
 *
 * === Action Sequences - Camera ===
 *
 * These Action Sequences are battle camera-related.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * ---
 *
 * CAMERA: Clamp ON/OFF
 * - Turns battle camera clamping on/off.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Setting:
 *   - Turns camera clamping on/off.
 *
 * ---
 *
 * CAMERA: Focus Point
 * - Focus the battle camera on a certain point in the screen.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   X Coordinate:
 *   - Insert the point to focus the camera on.
 *   - You may use JavaScript code.
 *
 *   Y Coordinate:
 *   - Insert the point to focus the camera on.
 *   - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for camera focus change.
 *
 *   Camera Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Camera?
 *   - Wait for camera changes to complete before performing next command?
 *
 * ---
 *
 * CAMERA: Focus Target(s)
 * - Focus the battle camera on certain battler target(s).
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Targets:
 *   - Select unit(s) to focus the battle camera on.
 *
 *   Duration:
 *   - Duration in frames for camera focus change.
 *
 *   Camera Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Camera?
 *   - Wait for camera changes to complete before performing next command?
 *
 * ---
 *
 * CAMERA: Offset
 * - Offset the battle camera from the focus target.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Offset X:
 *   - How much to offset the camera X by.
 *   - Negative: left. Positive: right.
 *
 *   Offset Y:
 *   - How much to offset the camera Y by.
 *   - Negative: up. Positive: down.
 *
 *   Duration:
 *   - Duration in frames for offset change.
 *
 *   Camera Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Camera?
 *   - Wait for camera changes to complete before performing next command?
 *
 * ---
 *
 * CAMERA: Reset
 * - Reset the battle camera settings.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Reset Focus?:
 *   - Reset the focus point?
 *
 *   Reset Offset?:
 *   - Reset the camera offset?
 *
 *   Duration:
 *   - Duration in frames for reset change.
 *
 *   Camera Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Camera?
 *   - Wait for camera changes to complete before performing next command?
 *
 * ---
 *
 * CAMERA: Wait For Camera
 * - Waits for camera changes to complete before performing next command.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 * ---
 * 
 * === Action Sequences - Cutins ===
 * 
 * Allows you to have control over Visual Cutin Effects.
 * Requires VisuMZ_3_VisualCutinEffect!
 * 
 * ---
 * 
 * CUTIN: Add Visual Cutin Effect
 * - Adds the Visual Cutin Effect using these desired settings.
 * - Only one of each cutin-style type can be present at a time.
 * - Requires VisuMZ_3_VisualCutinEffect!
 * 
 *   Basic Settings:
 * 
 *     Cutin Style Type:
 *     - What Visual Cutin Effect style type do you wish to use?
 *     - Only one of each cutin-style type can be present.
 *     - Refer to VisuMZ wiki for visuals on styles.
 * 
 *     Portrait Target:
 *     - Select unit(s) to grab the Visual Cutin Effect portrait data from.
 *     - First unit will be used to make portrait.
 * 
 *     Parallax Filename:
 *     - Pick a parallax to use for the Visual Cutin Effect.
 *     - Pick (None) to not use a parallax.
 * 
 *     Background Color:
 *     - Use #rrggbb for custom colors or regular numbers for text colors from
 *       the Window Skin.
 *
 *   Extra Settings:
 *   - Extra Plugin Command settings pertaining to this Visual Cutin Effect.
 *   - An explanation for these settings are found in the Visual Cutin Effect
 *     help file and documentation.
 *   - Extra parameters are added for Parallax Scroll Inversion when the target
 *     is an enemy.
 * 
 *   Wait for Entrance:
 *   - Wait until cutin entrance is finished before performing the next
 *     event command?
 * 
 * ---
 *
 * CUTIN: End Visual Cutin Effect (All)
 * - Ends all Visual Cutin Effects currently present.
 * - Requires VisuMZ_3_VisualCutinEffect!
 * 
 *   Wait for Exit:
 *   - Wait until cutin exit is finished before performing the next
 *     event command?
 *
 * ---
 *
 * CUTIN: End Visual Cutin Effect (Type)
 * - Ends the Visual Cutin Effect with the matching type.
 * - Requires VisuMZ_3_VisualCutinEffect!
 *
 *   Cutin Style Type:
 *   - What Visual Cutin Effect style type do you wish to end?
 * 
 *   Wait for Exit:
 *   - Wait until cutin exit is finished before performing the next
 *     event command?
 *
 * ---
 * 
 * CUTIN: Wait for Cutin Entrance
 * - Wait until all cutin entrances are finished before performing the next
 *   event command.
 * - Requires VisuMZ_3_VisualCutinEffect!
 * 
 * ---
 * 
 * CUTIN: Wait for Cutin Exit
 * - Wait until all cutin exits are finished before performing the next
 *   event command.
 * - Requires VisuMZ_3_VisualCutinEffect!
 * 
 * ---
 *
 * === Action Sequences - Dragonbones ===
 *
 * These Action Sequences are Dragonbones-related.
 * Requires VisuMZ_2_DragonbonesUnion!
 *
 * ---
 *
 * DB: Dragonbones Animation
 * - Causes the unit(s) to play a Dragonbones motion animation.
 * - Requires VisuMZ_2_DragonbonesUnion!
 *
 *   Targets:
 *   - Select which unit(s) to perform a motion animation.
 *
 *   Motion Animation:
 *   - What is the name of the Dragonbones motion animation you wish to play?
 *
 * ---
 *
 * DB: Dragonbones Time Scale
 * - Causes the unit(s) to change their Dragonbones time scale.
 * - Requires VisuMZ_2_DragonbonesUnion!
 *
 *   Targets:
 *   - Select which unit(s) to perform a motion animation.
 *
 *   Time Scale:
 *   - Change the value of the Dragonbones time scale to this.
 *
 * ---
 *
 * === Action Sequences - Elements ===
 *
 * These Action Sequences can change up the element(s) used for the action's
 * damage calculation midway through an action.
 *
 * They also require the VisuMZ_1_ElementStatusCore plugin to be present in
 * order for them to work.
 *
 * ---
 *
 * ELE: Add Elements
 * - Adds element(s) to be used when calculating damage.
 * - Requires VisuMZ_1_ElementStatusCore!
 *
 *   Elements:
 *   - Select which element ID to add onto the action.
 *   - Insert multiple element ID's to add multiple at once.
 *
 * ---
 *
 * ELE: Clear Element Changes
 * - Clears all element changes made through Action Sequences.
 * - Requires VisuMZ_1_ElementStatusCore!
 *
 * ---
 *
 * ELE: Force Elements
 * - Forces only specific element(s) when calculating damage.
 * - Requires VisuMZ_1_ElementStatusCore!
 *
 *   Elements:
 *   - Select which element ID to force in the action.
 *   - Insert multiple element ID's to force multiple at once.
 *
 * ---
 *
 * ELE: Null Element
 * - Forces no element to be used when calculating damage.
 * - Requires VisuMZ_1_ElementStatusCore!
 *
 * ---
 * 
 * === Action Sequences - Grid ===
 * 
 * These Action Sequences are Battle Grid System-related.
 * Requires VisuMZ_2_BattleGridSystem!
 * 
 * ---
 * 
 * GRID: Action Animation at Node
 * - Plays action animation at target node.
 * - Requires VisuMZ_2_BattleGridSystem!
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 * 
 *     Unit:
 *     - Which unit's Node do you want to play an animation on?
 * 
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to play an
 *       animation on.
 * 
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to play
 *       an animation on.
 * 
 *   Offset X:
 *   - Offsets the animation x position.
 *   - Negative: left. Positive: right.
 * 
 *   Offset Y:
 *   - Offsets the animation y position.
 *   - Negative: up. Positive: down.
 * 
 * ---
 *
 * GRID: Add Passive State(s) to Node
 * - Adds Passive State(s) at target node.
 * - Requires VisuMZ_2_BattleGridSystem!
 *
 *   State ID(s):
 *   - Select which State ID(s) to add as a Passive State.
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 *
 *     Unit:
 *     - Which unit do you want to add the Passive State Node effect for?
 *
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to add a
 *       Passive State(s) to.
 *
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to add a
 *       Passive State(s) to.
 *
 * ---
 * 
 * GRID: Add Trigger to Node
 * - Adds Trigger to target node.
 * - Target node cannot have battler.
 * - Each node can only contain ONE trigger! 
 * - Otherwise, newly placed triggers will overwrite the old ones.
 * - Requires VisuMZ_2_BattleGridSystem!
 * 
 *   Skill ID:
 *   - Select which Skill ID(s) to add as the trigger.
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 * 
 *     Unit:
 *     - Which unit do you want to add the Trigger Node effect for?
 * 
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to add a
 *       Trigger to.
 * 
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to add a
 *       Trigger to.
 * 
 * ---
 * 
 * GRID: Animation ID at Node
 * - Plays specific animation ID at target node.
 * 
 *   Animation ID:
 *   - Play this animation at target node.
 * 
 *     Mirror?:
 *     - Mirror this animation?
 * 
 *     Mute?:
 *     - Mute this animation?
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 * 
 *     Unit:
 *     - Which unit's Node do you want to play an animation on?
 * 
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to play an
 *       animation on.
 * 
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to play
 *       an animation on.
 * 
 *   Offset X:
 *   - Offsets the animation x position.
 *   - Negative: left. Positive: right.
 * 
 *   Offset Y:
 *   - Offsets the animation y position.
 *   - Negative: up. Positive: down.
 * 
 * ---
 * 
 * GRID: Animation JS at Node
 * - Uses JS to calculate which animation to play at target node.
 * 
 *   JS: Animation ID:
 *   - Calculate which animation to play on unit(s).
 *   - Uses JavaScript to determine animation ID.
 * 
 *     Mirror?:
 *     - Mirror this animation?
 * 
 *     Mute?:
 *     - Mute this animation?
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 * 
 *     Unit:
 *     - Which unit's Node do you want to play an animation on?
 * 
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to play an
 *       animation on.
 * 
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to play
 *       an animation on.
 * 
 *   Offset X:
 *   - Offsets the animation x position.
 *   - Negative: left. Positive: right.
 * 
 *   Offset Y:
 *   - Offsets the animation y position.
 *   - Negative: up. Positive: down.
 * 
 * ---
 * 
 * GRID: Animation Type at Node
 * - Plays certain animation type at target node.
 * - Requires VisuMZ_2_BattleGridSystem!
 * 
 *   Type:
 *   - What is the animation type you would like to play?
 *     - Attack
 *     - Guard
 *     - Item
 *     - Skill
 * 
 *     Slot (Attack Type):
 *     - Which weapon slot to get this data from?
 *     - Main-hand weapon is weapon slot 1.
 * 
 *     Item ID (Item Type):
 *     - Which item ID will the animation come from?
 * 
 *     Skill ID (Skill Type):
 *     - Which skill ID will the animation come from?
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 * 
 *     Unit:
 *     - Which unit's Node do you want to play an animation on?
 * 
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to play an
 *       animation on.
 * 
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to play
 *       an animation on.
 * 
 *   Offset X:
 *   - Offsets the animation x position.
 *   - Negative: left. Positive: right.
 * 
 *   Offset Y:
 *   - Offsets the animation y position.
 *   - Negative: up. Positive: down.
 * 
 * ---
 * 
 * GRID: Move Target(s) In Direction
 * - Moves target(s) in a specific direction to other Nodes.
 * - Requires VisuMZ_2_BattleGridSystem!
 * - This will bypass the "once per action" condition used for both the
 *   <rule Move User Node direction: x> & <rule Move Target Node direction: x>
 *   notetags as this is not a notetag effect.
 * 
 *   Targets:
 *   - Select unit(s) to move.
 * 
 *   Movement Type:
 *   - Select the Movement type rulings.
 *   - See VisuMZ_2_BattleGridSystem help file for details.
 * 
 *     Direction:
 *     - Select the movement direction.
 * 
 *     Distance:
 *     - The number of nodes to be moved.
 *     - You may use JavaScript code.
 * 
 *   Duration:
 *   - Input the number representing the frames used to move.
 * 
 *   Silent Change?:
 *   - Silent: Discreet changes shown. More apparent later.
 *   - Visual: Instant changes shown.
 * 
 * ---
 * 
 * GRID: Pull To Target Node
 * - Pulls battlers towards target node.
 * - Requires VisuMZ_2_BattleGridSystem!
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *
 *     Unit:
 *     - Which unit do you want to pull on?
 *
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to
 *       pull to.
 *
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to
 *       pull to.
 * 
 *   Strength:
 *   - Input the strength level of the pull.
 * 
 *   Duration:
 *   - Input the number representing the frames used to move.
 * 
 * ---
 * 
 * GRID: Push From Target Node
 * - Pushes battlers away from target node.
 * - Requires VisuMZ_2_BattleGridSystem!
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *
 *     Unit:
 *     - Which unit do you want to push from?
 *
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to
 *       push from.
 *
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to
 *       push from.
 * 
 *   Strength:
 *   - Input the strength level of the push.
 * 
 *   Duration:
 *   - Input the number representing the frames used to move.
 * 
 * ---
 *
 * GRID: Remove All Passive States from Node
 * - Removes all Passive State effects at target node.
 * - Requires VisuMZ_2_BattleGridSystem!
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 *
 *     Unit:
 *     - Which unit do you want to clear the Node for?
 *
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to clear
 *       Passive States from.
 *
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to clear
 *       Passive States from.
 *
 * ---
 *
 * GRID: Remove Passive State(s) from Node
 * - Remove Passive State(s) at target node.
 * - Requires VisuMZ_2_BattleGridSystem!
 *
 *   State ID(s):
 *   - Select which State ID(s) to remove as a Passive State.
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 *
 *     Unit:
 *     - Which unit do you want to remove the Passive State Node effect for?
 *
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to remove
 *       a Passive State(s) from.
 *
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to remove
 *       a Passive State(s) from.
 *
 * ---
 * 
 * GRID: Remove Trigger from Node
 * - Removes Trigger at target node.
 * - Requires VisuMZ_2_BattleGridSystem!
 * 
 *   Action-Selected Node?:
 *   - Use Action-Selected Node Coordinates if possible?
 *   - Requires "Empty" or "Any" for <Target: x Grid Node>
 *   - If the no action is in effect or the action doesn't use that target
 *     structure, use the node coordinates below:
 * 
 *     Unit:
 *     - Which unit do you want to clear Triggers for?
 * 
 *     Rank:
 *     - Input the number representing the Rank of the Node you want to clear
 *       Triggers from.
 * 
 *     Flank:
 *     - Input the number representing the Flank of the Node you want to clear
 *       Triggers from.
 * 
 * ---
 * 
 * === Action Sequences - Horror Effects ===
 * 
 * These Action Sequences are Horror Effects-related.
 * Requires VisuMZ_2_HorrorEffects!
 * 
 * ---
 *
 * HORROR: Clear All Filters
 * - Clear all Horror Effects filters on the target battler(s).
 *
 *   Targets:
 *   - Select unit(s) to remove Horror Effects for.
 *
 * ---
 *
 * HORROR: Glitch Create
 * - Creates the glitch effect on the target battler(s).
 *
 *   Targets:
 *   - Select unit(s) to create the Horror Effect for.
 *
 *   Glitch Slices:
 *   - Glitch slices to be used with the target.
 *
 *   Glitch Offset:
 *   - Default offset value.
 *
 *   Glitch Animated?:
 *   - Animate the glitch effect?
 *
 *   Glitch Frequency:
 *   - If animated, how frequent to make the glitch effect?
 *   - Lower = often     Higher = rarer
 *
 *   Glitch Strength:
 *   - If animated, how strong is the glitch effect?
 *   - Lower = weaker     Higher = stronger
 *
 * ---
 *
 * HORROR: Glitch Remove
 * - Removes the glitch effect on the target battler(s).
 *
 *   Targets:
 *   - Select unit(s) to remove the Horror Effect for.
 *
 * ---
 *
 * HORROR: Noise Create
 * - Creates the noise effect on the target battler(s).
 *
 *   Targets:
 *   - Select unit(s) to create the Horror Effect for.
 *
 *   Noise Rate:
 *   - Noise rate to be used with the target.
 *
 *   Noise Animated:
 *   - Animate the noise for the target?
 *
 * ---
 *
 * HORROR: Noise Remove
 * - Removes the noise effect on the target battler(s).
 *
 *   Targets:
 *   - Select unit(s) to remove the Horror Effect for.
 *
 * ---
 *
 * HORROR: TV Create
 * - Creates the TV effect on the target battler(s).
 *
 *   Targets:
 *   - Select unit(s) to create the Horror Effect for.
 *
 *   TV Line Thickness:
 *   - Default TV line thickness
 *   - Lower = thinner     Higher = thicker
 *
 *   TV Corner Size:
 *   - Default TV line corner size
 *   - Lower = smaller     Higher = bigger
 *
 *   TV Animated:
 *   - Animate the TV?
 *
 *   TV Speed:
 *   - Speed used to animate the TV if animated
 *   - Lower = slower     Higher = faster
 *
 * ---
 *
 * HORROR: TV Remove
 * - Removes the TV effect on the target battler(s).
 *
 *   Targets:
 *   - Select unit(s) to remove the Horror Effect for.
 *
 * ---
 * 
 * === Action Sequences - Impact ===
 * 
 * These Action Sequences are related to creating impact.
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * ---
 *
 * IMPACT: Bizarro Inversion
 * - Swaps blue/red colors on the battlefield.
 * - Requires VisuMZ_3_ActSeqImpact!
 * - Created by Manu Gaming!
 *
 *   Bizarro?:
 *   - Enable Bizarro Inversion effect?
 *
 * ---
 *
 * IMPACT: Color Break
 * - Breaks the colors on the screen before reassembling.
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Intensity:
 *   - What is the intensity of the color break effect?
 *
 *   Duration:
 *   - What is the duration of the color break effect?
 *
 *   Easing Type:
 *   - Select which easing type you wish to apply.
 *
 * ---
 *
 * IMPACT: Desaturation
 * - Desaturates all colors on the battlefield.
 * - Requires VisuMZ_3_ActSeqImpact!
 * - Created by Manu Gaming!
 *
 *   Desaturate?:
 *   - Enable Desaturation effect?
 *
 * ---
 *
 * IMPACT: Motion Blur Screen
 * - Creates a motion blur on the whole screen.
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Angle:
 *   - Determine what angle to make the motion blur at.
 *
 *   Intensity Rate:
 *   - This determines intensity rate of the motion blur.
 *   - Use a number between 0 and 1.
 *
 *   Duration:
 *   - How many frames should the motion blur last?
 *   - What do you want to be its duration?
 *
 *   Easing Type:
 *   - Select which easing type you wish to apply.
 *
 * ---
 *
 * IMPACT: Motion Blur Target(s)
 * - Creates a motion blur on selected target(s).
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Targets:
 *   - Select unit(s) to create motion blur effects for.
 *
 *   Angle:
 *   - Determine what angle to make the motion blur at.
 *
 *   Intensity Rate:
 *   - This determines intensity rate of the motion blur.
 *   - Use a number between 0 and 1.
 *
 *   Duration:
 *   - How many frames should the motion blur last?
 *   - What do you want to be its duration?
 *
 *   Easing Type:
 *   - Select which easing type you wish to apply.
 *
 * ---
 *
 * IMPACT: Motion Trail Create
 * - Creates a motion trail effect for the target(s).
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Targets:
 *   - Select unit(s) to create motion trail effects for.
 *
 *   Delay:
 *   - How many frames to delay by when creating a motion trail?
 *   - The higher the delay, the less motion trails there are.
 *
 *   Duration:
 *   - How many frames should the motion trail last?
 *   - What do you want to be its duration?
 *
 *   Hue:
 *   - What do you want to be the hue for the motion trail?
 *
 *   Starting Opacity:
 *   - What starting opacity value do you want for the motion trail?
 *   - Opacity values decrease over time.
 *
 *   Tone:
 *   - What tone do you want for the motion trail?
 *   - Format: [Red, Green, Blue, Gray]
 *
 * ---
 *
 * IMPACT: Motion Trail Remove
 * - Removes the motion trail effect from the target(s).
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Targets:
 *   - Select unit(s) to clear motion trail effects for.
 *
 * ---
 *
 * IMPACT: Negative Inversion
 * - Inverts all the colors on the battlefield.
 * - Requires VisuMZ_3_ActSeqImpact!
 * - Created by Manu Gaming!
 *
 *   Negative?:
 *   - Enable Negative Inversion effect?
 *
 * ---
 *
 * IMPACT: Oversaturation
 * - Oversaturates colors on the battlefield.
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Oversaturate?:
 *   - Enable Oversaturation effect?
 *
 * ---
 *
 * IMPACT: Shockwave at Point
 * - Creates a shockwave at the designated coordinates.
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Point: X:
 *   Point: Y:
 *   - What x/y coordinate do you want to create a shockwave at?
 *   - You can use JavaScript code.
 *
 *   Amplitude:
 *   - What is the aplitude of the shockwave effect?
 *
 *   Wavelength:
 *   - What is the wavelength of the shockwave effect?
 *
 *   Duration:
 *   - What is the duration of the shockwave?
 *
 * ---
 *
 * IMPACT: Shockwave from Each Target(s)
 * - Creates a shockwave at each of the target(s) location(s).
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Targets:
 *   - Select unit(s) to start a shockwave from.
 *
 *   Target Location:
 *   - Select which part target group to start a shockwave from.
 * 
 *     Offset X:
 *     Offset Y:
 *     - How much to offset the shockwave X/Y point by.
 *
 *   Amplitude:
 *   - What is the aplitude of the shockwave effect?
 *
 *   Wavelength:
 *   - What is the wavelength of the shockwave effect?
 *
 *   Duration:
 *   - What is the duration of the shockwave?
 *
 * ---
 *
 * IMPACT: Shockwave from Target(s) Center
 * - Creates a shockwave from the center of the target(s).
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Targets:
 *   - Select unit(s) to start a shockwave from.
 *
 *   Target Location:
 *   - Select which part target group to start a shockwave from.
 * 
 *     Offset X:
 *     Offset Y:
 *     - How much to offset the shockwave X/Y point by.
 *
 *   Amplitude:
 *   - What is the aplitude of the shockwave effect?
 *
 *   Wavelength:
 *   - What is the wavelength of the shockwave effect?
 *
 *   Duration:
 *   - What is the duration of the shockwave?
 *
 * ---
 *
 * IMPACT: Time Scale
 * - Adjust time to go faster or slower!
 * - Requires VisuMZ_3_ActSeqImpact!
 * - Created by Manu Gaming!
 *
 *   Scale:
 *   - Adjusts how fast/slow time goes.
 *   - 1.00 is normal. Lower is slower. Higher is faster.
 *
 * ---
 *
 * IMPACT: Time Stop
 * - Stops time for a set amount of milliseconds.
 * - Requires VisuMZ_3_ActSeqImpact!
 * - Created by Manu Gaming!
 *
 *   Milliseconds:
 *   - How many milliseconds should time stop for?
 *   - 1000 milliseconds = 1 second.
 *
 * ---
 *
 * IMPACT: Zoom Blur at Point
 * - Creates a zoom blur at the designated coordinates.
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Point: X:
 *   Point: Y:
 *   - What x/y coordinate do you want to focus the zoom at?
 *   - You can use JavaScript code.
 *
 *   Zoom Strength:
 *   - What is the strength of the zoom effect?
 *   - Use a number between 0 and 1.
 *
 *   Visible Radius:
 *   - How much of a radius should be visible from the center?
 *
 *   Duration:
 *   - What is the duration of the zoom blur?
 *
 *   Easing Type:
 *   - Select which easing type you wish to apply.
 *
 * ---
 *
 * IMPACT: Zoom Blur at Target(s) Center
 * - Creates a zoom blur at the center of targets.
 * - Requires VisuMZ_3_ActSeqImpact!
 *
 *   Targets:
 *   - Select unit(s) to start a zoom blur from.
 *
 *   Target Location:
 *   - Select which part target group to start a zoom blur from.
 * 
 *     Offset X:
 *     Offset Y:
 *     - How much to offset the zoom blur X/Y point by.
 *
 *   Zoom Strength:
 *   - What is the strength of the zoom effect?
 *   - Use a number between 0 and 1.
 *
 *   Visible Radius:
 *   - How much of a radius should be visible from the center?
 *
 *   Duration:
 *   - What is the duration of the zoom blur?
 *
 *   Easing Type:
 *   - Select which easing type you wish to apply.
 *
 * ---
 *
 * === Action Sequences - Inject ===
 *
 * These Action Sequences are related to injecting sprite animations.
 * Requires VisuMZ_3_ActSeqImpact!
 *
 * ---
 * 
 * INJECT: Animation Begin
 * - Injects and plays a whole spritesheet animation.
 * - The spritesheet animation will play over the battler until it is finished.
 * - The battler's original sprite will be invisible until finished.
 * - Requires VisuMZ_3_ActSeqImpact!
 * 
 *   Targets:
 *   - Select unit(s) to inject the animation on.
 * 
 *   Filename:
 *   - Select the animation spritesheet file.
 *   - Located in the /img/sv_actors/ folder.
 * 
 *     Horizontal Cells:
 *     - How many horizontal cells (or columns) are there?
 * 
 *     Vertical Cells:
 *     - How many vertical cells (or rows) are there?
 * 
 *     Frame Delay:
 *     - How many frames are played inbetween cells?
 * 
 *     Smooth Bitmap?:
 *     - Smooth the spritesheet graphic?
 * 
 *   Offset:
 * 
 *     Offset X:
 *     - Offsets the X position of the injected animation.
 *     - Negative: left. Positive: right.
 * 
 *     Offset Y:
 *     - Offsets the Y position of the injected animation.
 *     - Negative: up. Positive: down.
 * 
 * ---
 * 
 * INJECT: Animation End
 * - Stops and ends any injected animations on target(s).
 * - Any inject animation will be prematurely terminated.
 * - Requires VisuMZ_3_ActSeqImpact!
 * 
 *   Targets:
 *   - Select unit(s) to stop injected animation(s).
 * 
 * ---
 * 
 * INJECT: Animation Pause/Resume
 * - Pauses/resumes any injected animations on target(s).
 * - Requires VisuMZ_3_ActSeqImpact!
 * 
 *   Targets:
 *   - Select unit(s) to pause/resume injected animation(s).
 * 
 *   Pause?:
 *   - Pause the injected animation?
 * 
 * ---
 * 
 * INJECT: Wait For Injected Animation
 * - Waits for injected animations to complete before performing next command.
 * - Requires VisuMZ_3_ActSeqImpact!
 * 
 * ---
 *
 * === Action Sequences - Mechanics ===
 *
 * These Action Sequences are related to various mechanics related to the
 * battle system.
 *
 * ---
 *
 * MECH: Action Effect
 * - Causes the unit(s) to take damage/healing from action and incurs any
 *   changes made such as buffs and states.
 *
 *   Targets:
 *   - Select unit(s) to receive the current action's effects.
 *
 * ---
 * 
 * MECH: Active Chain Input Disable
 * - Disables input for Active Chain Skills at this time.
 * - Requires VisuMZ_3_ActiveChainSkills!
 * 
 * ---
 *
 * MECH: Add Buff/Debuff
 * - Adds buff(s)/debuff(s) to unit(s). 
 * - Determine which parameters are affected and their durations.
 *
 *   Targets:
 *   - Select unit(s) to receive the buff(s) and/or debuff(s).
 *
 *   Buff Parameters:
 *   - Select which parameter(s) to buff.
 *   - Insert a parameter multiple times to raise its stacks.
 *
 *   Debuff Parameters:
 *   - Select which parameter(s) to debuff.
 *   - Insert a parameter multiple times to raise its stacks.
 *
 *   Turns:
 *   - Number of turns to set the parameter(s) buffs to.
 *   - You may use JavaScript code.
 *
 * ---
 *
 * MECH: Add State
 * - Adds state(s) to unit(s).
 *
 *   Targets:
 *   - Select unit(s) to receive the buff(s).
 *
 *   States:
 *   - Select which state ID(s) to add to unit(s).
 *   - Insert multiple state ID's to add multiple at once.
 *
 * ---
 * 
 * MECH: Analyze Weakness
 * - Reveal elemental weakness(es) from target(s).
 * - Requires VisuMZ_3_WeaknessDisplay!
 * 
 *   Targets:
 *   - Select unit(s) to reveal elemental weaknesses for.
 * 
 *   Reveal:
 *   - How many elemental weaknesses do you wish to reveal?
 *   - You may use JavaScript code.
 * 
 * ---
 *
 * MECH: Armor Penetration
 * - Adds an extra layer of defensive penetration/reduction.
 * - You may use JavaScript code for any of these.
 *
 *   Armor/Magic Penetration:
 *
 *     Rate:
 *     - Penetrates an extra multiplier of armor by this value.
 *
 *     Flat:
 *     - Penetrates a flat amount of armor by this value.
 *
 *   Armor/Magic Reduction:
 *
 *     Rate:
 *     - Reduces an extra multiplier of armor by this value.
 *
 *     Flat:
 *     - Reduces a flat amount of armor by this value.
 *
 * ---
 * 
 * MECH: ATB Gauge
 * - Alters the ATB/TPB Gauges.
 * - Requires VisuMZ_2_BattleSystemATB!
 * 
 *   Targets:
 *   - Select unit(s) to alter the ATB/TPB Gauges for.
 * 
 *   Charging:
 *   
 *     Charge Rate:
 *     - Changes made to the ATB Gauge if it is currently charging.
 * 
 *   Casting:
 *   
 *     Cast Rate:
 *     - Changes made to the ATB Gauge if it is currently casting.
 *   
 *     Interrupt?:
 *     - Interrupt the ATB Gauge if it is currently casting?
 * 
 * ---
 * 
 * MECH: Boost Points Change
 * - Changes Boost Points for target(s).
 * - Requires VisuMZ_3_BoostAction!
 * 
 *   Targets:
 *   - Select unit(s) to alter the Boost Points for.
 * 
 *   Alter Boost Points By:
 *   - Alters the unit(s) Boost Points.
 *   - Positive for gaining points. Negative for losing points.
 * 
 * ---
 * 
 * MECH: Boost Store Data
 * - Stores the number of Boosts used this action inside a variable.
 * - Requires VisuMZ_3_BoostAction!
 * 
 *   Variable ID:
 *   - Which variable do you want to store the data inside?
 * 
 * ---
 * 
 * MECH: Break Shield Change
 * - Changes Break Shields for target(s) if not Break Stunned.
 * - Requires VisuMZ_4_BreakShields!
 * 
 *   Targets:
 *   - Select unit(s) to alter the Break Shields for.
 * 
 *   Alter Break Shields By:
 *   - Alters the unit(s) Break Shields.
 *   - Positive for gaining shields. Negative for losing shields.
 * 
 * ---
 * 
 * MECH: Break Shield Reset
 * - Resets Break Shields for target(s) if not Break Stunned.
 * - Requires VisuMZ_4_BreakShields!
 * 
 *   Targets:
 *   - Select unit(s) to reset the Break Shields for.
 * 
 * ---
 * 
 * MECH: BTB Brave Points
 * - Alters the target(s) Brave Points to an exact value.
 * - Requires VisuMZ_2_BattleSystemBTB!
 * 
 *   Targets:
 *   - Select unit(s) to alter the ATB/TPB Gauges for.
 * 
 *   Alter Brave Points By:
 *   - Alters the target(s) Brave Points.
 *   - Positive for gaining BP.
 *   - Negative for losing BP.
 * 
 * ---
 *
 * MECH: Collapse
 * - Causes the unit(s) to perform its collapse animation if the unit(s)
 *   has died.
 *
 *   Targets:
 *   - Select unit(s) to process a death collapse.
 *
 *   Force Death:
 *   - Force death even if the unit has not reached 0 HP?
 *   - This will remove immortality.
 *
 *   Wait For Effect?:
 *   - Wait for the collapse effect to complete before performing next command?
 *
 * ---
 * 
 * MECH: CTB Order
 * - Alters the CTB Turn Order.
 * - Requires VisuMZ_2_BattleSystemCTB!
 * 
 *   Targets:
 *   - Select unit(s) to alter the CTB Turn Order for.
 * 
 *   Change Order By:
 *   - Changes turn order for target(s) by this amount.
 *   - Positive increases wait. Negative decreases wait.
 * 
 * ---
 * 
 * MECH: CTB Speed
 * - Alters the CTB Speed.
 * - Requires VisuMZ_2_BattleSystemCTB!
 * 
 *   Targets:
 *   - Select unit(s) to alter the CTB Speed for.
 * 
 *   Charge Rate:
 *   - Changes made to the CTB Speed if it is currently charging.
 * 
 *   Cast Rate:
 *   - Changes made to the CTB Speed if it is currently casting.
 * 
 * ---
 * 
 * MECH: Custom Damage Formula
 * - Changes the current action's damage formula to custom.
 * - This will assume the MANUAL damage style.
 * 
 *   Formula:
 *   - Changes the current action's damage formula to custom.
 *   - Use 'default' to revert the damage formula.
 * 
 * ---
 *
 * MECH: Damage Popup
 * - Causes the unit(s) to display the current state of damage received
 *   or healed.
 *
 *   Targets:
 *   - Select unit(s) to prompt a damage popup.
 *
 * ---
 *
 * MECH: Dead Label Jump
 * - If the active battler is dead, jump to a specific label in the
 *   common event.
 *
 *   Jump To Label:
 *   - If the active battler is dead, jump to this specific label in the
 *     common event.
 *
 * ---
 * 
 * MECH: Emulate Attack Effect
 * - Emulate an "Action Effect" but using a the user's attack skill instead of
 *   the current action.
 * - Essentially lets you perform the mechanics of another action without
 *   having to use another action or needing to pay that action's costs.
 * 
 *   User(s):
 *   - Select unit(s) to perform the action's effects.
 * 
 *   Targets:
 *   - Select unit(s) to receive the current action's effects.
 * 
 * ---
 * 
 * MECH: Emulate Guard Effect
 * - Emulate an "Action Effect" but using a the user's guard skill instead of
 *   the current action.
 * - Essentially lets you perform the mechanics of another action without
 *   having to use another action or needing to pay that action's costs.
 * 
 *   User(s):
 *   - Select unit(s) to perform the action's effects.
 * 
 *   Targets:
 *   - Select unit(s) to receive the current action's effects.
 * 
 * ---
 * 
 * MECH: Emulate Item Effect
 * - Emulate an "Action Effect" but using a specific item instead of the
 *   current action.
 * - Essentially lets you perform the mechanics of another action without
 *   having to use another action or needing to pay that action's costs.
 * 
 *   Item ID:
 *   - Which item ID will be emulated?
 * 
 *   User(s):
 *   - Select unit(s) to perform the action's effects.
 * 
 *   Targets:
 *   - Select unit(s) to receive the current action's effects.
 * 
 * ---
 * 
 * MECH: Emulate Skill Cost
 * - Pick a skill for target(s) to emulate paying the cost of.
 * - Lets you cause characters to perform paying the costs of a specific skill
 *   without needing to actually use them.
 * - This will include Skill Cooldowns and Limited Skill Uses.
 * 
 *   Skill ID:
 *   - Which skill ID will have its cost paid for?
 *   - Use 0 for current action's skill.
 * 
 *   User(s):
 *   - Select unit(s) to perform the action's effects.
 * 
 * ---
 * 
 * MECH: Emulate Skill Effect
 * - Emulate an "Action Effect" but using a specific skill instead of the
 *   current action.
 * - Essentially lets you perform the mechanics of another action without
 *   having to use another action or needing to pay that action's costs.
 * 
 *   Skill ID:
 *   - Which skill ID will be emulated?
 * 
 *   User(s):
 *   - Select unit(s) to perform the action's effects.
 * 
 *   Targets:
 *   - Select unit(s) to receive the current action's effects.
 * 
 * ---
 *
 * MECH: Enemy Escape
 * - Causes the enemy unit(s) to escape.
 *
 *   Targets:
 *   - Select unit(s) to escape.
 *
 * ---
 *
 * MECH: ETB Energy Count
 * - Alters the subject team's available Energy Count.
 * - Requires VisuMZ_2_BattleSystemETB!
 *
 *   Energy Count:
 *   - Alters the subject team's available Energy Count.
 *   - Positive for gaining energy. Negative for losing energy.
 *
 * ---
 *
 * MECH: FTB Action Count
 * - Alters the subject team's available Action Count.
 * - Requires VisuMZ_2_BattleSystemFTB!
 *
 *   Action Count:
 *   - Alters the subject team's available Action Count.
 *   - Positive for gaining actions. Negative for losing actions.
 *
 * ---
 *
 * MECH: HP, MP, TP
 * - Alters the HP, MP, and TP values for unit(s).
 * - Positive values for healing. Negative values for damage.
 *
 *   Targets:
 *   - Select unit(s) to receive the current action's effects.
 *
 *   HP, MP, TP:
 *
 *     Rate:
 *     - Changes made to the parameter based on rate.
 *     - Positive values for healing. Negative values for damage.
 *
 *     Flat:
 *     - Flat changes made to the parameter.
 *     - Positive values for healing. Negative values for damage.
 *
 *   Damage Popup?:
 *   - Display a damage popup after?
 *
 * ---
 *
 * MECH: Immortal
 * - Changes the immortal flag of targets. If immortal flag is removed and a
 *   unit would die, collapse that unit.
 *
 *   Targets:
 *   - Alter the immortal flag of these groups. If immortal flag is removed and
 *     a unit would die, collapse that unit.
 *
 *   Immortal:
 *   - Turn immortal flag for unit(s) on/off?
 *
 * ---
 *
 * MECH: Multipliers
 * - Changes the multipliers for the current action.
 * - You may use JavaScript code for any of these.
 *
 *   Critical Hit%:
 *
 *     Rate:
 *     - Affects chance to land a critical hit by this multiplier.
 *
 *     Flat:
 *     - Affects chance to land a critical hit by this flat bonus.
 *
 *   Critical Damage
 *
 *     Rate:
 *     - Affects critical damage by this multiplier.
 *
 *     Flat:
 *     - Affects critical damage by this flat bonus.
 *
 *   Damage/Healing
 *
 *     Rate:
 *     - Sets the damage/healing multiplier for current action.
 *
 *     Flat:
 *     - Sets the damage/healing bonus for current action.
 *
 *   Hit Rate
 *
 *     Rate:
 *     - Affects chance to connect attack by this multiplier.
 *
 *     Flat:
 *     - Affects chance to connect attack by this flat bonus.
 *
 * ---
 * 
 * MECH: Once Parallel
 * - Plays a Common Event parallel to the battle event once without repeating
 *   itself when done.
 * 
 *   Common Event ID:
 *   - The ID of the parallel Common Event to play.
 *   - Does NOT repeat itself when finished.
 *   - When exiting battle scene, all Once Parallels are cleared.
 *   - Once Parallels are not retained upon reentering the scene.
 *   - Once Parallels are not stored in memory and cannot be saved.
 * 
 * ---
 * 
 * MECH: OTB Order
 * - Alters the OTB Turn Order. Best used with single targets.
 * - Requires VisuMZ_2_BattleSystemOTB!
 * 
 *   Targets:
 *   - Select unit(s) to alter the OTB Turn Order for.
 * 
 *   Current Turn By:
 *   - Changes turn order for target(s) by this amount.
 *   - Positive increases wait. Negative decreases wait.
 * 
 *   Next Turn By:
 *   - Changes turn order for target(s) by this amount.
 *   - Positive increases wait. Negative decreases wait.
 * 
 *   Follow Turn By:
 *   - Changes turn order for target(s) by this amount.
 *   - Positive increases wait. Negative decreases wait.
 * 
 * ---
 * 
 * MECH: PTB Alter Cost
 * - Alters the action's cost settings.
 * - Requires VisuMZ_2_BattleSystemPTB!
 * 
 *   Override?:
 *   - Overrides any 'permanent' settings for Changeability?
 * 
 *   Alter Changeability:
 *   - Allow the cost type and value to be changeable?
 * 
 *   Alter Cost Type:
 *   - Change the cost type to this scenario.
 *   - Use 'Unchanged' for no changes.
 * 
 *   Alter Cost Value:
 *   - What is the default action cost for this scenario?
 * 
 *   Priority:
 *   - What is this scenario's priority? Scenario outcomes with equal or lower
 *     priorities cannot override types and costs.
 * 
 * ---
 * 
 * MECH: PTB Conversion
 * - Converts full actions into half actions.
 * - Requires VisuMZ_2_BattleSystemPTB!
 * 
 *   Conversion Count:
 *   - Converts full actions into half actions.
 *   - If not enough, consume half actions.
 * 
 * ---
 * 
 * MECH: PTB Full/Half Action(s)
 * - Alters the subject team's available Full/Half Actions.
 * - Requires VisuMZ_2_BattleSystemPTB!
 * 
 *   Full Actions:
 *   - Alters the subject team's available Full Actions.
 *   - Positive for gaining. Negative for losing.
 * 
 *   Half Actions:
 *   - Alters the subject team's available Half Actions.
 *   - Positive for gaining. Negative for losing.
 * 
 * ---
 *
 * MECH: Remove Buff/Debuff
 * - Removes buff(s)/debuff(s) from unit(s). 
 * - Determine which parameters are removed.
 *
 *   Targets:
 *   - Select unit(s) to have the buff(s) and/or debuff(s) removed.
 *
 *   Buff Parameters:
 *   - Select which buffed parameter(s) to remove.
 *
 *   Debuff Parameters:
 *   - Select which debuffed parameter(s) to remove.
 *
 * ---
 *
 * MECH: Remove State
 * - Remove state(s) from unit(s).
 *
 *   Targets:
 *   - Select unit(s) to have states removed from.
 *
 *   States:
 *   - Select which state ID(s) to remove from unit(s).
 *   - Insert multiple state ID's to remove multiple at once.
 *
 * ---
 * 
 * MECH: State Turns Change By
 * - Changes target(s) state turns by an amount.
 * - Requires VisuMZ_1_SkillsStatesCore!
 * 
 *   Targets:
 *   - Select unit(s) to affect state turns for.
 * 
 *   State ID:
 *   - What is the ID of the state you wish to change turns for?
 *   - Only works on states that can have turns.
 * 
 *   Change Turns By:
 *   - How many turns should the state be changed to?
 *   - You may use JavaScript code.
 * 
 *   Auto-Add State?:
 *   - Automatically adds state if actor(s) does not have it applied?
 * 
 * ---
 * 
 * MECH: State Turns Change To
 * - Changes target(s) state turns to a specific value.
 * - Requires VisuMZ_1_SkillsStatesCore!
 * 
 *   Targets:
 *   - Select unit(s) to affect state turns for.
 * 
 *   State ID:
 *   - What is the ID of the state you wish to change turns for?
 *   - Only works on states that can have turns.
 * 
 *   Change Turns To:
 *   - How many turns should the state be changed to?
 *   - You may use JavaScript code.
 * 
 *   Auto-Add State?:
 *   - Automatically adds state if target(s) does not have it applied?
 * 
 * ---
 * 
 * MECH: STB Exploit Effect
 * - Utilize the STB Exploitation mechanics!
 * - Requires VisuMZ_2_BattleSystemSTB!
 * 
 *   Target(s) Exploited?:
 *   - Exploit the below targets?
 * 
 *     Targets:
 *     - Select unit(s) to become exploited.
 * 
 *     Force Exploitation:
 *     - Force the exploited status?
 * 
 *   User Exploiter?:
 *   - Allow the user to become the exploiter?
 * 
 *     Force Exploitation:
 *     - Force the exploiter status?
 * 
 * ---
 * 
 * MECH: STB Extra Action
 * - Adds an extra action for the currently active battler.
 * - Requires VisuMZ_2_BattleSystemSTB!
 * 
 *   Extra Actions:
 *   - How many extra actions should the active battler gain?
 *   - You may use JavaScript code.
 * 
 * ---
 * 
 * MECH: STB Remove Excess Actions
 * - Removes excess actions from the active battler.
 * - Requires VisuMZ_2_BattleSystemSTB!
 * 
 *   Remove Actions:
 *   - How many actions to remove from the active battler?
 *   - You may use JavaScript code.
 * 
 * ---
 * 
 * MECH: Swap Weapon
 * - Causes the unit(s) to swap their weapon for another.
 * - Requires VisuMZ_2_WeaponSwapSystem!
 * 
 *   Targets:
 *   - Select unit(s) to swap weapons for.
 * 
 *   Weapon Type ID:
 *   - Which weapon type to swap to?
 *   - This is NOT the weapon's ID.
 *   - It's the weapon TYPE.
 * 
 * ---
 * 
 * MECH: Text Popup
 * - Causes the unit(s) to display a text popup.
 * 
 *   Targets:
 *   - Select unit(s) to prompt a text popup.
 * 
 *   Text:
 *   - What text do you wish to display?
 * 
 *   Text Color:
 *   - Use #rrggbb for custom colors or regular numbers for text colors from
 *     the Window Skin.
 * 
 *   Flash Color:
 *   - Adjust the popup's flash color.
 *   - Format: [red, green, blue, alpha]
 * 
 *   Flash Duration:
 *   - What is the frame duration of the flash effect?
 * 
 * ---
 * 
 * MECH: Variable Popup
 * - Causes the unit(s) to display a popup using the data stored inside
 *   a variable.
 * 
 *   Targets:
 *   - Select unit(s) to prompt a text popup.
 * 
 *   Variable:
 *   - Get data from which variable to display as a popup?
 * 
 *   Digit Grouping:
 *   - Use digit grouping to separate numbers?
 *   - Requires VisuMZ_0_CoreEngine!
 * 
 *   Text Color:
 *   - Use #rrggbb for custom colors or regular numbers for text colors from
 *     the Window Skin.
 * 
 *   Flash Color:
 *   - Adjust the popup's flash color.
 *   - Format: [red, green, blue, alpha]
 * 
 *   Flash Duration:
 *   - What is the frame duration of the flash effect?
 * 
 * ---
 *
 * MECH: Wait For Effect
 * - Waits for the effects to complete before performing next command.
 *
 * ---
 *
 * === Action Sequences - Motion ===
 *
 * These Action Sequences allow you the ability to control the motions of
 * sideview sprites.
 *
 * ---
 * 
 * MOTION: Clear Freeze Frame
 * - Clears any freeze frames from the unit(s).
 * - Only applies to sprite sheets.
 * - Does NOT work with Dragonbones.
 * - Use "DB: Dragonbones Time Scale" instead.
 * 
 *   Targets:
 *   - Select which unit(s) to clear freeze frames for.
 * 
 * ---
 * 
 * MOTION: Freeze Motion Frame
 * - Forces a freeze frame instantly at the selected motion.
 * - Automatically clears with a new motion.
 * - Only applies to sprite sheets.
 * - Does NOT work with Dragonbones.
 * - Use "DB: Dragonbones Time Scale" instead.
 * 
 *   Targets:
 *   - Select which unit(s) to freeze motions for.
 * 
 *   Motion Type:
 *   - Freeze this motion for the unit(s).
 * 
 *   Frame Index:
 *   - Which frame do you want to freeze the motion on?
 *   - Frame index values start at 0.
 * 
 *   Show Weapon?:
 *   - If using 'attack', 'thrust', 'swing', or 'missile', display the
 *     weapon sprite?
 * 
 * ---
 *
 * MOTION: Motion Type
 * - Causes the unit(s) to play the selected motion.
 *
 *   Targets:
 *   - Select which unit(s) to perform a motion.
 *
 *   Motion Type:
 *   - Play this motion for the unit(s).
 *
 *   Show Weapon?:
 *   - If using 'attack', 'thrust', 'swing', or 'missile', display the
 *     weapon sprite?
 *
 * ---
 *
 * MOTION: Perform Action
 * - Causes the unit(s) to play the proper motion based on the current action.
 *
 *   Targets:
 *   - Select which unit(s) to perform a motion.
 *
 * ---
 *
 * MOTION: Refresh Motion
 * - Cancels any set motions unit(s) has to do and use their most natural
 *   motion at the moment.
 *
 *   Targets:
 *   - Select which unit(s) to refresh their motion state.
 *
 * ---
 *
 * MOTION: Wait By Motion Frame
 * - Creates a wait equal to the number of motion frames passing.
 * - Time is based on Plugin Parameters => Actors => Motion Speed.
 *
 *   Motion Frames to Wait?:
 *   - Each "frame" is equal to the value found in 
 *     Plugin Parameters => Actors => Motion Speed
 *
 * ---
 *
 * === Action Sequences - Movement ===
 *
 * These Action Sequences allow you the ability to control the sprites of
 * actors and enemies in battle.
 *
 * ---
 *
 * MOVE: Battle Step
 * - Causes the unit(s) to move forward past their home position to prepare
 *   for action.
 *
 *   Targets:
 *   - Select which unit(s) to move.
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Change Home By Distance
 * - Change unit(s)'s home position by a distance from their current home
 *   position(s).
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to change home position(s) for.
 *
 *   Distance Adjustment:
 *   - Makes adjustments to distance values to determine which direction to
 *     change by.
 *     - Normal - No adjustments made
 *     - Horizontal - Actors adjust left, Enemies adjust right
 *     - Vertical - Actors adjust Up, Enemies adjust down
 *     - Both - Applies both Horizontal and Vertical
 *
 *     Distance: X:
 *     - Horizontal distance to move.
 *     - You may use JavaScript code.
 *
 *     Distance: Y:
 *     - Vertical distance to move.
 *     - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total change amount.
 *
 *   Face Destination?:
 *   - Turn and face the destination?
 *
 *   Movement Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Movement Motion:
 *   - Play this motion for the unit(s).
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Change Home To JS Coordinates
 * - Change home position(s) to specified JS Coordinates.
 * - Sideview-only! Uses JavaScript!
 *
 *   Targets:
 *   - Select which unit(s) to change home position(s) for.
 *
 *   JS: Coordinates:
 *   - Code used to determine the coordinates for the target(s)'s new home
 *     position.
 *
 *   Offset Adjustment:
 *   - Makes adjustments to offset values to determine which direction to
 *     adjust the destination by.
 *
 *     Offset: X:
 *     - Horizontal offset to move.
 *     - You may use JavaScript code.
 *
 *     Offset: Y:
 *     - Vertical offset to move.
 *     - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total change amount.
 *
 *   Face Destination?:
 *   - Turn and face the destination?
 *
 *   Movement Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Movement Motion:
 *   - Play this motion for the unit(s).
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Change Home To Point
 * - Change home position(s) to a target point on the screen.
 * - Sideview-only! Points based off Graphics.boxWidth/Height.
 *
 *   Targets:
 *   - Select which unit(s) to change home position(s) for.
 *
 *   Destination Point:
 *   - Select which point to face.
 *     - Center
 *     - Point X, Y
 *       - Replace 'x' and 'y' with coordinates
 *
 *   Offset Adjustment:
 *   - Makes adjustments to offset values to determine which direction to
 *     adjust the destination by.
 *
 *     Offset: X:
 *     - Horizontal offset to move.
 *     - You may use JavaScript code.
 *
 *     Offset: Y:
 *     - Vertical offset to move.
 *     - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total change amount.
 *
 *   Face Destination?:
 *   - Turn and face the destination?
 *
 *   Movement Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Movement Motion:
 *   - Play this motion for the unit(s).
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Change Home To Target(s)
 * - Moves unit(s) to another unit(s) on the battle field.
 * - Sideview-only!
 *
 *   Targets (Moving):
 *   - Select which unit(s) to change home position(s) for.
 *
 *   Targets (Destination):
 *   - Select which unit(s) to change home position to.
 *
 *     Target Location:
 *     - Select which part target group to change home position to.
 *       - front head
 *       - front center
 *       - front base
 *       - middle head
 *       - middle center
 *       - middle base
 *       - back head
 *       - back center
 *       - back base
 *
 *     Melee Distance:
 *     - The melee distance away from the target location in addition to the
 *       battler's width.
 *
 *   Offset Adjustment:
 *   - Makes adjustments to offset values to determine which direction to
 *     adjust the destination by.
 *
 *     Offset: X:
 *     - Horizontal offset to move.
 *     - You may use JavaScript code.
 *
 *     Offset: Y:
 *     - Vertical offset to move.
 *     - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total change amount.
 *
 *   Face Destination?:
 *   - Turn and face the destination?
 *
 *   Movement Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Movement Motion:
 *   - Play this motion for the unit(s).
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Face Direction
 * - Causes the unit(s) to face forward or backward.
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to change direction.
 *
 *   Direction:
 *   - Select which direction to face.
 *
 * ---
 *
 * MOVE: Face JS Coordinates
 * - Causes the unit(s) to face specified JS Coordinates.
 * - Sideview-only! Uses JavaScript!
 *
 *   Targets:
 *   - Select which unit(s) to change direction.
 *
 *   JS: Coordinates:
 *   - Code used to determine the coordinates for the target(s) to face
 *     towards.
 *
 *   Face Away From?:
 *   - Face away from the point instead?
 *
 * ---
 *
 * MOVE: Face Point
 * - Causes the unit(s) to face a point on the screen.
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to change direction.
 *
 *   Point:
 *   - Select which point to face.
 *     - Home
 *     - Center
 *     - Point X, Y
 *       - Replace 'x' and 'y' with coordinates
 *
 *   Face Away From?:
 *   - Face away from the point instead?
 *
 * ---
 *
 * MOVE: Face Target(s)
 * - Causes the unit(s) to face other targets on the screen.
 * - Sideview-only!
 *
 *   Targets (facing):
 *   - Select which unit(s) to change direction.
 *
 *   Targets (destination):
 *   - Select which unit(s) for the turning unit(s) to face.
 *
 *   Face Away From?:
 *   - Face away from the unit(s) instead?
 *
 * ---
 *
 * MOVE: Float
 * - Causes the unit(s) to float above the ground.
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to make float.
 *
 *   Desired Height:
 *   - Vertical distance to float upward.
 *   - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total float amount.
 *
 *   Float Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Float?:
 *   - Wait for floating to complete before performing next command?
 *
 * ---
 *
 * MOVE: Home Reset
 * - Causes the unit(s) to move back to their home position(s) and face back to
 *   their original direction(s).
 *
 *   Targets:
 *   - Select which unit(s) to move.
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Jump
 * - Causes the unit(s) to jump into the air.
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to make jump.
 *
 *   Desired Height:
 *   - Max jump height to go above the ground
 *   - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total jump amount.
 *
 *   Wait For Jump?:
 *   - Wait for jumping to complete before performing next command?
 *
 * ---
 *
 * MOVE: Move Distance
 * - Moves unit(s) by a distance from their current position(s).
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to move.
 *
 *   Distance Adjustment:
 *   - Makes adjustments to distance values to determine which direction to
 *     move unit(s).
 *     - Normal - No adjustments made
 *     - Horizontal - Actors adjust left, Enemies adjust right
 *     - Vertical - Actors adjust Up, Enemies adjust down
 *     - Both - Applies both Horizontal and Vertical
 *
 *     Distance: X:
 *     - Horizontal distance to move.
 *     - You may use JavaScript code.
 *
 *     Distance: Y:
 *     - Vertical distance to move.
 *     - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total movement amount.
 *
 *   Face Destination?:
 *   - Turn and face the destination?
 *
 *   Movement Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Movement Motion:
 *   - Play this motion for the unit(s).
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Move To JS Coordinates
 * - Moves unit(s) to specified JS Coordinates.
 * - Sideview-only! Uses JavaScript!
 *
 *   Targets:
 *   - Select which unit(s) to move.
 *
 *   JS: Coordinates:
 *   - Code used to determine the coordinates for the target(s) to move to.
 *
 *   Offset Adjustment:
 *   - Makes adjustments to offset values to determine which direction to
 *     adjust the destination by.
 *
 *     Offset: X:
 *     - Horizontal offset to move.
 *     - You may use JavaScript code.
 *
 *     Offset: Y:
 *     - Vertical offset to move.
 *     - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total movement amount.
 *
 *   Face Destination?:
 *   - Turn and face the destination?
 *
 *   Movement Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Movement Motion:
 *   - Play this motion for the unit(s).
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Move To Point
 * - Moves unit(s) to a designated point on the screen.
 * - Sideview-only! Points based off Graphics.boxWidth/Height.
 *
 *   Targets:
 *   - Select which unit(s) to move.
 *
 *   Destination Point:
 *   - Select which point to face.
 *     - Home
 *     - Center
 *     - Point X, Y
 *       - Replace 'x' and 'y' with coordinates
 *
 *   Offset Adjustment:
 *   - Makes adjustments to offset values to determine which direction to
 *     adjust the destination by.
 *
 *     Offset: X:
 *     - Horizontal offset to move.
 *     - You may use JavaScript code.
 *
 *     Offset: Y:
 *     - Vertical offset to move.
 *     - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total movement amount.
 *
 *   Face Destination?:
 *   - Turn and face the destination?
 *
 *   Movement Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Movement Motion:
 *   - Play this motion for the unit(s).
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Move To Target(s)
 * - Moves unit(s) to another unit(s) on the battle field.
 * - Sideview-only!
 *
 *   Targets (Moving):
 *   - Select which unit(s) to move.
 *
 *   Targets (Destination):
 *   - Select which unit(s) to move to.
 *
 *     Target Location:
 *     - Select which part target group to move to.
 *       - front head
 *       - front center
 *       - front base
 *       - middle head
 *       - middle center
 *       - middle base
 *       - back head
 *       - back center
 *       - back base
 *
 *     Melee Distance:
 *     - The melee distance away from the target location in addition to the
 *       battler's width.
 *
 *   Offset Adjustment:
 *   - Makes adjustments to offset values to determine which direction to
 *     adjust the destination by.
 *
 *     Offset: X:
 *     - Horizontal offset to move.
 *     - You may use JavaScript code.
 *
 *     Offset: Y:
 *     - Vertical offset to move.
 *     - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for total movement amount.
 *
 *   Face Destination?:
 *   - Turn and face the destination?
 *
 *   Movement Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Movement Motion:
 *   - Play this motion for the unit(s).
 *
 *   Wait For Movement?:
 *   - Wait for movement to complete before performing next command?
 *
 * ---
 *
 * MOVE: Opacity
 * - Causes the unit(s) to change opacity.
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to change opacity.
 *
 *   Desired Opacity:
 *   - Change to this opacity value.
 *   - You may use JavaScript code.
 *
 *   Duration:
 *   - Duration in frames for opacity change.
 *
 *   Opacity Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Opacity?:
 *   - Wait for opacity changes to complete before performing next command?
 *
 * ---
 *
 * MOVE: Scale/Grow/Shrink
 * - Causes the unit(s) to scale, grow, or shrink?.
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to change the scale of.
 *
 *   Scale X:
 *   Scale Y:
 *   - What target scale value do you want?
 *   - 1.0 is normal size.
 *
 *   Duration:
 *   - Duration in frames to scale for.
 *
 *   Scale Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Scale?:
 *   - Wait for scaling to complete before performing next command?
 *
 * ---
 *
 * MOVE: Skew/Distort
 * - Causes the unit(s) to skew.
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to skew.
 *
 *   Skew X:
 *   Skew Y:
 *   - What variance to skew?
 *   - Use small values for the best results.
 *
 *   Duration:
 *   - Duration in frames to skew for.
 *
 *   Skew Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Skew?:
 *   - Wait for skew to complete before performing next command?
 *
 * ---
 *
 * MOVE: Spin/Rotate
 * - Causes the unit(s) to spin.
 * - Sideview-only!
 *
 *   Targets:
 *   - Select which unit(s) to spin.
 *
 *   Angle:
 *   - How many degrees to spin?
 *
 *   Duration:
 *   - Duration in frames to spin for.
 *
 *   Spin Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 * 
 *   Revert Angle on Finish:
 *   - Upon finishing the spin, revert the angle back to 0.
 *
 *   Wait For Spin?:
 *   - Wait for spin to complete before performing next command?
 *
 * ---
 *
 * MOVE: Wait For Float
 * - Waits for floating to complete before performing next command.
 *
 * ---
 *
 * MOVE: Wait For Jump
 * - Waits for jumping to complete before performing next command.
 *
 * ---
 *
 * MOVE: Wait For Movement
 * - Waits for movement to complete before performing next command.
 *
 * ---
 *
 * MOVE: Wait For Opacity
 * - Waits for opacity changes to complete before performing next command.
 *
 * ---
 *
 * MOVE: Wait For Scale
 * - Waits for scaling to complete before performing next command.
 *
 * ---
 *
 * MOVE: Wait For Skew
 * - Waits for skewing to complete before performing next command.
 *
 * ---
 *
 * MOVE: Wait For Spin
 * - Waits for spinning to complete before performing next command.
 *
 * ---
 * 
 * === Action Sequences - Projectiles ===
 * 
 * Create projectiles on the screen and fire them off at a target.
 * Requires VisuMZ_3_ActSeqProjectiles!
 * 
 * ---
 *
 * PROJECTILE: Animation
 * - Create an animation projectile and fire it at a target.
 * - Requires VisuMZ_3_ActSeqProjectiles!
 *
 *   Coordinates:
 *
 *     Start Location:
 *     - Settings to determine where the projectile(s) start from.
 *
 *       Type:
 *       - Select where the projectile should start from.
 *         - Target - Start from battler target(s)
 *         - Point - Start from a point on the screen
 *
 *         Target(s):
 *         - Select which unit(s) to start the projectile from.
 *
 *           Centralize:
 *           - Create one projectile at the center of the targets?
 *           - Or create a projectile for each target?
 * 
 *           Target Location:
 *           - Select which part of the target to send the projectile from.
 *           - front head
 *           - front center
 *           - front base
 *           - middle head
 *           - middle center
 *           - middle base
 *           - back head
 *           - back center
 *           - back base
 *
 *         Point X:
 *         Point Y:
 *         - Insert the X/Y coordinate to start the projectile at.
 *         - You may use JavaScript code.
 *
 *       Offset X:
 *       Offset Y:
 *       - Insert how many pixels to offset the X/Y coordinate by.
 *       - You may use JavaScript code.
 *
 *     Goal Location:
 *     - Settings to determine where the projectile(s) start from.
 *
 *       Type:
 *       - Select where the projectile should go to.
 *         - Target - Goal is battler target(s)
 *         - Point - Goal is a point on the screen
 *
 *         Target(s):
 *         - Select which unit(s) for projectile to go to.
 *
 *           Centralize:
 *           - Create one projectile at the center of the targets?
 *           - Or create a projectile for each target?
 * 
 *           Target Location:
 *           - Select which part of the target to send the projectile to.
 *           - front head
 *           - front center
 *           - front base
 *           - middle head
 *           - middle center
 *           - middle base
 *           - back head
 *           - back center
 *           - back base
 *
 *         Point X:
 *         Point Y:
 *         - Insert the X/Y coordinate to send the projectile to.
 *         - You may use JavaScript code.
 *
 *       Offset X:
 *       Offset Y:
 *       - Insert how many pixels to offset the X/Y coordinate by.
 *       - You may use JavaScript code.
 *
 *   Settings:
 *
 *     Animation ID:
 *     - Determine which animation to use as a projectile.
 *
 *     Duration:
 *     - Duration for the projectile(s) to travel.
 *
 *     Wait For Projectile?:
 *     - Wait for projectile(s) to reach their destination before going onto
 *       the next command?
 * 
 *     Wait For Animation?:
 *     - Wait for animation to finish before going to the next command?
 *
 *     Extra Settings:
 *     - Add extra settings to the projectile?
 *
 *       Auto Angle?:
 *       - Automatically angle the projectile to tilt the direction
 *         it's moving?
 *
 *       Angle Offset:
 *       - Alter the projectile's tilt by this many degrees.
 *
 *       Arc Peak:
 *       - This is the height of the projectile's trajectory arc in pixels.
 *
 *       Easing:
 *       - Select which easing type to apply to the projectile's trajectory.
 *
 *       Spin Speed:
 *       - Determine how much angle the projectile spins per frame.
 *       - Does not work well with "Auto Angle".
 * 
 *     Effect Emulation:
 * 
 *       Action Effect?:
 *       - Emulate current Action Effect when projectile reaches target?
 *       - Only works with start and goal targets.
 * 
 *       Item Effect ID?:
 *       - Emulate an Item Effect when projectile reaches target?
 *       - Use 0 to not use.
 *       - Only works with start and goal targets.
 * 
 *       Skill Effect ID?:
 *       - Emulate a Skill Effect when projectile reaches target?
 *       - Use 0 to not use.
 *       - Only works with start and goal targets.
 * 
 *       Common Event ID:
 *       - Plays a Once Parallel Common Event upon reaching target.
 *       - Use 0 to not use.
 *       - Works regardless of start/goal targets.
 *
 * ---
 *
 * PROJECTILE: Icon
 * - Create an icon projectile and fire it at a target.
 * - Requires VisuMZ_3_ActSeqProjectiles!
 *
 *   Coordinates:
 *
 *     Start Location:
 *     - Settings to determine where the projectile(s) start from.
 *
 *       Type:
 *       - Select where the projectile should start from.
 *         - Target - Start from battler target(s)
 *         - Point - Start from a point on the screen
 *
 *         Target(s):
 *         - Select which unit(s) to start the projectile from.
 *
 *           Centralize:
 *           - Create one projectile at the center of the targets?
 *           - Or create a projectile for each target?
 * 
 *           Target Location:
 *           - Select which part of the target to send the projectile from.
 *           - front head
 *           - front center
 *           - front base
 *           - middle head
 *           - middle center
 *           - middle base
 *           - back head
 *           - back center
 *           - back base
 *
 *         Point X:
 *         Point Y:
 *         - Insert the X/Y coordinate to start the projectile at.
 *         - You may use JavaScript code.
 *
 *       Offset X:
 *       Offset Y:
 *       - Insert how many pixels to offset the X/Y coordinate by.
 *       - You may use JavaScript code.
 *
 *     Goal Location:
 *     - Settings to determine where the projectile(s) start from.
 *
 *       Type:
 *       - Select where the projectile should go to.
 *         - Target - Goal is battler target(s)
 *         - Point - Goal is a point on the screen
 *
 *         Target(s):
 *         - Select which unit(s) for projectile to go to.
 *
 *           Centralize:
 *           - Create one projectile at the center of the targets?
 *           - Or create a projectile for each target?
 * 
 *           Target Location:
 *           - Select which part of the target to send the projectile to.
 *           - front head
 *           - front center
 *           - front base
 *           - middle head
 *           - middle center
 *           - middle base
 *           - back head
 *           - back center
 *           - back base
 *
 *         Point X:
 *         Point Y:
 *         - Insert the X/Y coordinate to send the projectile to.
 *         - You may use JavaScript code.
 *
 *       Offset X:
 *       Offset Y:
 *       - Insert how many pixels to offset the X/Y coordinate by.
 *       - You may use JavaScript code.
 *
 *   Settings:
 *
 *     Icon:
 *     - Determine which icon to use as a projectile.
 *       - You may use JavaScript code.
 *
 *     Duration:
 *     - Duration for the projectile(s) to travel.
 *
 *     Wait For Projectile?:
 *     - Wait for projectile(s) to reach their destination before going onto
 *       the next command?
 *
 *     Extra Settings:
 *     - Add extra settings to the projectile?
 *
 *       Auto Angle?:
 *       - Automatically angle the projectile to tilt the direction
 *         it's moving?
 *
 *       Angle Offset:
 *       - Alter the projectile's tilt by this many degrees.
 *
 *       Arc Peak:
 *       - This is the height of the projectile's trajectory arc in pixels.
 *
 *       Blend Mode:
 *       - What kind of blend mode do you wish to apply to the projectile?
 *         - Normal
 *         - Additive
 *         - Multiply
 *         - Screen
 *
 *       Easing:
 *       - Select which easing type to apply to the projectile's trajectory.
 *
 *       Hue:
 *       - Adjust the hue of the projectile.
 *       - Insert a number between 0 and 360.
 *
 *       Scale:
 *       - Adjust the size scaling of the projectile.
 *       - Use decimals for exact control.
 *
 *       Spin Speed:
 *       - Determine how much angle the projectile spins per frame.
 *       - Does not work well with "Auto Angle".
 * 
 *     Effect Emulation:
 * 
 *       Action Effect?:
 *       - Emulate current Action Effect when projectile reaches target?
 *       - Only works with start and goal targets.
 * 
 *       Item Effect ID?:
 *       - Emulate an Item Effect when projectile reaches target?
 *       - Use 0 to not use.
 *       - Only works with start and goal targets.
 * 
 *       Skill Effect ID?:
 *       - Emulate a Skill Effect when projectile reaches target?
 *       - Use 0 to not use.
 *       - Only works with start and goal targets.
 * 
 *       Common Event ID:
 *       - Plays a Once Parallel Common Event upon reaching target.
 *       - Use 0 to not use.
 *       - Works regardless of start/goal targets.
 *
 * ---
 *
 * PROJECTILE: Picture
 * - Create a picture projectile and fire it at a target.
 * - Requires VisuMZ_3_ActSeqProjectiles!
 *
 *   Coordinates:
 *
 *     Start Location:
 *     - Settings to determine where the projectile(s) start from.
 *
 *       Type:
 *       - Select where the projectile should start from.
 *         - Target - Start from battler target(s)
 *         - Point - Start from a point on the screen
 *
 *         Target(s):
 *         - Select which unit(s) to start the projectile from.
 *
 *           Centralize:
 *           - Create one projectile at the center of the targets?
 *           - Or create a projectile for each target?
 * 
 *           Target Location:
 *           - Select which part of the target to send the projectile from.
 *           - front head
 *           - front center
 *           - front base
 *           - middle head
 *           - middle center
 *           - middle base
 *           - back head
 *           - back center
 *           - back base
 *
 *         Point X:
 *         Point Y:
 *         - Insert the X/Y coordinate to start the projectile at.
 *         - You may use JavaScript code.
 *
 *       Offset X:
 *       Offset Y:
 *       - Insert how many pixels to offset the X/Y coordinate by.
 *       - You may use JavaScript code.
 *
 *     Goal Location:
 *     - Settings to determine where the projectile(s) start from.
 *
 *       Type:
 *       - Select where the projectile should go to.
 *         - Target - Goal is battler target(s)
 *         - Point - Goal is a point on the screen
 *
 *         Target(s):
 *         - Select which unit(s) for projectile to go to.
 *
 *           Centralize:
 *           - Create one projectile at the center of the targets?
 *           - Or create a projectile for each target?
 * 
 *           Target Location:
 *           - Select which part of the target to send the projectile to.
 *           - front head
 *           - front center
 *           - front base
 *           - middle head
 *           - middle center
 *           - middle base
 *           - back head
 *           - back center
 *           - back base
 *
 *         Point X:
 *         Point Y:
 *         - Insert the X/Y coordinate to send the projectile to.
 *         - You may use JavaScript code.
 *
 *       Offset X:
 *       Offset Y:
 *       - Insert how many pixels to offset the X/Y coordinate by.
 *       - You may use JavaScript code.
 *
 *   Settings:
 *
 *     Picture Filename:
 *     - Determine which picture to use as a projectile.
 *
 *     Duration:
 *     - Duration for the projectile(s) to travel.
 *
 *     Wait For Projectile?:
 *     - Wait for projectile(s) to reach their destination before going onto
 *       the next command?
 *
 *     Extra Settings:
 *     - Add extra settings to the projectile?
 *
 *       Auto Angle?:
 *       - Automatically angle the projectile to tilt the direction
 *         it's moving?
 *
 *       Angle Offset:
 *       - Alter the projectile's tilt by this many degrees.
 *
 *       Arc Peak:
 *       - This is the height of the projectile's trajectory arc in pixels.
 *
 *       Blend Mode:
 *       - What kind of blend mode do you wish to apply to the projectile?
 *         - Normal
 *         - Additive
 *         - Multiply
 *         - Screen
 *
 *       Easing:
 *       - Select which easing type to apply to the projectile's trajectory.
 *
 *       Hue:
 *       - Adjust the hue of the projectile.
 *       - Insert a number between 0 and 360.
 *
 *       Scale:
 *       - Adjust the size scaling of the projectile.
 *       - Use decimals for exact control.
 *
 *       Spin Speed:
 *       - Determine how much angle the projectile spins per frame.
 *       - Does not work well with "Auto Angle".
 * 
 *     Effect Emulation:
 * 
 *       Action Effect?:
 *       - Emulate current Action Effect when projectile reaches target?
 *       - Only works with start and goal targets.
 * 
 *       Item Effect ID?:
 *       - Emulate an Item Effect when projectile reaches target?
 *       - Use 0 to not use.
 *       - Only works with start and goal targets.
 * 
 *       Skill Effect ID?:
 *       - Emulate a Skill Effect when projectile reaches target?
 *       - Use 0 to not use.
 *       - Only works with start and goal targets.
 * 
 *       Common Event ID:
 *       - Plays a Once Parallel Common Event upon reaching target.
 *       - Use 0 to not use.
 *       - Works regardless of start/goal targets.
 *
 * ---
 * 
 * === Action Sequences - Skew ===
 * 
 * These action sequences allow you to have control over the camera skew.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * ---
 *
 * SKEW: Change Skew
 * - Changes the camera skew.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Skew X:
 *   - Change the camera skew X to this value.
 *
 *   Skew Y:
 *   - Change the camera skew Y to this value.
 *
 *   Duration:
 *   - Duration in frames to change camera skew.
 *
 *   Skew Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Skew?:
 *   - Wait for skew changes to complete before performing next command?
 *
 * ---
 *
 * SKEW: Reset Skew
 * - Reset any skew settings.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Duration:
 *   - Duration in frames to reset camera skew.
 *
 *   Skew Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Skew?:
 *   - Wait for skew changes to complete before performing next command?
 *
 * ---
 *
 * SKEW: Wait For Skew
 * - Waits for skew changes to complete before performing next command.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 * ---
 *
 * === Action Sequences - Target ===
 *
 * If using a manual target by target Action Sequence, these commands will give
 * you full control over its usage.
 *
 * ---
 *
 * TARGET: Current Index
 * - Sets the current index to this value.
 * - Then decide to jump to a label (optional).
 *
 *   Set Index To:
 *   - Sets current targeting index to this value.
 *   - 0 is the starting index of a target group.
 *
 *   Jump To Label:
 *   - If a target is found after the index change, jump to this label in the
 *     Common Event.
 *
 * ---
 *
 * TARGET: Next Target
 * - Moves index forward by 1 to select a new current target.
 * - Then decide to jump to a label (optional).
 *
 *   Jump To Label:
 *   - If a target is found after the index change, jump to this label in the
 *     Common Event.
 *
 * ---
 *
 * TARGET: Previous Target
 * - Moves index backward by 1 to select a new current target.
 * - Then decide to jump to a label (optional).
 *
 *   Jump To Label:
 *   - If a target is found after the index change, jump to this label in the
 *     Common Event.
 *
 * ---
 *
 * TARGET: Random Target
 * - Sets index randomly to determine new currernt target.
 * - Then decide to jump to a label (optional).
 *
 *   Force Random?:
 *   - Index cannot be its previous index amount after random.
 *
 *   Jump To Label:
 *   - If a target is found after the index change, jump to this label in the
 *     Common Event.
 *
 * ---
 * 
 * === Action Sequences - Voice ==
 * 
 * ---
 *
 * VOICE: Common Line
 * - Plays a common voice line from target battler(s).
 * - Requires VisuMZ_3_BattleVoices!
 *
 *   Speaker Target(s):
 *   - Select unit(s) to play voice lines from.
 *
 *   Voice Line:
 *   - What voice line do you wish to play?
 *
 * ---
 *
 * VOICE: Play Special Line
 * - Plays a special voice line from target battler(s).
 * - Requires VisuMZ_3_BattleVoices!
 *
 *   Speaker Target(s):
 *   - Select unit(s) to play voice lines from.
 *
 *   Voice Line Type:
 *   - What voice line type do you wish to play?
 *     - Action Name
 *     - Chant Line
 *     - Item Name
 *     - Skill Name
 *     - Spell Name
 *     - Unique Lines
 *
 *   Name / Letter:
 *   - What voice letter/name do you want to play?
 *
 * ---
 *
 * === Action Sequences - Weapon ===
 *
 * Allows for finer control over Dual/Multi Wielding actors.
 * Only works for Actors.
 *
 * ---
 *
 * WEAPON: Clear Weapon Slot
 * - Clears the active weapon slot (making others valid again).
 * - Only works for Actors.
 *
 *   Targets:
 *   - Select unit(s) to clear the active weapon slot for.
 *
 * ---
 *
 * WEAPON: Next Weapon Slot
 * - Goes to next active weapon slot (making others invalid).
 * - If next slot is weaponless, don't label jump.
 *
 *   Targets:
 *   - Select unit(s) to change the next active weapon slot for.
 *
 * ---
 *
 * WEAPON: Set Weapon Slot
 * - Sets the active weapon slot (making others invalid).
 * - Only works for Actors.
 *
 *   Targets:
 *   - Select unit(s) to change the active weapon slot for.
 *
 *   Weapon Slot ID:
 *   - Select weapon slot to make active (making others invalid).
 *   - Use 0 to clear and normalize. You may use JavaScript code.
 *
 * ---
 *
 * === Action Sequences - Zoom ===
 *
 * These Action Sequences are zoom-related.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * ---
 *
 * ZOOM: Change Scale
 * - Changes the zoom scale.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Scale:
 *   - The zoom scale to change to.
 *
 *   Duration:
 *   - Duration in frames to reset battle zoom.
 *
 *   Zoom Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Zoom?
 *   - Wait for zoom changes to complete before performing next command?
 *
 * ---
 *
 * ZOOM: Reset Zoom
 * - Reset any zoom settings.
 * - Requires VisuMZ_3_ActSeqCamera!
 *
 *   Duration:
 *   - Duration in frames to reset battle zoom.
 *
 *   Zoom Easing:
 *   - Select which easing type you wish to apply.
 *   - Requires VisuMZ_0_CoreEngine.
 *
 *   Wait For Zoom?
 *   - Wait for zoom changes to complete before performing next command?
 *
 * ---
 *
 * ZOOM: Wait For Zoom
 * - Waits for zoom changes to complete before performing next command.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Auto Battle Settings
 * ============================================================================
 *
 * These Plugin Parameter settings allow you to change the aspects added by
 * this plugin that support Auto Battle and the Auto Battle commands.
 *
 * Auto Battle commands can be added to the Party Command Window and/or Actor
 * Command Window. The one used by the Party Command Window will cause the
 * whole party to enter an Auto Battle state until stopped by a button input.
 * The command used by the Actor Command Window, however, will cause the actor
 * to select an action based off the Auto Battle A.I. once for the current turn
 * instead.
 *
 * ---
 *
 * Battle Display
 * 
 *   Message:
 *   - Message that's displayed when Auto Battle is on.
 *     Text codes allowed. %1 - OK button, %2 - Cancel button
 * 
 *   OK Button:
 *   - Text used to represent the OK button.
 *   - If VisuMZ_0_CoreEngine is present, ignore this.
 * 
 *   Cancel Button:
 *   - Text used to represent the Cancel button.
 *   - If VisuMZ_0_CoreEngine is present, ignore this.
 * 
 *   Background Type:
 *   - Select background type for Auto Battle window.
 *     - 0 - Window
 *     - 1 - Dim
 *     - 2 - Transparent
 * 
 *   JS: X, Y, W, H:
 *   - Code used to determine the dimensions for this window.
 *
 * ---
 *
 * Options
 * 
 *   Add Option?:
 *   - Add the Auto Battle options to the Options menu?
 * 
 *   Adjust Window Height:
 *   - Automatically adjust the options window height?
 * 
 *   Startup Name:
 *   - Command name of the option.
 * 
 *   Style Name:
 *   - Command name of the option.
 * 
 *   OFF:
 *   - Text displayed when Auto Battle Style is OFF.
 * 
 *   ON:
 *   - Text displayed when Auto Battle Style is ON.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Damage Settings
 * ============================================================================
 *
 * These Plugin Parameters add a variety of things to how damage is handled in
 * battle. These range from hard damage caps to soft damage caps to how damage
 * popups appear, how the formulas for various aspects are handled and more.
 *
 * Damage Styles are also a feature added through this plugin. More information
 * can be found in the help section above labeled 'Damage Styles'.
 *
 * ---
 *
 * Damage Styles
 * 
 *   Default Style:
 *   - Which Damage Style do you want to set as default?
 *   - Use 'Manual' to not use any styles at all.
 *     - The 'Manual' style will not support <Armor Penetration> notetags.
 *     - The 'Manual' style will not support <Armor Reduction> notetags.
 * 
 *   Style List:
 *   - A list of the damage styles available.
 *   - These are used to calculate base damage.
 * 
 *     Name:
 *     - Name of this Damage Style.
 *     -Used for notetags and such.
 * 
 *     JS: Formula:
 *     - The base formula for this Damage Style.
 * 
 *     Items & Equips Core:
 * 
 *       HP Damage:
 *       MP Damage:
 *       HP Recovery:
 *       MP Recovery:
 *       HP Drain:
 *       MP Drain:
 *       - Vocabulary used for this data entry.
 * 
 *       JS: Damage Display:
 *       - Code used the data displayed for this category.
 *
 * ---
 *
 * Damage Cap
 * 
 *   Enable Damage Cap?:
 *   - Put a maximum hard damage cap on how far damage can go?
 *   - This can be broken through the usage of notetags.
 * 
 *   Default Hard Cap:
 *   - The default hard damage cap used before applying damage.
 * 
 *   Enable Soft Cap?:
 *   - Soft caps ease in the damage values leading up to the  hard damage cap.
 *   - Requires hard Damage Cap enabled.
 * 
 *     Base Soft Cap Rate:
 *     - The default soft damage cap used before applying damage.
 * 
 *     Soft Scale Constant:
 *     - The default soft damage cap used before applying damage.
 *
 * ---
 *
 * Popups
 * 
 *   Popup Duration:
 *   - Adjusts how many frames a popup stays visible.
 * 
 *   Newest Popups Bottom:
 *   - Puts the newest popups at the bottom.
 * 
 *   End Battle Show?:
 *   - Show or hide popups upon victory or escape?
 *   - Used to hide battle-state removal popups.
 * 
 *   Offset X:
 *   Offset Y:
 *   - Sets how much to offset the sprites by horizontally/vertically.
 * 
 *   Shift X:
 *   Shift Y:
 *   - Sets how much to shift the sprites by horizontally/vertically.
 * 
 *   Shift Y:
 * 
 *   Critical Flash Color:
 *   - Adjust the popup's flash color.
 *   - Format: [red, green, blue, alpha]
 * 
 *   Critical Duration:
 *   - Adjusts how many frames a the flash lasts.
 *
 * ---
 *
 * Formulas
 * 
 *   JS: Overall Formula:
 *   - The overall formula used when calculating damage.
 * 
 *   JS: Variance Formula:
 *   - The formula used when damage variance.
 * 
 *   JS: Guard Formula:
 *   - The formula used when damage is guarded.
 *
 * ---
 *
 * Critical Hits
 * 
 *   JS: Rate Formula:
 *   - The formula used to calculate Critical Hit Rates.
 * 
 *   JS: Damage Formula:
 *   - The formula used to calculate Critical Hit Damage modification.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Mechanics Settings
 * ============================================================================
 *
 * Some of the base settings for the various mechanics found in the battle
 * system can be altered here in these Plugin Parameters. Most of these will
 * involve JavaScript code and require you to have to good understanding of
 * how the RPG Maker MZ code works before tampering with it.
 *
 * ---
 *
 * Action Speed
 * 
 *   Allow Random Speed?:
 *   - Allow speed to be randomized base off the user's AGI?
 * 
 *   Turn End Buffs Expire?:
 *   - Normally, buffs expire after all actions end.
 *   - But here, you can have buffs expire on turn end.
 * 
 *   JS: Calculate:
 *   - Code used to calculate action speed.
 *
 * ---
 *
 * Base Troop
 * 
 *   Base Troop ID's:
 *   - Select the Troop ID(s) to duplicate page events from for all
 *     other troops.
 *   - More information can be found in the dedicated Help section above.
 *
 * ---
 * 
 * Common Events (on Map)
 * 
 *   Pre-Battle Event:
 *   Post-Battle Event:
 *   Victory Event:
 *   Defeat Event:
 *   Escape Success Event:
 *   Escape Fail Event:
 *   - Queued Common Event to run upon meeting the condition.
 *   - Use to 0 to not run any Common Event at all.
 *   - "Post-Battle Event" will always run regardless.
 *   - If any events are running before the battle, they will continue running
 *     to the end first before the queued Common Events will run.
 *   - These common events only run on the map scene. They're not meant to run
 *     in the battle scene.
 *   - If the "Defeat Event" has a common event attached to it, then random
 *     encounters will be changed to allow defeat without being sent to the
 *     Game Over scene. Instead, the game will send the player to the map scene
 *     where the Defeat Event will run.
 *
 * ---
 *
 * Escape
 * 
 *   JS: Calc Escape Ratio:
 *   - Code used to calculate the escape success ratio.
 * 
 *   JS: Calc Escape Raise:
 *   - Code used to calculate how much the escape success ratio raises upon
 *     each failure.
 * 
 * ---
 * 
 * Switches
 * 
 *   Switch: Critical:
 *   - Turns switch ON if the action performs a critical hit.
 *   - Switch reverts to OFF whenever an action starts.
 *   - If multiple targets/hits are struck, as long as one hit lands a critical
 *     hit, then the switch will remain ON for the rest of the action.
 * 
 *   Switch: Miss/Evade:
 *   - Turns switch ON if the action misses/is evaded.
 *   - Switch reverts to OFF whenever an action starts.
 *   - If multiple targets/hits are struck, as long as one hit fails to land,
 *     then the switch will remain ON for the rest of the action.
 * 
 * ---
 * 
 * Variables
 * 
 *   Variable: Damage:
 *   - Variable records target damage during action.
 *   - Variable reverts to 0 whenever an action starts.
 *   - If multiple targets/hits are struck, the variable will record the total
 *     amount of damage done for the remainder of the action (unless manually
 *     reseting to 0 during an Action Sequence).
 * 
 *   Variable: Healing:
 *   - Variable records target healing during action.
 *   - Variable reverts to 0 whenever an action starts.
 *   - If multiple targets/hits are struck, the variable will record the total
 *     amount of healing done for the remainder of the action (unless manually
 *     reseting to 0 during an Action Sequence).
 * 
 * ---
 *
 * JS: Battle-Related
 * 
 *   JS: Pre-Start Battle:
 *   - Target function: BattleManager.startBattle()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Post-Start Battle:
 *   - Target function: BattleManager.startBattle()
 *   - JavaScript code occurs after function is run.
 * 
 *   JS: Battle Victory:
 *   - Target function: BattleManager.processVictory()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Escape Success:
 *   - Target function: BattleManager.onEscapeSuccess()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Escape Failure:
 *   - Target function: BattleManager.onEscapeFailure()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Battle Defeat:
 *   - Target function: BattleManager.processDefeat()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Pre-End Battle:
 *   - Target function: BattleManager.endBattle()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Post-End Battle:
 *   - Target function: BattleManager.endBattle()
 *   - JavaScript code occurs after function is run.
 *
 * ---
 *
 * JS: Turn-Related
 * 
 *   JS: Pre-Start Turn:
 *   - Target function: BattleManager.startTurn()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Post-Start Turn:
 *   - Target function: BattleManager.startTurn()
 *   - JavaScript code occurs after function is run.
 * 
 *   JS: Pre-End Turn:
 *   - Target function: Game_Battler.prototype.onTurnEnd()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Post-End Turn:
 *   - Target function: Game_Battler.prototype.onTurnEnd()
 *   - JavaScript code occurs after function is run.
 * 
 *   JS: Pre-Regenerate:
 *   - Target function: Game_Battler.prototype.regenerateAll()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Post-Regenerate:
 *   - Target function: Game_Battler.prototype.regenerateAll()
 *   - JavaScript code occurs after function is run.
 *
 * ---
 *
 * JS: Action-Related
 * 
 *   JS: Pre-Start Action:
 *   - Target function: BattleManager.startAction()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Post-Start Action:
 *   - Target function: BattleManager.startAction()
 *   - JavaScript code occurs after function is run.
 * 
 *   JS: Pre-Apply:
 *   - Target function: Game_Action.prototype.apply()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Pre-Damage:
 *   - Target function: Game_Action.prototype.executeDamage()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Post-Damage:
 *   - Target function: Game_Action.prototype.executeDamage()
 *   - JavaScript code occurs after function is run.
 * 
 *   JS: Post-Apply:
 *   - Target function: Game_Action.prototype.apply()
 *   - JavaScript code occurs after function is run.
 * 
 *   JS: Pre-End Action:
 *   - Target function: BattleManager.endAction()
 *   - JavaScript code occurs before function is run.
 * 
 *   JS: Post-End Action:
 *   - DescriTarget function: BattleManager.endAction()
 *   - JavaScript code occurs after function is run.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Battle Layout Settings
 * ============================================================================
 *
 * The Battle Layout Settings Plugin Parameter gives you control over the look,
 * style, and appearance of certain UI elements. These range from the way the
 * Battle Status Window presents its information to the way certain windows
 * like the Party Command Window and Actor Command Window appear.
 *
 * ---
 *
 * Battle Layout Style
 * - The style used for the battle layout.
 * 
 *   Default:
 *   - Shows actor faces in Battle Status.
 * 
 *   List:
 *   - Lists actors in Battle Status.
 * 
 *   XP:
 *   - Shows actor battlers in a stretched Battle Status.
 * 
 *   Portrait:
 *   - Shows portraits in a stretched Battle Status.
 * 
 *   Border:
 *   - Displays windows around the screen border.
 *
 * ---
 *
 * List Style
 * 
 *   Show Faces:
 *   - Shows faces in List Style?
 * 
 *   Command Window Width:
 *   - Determine the window width for the Party and Actor Command Windows.
 *   - Affects Default and List Battle Layout styles.
 *
 * ---
 *
 * XP Style
 * 
 *   Command Lines:
 *   - Number of action lines in the Actor Command Window for the XP Style.
 * 
 *   Sprite Height:
 *   - Default sprite height used when if the sprite's height has not been
 *     determined yet.
 * 
 *   Sprite Base Location:
 *   - Determine where the sprite is located on the Battle Status Window.
 *     - Above Name - Sprite is located above the name.
 *     - Bottom - Sprite is located at the bottom of the window.
 *     - Centered - Sprite is centered in the window.
 *     - Top - Sprite is located at the top of the window.
 *
 * ---
 *
 * Portrait Style
 * 
 *   Show Portraits?:
 *   - Requires VisuMZ_1_MainMenuCore.
 *   - Shows the actor's portrait instead of a face.
 * 
 *   Portrait Scaling:
 *   - If portraits are used, scale them by this much.
 *
 * ---
 *
 * Border Style
 * 
 *   Columns:
 *   - The total number of columns for Skill & Item Windows in the battle scene
 * 
 *   Show Portraits?:
 *   - Requires VisuMZ_1_MainMenuCore.
 *   - Shows the actor's portrait at the edge of the screen.
 * 
 *   Portrait Scaling:
 *   - If portraits are used, scale them by this much.
 *
 * ---
 *
 * Skill & Item Windows
 * 
 *   Middle Layout:
 *   - Shows the Skill & Item Windows in mid-screen?
 * 
 *   Columns:
 *   - The total number of columns for Skill & Item Windows in the battle scene
 *
 * ---
 * 
 * Status Window Elements
 * 
 *   Battler Name:
 *   Gauge 1 (HP):
 *   Gauge 2 (MP):
 *   Gauge 3 (TP):
 *   State Icon:
 *   TPB/ATB Gauge:
 * 
 *     Offset: X/Y:
 *     - Offset this Battle Status Window element's X/Y.
 *     - For X: Negative goes left. Positive goes right.
 *     - For Y: Negative goes up. Positive goes down.
 * 
 *   Window Skin:
 * 
 *     Filename:
 *     - Filename used for the Battle Status Window skin.
 *     - Leave this empty to use the default window skin.
 * 
 *     Hide Window Skin?:
 *     - Hide the window skin for the Battle Status Window?
 * 
 *   Selectable Background:
 * 
 *     Hide Selectable BG?:
 *     - Show/Hide the selectable background box for the Battle Status Window?
 * 
 *   Attachments:
 * 
 *     Back Attachment:
 * 
 *       Filename:
 *       - Filename used for an image to attach to the back of the Battle
 *         Status Window. Leave empty for none.
 * 
 *       Offset: X/Y:
 *       - Offset this Battle Status Window element's X/Y.
 *       - For X: Negative goes left. Positive goes right.
 *       - For Y: Negative goes up. Positive goes down.
 * 
 *     Front Attachment:
 * 
 *       Filename:
 *       - Filename used for an image to attach to the front of the Battle
 *         Status Window. Leave empty for none.
 * 
 * ---
 * 
 * UI Elements
 * 
 *   Anti-Tint UI?
 *   - Prevent UI Elements from being tinted?
 *   - This prevents UI Elements such as HP Gauges, Enemy Names, Battle Cursor,
 *     and Weakness Display from being affected by screen tint.
 * 
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Battle Log Settings
 * ============================================================================
 *
 * These Plugin Parameters give you control over how the Battle Log Window, the
 * window shown at the top of the screen in the battle layout, appears, its
 * various properties, and which text will be displayed.
 *
 * The majority of the text has been disabled by default with this plugin to
 * make the flow of battle progress faster.
 *
 * ---
 *
 * General
 * 
 *   Back Color:
 *   - Use #rrggbb for a hex color.
 * 
 *   Max Lines:
 *   - Maximum number of lines to be displayed.
 * 
 *   Message Wait:
 *   - Number of frames for a usual message wait.
 * 
 *   Text Align:
 *   - Text alignment for the Window_BattleLog.
 * 
 *   JS: X, Y, W, H:
 *   - Code used to determine the dimensions for the battle log.
 *
 * ---
 *
 * Start Turn
 * 
 *   Show Start Turn?:
 *   - Display turn changes at the start of the turn?
 * 
 *   Start Turn Message:
 *   - Message displayed at turn start.
 *   - %1 - Turn Count
 * 
 *   Start Turn Wait:
 *   - Number of frames to wait after a turn started.
 *
 * ---
 *
 * Display Action
 * 
 *   Show Centered Action?:
 *   - Display a centered text of the action name?
 * 
 *   Show Skill Message 1?:
 *   - Display the 1st skill message?
 * 
 *   Show Skill Message 2?:
 *   - Display the 2nd skill message?
 * 
 *   Show Item Message?:
 *   - Display the item use message?
 *
 * ---
 *
 * Action Changes
 * 
 *   Show Counter?:
 *   - Display counter text?
 * 
 *   Show Reflect?:
 *   - Display magic reflection text?
 * 
 *   Show Substitute?:
 *   - Display substitute text?
 *
 * ---
 *
 * Action Results
 * 
 *   Show No Effect?:
 *   - Display no effect text?
 * 
 *   Show Critical?:
 *   - Display critical text?
 * 
 *   Show Miss/Evasion?:
 *   - Display miss/evasion text?
 * 
 *   Show HP Damage?:
 *   - Display HP Damage text?
 * 
 *   Show MP Damage?:
 *   - Display MP Damage text?
 * 
 *   Show TP Damage?:
 *   - Display TP Damage text?
 *
 * ---
 *
 * Display States
 * 
 *   Show Added States?:
 *   - Display added states text?
 * 
 *   Show Removed States?:
 *   - Display removed states text?
 * 
 *   Show Current States?:
 *   - Display the currently affected state text?
 * 
 *   Show Added Buffs?:
 *   - Display added buffs text?
 * 
 *   Show Added Debuffs?:
 *   - Display added debuffs text?
 * 
 *   Show Removed Buffs?:
 *   - Display removed de/buffs text?
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Battleback Scaling Settings
 * ============================================================================
 *
 * By default, the battlebacks in RPG Maker MZ scale as if the screen size is
 * a static 816x624 resolution, which isn't always the case. These settings
 * here allow you to dictate how you want the battlebacks to scale for the
 * whole game. These settings CANNOT be changed midgame or per battle.
 *
 * ---
 *
 * Settings
 * 
 *   Default Style:
 *   - The default scaling style used for battlebacks.
 *   - MZ (MZ's default style)
 *   - 1:1 (No Scaling)
 *   - Scale To Fit (Scale to screen size)
 *   - Scale Down (Scale Downward if Larger than Screen)
 *   - Scale Up (Scale Upward if Smaller than Screen)
 * 
 *   JS: 1:1:
 *   JS: Scale To Fit:
 *   JS: Scale Down:
 *   JS: Scale Up:
 *   - This code gives you control over the scaling for this style.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Party Command Window
 * ============================================================================
 *
 * These Plugin Parameters allow you control over how the Party Command Window
 * operates in the battle scene. You can turn disable it from appearing or make
 * it so that it doesn't 
 *
 * ---
 *
 * Command Window
 * 
 *   Style:
 *   - How do you wish to draw commands in the Party Command 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 Party Command Window.
 * 
 *   Fight Icon:
 *   - The icon used for the Fight command.
 * 
 *   Add Auto Battle?:
 *   - Add the "Auto Battle" command to the Command Window?
 * 
 *     Auto Battle Icon:
 *     - The icon used for the Auto Battle command.
 * 
 *     Auto Battle Text:
 *     - The text used for the Auto Battle command.
 * 
 *   Add Options?:
 *   - Add the "Options" command to the Command Window?
 * 
 *     Options Icon:
 *     - The icon used for the Options command.
 * 
 *     Active TPB Message:
 *     - Message that will be displayed when selecting options during the
 *       middle of an action.
 * 
 *   Escape Icon:
 *   - The icon used for the Escape command.
 *
 * ---
 *
 * Access
 * 
 *   Skip Party Command:
 *   - DTB: Skip Party Command selection on turn start.
 *   - TPB: Skip Party Command selection at battle start.
 * 
 *   Disable Party Command:
 *   - Disable the Party Command Window entirely?
 *
 * ---
 *
 * Help Window
 * 
 *   Fight:
 *   - Text displayed when selecting a skill type.
 *   - %1 - Skill Type Name
 * 
 *   Auto Battle:
 *   - Text displayed when selecting the Auto Battle command.
 * 
 *   Options:
 *   - Text displayed when selecting the Options command.
 * 
 *   Escape:
 *   - Text displayed when selecting the escape command.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Actor Command Window
 * ============================================================================
 *
 * These Plugin Parameters allow you to change various aspects regarding the
 * Actor Command Window and how it operates in the battle scene. This ranges
 * from how it appears to the default battle commands given to all players
 * without a custom <Battle Commands> notetag.
 *
 * ---
 *
 * Command Window
 * 
 *   Style:
 *   - How do you wish to draw commands in the Actor Command 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 Actor Command Window.
 * 
 *   Item Icon:
 *   - The icon used for the Item command.
 * 
 *   Normal SType Icon:
 *   - Icon used for normal skill types that aren't assigned any icons.
 *   - Ignore if VisuMZ_1_SkillsStatesCore is installed.
 * 
 *   Magic SType Icon:
 *   - Icon used for magic skill types that aren't assigned any icons.
 *   - Ignore if VisuMZ_1_SkillsStatesCore is installed.
 *
 * ---
 *
 * Battle Commands
 * 
 *   Command List:
 *   - List of battle commands that appear by default if the <Battle Commands>
 *     notetag isn't present.
 *
 *     - Attack 
 *       - Adds the basic attack command.
 * 
 *     - Skills
 *       - Displays all the skill types available to the actor.
 * 
 *     - SType: x
 *     - Stype: name
 *       - Adds in a specific skill type.
 *       - Replace 'x' with the ID of the skill type.
 *       - Replace 'name' with the name of the skill type (without text codes).
 *
 *     - All Skills
 *       - Adds all usable battle skills as individual actions.
 * 
 *     - Skill: x
 *     - Skill: name
 *       - Adds in a specific skill as a usable action.
 *       - Replace 'x' with the ID of the skill.
 *       - Replace 'name' with the name of the skill.
 * 
 *     - Guard
 *       - Adds the basic guard command.
 * 
 *     - Item
 *       - Adds the basic item command.
 * 
 *     - Escape
 *       - Adds the escape command.
 * 
 *     - Auto Battle
 *       - Adds the auto battle command.
 * 
 *     - Party
 *       - Requires VisuMZ_2_PartySystem!
 *       - Switches out the current actor for another.
 * 
 *     - Combat Log
 *       - Requires VisuMZ_4_CombatLog!
 *       - Shows combat log.
 * 
 *     - Talk
 *       - Requires VisuMZ_3_BattleCmdTalk!
 *       - Shows talk command if applicable.
 * 
 *     - Weapon Swap
 *       - Requires VisuMZ_2_WeaponSwapSystem!
 *       - Swaps current weapon for next one.
 * 
 *   Show Command Costs:
 *   - If a battle command has a resource cost, show it?
 *
 * ---
 *
 * Help Window
 * 
 *   Skill Types:
 *   - Text displayed when selecting a skill type.
 *   - %1 - Skill Type Name
 * 
 *   Items:
 *   - Text displayed when selecting the item command.
 * 
 *   Escape:
 *   - Text displayed when selecting the escape command.
 * 
 *   Auto Battle:
 *   - Text displayed when selecting the Auto Battle command.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Multi-Target Windows Settings
 * ============================================================================
 *
 * Action Sequence Plugin Parameters adjust how the Multi-Target Windows appear
 * in battle. These windows are visible when selecting an enemy or actor while
 * using a skill/item that has the <Single or Multiple Select> notetag.
 * 
 * Those wondering why this isn't regulated to a command left or right of the
 * enemies and actors is because mouse controls and touch controls would not be
 * able to select all enemies or all allies that way.
 *
 * ---
 * 
 * Properties
 * 
 *   Window Width:
 *   - What is the width used for the Multi-Target Window?
 * 
 *   Background Type:
 *   - Select background type for these windows.
 * 
 *   Show Button:
 *   - Shows the keyboard/controller button to press?
 *   - Requires VisuMZ_0_CoreEngine!
 * 
 * ---
 * 
 * Vocab
 * 
 *   All Actors:
 *   - What is the text used for the "All Actors" button?
 * 
 *   All Enemies:
 *   - What is the text used for the "All Enemies" button?
 * 
 * ---
 * 
 * Offsets > Actor Offsets
 * Offsets > Enemy Offsets
 * 
 *   Offset X:
 *   - Offsets the button's x position.
 *   - Negative: left. Positive: right.
 * 
 *   Offset Y:
 *   - Offsets the button's y position.
 *   - Negative: up. Positive: down.
 * 
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Actor Battler Settings
 * ============================================================================
 *
 * These Plugin Parameter settings adjust how the sideview battlers behave for
 * the actor sprites. Some of these settings are shared with enemies if they
 * use sideview battler graphics.
 *
 * ---
 *
 * Flinch
 * 
 *   Flinch Distance X:
 *   - The normal X distance when flinching.
 * 
 *   Flinch Distance Y:
 *   - The normal Y distance when flinching.
 * 
 *   Flinch Duration:
 *   - The number of frames for a flinch to complete.
 * 
 *   Shake Flinch:
 *   - Perform a shake flinch when taking damage?
 * 
 *     Max Duration:
 *     - Maximum duration a shake flinch can have.
 *     - This is reduced relative to the amount of damage taken.
 * 
 *     Max Power:
 *     - The power rating of a shake flinch at full damage.
 *     - This is reduced relative to the amount of damage taken.
 *
 * ---
 *
 * Sideview Battlers
 * 
 *   Anchor: X:
 *   - Default X anchor for Sideview Battlers.
 * 
 *   Anchor: Y:
 *   - Default Y anchor for Sideview Battlers.
 * 
 *   Chant Style:
 *   - What determines the chant motion?
 *   - Hit type or skill type?
 * 
 *   Offset X:
 *   - Offsets X position where actor is positioned.
 *   - Negative values go left. Positive values go right.
 * 
 *   Offset Y:
 *   - Offsets Y position where actor is positioned.
 *   - Negative values go up. Positive values go down.
 * 
 *   Motion Speed:
 *   - The number of frames in between each motion.
 * 
 *   Priority: Active:
 *   - Place the active actor on top of actor and enemy sprites.
 * 
 *   Priority: Actors:
 *   - Prioritize actors over enemies when placing sprites on top of each other
 * 
 *   Shadow Visible:
 *   - Show or hide the shadow for Sideview Battlers.
 * 
 *   Smooth Image:
 *   - Smooth out the battler images or pixelate them?
 * 
 *   JS: Home Position:
 *   - Code used to calculate the home position of actors.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Enemy Battler Settings
 * ============================================================================
 *
 * These Plugin Parameter settings adjust how enemies appear visually in the
 * battle scene. Some of these settings will override the settings used for
 * actors if used as sideview battlers. Other settings include changing up the
 * default attack animation for enemies, how the enemy select window functions,
 * and more.
 *
 * ---
 *
 * Visual
 * 
 *   Attack Animation:
 *   - Default attack animation used for enemies.
 *   - Use <Attack Animation: x> for custom animations.
 * 
 *   Emerge Text:
 *   - Show or hide the 'Enemy emerges!' text at the start of battle.
 * 
 *   Offset X:
 *   - Offsets X position where enemy is positioned.
 *   - Negative values go left. Positive values go right.
 * 
 *   Offset Y:
 *   - Offsets Y position where enemy is positioned.
 *   - Negative values go up. Positive values go down.
 * 
 *   Smooth Image:
 *   - Smooth out the battler images or pixelate them?
 *
 * ---
 *
 * Select Window
 * 
 *   Any: Last Selected:
 *   - Prioritize last selected enemy over front view or sideview settings?
 * 
 *   FV: Right Priority:
 *   - If using frontview, auto select the enemy furthest right.
 * 
 *   SV: Right Priority:
 *   - If using sideview, auto select the enemy furthest right.
 * 
 * ---
 * 
 * Name:
 * 
 *   Legacy Option:
 *   - Use the legacy version (window) or new version (sprite).
 *   - WARNING: Legacy version is no longer supported for bugs.
 *   - Not all settings available here in the Plugin Parameters will be
 *     available to the legacy version (ie Always Visible and Attach States).
 * 
 *   Font Size:
 *   - Font size used for enemy names.
 * 
 *   Name Position:
 * 
 *     Offset X:
 *     Offset Y:
 *     - Offset the enemy name's position by this much.
 *     - For X: Negative goes left. Positive goes right.
 *     - For Y: Negative goes up. Positive goes down.
 * 
 *   Name: Attach States:
 *   - Attach the enemy's state icon to the enemy name?
 * 
 *     Attach: Offset X:
 *     Attach: Offset Y:
 *     - How much to offset the attached icon's X/Y position by?
 *     - For X: Negative goes left. Positive goes right.
 *     - For Y: Negative goes up. Positive goes down.
 * 
 *   Name Visibility:
 * 
 *     Always Hidden:
 *     - Determines if the enemy name will always be visible.
 *     - Highest priority.
 * 
 *     Always Visible:
 *     - Determines if the enemy name will always be visible.
 *     - Medium priority.
 * 
 *     By Selection?:
 *     - Determines the conditions for enemy name visibility.
 *     - Lowest priority.
 *
 * ---
 *
 * Sideview Battlers
 * 
 *   Allow Collapse:
 *   - Causes defeated enemies with SV Battler graphics to "fade away"
 *     when defeated?
 * 
 *   Anchor: X:
 *   - Default X anchor for Sideview Battlers.
 *   - Use values between 0 and 1 to be safe.
 * 
 *   Anchor: Y:
 *   - Default Y anchor for Sideview Battlers.
 *   - Use values between 0 and 1 to be safe.
 * 
 *   Motion: Idle:
 *   - Sets default idle animation used by Sideview Battlers.
 * 
 *   Shadow Visible:
 *   - Show or hide the shadow for Sideview Battlers.
 * 
 *   Size: Width:
 *   - Default width for enemies that use Sideview Battlers.
 * 
 *   Size: Height:
 *   - Default height for enemies that use Sideview Battlers.
 * 
 *   Weapon Type:
 *   - Sets default weapon type used by Sideview Battlers.
 *   - Use 0 for Bare Hands.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: HP Gauge Settings
 * ============================================================================
 *
 * Settings that adjust the visual HP Gauge displayed in battle.
 *
 * ---
 *
 * Show Gauges For
 * 
 *   Actors:
 *   - Show HP Gauges over the actor sprites' heads?
 *   - Requires SV Actors to be visible.
 * 
 *   Enemies:
 *   - Show HP Gauges over the enemy sprites' heads?
 *   - Can be bypassed with <Hide HP Gauge> notetag.
 * 
 *     Requires Defeat?:
 *     - Requires defeating the enemy once to show HP Gauge?
 *     - Can be bypassed with <Show HP Gauge> notetag.
 * 
 *       Battle Test Bypass?:
 *       - Bypass the defeat requirement in battle test?
 *
 * ---
 *
 * Settings
 * 
 *   Animation Duration:
 *   - How many frames should gauges animate themselves?
 *   - Default: 20 frames.
 * 
 *   Anchor X:
 *   Anchor Y:
 *   - Where do you want the HP Gauge sprite's anchor X/Y to be?
 *     Use values between 0 and 1 to be safe.
 * 
 *   Scale:
 *   - How large/small do you want the HP Gauge to be scaled?
 * 
 *   Offset X:
 *   Offset Y:
 *   - How many pixels to offset the HP Gauge's X/Y by?
 *
 * ---
 *
 * Options
 * 
 *   Add Option?:
 *   - Add the 'Show HP Gauge' option to the Options menu?
 * 
 *   Adjust Window Height:
 *   - Automatically adjust the options window height?
 * 
 *   Option Name:
 *   - Command name of the option.
 *
 * ---
 *
 * ============================================================================
 * Plugin Parameters: Action Sequence Settings
 * ============================================================================
 *
 * Action Sequence Plugin Parameters allow you to decide if you want automatic
 * Action Sequences to be used for physical attacks, the default casting
 * animations used, how counters and reflects appear visually, and what the
 * default stepping distances are.
 *
 * ---
 *
 * Automatic Sequences
 * 
 *   Melee Single Target:
 *   - Allow this auto sequence for physical, single target actions?
 * 
 *   Melee Multi Target:
 *   - Allow this auto sequence for physical, multi-target actions?
 *
 * ---
 * 
 * Quality of Life
 * 
 *   Auto Notetag:
 *   - Automatically apply the <Custom Action Sequence> notetag effect to any
 *     item or skill that has a Common Event?
 *   - Any item or skill without a Common Event attached to it will use the
 *     Automatic Action Sequences instead.
 *   - The <Auto Action Sequence> notetag will disable this effect for that
 *     particular skill or item.
 * 
 * ---
 *
 * Cast Animations
 * 
 *   Certain Hit:
 *   - Cast animation for Certain Hit skills.
 * 
 *   Physical:
 *   - Cast animation for Physical skills.
 * 
 *   Magical:
 *   - Cast animation for Magical skills.
 *
 * ---
 *
 * Counter/Reflect
 * 
 *   Counter Back:
 *   - Play back the attack animation used?
 * 
 *   Reflect Animation:
 *   - Animation played when an action is reflected.
 * 
 *   Reflect Back:
 *   - Play back the attack animation used?
 *
 * ---
 *
 * Stepping
 * 
 *   Melee Distance:
 *   - Minimum distance in pixels for Movement Action Sequences.
 * 
 *   Step Distance X:
 *   - The normal X distance when stepping forward.
 * 
 *   Step Distance Y:
 *   - The normal Y distance when stepping forward.
 * 
 *   Step Duration:
 *   - The number of frames for a stepping action to complete.
 *
 * ---
 *
 * ============================================================================
 * 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.
 *
 * ============================================================================
 * Credits
 * ============================================================================
 * 
 * If you are using this plugin, credit the following people in your game:
 * 
 * Team VisuStella
 * * Yanfly
 * * Arisu
 * * Olivia
 * * Irina
 *
 * ============================================================================
 * Changelog
 * ============================================================================
 * 
 * Version 1.82: March 14, 2024
 * * Bug Fixes!
 * ** Home movement changes did not acknowledge actor and enemy offset X/Y
 *    positions. This should now be reflected properly. Fix made by Irina.
 * ** Fixed a bug where in active TPB/ATB, revived actors may not resume normal
 *    motions after collapsing. Fix made by Olivia.
 * 
 * Version 1.81: February 15, 2024
 * * Bug Fixes!
 * ** Fixed a bug that would cause active TPB inputting actors to not show
 *    their damage or evasion motions. Fix made by Olivia.
 * ** Fixed a bug that would cause a crash upon motion changes. Fix by Olivia.
 * ** Fixed an incorrect spelling of "Anger" for "ANIM: Balloon Animation" that
 *    prevented it from working properly.
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Action Sequences added by Olivia:
 * *** ANIM: Show Animation JS
 * **** Plays the a specific animation on unit(s). Uses JavaScript to determine
 *      animation ID.
 * ** New Action Sequences added for future plugin: VisuMZ_2_BattleGridSystem
 * *** GRID: Action Animation at Node
 * *** GRID: Add Passive State(s) to Node
 * *** GRID: Add Trigger to Node
 * *** GRID: Animation ID at Node
 * *** GRID: Animation JS at Node
 * *** GRID: Animation Type at Node
 * *** GRID: Move Target(s) In Direction
 * *** GRID: Pull To Target Node
 * *** GRID: Push From Target Node
 * *** GRID: Remove All Passive States from Node
 * *** GRID: Remove Passive State(s) from Node
 * *** GRID: Remove Trigger from Node
 * *** GRID: Teleport To Node
 * *** GRID: Traverse To Node
 * **** Requires the future plugin VisuMZ_2_BattleGridSystem!
 * **** Read the help section for more information on these.
 * 
 * Version 1.80: January 18, 2024
 * * Bug Fixes!
 * ** Fixed a crash that would occur with <Disperse Damage> when used outside
 *    of battle. Fix made by Irina.
 * ** Fixed a crash that would occur with certain enemy graphics when images
 *    used for them would disappear. Fix made by Olivia.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Action Sequences added by Olivia:
 * *** ANIM: Guard Animation
 * *** ANIM: Item Animation
 * *** ANIM: Skill Animation
 * **** Plays the animation associated with the user's guard action (if any),
 *      or a specific item/skill.
 * *** MECH: Emulate Attack Effect
 * *** MECH: Emulate Guard Effect
 * *** MECH: Emulate Item Effect
 * *** MECH: Emulate Skill Effect
 * **** Emulate an "Action Effect" but using a the user's attack skill, guard
 *      skill, specific item, or specific skill instead of the current action.
 * **** Essentially lets you perform the mechanics of another action without
 *      having to use another action or needing to pay that action's costs.
 * *** MECH: Emulate Skill Cost
 * **** Pick a skill for target(s) to emulate paying the cost of.
 * **** Includes cooldowns and limited uses.
 * *** MECH: State Turns Change By
 * *** MECH: State Turns Change To
 * **** Changes target(s) state turns by an amount/to a certain value.
 * **** Requires VisuMZ_1_SkillsStatesCore!
 * *** Projectile action sequences have new Extra Features!
 * **** See v1.08 changes for VisuMZ_3_ActSeqProjectiles.
 * 
 * Version 1.79: December 14, 2023
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Action Sequences added by Arisu:
 * *** ANIM: Balloon Animation
 * **** Plays a balloon animation on target(s).
 * *** ANIM: Balloon Icon (Single)
 * *** ANIM: Balloon Icon (Range)
 * *** ANIM: Balloon Icon (Specific)
 * **** Plays a balloon animation using an icon on target(s).
 * **** Requires VisuMZ_4_IconBalloons!
 * 
 * Version 1.78: October 12, 2023
 * * Bug Fixes!
 * ** Fixed a bug that is caused by using the actor escape command not escaping
 *    properly in battle and causing a freeze. Fix made by Olivia.
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Plugin Parameter added by Olivia:
 * *** Parameters > Mechanics > Turn End Buffs Expire?
 * **** Normally, buffs expire after all actions end.
 * **** But here, you can have buffs expire on turn end.
 * * Optimization Update!
 * ** Plugin should run more optimized.
 * 
 * Version 1.77: August 17, 2023
 * * Bug Fixes!
 * ** Fixed a bug where for TPB, actions aimed at dead targets would not
 *    redirect to suitable targets. Fix made by Olivia.
 * ** Fixed a bug where dual wielding would not use a weapon if it was equipped
 *    in the second weapon slot if the first weapon slot was empty. Fix made
 *    by Olivia.
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * ** Added compatibility for VisuStella MZ Battle Voices Action Sequences.
 * * Documentation Update!
 * ** Help file updated for new features.
 * 
 * Version 1.76: July 13, 2023
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Action Sequences added by Olivia and sponsored by NSG:
 * *** MOVE: Change Home To JS Coordinates
 * **** Change home position(s) to specified JS Coordinates. Sideview-only!
 *      Uses JS!
 * *** MOVE: Face JS Coordinates
 * **** Causes the unit(s) to face specified JS Coordinates. Sideview-only!
 *      Uses JS!
 * *** MOVE: Move To JS Coordinates
 * **** Moves unit(s) to specified JS Coordinates. Sideview-only! Uses JS!
 * 
 * Version 1.75: March 16, 2023
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New notetags added by Olivia and sponsored by Anon:
 * *** <HP Life Steal: x%>
 * *** <MP Life Steal: x%>
 * *** <HP Life Steal hitType: +/-x%>
 * *** <MP Life Steal hitType: +/-x%>
 * *** <Cancel Life Steal>
 * *** <Guard Life Steal>
 * *** <Disarm Life Steal>
 * *** <Negative Life Steal>
 * **** Life Steal properties involving HP/MP are now added. They will restore
 *      a portion of the dealt HP/MP damage to the target.
 * **** This is a different mechanic from Drain HP/Drain MP and cannot be used
 *      together to prevent clashing.
 * **** Read the help file for more information.
 * 
 * Version 1.74: February 16, 2023
 * * Bug Fixes!
 * ** Fixed a bug that would cause a crash if your basic attack skill somehow
 *    manages to target neither an enemy nor an actor. Fix made by Olivia.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Update!
 * ** Auto-action sequence for jumping forward and attacking is now reinstated
 *    so that it's only disabled when the target and user are on the same side.
 *    If there is no target, a jump still occurs for visual player feedback.
 *    Update made by Olivia.
 * * New Features!
 * ** New notetag effect added by Olivia and sponsored by AndyL:
 * *** <Cannot Target User>
 * **** This will cause the action to be unable to select the user as target.
 * **** This is not a targeting scope. Instead, it is used in addition to any
 *      other targeting scopes out there.
 * 
 * Version 1.73: January 20, 2023
 * * Bug Fixes!
 * ** Active TPB custom action sequences will no longer play differently due to
 *    queued inputting actors causing motion refreshes. Fix made by Arisu.
 * ** Corrected and updated Anti-Tint UI animation offsets for MV animations.
 *    Fix made by Irina.
 * ** Fixed a problem with Sideview Battlers not working properly. Fix made
 *    by Irina.
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * * Documentation Update!
 * ** Help file updated for new features.
 * ** Help file updated for to add the following text to the <Target: x>
 *    notetag entries in order to avoid confusion.
 * *** This will overwrite the existing database scope and ignore the
 *     database's existing scope in favor of this.
 * * Feature Update!
 * ** <Extend: x> Troop Name Tag is now also usable as a Troop Comment Tag.
 * ** Action Sequence targeting has been updated with two new types "special"
 *    and "special x", to be used for future plugins.
 * * New Features!
 * ** New Notetags added by Irina and sponsored by AndyL:
 * *** <Target: Ally or Enemy>
 * *** <Target: Enemy or Ally>
 * **** Allows the player to target allies or enemies with the skill/item.
 * **** See help file for more information.
 * *** <Single or Multiple Select>
 * **** This will allow the skill/item to be able to select either single
 *      targets or multiple targets at once.
 * **** See help file for more information.
 * *** <Disperse Damage>
 * **** This will cause any damage dealt by this skill to be split equally
 *      amongst all targets of the skill including repeats.
 * ** New Plugin Parameters added by Irina and sponsored by AndyL:
 * *** Plugin Parameters > Multi-Target Windows
 * **** Settings that alter the Multi-Target Windows in battle.
 * 
 * Version 1.72: December 15, 2022
 * * Bug Fixes!
 * ** Fixed a transformation of a sideview enemy to a static enemy and back not
 *    working properly. Fix made by Irina.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Feature!
 * ** New Plugin Parameter added by Irina!
 * *** Plugin Parameters > HP Gauges > Settings > Animation Duration
 * **** How many frames should gauges animate themselves? Default: 20 frames.
 * ** New Plugin Parameters added by Yanfly!
 * *** Plugin Parameters > Actor Battler Settings > Shake Flinch
 * *** Plugin Parameters > Actor Battler Settings > Shake Flinch > Max Power
 * *** Plugin Parameters > Actor Battler Settings > Shake Flinch > Max Duration
 * **** These new plugin parameters will cause targets that take HP damage to
 *      shake (in addition to a regular flinch) to provide better visual
 *      feedback to the player.
 * **** Shake Flinch will be kept disabled by default and only turned on when
 *      you want it to be.
 * * Optimization Update!
 * ** Plugin should run more optimized.
 * 
 * Version 1.71: November 10, 2022
 * ** Fixed a problem with repeating animations from Visual State Effects
 *    causing softlocks. Fix made by Olivia.
 * 
 * Version 1.70: October 6, 2022
 * * Bug Fixes!
 * ** Fixed a problem with the "Border" style where if a battle portrait
 *    changed midway through the battle, the portrait shown didn't actually
 *    update properly. Fix made by Irina.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Action Sequence added by Olivia:
 * *** MECH: Active Chain Input Disable
 * **** Disables input for Active Chain Skills at this time.
 * **** Requires VisuMZ_3_ActiveChainSkills!
 * ** New Plugin Parameter added by Olivia and sponsored by Anon:
 * *** Plugin Parameters > Damage Settings > Popups > End Battle Show?
 * **** Show or hide popups upon victory or escape?
 * **** Used to hide battle-state removal popups.
 * 
 * Version 1.69: September 7, 2022
 * * Compatibility Update!
 * ** Better compatibility with VisuMZ Active Chain Skills.
 * ** Compatibility will be seen with VisuMZ_3_ActiveChainSkills version 1.02.
 * * Documentation Update!
 * ** Added notes to the following Action Sequences:
 * *** MOTION: Clear Freeze Frame and MOTION: Freeze Motion Frame
 * **** Only applies to sprite sheets.
 * **** Does NOT work with Dragonbones.
 * **** Use "DB: Dragonbones Time Scale" instead.
 * * Feature Update!
 * ** Reduced MV Animation misalignment when Screen Resolution does not match
 *    the UI Area Resolution. Update by Arisu.
 * ** Command Remember will now remember the locations of single skills. Update
 *    made by Olivia.
 * 
 * Version 1.68: August 4, 2022
 * * Feature Update!
 * ** Damage popups are now automatically cleared upon starting battles. This
 *    is to ensure that, if for some reason, residual damage popup requests
 *    will not be retained. Update made by Olivia.
 * 
 * Version 1.67: July 28, 2022
 * * Feature Updates!
 * ** Rounding window coordinates have been added for for 'XP' and 'Portrait'
 *    styles when window sizes happen to land on non-divisible numbers. Update
 *    made by Irina.
 * ** Enemy name position rounding is now enforced. Update made by Irina.
 * 
 * Version 1.66: July 14, 2022
 * * Bug Fixes!
 * ** Fixed a bug that caused the various Battleback Scaling JS custom plugin
 *    parameters to not work properly. Fix made by Irina.
 * 
 * Version 1.65: July 7, 2022
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Updates!
 * ** Automatic action motions for HP and MP Recovery (Certain Hit type) will
 *    now use the "skill" cast SV animation instead of attack animation to
 *    better match the default RPG Maker MZ cast animation. Update by Olivia.
 * * New Features!
 * ** New troop name tag added by Olivia:
 * *** <Extend: x> and <Extend: x, x, x>
 * **** Adds enemies from another troop to the current troop.
 * **** Enemies from another troop will retain their database positions.
 * **** Extended troop members will be added in the order they're listed.
 * **** Be cautious of how many enemies you add as too many will lag the battle
 *      system. We are not responsible for frame drops due to this.
 * 
 * Version 1.64: June 16, 2022
 * * Bug Fixes!
 * ** "All Skills" battle command should now work with the updated version of
 *    VisuMZ Skills & States Core. Fix madde by Olivia.
 * * Compatibility Update
 * ** Plugins should be more compatible with one another.
 * 
 * Version 1.63: May 26, 2022
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Update!
 * ** HP Gauge sprite now properly synchs with battler location.
 * * New Features!
 * ** New Action Sequence Effects added by Irina and sponsored by MirageV:
 * *** INJECT action sequence series
 * **** See the Action Sequence Impact changelog for details.
 * 
 * Version 1.62: April 22, 2022
 * * Bug Fixes!
 * ** RPG Maker MZ Bug Fix!
 * *** Battle Forced End Action Crash
 * **** Depending on various circumstances, currently active battlers can be
 *      cleared from the battle system at will due to a number of reasons.
 *      However, if it just so happens that the targets are cleared, too, with
 *      actions remaining, then a crash will follow up. This plugin will
 *      prevent that change. Fix made by Olivia.
 * 
 * Version 1.61: April 14, 2022
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Impact Effects added by Irina and collaborating with Manu Gaming!
 * *** Impact: Bizarro Inversion
 * *** Impact: Desaturation
 * *** Impact: Negative Inversion
 * *** Impact: Oversaturation
 * *** Impact: Time Scale
 * *** Impact: Time Stop
 * 
 * Version 1.60: April 7, 2022
 * * Bug Fixes!
 * ** <Bypass Soft Damage Cap> notetag should no longer cause crashes. Fix made
 *    by Olivia.
 * * Feature Update!
 * ** Removed one of the forced log window clear events that have made log
 *    window messages impossible to utilize for certain settings. Update made
 *    by Olivia.
 * 
 * Version 1.59: March 31, 2022
 * * Bug Fixes!
 * ** Escape failure will no longer trigger Post-Battle Common Events. Fix
 *    made by Arisu.
 * 
 * Version 1.58: March 24, 2022
 * * Documentation Update:
 * ** Added extra clarity to <Sideview Size: width, height> notetag:
 * *** This does NOT change the image size. This only changes the HITBOX size.
 * * Feature Update!
 * ** Added failsafes to prevent battlers from moving to non-finite coordinates
 *    if calculations are made for non-existent targets. Updated by Olivia.
 * ** Regeneration timing for TPB-based battle systems will now occur based on
 *    individual turn counts instead of global turn counts for initial turn 0
 *    checks. Updated by Olivia.
 * 
 * Version 1.57: February 17, 2022
 * * Feature Update!
 * ** Adjusted the offset properties for the anti-tint UI container to properly
 *    match the UI offsets if the anti-tint were to be off. Update by Irina.
 * 
 * Version 1.56: February 10, 2022
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Update!
 * ** Once Parallels for battle now operate outside of the battle process.
 *    Update made by Olivia.
 * * New Features!
 * ** New Troop Page comment tag added by Olivia and sponsored by Puddor:
 * *** <Once Parallel When Start Battle>
 * **** Causes the troop page to immediately run the moment the battle scene
 *      begins to fade in (not after it fades in). This is faster than a turn 0
 *      condition troop page. Troop page conditions are ignored.
 * **** This can be used for things like the Action Sequence Camera plugin, the
 *      Visual Battle Environment plugin, and/or initial battle poses and such
 *      in order to provide a near seamless battle transition experience.
 * **** This does NOT trigger when coming out of the options menu or party
 *      menu screens.
 * **** This WILL trigger when going from battle to battle nonstop via plugins
 *      like VisuStella MZ's Chain Battles.
 * **** When actors are moving towards their home positions, it will take
 *      around 30 frames by default. Use this information however you like.
 * * Optimization Update!
 * ** Plugin should run more optimized.
 * 
 * Version 1.55: January 27 2022
 * * Compatibility Update!
 * ** RPG Maker MV animations with front view should now play in the correct
 *    area against actor faces. Update made by Olivia.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Update!
 * ** Animations now play on top of all actor faces/portraits regardless of the
 *    battle layout style. Update made by Olivia.
 * * New Features!
 * ** New notetag added by Arisu.
 * *** <Bypass Auto Action Sequence>
 * **** This notetag is used for the game devs that have the Action Sequence
 *      Plugin Parameter "Auto Notetag" on for applying the notetag
 *      <Custom Action Sequence> to every skill and item with common events.
 * **** This will allow items and skills to be able to launch their common
 *      events from the menu scene regardless of the inherent restriction to
 *      prevent action sequence based skills/items with common events from
 *      launching.
 * **** Ignore this if you have "Auto Notetag" disabled or set to false. By
 *      default, this setting is set to false. Please be aware of the changes
 *      you've made to your game before using it.
 * 
 * Version 1.54: January 13, 2022
 * * Bug Fixes!
 * ** RPG Maker MZ Bug Fix!
 * *** Overly-Protective Substitute
 * *** When an ally with critical health is being targeted by a friendly non-
 *     Certain Hit skill (such as a heal or buff) and another ally has the
 *     substitute state, the other ally would "protect" the originally targeted
 *     ally and take the heal or buff.
 * *** The new changed behavior is that now, substitute will not trigger for
 *     any actions whose scope targets allies.
 * *** Fix made by Olivia.
 * 
 * Version 1.53: December 30, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * ** Help file updated for updated features.
 * * New Features!
 * ** New Plugin Parameter added by Olivia:
 * *** Plugin Parameters > Battle Layout > UI Elements > Anti-Tint UI?
 * **** Prevent UI Elements from being tinted?
 * **** This prevents UI Elements such as HP Gauges, Enemy Names, Battle
 *      Cursor, and Weakness Display from being affected by screen tint.
 * * Updated Feature!
 * ** Updated Plugin Command "PROJECTILE: Animation" by Arisu!
 * *** New Parameter: Wait For Animation?
 * **** Wait for animation to finish before going to the next command?
 * 
 * Version 1.52: December 16, 2021
 * * Compatibility Update!
 * ** RPG Maker MZ 1.4.0 compatibility update!
 * *** MV Animations played on screen level will now show up properly in the
 *     center of the screen.
 * 
 * Version 1.51: December 9, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Action Sequence Plugin Commands added by Arisu:
 * *** MOVE: Change Home By Distance
 * *** MOVE: Change Home To Point
 * *** MOVE: Change Home To Target(s)
 * **** These Plugin Commands allow you to adjust the home position of
 *      battlers in sideview battle.
 * **** This is sideview only!
 * **** This does NOT work with front view!
 * **** For those wondering, going to the options screen, party screen, etc.
 *      won't reset the home positions like regular movement changes do.
 * **** Merry Christmas, Harold-gang!
 * 
 * Version 1.50: November 4, 2021
 * * Bug Fixes!
 * ** <Seal Attack> and <Seal Guard> should no longer be bypassed by
 *    auto-battle status. Fix made by Yanfly.
 * 
 * Version 1.49: October 28, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Update!
 * ** Action Sequence: MOTION: Freeze Motion Frame will now only show weapons
 *    when using a motion that is named either "attack", "thrust", "swing", or
 *    "missile". Update made by Irina.
 * ** Fail safe added to prevent Scene_Battle going into unsupported scenes
 *    like Scene_Equip and Scene_Skill. Update made by Olivia.
 * * New Feature!
 * ** New Action Sequence Plugin Command added by Arisu and sponsored by Anon:
 * *** MECH: Once Parallel
 * **** Plays a Common Event parallel to the battle event once without
 *      repeating itself when done.
 * **** When exiting battle scene, all Once Parallels are cleared.
 * **** Once Parallels are not retained upon reentering the scene.
 * **** Once Parallels are not stored in memory and cannot be saved.
 * 
 * Version 1.48: October 21, 2021
 * * Feature Update!
 * ** Animations are now played on top of battlers in the Front View XP Battle
 *    Layout appearance. Update made by Irina.
 * ** Battle Log, if decided to be shown, now updates faster. Update by Irina.
 * ** Default Critical Damage Bonus increase is now updated to account for
 *    HP Healing and MP Recovery. To update this, create a new project, with
 *    the newest version of Battle Core installed. Copy over the Plugin
 *    Parameters for the Damage Settings > Critical Hits > JS: Damage Formula
 *    to your own project's version. Update made by Irina.
 * 
 * Version 1.47: October 14, 2021
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * * Feature Update!
 * ** Back attachment sprites are now automatically updated with sprite
 *    battlers to be shifted towards the very back.
 * 
 * Version 1.46: September 23, 2021
 * * Bug Fixes!
 * ** Fixed problem with skills and items without action sequences preventing
 *    actions from occurring. Fix made by Yanfly.
 * 
 * Version 1.45: September 17, 2021
 * * Bug Fixes!
 * ** <JS Pre-End Action> and <JS Post-End Action> effects now have multiple
 *    checks to make sure that they don't launch multiple times when a battler
 *    without actions has a turn after one that does. Fix made by Olivia.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Action Sequence notetags added by Yanfly and Arisu:
 * *** <Common Event Key: name>
 * *** <Common Event Keys: name, name, name>
 * *** <Common Event Keys>
 *      key
 *      key
 *      key
 *     </Common Event Keys>
 * **** Will generate Common Events for the skill/item with a corresponding
 *      key.
 * **** More information will be explained inside of the help file.
 * **** This feature is made for make the process of sharing Action Sequences
 *      to become easier without needing to line up Common Event ID's.
 * 
 * Version 1.44: August 20, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Action Sequence added by Irina and sponsored by Anon.
 * *** "ANIM: Play at Coordinate"
 * **** Plays an animation on the screen at a specific x, y coordinate even if
 *      there is no sprite attached.
 * **** Requires VisuMZ_0_CoreEngine!
 * 
 * Version 1.43: July 23, 2021
 * * Feature Update!
 * ** Immortality now works different with instant death mechanics. Skill
 *    effects that apply instant death or attack states that apply instant
 *    death will now trigger a flag instead of cancelling immortality. The
 *    flag will remain until immortality is manually cancelled via Action
 *    Sequence and then proc the death effect. This way, animations can remain
 *    to the end with instant death mechanics in mind. This does not affect
 *    script calls.
 * 
 * Version 1.42: July 16, 2021
 * * Bug Fixes!
 * ** Added another fail safe for empty common events used for pre-battle
 *    common events. Fix made by Olivia.
 * 
 * Version 1.41: July 2, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * ** Added entries to <Battle Command> notetags and Plugin Parameters for
 *    "Party", "Combat Log", and "Weapon Swap" which weren't updated before.
 * * Optimization Update!
 * ** Plugin should run more optimized.
 * * New Features!
 * ** New Action Sequence added by Arisu:
 * *** MECH: Enemy Escape
 * **** Causes the enemy unit(s) to escape.
 * 
 * Version 1.40: June 25, 2021
 * * Bug Fixes!
 * ** Transformations from static enemies to and from animated SV enemies
 *    should no longer show both sprites. Fix made by Irina.
 * * Compatibility Update
 * ** Compatibility update with RPG Maker MZ 1.3.0+.
 * 
 * Version 1.39: June 18, 2021
 * * Bug Fixes!
 * ** MOVE: Home Reset should no longer trigger an end action function and
 *    cause plugins such as "Boost Action" to malfunction. Fix made by Olivia.
 * * Compatibility Update
 * ** Added compatibility functionality for future plugins.
 * * Documentation Update!
 * ** Help file updated for updated features.
 * * Feature Update!
 * ** <Battle Layout: x> Troop Name tags can now work with comment tags. Update
 *    made by Irina.
 * ** Random encounter lists are now better shuffled for more variety with how
 *    the RNG seed works. Update made by Arisu.
 * 
 * Version 1.38: June 11, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Updates!
 * ** Location calculations will now be based off the a battler's base position
 *    in order for animations, popups, and other aspects to line up properly
 *    when scaled. Update made by Irina.
 * ** Plugin Parameters for Enemy Battler Settings > Name have been rearranged
 *    for better organization. Update by Olivia.
 * * New Features!
 * ** New Notetags added by Olivia and sponsored by NSG:
 * *** <Sideview Shadow Scale X: x%>
 * *** <Sideview Shadow Scale X: x.y>
 * *** <Sideview Shadow Scale Y: x%>
 * *** <Sideview Shadow Scale Y: x.y>
 * **** These new notetags allow you to adjust the X and Y scale of the SV
 *      shadow sprite separately.
 * ** New Plugin Parameters added by Olivia and sponsored by NSG:
 * *** Enemy Battler Settings > Name > Name Visibility > Always Hidden
 * *** Enemy Battler Settings > Name > Name Visibility > By Selection?
 * **** Choose to have the names always hidden or by selection.
 * **** These are adjusted on a priority list.
 * 
 * Version 1.37: May 21, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New notetags added by Olivia.
 * *** <Command Require Learn>
 * *** <Command Require Access>
 * **** These two commands determine the visibility of a battle command by
 *      whether or not the skill has been learned or accessible.
 * * Feature Update!
 * ** For those using TPB, each battler's regeneration phase will no longer
 *    tick multiple times in a single frame to prevent irregularities. Update
 *    made by Olivia.
 * 
 * Version 1.36: May 14, 2021
 * * Bug Fixes!
 * ** Reversed an HP/MP regeneration bug that was incorrectly reported for TPB.
 *    Fix made by Olivia.
 * * Documentation Update
 * ** Added "TPB/ATB Active Battle Actor Shifting" to Major Changes section:
 * *** This change has been active since the start of this plugin. It was not
 *     documented until now.
 * *** Pressing cancel on the Actor Command Window no longer switches between
 *     actors with a full TPB/ATB gauge before reaching the Party Command
 *     Window. This is to accomplish a couple of things: 1) reduce the number
 *     of button presses to reach the Party Command Window and 2) to prevent
 *     motion resets and disrupting action sequences. If this feature is vital
 *     to your battle system, we recommend that you do not use this plugin or
 *     any of the Battle Core-required plugins.
 * ** Feature Updates
 * *** Distortion sprite Y calculations will now be rounded upward for better
 *     visuals and prevent odd pixelation effects. Update made by Irina.
 * 
 * Version 1.35: May 7, 2021
 * * Bug Fixes!
 * ** Pre-Battle Common Events without a wait command at the end should no
 *    longer lock up by coincidentally pressing the menu key at the same time.
 *    Fix made by Olivia.
 * * Feature Update!
 * ** Added an extra check for TPB-based battle systems to not run turn end
 *    functions when it's not actually the actual turn end timing. Update made
 *    by Olivia.
 * ** "Damage Styles" plugin parameters are now moved to the top of the
 *    Damage Settings category. This should make it easier to acknowledge the
 *    existence of and not have it be an unknown entity. Update made by Irina.
 * 
 * Version 1.34: April 23, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Update!
 * ** Uses a better algorithm for determining shadow positioning. Update made
 *    by Olivia.
 * * New Features!
 * ** New additions made for Projectile action sequences.
 * ** "Start Location" and "Goal Location" now have "Target Location" parameter
 *    to determine which part of the target's body to send the projectile from
 *    or towards. Added by Olivia.
 * ** Requires VisuMZ_1_BattleCore version 1.34 to have affect.
 * 
 * Version 1.33: April 9, 2021
 * * Bug Fixes!
 * ** Skill costs should now be displayed on battle commands again. Bug fix
 *    made by Olivia.
 * ** Pre-Battle Common Events should no longer cause stalling when used with
 *    specific event commands. Bug fix made by Olivia.
 * * Compatibility Update!
 * ** Added "Weapon Swap" to the list of battle commands that can be added.
 * * Documentation Update!
 * ** Added "Weapon Swap" and "Combat Log" to the list of <Battle Commands> in
 *    the notetags section.
 * ** Help file updated for new features.
 * * New Features!
 * ** New notetags added by Olivia:
 * *** <Sideview Shadow Scale: x%> and <Sideview Shadow Scale: x.y>
 * **** Used for: Actor, Enemy Notetags
 * **** Adjusts the scaling size of the sideview battler's shadow.
 * 
 * Version 1.32: April 2, 2021
 * * Feature Update!
 * ** Sideview battler sprites when using front view will now factor in the
 *    window padding and appear properly centered to their focus point. Update
 *    made by Olivia.
 * 
 * Version 1.31: March 26, 2021
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * * Documentation Update!
 * ** Added "VisuStella MZ Compatibility" section for detailed compatibility
 *    explanations with the VisuMZ_3_BoostAction plugin.
 * 
 * Version 1.30: March 19, 2021
 * * Documentation Update!
 * ** Help file updated for updated features.
 * * Feature Update!
 * ** <JS Targets> is now updated to include the default set of targets
 *    selected by the skill/item's original scope. Update made by Yanfly.
 * *** If you wish to clear it out, simply do 'targets = []' first.
 * 
 * Version 1.29: March 12, 2021
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Plugin Parameter added by Olivia:
 * *** Plugin Parameters > Enemy Battler Settings > Name > Legacy Option
 * **** Use the legacy version (window) or new version (sprite).
 * **** WARNING: Legacy version is no longer supported for bugs.
 * **** Not all settings available here in the Plugin Parameters will be
 *      available to the legacy version (ie Always Visible and Attach States).
 * 
 * Version 1.28: March 5, 2021
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Plugin Parameters added by Arisu:
 * *** Plugin Parameters > Actor Command > Show Command Costs
 * **** If you don't want to show skill costs for your commands in the Actor
 *      Command Window, you can now hide them.
 * ** New Plugin Parameters added by Irina:
 * *** Plugin Parameters > Battle Layout Settings > Status Window Elements
 * *** Battle Layout Settings > Status Window Elements > Battler Name
 * *** Battle Layout Settings > Status Window Elements > Gauge 1 (HP)
 * *** Battle Layout Settings > Status Window Elements > Gauge 2 (MP)
 * *** Battle Layout Settings > Status Window Elements > Gauge 3 (TP)
 * *** Battle Layout Settings > Status Window Elements > State Icon
 * *** Battle Layout Settings > Status Window Elements > TPB/ATB Gauge
 * **** These new Plugin Parameters allow you to offset the positions of the
 *      various Battle Status Window elements. Their base positions will be
 *      calculated by the Battle Layout used and then offset from there.
 * *** Battle Layout Settings > Status Window Elements > Window Skin
 * **** These settings allow you to set a specific window skin for the
 *      Battle Status Window or hide it from view completely.
 * *** Battle Layout Settings > Status Window Elements > Selectable Background
 * **** This option allows you to hide the black box that comes with the
 *      majority of selectable elements found in RPG Maker MZ in case it does
 *      not fit with how you want the Battle Status Window to look.
 * *** Battle Layout Settings > Status Window Elements > Back Attachment
 * *** Battle Layout Settings > Status Window Elements > Front Attachment
 * **** These settings allow you to attach images to the back/front of the
 *      Battle Status Window from the img/system/ folder.
 * **** You may offset X and Y positions for them as well.
 * ** New Plugin Parameters added by Olivia:
 * *** Plugin Parameters > Enemy Settings > Name: Always Visible
 * **** Determines if the enemy name will always be visible.
 * *** Plugin Parameters > Enemy Settings > Name: Attach States
 * **** Attach the enemy's state icon to the enemy name?
 * *** Plugin Parameters > Enemy Settings > Attach: Offset X/Y
 * **** Offset the attached state icon's position.
 * * Feature Update!
 * ** Switched drawing enemy names on the screen from window to sprite to
 *    reduce lag and for better screen positioning accuracy especially during
 *    screen zooming. Update by Olivia.
 * 
 * Version 1.27: February 26, 2021
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * * Documentation Update!
 * ** Help file updated for new features.
 * * New Features!
 * ** New Plugin Parameters added by Irina and sponsored by AndyL:
 * *** Plugin Parameters > Mechanics Settings > Switches > Switch: Critical
 * *** Plugin Parameters > Mechanics Settings > Switches > Switch: Miss/Evade
 * **** Turns Switches ON if the action performs a critical hit, misses, or is
 *      evaded at any point.
 * **** Switch reverts to OFF whenever an action starts.
 * **** If multiple targets/hits are struck, as long as one hit respectively
 *      lands a critical hit, fails to land, then the switch will remain ON for
 *      the rest of the action.
 * *** Plugin Parameters > Mechanics Settings > Variables > Variable: Damage
 * *** Plugin Parameters > Mechanics Settings > Variables > Variable: Healing
 * **** Variable records target damage/healing during action.
 * **** Variable reverts to 0 whenever an action starts.
 * **** If multiple targets/hits are struck, the variable will record the total
 *      amount of damage/healing done for the remainder of the action (unless
 *      manually reseting to 0 during an Action Sequence).
 * 
 * Version 1.26: February 19, 2021
 * * Bug Fixes!
 * ** Battles with branching event paths found within a conditional branch or
 *    choice tree will no longer be skipped over. Fix made by Arisu.
 * * Compatibility Update
 * ** Returning to the battle scene from the options scene in a Tpb-base battle
 *    system now links the current actor. Update by Irina.
 * 
 * Version 1.25: February 5, 2021
 * * Compatibility Update
 * ** Added compatibility update with VisuStella MZ Skills and States Core's
 *    Plugin Parameter > State Settings > Action End Update
 * * Feature Update!
 * ** <Common Event: name> notetag no longer requires <Custom Action Sequence>
 *    notetag if the Plugin Parameter: Auto Notetag is enabled.
 * 
 * Version 1.24: January 29, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Update!
 * ** MOVE: Move To Point and MOVE: Move To Target(s) Action Sequences'
 *    "Offset Adjustment" normal setting will now factor in Offset X and
 *    Offset Y positions unlike before where it cancels them. Update by Irina.
 * * New Features!
 * ** New notetag added by Arisu:
 * *** <Common Event: name>
 * **** Battle only: calls forth a Common Event of a matching name.
 * **** This is primarily used for users who are reorganizing around their
 *      Common Events and would still like to have their skills/items perform
 *      the correct Action Sequences in case the ID's are different.
 * 
 * Version 1.23: January 22, 2021
 * * Documentation Update!
 * ** Help file updated for new features.
 * * Feature Update!
 * ** ACSET: All Targets Action Set and ACSET: Each Target Action Set updated
 * *** New parameter added: Dual/Multi Wield?
 * **** Add times struck based on weapon quantity equipped?
 * * New Features!
 * ** Dual Wielding now functions differently. Made by Olivia.
 * *** Previously, RPG Maker MZ had "Dual Wielding" attack using both weapon
 *     animations at once, with the combined ATK of each weapon. It's confusing
 *     to look at and does not portray the nature of "Dual Wielding".
 * *** Dual Wielding, or in the case of users adding in third and fourth
 *     weapons, Multi Wielding is now changed. Each weapon is displayed
 *     individually, each producing its own attack animation, showing each
 *     weapon type, and applying only that weapon's ATK, Traits, and related
 *     effects. It is no longer a combined effect to display everything at once
 *     like RPG Maker MZ default.
 * *** If an actor has multiple weapon slots but some of them are unequipped,
 *     then the action will treat the attack as a single attack. There will be
 *     no barehanded attack to add on top of it. This is to match RPG Maker
 *     MZ's decision to omit a second animation if the same scenario is
 *     applied.
 * ** New Action Sequence Plugin Commands added by Yanfly
 * *** ANIM: Attack Animation 2+
 * **** Plays the animation associated with the user's 2nd weapon.
 *      Plays nothing if there is no 2nd weapon equipped.
 * ** New Action Sequence Plugin Commands added by Olivia
 * *** WEAPON: Clear Weapon Slot
 * *** WEAPON: Next Weapon Slot
 * *** WEAPON: Set Weapon Slot
 * **** These are Action Sequence Plugin Commands for devs who want finer
 *      control over Dual/Multi Wielding weapons.
 * 
 * Version 1.22: January 15, 2021
 * * Compatibility Update
 * ** Compatibility with "All Skills" Actor Command should now work with the
 *    Skills & States Core hide skill notetags.
 * 
 * Version 1.21: January 8, 2021
 * * Bug Fixes!
 * ** "MOVE: Home Reset" Plugin Command Action Sequence should work properly.
 *    Fix made by Yanfly.
 * * Documentation Update!
 * ** Added documentation for new feature(s)!
 * * New Features!
 * ** New Notetag snuck in by Arisu
 * *** <Auto Action Sequence>
 * **** Used for those who have the "Auto Notetag" Plugin Parameter enabled and
 *      just want to use an automatic Action Sequence instead.
 * ** New Plugin Parameter snuck in by Arisu!
 * *** Plugin Parameters > Action Sequences > Quality of Life > Auto Notetag
 * **** Automatically apply the <Custom Action Sequence> notetag effect to any
 *      item or skill that has a Common Event?
 * **** Any item or skill without a Common Event attached to it will use the
 *      Automatic Action Sequences instead.
 * **** The <Auto Action Sequence> notetag will disable this effect for that
 *      particular skill or item.
 * ** Arisu, you're going to be responsible for any bugs these may cause.
 * *** Bring it!!!!
 * **** And handling any bug report emails that are sent because this was
 *      turned on by accident.
 * ***** Please read the documentation, guys!
 * 
 * Version 1.20: January 1, 2021
 * * Bug Fixes!
 * ** For TPB Active or ATB Active, inputting actors that have received damage
 *    will return back to place after flinching. Fix made by Yanfly.
 * * Documentation Update!
 * ** Added documentation for new feature(s)!
 * * New Features!
 * ** New notetags added by Yanfly:
 * *** <Battle Portrait Offset: +x, +y>
 * *** <Battle Portrait Offset X: +x>
 * *** <Battle Portrait Offset Y: +y>
 * **** This is used with the "Portrait" and "Border" Battle Layouts.
 * **** Offsets the X and Y coordinates for the battle portrait.
 * 
 * Version 1.19: December 25, 2020
 * * Bug Fixes!
 * ** Removing a state from a Sideview Enemy during the middle of their a non-
 *    looping motion will no longer reset their motion to neutral.
 *    Fix made by Yanfly.
 * * Compatibility Update!
 * ** Plugins should be more compatible with one another.
 * * Documentation Update!
 * ** Added documentation for updated feature(s)!
 * * Feature Update!
 * ** Action Sequence "PROJECTILE: Icon" now supports code for the "Icon"
 *    parameter. Update made by Yanfly.
 * 
 * Version 1.18: December 18, 2020
 * * Bug Fixes!
 * ** For TPB Active or ATB Active, inputting actors will no longer step back
 *    after an enemy's action is finished. Fix made by Yanfly and Shiro.
 * * Documentation Update!
 * ** Added documentation for new feature(s)!
 * * New Features!
 * ** Action Sequence "BTLOG: Add Text" is updated for the convenience of a new
 *    option to quickly copy the displayed text to the VisuStella MZ Combat Log
 *    if that plugin is installed. Added by Yanfly.
 * 
 * Version 1.17: December 11, 2020
 * * Bug Fixes!
 * ** Common Events in TPB Active that cause forced actions will no longer
 *    cause currently inputting actors that match the forced action battler to
 *    crash the game. Fix made by Yanfly and Shiro.
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins.
 * ** Plugins should be more compatible with one another.
 * * Documentation Update!
 * ** Added documentation for new feature(s)!
 * * Feature Update!
 * ** Action Sequence Impact Action Sequences "Shockwave from Each Target(s)",
 *    "Shockwave from Target(s) Center", and "Zoom Blur at Target(s) Center"
 *    now have "Offset X" and "Offset Y" plugin parameters. Added by Yanfly.
 * ** Action Sequence "MOVE: Move To Target(s)" is now changed so that if the
 *    "Melee Distance" value is set to 0, battlers will no longer stand a half
 *    body distance away. Added by Yanfly.
 * 
 * Version 1.16: December 4, 2020
 * * Bug Fixes!
 * ** Bug fixes made for the RPG Maker MZ base code. If a battler has no
 *    actions, then their action speed will not be Infinity. Fix by Olivia.
 * * Compatibility Update!
 * ** Plugins should be more compatible with one another.
 * * Optimization Update!
 * ** Plugin should run more optimized.
 * 
 * Version 1.15: November 29, 2020
 * * Bug Fixes!
 * ** Completely replacing the whole party at once will no longer cause the
 *    battle system to crash. Fix made by Olivia.
 * ** Pre-Battle Common Events will no longer cancel out any win/lose branches.
 *    Fix made by Arisu.
 * * Feature Update!
 * ** Custom Action Sequences will no longer close the Actor Command Input
 *    window unless absolutely necessary (like for Show Message events) during
 *    Active TPB/ATB. Change made by Arisu.
 * 
 * Version 1.14: November 22, 2020
 * * Feature Update!
 * ** Natural Miss and Evasion motions now have flinch distance.
 *    Added by Yanfly.
 * 
 * Version 1.13: November 15, 2020
 * * Optimization Update!
 * ** Plugin should run more optimized.
 * 
 * Version 1.12: November 8, 2020
 * * Bug Fixes!
 * ** Failsafes added to prevent common events from running if they're empty.
 *    Fix made by Irina.
 * ** Skip Party Command will now work properly with TPB-based battle systems.
 *    Fix made by Yanfly.
 * * Compatibility Update!
 * ** Plugins should be more compatible with one another.
 * * Documentation Update!
 * ** In preparation for upcoming VisuStella MZ plugins.
 * 
 * Version 1.11: November 1, 2020
 * * Compatibility Update!
 * ** Plugins should be more compatible with one another.
 * * Documentation Update!
 * ** Added clarity for the Plugin Parameters for the Common Events settings
 *    found in the mechanics section. The common events are only meant to run
 *    in the map scene and not for the battle scene. Update made by Irina.
 * * Feature Update!
 * ** The Plugin Parameter for Mechanics, Common Events (on Map), Defeat Event
 *    now has updated functionality. If this has a common event attached to it,
 *    then losing to random encounters will no longer send the player to the
 *    Game Over scene, but instead, send the player back to the map scene,
 *    where the Defeat Common Event will run. Update made by Irina.
 * 
 * Version 1.10: October 25, 2020
 * * Documentation Update!
 * ** Added documentation for new feature(s)!
 * * New Features!
 * ** New Action Sequence Plugin Command added by Olivia:
 * *** MECH: Custom Damage Formula
 * **** Changes the current action's damage formula to custom.
 *      This will assume the MANUAL damage style.
 * ** New Notetag added by Irina:
 * ** New Plugin Parameters added by Irina:
 * *** Plugin Parameters > Battleback Scaling Settings
 * **** These settings allow you to adjust how battlebacks scale to the screen
 *      in the game.
 * *** <Battler Sprite Grounded>
 * **** Prevents the enemy from being able to jumping and/or floating due to
 *      Action Sequences but still able to move. Useful for rooted enemies.
 * 
 * Version 1.09: October 18, 2020
 * * Bug Fixes!
 * ** Exiting out of the Options menu scene or Party menu scene will no longer
 *    cause party members to reset their starting position. Fix made by Arisu
 * * Documentation Update!
 * ** Added documentation for new feature(s)!
 * ** There was a documentation error with <JS Pre-Regenerate> and
 *    <JS Post-Regenerate>. Fix made by Yanfly.
 * *** Before, these were written as <JS Pre-Regenerate Turn> and
 *     <JS Post-Regenerate Turn>. The "Turn" part of the notetag has been
 *     removed in the documentation.
 * * Feature Update!
 * ** Damage sprites on actors are now centered relative to the actor's anchor.
 *    Change made by Yanfly.
 * * New Features!
 * ** New Action Sequence Plugin Command added by Yanfly:
 * *** MECH: Variable Popup
 * **** Causes the unit(s) to display a popup using the data stored inside
 *      a variable.
 * 
 * Version 1.08: October 11, 2020
 * * Bug Fixes!
 * ** Dead party members at the start of battle no longer start offscreen.
 *    Fix made by Arisu.
 * ** Removed party members from battle no longer count as moving battlers.
 *    Fix made by Yanfly.
 * ** Using specific motions should now have the weapons showing and not
 *    showing properly. Fix made by Yanfly.
 * 
 * Version 1.07: October 4, 2020
 * * Bug Fixes!
 * ** Adding and removing actors will now refresh the battle status display.
 *    Fix made by Irina.
 * ** Adding new states that would change the affected battler's state motion
 *    will automatically refresh the battler's motion. Fix made by Irina.
 * ** Boss Collapse animation fixed and will sink into the ground.
 *    Fix made by Irina.
 * ** Failsafes added for certain animation types. Fix made by Yanfly.
 * ** Freeze Motion for thrust, swing, and missile animations will now show the
 *    weapons properly. Fix made by Yanfly.
 * ** The Guard command will no longer display the costs of the Attack command.
 *    Fix made by Irina.
 * * Documentation Update!
 * ** Updated help file for newly added plugin parameters.
 * * Feature Updates!
 * ** When using the Change Battleback event command in battle, the game client
 *    will wait until both battlebacks are loaded before changing the both of
 *    them so that the appearance is synched together. Change made by Yanfly.
 * * New Features!
 * ** New plugin parameters added by Irina!
 * *** Plugin Parameters > Actor Battler Settings > Chant Style
 * **** What determines the chant motion? Hit type or skill type?
 * 
 * Version 1.06: September 27, 2020
 * * Bug Fixes!
 * ** Enemy Battler Plugin Parameter "Shadow Visible" should now work again.
 *    Fix made by Irina.
 * * Compatibility Update!
 * ** Added compatibility functionality for future plugins. Added by Yanfly.
 * * Documentation Update!
 * ** Updated the help file for all the new plugin parameters.
 * * Feature Update!
 * ** Action Sequence "MECH: HP, MP, TP" will now automatically collapse an
 *    enemy if it has been killed by the effect.
 * ** All battle systems for front view will now have damage popups appear
 *    in front of the status window instead of just the Portrait battle layout.
 *    Update made by Yanfly.
 * * New Features!
 * ** New Action Sequence Plugin Commands from Irina!
 * *** MOTION: Clear Freeze Frame
 * *** MOTION: Freeze Motion Frame
 * **** You can freeze a battler's sprite's motion with a specific frame.
 * ** New notetags for Maps and name tags for Troops added by Yanfly!
 * *** <Battle Layout: type> to change the battle layout style used for
 *     specific maps and/or troops.
 * ** New plugin parameters added by Yanfly!
 * *** Plugin Parameters > Battle Layout Settings > Command Window Width
 * **** This plugin parameter lets you adjust the window width for Party and
 *      Actor Command windows in the Default and List Battle Layout styles.
 * *** Plugin Parameters > Enemy Battler Settings > Name: Offset X
 * *** Plugin Parameters > Enemy Battler Settings > Name: Offset Y
 * **** These plugin parameters allow you to offset the position of the enemy
 *      name positions on the screen by a specific amount.
 * 
 * Version 1.05: September 20, 2020
 * * Bug Fixes!
 * ** Actors now use their casting or charging animations again during TPB/ATB.
 *    Fix made by Yanfly.
 * ** Defeat requirement for enemies will no longer crash the game if turned on
 *    after creating
 * ** Escaping animation no longer has actors stay in place. Fixed by Yanfly.
 * ** Failsafes added for newly added weapon types that have not been adjusted
 *    in the Database > System 2 tab. Fixed by Irina.
 * ** Shadows now appear under the actor sprites. Fix made by Yanfly.
 * ** Victory during TPB will no longer cancel the victory animations of
 *    actors that will have their turn after. Fixed by Yanfly.
 * * Documentation Update!
 * ** All Anchor Plugin Parameter descriptions now state to use values between
 *    0 and 1 to be safe. Update made by Yanfly.
 * * Feature Update!
 * ** During Active TPB / ATB, canceling out of the actor command window will
 *    go directly into the party window without having to sort through all of
 *    the available active actors.
 * ** Going from the Party Command Window's Fight command will immediately
 *    return back to the actor command window that was canceled from.
 * * New Features!
 * ** Action Sequence Plugin Command "MOVE: Spin/Rotate" has been updated.
 * *** A new parameter has been added: "Revert Angle on Finish"
 * *** Added by Yanfly.
 * ** New plugin parameters have been added to Damage Settings.
 * *** Appear Position: Selects where you want popups to appear relative to the
 *     battler. Head, Center, Base. Added by Yanfly.
 * *** Offset X: Sets how much to offset the sprites by vertically.
 *     Added by Yanfly.
 * *** Offset Y: Sets how much to offset the sprites by horizontally.
 *     Added by Yanfly.
 * ** New plugin parameters have been added to Actor Battler Settings.
 * *** Priority: Active - Place the active actor on top of actor and
 *     enemy sprites. Added by Yanfly.
 * *** Priority: Actors - Prioritize actors over enemies when placing 
 *     sprites on top of each other. Added by Yanfly.
 * 
 * Version 1.04: September 13, 2020
 * * Bug Fixes!
 * ** Active Battler Sprites now remain on top and won't be hidden behind
 *    other sprites for better visual clarity. Fix made by Arisu.
 * ** Collapsing battlers will now show the dead motion properly. Fix made by
 *    Olivia.
 * ** Dead battlers can no longer be given immortality. Fix made by Olivia.
 * ** Going into the Options menu with no battleback set will no longer set a
 *    battle snapshot.
 * ** HP Gauges for Sideview Enemies are no longer flipped! Fix made by Yanfly.
 * ** Moving a dead battler would no longer reset their animation. Fix made by
 *    Olivia.
 * ** Pre-Battle Common Events now work with events instead of just random
 *    encounters. Fix made by Yanfly.
 * ** Sideview Enemy shadows no longer twitch. Fix made by Irina.
 * * Documentation Updates!
 * ** Added further explanations for Anchor X and Anchor Y plugin parameters.
 *    This is because there's a lot of confusion for users who aren't familiar
 *    with how sprites work. Added by Irina.
 * ** <Magic Reduction: x> notetag updated to say magical damage instead of
 *    physical damage. Fix made by Yanfly.
 * * New Features!
 * ** Additional Action Sequence Plugin Commands have been added in preparation
 *    of upcoming plugins! Additions made by Irina.
 * *** Action Sequences - Angle (for VisuMZ_3_ActSeqCamera)
 * *** Action Sequences - Camera (for VisuMZ_3_ActSeqCamera)
 * *** Action Sequences - Skew (for VisuMZ_3_ActSeqCamera)
 * *** Action Sequences - Zoom (for VisuMZ_3_ActSeqCamera)
 * ** Additional Action Sequence Plugin Commands have been made available now
 *    and added to Battle Core! Additions made by Irina.
 * *** MOVE: Scale/Grow/Shrink
 * *** MOVE: Skew/Distort
 * *** MOVE: Spin/Rotate
 * *** MOVE: Wait For Scale
 * *** MOVE: Wait For Skew
 * *** MOVE: Wait For Spin
 * ** Plugin Parameters Additions. Additions made by Irina.
 * *** Plugin Params > Actor Battler Settings > Offset X
 * *** Plugin Params > Actor Battler Settings > Offset Y
 * *** Plugin Params > Actor Battler Settings > Smooth Image
 * *** Plugin Params > Enemy Battler Settings > Offset X
 * *** Plugin Params > Enemy Battler Settings > Offset Y
 * *** Plugin Params > Enemy Battler Settings > Smooth Image
 * 
 * Version 1.03: September 6, 2020
 * * Bug Fixes!
 * ** Animated Battlers will refresh their motions from the death motion once
 *    they're revived instead of waiting for their next input phase. Fix made
 *    by Yanfly.
 * ** Battle Log speed sometimes went by too fast for certain enabled messages.
 *    Wait timers are now added to them, like state results, buff results, and
 *    debuff results. Fix made by Yanfly.
 * ** Boss Collapse animation now works properly. Fix made by Yanfly.
 * ** Freeze fix for TPB (Wait) if multiple actors get a turn at the same time.
 *    Fix made by Olivia.
 * ** Pressing cancel on a target window after selecting a single skill no
 *    longer causes the status window to twitch.
 * ** Sideview Enemies had a split frame of being visible if they were to start
 *    off hidden in battle. Fix made by Shaz.
 * * Compatibility Update:
 * ** Battle Core's Sprite_Damage.setup() function is now separated fro the
 *    default to allow for better compatibility. Made by Yanfly.
 * * Documentation Update:
 * ** Inserted more information for "Damage Popups" under "Major Changes"
 * * New Features!
 * ** <Magic Penetration: x>, <Magic Penetration: x%> notetags added.
 * ** <Magic Reduction: x>, <Magic Reduction: x%> notetags added.
 * ** <Battle UI Offset: +x, +y>, <Battle UI Offset X: +x>, and
 *    <Battle UI Offset Y: +y> notetags added for adjusting the positions of
 *    HP Gauges and State Icons.
 * *** Notetags added by Yanfly.
 * 
 * Version 1.02: August 30, 2020
 * * Bug Fixes!
 * ** Failsafes added for parsing battle targets. Fix made by Yanfly.
 * ** Immortality is no longer ignored by skills/items with the Normal Attack
 *    state effect. Fix made by Yanfly.
 * ** Miss and Evasion sound effects work again! Fix made by Yanfly.
 * ** Selecting "Escape" from the Actor Command Window will now have the
 *    Inputting Battler show its escape motion. Fix made by Yanfly.
 * ** Wait for Movement now applies to SV Enemies. Fix made by Yanfly.
 * * New Features!
 * ** Plugin Command "ACSET: Finish Action" now has an option to turn off the
 *    Immortality of targets. Feature added by Yanfly.
 * * Optimization Update
 * ** Uses less resources when making checks for Pre-Battle Battle Start events
 * 
 * Version 1.01: August 23, 2020
 * * Bug Fixes!
 * ** Plugin Parameters > Damage Settings > Damage Formats are now fixed.
 *    Fix made by Olivia.
 * ** TPB Battle System with Disable Party Command fixed. Fix made by Olivia.
 * ** States now show in list format if faces are disabled. Fix made by Yanfly.
 * ** The default damage styles were missing the 'v' variable to allow for
 *    variable data input. These are back now. Fix made by Yanfly.
 * *** Users updating from version 1.00 will need to fix this problem by either
 *     removing the plugin from the Plugin Manager list and reinstalling it, or
 *     going to Plugin Parameters > Damage Settings > Style List > the style
 *     you want, and adding "const v = $gameVariables._data;" to JS: Formula
 * * New Notetags Added:
 * ** <Command Show Switch: x> added by Olivia
 * ** <Command Show All Switches: x,x,x> added by Olivia
 * ** <Command Show Any Switches: x,x,x> added by Olivia
 * ** <Command Hide Switch: x> added by Olivia
 * ** <Command Hide All Switches: x,x,x> added by Olivia
 * ** <Command Hide Any Switches: x,x,x> added by Olivia
 * ** <JS Command Visible> added by Olivia
 *
 * Version 1.00: August 20, 2020
 * * Finished Plugin!
 *
 * ============================================================================
 * End of Helpfile
 * ============================================================================
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceStart
 * @text -
 * @desc The following are Action Sequences commands/sets.
 * These Plugin Commands only work in battle.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakSet
 * @text Action Sequence - Action Sets
 * @desc Action Sequence Action Sets are groups of commonly used
 * Action Sequence Commands put together for more efficient usage.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Set_SetupAction
 * @text ACSET: Setup Action Set
 * @desc The generic start to most actions.
 * 
 * @arg DisplayAction:eval
 * @text Display Action
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg ApplyImmortal:eval
 * @text Immortal: On
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg ActionStart:eval
 * @text Battle Step
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg CastAnimation:eval
 * @text Cast Animation
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Set_WholeActionSet
 * @text ACSET: All Targets Action Set
 * @desc Affects all targets simultaneously performing the following.
 * 
 * @arg DualWield:eval
 * @text Dual/Multi Wield?
 * @type boolean
 * @on Apply
 * @off Don't
 * @desc Add times struck based on weapon quantity equipped?
 * @default false
 * 
 * @arg PerformAction:eval
 * @text Perform Action
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitCount:eval
 * @text Wait Count
 * @desc How many frames should the action sequence wait?
 * You may use JavaScript code.
 * @default Sprite_Battler._motionSpeed
 * 
 * @arg ActionAnimation:eval
 * @text Action Animation
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg ActionEffect:eval
 * @text Action Effect
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg ApplyImmortal:eval
 * @text Immortal: Off
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Set_TargetActionSet
 * @text ACSET: Each Target Action Set
 * @desc Goes through each target one by one to perform the following.
 * 
 * @arg DualWield:eval
 * @text Dual/Multi Wield?
 * @type boolean
 * @on Apply
 * @off Don't
 * @desc Add times struck based on weapon quantity equipped?
 * @default false
 * 
 * @arg PerformAction:eval
 * @text Perform Action
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitCount1:eval
 * @text Wait Count
 * @desc How many frames should the action sequence wait?
 * You may use JavaScript code.
 * @default Sprite_Battler._motionSpeed
 * 
 * @arg ActionAnimation:eval
 * @text Action Animation
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitCount2:eval
 * @text Wait Count
 * @desc How many frames should the action sequence wait?
 * You may use JavaScript code.
 * @default Sprite_Battler._motionSpeed * 2
 * 
 * @arg ActionEffect:eval
 * @text Action Effect
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg ApplyImmortal:eval
 * @text Immortal: Off
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Set_FinishAction
 * @text ACSET: Finish Action
 * @desc The generic ending to most actions.
 * 
 * @arg ApplyImmortal:eval
 * @text Immortal: Off
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitForNewLine:eval
 * @text Wait For New Line
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitForEffect:eval
 * @text Wait For Effects
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg ClearBattleLog:eval
 * @text Clear Battle Log
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg ActionEnd:eval
 * @text Home Reset
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement
 * @type boolean
 * @on Use
 * @off Don't Use
 * @desc Use this part of the action sequence?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceAngle
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakAngle
 * @text Action Sequences - Angle
 * @desc Allows you to have control over the camera angle.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_ChangeAngle
 * @text ANGLE: Change Angle
 * @desc Changes the camera angle.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg Angle:eval
 * @text Angle
 * @desc Change the camera angle to this many degrees.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to change camera angle.
 * @default 60
 *
 * @arg EasingType:str
 * @text Angle Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForAngle:eval
 * @text Wait For Angle?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for angle changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Angle_Reset
 * @text ANGLE: Reset Angle
 * @desc Reset any angle settings.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to reset camera angle.
 * @default 60
 *
 * @arg EasingType:str
 * @text Angle Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForAngle:eval
 * @text Wait For Angle?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for angle changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Angle_WaitForAngle
 * @text ANGLE: Wait For Angle
 * @desc Waits for angle changes to complete before performing next command.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceAnimation
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakAnimation
 * @text Action Sequences - Animations
 * @desc These Action Sequences are related to the 'Animations' that
 * can be found in the Animations tab of the Database.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_ActionAnimation
 * @text ANIM: Action Animation
 * @desc Plays the animation associated with the action.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["all targets"]
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_AttackAnimation
 * @text ANIM: Attack Animation
 * @desc Plays the animation associated with the user's 1st weapon.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["all targets"]
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_AttackAnimation2
 * @text ANIM: Attack Animation 2+
 * @desc Plays the animation associated with the user's other weapons.
 * Plays nothing if there is no other weapon equipped.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["all targets"]
 * 
 * @arg Slot:eval
 * @text Slot
 * @desc Which weapon slot to get this data from?
 * Main-hand weapon is weapon slot 1.
 * @default 2
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default true
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_BalloonAnimation
 * @text ANIM: Balloon Animation
 * @desc Plays a balloon animation on target(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["user"]
 *
 * @arg Balloon:str
 * @text Balloon Type
 * @type select
 * @option Exclamation
 * @option Question
 * @option Music Note
 * @option Heart
 * @option Anger
 * @option Sweat
 * @option Frustration
 * @option Silence
 * @option Light Bulb
 * @option Zzz
 * @option User-defined 1
 * @option User-defined 2
 * @option User-defined 3
 * @option User-defined 4
 * @option User-defined 5
 * @desc What kind of balloon should be played on target(s)?
 * @default Exclamation
 *
 * @arg WaitComplete:eval
 * @text Wait for Completion
 * @type boolean
 * @on Wait
 * @off Don't Wait
 * @desc Wait for balloon animation completion before continuing?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_BalloonIcon
 * @text ANIM: Balloon Icon (Single)
 * @desc Plays a balloon animation using an icon on target(s).
 * Requires VisuMZ_4_IconBalloons!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["user"]
 *
 * @arg IconIndex:num
 * @text Icon Index
 * @desc Insert the ID of the icon to show.
 * Tip: Right click > Insert Icon Index
 * @default 0
 *
 * @arg WaitComplete:eval
 * @text Wait for Completion
 * @type boolean
 * @on Wait
 * @off Don't Wait
 * @desc Wait for balloon animation completion before continuing?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_BalloonIconRange
 * @text ANIM: Balloon Icon (Range)
 * @desc Plays a balloon animation an icon range on target(s).
 * Requires VisuMZ_4_IconBalloons!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["user"]
 *
 * @arg startIcon:num
 * @text Starting Icon Index
 * @desc Insert the ID of the icon to show.
 * Tip: Right click > Insert Icon Index
 * @default 0
 *
 * @arg endIcon:num
 * @text Ending Icon Index
 * @desc Insert the ID of the icon to show.
 * Tip: Right click > Insert Icon Index
 * @default 0
 *
 * @arg WaitComplete:eval
 * @text Wait for Completion
 * @type boolean
 * @on Wait
 * @off Don't Wait
 * @desc Wait for balloon animation completion before continuing?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_BalloonIconSpecific
 * @text ANIM: Balloon Icon (Specific)
 * @desc Plays a balloon animation with specific icons on target(s).
 * Requires VisuMZ_4_IconBalloons!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["user"]
 *
 * @arg icons:arraynum
 * @text Icons
 * @type string[]
 * @desc Insert the ID(s) of the icon to show.
 * Tip: Right click > Insert Icon Index
 * @default []
 *
 * @arg WaitComplete:eval
 * @text Wait for Completion
 * @type boolean
 * @on Wait
 * @off Don't Wait
 * @desc Wait for balloon animation completion before continuing?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_CastAnimation
 * @text ANIM: Cast Animation
 * @desc Plays the cast animation associated with the action.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["user"]
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_ChangeBattlePortrait
 * @text ANIM: Change Battle Portrait
 * @desc Changes the battle portrait of the actor (if it's an actor).
 * Can be used outside of battle/action sequences.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to change the portraits for.
 * Valid units can only be actors.
 * @default ["user"]
 * 
 * @arg Filename:str
 * @text Filename
 * @type file
 * @dir img/pictures/
 * @desc Select the file to change the actor's portrait to.
 * @default Untitled
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_GuardAnimation
 * @text ANIM: Guard Animation
 * @desc Plays the animation associated with the user's guard action (if any).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["all targets"]
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_ItemAnimation
 * @text ANIM: Item Animation
 * @desc Plays the animation associated with a specific item.
 * 
 * @arg ItemID:eval
 * @text Item ID
 * @type item
 * @desc Which item ID will the animation come from?
 * @default 7
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["all targets"]
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_PlayAtCoordinate
 * @text ANIM: Play at Coordinate
 * @desc Plays an animation on the screen at a specific x, y coordinate.
 * Requires VisuMZ_0_CoreEngine!
 *
 * @arg AnimationID:num
 * @text Animation ID
 * @parent Animation
 * @type animation
 * @desc Plays this animation.
 * @default 1
 * 
 * @arg Coordinates
 *
 * @arg pointX:eval
 * @text X
 * @parent Coordinates
 * @desc X coordinate used for the animation.
 * You may use JavaScript code.
 * @default Graphics.width / 2
 *
 * @arg pointY:eval
 * @text Y
 * @parent Coordinates
 * @desc Y coordinate used for the animation.
 * You may use JavaScript code.
 * @default Graphics.height / 2
 *
 * @arg Mirror:eval
 * @text Mirror Animation?
 * @parent Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 *
 * @arg Mute:eval
 * @text Mute Animation?
 * @parent Animation
 * @type boolean
 * @on Mute
 * @off Normal
 * @desc Mute the animation?
 * @default false
 *
 * @arg WaitComplete:eval
 * @text Wait for Completion?
 * @parent Animation
 * @type boolean
 * @on Wait
 * @off Normal
 * @desc Wait the animation to finish before continuing?
 * @default false
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_ShowAnimation
 * @text ANIM: Show Animation
 * @desc Plays the a specific animation on unit(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["all targets"]
 * 
 * @arg AnimationID:num
 * @text Animation ID
 * @type animation
 * @desc Select which animation to play on unit(s).
 * @default 1
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_ShowAnimationJS
 * @text ANIM: Show Animation JS
 * @desc Plays the a specific animation on unit(s).
 * Uses JavaScript to determine animation ID.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["all targets"]
 * 
 * @arg AnimationID:eval
 * @text JS: Animation ID
 * @desc Select which animation to play on unit(s).
 * Uses JavaScript to determine animation ID.
 * @default 1
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_SkillAnimation
 * @text ANIM: Skill Animation
 * @desc Plays the animation associated with a specific skill.
 * 
 * @arg SkillID:eval
 * @text Skill ID
 * @type skill
 * @desc Which skill ID will the animation come from?
 * @default 99
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play the animation on.
 * @default ["all targets"]
 * 
 * @arg Mirror:eval
 * @text Mirror Animation
 * @type boolean
 * @on Mirror
 * @off Normal
 * @desc Mirror the animation?
 * @default false
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Animation_WaitForAnimation
 * @text ANIM: Wait For Animation
 * @desc Causes the interpreter to wait for any animation(s) to finish.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceBattleLog
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakBattleLog
 * @text Action Sequences - Battle Log
 * @desc These Action Sequences are related to the Battle Log Window,
 * the window found at the top of the battle screen.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_AddText
 * @text BTLOG: Add Text
 * @desc Adds a new line of text into the Battle Log.
 * 
 * @arg Text:str
 * @text Text
 * @desc Add this text into the Battle Log.
 * Text codes allowed.
 * @default Insert text here.
 * 
 * @arg CopyCombatLog:eval
 * @text Copy to Combat Log?
 * @type boolean
 * @on Copy Text
 * @off Don't Copy
 * @desc Copies text to the Combat Log.
 * Requires VisuMZ_4_CombatLog
 * @default true
 *
 * @arg CombatLogIcon:num
 * @text Combat Log Icon
 * @parent CopyCombatLog:eval
 * @desc What icon would you like to bind to this entry?
 * Requires VisuMZ_4_CombatLog
 * @default 87
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_Clear
 * @text BTLOG: Clear Battle Log
 * @desc Clears all the text in the Battle Log.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_DisplayAction
 * @text BTLOG: Display Action
 * @desc Displays the current action in the Battle Log.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_PopBaseLine
 * @text BTLOG: Pop Base Line
 * @desc Removes the Battle Log's last added base line and 
 * all text up to its former location.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_PushBaseLine
 * @text BTLOG: Push Base Line
 * @desc Adds a new base line to where the Battle Log currently is at.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_Refresh
 * @text BTLOG: Refresh Battle Log
 * @desc Refreshes the Battle Log.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_UI
 * @text BTLOG: UI Show/Hide
 * @desc Shows or hides the Battle UI (including the Battle Log).
 * 
 * @arg ShowHide:eval
 * @text Show/Hide?
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Shows/hides the Battle UI.
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_WaitForBattleLog
 * @text BTLOG: Wait For Battle Log
 * @desc Causes the interpreter to wait for the Battle Log to finish.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleLog_WaitForNewLine
 * @text BTLOG: Wait For New Line
 * @desc Causes the interpreter to wait for a new line in the Battle Log.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceCamera
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakCamera
 * @text Action Sequences - Camera
 * @desc Allows you to have control over the camera.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Camera_Clamp
 * @text CAMERA: Clamp ON/OFF
 * @desc Turns battle camera clamping on/off.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg Setting:eval
 * @text ON/OFF
 * @type boolean
 * @on ON
 * @off OFF
 * @desc Turns camera clamping on/off.
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Camera_FocusPoint
 * @text CAMERA: Focus Point
 * @desc Focus the battle camera on a certain point in the screen.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg FocusX:eval
 * @text X Coordinate
 * @desc Insert the point to focus the camera on.
 * You may use JavaScript code.
 * @default Graphics.width / 2
 * 
 * @arg FocusY:eval
 * @text Y Coordinate
 * @desc Insert the point to focus the camera on.
 * You may use JavaScript code.
 * @default Graphics.height / 2
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for camera focus change.
 * @default 60
 *
 * @arg EasingType:str
 * @text Camera Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForCamera:eval
 * @text Wait For Camera?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for camera changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Camera_FocusTarget
 * @text CAMERA: Focus Target(s)
 * @desc Focus the battle camera on certain battler target(s).
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to focus the battle camera on.
 * @default ["user"]
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for camera focus change.
 * @default 60
 *
 * @arg EasingType:str
 * @text Camera Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForCamera:eval
 * @text Wait For Camera?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for camera changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Camera_Offset
 * @text CAMERA: Offset
 * @desc Offset the battle camera from the focus target.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg OffsetX:eval
 * @text Offset X
 * @desc How much to offset the camera X by.
 * Negative: left. Positive: right.
 * @default +0
 * 
 * @arg OffsetY:eval
 * @text Offset Y
 * @desc How much to offset the camera Y by.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for offset change.
 * @default 60
 *
 * @arg EasingType:str
 * @text Camera Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForCamera:eval
 * @text Wait For Camera?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for camera changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Camera_Reset
 * @text CAMERA: Reset
 * @desc Reset the battle camera settings.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg ResetFocus:eval
 * @text Reset Focus?
 * @type boolean
 * @on On
 * @off Off
 * @desc Reset the focus point?
 * @default true
 * 
 * @arg ResetOffset:eval
 * @text Reset Offset?
 * @type boolean
 * @on On
 * @off Off
 * @desc Reset the camera offset?
 * @default true
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for reset change.
 * @default 60
 *
 * @arg EasingType:str
 * @text Camera Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForCamera:eval
 * @text Wait For Camera?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for camera changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Camera_WaitForCamera
 * @text CAMERA: Wait For Camera
 * @desc Waits for camera to complete before performing next command.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceCutin
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakCutin
 * @text Action Sequences - Cutins
 * @desc Allows you to have control over Visual Cutin Effects.
 * Requires VisuMZ_3_VisualCutinEffect!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Cutin_AddVisualCutinEffect
 * @text CUTIN: Add Visual Cutin Effect
 * @desc Adds the Visual Cutin Effect using these desired settings.
 * Requires VisuMZ_3_VisualCutinEffect!
 * 
 * @arg Basic
 * @text Basic Settings
 * 
 * @arg type:str
 * @text Cutin Style Type
 * @parent Basic
 * @type select
 * @option -
 * @option Whole
 * @option -
 * @option Showcase
 * @option -
 * @option LeftHorzSpan
 * @option CenterHorzSpan
 * @option RightHorzSpan
 * @option -
 * @option LeftHorzSlash
 * @option RightHorzSlash
 * @option -
 * @option LeftVertSlash
 * @option RightVertSlash
 * @option -
 * @option LeftMajor
 * @option RightMajor
 * @option -
 * @option LeftMinor
 * @option CenterMinor
 * @option RightMinor
 * @option -
 * @option LeftDiamond
 * @option CenterDiamond
 * @option RightDiamond
 * @option -
 * @option LeftGemstone
 * @option CenterGemstone
 * @option RightGemstone
 * @option -
 * @option TopLeftQuad
 * @option TopRightQuad
 * @option BottomLeftQuad
 * @option BottomRightQuad
 * @option -
 * @option TopLeftCorner
 * @option TopRightCorner
 * @option BottomLeftCorner
 * @option BottomRightCorner
 * @option -
 * @option Row1stThird
 * @option Row2ndThird
 * @option Row3rdThird
 * @option -
 * @option Row1stFourth
 * @option Row2ndFourth
 * @option Row3rdFourth
 * @option Row4thFourth
 * @option -
 * @option Row1stFifth
 * @option Row2ndFifth
 * @option Row3rdFifth
 * @option Row4thFifth
 * @option Row5thFifth
 * @option -
 * @option Col1stThird
 * @option Col2ndThird
 * @option Col3rdThird
 * @option -
 * @option Col1stFourth
 * @option Col2ndFourth
 * @option Col3rdFourth
 * @option Col4thFourth
 * @option -
 * @option Col1stFifth
 * @option Col2ndFifth
 * @option Col3rdFifth
 * @option Col4thFifth
 * @option Col5thFifth
 * @option -
 * @option SixPack1
 * @option SixPack2
 * @option SixPack3
 * @option SixPack4
 * @option SixPack5
 * @option SixPack6
 * @option -
 * @option EightPack1
 * @option EightPack2
 * @option EightPack3
 * @option EightPack4
 * @option EightPack5
 * @option EightPack6
 * @option EightPack7
 * @option EightPack8
 * @option -
 * @option TwelvePack1
 * @option TwelvePack2
 * @option TwelvePack3
 * @option TwelvePack4
 * @option TwelvePack5
 * @option TwelvePack6
 * @option TwelvePack7
 * @option TwelvePack8
 * @option TwelvePack9
 * @option TwelvePack10
 * @option TwelvePack11
 * @option TwelvePack12
 * @option -
 * @desc What Visual Cutin Effect style type do you wish to use?
 * Only one of each cutin-style type can be present.
 * @default CenterHorzSpan
 * 
 * @arg Targets:arraystr
 * @text Portrait Target
 * @parent Basic
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to grab the Visual Cutin Effect portrait
 * data from. First unit will be used to make portrait.
 * @default ["user"]
 *
 * @arg parallaxFilename:str
 * @text Parallax Filename
 * @parent Basic
 * @type file
 * @dir img/parallaxes/
 * @require 1
 * @desc Pick a parallax to use for the Visual Cutin Effect.
 * Pick (None) to not use a parallax.
 * @default >>>ATTENTION<<<
 *
 * @arg bgColor:str
 * @text Background Color
 * @parent Basic
 * @desc Use #rrggbb for custom colors or regular numbers
 * for text colors from the Window Skin.
 * @default #888888
 *
 * @arg ExtraSettings:struct
 * @text Extra Settings
 * @type struct<VisualCutinEffect>
 * @desc Extra Plugin Command settings pertaining to this Visual Cutin Effect.
 * @default {}
 * 
 * @arg WaitForEntrance:eval
 * @text Wait For Entrance
 * @type boolean
 * @on Wait
 * @off Don't Wait
 * @desc Wait until cutin entrance is finished before performing
 * the next event command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Cutin_EndVisualCutinEffectAll
 * @text CUTIN: End Visual Cutin Effect (All)
 * @desc Ends all Visual Cutin Effects currently present.
 * Requires VisuMZ_3_VisualCutinEffect!
 * 
 * @arg WaitForExit:eval
 * @text Wait For Exit
 * @type boolean
 * @on Wait
 * @off Don't Wait
 * @desc Wait until cutin exit is finished before performing
 * the next event command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Cutin_EndVisualCutinEffectType
 * @text CUTIN: End Visual Cutin Effect (Type)
 * @desc Ends the Visual Cutin Effect with the matching type.
 * Requires VisuMZ_3_VisualCutinEffect!
 * 
 * @arg type:str
 * @text Cutin Style Type
 * @type select
 * @option -
 * @option Whole
 * @option -
 * @option Showcase
 * @option -
 * @option LeftHorzSpan
 * @option CenterHorzSpan
 * @option RightHorzSpan
 * @option -
 * @option LeftHorzSlash
 * @option RightHorzSlash
 * @option -
 * @option LeftVertSlash
 * @option RightVertSlash
 * @option -
 * @option LeftMajor
 * @option RightMajor
 * @option -
 * @option LeftMinor
 * @option CenterMinor
 * @option RightMinor
 * @option -
 * @option LeftDiamond
 * @option CenterDiamond
 * @option RightDiamond
 * @option -
 * @option LeftGemstone
 * @option CenterGemstone
 * @option RightGemstone
 * @option -
 * @option TopLeftQuad
 * @option TopRightQuad
 * @option BottomLeftQuad
 * @option BottomRightQuad
 * @option -
 * @option TopLeftCorner
 * @option TopRightCorner
 * @option BottomLeftCorner
 * @option BottomRightCorner
 * @option -
 * @option Row1stThird
 * @option Row2ndThird
 * @option Row3rdThird
 * @option -
 * @option Row1stFourth
 * @option Row2ndFourth
 * @option Row3rdFourth
 * @option Row4thFourth
 * @option -
 * @option Row1stFifth
 * @option Row2ndFifth
 * @option Row3rdFifth
 * @option Row4thFifth
 * @option Row5thFifth
 * @option -
 * @option Col1stThird
 * @option Col2ndThird
 * @option Col3rdThird
 * @option -
 * @option Col1stFourth
 * @option Col2ndFourth
 * @option Col3rdFourth
 * @option Col4thFourth
 * @option -
 * @option Col1stFifth
 * @option Col2ndFifth
 * @option Col3rdFifth
 * @option Col4thFifth
 * @option Col5thFifth
 * @option -
 * @option SixPack1
 * @option SixPack2
 * @option SixPack3
 * @option SixPack4
 * @option SixPack5
 * @option SixPack6
 * @option -
 * @option EightPack1
 * @option EightPack2
 * @option EightPack3
 * @option EightPack4
 * @option EightPack5
 * @option EightPack6
 * @option EightPack7
 * @option EightPack8
 * @option -
 * @option TwelvePack1
 * @option TwelvePack2
 * @option TwelvePack3
 * @option TwelvePack4
 * @option TwelvePack5
 * @option TwelvePack6
 * @option TwelvePack7
 * @option TwelvePack8
 * @option TwelvePack9
 * @option TwelvePack10
 * @option TwelvePack11
 * @option TwelvePack12
 * @option -
 * @desc What Visual Cutin Effect style type do you wish to end?
 * @default CenterHorzSpan
 * 
 * @arg WaitForExit:eval
 * @text Wait For Exit
 * @type boolean
 * @on Wait
 * @off Don't Wait
 * @desc Wait until cutin exit is finished before performing
 * the next event command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Cutin_WaitForEntrance
 * @text CUTIN: Wait for Cutin Entrance
 * @desc Wait until all cutin entrances are finished before performing the next event command. Requires VisuMZ_3_VisualCutinEffect!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Cutin_WaitForExit
 * @text CUTIN: Wait for Cutin Exit
 * @desc Wait until all cutin exits are finished before performing the next event command. Requires VisuMZ_3_VisualCutinEffect!
 *
 * @ --------------------------------------------------------------------------
 *
 *
 * @command ActionSequenceSpaceDragonbones
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreaDragonbones
 * @text Action Sequences - Dragonbones
 * @desc These Action Sequences are Dragonbones-related.
 * Requires VisuMZ_2_DragonbonesUnion!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_DB_DragonbonesMotionAni
 * @text DB: Dragonbones Animation
 * @desc Causes the unit(s) to play a Dragonbones motion animation.
 * Requires VisuMZ_2_DragonbonesUnion!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to perform a motion animation.
 * @default ["user"]
 *
 * @arg MotionAni:str
 * @text Motion Animation
 * @desc What is the name of the Dragonbones motion animation you wish to play?
 * @default attack
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_DB_DragonbonesTimeScale
 * @text DB: Dragonbones Time Scale
 * @desc Causes the unit(s) to change their Dragonbones time scale.
 * Requires VisuMZ_2_DragonbonesUnion!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to perform a motion animation.
 * @default ["user"]
 *
 * @arg TimeScale:num
 * @text Time Scale
 * @desc Change the value of the Dragonbones time scale to this.
 * @default 1.0
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceElements
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakElements
 * @text Action Sequences - Elements
 * @desc These Action Sequences are related to elements.
 * Requires VisuMZ_1_ElementStatusCore!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Element_AddElements
 * @text ELE: Add Elements
 * @desc Adds element(s) to be used when calculating damage.
 * Requires VisuMZ_1_ElementStatusCore!
 *
 * @arg Elements:arraynum
 * @text Elements
 * @type number[]
 * @min 1
 * @max 99
 * @desc Select which element ID to add onto the action.
 * Insert multiple element ID's to add multiple at once.
 * @default ["1"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Element_Clear
 * @text ELE: Clear Element Changes
 * @desc Clears all element changes made through Action Sequences.
 * Requires VisuMZ_1_ElementStatusCore!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Element_ForceElements
 * @text ELE: Force Elements
 * @desc Forces only specific element(s) when calculating damage.
 * Requires VisuMZ_1_ElementStatusCore!
 *
 * @arg Elements:arraynum
 * @text Elements
 * @type number[]
 * @min 1
 * @max 99
 * @desc Select which element ID to force in the action.
 * Insert multiple element ID's to force multiple at once.
 * @default ["1"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Element_NullElements
 * @text ELE: Null Element
 * @desc Forces no element to be used when calculating damage.
 * Requires VisuMZ_1_ElementStatusCore!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceGrid
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakGrid
 * @text Action Sequences - Grid
 * @desc These Action Sequences are Battle Grid System-related.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_ActionAnimationAtNode
 * @text GRID: Action Animation at Node
 * @desc Plays action animation at target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit's Node do you want to play an animation on?
 * @default Enemy
 *
 * @arg Rank:num
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @type number
 * @min 1
 * @max 10
 * @desc Input the number representing the Rank of the Node
 * you want to play an animation on.
 * @default 1
 *
 * @arg Flank:num
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @type number
 * @min 1
 * @max 10
 * @desc Input the number representing the Flank of the Node
 * you want to play an animation on.
 * @default 1
 *
 * @arg OffsetX:num
 * @text Offset X
 * @desc Offsets the animation x position.
 * Negative: left. Positive: right.
 * @default +0
 *
 * @arg OffsetY:num
 * @text Offset Y
 * @desc Offsets the animation y position.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_AddPassiveStatesToNode
 * @text GRID: Add Passive State(s) to Node
 * @desc Adds Passive State(s) at target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg StateIDs:arraynum
 * @text State ID(s)
 * @type state[]
 * @desc Select which State ID(s) to add as a Passive State.
 * @default []
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to add the Passive State Node
 * effect for?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to add a Passive State(s) to.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to add a Passive State(s) to.
 * @default 1
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_AddTriggerToNode
 * @text GRID: Add Trigger to Node
 * @desc Adds Trigger to target node. Target node cannot have battler.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg SkillID:num
 * @text Skill ID
 * @type skill
 * @desc Select which Skill ID(s) to add as the trigger.
 * @default 1
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to add the Trigger Node
 * effect for?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to add a Trigger to.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to add a Trigger to.
 * @default 1
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_AnimationIDAtNode
 * @text GRID: Animation ID at Node
 * @desc Plays specific animation ID at target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg AnimationID:num
 * @text Animation ID
 * @type animation
 * @desc Play this animation at target node.
 * @default 1
 *
 * @arg Mirror:eval
 * @text Mirror?
 * @parent AnimationID:num
 * @type boolean
 * @on Mirror Animation
 * @off Don't Mirror
 * @desc Mirror this animation?
 * @default false
 *
 * @arg Mute:eval
 * @text Mute?
 * @parent AnimationID:num
 * @type boolean
 * @on Mute Animation
 * @off Don't Mute
 * @desc Mute this animation?
 * @default false
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit's Node do you want to play an animation on?
 * @default Enemy
 *
 * @arg Rank:num
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @type number
 * @min 1
 * @max 10
 * @desc Input the number representing the Rank of the Node
 * you want to play an animation on.
 * @default 1
 *
 * @arg Flank:num
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @type number
 * @min 1
 * @max 10
 * @desc Input the number representing the Flank of the Node
 * you want to play an animation on.
 * @default 1
 *
 * @arg OffsetX:num
 * @text Offset X
 * @desc Offsets the animation x position.
 * Negative: left. Positive: right.
 * @default +0
 *
 * @arg OffsetY:num
 * @text Offset Y
 * @desc Offsets the animation y position.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_AnimationJsAtNode
 * @text GRID: Animation JS at Node
 * @desc Uses JS to calculate which animation to play at target node.
 * Requires VisuMZ_2_BattleGridSystem!
 * 
 * @arg AnimationID:eval
 * @text JS: Animation ID
 * @desc Calculate which animation to play on unit(s).
 * Uses JavaScript to determine animation ID.
 * @default 1
 *
 * @arg Mirror:eval
 * @text Mirror?
 * @parent AnimationID:eval
 * @type boolean
 * @on Mirror Animation
 * @off Don't Mirror
 * @desc Mirror this animation?
 * @default false
 *
 * @arg Mute:eval
 * @text Mute?
 * @parent AnimationID:eval
 * @type boolean
 * @on Mute Animation
 * @off Don't Mute
 * @desc Mute this animation?
 * @default false
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit's Node do you want to play an animation on?
 * @default Enemy
 *
 * @arg Rank:num
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @type number
 * @min 1
 * @max 10
 * @desc Input the number representing the Rank of the Node
 * you want to play an animation on.
 * @default 1
 *
 * @arg Flank:num
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @type number
 * @min 1
 * @max 10
 * @desc Input the number representing the Flank of the Node
 * you want to play an animation on.
 * @default 1
 *
 * @arg OffsetX:num
 * @text Offset X
 * @desc Offsets the animation x position.
 * Negative: left. Positive: right.
 * @default +0
 *
 * @arg OffsetY:num
 * @text Offset Y
 * @desc Offsets the animation y position.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_AnimationTypeAtNode
 * @text GRID: Animation Type at Node
 * @desc Plays certain animation type at target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg Type:str
 * @text Animation Type
 * @type select
 * @option Attack
 * @option Guard
 * @option Item
 * @option Skill
 * @desc What is the animation type you would like to play?
 * @default Attack
 * 
 * @arg Slot:eval
 * @text Slot (Attack Type)
 * @parent Type:str
 * @desc Which weapon slot to get this data from?
 * Main-hand weapon is weapon slot 1.
 * @default 1
 * 
 * @arg ItemID:num
 * @text Item ID (Item Type)
 * @parent Type:str
 * @type item
 * @desc Which item ID will the animation come from?
 * @default 7
 * 
 * @arg SkillID:num
 * @text Skill ID (Skill Type)
 * @parent Type:str
 * @type skill
 * @desc Which skill ID will the animation come from?
 * @default 99
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit's Node do you want to play an animation on?
 * @default Enemy
 *
 * @arg Rank:num
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @type number
 * @min 1
 * @max 10
 * @desc Input the number representing the Rank of the Node
 * you want to play an animation on.
 * @default 1
 *
 * @arg Flank:num
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @type number
 * @min 1
 * @max 10
 * @desc Input the number representing the Flank of the Node
 * you want to play an animation on.
 * @default 1
 *
 * @arg OffsetX:num
 * @text Offset X
 * @desc Offsets the animation x position.
 * Negative: left. Positive: right.
 * @default +0
 *
 * @arg OffsetY:num
 * @text Offset Y
 * @desc Offsets the animation y position.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_MoveTargetsInDirection
 * @text GRID: Move Target(s) In Direction
 * @desc Moves target(s) in a specific direction to other Nodes.
 * Requires VisuMZ_2_BattleGridSystem!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to move.
 * @default ["all targets"]
 * 
 * @arg MoveType:str
 * @text Movement Type
 * @type select
 * @option -
 * @option Exact
 * @option -
 * @option Mid
 * @option -
 * @option Switch
 * @option Switch Mid
 * @option -
 * @option Crash
 * @option Crash Mid
 * @option -
 * @desc Select the Movement type rulings.
 * See VisuMZ_2_BattleGridSystem help file for details.
 * @default Mid
 * 
 * @arg Direction:str
 * @text Direction
 * @parent MoveType:str
 * @type select
 * @option -
 * @option Upward
 * @option Downward
 * @option -
 * @option Up-Forward
 * @option Forward
 * @option Down-Forward
 * @option -
 * @option Up-Backward
 * @option Backward
 * @option Down-Backward
 * @option -
 * @option Up-Leftward
 * @option Leftward
 * @option Down-Leftward
 * @option -
 * @option Up-Rightward
 * @option Rightward
 * @option Down-Rightward
 * @option -
 * @desc Select the movement direction.
 * @default Backward
 *
 * @arg Distance:eval
 * @text Distance
 * @parent MoveType:str
 * @desc The number of nodes to be moved.
 * You may use JavaScript code.
 * @default 1
 *
 * @arg Duration:eval
 * @text Duration
 * @desc Input the number representing the frames used to move.
 * @default 12
 *
 * @arg SilentMove:eval
 * @text Silent Change?
 * @type boolean
 * @on Silent
 * @off Visual
 * @desc Silent: Discreet changes shown. More apparent later.
 * Visual: Instant changes shown.
 * @default false
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_PullToTargetNode
 * @text GRID: Pull To Target Node
 * @desc Pulls battlers towards target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to pull on?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to pull to.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to pull to.
 * @default 1
 *
 * @arg Strength:eval
 * @text Strength
 * @desc Input the strength level of the pull.
 * @default 1
 *
 * @arg Duration:eval
 * @text Duration
 * @desc Input the number representing the frames used to move.
 * @default 12
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_PushFromTargetNode
 * @text GRID: Push From Target Node
 * @desc Pushes battlers away from target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to push from?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to push from.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to push from.
 * @default 1
 *
 * @arg Strength:eval
 * @text Strength
 * @desc Input the strength level of the push.
 * @default 1
 *
 * @arg Duration:eval
 * @text Duration
 * @desc Input the number representing the frames used to move.
 * @default 12
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_ClearPassiveStatesFromNode
 * @text GRID: Remove All Passive States from Node
 * @desc Removes all all Passive State effects at target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to clear the Node for?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to clear Passive States from.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to clear Passive States from.
 * @default 1
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_RemovePassiveStatesFromNode
 * @text GRID: Remove Passive State(s) from Node
 * @desc Remove Passive State(s) at target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg StateIDs:arraynum
 * @text State ID(s)
 * @type state[]
 * @desc Select which State ID(s) to remove as a Passive State.
 * @default []
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to remove the Passive State Node
 * effect for?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to remove a Passive State(s) from.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to remove a Passive State(s) from.
 * @default 1
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_RemoveTriggerFromNode
 * @text GRID: Remove Trigger from Node
 * @desc Removes Trigger from target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to clear Triggers for?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to clear Triggers from.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to clear Triggers from.
 * @default 1
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_TeleportToNode
 * @text GRID: Teleport To Node
 * @desc Teleports user/random opponent to target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to teleport to?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to teleport to.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to teleport.
 * @default 1
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Grid_TraverseToNode
 * @text GRID: Traverse To Node
 * @desc Traverses user/random opponent to target node.
 * Requires VisuMZ_2_BattleGridSystem!
 *
 * @arg UseActionSelectNode:eval
 * @text Action-Selected Node?
 * @type boolean
 * @on Action-Selected
 * @off Prioritize Custom
 * @desc Use Action-Selected Node Coordinates if possible?
 * Requires "Empty" or "Any" for <Target: x Grid Node>
 * @default true
 *
 * @arg Unit:str
 * @text Unit
 * @parent UseActionSelectNode:eval
 * @type select
 * @option Actor
 * @option Enemy
 * @option Friend
 * @option Opponent
 * @desc Which unit do you want to traverse to?
 * @default Actor
 *
 * @arg Rank:eval
 * @text Rank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Rank of the Node
 * you want to traverse to.
 * @default 1
 *
 * @arg Flank:eval
 * @text Flank
 * @parent UseActionSelectNode:eval
 * @desc Input the number representing the Flank of the Node
 * you want to traverse.
 * @default 1
 *
 * @arg Duration:eval
 * @text Duration
 * @desc Input the number representing the frames used to move.
 * @default 12
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceHorror
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakHorror
 * @text Action Sequences - Horror Effects
 * @desc These Action Sequences are Horror Effects-related.
 * Requires VisuMZ_2_HorrorEffects!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Horror_Clear
 * @text HORROR: Clear All Filters
 * @desc Clear all Horror Effects filters on the target battler(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to remove Horror Effects for.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Horror_GlitchCreate
 * @text HORROR: Glitch Create
 * @desc Creates the glitch effect on the target battler(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to create the Horror Effect for.
 * @default ["user"]
 *
 * @arg slices:num
 * @text Glitch Slices
 * @parent FilterGlitch
 * @type number
 * @min 1
 * @desc Glitch slices to be used with the target.
 * @default 10
 *
 * @arg offset:num
 * @text Glitch Offset
 * @parent FilterGlitch
 * @type number
 * @min 1
 * @desc Default offset value.
 * @default 100
 *
 * @arg animated:eval
 * @text Glitch Animated?
 * @parent FilterGlitch
 * @type boolean
 * @on Animate
 * @off Static
 * @desc Animate the glitch effect?
 * @default true
 *
 * @arg aniFrequency:num
 * @text Glitch Frequency
 * @parent FilterGlitch
 * @type number
 * @min 1
 * @desc If animated, how frequent to make the glitch effect?
 * Lower = often     Higher = rarer
 * @default 300
 *
 * @arg aniStrength:num
 * @text Glitch Strength
 * @parent FilterGlitch
 * @type number
 * @min 1
 * @desc If animated, how strong is the glitch effect?
 * Lower = weaker     Higher = stronger
 * @default 30
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Horror_GlitchRemove
 * @text HORROR: Glitch Remove
 * @desc Removes the glitch effect on the target battler(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to remove the Horror Effect for.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Horror_NoiseCreate
 * @text HORROR: Noise Create
 * @desc Creates the noise effect on the target battler(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to create the Horror Effect for.
 * @default ["user"]
 *
 * @arg noise:num
 * @text Noise Rate
 * @parent FilterNoise
 * @desc Noise rate to be used with the target.
 * @default 0.3
 *
 * @arg animated:eval
 * @text Noise Animated
 * @parent FilterNoise
 * @type boolean
 * @on Animate
 * @off Static
 * @desc Animate the noise for the target?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Horror_NoiseRemove
 * @text HORROR: Noise Remove
 * @desc Removes the noise effect on the target battler(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to remove the Horror Effect for.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Horror_TVCreate
 * @text HORROR: TV Create
 * @desc Creates the TV effect on the target battler(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to create the Horror Effect for.
 * @default ["user"]
 *
 * @arg lineWidth:num
 * @text TV Line Thickness
 * @parent FilterTV
 * @type number
 * @min 1
 * @desc Default TV line thickness
 * Lower = thinner     Higher = thicker
 * @default 5
 *
 * @arg vignetting:num
 * @text TV Corner Size
 * @parent FilterTV
 * @desc Default TV line corner size
 * Lower = smaller     Higher = bigger
 * @default 0.3
 *
 * @arg animated:eval
 * @text TV Animated
 * @parent FilterTV
 * @type boolean
 * @on Animate
 * @off Static
 * @desc Animate the TV?
 * @default true
 *
 * @arg aniSpeed:num
 * @text TV Speed
 * @parent FilterTV
 * @desc Speed used to animate the TV if animated
 * Lower = slower     Higher = faster
 * @default 0.25
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Horror_TVRemove
 * @text HORROR: TV Remove
 * @desc Removes the TV effect on the target battler(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to remove the Horror Effect for.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceImpact
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakImpact
 * @text Action Sequences - Impact
 * @desc These Action Sequences are related to creating impact.
 * Requires VisuMZ_3_ActSeqImpact!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_BlueRedInvert
 * @text IMPACT: Bizarro Inversion
 * @desc Swaps blue/red colors on the battlefield.
 * Requires VisuMZ_3_ActSeqImpact!
 *
 * @arg Enable:eval
 * @text Bizarro?
 * @type boolean
 * @on Enable / Bizarro
 * @off Disable / Normal
 * @desc Enable Bizarro Inversion effect?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_ColorBreak
 * @text IMPACT: Color Break
 * @desc Breaks the colors on the screen before reassembling.
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Intensity:eval
 * @text Intensity
 * @desc What is the intensity of the color break effect?
 * @default 60
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc What is the duration of the color break effect?
 * @default 60
 *
 * @arg EasingType:str
 * @text Easing Type
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * @default OutBack
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_Desaturate
 * @text IMPACT: Desaturation
 * @desc Desaturates all colors on the battlefield.
 * Requires VisuMZ_3_ActSeqImpact! Created by Manu Gaming!
 *
 * @arg Enable:eval
 * @text Desaturate?
 * @type boolean
 * @on Enable / Desaturate
 * @off Disable / Normal
 * @desc Enable Desaturation effect?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_MotionBlurScreen
 * @text IMPACT: Motion Blur Screen
 * @desc Creates a motion blur on the whole screen.
 * Requires VisuMZ_3_ActSeqImpact!
 *
 * @arg Angle:eval
 * @text Angle
 * @desc Determine what angle to make the motion blur at.
 * @default Math.randomInt(360)
 *
 * @arg Rate:eval
 * @text Intensity Rate
 * @desc This determines intensity rate of the motion blur.
 * Use a number between 0 and 1.
 * @default 0.1
 *
 * @arg Duration:num
 * @text Duration
 * @type number
 * @min 1
 * @desc How many frames should the motion blur last?
 * What do you want to be its duration?
 * @default 30
 *
 * @arg EasingType:str
 * @text Easing Type
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * @default InOutSine
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_MotionBlurTarget
 * @text IMPACT: Motion Blur Target(s)
 * @desc Creates a motion blur on selected target(s).
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to create motion blur effects for.
 * @default ["user"]
 *
 * @arg Angle:eval
 * @text Angle
 * @desc Determine what angle to make the motion blur at.
 * @default Math.randomInt(360)
 *
 * @arg Rate:eval
 * @text Intensity Rate
 * @desc This determines intensity rate of the motion blur.
 * Use a number between 0 and 1.
 * @default 0.5
 *
 * @arg Duration:num
 * @text Duration
 * @type number
 * @min 1
 * @desc How many frames should the motion blur last?
 * What do you want to be its duration?
 * @default 30
 *
 * @arg EasingType:str
 * @text Easing Type
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * @default InOutSine
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_MotionTrailCreate
 * @text IMPACT: Motion Trail Create
 * @desc Creates a motion trail effect for the target(s).
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to create motion trail effects for.
 * @default ["user"]
 *
 * @arg delay:num
 * @text Delay
 * @type number
 * @min 1
 * @desc How many frames to delay by when creating a motion trail?
 * The higher the delay, the less after images there are.
 * @default 1
 *
 * @arg duration:num
 * @text Duration
 * @type number
 * @min 1
 * @desc How many frames should the motion trail last?
 * What do you want to be its duration?
 * @default 30
 *
 * @arg hue:num
 * @text Hue
 * @type number
 * @min 0
 * @max 360
 * @desc What do you want to be the hue for the motion trail?
 * @default 0
 *
 * @arg opacityStart:num
 * @text Starting Opacity
 * @type number
 * @min 0
 * @max 255
 * @desc What starting opacity value do you want for the motion
 * trail? Opacity values decrease over time.
 * @default 200
 *
 * @arg tone:eval
 * @text Tone
 * @desc What tone do you want for the motion trail?
 * Format: [Red, Green, Blue, Gray]
 * @default [0, 0, 0, 0]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_MotionTrailRemove
 * @text IMPACT: Motion Trail Remove
 * @desc Removes the motion trail effect from the target(s).
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to clear motion trail effects for.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_Negative
 * @text IMPACT: Negative Inversion
 * @desc Inverts all the colors on the battlefield.
 * Requires VisuMZ_3_ActSeqImpact! Created by Manu Gaming!
 *
 * @arg Enable:eval
 * @text Negative?
 * @type boolean
 * @on Enable / Negative
 * @off Disable / Normal
 * @desc Enable negative inversion effect?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_Oversaturate
 * @text IMPACT: Oversaturation
 * @desc Oversaturates colors on the battlefield.
 * Requires VisuMZ_3_ActSeqImpact!
 *
 * @arg Enable:eval
 * @text Oversaturate?
 * @type boolean
 * @on Enable / Oversaturate
 * @off Disable / Normal
 * @desc Enable Oversaturation effect?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_ShockwavePoint
 * @text IMPACT: Shockwave at Point
 * @desc Creates a shockwave at the designated coordinates.
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Coordinates
 * 
 * @arg X:eval
 * @text Point: X
 * @parent Coordinates
 * @desc What x coordinate do you want to create a shockwave at?
 * You can use JavaScript code.
 * @default Graphics.width / 2
 * 
 * @arg Y:eval
 * @text Point: Y
 * @parent Coordinates
 * @desc What y coordinate do you want to create a shockwave at?
 * You can use JavaScript code.
 * @default (Graphics.height - 200) / 2
 * 
 * @arg Amp:eval
 * @text Amplitude
 * @desc What is the aplitude of the shockwave effect?
 * @default 30
 * 
 * @arg Wave:eval
 * @text Wavelength
 * @desc What is the wavelength of the shockwave effect?
 * @default 160
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc What is the duration of the shockwave?
 * @default 60
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_ShockwaveEachTargets
 * @text IMPACT: Shockwave from Each Target(s)
 * @desc Creates a shockwave at each of the target(s) location(s).
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to start a shockwave from.
 * @default ["all targets"]
 * 
 * @arg TargetLocation:str
 * @text Target Location
 * @parent Targets2:arraystr
 * @type combo
 * @option front head
 * @option front center
 * @option front base
 * @option middle head
 * @option middle center
 * @option middle base
 * @option back head
 * @option back center
 * @option back base
 * @desc Select which part target group to start a shockwave from.
 * @default middle center
 * 
 * @arg OffsetX:eval
 * @text Offset X
 * @parent TargetLocation:str
 * @desc How much to offset the shockwave X point by.
 * Negative: left. Positive: right.
 * @default +0
 * 
 * @arg OffsetY:eval
 * @text Offset Y
 * @parent TargetLocation:str
 * @desc How much to offset the shockwave Y point by.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @arg Amp:eval
 * @text Amplitude
 * @desc What is the aplitude of the shockwave effect?
 * @default 30
 * 
 * @arg Wave:eval
 * @text Wavelength
 * @desc What is the wavelength of the shockwave effect?
 * @default 160
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc What is the duration of the shockwave?
 * @default 60
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_ShockwaveCenterTargets
 * @text IMPACT: Shockwave from Target(s) Center
 * @desc Creates a shockwave from the center of the target(s).
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to start a shockwave from.
 * @default ["all targets"]
 * 
 * @arg TargetLocation:str
 * @text Target Location
 * @parent Targets2:arraystr
 * @type combo
 * @option front head
 * @option front center
 * @option front base
 * @option middle head
 * @option middle center
 * @option middle base
 * @option back head
 * @option back center
 * @option back base
 * @desc Select which part target group to start a shockwave from.
 * @default middle center
 * 
 * @arg OffsetX:eval
 * @text Offset X
 * @parent TargetLocation:str
 * @desc How much to offset the shockwave X point by.
 * Negative: left. Positive: right.
 * @default +0
 * 
 * @arg OffsetY:eval
 * @text Offset Y
 * @parent TargetLocation:str
 * @desc How much to offset the shockwave Y point by.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @arg Amp:eval
 * @text Amplitude
 * @desc What is the aplitude of the shockwave effect?
 * @default 30
 * 
 * @arg Wave:eval
 * @text Wavelength
 * @desc What is the wavelength of the shockwave effect?
 * @default 160
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc What is the duration of the shockwave?
 * @default 60
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_TimeScale
 * @text IMPACT: Time Scale
 * @desc Adjust time to go faster or slower!
 * Requires VisuMZ_3_ActSeqImpact! Created by Manu Gaming!
 * 
 * @arg Scale:eval
 * @text Scale
 * @desc Adjusts how fast/slow time goes.
 * 1.00 is normal. Lower is slower. Higher is faster.
 * @default 1.00
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_TimeStop
 * @text IMPACT: Time Stop
 * @desc Stops time for a set amount of milliseconds.
 * Requires VisuMZ_3_ActSeqImpact! Created by Manu Gaming!
 * 
 * @arg ms:eval
 * @text Milliseconds
 * @desc How many milliseconds should time stop for?
 * 1000 milliseconds = 1 second.
 * @default 1000
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_ZoomBlurPoint
 * @text IMPACT: Zoom Blur at Point
 * @desc Creates a zoom blur at the designated coordinates.
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Coordinates
 * 
 * @arg X:eval
 * @text Point: X
 * @parent Coordinates
 * @desc What x coordinate do you want to focus the zoom at?
 * You can use JavaScript code.
 * @default Graphics.width / 2
 * 
 * @arg Y:eval
 * @text Point: Y
 * @parent Coordinates
 * @desc What y coordinate do you want to focus the zoom at?
 * You can use JavaScript code.
 * @default (Graphics.height - 200) / 2
 * 
 * @arg Strength:eval
 * @text Zoom Strength
 * @desc What is the strength of the zoom effect?
 * Use a number between 0 and 1.
 * @default 0.5
 * 
 * @arg Radius:eval
 * @text Visible Radius
 * @desc How much of a radius should be visible from the center?
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc What is the duration of the zoom blur?
 * @default 60
 *
 * @arg EasingType:str
 * @text Easing Type
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * @default OutSine
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Impact_ZoomBlurTargetCenter
 * @text IMPACT: Zoom Blur at Target(s) Center
 * @desc Creates a zoom blur at the center of targets.
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to start a zoom blur from.
 * @default ["user"]
 * 
 * @arg TargetLocation:str
 * @text Target Location
 * @parent Targets2:arraystr
 * @type combo
 * @option front head
 * @option front center
 * @option front base
 * @option middle head
 * @option middle center
 * @option middle base
 * @option back head
 * @option back center
 * @option back base
 * @desc Select which part target group to start a zoom blur from.
 * @default middle center
 * 
 * @arg OffsetX:eval
 * @text Offset X
 * @parent TargetLocation:str
 * @desc How much to offset the zoom blur X point by.
 * Negative: left. Positive: right.
 * @default +0
 * 
 * @arg OffsetY:eval
 * @text Offset Y
 * @parent TargetLocation:str
 * @desc How much to offset the zoom blur Y point by.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @arg Strength:eval
 * @text Zoom Strength
 * @desc What is the strength of the zoom effect?
 * Use a number between 0 and 1.
 * @default 0.5
 * 
 * @arg Radius:eval
 * @text Visible Radius
 * @desc How much of a radius should be visible from the center?
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc What is the duration of the zoom blur?
 * @default 60
 *
 * @arg EasingType:str
 * @text Easing Type
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * @default OutSine
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceInject
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakInject
 * @text Action Sequences - Inject
 * @desc These Action Sequences are related to injected animations.
 * Requires VisuMZ_3_ActSeqImpact!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Inject_AnimationStart
 * @text INJECT: Animation Begin
 * @desc Injects and plays a whole spritesheet animation.
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to inject the animation on.
 * @default ["user"]
 * 
 * @arg Filename:str
 * @text Filename
 * @type file
 * @dir img/sv_actors/
 * @desc Select the animation spritesheet file.
 * Located in the /img/sv_actors/ folder.
 * @default Untitled
 *
 * @arg horzCells:num
 * @text Horizontal Cells
 * @parent Filename:str
 * @type number
 * @min 1
 * @desc How many horizontal cells (or columns) are there?
 * @default 1
 *
 * @arg vertCells:num
 * @text Vertical Cells
 * @parent Filename:str
 * @type number
 * @min 1
 * @desc How many vertical cells (or rows) are there?
 * @default 1
 *
 * @arg frameDelay:num
 * @text Frame Delay
 * @parent Filename:str
 * @type number
 * @min 1
 * @desc How many frames are played inbetween cells?
 * @default 1
 *
 * @arg smooth:eval
 * @text Smooth Bitmap?
 * @parent Filename:str
 * @type boolean
 * @on Smooth
 * @off Pixelated
 * @desc Smooth the spritesheet graphic?
 * @default false
 * 
 * @arg Offset
 *
 * @arg offsetX:eval
 * @text Offset X
 * @parent Offset
 * @desc Offsets the X position of the injected animation.
 * Negative: left. Positive: right.
 * @default +0
 *
 * @arg offsetY:eval
 * @text Offset Y
 * @parent Offset
 * @desc Offsets the Y position of the injected animation.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Inject_AnimationEnd
 * @text INJECT: Animation End
 * @desc Stops and ends any injected animations on target(s).
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to stop injected animation(s).
 * @default ["user"]
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Inject_AnimationPauseResume
 * @text INJECT: Animation Pause/Resume
 * @desc Pauses/resumes any injected animations on target(s).
 * Requires VisuMZ_3_ActSeqImpact!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to pause injected animation(s).
 * @default ["user"]
 *
 * @arg pause:eval
 * @text Pause?
 * @parent Filename:str
 * @type boolean
 * @on Pause
 * @off Resume
 * @desc Pause the injected animation?
 * @default true
 * 
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Inject_WaitForInjectAni
 * @text INJECT: Wait For Injected Animation
 * @desc Waits for injected animations to complete before performing
 * next command. Requires VisuMZ_3_ActSeqImpact!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceMechanics
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakMechanics
 * @text Action Sequences - Mechanics
 * @desc These Action Sequences are related to various mechanics
 * related to the battle system.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_ActionEffect
 * @text MECH: Action Effect
 * @desc Causes the unit(s) to take damage/healing from action and
 * incurs any changes made such as buffs and states.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to receive the current action's effects.
 * @default ["all targets"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_ActiveChainInputDisable
 * @text MECH: Active Chain Input Disable
 * @desc Disables input for Active Chain Skills at this time.
 * Requires VisuMZ_3_ActiveChainSkills!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_AddBuffDebuff
 * @text MECH: Add Buff/Debuff
 * @desc Adds buff(s)/debuff(s) to unit(s). 
 * Determine which parameters are affected and their durations.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to receive the buff(s) and/or debuff(s).
 * @default ["user"]
 * 
 * @arg Buffs:arraystr
 * @text Buff Parameters
 * @type combo[]
 * @option MaxHP
 * @option MaxMP
 * @option ATK
 * @option DEF
 * @option MAT
 * @option MDF
 * @option AGI
 * @option LUK
 * @desc Select which parameter(s) to buff.
 * Insert a parameter multiple times to raise its stacks.
 * @default ["ATK"]
 *
 * @arg Debuffs:arraystr
 * @text Debuff Parameters
 * @type combo[]
 * @option MaxHP
 * @option MaxMP
 * @option ATK
 * @option DEF
 * @option MAT
 * @option MDF
 * @option AGI
 * @option LUK
 * @desc Select which parameter(s) to debuff.
 * Insert a parameter multiple times to raise its stacks.
 * @default ["DEF"]
 * 
 * @arg Turns:eval
 * @text Turns
 * @desc Number of turns to set the parameter(s) buffs to.
 * You may use JavaScript code.
 * @default 5
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_AddState
 * @text MECH: Add State
 * @desc Adds state(s) to unit(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to receive the buff(s).
 * @default ["user"]
 * 
 * @arg States:arraynum
 * @text States
 * @type state[]
 * @desc Select which state ID(s) to add to unit(s).
 * Insert multiple state ID's to add multiple at once.
 * @default ["4"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_AnalyzeWeakness
 * @text MECH: Analyze Weakness
 * @desc Reveal elemental weakness(es) from target(s).
 * Requires VisuMZ_3_WeaknessDisplay!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to reveal elemental weaknesses for.
 * @default ["all targets"]
 * 
 * @arg Reveal:eval
 * @text Reveal
 * @desc How many elemental weaknesses do you wish to reveal?
 * You may use JavaScript code.
 * @default 1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_ArmorPenetration
 * @text MECH: Armor Penetration
 * @desc Adds an extra layer of defensive penetration/reduction.
 * You may use JavaScript code for any of these.
 *
 * @arg ArmorPenetration
 * @text Armor/Magic Penetration
 * 
 * @arg ArPenRate:eval
 * @text Rate
 * @parent ArmorPenetration
 * @desc Penetrates an extra multiplier of armor by this value.
 * @default 0.00
 * 
 * @arg ArPenFlat:eval
 * @text Flat
 * @parent ArmorPenetration
 * @desc Penetrates a flat amount of armor by this value.
 * @default 0
 *
 * @arg ArmorReduction
 * @text Armor/Magic Reduction
 * 
 * @arg ArRedRate:eval
 * @text Rate
 * @parent ArmorReduction
 * @desc Reduces an extra multiplier of armor by this value.
 * @default 0.00
 * 
 * @arg ArRedFlat:eval
 * @text Flat
 * @parent ArmorReduction
 * @desc Reduces a flat amount of armor by this value.
 * @default 0
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_AtbGauge
 * @text MECH: ATB Gauge
 * @desc Alters the ATB/TPB Gauges.
 * Requires VisuMZ_2_BattleSystemATB!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to alter the ATB/TPB Gauges for.
 * @default ["all targets"]
 *
 * @arg Charging
 * 
 * @arg ChargeRate:eval
 * @text Charge Rate
 * @parent Charging
 * @desc Changes made to the ATB Gauge if it is currently charging.
 * @default -0.00
 * 
 * @arg Casting
 * 
 * @arg CastRate:eval
 * @text Cast Rate
 * @parent Casting
 * @desc Changes made to the ATB Gauge if it is currently casting.
 * @default -0.00
 * 
 * @arg Interrupt:eval
 * @text Interrupt?
 * @parent Casting
 * @type boolean
 * @on Interrupt
 * @off Don't Interrupt
 * @desc Interrupt the ATB Gauge if it is currently casting?
 * @default false
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_BoostPointsChange
 * @text MECH: Boost Points Change
 * @desc Changes Boost Points for target(s).
 * Requires VisuMZ_3_BoostAction!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to alter the Boost Points for.
 * @default ["user"]
 * 
 * @arg BoostPoints:eval
 * @text Alter Boost Points By
 * @desc Alters the unit(s) Boost Points.
 * Positive for gaining points. Negative for losing points.
 * @default +1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_BoostPointsStoreData
 * @text MECH: Boost Store Data
 * @desc Stores the number of Boosts used this action inside a variable.
 * Requires VisuMZ_3_BoostAction!
 * 
 * @arg VariableID:num
 * @text Variable ID
 * @type variable
 * @desc Which variable do you want to store the data inside?
 * @default 1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_BreakShieldChange
 * @text MECH: Break Shield Change
 * @desc Changes Break Shields for target(s) if not Break Stunned.
 * Requires VisuMZ_4_BreakShields!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to alter the Break Shields for.
 * @default ["all targets"]
 * 
 * @arg BreakShields:eval
 * @text Alter Break Shields By
 * @desc Alters the unit(s) Break Shields.
 * Positive for gaining shields. Negative for losing shields.
 * @default -1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_BreakShieldReset
 * @text MECH: Break Shield Reset
 * @desc Resets Break Shields for target(s) if not Break Stunned.
 * Requires VisuMZ_4_BreakShields!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to reset the Break Shields for.
 * @default ["all targets"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_BtbGain
 * @text MECH: BTB Brave Points
 * @desc Alters the target(s) Brave Points to an exact value.
 * Requires VisuMZ_2_BattleSystemBTB!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to alter the ATB/TPB Gauges for.
 * @default ["all targets"]
 * 
 * @arg BravePoints:eval
 * @text Alter Brave Points By
 * @desc Alters the target(s) Brave Points.
 * Positive for gaining BP. Negative for losing BP.
 * @default +1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_Collapse
 * @text MECH: Collapse
 * @desc Causes the unit(s) to perform its collapse animation
 * if the unit(s) has died.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to process a death collapse.
 * @default ["all targets"]
 * 
 * @arg ForceDeath:eval
 * @text Force Death
 * @type boolean
 * @on On
 * @off Off
 * @desc Force death even if the unit has not reached 0 HP?
 * This will remove immortality.
 * @default false
 * 
 * @arg WaitForEffect:eval
 * @text Wait For Effect?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for the collapse effect to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_CtbOrder
 * @text MECH: CTB Order
 * @desc Alters the CTB Turn Order.
 * Requires VisuMZ_2_BattleSystemCTB!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to alter the CTB Turn Order for.
 * @default ["all targets"]
 *
 * @arg ChangeOrderBy:eval
 * @text Change Order By
 * @parent Charging
 * @desc Changes turn order for target(s) by this amount.
 * Positive increases wait. Negative decreases wait.
 * @default +1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_CtbSpeed
 * @text MECH: CTB Speed
 * @desc Alters the CTB Speed.
 * Requires VisuMZ_2_BattleSystemCTB!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to alter the CTB Speed for.
 * @default ["all targets"]
 *
 * @arg ChargeRate:eval
 * @text Charge Rate
 * @parent Charging
 * @desc Changes made to the CTB Speed if it is currently charging.
 * @default -0.00
 * 
 * @arg CastRate:eval
 * @text Cast Rate
 * @parent Casting
 * @desc Changes made to the CTB Speed if it is currently casting.
 * @default -0.00
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_CustomDmgFormula
 * @text MECH: Custom Damage Formula
 * @desc Changes the current action's damage formula to custom.
 * This will assume the MANUAL damage style.
 * 
 * @arg Formula:str
 * @text Formula
 * @desc Changes the current action's damage formula to custom.
 * Use 'default' to revert the damage formula.
 * @default default
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_DamagePopup
 * @text MECH: Damage Popup
 * @desc Causes the unit(s) to display the current state of
 * damage received or healed.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to prompt a damage popup.
 * @default ["all targets"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_DeathBreak
 * @text MECH: Dead Label Jump
 * @desc If the active battler is dead, jump to a specific label in the common event.
 * 
 * @arg JumpToLabel:str
 * @text Jump To Label
 * @desc If the active battler is dead, jump to this specific label in the common event.
 * @default Untitled
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_EmulateAttackEffect
 * @text MECH: Emulate Attack Effect
 * @desc Emulate an "Action Effect" but using a the user's
 * attack skill instead of the current action.
 * 
 * @arg Users:arraystr
 * @text User(s)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to perform the action's effects.
 * @default ["user"]
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to receive the current action's effects.
 * @default ["all targets"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_EmulateGuardEffect
 * @text MECH: Emulate Guard Effect
 * @desc Emulate an "Action Effect" but using a the user's
 * guard skill instead of the current action.
 * 
 * @arg Users:arraystr
 * @text User(s)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to perform the action's effects.
 * @default ["user"]
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to receive the current action's effects.
 * @default ["all targets"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_EmulateItemEffect
 * @text MECH: Emulate Item Effect
 * @desc Emulate an "Action Effect" but using a specific item
 * instead of the current action.
 * 
 * @arg ItemID:eval
 * @text Item ID
 * @type item
 * @desc Which item ID will be emulated?
 * @default 7
 * 
 * @arg Users:arraystr
 * @text User(s)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to perform the action's effects.
 * @default ["user"]
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to receive the current action's effects.
 * @default ["all targets"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_EmulateSkillCost
 * @text MECH: Emulate Skill Cost
 * @desc Pick a skill for target(s) to emulate paying the cost of.
 * Includes cooldowns and limited uses.
 * 
 * @arg SkillID:eval
 * @text Skill ID
 * @type skill
 * @desc Which skill ID will have its cost paid for?
 * Use 0 for current action's skill.
 * @default 0
 * 
 * @arg Users:arraystr
 * @text User(s)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to perform the action's effects.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_EmulateSkillEffect
 * @text MECH: Emulate Skill Effect
 * @desc Emulate an "Action Effect" but using a specific skill
 * instead of the current action.
 * 
 * @arg SkillID:eval
 * @text Skill ID
 * @type skill
 * @desc Which skill ID will be emulated?
 * @default 99
 * 
 * @arg Users:arraystr
 * @text User(s)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to perform the action's effects.
 * @default ["user"]
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to receive the current action's effects.
 * @default ["all targets"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_EnemyEscape
 * @text MECH: Enemy Escape
 * @desc Causes the enemy unit(s) to escape.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to escape.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_EtbAction
 * @text MECH: ETB Energy Count
 * @desc Alters the subject team's available Energy Count.
 * Requires VisuMZ_2_BattleSystemETB!
 * 
 * @arg ActionCount:eval
 * @text Energy Count
 * @desc Alters the subject team's available Energy Count.
 * Positive for gaining energy. Negative for losing energy.
 * @default +1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_FtbAction
 * @text MECH: FTB Action Count
 * @desc Alters the subject team's available Action Count.
 * Requires VisuMZ_2_BattleSystemFTB!
 * 
 * @arg ActionCount:eval
 * @text Action Count
 * @desc Alters the subject team's available Action Count.
 * Positive for gaining actions. Negative for losing actions.
 * @default +1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_HpMpTp
 * @text MECH: HP, MP, TP
 * @desc Alters the HP, MP, and TP values for unit(s).
 * Positive values for healing. Negative values for damage.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to receive the current action's effects.
 * @default ["user"]
 *
 * @arg HP
 * 
 * @arg HP_Rate:eval
 * @text HP Rate
 * @parent HP
 * @desc Changes made to HP based on rate.
 * Positive values for healing. Negative values for damage.
 * @default +0.00
 * 
 * @arg HP_Flat:eval
 * @text HP Flat
 * @parent HP
 * @desc Flat changes made to HP.
 * Positive values for healing. Negative values for damage.
 * @default +0
 * 
 * @arg MP
 * 
 * @arg MP_Rate:eval
 * @text MP Rate
 * @parent MP
 * @desc Changes made to MP based on rate.
 * Positive values for healing. Negative values for damage.
 * @default +0.00
 * 
 * @arg MP_Flat:eval
 * @text MP Flat
 * @parent MP
 * @desc Flat changes made to MP.
 * Positive values for healing. Negative values for damage.
 * @default +0
 *
 * @arg TP
 * 
 * @arg TP_Rate:eval
 * @text TP Rate
 * @parent TP
 * @desc Changes made to TP based on rate.
 * Positive values for healing. Negative values for damage.
 * @default +0.00
 * 
 * @arg TP_Flat:eval
 * @text TP Flat
 * @parent TP
 * @desc Flat changes made to TP.
 * Positive values for healing. Negative values for damage.
 * @default +0
 * 
 * @arg ShowPopup:eval
 * @text Damage Popup?
 * @type boolean
 * @on On
 * @off Off
 * @desc Display a damage popup after?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_Immortal
 * @text MECH: Immortal
 * @desc Changes the immortal flag of targets. If immortal flag is
 * removed and a unit would die, collapse that unit.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Alter the immortal flag of these groups. If immortal flag
 * is removed and a unit would die, collapse that unit.
 * @default ["user","all targets"]
 * 
 * @arg Immortal:eval
 * @text Immortal
 * @type boolean
 * @on On
 * @off Off
 * @desc Turn immortal flag for unit(s) on/off?
 * @default false
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_Multipliers
 * @text MECH: Multipliers
 * @desc Changes the multipliers for the current action.
 * You may use JavaScript code for any of these.
 *
 * @arg CriticalHit
 * @text Critical Hit%
 * 
 * @arg CriticalHitRate:eval
 * @text Rate
 * @parent CriticalHit
 * @desc Affects chance to land a critical hit by this multiplier.
 * @default 1.00
 * 
 * @arg CriticalHitFlat:eval
 * @text Flat
 * @parent CriticalHit
 * @desc Affects chance to land a critical hit by this flat bonus.
 * @default +0.00
 *
 * @arg CriticalDmg
 * @text Critical Damage
 * 
 * @arg CriticalDmgRate:eval
 * @text Rate
 * @parent CriticalDmg
 * @desc Affects critical damage by this multiplier.
 * @default 1.00
 * 
 * @arg CriticalDmgFlat:eval
 * @text Flat
 * @parent CriticalDmg
 * @desc Affects critical damage by this flat bonus.
 * @default +0.00
 *
 * @arg Damage
 * @text Damage/Healing
 * 
 * @arg DamageRate:eval
 * @text Rate
 * @parent Damage
 * @desc Sets the damage/healing multiplier for current action.
 * @default 1.00
 * 
 * @arg DamageFlat:eval
 * @text Flat
 * @parent Damage
 * @desc Sets the damage/healing bonus for current action.
 * @default +0.00
 *
 * @arg HitRate
 * @text Hit Rate
 * 
 * @arg HitRate:eval
 * @text Rate
 * @parent HitRate
 * @desc Affects chance to connect attack by this multiplier.
 * @default 1.00
 * 
 * @arg HitFlat:eval
 * @text Flat
 * @parent HitRate
 * @desc Affects chance to connect attack by this flat bonus.
 * @default +0.00
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_OnceParallel
 * @text MECH: Once Parallel
 * @desc Plays a Common Event parallel to the battle event once
 * without repeating itself when done.
 *
 * @arg CommonEventID:num
 * @text Common Event ID
 * @type common_event
 * @desc The ID of the parallel Common Event to play.
 * Does NOT repeat itself when finished.
 * @default 1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_OtbOrder
 * @text MECH: OTB Order
 * @desc Alters the OTB Turn Order. Best used with single targets.
 * Requires VisuMZ_2_BattleSystemOTB!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to alter the OTB Turn Order for.
 * @default ["all targets"]
 *
 * @arg CurrentTurn:eval
 * @text Current Turn By
 * @parent Charging
 * @desc Changes turn order for target(s) by this amount.
 * Positive increases wait. Negative decreases wait.
 * @default +0
 *
 * @arg NextTurn:eval
 * @text Next Turn By
 * @parent Charging
 * @desc Changes turn order for target(s) by this amount.
 * Positive increases wait. Negative decreases wait.
 * @default +1
 *
 * @arg FollowTurn:eval
 * @text Follow Turn By
 * @parent Charging
 * @desc Changes turn order for target(s) by this amount.
 * Positive increases wait. Negative decreases wait.
 * @default +0
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_PtbAlterCost
 * @text MECH: PTB Alter Cost
 * @desc Alters the action's cost settings.
 * Requires VisuMZ_2_BattleSystemPTB!
 *
 * @arg Override:eval
 * @text Override?
 * @type boolean
 * @on Override Permanent
 * @off Require Temporary
 * @desc Overrides any 'permanent' settings for Changeability?
 * @default false
 *
 * @arg alterChange:str
 * @text Alter Changeability
 * @type select
 * @option Unchanged - Cost type is unchanged after this effect
 * @value unchanged
 * @option Permanent - Cost type can no longer be changed after
 * @value permanent
 * @option Temporary - Cost type can still be changed after
 * @value temporary
 * @desc Allow the cost type and value to be changeable?
 * @default unchanged
 *
 * @arg alterType:str
 * @text Alter Cost Type
 * @type select
 * @option Unchanged - No changes are made
 * @value unchanged
 * @option Consume - Removes half, otherwise consumes full
 * @value consume
 * @option Convert - Converts full => half, otherwise consumes half
 * @value convert
 * @option Compress - Consumes half, otherwise converts full => half
 * @value compress
 * @desc Change the cost type to this scenario.
 * Use 'Unchanged' for no changes.
 * @default convert
 *
 * @arg alterCost:eval
 * @text Alter Cost Value
 * @desc What is the default action cost for this scenario?
 * @default +0
 *
 * @arg alterPriority:eval
 * @text Priority
 * @desc What is this scenario's priority? Scenario outcomes with
 * equal or lower priorities cannot override types and costs.
 * @default 50
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_PtbConvert
 * @text MECH: PTB Conversion
 * @desc Converts full actions into half actions.
 * Requires VisuMZ_2_BattleSystemPTB!
 * 
 * @arg ConvertCount:eval
 * @text Conversion Count
 * @desc Converts full actions into half actions.
 * If not enough, consume half actions.
 * @default 1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_PtbFullHalfAction
 * @text MECH: PTB Full/Half Action(s)
 * @desc Alters the subject team's available Full/Half Actions.
 * Requires VisuMZ_2_BattleSystemPTB!
 * 
 * @arg FullActions:eval
 * @text Full Actions
 * @desc Alters the subject team's available Full Actions.
 * Positive for gaining. Negative for losing.
 * @default +0
 * 
 * @arg HalfActions:eval
 * @text Half Actions
 * @desc Alters the subject team's available Half Actions.
 * Positive for gaining. Negative for losing.
 * @default +0
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_RemoveBuffDebuff
 * @text MECH: Remove Buff/Debuff
 * @desc Removes buff(s)/debuff(s) from unit(s). 
 * Determine which parameters are removed.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to have the buff(s) and/or debuff(s) removed.
 * @default ["user"]
 * 
 * @arg Buffs:arraystr
 * @text Buff Parameters
 * @type combo[]
 * @option MaxHP
 * @option MaxMP
 * @option ATK
 * @option DEF
 * @option MAT
 * @option MDF
 * @option AGI
 * @option LUK
 * @desc Select which buffed parameter(s) to remove.
 * @default ["MaxHP","MaxMP","ATK","DEF","MAT","MDF","AGI","LUK"]
 *
 * @arg Debuffs:arraystr
 * @text Debuff Parameters
 * @type combo[]
 * @option MaxHP
 * @option MaxMP
 * @option ATK
 * @option DEF
 * @option MAT
 * @option MDF
 * @option AGI
 * @option LUK
 * @desc Select which debuffed parameter(s) to remove.
 * @default ["MaxHP","MaxMP","ATK","DEF","MAT","MDF","AGI","LUK"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_RemoveState
 * @text MECH: Remove State
 * @desc Remove state(s) from unit(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to have states removed from.
 * @default ["user"]
 * 
 * @arg States:arraynum
 * @text States
 * @type state[]
 * @desc Select which state ID(s) to remove from unit(s).
 * Insert multiple state ID's to remove multiple at once.
 * @default ["4"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_StateTurnsChangeBy
 * @text MECH: State Turns Change By
 * @desc Changes target(s) state turns by an amount.
 * Requires VisuMZ_1_SkillsStatesCore!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to affect state turns for.
 * @default ["all targets"]
 *
 * @arg StateID:num
 * @text State ID
 * @type state
 * @desc What is the ID of the state you wish to change turns for?
 * Only works on states that can have turns.
 * @default 5
 *
 * @arg Turns:eval
 * @text Change Turns By
 * @desc How many turns should the state be changed to?
 * You may use JavaScript code.
 * @default +1
 *
 * @arg AutoAddState:eval
 * @text Auto-Add State?
 * @type boolean
 * @on Auto-Add
 * @off Don't Add
 * @desc Automatically adds state if actor(s) does not have it applied?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_StateTurnsChangeTo
 * @text MECH: State Turns Change To
 * @desc Changes target(s) state turns to a specific value.
 * Requires VisuMZ_1_SkillsStatesCore!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to affect state turns for.
 * @default ["all targets"]
 *
 * @arg StateID:num
 * @text State ID
 * @type state
 * @desc What is the ID of the state you wish to change turns for?
 * Only works on states that can have turns.
 * @default 5
 *
 * @arg Turns:eval
 * @text Change Turns To
 * @desc How many turns should the state be changed to?
 * You may use JavaScript code.
 * @default 10
 *
 * @arg AutoAddState:eval
 * @text Auto-Add State?
 * @type boolean
 * @on Auto-Add
 * @off Don't Add
 * @desc Automatically adds state if target(s) does not have it applied?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_StbExploit
 * @text MECH: STB Exploit Effect
 * @desc Utilize the STB Exploitation mechanics!
 * Requires VisuMZ_2_BattleSystemSTB!
 * 
 * @arg Exploited:eval
 * @text Target(s) Exploited?
 * @type boolean
 * @on Exploit
 * @off Don't
 * @desc Exploit the below targets?
 * @default true
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to become exploited.
 * @default ["all targets"]
 * 
 * @arg ForceExploited:eval
 * @text Force Exploitation
 * @type boolean
 * @on Force
 * @off Don't
 * @desc Force the exploited status?
 * @default false
 * 
 * @arg Exploiter:eval
 * @text User Exploiter?
 * @type boolean
 * @on Exploit
 * @off Don't
 * @desc Allow the user to become the exploiter?
 * @default true
 * 
 * @arg ForceExploited:eval
 * @text Force Exploitation
 * @type boolean
 * @on Force
 * @off Don't
 * @desc Force the exploiter status?
 * @default false
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_StbExtraAction
 * @text MECH: STB Extra Action
 * @desc Adds an extra action for the currently active battler.
 * Requires VisuMZ_2_BattleSystemSTB!
 * 
 * @arg Actions:eval
 * @text Extra Actions
 * @parent Charging
 * @desc How many extra actions should the active battler gain?
 * You may use JavaScript code.
 * @default 1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_StbRemoveExcessActions
 * @text MECH: STB Remove Excess Actions
 * @desc Removes excess actions from the active battler.
 * Requires VisuMZ_2_BattleSystemSTB!
 * 
 * @arg Actions:eval
 * @text Remove Actions
 * @parent Charging
 * @desc How many actions to remove from the active battler?
 * You may use JavaScript code.
 * @default 99
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_SwapWeapon
 * @text MECH: Swap Weapon
 * @desc Causes the unit(s) to swap their weapon for another.
 * Requires VisuMZ_2_WeaponSwapSystem!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to swap weapons for.
 * @default ["user"]
 * 
 * @arg WeaponTypeID:eval
 * @text Weapon Type ID
 * @desc Which weapon type to swap to?
 * This is NOT the weapon's ID. It's the weapon TYPE.
 * @default 1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_TextPopup
 * @text MECH: Text Popup
 * @desc Causes the unit(s) to display a text popup.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to prompt a text popup.
 * @default ["target"]
 * 
 * @arg Text:str
 * @text Text
 * @desc What text do you wish to display?
 * @default Text
 * 
 * @arg TextColor:str
 * @text Text Color
 * @parent Text:str
 * @desc Use #rrggbb for custom colors or regular numbers
 * for text colors from the Window Skin.
 * @default #ffffff
 *
 * @arg FlashColor:eval
 * @text Flash Color
 * @parent Popups
 * @desc Adjust the popup's flash color.
 * Format: [red, green, blue, alpha]
 * @default [255, 0, 0, 160]
 * 
 * @arg FlashDuration:num
 * @text Flash Duration
 * @parent FlashColor:eval
 * @type number
 * @desc What is the frame duration of the flash effect?
 * @default 60
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_VariablePopup
 * @text MECH: Variable Popup
 * @desc Causes the unit(s) to display a popup using the data
 * stored inside a variable.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to prompt a text popup.
 * @default ["target"]
 * 
 * @arg Variable:num
 * @text Variable ID
 * @type variable
 * @desc Get data from which variable to display as a popup?
 * @default 1
 * 
 * @arg DigitGrouping:eval
 * @text Digit Grouping
 * @parent Variable:num
 * @type boolean
 * @on Group Digits
 * @off Don't Group
 * @desc Use digit grouping to separate numbers?
 * Requires VisuMZ_0_CoreEngine!
 * @default true
 * 
 * @arg TextColor:str
 * @text Text Color
 * @parent Variable:num
 * @desc Use #rrggbb for custom colors or regular numbers
 * for text colors from the Window Skin.
 * @default #ffffff
 *
 * @arg FlashColor:eval
 * @text Flash Color
 * @parent Popups
 * @desc Adjust the popup's flash color.
 * Format: [red, green, blue, alpha]
 * @default [0, 0, 0, 0]
 * 
 * @arg FlashDuration:num
 * @text Flash Duration
 * @parent FlashColor:eval
 * @type number
 * @desc What is the frame duration of the flash effect?
 * @default 60
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Mechanics_WaitForEffect
 * @text MECH: Wait For Effect
 * @desc Waits for the effects to complete before performing next command.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceMotion
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakMotion
 * @text Action Sequences - Motion
 * @desc These Action Sequences allow you the ability to control
 * the motions of sideview sprites.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Motion_ClearFreezeFrame
 * @text MOTION: Clear Freeze Frame
 * @desc Clears any freeze frames from the unit(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to clear freeze frames for.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Motion_FreezeMotionFrame
 * @text MOTION: Freeze Motion Frame
 * @desc Forces a freeze frame instantly at the selected motion.
 * Automatically clears with a new motion.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to freeze motions for.
 * @default ["user"]
 *
 * @arg MotionType:str
 * @text Motion Type
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option attack
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Freeze this motion for the unit(s).
 * @default attack
 * 
 * @arg Frame:num
 * @text Frame Index
 * @desc Which frame do you want to freeze the motion on?
 * Frame index values start at 0.
 * @default 2
 *
 * @arg ShowWeapon:eval
 * @text Show Weapon?
 * @type combo
 * @type boolean
 * @on Show
 * @off Hide
 * @desc If using 'attack', 'thrust', 'swing', or 'missile',
 * display the weapon sprite?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Motion_MotionType
 * @text MOTION: Motion Type
 * @desc Causes the unit(s) to play the selected motion.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to perform a motion.
 * @default ["user"]
 *
 * @arg MotionType:str
 * @text Motion Type
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option attack
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default attack
 *
 * @arg ShowWeapon:eval
 * @text Show Weapon?
 * @type combo
 * @type boolean
 * @on Show
 * @off Hide
 * @desc If using 'attack', 'thrust', 'swing', or 'missile',
 * display the weapon sprite?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Motion_PerformAction
 * @text MOTION: Perform Action
 * @desc Causes the unit(s) to play the proper motion based
 * on the current action.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to perform a motion.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Motion_RefreshMotion
 * @text MOTION: Refresh Motion
 * @desc Cancels any set motions unit(s) has to do and use
 * their most natural motion at the moment.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to refresh their motion state.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Motion_WaitMotionFrame
 * @text MOTION: Wait By Motion Frame
 * @desc Creates a wait equal to the number of motion frames passing.
 * Time is based on Plugin Parameters => Actors => Motion Speed.
 *
 * @arg MotionFrameWait:num
 * @text Motion Frames to Wait?
 * @type number
 * @min 1
 * @desc Each "frame" is equal to the value found in
 * Plugin Parameters => Actors => Motion Speed
 * @default 1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceMovement
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakMovement
 * @text Action Sequences - Movement
 * @desc These Action Sequences allow you the ability to control
 * the sprites of actors and enemies in battle.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_BattleStep
 * @text MOVE: Battle Step
 * @desc Causes the unit(s) to move forward past their home position
 * to prepare for action.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to move.
 * @default ["user"]
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_HomeMoveBy
 * @text MOVE: Change Home By Distance
 * @desc Change unit(s)'s home position by a distance from their
 * current home position(s). Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change home position(s) for.
 * @default ["user"]
 *
 * @arg DistanceAdjust:str
 * @text Distance Adjustment
 * @type select
 * @option Normal - No adjustments made
 * @value none
 * @option Horizontal - Actors adjust left, Enemies adjust right
 * @value horz
 * @option Vertical - Actors adjust Up, Enemies adjust down
 * @value vert
 * @option Both - Applies both Horizontal and Vertical
 * @value horz + vert
 * @desc Makes adjustments to distance values to determine
 * which direction to change by.
 * @default horz
 * 
 * @arg DistanceX:eval
 * @text Distance: X
 * @parent DistanceAdjust:str
 * @desc Horizontal distance to change home by.
 * You may use JavaScript code.
 * @default 48
 * 
 * @arg DistanceY:eval
 * @text Distance: Y
 * @parent DistanceAdjust:str
 * @desc Vertical distance to change home by.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total change amount.
 * @default 12
 * 
 * @arg FaceDirection:eval
 * @text Face Destination?
 * @type boolean
 * @on Turn
 * @off Don't
 * @desc Turn and face the destination?
 * @default true
 *
 * @arg EasingType:str
 * @text Movement Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 *
 * @arg MotionType:str
 * @text Movement Motion
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default walk
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_HomeMoveToJsPoint
 * @text MOVE: Change Home To JS Coordinates
 * @desc Change home position(s) to specified JS Coordinates.
 * Sideview-only! Uses JavaScript!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change home position(s) for.
 * @default ["user"]
 *
 * @arg DestinationJS:func
 * @text JS: Coordinates
 * @type note
 * @desc Code used to determine the coordinates for the
 * target(s)'s new home position.
 * @default "// Declare Variables\nconst target = arguments[0];\nlet goalX = 0;\nlet goalY = 0;\n\n// Calculations\ngoalX = Graphics.width / 2;\ngoalY = Graphics.height / 2;\n\n// Return Data\nreturn new Point(goalX, goalY);"
 *
 * @arg OffsetAdjust:str
 * @text Offset Adjustment
 * @parent Destination:str
 * @type select
 * @option Normal - No adjustments made
 * @value none
 * @option Horizontal - Actors adjust left, Enemies adjust right
 * @value horz
 * @option Vertical - Actors adjust Up, Enemies adjust down
 * @value vert
 * @option Both - Applies both Horizontal and Vertical
 * @value horz + vert
 * @desc Makes adjustments to offset values to determine
 * which direction to adjust the destination by.
 * @default horz
 * 
 * @arg OffsetX:eval
 * @text Offset: X
 * @parent OffsetAdjust:str
 * @desc Horizontal offset to change home by.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg OffsetY:eval
 * @text Offset: Y
 * @parent OffsetAdjust:str
 * @desc Vertical offset to change home by.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total change amount.
 * @default 12
 * 
 * @arg FaceDirection:eval
 * @text Face Destination?
 * @type boolean
 * @on Turn
 * @off Don't
 * @desc Turn and face the destination?
 * @default true
 *
 * @arg EasingType:str
 * @text Movement Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 *
 * @arg MotionType:str
 * @text Movement Motion
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default walk
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_HomeMoveToPoint
 * @text MOVE: Change Home To Point
 * @desc Change home position(s) to a target point on the screen.
 * Sideview-only! Points based off Graphics.boxWidth/Height.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change home position(s) for.
 * @default ["user"]
 * 
 * @arg Destination:str
 * @text Destination Point
 * @type combo
 * @option center
 * @option point x, y
 * @desc Select which point to face.
 * Replace 'x' and 'y' with coordinates
 * @default center
 *
 * @arg OffsetAdjust:str
 * @text Offset Adjustment
 * @parent Destination:str
 * @type select
 * @option Normal - No adjustments made
 * @value none
 * @option Horizontal - Actors adjust left, Enemies adjust right
 * @value horz
 * @option Vertical - Actors adjust Up, Enemies adjust down
 * @value vert
 * @option Both - Applies both Horizontal and Vertical
 * @value horz + vert
 * @desc Makes adjustments to offset values to determine
 * which direction to adjust the destination by.
 * @default horz
 * 
 * @arg OffsetX:eval
 * @text Offset: X
 * @parent OffsetAdjust:str
 * @desc Horizontal offset to change home by.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg OffsetY:eval
 * @text Offset: Y
 * @parent OffsetAdjust:str
 * @desc Vertical offset to change home by.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total change amount.
 * @default 12
 * 
 * @arg FaceDirection:eval
 * @text Face Destination?
 * @type boolean
 * @on Turn
 * @off Don't
 * @desc Turn and face the destination?
 * @default true
 *
 * @arg EasingType:str
 * @text Movement Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 *
 * @arg MotionType:str
 * @text Movement Motion
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default walk
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_HomeMoveToTarget
 * @text MOVE: Change Home To Target(s)
 * @desc Moves unit(s) to another unit(s) on the battle field.
 * Sideview-only!
 * 
 * @arg Targets1:arraystr
 * @text Targets (Moving)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change home position(s) for.
 * @default ["user"]
 * 
 * @arg Targets2:arraystr
 * @text Targets (Destination)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change home position to.
 * @default ["all targets"]
 * 
 * @arg TargetLocation:str
 * @text Target Location
 * @parent Targets2:arraystr
 * @type combo
 * @option front head
 * @option front center
 * @option front base
 * @option middle head
 * @option middle center
 * @option middle base
 * @option back head
 * @option back center
 * @option back base
 * @desc Select which part target group to change home position to.
 * @default front base
 * 
 * @arg MeleeDistance:eval
 * @text Melee Distance
 * @parent TargetLocation:str
 * @desc The melee distance away from the target location
 * in addition to the battler's width.
 * @default 24
 *
 * @arg OffsetAdjust:str
 * @text Offset Adjustment
 * @parent Targets2:arraystr
 * @type select
 * @option Normal - No adjustments made
 * @value none
 * @option Horizontal - Actors adjust left, Enemies adjust right
 * @value horz
 * @option Vertical - Actors adjust Up, Enemies adjust down
 * @value vert
 * @option Both - Applies both Horizontal and Vertical
 * @value horz + vert
 * @desc Makes adjustments to offset values to determine
 * which direction to adjust the destination by.
 * @default horz
 * 
 * @arg OffsetX:eval
 * @text Offset: X
 * @parent OffsetAdjust:str
 * @desc Horizontal offset to change home by.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg OffsetY:eval
 * @text Offset: Y
 * @parent OffsetAdjust:str
 * @desc Vertical offset to change home by.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total change amount.
 * @default 12
 * 
 * @arg FaceDirection:eval
 * @text Face Destination?
 * @type boolean
 * @on Turn
 * @off Don't
 * @desc Turn and face the destination?
 * @default true
 *
 * @arg EasingType:str
 * @text Movement Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 *
 * @arg MotionType:str
 * @text Movement Motion
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default walk
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_FaceDirection
 * @text MOVE: Face Direction
 * @desc Causes the unit(s) to face forward or backward.
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change direction.
 * @default ["user"]
 * 
 * @arg Direction:str
 * @text Direction
 * @type combo
 * @option forward
 * @option backward
 * @option random
 * @desc Select which direction to face.
 * @default forward
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_FaceJsPoint
 * @text MOVE: Face JS Coordinates
 * @desc Causes the unit(s) to face specified JS Coordinates.
 * Sideview-only! Uses JavaScript!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change direction.
 * @default ["user"]
 *
 * @arg PointJS:func
 * @text JS: Coordinates
 * @type note
 * @desc Code used to determine the coordinates for the
 * target(s) to face towards.
 * @default "// Declare Variables\nconst target = arguments[0];\nlet goalX = 0;\nlet goalY = 0;\n\n// Calculations\ngoalX = Graphics.width / 2;\ngoalY = Graphics.height / 2;\n\n// Return Data\nreturn new Point(goalX, goalY);"
 * 
 * @arg FaceAway:eval
 * @text Face Away From?
 * @type boolean
 * @on Turn Away
 * @off Face Directly
 * @desc Face away from the point instead?
 * @default false
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_FacePoint
 * @text MOVE: Face Point
 * @desc Causes the unit(s) to face a point on the screen.
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change direction.
 * @default ["user"]
 * 
 * @arg Point:str
 * @text Point
 * @type combo
 * @option home
 * @option center
 * @option point x, y
 * @desc Select which point to face.
 * Replace 'x' and 'y' with coordinates
 * @default home
 * 
 * @arg FaceAway:eval
 * @text Face Away From?
 * @type boolean
 * @on Turn Away
 * @off Face Directly
 * @desc Face away from the point instead?
 * @default false
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_FaceTarget
 * @text MOVE: Face Target(s)
 * @desc Causes the unit(s) to face other targets on the screen.
 * Sideview-only!
 * 
 * @arg Targets1:arraystr
 * @text Targets (facing)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change direction.
 * @default ["user"]
 * 
 * @arg Targets2:arraystr
 * @text Targets (destination)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) for the turning unit(s) to face.
 * @default ["current target"]
 * 
 * @arg FaceAway:eval
 * @text Face Away From?
 * @type boolean
 * @on Turn Away
 * @off Face Directly
 * @desc Face away from the unit(s) instead?
 * @default false
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_Float
 * @text MOVE: Float
 * @desc Causes the unit(s) to float above the ground.
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to make float.
 * @default ["user"]
 * 
 * @arg Height:eval
 * @text Desired Height
 * @desc Vertical distance to float upward.
 * You may use JavaScript code.
 * @default 100
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total float amount.
 * @default 12
 *
 * @arg EasingType:str
 * @text Float Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 * 
 * @arg WaitForFloat:eval
 * @text Wait For Float?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for floating to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_HomeReset
 * @text MOVE: Home Reset
 * @desc Causes the unit(s) to move back to their home position(s)
 * and face back to their original direction(s).
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to move.
 * @default ["alive battlers"]
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_Jump
 * @text MOVE: Jump
 * @desc Causes the unit(s) to jump into the air.
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to make jump.
 * @default ["user"]
 * 
 * @arg Height:eval
 * @text Desired Height
 * @desc Max jump height to go above the ground
 * You may use JavaScript code.
 * @default 100
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total jump amount.
 * @default 12
 * 
 * @arg WaitForJump:eval
 * @text Wait For Jump?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for jumping to complete before performing next command?
 * @default false
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_MoveBy
 * @text MOVE: Move Distance
 * @desc Moves unit(s) by a distance from their current position(s).
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to move.
 * @default ["user"]
 *
 * @arg DistanceAdjust:str
 * @text Distance Adjustment
 * @type select
 * @option Normal - No adjustments made
 * @value none
 * @option Horizontal - Actors adjust left, Enemies adjust right
 * @value horz
 * @option Vertical - Actors adjust Up, Enemies adjust down
 * @value vert
 * @option Both - Applies both Horizontal and Vertical
 * @value horz + vert
 * @desc Makes adjustments to distance values to determine
 * which direction to move unit(s).
 * @default horz
 * 
 * @arg DistanceX:eval
 * @text Distance: X
 * @parent DistanceAdjust:str
 * @desc Horizontal distance to move.
 * You may use JavaScript code.
 * @default 48
 * 
 * @arg DistanceY:eval
 * @text Distance: Y
 * @parent DistanceAdjust:str
 * @desc Vertical distance to move.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total movement amount.
 * @default 12
 * 
 * @arg FaceDirection:eval
 * @text Face Destination?
 * @type boolean
 * @on Turn
 * @off Don't
 * @desc Turn and face the destination?
 * @default true
 *
 * @arg EasingType:str
 * @text Movement Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 *
 * @arg MotionType:str
 * @text Movement Motion
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default walk
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_MoveToJsPoint
 * @text MOVE: Move To JS Coordinates
 * @desc Moves unit(s) to specified JS Coordinates.
 * Sideview-only! Uses JavaScript!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to move.
 * @default ["user"]
 *
 * @arg DestinationJS:func
 * @text JS: Coordinates
 * @type note
 * @desc Code used to determine the coordinates for the
 * target(s) to move to.
 * @default "// Declare Variables\nconst target = arguments[0];\nlet goalX = 0;\nlet goalY = 0;\n\n// Calculations\ngoalX = Graphics.width / 2;\ngoalY = Graphics.height / 2;\n\n// Return Data\nreturn new Point(goalX, goalY);"
 *
 * @arg OffsetAdjust:str
 * @text Offset Adjustment
 * @parent Destination:str
 * @type select
 * @option Normal - No adjustments made
 * @value none
 * @option Horizontal - Actors adjust left, Enemies adjust right
 * @value horz
 * @option Vertical - Actors adjust Up, Enemies adjust down
 * @value vert
 * @option Both - Applies both Horizontal and Vertical
 * @value horz + vert
 * @desc Makes adjustments to offset values to determine
 * which direction to adjust the destination by.
 * @default horz
 * 
 * @arg OffsetX:eval
 * @text Offset: X
 * @parent OffsetAdjust:str
 * @desc Horizontal offset to move.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg OffsetY:eval
 * @text Offset: Y
 * @parent OffsetAdjust:str
 * @desc Vertical offset to move.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total movement amount.
 * @default 12
 * 
 * @arg FaceDirection:eval
 * @text Face Destination?
 * @type boolean
 * @on Turn
 * @off Don't
 * @desc Turn and face the destination?
 * @default true
 *
 * @arg EasingType:str
 * @text Movement Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 *
 * @arg MotionType:str
 * @text Movement Motion
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default walk
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_MoveToPoint
 * @text MOVE: Move To Point
 * @desc Moves unit(s) to a designated point on the screen.
 * Sideview-only! Points based off Graphics.boxWidth/Height.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to move.
 * @default ["user"]
 * 
 * @arg Destination:str
 * @text Destination Point
 * @type combo
 * @option home
 * @option center
 * @option point x, y
 * @desc Select which point to face.
 * Replace 'x' and 'y' with coordinates
 * @default home
 *
 * @arg OffsetAdjust:str
 * @text Offset Adjustment
 * @parent Destination:str
 * @type select
 * @option Normal - No adjustments made
 * @value none
 * @option Horizontal - Actors adjust left, Enemies adjust right
 * @value horz
 * @option Vertical - Actors adjust Up, Enemies adjust down
 * @value vert
 * @option Both - Applies both Horizontal and Vertical
 * @value horz + vert
 * @desc Makes adjustments to offset values to determine
 * which direction to adjust the destination by.
 * @default horz
 * 
 * @arg OffsetX:eval
 * @text Offset: X
 * @parent OffsetAdjust:str
 * @desc Horizontal offset to move.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg OffsetY:eval
 * @text Offset: Y
 * @parent OffsetAdjust:str
 * @desc Vertical offset to move.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total movement amount.
 * @default 12
 * 
 * @arg FaceDirection:eval
 * @text Face Destination?
 * @type boolean
 * @on Turn
 * @off Don't
 * @desc Turn and face the destination?
 * @default true
 *
 * @arg EasingType:str
 * @text Movement Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 *
 * @arg MotionType:str
 * @text Movement Motion
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default walk
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_MoveToTarget
 * @text MOVE: Move To Target(s)
 * @desc Moves unit(s) to another unit(s) on the battle field.
 * Sideview-only!
 * 
 * @arg Targets1:arraystr
 * @text Targets (Moving)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to move.
 * @default ["user"]
 * 
 * @arg Targets2:arraystr
 * @text Targets (Destination)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to move to.
 * @default ["all targets"]
 * 
 * @arg TargetLocation:str
 * @text Target Location
 * @parent Targets2:arraystr
 * @type combo
 * @option front head
 * @option front center
 * @option front base
 * @option middle head
 * @option middle center
 * @option middle base
 * @option back head
 * @option back center
 * @option back base
 * @desc Select which part target group to move to.
 * @default front base
 * 
 * @arg MeleeDistance:eval
 * @text Melee Distance
 * @parent TargetLocation:str
 * @desc The melee distance away from the target location
 * in addition to the battler's width.
 * @default 24
 *
 * @arg OffsetAdjust:str
 * @text Offset Adjustment
 * @parent Targets2:arraystr
 * @type select
 * @option Normal - No adjustments made
 * @value none
 * @option Horizontal - Actors adjust left, Enemies adjust right
 * @value horz
 * @option Vertical - Actors adjust Up, Enemies adjust down
 * @value vert
 * @option Both - Applies both Horizontal and Vertical
 * @value horz + vert
 * @desc Makes adjustments to offset values to determine
 * which direction to adjust the destination by.
 * @default horz
 * 
 * @arg OffsetX:eval
 * @text Offset: X
 * @parent OffsetAdjust:str
 * @desc Horizontal offset to move.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg OffsetY:eval
 * @text Offset: Y
 * @parent OffsetAdjust:str
 * @desc Vertical offset to move.
 * You may use JavaScript code.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for total movement amount.
 * @default 12
 * 
 * @arg FaceDirection:eval
 * @text Face Destination?
 * @type boolean
 * @on Turn
 * @off Don't
 * @desc Turn and face the destination?
 * @default true
 *
 * @arg EasingType:str
 * @text Movement Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 *
 * @arg MotionType:str
 * @text Movement Motion
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Play this motion for the unit(s).
 * @default walk
 * 
 * @arg WaitForMovement:eval
 * @text Wait For Movement?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for movement to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_Opacity
 * @text MOVE: Opacity
 * @desc Causes the unit(s) to change opacity.
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change opacity.
 * @default ["user"]
 * 
 * @arg Opacity:eval
 * @text Desired Opacity
 * @desc Change to this opacity value.
 * You may use JavaScript code.
 * @default 255
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames for opacity change.
 * @default 12
 *
 * @arg EasingType:str
 * @text Opacity Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 * 
 * @arg WaitForOpacity:eval
 * @text Wait For Opacity?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for opacity changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_Scale
 * @text MOVE: Scale/Grow/Shrink
 * @desc Causes the unit(s) to scale, grow, or shrink?.
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to change the scale of.
 * @default ["user"]
 * 
 * @arg ScaleX:eval
 * @text Scale X
 * @desc What target scale value do you want?
 * 1.0 is normal size.
 * @default 1.00
 * 
 * @arg ScaleY:eval
 * @text Scale Y
 * @desc What target scale value do you want?
 * 1.0 is normal size.
 * @default 1.00
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to scale for.
 * @default 12
 *
 * @arg EasingType:str
 * @text Scale Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 * 
 * @arg WaitForScale:eval
 * @text Wait For Scale?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for scaling to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_Skew
 * @text MOVE: Skew/Distort
 * @desc Causes the unit(s) to skew.
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to skew.
 * @default ["user"]
 * 
 * @arg SkewX:eval
 * @text Skew X
 * @desc X variance to skew?
 * Use small values for the best results.
 * @default 0.00
 * 
 * @arg SkewY:eval
 * @text Skew Y
 * @desc Y variance to skew?
 * Use small values for the best results.
 * @default 0.00
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to skew for.
 * @default 12
 *
 * @arg EasingType:str
 * @text Skew Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 * 
 * @arg WaitForSkew:eval
 * @text Wait For Skew?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for skew to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_Spin
 * @text MOVE: Spin/Rotate
 * @desc Causes the unit(s) to spin.
 * Sideview-only!
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to spin.
 * @default ["user"]
 * 
 * @arg Angle:eval
 * @text Angle
 * @desc How many degrees to spin?
 * @default 360
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to spin for.
 * @default 12
 *
 * @arg EasingType:str
 * @text Spin Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default Linear
 * 
 * @arg RevertAngle:eval
 * @text Revert Angle on Finish
 * @type boolean
 * @on Revert
 * @off Don't
 * @desc Revert angle after spinning?
 * @default true
 * 
 * @arg WaitForSpin:eval
 * @text Wait For Spin?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for spin to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_WaitForFloat
 * @text MOVE: Wait For Float
 * @desc Waits for floating to complete before performing next command.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_WaitForJump
 * @text MOVE: Wait For Jump
 * @desc Waits for jumping to complete before performing next command.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_WaitForMovement
 * @text MOVE: Wait For Movement
 * @desc Waits for movement to complete before performing next command.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_WaitForOpacity
 * @text MOVE: Wait For Opacity
 * @desc Waits for opacity changes to complete before performing next command.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_WaitForScale
 * @text MOVE: Wait For Scale
 * @desc Waits for scaling to complete before performing next command.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_WaitForSkew
 * @text MOVE: Wait For Skew
 * @desc Waits for skewing to complete before performing next command.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Movement_WaitForSpin
 * @text MOVE: Wait For Spin
 * @desc Waits for spinning to complete before performing next command.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceProjectile
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakProjectile
 * @text Action Sequences - Projectiles
 * @desc Create projectiles on the screen and fire them off at a target.
 * Requires VisuMZ_3_ActSeqProjectiles!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Projectile_Animation
 * @text PROJECTILE: Animation
 * @desc Create an animation projectile and fire it at a target.
 * Requires VisuMZ_3_ActSeqProjectiles!
 * 
 * @arg Coordinates
 *
 * @arg Start:struct
 * @text Start Location
 * @parent Coordinates
 * @type struct<ProjectileStart>
 * @desc Settings to determine where the projectile(s) start from.
 * @default {"Type:str":"target","Targets:arraystr":"[\"user\"]","TargetCenter:eval":"false","PointX:eval":"Graphics.width / 2","PointY:eval":"Graphics.height / 2","OffsetX:eval":"+0","OffsetY:eval":"+0"}
 *
 * @arg Goal:struct
 * @text Goal Location
 * @parent Coordinates
 * @type struct<ProjectileGoal>
 * @desc Settings to determine where the projectile(s) start from.
 * @default {"Type:str":"target","Targets:arraystr":"[\"all targets\"]","TargetCenter:eval":"false","PointX:eval":"Graphics.width / 2","PointY:eval":"Graphics.height / 2","OffsetX:eval":"+0","OffsetY:eval":"+0"}
 * 
 * @arg Settings
 *
 * @arg AnimationID:num
 * @text Animation ID
 * @parent Settings
 * @type animation
 * @desc Determine which animation to use as a projectile.
 * @default 77
 * 
 * @arg Duration:eval
 * @text Duration
 * @parent Settings
 * @desc Duration for the projectile(s) to travel.
 * @default 20
 * 
 * @arg WaitForProjectile:eval
 * @text Wait For Projectile?
 * @parent Settings
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for projectile(s) to reach their destination before
 * going onto the next command?
 * @default true
 * 
 * @arg WaitForAnimation:eval
 * @text Wait For Animation?
 * @parent Settings
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for animation to finish before going to the next command?
 * @default false
 * 
 * @arg Extra:struct
 * @text Extra Settings
 * @type struct<ProjectileExAni>
 * @desc Add extra settings to the projectile?
 * @default {"AutoAngle:eval":"true","AngleOffset:eval":"+0","Arc:eval":"0","EasingType:str":"Linear","Spin:eval":"+0.0"}
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Projectile_Icon
 * @text PROJECTILE: Icon
 * @desc Create an icon projectile and fire it at a target.
 * Requires VisuMZ_3_ActSeqProjectiles!
 * 
 * @arg Coordinates
 *
 * @arg Start:struct
 * @text Start Location
 * @parent Coordinates
 * @type struct<ProjectileStart>
 * @desc Settings to determine where the projectile(s) start from.
 * @default {"Type:str":"target","Targets:arraystr":"[\"user\"]","TargetCenter:eval":"false","PointX:eval":"Graphics.width / 2","PointY:eval":"Graphics.height / 2","OffsetX:eval":"+0","OffsetY:eval":"+0"}
 *
 * @arg Goal:struct
 * @text Goal Location
 * @parent Coordinates
 * @type struct<ProjectileGoal>
 * @desc Settings to determine where the projectile(s) start from.
 * @default {"Type:str":"target","Targets:arraystr":"[\"all targets\"]","TargetCenter:eval":"false","PointX:eval":"Graphics.width / 2","PointY:eval":"Graphics.height / 2","OffsetX:eval":"+0","OffsetY:eval":"+0"}
 * 
 * @arg Settings
 *
 * @arg Icon:eval
 * @text Icon Index
 * @parent Settings
 * @desc Determine which icon to use as a projectile.
 * You may use JavaScript code.
 * @default 118
 * 
 * @arg Duration:eval
 * @text Duration
 * @parent Settings
 * @desc Duration for the projectile(s) to travel.
 * @default 20
 * 
 * @arg WaitForProjectile:eval
 * @text Wait For Projectile?
 * @parent Settings
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for projectile(s) to reach their destination before
 * going onto the next command?
 * @default true
 * 
 * @arg Extra:struct
 * @text Extra Settings
 * @type struct<ProjectileExtra>
 * @desc Add extra settings to the projectile?
 * @default {"AutoAngle:eval":"true","AngleOffset:eval":"+0","Arc:eval":"0","BlendMode:num":"0","EasingType:str":"Linear","Hue:eval":"0","Scale:eval":"1.0","Spin:eval":"+0.0"}
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Projectile_Picture
 * @text PROJECTILE: Picture
 * @desc Create a picture projectile and fire it at a target.
 * Requires VisuMZ_3_ActSeqProjectiles!
 * 
 * @arg Coordinates
 *
 * @arg Start:struct
 * @text Start Location
 * @parent Coordinates
 * @type struct<ProjectileStart>
 * @desc Settings to determine where the projectile(s) start from.
 * @default {"Type:str":"target","Targets:arraystr":"[\"user\"]","TargetCenter:eval":"false","PointX:eval":"Graphics.width / 2","PointY:eval":"Graphics.height / 2","OffsetX:eval":"+0","OffsetY:eval":"+0"}
 *
 * @arg Goal:struct
 * @text Goal Location
 * @parent Coordinates
 * @type struct<ProjectileGoal>
 * @desc Settings to determine where the projectile(s) start from.
 * @default {"Type:str":"target","Targets:arraystr":"[\"all targets\"]","TargetCenter:eval":"false","PointX:eval":"Graphics.width / 2","PointY:eval":"Graphics.height / 2","OffsetX:eval":"+0","OffsetY:eval":"+0"}
 * 
 * @arg Settings
 *
 * @arg Picture:str
 * @text Picture Filename
 * @parent Settings
 * @type file
 * @dir img/pictures/
 * @desc Determine which picture to use as a projectile.
 * @default Untitled
 * 
 * @arg Duration:eval
 * @text Duration
 * @parent Settings
 * @desc Duration for the projectile(s) to travel.
 * @default 20
 * 
 * @arg WaitForProjectile:eval
 * @text Wait For Projectile?
 * @parent Settings
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for projectile(s) to reach their destination before
 * going onto the next command?
 * @default true
 * 
 * @arg Extra:struct
 * @text Extra Settings
 * @type struct<ProjectileExtra>
 * @desc Add extra settings to the projectile?
 * @default {"AutoAngle:eval":"true","AngleOffset:eval":"+0","Arc:eval":"0","BlendMode:num":"0","EasingType:str":"Linear","Hue:eval":"0","Scale:eval":"1.0","Spin:eval":"+0.0"}
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceSkew
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakSkew
 * @text Action Sequences - Skew
 * @desc Allows you to have control over the camera skew.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_ChangeSkew
 * @text SKEW: Change Skew
 * @desc Changes the camera skew.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg SkewX:eval
 * @text Skew X
 * @desc Change the camera skew X to this value.
 * @default 0
 * 
 * @arg SkewY:eval
 * @text Skew Y
 * @desc Change the camera skew Y to this value.
 * @default 0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to change camera skew.
 * @default 60
 *
 * @arg EasingType:str
 * @text Skew Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForSkew:eval
 * @text Wait For Skew?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for skew changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Skew_Reset
 * @text SKEW: Reset Skew
 * @desc Reset any skew settings.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to reset camera skew.
 * @default 60
 *
 * @arg EasingType:str
 * @text Skew Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForSkew:eval
 * @text Wait For Skew?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for skew changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Skew_WaitForSkew
 * @text SKEW: Wait For Skew
 * @desc Waits for skew changes to complete before performing next command.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceTarget
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakTarget
 * @text Action Sequences - Target
 * @desc If using a manual target by target Action Sequence,
 * these commands will give you full control over its usage.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Target_CurrentIndex
 * @text TARGET: Current Index
 * @desc Sets the current index to this value.
 * Then decide to jump to a label (optional).
 * 
 * @arg Index:eval
 * @text Set Index To
 * @desc Sets current targeting index to this value.
 * 0 is the starting index of a target group.
 * @default 0
 * 
 * @arg JumpToLabel:str
 * @text Jump To Label
 * @desc If a target is found after the index change,
 * jump to this label in the Common Event.
 * @default Untitled
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Target_NextTarget
 * @text TARGET: Next Target
 * @desc Moves index forward by 1 to select a new current target.
 * Then decide to jump to a label (optional).
 * 
 * @arg JumpToLabel:str
 * @text Jump To Label
 * @desc If a target is found after the index change,
 * jump to this label in the Common Event.
 * @default Untitled
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Target_PrevTarget
 * @text TARGET: Previous Target
 * @desc Moves index backward by 1 to select a new current target.
 * Then decide to jump to a label (optional).
 * 
 * @arg JumpToLabel:str
 * @text Jump To Label
 * @desc If a target is found after the index change,
 * jump to this label in the Common Event.
 * @default Untitled
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Target_RandTarget
 * @text TARGET: Random Target
 * @desc Sets index randomly to determine new currernt target.
 * Then decide to jump to a label (optional).
 * 
 * @arg ForceRandom:eval
 * @text Force Random?
 * @type boolean
 * @on On
 * @off Off
 * @desc Index cannot be its previous index amount after random.
 * @default false
 * 
 * @arg JumpToLabel:str
 * @text Jump To Label
 * @desc If a target is found after the index change,
 * jump to this label in the Common Event.
 * @default Untitled
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceVoice
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakVoice
 * @text Action Sequences - Voice
 * @desc Allows you to play battle voices.
 * Requires VisuMZ_3_BattleVoices!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleVoice_PlayCommonLine
 * @text VOICE: Play Common Line
 * @desc Plays a common voice line from target battler(s).
 * Requires VisuMZ_3_BattleVoices!
 * 
 * @arg Targets:arraystr
 * @text Speaker Target(s)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play voice lines from.
 * @default ["user"]
 *
 * @arg VoiceLine:str
 * @text Voice Line
 * @type select
 * @option -
 * @value -
 * @option ---Battle Phase---
 * @value -
 * @option On Battle Start
 * @value BattleStart
 * @option On Battle Input
 * @value BattleInput
 * @option On Battle Victory
 * @value BattleVictory
 * @option Victory => Level Up
 * @value BattleVictoryLevelUp
 * @option Escape => Success
 * @value BattleEscapeSuccess
 * @option Escape => Failure
 * @value BattleEscapeFailure
 * @option -
 * @value -
 * @option ---On Action Start---
 * @value -
 * @option Basic Action => Regular Attack
 * @value ActionStartBasicAttack
 * @option Basic Action => Regular Guard
 * @value ActionStartBasicGuard
 * @option Skill Usage For Allies => Certain Hit
 * @value ActionStartSkillAllyCertainHit
 * @option Skill Usage For Allies => Physical
 * @value ActionStartSkillAllyPhysical
 * @option Skill Usage For Allies => Magical
 * @value ActionStartSkillAllyMagical
 * @option Skill Usage For Enemies => Certain Hit
 * @value ActionStartSkillEnemyCertainHit
 * @option Skill Usage For Enemies => Physical
 * @value ActionStartSkillEnemyPhysical
 * @option Skill Usage For Enemies => Magical
 * @value ActionStartSkillEnemyMagical
 * @option Item Usage For Allies
 * @value ActionStartItemAlly
 * @option Item Usage For Enemies
 * @value ActionStartItemEnemy
 * @option -
 * @value -
 * @option ---Perform Action---
 * @value -
 * @option Basic Action => Attack Motion
 * @value PerformActionBasicAttack
 * @option Basic Action => Critical Action
 * @value PerformActionCritical
 * @option Basic Action => Defeat Opponent
 * @value PerformActionDefeatFoe
 * @option Basic Action => Missed Action
 * @value PerformActionMiss
 * @option Skill Usage => Certain Hit
 * @value PerformActionSkillCertainHit
 * @option Skill Usage => Physical
 * @value PerformActionSkillPhysical
 * @option Skill Usage => Magical
 * @value PerformActionSkillMagical
 * @option -
 * @value -
 * @option ---On HP Change---
 * @value -
 * @option Life State => On Death
 * @value HpChangeDeath
 * @option Life State => On Revive
 * @value HpChangeRevive
 * @option On Damage => Damage <= 0%
 * @value HpChangeDamageNone
 * @option On Damage => Damage < 25%
 * @value HpChangeDamageLight
 * @option On Damage => Damage < 50%
 * @value HpChangeDamageMedium
 * @option On Damage => Damage >= 50%
 * @value HpChangeDamageHeavy
 * @option On Damage => Guarding Damage
 * @value HpChangeDamageGuard
 * @option On Recovery => Recovery < 25%
 * @value HpChangeRecoverLight
 * @option On Recovery => Recovery < 50%
 * @value HpChangeRecoverMedium
 * @option On Recovery => Recovery >= 50%
 * @value HpChangeRecoverHeavy
 * @option -
 * @value -
 * @option ---On Action Result---
 * @value -
 * @option On Miss/Evasion
 * @value ActionResultEvasion
 * @option On Magic Evasion
 * @value ActionResultMagicEvasion
 * @option On Counter
 * @value ActionResultCounter
 * @option On Reflection
 * @value ActionResultReflection
 * @option On Substitute
 * @value ActionResultSubstitute
 * @option -
 * @value -
 * @option ---Buff/Debuff Related---
 * @value -
 * @option On Buff Apply
 * @value BuffAdd
 * @option On Buff Remove
 * @value BuffRemove
 * @option On Debuff Apply
 * @value DebuffAdd
 * @option On Debuff Remove
 * @value DebuffRemove
 * @option -
 * @value -
 * @option ---State Related---
 * @value -
 * @option Positive States => On State Apply
 * @value StatePositiveAdd
 * @option Positive States => text On State Remove
 * @value StatePositiveRemove
 * @option Negative States => On State Apply
 * @value StateNegativeAdd
 * @option Negative States => On State Remove
 * @value StateNegativeRemove
 * @option Neutral States => On State Apply
 * @value StateNeutralAdd
 * @option Neutral States => On State Remove
 * @value StateNeutralRemove
 * @option -
 * @value -
 * @option ---Miscellaneous---
 * @value -
 * @option Voice Preview
 * @value CharaCreatePreview
 * @option -
 * @value -
 * @desc What voice line do you wish to play?
 * @default ActionStartBasicAttack
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_BattleVoice_PlaySpecialLine
 * @text VOICE: Play Special Line
 * @desc Plays a special voice line from target battler(s).
 * Requires VisuMZ_3_BattleVoices!
 * 
 * @arg Targets:arraystr
 * @text Speaker Target(s)
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select unit(s) to play voice lines from.
 * @default ["user"]
 *
 * @arg VoiceLineType:str
 * @text Voice Line Type
 * @type select
 * @option Action Name
 * @value ActionName
 * @option Chant Line
 * @value ChantLine
 * @option Item Name
 * @value ItemName
 * @option Skill Name
 * @value SkillName
 * @option Spell Name
 * @value SpellName
 * @option Unique Lines
 * @value UniqueLine
 * @desc What voice line type do you wish to play?
 * @default ActionName
 *
 * @arg Letter:str
 * @text Name / Letter
 * @type select
 * @option A
 * @option B
 * @option C
 * @option D
 * @option E
 * @option F
 * @option G
 * @option H
 * @option I
 * @option J
 * @option K
 * @option L
 * @option M
 * @option N
 * @option O
 * @option P
 * @option Q
 * @option R
 * @option S
 * @option T
 * @option U
 * @option V
 * @option W
 * @option X
 * @option Y
 * @option Z
 * @desc What voice letter/name do you want to play?
 * @default A
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceWeapon
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakWeapon
 * @text Action Sequences - Weapon
 * @desc Allows for finer control over Dual/Multi Wielding actors.
 * Only works for Actors.
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Weapon_ClearActiveWeapon
 * @text WEAPON: Clear Weapon Slot
 * @desc Clears the active weapon slot (making others valid again).
 * Only works for Actors.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @desc Select unit(s) to clear the active weapon slot for.
 * @default ["user"]
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Weapon_NextActiveWeapon
 * @text WEAPON: Next Weapon Slot
 * @desc Goes to next active weapon slot (making others invalid).
 * If next slot is weaponless, don't label jump.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @desc Select unit(s) to change the next active weapon slot for.
 * @default ["user"]
 * 
 * @arg JumpToLabel:str
 * @text Jump To Label
 * @desc If a weapon is found after the index change,
 * jump to this label in the Common Event.
 * @default Untitled
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Weapon_SetActiveWeapon
 * @text WEAPON: Set Weapon Slot
 * @desc Sets the active weapon slot (making others invalid).
 * Only works for Actors.
 * 
 * @arg Targets:arraystr
 * @text Targets
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @desc Select unit(s) to change the active weapon slot for.
 * @default ["user"]
 * 
 * @arg SlotID:eval
 * @text Weapon Slot ID
 * @desc Select weapon slot to make active (making others invalid).
 * Use 0 to clear and normalize. You may use JavaScript code.
 * @default 1
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceZoom
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceBreakZoom
 * @text Action Sequences - Zoom
 * @desc Allows you to have control over the screen zoom.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Zoom_Scale
 * @text ZOOM: Change Scale
 * @desc Changes the zoom scale.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg Scale:eval
 * @text Scale
 * @desc The zoom scale to change to.
 * @default 1.0
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to change battle zoom.
 * @default 60
 *
 * @arg EasingType:str
 * @text Zoom Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForZoom:eval
 * @text Wait For Zoom?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for zoom changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Zoom_Reset
 * @text ZOOM: Reset Zoom
 * @desc Reset any zoom settings.
 * Requires VisuMZ_3_ActSeqCamera!
 * 
 * @arg Duration:eval
 * @text Duration
 * @desc Duration in frames to reset battle zoom.
 * @default 60
 *
 * @arg EasingType:str
 * @text Zoom Easing
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * Requires VisuMZ_0_CoreEngine.
 * @default InOutSine
 * 
 * @arg WaitForZoom:eval
 * @text Wait For Zoom?
 * @type boolean
 * @on On
 * @off Off
 * @desc Wait for zoom changes to complete before performing next command?
 * @default true
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActSeq_Zoom_WaitForZoom
 * @text ZOOM: Wait For Zoom
 * @desc Waits for zoom to complete before performing next command.
 * Requires VisuMZ_3_ActSeqCamera!
 *
 * @ --------------------------------------------------------------------------
 *
 * @command ActionSequenceSpaceEnd
 * @text -
 * @desc -
 *
 * @ --------------------------------------------------------------------------
 *
 * @ ==========================================================================
 * @ Plugin Parameters
 * @ ==========================================================================
 *
 * @param BreakHead
 * @text --------------------------
 * @default ----------------------------------
 *
 * @param BattleCore
 * @default Plugin Parameters
 *
 * @param ATTENTION
 * @default READ THE HELP FILE
 *
 * @param BreakSettings
 * @text --------------------------
 * @default ----------------------------------
 *
 * @param AutoBattle:struct
 * @text Auto Battle Settings
 * @type struct<AutoBattle>
 * @desc Settings pertaining to Auto Battle.
 * @default {"BattleDisplay":"","AutoBattleMsg:str":"Press %1 or %2 to stop Auto Battle","AutoBattleOK:str":"OK","AutoBattleCancel:str":"Cancel","AutoBattleBgType:num":"1","AutoBattleRect:func":"\"const width = Graphics.width;\\nconst height = this.calcWindowHeight(1, false);\\nconst x = 0;\\nconst y = (Graphics.height - height) / 2;\\nreturn new Rectangle(x, y, width, height);\"","Options":"","AddOption:eval":"true","AdjustRect:eval":"true","StartName:str":"Auto Battle Start","StyleName:str":"Auto Battle Style","StyleOFF:str":"Attack","StyleON:str":"Skills"}
 *
 * @param Damage:struct
 * @text Damage Settings
 * @type struct<Damage>
 * @desc Settings pertaining to damage calculations.
 * @default {"DamageStyles":"","DefaultDamageStyle:str":"Standard","DamageStyleList:arraystruct":"[\"{\\\"Name:str\\\":\\\"Standard\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Declare Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Replace Formula\\\\\\\\nlet formula = item.damage.formula;\\\\\\\\nif (SceneManager.isSceneBattle() && !this.isCertainHit()) {\\\\\\\\n    const fmt = 'Math.max(this.applyArmorModifiers(b, %1), 0)';\\\\\\\\n    formula = formula.replace(/b.def/g, fmt.format('b.def'));\\\\\\\\n    formula = formula.replace(/b.mdf/g, fmt.format('b.mdf'));\\\\\\\\n    formula = formula.replace(/b.agi/g, fmt.format('b.agi'));\\\\\\\\n    formula = formula.replace(/b.luk/g, fmt.format('b.luk'));\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Calculate Damage\\\\\\\\nlet value = Math.max(eval(formula), 0);\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"return this.getItemDamageAmountTextOriginal();\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"Armor Scaling\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Declare Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Replace Formula\\\\\\\\nlet formula = item.damage.formula;\\\\\\\\nif (SceneManager.isSceneBattle() && !this.isCertainHit()) {\\\\\\\\n    const fmt = 'Math.max(this.applyArmorModifiers(b, %1), 1)';\\\\\\\\n    formula = formula.replace(/b.def/g, fmt.format('b.def'));\\\\\\\\n    formula = formula.replace(/b.mdf/g, fmt.format('b.mdf'));\\\\\\\\n    formula = formula.replace(/b.agi/g, fmt.format('b.agi'));\\\\\\\\n    formula = formula.replace(/b.luk/g, fmt.format('b.luk'));\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Calculate Damage\\\\\\\\nlet value = Math.max(eval(formula), 0);\\\\\\\\n\\\\\\\\n// Apply Defender's Defense Parameter\\\\\\\\nif (this.isDamage() && !this.isCertainHit()) {\\\\\\\\n\\\\\\\\n    // Calculate Base Armor\\\\\\\\n    let armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\n    armor = this.applyArmorModifiers(target, armor);\\\\\\\\n\\\\\\\\n    // Apply Armor to Damage\\\\\\\\n    if (armor >= 0) {\\\\\\\\n        value *= 100 / (100 + armor);\\\\\\\\n    } else {\\\\\\\\n        value *= 2 - (100 / (100 - armor));\\\\\\\\n    }\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"return this.getItemDamageAmountTextOriginal();\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"CT\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Multiplier\\\\\\\\nconst multiplier = Math.max(eval(item.damage.formula), 0);\\\\\\\\n\\\\\\\\n// Declare Values\\\\\\\\nlet value = 0;\\\\\\\\nlet level = Math.max(a.level || a.luk, 1);\\\\\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\narmor = Math.max(this.applyArmorModifiers(target, armor), 0);\\\\\\\\nlet attackStat = 0;\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    attackStat = a.atk;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    attackStat =  a.mat;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    attackStat =  a.def;\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    attackStat =  a.mdf;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Calculate Damage\\\\\\\\nattackStat = (attackStat * 1.75) + (level ** 2 / 45.5);\\\\\\\\nvalue = attackStat * 4;\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value *= Math.max(256 - armor, 0) / 256;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value *= Math.max(102.4 - armor, 0) / 128;\\\\\\\\n}\\\\\\\\nvalue *= multiplier;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    const value = Math.max(eval(formula), 0);\\\\\\\\n    return '%1%'.format(Math.round(value * 100));\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"D4\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Multiplier\\\\\\\\nconst multiplier = Math.max(eval(item.damage.formula), 0);\\\\\\\\n\\\\\\\\n// Declare Values\\\\\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\narmor = this.applyArmorModifiers(target, armor);\\\\\\\\nlet stat = 0;\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    stat = a.atk;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    stat = a.mat;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    stat = a.def;\\\\\\\\n    armor = 0;\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    stat = a.mdf;\\\\\\\\n    armor = 0;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Calculate Damage \\\\\\\\nlet value = 1.5 * Math.max(2 * stat * multiplier - armor, 1) * multiplier / 5;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    const value = Math.max(eval(formula), 0);\\\\\\\\n    return '%1%'.format(Math.round(value * 100));\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"DQ\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Multiplier\\\\\\\\nlet multiplier = Math.max(eval(item.damage.formula), 0);\\\\\\\\nif (this.isCertainHit()) {\\\\\\\\n    let value = multiplier * Math.max(a.atk, a.mat);\\\\\\\\n    return (isNaN(value) ? 0 : value) * sign;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Get Primary Stats\\\\\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\narmor = this.applyArmorModifiers(b, armor);\\\\\\\\nlet stat = 1;\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    stat = a.atk;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    stat = a.mat;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    stat = a.def;\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    stat = a.mdf;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Check for Recovery\\\\\\\\nif (this.isRecover()) {\\\\\\\\n    let value = stat * multiplier * sign;\\\\\\\\n    return isNaN(value) ? 0 : value;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Calculate Damage\\\\\\\\nlet value = 0;\\\\\\\\nif (stat < ((2 + armor) / 2)) {\\\\\\\\n    // Plink Damage\\\\\\\\n    let baseline = Math.max(stat - ((12 * (armor - stat + 1)) / stat), 5);\\\\\\\\n    value = baseline / 3;\\\\\\\\n} else {\\\\\\\\n    // Normal Damage\\\\\\\\n    let baseline = Math.max(stat - (armor / 2), 1);\\\\\\\\n    value = baseline / 2;\\\\\\\\n}\\\\\\\\nvalue *= multiplier;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn isNaN(value) ? 0 : value;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    const value = Math.max(eval(formula), 0);\\\\\\\\n    return '%1%'.format(Math.round(value * 100));\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"FF7\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Power\\\\\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\\\\\n\\\\\\\\n// Declare base Damage\\\\\\\\nlet baseDamage = 0;\\\\\\\\nlet level = Math.max(a.level || a.luk, 1);\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    baseDamage = a.atk + ((a.atk + level) / 32) * ((a.atk * level) / 32);\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    baseDamage = 6 * (a.mat + level);\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    baseDamage = 6 * (a.def + level);\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    baseDamage = 6 * (a.mdf + level);\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Calculate Final Damage\\\\\\\\nlet value = baseDamage;\\\\\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\narmor = this.applyArmorModifiers(target, armor);\\\\\\\\nif (this.isRecover()) {\\\\\\\\n    value += 22 * power;\\\\\\\\n} else {\\\\\\\\n    value = (power * Math.max(512 - armor, 1) * baseDamage) / (16 * 512);\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Power\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Power\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    return formula;\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"FF8\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Power\\\\\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\\\\\n\\\\\\\\n// Declare Damage\\\\\\\\nlet Value = 0;\\\\\\\\nlet level = Math.max(a.level || a.luk, 1);\\\\\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\narmor = this.applyArmorModifiers(target, armor);\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value = a.atk ** 2 / 16 + a.atk;\\\\\\\\n    value *= Math.max(265 - armor, 1) / 256;\\\\\\\\n    value *= power / 16;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value = a.mat + power;\\\\\\\\n    value *= Math.max(265 - armor, 1) / 4;\\\\\\\\n    value *= power / 256;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    value = (power + a.def) * power / 2;\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    value = (power + a.mdf) * power / 2;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Power\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Power\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    return formula;\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"FF9\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Damage Constant\\\\\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\\\\\nif (this.isCertainHit()) {\\\\\\\\n    return (isNaN(power) ? 0 : power) * sign;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Declare Main Stats\\\\\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\narmor = this.applyArmorModifiers(b, armor);\\\\\\\\nlet stat = 1;\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    stat = a.atk;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    stat = a.mat;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    stat = a.def;\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    stat = a.mdf;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Declare Base Damage\\\\\\\\nlet baseDamage = power;\\\\\\\\nif (this.isPhysical()) {\\\\\\\\n    baseDamage += stat;\\\\\\\\n}\\\\\\\\nif (this.isDamage() || this.isDrain()) {\\\\\\\\n    baseDamage -= armor;\\\\\\\\n    baseDamage = Math.max(1, baseDamage);\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Declare Bonus Damage\\\\\\\\nlet bonusDamage = stat + (((a.level || a.luk) + stat) / 8);\\\\\\\\n\\\\\\\\n// Declare Final Damage\\\\\\\\nlet value = baseDamage * bonusDamage * sign;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn isNaN(value) ? 0 : value;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Power\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Power\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    return formula;\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"FF10\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Damage Constant\\\\\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\\\\\nif (this.isCertainHit()) {\\\\\\\\n    return (isNaN(power) ? 0 : power) * sign;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Create Damage Offense Value\\\\\\\\nlet value = power;\\\\\\\\n\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value = (((a.atk ** 3) / 32) + 32) * power / 16;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value = power * ((a.mat ** 2 / 6) + power) / 4;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    value = power * ((a.def + power) / 2);\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    value = power * ((a.mdf + power) / 2);\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Apply Damage Defense Value\\\\\\\\nif (this.isDamage() || this.isDrain()) {\\\\\\\\n    let armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\n    armor = this.applyArmorModifiers(b, armor);\\\\\\\\n    armor = Math.max(armor, 1);\\\\\\\\n    value *= ((((armor - 280.4) ** 2) / 110) / 16) / 730;\\\\\\\\n    value *= (730 - (armor * 51 - (armor ** 2) / 11) / 10) / 730;\\\\\\\\n} else if (this.isRecover()) {\\\\\\\\n    value *= -1;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn isNaN(value) ? 0 : value;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Power\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Power\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    return formula;\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"MK\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Multiplier\\\\\\\\nconst multiplier = Math.max(eval(item.damage.formula), 0);\\\\\\\\n\\\\\\\\n// Declare Values\\\\\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\narmor = this.applyArmorModifiers(target, armor);\\\\\\\\nconst denominator = Math.max(200 + armor, 1);\\\\\\\\n\\\\\\\\n// Calculate Damage \\\\\\\\nlet value = 0;\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value = 200 * a.atk / denominator;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value = 200 * a.mat / denominator;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    value = 200 * a.def / 200;\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    value = 200 * a.mdf / 200;\\\\\\\\n}\\\\\\\\nvalue *= multiplier;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    const value = Math.max(eval(formula), 0);\\\\\\\\n    return '%1%'.format(Math.round(value * 100));\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"MOBA\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Damage Value\\\\\\\\nlet value = Math.max(eval(item.damage.formula), 0) * sign;\\\\\\\\n\\\\\\\\n// Apply Attacker's Offense Parameter\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value *= a.atk;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    value *= a.mat;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    value *= a.def;\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    value *= a.mdf;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Apply Defender's Defense Parameter\\\\\\\\nif (this.isDamage() && !this.isCertainHit()) {\\\\\\\\n\\\\\\\\n    // Calculate Base Armor\\\\\\\\n    let armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\n    armor = this.applyArmorModifiers(target, armor);\\\\\\\\n\\\\\\\\n    // Apply Armor to Damage\\\\\\\\n    if (armor >= 0) {\\\\\\\\n        value *= 100 / (100 + armor);\\\\\\\\n    } else {\\\\\\\\n        value *= 2 - (100 / (100 - armor));\\\\\\\\n    }\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn isNaN(value) ? 0 : value;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Multiplier\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Multiplier\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Multiplier\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    const value = Math.max(eval(formula), 0);\\\\\\\\n    return '%1%'.format(Math.round(value * 100));\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\",\"{\\\"Name:str\\\":\\\"PKMN\\\",\\\"Formula:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst user = this.subject();\\\\\\\\nconst target = arguments[0];\\\\\\\\nconst item = this.item();\\\\\\\\nconst a = this.subject();\\\\\\\\nconst b = target;\\\\\\\\nconst v = $gameVariables._data;\\\\\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\\\\\n\\\\\\\\n// Create Power\\\\\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\\\\\n\\\\\\\\n// Declare Values\\\\\\\\nlet value = 0;\\\\\\\\nlet level = Math.max(a.level || a.luk, 1);\\\\\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\\\\\narmor = Math.max(this.applyArmorModifiers(target, armor), 0);\\\\\\\\nlet attackStat = 0;\\\\\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    attackStat = a.atk;\\\\\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\\\\\n    attackStat =  a.mat;\\\\\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\\\\\n    attackStat =  a.def;\\\\\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\\\\\n    attackStat =  a.mdf;\\\\\\\\n}\\\\\\\\n\\\\\\\\n// Calculate Damage\\\\\\\\nvalue = (((((2 * level) / 5) + 2) * power * (attackStat / armor)) / 50) + 2;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\\\\\"\\\",\\\"ItemsEquipsCore\\\":\\\"\\\",\\\"DamageType\\\":\\\"\\\",\\\"DamageType1:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType2:str\\\":\\\"%1 Damage Power\\\",\\\"DamageType3:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType4:str\\\":\\\"%1 Recovery Power\\\",\\\"DamageType5:str\\\":\\\"%1 Drain Power\\\",\\\"DamageType6:str\\\":\\\"%1 Drain Power\\\",\\\"DamageDisplay:func\\\":\\\"\\\\\\\"// Define Constants\\\\\\\\nconst item = this._item;\\\\\\\\nconst formula = item.damage.formula;\\\\\\\\nconst a = this._tempActorA;\\\\\\\\nconst b = this._tempActorB;\\\\\\\\nconst user = a;\\\\\\\\nconst target = b;\\\\\\\\n\\\\\\\\n// Return Value\\\\\\\\ntry {\\\\\\\\n    return formula;\\\\\\\\n} catch (e) {\\\\\\\\n    if ($gameTemp.isPlaytest()) {\\\\\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\\\\\n    }\\\\\\\\n    return '?????';\\\\\\\\n}\\\\\\\"\\\"}\"]","Cap":"","EnableDamageCap:eval":"false","DefaultHardCap:num":"9999","EnableSoftCap:eval":"false","DefaultSoftCap:num":"0.80","DefaultSoftScaler:num":"0.1275","Popups":"","PopupDuration:num":"128","NewPopupBottom:eval":"true","PopupPosition:str":"base","PopupOffsetX:num":"0","PopupOffsetY:num":"0","PopupShiftX:num":"8","PopupShiftY:num":"-28","hpDamageFmt:str":"-%1","hpHealingFmt:str":"+%1","mpDamageFmt:str":"-%1 %2","mpHealingFmt:str":"+%1 %2","CriticalColor:eval":"[255, 0, 0, 160]","CriticalDuration:num":"128","Formulas":"","OverallFormulaJS:func":"\"// Declare Constants\\nconst target = arguments[0];\\nconst critical = arguments[1];\\nconst item = this.item();\\n\\n// Get Base Damage\\nconst baseValue = this.evalDamageFormula(target);\\n\\n// Calculate Element Modifiers\\nlet value = baseValue * this.calcElementRate(target);\\n\\n// Calculate Physical and Magical Modifiers\\nif (this.isPhysical()) {\\n    value *= target.pdr;\\n}\\nif (this.isMagical()) {\\n    value *= target.mdr;\\n}\\n\\n// Apply Healing Modifiers\\nif (baseValue < 0) {\\n    value *= target.rec;\\n}\\n\\n// Apply Critical Modifiers\\nif (critical) {\\n    value = this.applyCritical(value);\\n}\\n\\n// Apply Variance and Guard Modifiers\\nvalue = this.applyVariance(value, item.damage.variance);\\nvalue = this.applyGuard(value, target);\\n\\n// Finalize Damage\\nvalue = Math.round(value);\\nreturn value;\"","VarianceFormulaJS:func":"\"// Declare Constants\\nconst damage = arguments[0];\\nconst variance = arguments[1];\\n\\n// Calculate Variance\\nconst amp = Math.floor(Math.max((Math.abs(damage) * variance) / 100, 0));\\nconst v = Math.randomInt(amp + 1) + Math.randomInt(amp + 1) - amp;\\n\\n// Return Damage\\nreturn damage >= 0 ? damage + v : damage - v;\"","GuardFormulaJS:func":"\"// Declare Constants\\nconst damage = arguments[0];\\nconst target = arguments[1];\\n\\n// Return Damage Early\\nconst note = this.item().note;\\nif (note.match(/<UNBLOCKABLE>/i)) return damage;\\nif (!target.isGuard()) return damage;\\nif (damage < 0) return damage;\\n\\n// Declare Guard Rate\\nlet guardRate = 0.5;\\nguardRate /= target.grd;\\n\\n// Return Damage\\nreturn damage * guardRate;\"","Critical":"","CriticalHitRateJS:func":"\"// Declare Constants\\nconst user = this.subject();\\nconst target = arguments[0];\\n\\n// Create Base Critical Rate\\nlet rate = this.subject().cri * (1 - target.cev);\\n\\n// Apply Notetags\\nconst note = this.item().note;\\nif (note.match(/<ALWAYS CRITICAL>/i)) {\\n    return 1;\\n}\\nif (note.match(/<SET CRITICAL RATE:[ ](\\\\d+)([%％])>/i)) {\\n    return Number(RegExp.$1) / 100;\\n}\\nif (note.match(/<MODIFY CRITICAL RATE:[ ](\\\\d+)([%％])>/i)) {\\n    rate *= Number(RegExp.$1) / 100;\\n}\\nif (note.match(/<MODIFY CRITICAL RATE:[ ]([\\\\+\\\\-]\\\\d+)([%％])>/i)) {\\n    rate += Number(RegExp.$1) / 100;\\n}\\nif (note.match(/<JS CRITICAL RATE>\\\\s*([\\\\s\\\\S]*)\\\\s*<\\\\/JS CRITICAL RATE>/i)) {\\n    const code = String(RegExp.$1);\\n    try {\\n        eval(code);\\n    } catch (e) {\\n        if ($gameTemp.isPlaytest()) console.log(e);\\n    }\\n}\\n\\n// Apply LUK Buffs/Debuffs\\nconst lukStack = this.subject().buff(7);\\nrate *= 2 ** lukStack;\\n\\n// Return Rate\\nreturn rate;\"","CriticalHitMultiplier:func":"\"// Declare Constants\\nconst user = this.subject();\\nlet damage = arguments[0];\\nlet multiplier = 2.0;\\nlet bonusDamage = this.subject().luk * this.subject().cri;\\nif (this.isHpRecover() || this.isMpRecover()) {\\n    bonusDamage *= -1;\\n}\\n\\n// Apply Notetags\\nconst note = this.item().note;\\nif (note.match(/<MODIFY CRITICAL MULTIPLIER:[ ](\\\\d+)([%％])>/i)) {\\n    multiplier = Number(RegExp.$1) / 100;\\n}\\nif (note.match(/<MODIFY CRITICAL MULTIPLIER:[ ]([\\\\+\\\\-]\\\\d+)([%％])>/i)) {\\n    multiplier += Number(RegExp.$1) / 100;\\n}\\nif (note.match(/<MODIFY CRITICAL BONUS DAMAGE:[ ](\\\\d+)([%％])>/i)) {\\n    bonusDamage *= Number(RegExp.$1) / 100;\\n}\\nif (note.match(/<MODIFY CRITICAL BONUS DAMAGE:[ ]([\\\\+\\\\-]\\\\d+)([%％])>/i)) {\\n    bonusDamage += bonusDamage * (RegExp.$1) / 100;\\n}\\nif (note.match(/<JS CRITICAL DAMAGE>\\\\s*([\\\\s\\\\S]*)\\\\s*<\\\\/JS CRITICAL DAMAGE>/i)) {\\n    const code = String(RegExp.$1);\\n    try {\\n        eval(code);\\n    } catch (e) {\\n        if ($gameTemp.isPlaytest()) console.log(e);\\n    }\\n}\\n\\n// Return Damage\\nreturn damage * multiplier + bonusDamage;\""}
 *
 * @param Mechanics:struct
 * @text Mechanics Settings
 * @type struct<Mechanics>
 * @desc Settings pertaining to various game mechanics.
 * @default {"ActionSpeed":"","AllowRandomSpeed:eval":"false","CalcActionSpeedJS:func":"\"// Declare Constants\\nconst agi = this.subject().agi;\\n\\n// Create Speed\\nlet speed = agi;\\nif (this.allowRandomSpeed()) {\\n    speed += Math.randomInt(Math.floor(5 + agi / 4));\\n}\\nif (this.item()) {\\n    speed += this.item().speed;\\n}\\nif (this.isAttack()) {\\n    speed += this.subject().attackSpeed();\\n}\\n\\n// Return Speed\\nreturn speed;\"","BaseTroop":"","BaseTroopIDs:arraynum":"[\"1\"]","CommonEvents":"","BattleStartEvent:num":"0","BattleEndEvent:num":"0","VictoryEvent:num":"0","DefeatEvent:num":"0","EscapeSuccessEvent:num":"0","EscapeFailEvent:num":"0","Escape":"","CalcEscapeRatioJS:func":"\"// Calculate Escape Ratio\\nlet ratio = 0.5;\\nratio *= $gameParty.agility();\\nratio /= $gameTroop.agility();\\n\\n// Return Ratio\\nreturn ratio;\"","CalcEscapeRaiseJS:func":"\"// Calculate Escape Ratio\\nlet value = 0.1;\\nvalue += $gameParty.aliveMembers().length;\\n\\n// Return Value\\nreturn value;\"","BattleJS":"","PreStartBattleJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","PostStartBattleJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","BattleVictoryJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","EscapeSuccessJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","EscapeFailureJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","BattleDefeatJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","PreEndBattleJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","PostEndBattleJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","TurnJS":"","PreStartTurnJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","PostStartTurnJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","PreEndTurnJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","PostEndTurnJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","PreRegenerateJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","PostRegenerateJS:func":"\"// Declare Constants\\nconst user = this;\\nconst target = user;\\nconst a = user;\\nconst b = user;\\n\\n// Perform Actions\\n\"","ActionJS":"","PreStartActionJS:func":"\"// Declare Constants\\nconst value = arguments[0];\\nconst user = this.subject();\\nconst target = user;\\nconst a = user;\\nconst b = user;\\nconst action = this;\\nconst item = this.item();\\nconst skill = this.item();\\n\\n// Perform Actions\\n\"","PostStartActionJS:func":"\"// Declare Constants\\nconst value = arguments[0];\\nconst user = this.subject();\\nconst target = user;\\nconst a = user;\\nconst b = user;\\nconst action = this;\\nconst item = this.item();\\nconst skill = this.item();\\n\\n// Perform Actions\\n\"","PreApplyJS:func":"\"// Declare Constants\\nconst value = arguments[0];\\nconst target = arguments[1];\\nconst user = this.subject();\\nconst a = user;\\nconst b = target;\\nconst action = this;\\nconst item = this.item();\\nconst skill = this.item();\\n\\n// Perform Actions\\n\\n// Return Value\\nreturn value;\"","PreDamageJS:func":"\"// Declare Constants\\nconst value = arguments[0];\\nconst target = arguments[1];\\nconst user = this.subject();\\nconst a = user;\\nconst b = target;\\nconst action = this;\\nconst item = this.item();\\nconst skill = this.item();\\n\\n// Perform Actions\\n\\n// Return Value\\nreturn value;\"","PostDamageJS:func":"\"// Declare Constants\\nconst value = arguments[0];\\nconst target = arguments[1];\\nconst user = this.subject();\\nconst a = user;\\nconst b = target;\\nconst action = this;\\nconst item = this.item();\\nconst skill = this.item();\\n\\n// Perform Actions\\n\\n// Return Value\\nreturn value;\"","PostApplyJS:func":"\"// Declare Constants\\nconst value = arguments[0];\\nconst target = arguments[1];\\nconst user = this.subject();\\nconst a = user;\\nconst b = target;\\nconst action = this;\\nconst item = this.item();\\nconst skill = this.item();\\n\\n// Perform Actions\\n\\n// Return Value\\nreturn value;\"","PreEndActionJS:func":"\"// Declare Constants\\nconst value = arguments[0];\\nconst user = this.subject();\\nconst target = user;\\nconst a = user;\\nconst b = user;\\nconst action = this;\\nconst item = this.item();\\nconst skill = this.item();\\n\\n// Perform Actions\\n\"","PostEndActionJS:func":"\"// Declare Constants\\nconst value = arguments[0];\\nconst user = this.subject();\\nconst target = user;\\nconst a = user;\\nconst b = user;\\nconst action = this;\\nconst item = this.item();\\nconst skill = this.item();\\n\\n// Perform Actions\\n\""}
 *
 * @param CmdWindows
 * @text --------------------------
 * @default ----------------------------------
 *
 * @param BattleLayout:struct
 * @text Battle Layout Settings
 * @type struct<BattleLayout>
 * @desc Settings that adjust how the battle layout appears.
 * @default {"Style:str":"default","ListStyle":"","ShowFacesListStyle:eval":"true","CommandWidth:num":"192","XPStyle":"","XPActorCommandLines:num":"4","XPActorDefaultHeight:num":"64","XPSpriteYLocation:str":"name","PotraitStyle":"","ShowPortraits:eval":"true","PortraitScale:num":"0.5","BorderStyle":"","SkillItemBorderCols:num":"1","ShowPortraitsBorderStyle:eval":"true","PortraitScaleBorderStyle:num":"1.25","SkillItemWindows":"","SkillItemMiddleLayout:eval":"false","SkillItemStandardCols:num":"2"}
 *
 * @param BattleLog:struct
 * @text Battle Log Settings
 * @type struct<BattleLog>
 * @desc Settings that adjust how Window_BattleLog behaves.
 * @default {"General":"","BackColor:str":"#000000","MaxLines:num":"10","MessageWait:num":"16","TextAlign:str":"center","BattleLogRectJS:func":"\"const wx = 0;\\nconst wy = 0;\\nconst ww = Graphics.boxWidth;\\nconst wh = this.calcWindowHeight(10, false);\\nreturn new Rectangle(wx, wy, ww, wh);\"","StartTurn":"","StartTurnShow:eval":"true","StartTurnMsg:str":"Turn %1","StartTurnWait:num":"40","DisplayAction":"","ActionCenteredName:eval":"true","ActionSkillMsg1:eval":"false","ActionSkillMsg2:eval":"true","ActionItemMsg:eval":"false","ActionChanges":"","ShowCounter:eval":"true","ShowReflect:eval":"true","ShowSubstitute:eval":"true","ActionResults":"","ShowFailure:eval":"false","ShowCritical:eval":"false","ShowMissEvasion:eval":"false","ShowHpDmg:eval":"false","ShowMpDmg:eval":"false","ShowTpDmg:eval":"false","DisplayStates":"","ShowAddedState:eval":"false","ShowRemovedState:eval":"false","ShowCurrentState:eval":"false","ShowAddedBuff:eval":"false","ShowAddedDebuff:eval":"false","ShowRemovedBuff:eval":"false"}
 *
 * @param BattlebackScale:struct
 * @text Battleback Scaling
 * @type struct<Battleback>
 * @desc Settings that adjust how battlebacks scale.
 * @default {"DefaultStyle:str":"MZ","jsOneForOne:func":"\"// Adjust Size\\nthis.width = Graphics.width;\\nthis.height = Graphics.height;\\n\\n// Adjust Scale\\nconst scale = 1.0;\\nthis.scale.x = scale;\\nthis.scale.y = scale;\\n\\n// Adjust Coordinates\\nthis.x = 0;\\nthis.y = 0;\"","jsScaleToFit:func":"\"// Adjust Size\\nthis.width = Graphics.width;\\nthis.height = Graphics.height;\\n\\n// Adjust Scale\\nconst ratioX = this.width / this.bitmap.width;\\nconst ratioY = this.height / this.bitmap.height;\\nconst scale = Math.max(ratioX, ratioY);\\nthis.scale.x = scale;\\nthis.scale.y = scale;\\n\\n// Adjust Coordinates\\nthis.x = (Graphics.width - this.width) / 2;\\nthis.y = Graphics.height - this.height;\"","jsScaleDown:func":"\"// Adjust Size\\nthis.width = Graphics.width;\\nthis.height = Graphics.height;\\n\\n// Adjust Scale\\nconst ratioX = Math.min(1, this.width / this.bitmap.width);\\nconst ratioY = Math.min(1, this.height / this.bitmap.height);\\nconst scale = Math.max(ratioX, ratioY);\\nthis.scale.x = scale;\\nthis.scale.y = scale;\\n\\n// Adjust Coordinates\\nthis.x = (Graphics.width - this.width) / 2;\\nthis.y = Graphics.height - this.height;\"","jsScale Up:func":"\"// Adjust Size\\nthis.width = Graphics.width;\\nthis.height = Graphics.height;\\n\\n// Adjust Scale\\nconst ratioX = Math.max(1, this.width / this.bitmap.width);\\nconst ratioY = Math.max(1, this.height / this.bitmap.height);\\nconst scale = Math.max(ratioX, ratioY);\\nthis.scale.x = scale;\\nthis.scale.y = scale;\\n\\n// Adjust Coordinates\\nthis.x = (Graphics.width - this.width) / 2;\\nthis.y = Graphics.height - this.height;\""}
 *
 * @param PartyCmd:struct
 * @text Party Command Window
 * @type struct<PartyCmd>
 * @desc Settings that alter the Party Command Window in battle.
 * @default {"Cmd":"","CmdStyle:str":"auto","CmdTextAlign:str":"left","CmdIconFight:num":"76","CommandAddAutoBattle:eval":"true","CmdIconAutoBattle:num":"78","CmdTextAutoBattle:str":"Auto","CommandAddOptions:eval":"true","CmdIconOptions:num":"83","ActiveTpbOptionsMessage:str":"Options Menu queued after action is complete.","CmdIconEscape:num":"82","Access":"","SkipPartyCmd:eval":"true","DisablePartyCmd:eval":"false","HelpWindow":"","HelpFight:str":"Select actions to fight.","HelpAutoBattle:str":"Sets party to Auto Battle mode.","HelpOptions:str":"Opens up the Options Menu.","HelpEscape:str":"Attempt to escape the battle."}
 *
 * @param ActorCmd:struct
 * @text Actor Command Window
 * @type struct<ActorCmd>
 * @desc Settings that alter the Actor Command Window in battle.
 * @default {"Cmd":"","CmdStyle:str":"auto","CmdTextAlign:str":"left","CmdIconItem:num":"176","IconStypeNorm:num":"78","IconStypeMagic:num":"79","BattleCmd":"","BattleCmdList:arraystr":"[\"attack\",\"skills\",\"guard\",\"item\",\"escape\"]","HelpWindow":"","HelpSkillType:str":"Opens up a list of skills under the \\C[16]%1\\C[0] category.","HelpItem:str":"Opens up a list of items that you can use.","HelpEscape:str":"Attempt to escape the battle.","HelpAutoBattle:str":"Automatically choose an action suitable for combat."}
 * 
 * @param MultiTarget:struct
 * @text Multi-Target Windows
 * @type struct<MultiTarget>
 * @desc Settings that alter the Multi-Target Windows in battle.
 * @default {"Properties":"","WindowWidth:num":"280","BgType:num":"2","ShowButton:eval":"true","Vocab":"","AllActorsText:str":"All Allies","AllEnemiesText:str":"All Enemies","Offsets":"","ActorOffsets":"","ActorOffsetX:num":"+0","ActorOffsetY:num":"+0","EnemyOffsets":"","EnemyOffsetX:num":"+0","EnemyOffsetY:num":"+0"}
 *
 * @param VisualBreak
 * @text --------------------------
 * @default ----------------------------------
 *
 * @param Actor:struct
 * @text Actor Battler Settings
 * @type struct<Actor>
 * @desc Settings that alter various properties for actors.
 * @default {"Flinch":"","FlinchDistanceX:num":"12","FlinchDistanceY:num":"0","FlinchDuration:num":"6","SvBattlers":"","AnchorX:num":"0.5","AnchorY:num":"1.0","ChantStyle:eval":"true","OffsetX:num":"0","OffsetY:num":"0","MotionSpeed:num":"12","PrioritySortActive:eval":"true","PrioritySortActors:eval":"false","Shadow:eval":"true","SmoothImage:eval":"true","HomePosJS:func":"\"// Declare Constants\\nconst sprite = this;\\nconst actor = this._actor;\\nconst index = arguments[0];\\n\\n// Make Calculations\\nlet x = Math.round((Graphics.width / 2) + 192)\\nx -= Math.floor((Graphics.width - Graphics.boxWidth) / 2);\\nx += index * 32;\\nlet y = (Graphics.height - 200) - ($gameParty.maxBattleMembers() * 48);\\ny -= Math.floor((Graphics.height - Graphics.boxHeight) / 2);\\ny += index * 48;\\n\\n// Home Position Offsets\\nconst offsetNote = /<SIDEVIEW HOME OFFSET:[ ]([\\\\+\\\\-]\\\\d+),[ ]([\\\\+\\\\-]\\\\d+)>/i;\\nconst xOffsets = actor.traitObjects().map((obj) => (obj && obj.note.match(offsetNote) ? Number(RegExp.$1) : 0));\\nconst yOffsets = actor.traitObjects().map((obj) => (obj && obj.note.match(offsetNote) ? Number(RegExp.$2) : 0));\\nx = xOffsets.reduce((r, offset) => r + offset, x);\\ny = yOffsets.reduce((r, offset) => r + offset, y);\\n\\n// Set Home Position\\nthis.setHome(x, y);\""}
 *
 * @param Enemy:struct
 * @text Enemy Battler Settings
 * @type struct<Enemy>
 * @desc Settings that alter various properties for enemies.
 * @default {"Visual":"","AttackAnimation:num":"1","EmergeText:eval":"false","OffsetX:num":"0","OffsetY:num":"0","SmoothImage:eval":"true","SelectWindow":"","FrontViewSelect:eval":"false","SideviewSelect:eval":"true","NameFontSize:num":"22","SvBattlers":"","AllowCollapse:eval":"false","AnchorX:num":"0.5","AnchorY:num":"1.0","MotionIdle:str":"walk","Shadow:eval":"true","Width:num":"64","Height:num":"64","WtypeId:num":"0"}
 *
 * @param HpGauge:struct
 * @text HP Gauge Settings
 * @type struct<HpGauge>
 * @desc Settings that adjust the visual HP Gauge displayed in battle.
 * @default {"Display":"","ShowActorGauge:eval":"false","ShowEnemyGauge:eval":"true","RequiresDefeat:eval":"false","BTestBypass:eval":"true","Settings":"","AnchorX:num":"0.5","AnchorY:num":"1.0","Scale:num":"0.5","OffsetX:num":"0","OffsetY:num":"-3","Options":"","AddHpGaugeOption:eval":"true","AdjustRect:eval":"true","Name:str":"Show HP Gauge"}
 *
 * @param ActionSequence:struct
 * @text Action Sequence Settings
 * @type struct<ActionSequence>
 * @desc Settings that adjust how certain Action Sequences work.
 * @default {"AutoSequences":"","AutoMeleeSolo:eval":"true","AutoMeleeAoE:eval":"true","CastAnimations":"","CastCertain:num":"120","CastPhysical:num":"52","CastMagical:num":"51","CounterReflection":"","CounterPlayback:eval":"true","ReflectAnimation:num":"53","ReflectPlayback:eval":"true","Stepping":"","MeleeDistance:num":"24","StepDistanceX:num":"48","StepDistanceY:num":"0","StepDuration:num":"12"}
 *
 * @param BreakEnd1
 * @text --------------------------
 * @default ----------------------------------
 *
 * @param End Of
 * @default Plugin Parameters
 *
 * @param BreakEnd2
 * @text --------------------------
 * @default ----------------------------------
 *
 */
/* ----------------------------------------------------------------------------
 * Auto Battle Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~AutoBattle:
 *
 * @param BattleDisplay
 * @text Battle Display
 *
 * @param AutoBattleMsg:str
 * @text Message
 * @parent BattleDisplay
 * @desc Message that's displayed when Auto Battle is on.
 * Text codes allowed. %1 - OK button, %2 - Cancel button
 * @default Press %1 or %2 to stop Auto Battle
 *
 * @param AutoBattleOK:str
 * @text OK Button
 * @parent BattleDisplay
 * @desc Text used to represent the OK button.
 * If VisuMZ_0_CoreEngine is present, ignore this.
 * @default OK
 *
 * @param AutoBattleCancel:str
 * @text Cancel Button
 * @parent BattleDisplay
 * @desc Text used to represent the Cancel button.
 * If VisuMZ_0_CoreEngine is present, ignore this.
 * @default Cancel
 *
 * @param AutoBattleBgType:num
 * @text Background Type
 * @parent BattleDisplay
 * @type select
 * @option 0 - Window
 * @value 0
 * @option 1 - Dim
 * @value 1
 * @option 2 - Transparent
 * @value 2
 * @desc Select background type for Auto Battle window.
 * @default 1
 *
 * @param AutoBattleRect:func
 * @text JS: X, Y, W, H
 * @parent BattleDisplay
 * @type note
 * @desc Code used to determine the dimensions for this window.
 * @default "const width = Graphics.width;\nconst height = this.calcWindowHeight(1, false);\nconst x = 0;\nconst y = (Graphics.height - height) / 2;\nreturn new Rectangle(x, y, width, height);"
 *
 * @param Options
 *
 * @param AddOption:eval
 * @text Add Option?
 * @parent Options
 * @type boolean
 * @on Add
 * @off Don't Add
 * @desc Add the Auto Battle options to the Options menu?
 * @default true
 *
 * @param AdjustRect:eval
 * @text Adjust Window Height
 * @parent Options
 * @type boolean
 * @on Adjust
 * @off Don't
 * @desc Automatically adjust the options window height?
 * @default true
 *
 * @param StartName:str
 * @text Startup Name
 * @parent Options
 * @desc Command name of the option.
 * @default Auto Battle Start
 *
 * @param StyleName:str
 * @text Style Name
 * @parent Options
 * @desc Command name of the option.
 * @default Auto Battle Style
 *
 * @param StyleOFF:str
 * @text OFF
 * @parent StyleName:str
 * @desc Text displayed when Auto Battle Style is OFF.
 * @default Attack
 *
 * @param StyleON:str
 * @text ON
 * @parent StyleName:str
 * @desc Text displayed when Auto Battle Style is ON.
 * @default Skills
 *
 */
/* ----------------------------------------------------------------------------
 * Damage Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~Damage:
 *
 * @param DamageStyles
 * @text Damage Styles
 *
 * @param DefaultDamageStyle:str
 * @text Default Style
 * @parent DamageStyles
 * @desc Which Damage Style do you want to set as default?
 * Use 'Manual' to not use any styles at all.
 * @default Standard
 *
 * @param DamageStyleList:arraystruct
 * @text Style List
 * @parent DamageStyles
 * @type struct<DamageStyle>[]
 * @desc A list of the damage styles available.
 * These are used to calculate base damage.
 * @default ["{\"Name:str\":\"Standard\",\"Formula:func\":\"\\\"// Declare Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Replace Formula\\\\nlet formula = item.damage.formula;\\\\nif (SceneManager.isSceneBattle() && !this.isCertainHit()) {\\\\n    const fmt = 'Math.max(this.applyArmorModifiers(b, %1), 0)';\\\\n    formula = formula.replace(/b.def/g, fmt.format('b.def'));\\\\n    formula = formula.replace(/b.mdf/g, fmt.format('b.mdf'));\\\\n    formula = formula.replace(/b.agi/g, fmt.format('b.agi'));\\\\n    formula = formula.replace(/b.luk/g, fmt.format('b.luk'));\\\\n}\\\\n\\\\n// Calculate Damage\\\\nlet value = Math.max(eval(formula), 0);\\\\n\\\\n// Return Value\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Multiplier\",\"DamageType2:str\":\"%1 Damage Multiplier\",\"DamageType3:str\":\"%1 Recovery Multiplier\",\"DamageType4:str\":\"%1 Recovery Multiplier\",\"DamageType5:str\":\"%1 Drain Multiplier\",\"DamageType6:str\":\"%1 Drain Multiplier\",\"DamageDisplay:func\":\"\\\"return this.getItemDamageAmountTextOriginal();\\\"\"}","{\"Name:str\":\"Armor Scaling\",\"Formula:func\":\"\\\"// Declare Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Replace Formula\\\\nlet formula = item.damage.formula;\\\\nif (SceneManager.isSceneBattle() && !this.isCertainHit()) {\\\\n    const fmt = 'Math.max(this.applyArmorModifiers(b, %1), 1)';\\\\n    formula = formula.replace(/b.def/g, fmt.format('b.def'));\\\\n    formula = formula.replace(/b.mdf/g, fmt.format('b.mdf'));\\\\n    formula = formula.replace(/b.agi/g, fmt.format('b.agi'));\\\\n    formula = formula.replace(/b.luk/g, fmt.format('b.luk'));\\\\n}\\\\n\\\\n// Calculate Damage\\\\nlet value = Math.max(eval(formula), 0);\\\\n\\\\n// Apply Defender's Defense Parameter\\\\nif (this.isDamage() && !this.isCertainHit()) {\\\\n\\\\n    // Calculate Base Armor\\\\n    let armor = this.isPhysical() ? b.def : b.mdf;\\\\n    armor = this.applyArmorModifiers(target, armor);\\\\n\\\\n    // Apply Armor to Damage\\\\n    if (armor >= 0) {\\\\n        value *= 100 / (100 + armor);\\\\n    } else {\\\\n        value *= 2 - (100 / (100 - armor));\\\\n    }\\\\n}\\\\n\\\\n// Return Value\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Multiplier\",\"DamageType2:str\":\"%1 Damage Multiplier\",\"DamageType3:str\":\"%1 Recovery Multiplier\",\"DamageType4:str\":\"%1 Recovery Multiplier\",\"DamageType5:str\":\"%1 Drain Multiplier\",\"DamageType6:str\":\"%1 Drain Multiplier\",\"DamageDisplay:func\":\"\\\"return this.getItemDamageAmountTextOriginal();\\\"\"}","{\"Name:str\":\"CT\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Multiplier\\\\nconst multiplier = Math.max(eval(item.damage.formula), 0);\\\\n\\\\n// Declare Values\\\\nlet value = 0;\\\\nlet level = Math.max(a.level || a.luk, 1);\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\narmor = Math.max(this.applyArmorModifiers(target, armor), 0);\\\\nlet attackStat = 0;\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    attackStat = a.atk;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    attackStat =  a.mat;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    attackStat =  a.def;\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    attackStat =  a.mdf;\\\\n}\\\\n\\\\n// Calculate Damage\\\\nattackStat = (attackStat * 1.75) + (level ** 2 / 45.5);\\\\nvalue = attackStat * 4;\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    value *= Math.max(256 - armor, 0) / 256;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    value *= Math.max(102.4 - armor, 0) / 128;\\\\n}\\\\nvalue *= multiplier;\\\\n\\\\n// Return Value\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Multiplier\",\"DamageType2:str\":\"%1 Damage Multiplier\",\"DamageType3:str\":\"%1 Recovery Multiplier\",\"DamageType4:str\":\"%1 Recovery Multiplier\",\"DamageType5:str\":\"%1 Drain Multiplier\",\"DamageType6:str\":\"%1 Drain Multiplier\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    const value = Math.max(eval(formula), 0);\\\\n    return '%1%'.format(Math.round(value * 100));\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"D4\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Multiplier\\\\nconst multiplier = Math.max(eval(item.damage.formula), 0);\\\\n\\\\n// Declare Values\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\narmor = this.applyArmorModifiers(target, armor);\\\\nlet stat = 0;\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    stat = a.atk;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    stat = a.mat;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    stat = a.def;\\\\n    armor = 0;\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    stat = a.mdf;\\\\n    armor = 0;\\\\n}\\\\n\\\\n// Calculate Damage \\\\nlet value = 1.5 * Math.max(2 * stat * multiplier - armor, 1) * multiplier / 5;\\\\n\\\\n// Return Value\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Multiplier\",\"DamageType2:str\":\"%1 Damage Multiplier\",\"DamageType3:str\":\"%1 Recovery Multiplier\",\"DamageType4:str\":\"%1 Recovery Multiplier\",\"DamageType5:str\":\"%1 Drain Multiplier\",\"DamageType6:str\":\"%1 Drain Multiplier\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    const value = Math.max(eval(formula), 0);\\\\n    return '%1%'.format(Math.round(value * 100));\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"DQ\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Multiplier\\\\nlet multiplier = Math.max(eval(item.damage.formula), 0);\\\\nif (this.isCertainHit()) {\\\\n    let value = multiplier * Math.max(a.atk, a.mat);\\\\n    return (isNaN(value) ? 0 : value) * sign;\\\\n}\\\\n\\\\n// Get Primary Stats\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\narmor = this.applyArmorModifiers(b, armor);\\\\nlet stat = 1;\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    stat = a.atk;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    stat = a.mat;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    stat = a.def;\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    stat = a.mdf;\\\\n}\\\\n\\\\n// Check for Recovery\\\\nif (this.isRecover()) {\\\\n    let value = stat * multiplier * sign;\\\\n    return isNaN(value) ? 0 : value;\\\\n}\\\\n\\\\n// Calculate Damage\\\\nlet value = 0;\\\\nif (stat < ((2 + armor) / 2)) {\\\\n    // Plink Damage\\\\n    let baseline = Math.max(stat - ((12 * (armor - stat + 1)) / stat), 5);\\\\n    value = baseline / 3;\\\\n} else {\\\\n    // Normal Damage\\\\n    let baseline = Math.max(stat - (armor / 2), 1);\\\\n    value = baseline / 2;\\\\n}\\\\nvalue *= multiplier;\\\\n\\\\n// Return Value\\\\nreturn isNaN(value) ? 0 : value;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Multiplier\",\"DamageType2:str\":\"%1 Damage Multiplier\",\"DamageType3:str\":\"%1 Recovery Multiplier\",\"DamageType4:str\":\"%1 Recovery Multiplier\",\"DamageType5:str\":\"%1 Drain Multiplier\",\"DamageType6:str\":\"%1 Drain Multiplier\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    const value = Math.max(eval(formula), 0);\\\\n    return '%1%'.format(Math.round(value * 100));\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"FF7\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Power\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\n\\\\n// Declare base Damage\\\\nlet baseDamage = 0;\\\\nlet level = Math.max(a.level || a.luk, 1);\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    baseDamage = a.atk + ((a.atk + level) / 32) * ((a.atk * level) / 32);\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    baseDamage = 6 * (a.mat + level);\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    baseDamage = 6 * (a.def + level);\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    baseDamage = 6 * (a.mdf + level);\\\\n}\\\\n\\\\n// Calculate Final Damage\\\\nlet value = baseDamage;\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\narmor = this.applyArmorModifiers(target, armor);\\\\nif (this.isRecover()) {\\\\n    value += 22 * power;\\\\n} else {\\\\n    value = (power * Math.max(512 - armor, 1) * baseDamage) / (16 * 512);\\\\n}\\\\n\\\\n// Return Value\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Power\",\"DamageType2:str\":\"%1 Damage Power\",\"DamageType3:str\":\"%1 Recovery Power\",\"DamageType4:str\":\"%1 Recovery Power\",\"DamageType5:str\":\"%1 Drain Power\",\"DamageType6:str\":\"%1 Drain Power\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    return formula;\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"FF8\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Power\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\n\\\\n// Declare Damage\\\\nlet Value = 0;\\\\nlet level = Math.max(a.level || a.luk, 1);\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\narmor = this.applyArmorModifiers(target, armor);\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    value = a.atk ** 2 / 16 + a.atk;\\\\n    value *= Math.max(265 - armor, 1) / 256;\\\\n    value *= power / 16;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    value = a.mat + power;\\\\n    value *= Math.max(265 - armor, 1) / 4;\\\\n    value *= power / 256;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    value = (power + a.def) * power / 2;\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    value = (power + a.mdf) * power / 2;\\\\n}\\\\n\\\\n// Return Value\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Power\",\"DamageType2:str\":\"%1 Damage Power\",\"DamageType3:str\":\"%1 Recovery Power\",\"DamageType4:str\":\"%1 Recovery Power\",\"DamageType5:str\":\"%1 Drain Power\",\"DamageType6:str\":\"%1 Drain Power\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    return formula;\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"FF9\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Damage Constant\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\nif (this.isCertainHit()) {\\\\n    return (isNaN(power) ? 0 : power) * sign;\\\\n}\\\\n\\\\n// Declare Main Stats\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\narmor = this.applyArmorModifiers(b, armor);\\\\nlet stat = 1;\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    stat = a.atk;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    stat = a.mat;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    stat = a.def;\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    stat = a.mdf;\\\\n}\\\\n\\\\n// Declare Base Damage\\\\nlet baseDamage = power;\\\\nif (this.isPhysical()) {\\\\n    baseDamage += stat;\\\\n}\\\\nif (this.isDamage() || this.isDrain()) {\\\\n    baseDamage -= armor;\\\\n    baseDamage = Math.max(1, baseDamage);\\\\n}\\\\n\\\\n// Declare Bonus Damage\\\\nlet bonusDamage = stat + (((a.level || a.luk) + stat) / 8);\\\\n\\\\n// Declare Final Damage\\\\nlet value = baseDamage * bonusDamage * sign;\\\\n\\\\n// Return Value\\\\nreturn isNaN(value) ? 0 : value;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Power\",\"DamageType2:str\":\"%1 Damage Power\",\"DamageType3:str\":\"%1 Recovery Power\",\"DamageType4:str\":\"%1 Recovery Power\",\"DamageType5:str\":\"%1 Drain Power\",\"DamageType6:str\":\"%1 Drain Power\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    return formula;\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"FF10\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Damage Constant\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\nif (this.isCertainHit()) {\\\\n    return (isNaN(power) ? 0 : power) * sign;\\\\n}\\\\n\\\\n// Create Damage Offense Value\\\\nlet value = power;\\\\n\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    value = (((a.atk ** 3) / 32) + 32) * power / 16;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    value = power * ((a.mat ** 2 / 6) + power) / 4;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    value = power * ((a.def + power) / 2);\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    value = power * ((a.mdf + power) / 2);\\\\n}\\\\n\\\\n// Apply Damage Defense Value\\\\nif (this.isDamage() || this.isDrain()) {\\\\n    let armor = this.isPhysical() ? b.def : b.mdf;\\\\n    armor = this.applyArmorModifiers(b, armor);\\\\n    armor = Math.max(armor, 1);\\\\n    value *= ((((armor - 280.4) ** 2) / 110) / 16) / 730;\\\\n    value *= (730 - (armor * 51 - (armor ** 2) / 11) / 10) / 730;\\\\n} else if (this.isRecover()) {\\\\n    value *= -1;\\\\n}\\\\n\\\\n// Return Value\\\\nreturn isNaN(value) ? 0 : value;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Power\",\"DamageType2:str\":\"%1 Damage Power\",\"DamageType3:str\":\"%1 Recovery Power\",\"DamageType4:str\":\"%1 Recovery Power\",\"DamageType5:str\":\"%1 Drain Power\",\"DamageType6:str\":\"%1 Drain Power\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    return formula;\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"MK\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Multiplier\\\\nconst multiplier = Math.max(eval(item.damage.formula), 0);\\\\n\\\\n// Declare Values\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\narmor = this.applyArmorModifiers(target, armor);\\\\nconst denominator = Math.max(200 + armor, 1);\\\\n\\\\n// Calculate Damage \\\\nlet value = 0;\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    value = 200 * a.atk / denominator;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    value = 200 * a.mat / denominator;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    value = 200 * a.def / 200;\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    value = 200 * a.mdf / 200;\\\\n}\\\\nvalue *= multiplier;\\\\n\\\\n// Return Value\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Multiplier\",\"DamageType2:str\":\"%1 Damage Multiplier\",\"DamageType3:str\":\"%1 Recovery Multiplier\",\"DamageType4:str\":\"%1 Recovery Multiplier\",\"DamageType5:str\":\"%1 Drain Multiplier\",\"DamageType6:str\":\"%1 Drain Multiplier\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    const value = Math.max(eval(formula), 0);\\\\n    return '%1%'.format(Math.round(value * 100));\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"MOBA\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Damage Value\\\\nlet value = Math.max(eval(item.damage.formula), 0) * sign;\\\\n\\\\n// Apply Attacker's Offense Parameter\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    value *= a.atk;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    value *= a.mat;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    value *= a.def;\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    value *= a.mdf;\\\\n}\\\\n\\\\n// Apply Defender's Defense Parameter\\\\nif (this.isDamage() && !this.isCertainHit()) {\\\\n\\\\n    // Calculate Base Armor\\\\n    let armor = this.isPhysical() ? b.def : b.mdf;\\\\n    armor = this.applyArmorModifiers(target, armor);\\\\n\\\\n    // Apply Armor to Damage\\\\n    if (armor >= 0) {\\\\n        value *= 100 / (100 + armor);\\\\n    } else {\\\\n        value *= 2 - (100 / (100 - armor));\\\\n    }\\\\n}\\\\n\\\\n// Return Value\\\\nreturn isNaN(value) ? 0 : value;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Multiplier\",\"DamageType2:str\":\"%1 Damage Multiplier\",\"DamageType3:str\":\"%1 Recovery Multiplier\",\"DamageType4:str\":\"%1 Recovery Multiplier\",\"DamageType5:str\":\"%1 Drain Multiplier\",\"DamageType6:str\":\"%1 Drain Multiplier\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    const value = Math.max(eval(formula), 0);\\\\n    return '%1%'.format(Math.round(value * 100));\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}","{\"Name:str\":\"PKMN\",\"Formula:func\":\"\\\"// Define Constants\\\\nconst user = this.subject();\\\\nconst target = arguments[0];\\\\nconst item = this.item();\\\\nconst a = this.subject();\\\\nconst b = target;\\\\nconst v = $gameVariables._data;\\\\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\\\\n\\\\n// Create Power\\\\nconst power = Math.max(eval(item.damage.formula), 0);\\\\n\\\\n// Declare Values\\\\nlet value = 0;\\\\nlet level = Math.max(a.level || a.luk, 1);\\\\nlet armor = this.isPhysical() ? b.def : b.mdf;\\\\narmor = Math.max(this.applyArmorModifiers(target, armor), 0);\\\\nlet attackStat = 0;\\\\nif (this.isPhysical() && (this.isDamage() || this.isDrain())) {\\\\n    attackStat = a.atk;\\\\n} else if (this.isMagical() && (this.isDamage() || this.isDrain())) {\\\\n    attackStat =  a.mat;\\\\n} else if (this.isPhysical() && this.isRecover()) {\\\\n    attackStat =  a.def;\\\\n} else if (this.isMagical() && this.isRecover()) {\\\\n    attackStat =  a.mdf;\\\\n}\\\\n\\\\n// Calculate Damage\\\\nvalue = (((((2 * level) / 5) + 2) * power * (attackStat / armor)) / 50) + 2;\\\\n\\\\n// Return Value\\\\nreturn (isNaN(value) ? 0 : value) * sign;\\\"\",\"ItemsEquipsCore\":\"\",\"DamageType\":\"\",\"DamageType1:str\":\"%1 Damage Power\",\"DamageType2:str\":\"%1 Damage Power\",\"DamageType3:str\":\"%1 Recovery Power\",\"DamageType4:str\":\"%1 Recovery Power\",\"DamageType5:str\":\"%1 Drain Power\",\"DamageType6:str\":\"%1 Drain Power\",\"DamageDisplay:func\":\"\\\"// Define Constants\\\\nconst item = this._item;\\\\nconst formula = item.damage.formula;\\\\nconst a = this._tempActorA;\\\\nconst b = this._tempActorB;\\\\nconst user = a;\\\\nconst target = b;\\\\n\\\\n// Return Value\\\\ntry {\\\\n    return formula;\\\\n} catch (e) {\\\\n    if ($gameTemp.isPlaytest()) {\\\\n        console.log('Damage Formula Error for %1'.format(this._item.name));\\\\n    }\\\\n    return '?????';\\\\n}\\\"\"}"]
 *
 * @param Cap
 * @text Damage Cap
 *
 * @param EnableDamageCap:eval
 * @text Enable Damage Cap?
 * @parent Cap
 * @type boolean
 * @on Enable
 * @off Disable
 * @desc Put a maximum hard damage cap on how far damage can go?
 * This can be broken through the usage of notetags.
 * @default false
 *
 * @param DefaultHardCap:num
 * @text Default Hard Cap
 * @parent EnableDamageCap:eval
 * @type number
 * @min 1
 * @desc The default hard damage cap used before applying damage.
 * @default 9999
 *
 * @param EnableSoftCap:eval
 * @text Enable Soft Cap?
 * @parent Cap
 * @type boolean
 * @on Enable
 * @off Disable
 * @desc Soft caps ease in the damage values leading up to the 
 * hard damage cap. Requires hard Damage Cap enabled.
 * @default false
 *
 * @param DefaultSoftCap:num
 * @text Base Soft Cap Rate
 * @parent EnableSoftCap:eval
 * @desc The default soft damage cap used before applying damage.
 * @default 0.80
 *
 * @param DefaultSoftScaler:num
 * @text Soft Scale Constant
 * @parent EnableSoftCap:eval
 * @desc The default soft damage cap used before applying damage.
 * @default 0.1275
 *
 * @param Popups
 *
 * @param PopupDuration:num
 * @text Popup Duration
 * @parent Popups
 * @type number
 * @min 1
 * @desc Adjusts how many frames a popup stays visible.
 * @default 128
 *
 * @param NewPopupBottom:eval
 * @text Newest Popups Bottom
 * @parent Popups
 * @type boolean
 * @on Bottom
 * @off Top
 * @desc Puts the newest popups at the bottom.
 * @default true
 *
 * @param PopupPosition:str
 * @text Appear Position
 * @parent Popups
 * @type select
 * @option Head - At the top of the battler.
 * @value head
 * @option Center - At the center of the battler.
 * @value center
 * @option Base - At the foot of the battler.
 * @value base
 * @desc Selects where you want popups to appear relative to the battler.
 * @default base
 *
 * @param EndBattlePopups:eval
 * @text End Battle Show?
 * @parent Popups
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Show or hide popups upon victory or escape?
 * Used to hide battle-state removal popups.
 * @default true
 *
 * @param PopupOffsetX:num
 * @text Offset X
 * @parent Popups
 * @desc Sets how much to offset the sprites by horizontally.
 * Negative values go left. Positive values go right.
 * @default 0
 *
 * @param PopupOffsetY:num
 * @text Offset Y
 * @parent Popups
 * @desc Sets how much to offset the sprites by vertically.
 * Negative values go up. Positive values go down.
 * @default 0
 *
 * @param PopupShiftX:num
 * @text Shift X
 * @parent Popups
 * @desc Sets how much to shift the sprites by horizontally.
 * Negative values go left. Positive values go right.
 * @default 8
 *
 * @param PopupShiftY:num
 * @text Shift Y
 * @parent Popups
 * @desc Sets how much to shift the sprites by vertically.
 * Negative values go up. Positive values go down.
 * @default -28
 *
 * @param hpDamageFmt:str
 * @text HP Damage Format
 * @parent Popups
 * @desc Determines HP damage format for popup.
 * %1 - Value, %2 - HP Text
 * @default -%1
 *
 * @param hpHealingFmt:str
 * @text HP Healing Format
 * @parent Popups
 * @desc Determines HP healing format for popup.
 * %1 - Value, %2 - HP Text
 * @default +%1
 *
 * @param mpDamageFmt:str
 * @text MP Damage Format
 * @parent Popups
 * @desc Determines MP damage format for popup.
 * %1 - Value, %2 - MP Text
 * @default -%1 %2
 *
 * @param mpHealingFmt:str
 * @text MP Healing Format
 * @parent Popups
 * @desc Determines MP healing format for popup.
 * %1 - Value, %2 - MP Text
 * @default +%1 %2
 *
 * @param CriticalColor:eval
 * @text Critical Flash Color
 * @parent Popups
 * @desc Adjust the popup's flash color.
 * Format: [red, green, blue, alpha]
 * @default [255, 0, 0, 160]
 *
 * @param CriticalDuration:num
 * @text Critical Duration
 * @parent Popups
 * @type number
 * @min 1
 * @desc Adjusts how many frames a the flash lasts.
 * @default 128
 *
 * @param Formulas
 *
 * @param OverallFormulaJS:func
 * @text JS: Overall Formula
 * @parent Formulas
 * @type note
 * @desc The overall formula used when calculating damage.
 * @default "// Declare Constants\nconst target = arguments[0];\nconst critical = arguments[1];\nconst item = this.item();\n\n// Get Base Damage\nconst baseValue = this.evalDamageFormula(target);\n\n// Calculate Element Modifiers\nlet value = baseValue * this.calcElementRate(target);\n\n// Calculate Physical and Magical Modifiers\nif (this.isPhysical()) {\n    value *= target.pdr;\n}\nif (this.isMagical()) {\n    value *= target.mdr;\n}\n\n// Apply Healing Modifiers\nif (baseValue < 0) {\n    value *= target.rec;\n}\n\n// Apply Critical Modifiers\nif (critical) {\n    value = this.applyCritical(value);\n}\n\n// Apply Variance and Guard Modifiers\nvalue = this.applyVariance(value, item.damage.variance);\nvalue = this.applyGuard(value, target);\n\n// Finalize Damage\nvalue = Math.round(value);\nreturn value;"
 *
 * @param VarianceFormulaJS:func
 * @text JS: Variance Formula
 * @parent Formulas
 * @type note
 * @desc The formula used when damage variance.
 * @default "// Declare Constants\nconst damage = arguments[0];\nconst variance = arguments[1];\n\n// Calculate Variance\nconst amp = Math.floor(Math.max((Math.abs(damage) * variance) / 100, 0));\nconst v = Math.randomInt(amp + 1) + Math.randomInt(amp + 1) - amp;\n\n// Return Damage\nreturn damage >= 0 ? damage + v : damage - v;"
 *
 * @param GuardFormulaJS:func
 * @text JS: Guard Formula
 * @parent Formulas
 * @type note
 * @desc The formula used when damage is guarded.
 * @default "// Declare Constants\nconst damage = arguments[0];\nconst target = arguments[1];\n\n// Return Damage Early\nconst note = this.item().note;\nif (note.match(/<UNBLOCKABLE>/i)) return damage;\nif (!target.isGuard()) return damage;\nif (damage < 0) return damage;\n\n// Declare Guard Rate\nlet guardRate = 0.5;\nguardRate /= target.grd;\n\n// Return Damage\nreturn damage * guardRate;"
 *
 * @param Critical
 * @text Critical Hits
 *
 * @param CriticalHitRateJS:func
 * @text JS: Rate Formula
 * @parent Critical
 * @type note
 * @desc The formula used to calculate Critical Hit Rates.
 * @default "// Declare Constants\nconst user = this.subject();\nconst target = arguments[0];\n\n// Create Base Critical Rate\nlet rate = this.subject().cri * (1 - target.cev);\n\n// Apply Notetags\nconst note = this.item().note;\nif (note.match(/<ALWAYS CRITICAL>/i)) {\n    return 1;\n}\nif (note.match(/<SET CRITICAL RATE:[ ](\\d+)([%％])>/i)) {\n    return Number(RegExp.$1) / 100;\n}\nif (note.match(/<MODIFY CRITICAL RATE:[ ](\\d+)([%％])>/i)) {\n    rate *= Number(RegExp.$1) / 100;\n}\nif (note.match(/<MODIFY CRITICAL RATE:[ ]([\\+\\-]\\d+)([%％])>/i)) {\n    rate += Number(RegExp.$1) / 100;\n}\nif (note.match(/<JS CRITICAL RATE>\\s*([\\s\\S]*)\\s*<\\/JS CRITICAL RATE>/i)) {\n    const code = String(RegExp.$1);\n    try {\n        eval(code);\n    } catch (e) {\n        if ($gameTemp.isPlaytest()) console.log(e);\n    }\n}\n\n// Apply LUK Buffs/Debuffs\nconst lukStack = this.subject().buff(7);\nrate *= 2 ** lukStack;\n\n// Return Rate\nreturn rate;"
 *
 * @param CriticalHitMultiplier:func
 * @text JS: Damage Formula
 * @parent Critical
 * @type note
 * @desc The formula used to calculate Critical Hit Damage modification.
 * @default "// Declare Constants\nconst user = this.subject();\nlet damage = arguments[0];\nlet multiplier = 2.0;\nlet bonusDamage = this.subject().luk * this.subject().cri;\n\n// Apply Notetags\nconst note = this.item().note;\nif (note.match(/<MODIFY CRITICAL MULTIPLIER:[ ](\\d+)([%％])>/i)) {\n    multiplier = Number(RegExp.$1) / 100;\n}\nif (note.match(/<MODIFY CRITICAL MULTIPLIER:[ ]([\\+\\-]\\d+)([%％])>/i)) {\n    multiplier += Number(RegExp.$1) / 100;\n}\nif (note.match(/<MODIFY CRITICAL BONUS DAMAGE:[ ](\\d+)([%％])>/i)) {\n    bonusDamage *= Number(RegExp.$1) / 100;\n}\nif (note.match(/<MODIFY CRITICAL BONUS DAMAGE:[ ]([\\+\\-]\\d+)([%％])>/i)) {\n    bonusDamage += bonusDamage * (RegExp.$1) / 100;\n}\nif (note.match(/<JS CRITICAL DAMAGE>\\s*([\\s\\S]*)\\s*<\\/JS CRITICAL DAMAGE>/i)) {\n    const code = String(RegExp.$1);\n    try {\n        eval(code);\n    } catch (e) {\n        if ($gameTemp.isPlaytest()) console.log(e);\n    }\n}\n\n// Return Damage\nreturn damage * multiplier + bonusDamage;"
 *
 */
/* ----------------------------------------------------------------------------
 * Damage Formula Style
 * ----------------------------------------------------------------------------
 */
/*~struct~DamageStyle:
 *
 * @param Name:str
 * @text Name
 * @desc Name of this Damage Style.
 * Used for notetags and such.
 * @default Untitled
 *
 * @param Formula:func
 * @text JS: Formula
 * @parent Name:str
 * @type note
 * @desc The base formula for this Damage Style.
 * @default "// Define Constants\nconst item = this.item();\nconst a = this.subject();\nconst b = target;\nconst sign = [3, 4].includes(item.damage.type) ? -1 : 1;\n\n// Create Damage Value\nlet value = Math.max(eval(item.damage.formula), 0) * sign;\n\n// Return Value\nreturn isNaN(value) ? 0 : value;"
 *
 * @param ItemsEquipsCore
 * @text Items & Equips Core
 *
 * @param DamageType
 * @text Damage Label
 * @parent ItemsEquipsCore
 *
 * @param DamageType1:str
 * @text HP Damage
 * @parent DamageType
 * @desc Vocabulary used for this data entry.
 * @default %1 Damage Multiplier
 *
 * @param DamageType2:str
 * @text MP Damage
 * @parent DamageType
 * @desc Vocabulary used for this data entry.
 * @default %1 Damage Multiplier
 *
 * @param DamageType3:str
 * @text HP Recovery
 * @parent DamageType
 * @desc Vocabulary used for this data entry.
 * @default %1 Recovery Multiplier
 *
 * @param DamageType4:str
 * @text MP Recovery
 * @parent DamageType
 * @desc Vocabulary used for this data entry.
 * @default %1 Recovery Multiplier
 *
 * @param DamageType5:str
 * @text HP Drain
 * @parent DamageType
 * @desc Vocabulary used for this data entry.
 * @default %1 Drain Multiplier
 *
 * @param DamageType6:str
 * @text MP Drain
 * @parent DamageType
 * @desc Vocabulary used for this data entry.
 * @default %1 Drain Multiplier
 *
 * @param DamageDisplay:func
 * @text JS: Damage Display
 * @parent ItemsEquipsCore
 * @type note
 * @desc Code used the data displayed for this category.
 * @default "// Define Constants\nconst item = this._item;\nconst formula = item.damage.formula;\nconst a = this._tempActorA;\nconst b = this._tempActorB;\nconst user = a;\nconst target = b;\n\n// Return Value\ntry {\n    const value = Math.max(eval(formula), 0);\n    return '%1%'.format(Math.round(value * 100));\n} catch (e) {\n    if ($gameTemp.isPlaytest()) {\n        console.log('Damage Formula Error for %1'.format(this._item.name));\n    }\n    return '?????';\n}"
 *
 */
/* ----------------------------------------------------------------------------
 * Mechanics Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~Mechanics:
 *
 * @param ActionSpeed
 * @text Action Speed
 *
 * @param AllowRandomSpeed:eval
 * @text Allow Random Speed?
 * @parent ActionSpeed
 * @type boolean
 * @on Allow
 * @off Disable
 * @desc Allow speed to be randomized base off the user's AGI?
 * @default false
 *
 * @param SyncBuffExpire:eval
 * @text Turn End Buffs Expire
 * @parent ActionSpeed
 * @type boolean
 * @on Expire
 * @off Don't Expire
 * @desc Normally, buffs expire after all actions end.
 * But here, you can have buffs expire on turn end.
 * @default false
 *
 * @param CalcActionSpeedJS:func
 * @text JS: Calculate
 * @parent ActionSpeed
 * @type note
 * @desc Code used to calculate action speed.
 * @default "// Declare Constants\nconst agi = this.subject().agi;\n\n// Create Speed\nlet speed = agi;\nif (this.allowRandomSpeed()) {\n    speed += Math.randomInt(Math.floor(5 + agi / 4));\n}\nif (this.item()) {\n    speed += this.item().speed;\n}\nif (this.isAttack()) {\n    speed += this.subject().attackSpeed();\n}\n\n// Return Speed\nreturn speed;"
 *
 * @param BaseTroop
 * @text Base Troop
 *
 * @param BaseTroopIDs:arraynum
 * @text Base Troop ID's
 * @parent BaseTroop
 * @type troop[]
 * @desc Select the Troop ID(s) to duplicate page events from for all other troops.
 * @default ["1"]
 *
 * @param CommonEvents
 * @text Common Events (on Map)
 *
 * @param BattleStartEvent:num
 * @text Pre-Battle Event
 * @parent CommonEvents
 * @type common_event
 * @desc Common Event to run before each battle on map.
 * Use to 0 to not run any Common Event at all.
 * @default 0
 *
 * @param BattleEndEvent:num
 * @text Post-Battle Event
 * @parent CommonEvents
 * @type common_event
 * @desc Queued Common Event to run after each battle on map.
 * Use to 0 to not run any Common Event at all.
 * @default 0
 *
 * @param VictoryEvent:num
 * @text Victory Event
 * @parent CommonEvents
 * @type common_event
 * @desc Queued Common Event to run upon victory on map.
 * Use to 0 to not run any Common Event at all.
 * @default 0
 *
 * @param DefeatEvent:num
 * @text Defeat Event
 * @parent CommonEvents
 * @type common_event
 * @desc Queued Common Event to run upon defeat on map.
 * Use to 0 to not run any Common Event at all.
 * @default 0
 *
 * @param EscapeSuccessEvent:num
 * @text Escape Success Event
 * @parent CommonEvents
 * @type common_event
 * @desc Queued Common Event to run upon escape success on map.
 * Use to 0 to not run any Common Event at all.
 * @default 0
 *
 * @param EscapeFailEvent:num
 * @text Escape Fail Event
 * @parent CommonEvents
 * @type common_event
 * @desc Queued Common Event to run upon escape failure on map.
 * Use to 0 to not run any Common Event at all.
 * @default 0
 *
 * @param Escape
 *
 * @param CalcEscapeRatioJS:func
 * @text JS: Calc Escape Ratio
 * @parent Escape
 * @type note
 * @desc Code used to calculate the escape success ratio.
 * @default "// Calculate Escape Ratio\nlet ratio = 0.5;\nratio *= $gameParty.agility();\nratio /= $gameTroop.agility();\n\n// Return Ratio\nreturn ratio;"
 *
 * @param CalcEscapeRaiseJS:func
 * @text JS: Calc Escape Raise
 * @parent Escape
 * @type note
 * @desc Code used to calculate how much the escape success ratio raises upon each failure.
 * @default "// Calculate Escape Ratio\nlet value = 0.1;\nvalue += $gameParty.aliveMembers().length;\n\n// Return Value\nreturn value;"
 *
 * @param Switches
 *
 * @param SwitchCritical:num
 * @text Switch: Critical
 * @parent Switches
 * @type switch
 * @desc Turns switch ON if the action performs a critical hit.
 * Switch reverts to OFF whenever an action starts.
 * @default 0
 *
 * @param SwitchMissEvade:num
 * @text Switch: Miss/Evade
 * @parent Switches
 * @type switch
 * @desc Turns switch ON if the action misses/is evaded.
 * Switch reverts to OFF whenever an action starts.
 * @default 0
 *
 * @param Variables
 *
 * @param VariableDmg:num
 * @text Variable: Damage
 * @parent Variables
 * @type variable
 * @desc Variable records target damage during action.
 * Variable reverts to 0 whenever an action starts.
 * @default 0
 *
 * @param VariableHeal:num
 * @text Variable: Healing
 * @parent Variables
 * @type variable
 * @desc Variable records target healing during action.
 * Variable reverts to 0 whenever an action starts.
 * @default 0
 *
 * @param BattleJS
 * @text JS: Battle-Related
 * 
 * @param PreStartBattleJS:func
 * @text JS: Pre-Start Battle
 * @parent BattleJS
 * @type note
 * @desc Target function: BattleManager.startBattle()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param PostStartBattleJS:func
 * @text JS: Post-Start Battle
 * @parent BattleJS
 * @type note
 * @desc Target function: BattleManager.startBattle()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 * 
 * @param BattleVictoryJS:func
 * @text JS: Battle Victory
 * @parent BattleJS
 * @type note
 * @desc Target function: BattleManager.processVictory()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param EscapeSuccessJS:func
 * @text JS: Escape Success
 * @parent BattleJS
 * @type note
 * @desc Target function: BattleManager.onEscapeSuccess()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param EscapeFailureJS:func
 * @text JS: Escape Failure
 * @parent BattleJS
 * @type note
 * @desc Target function: BattleManager.onEscapeFailure()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 * 
 * @param BattleDefeatJS:func
 * @text JS: Battle Defeat
 * @parent BattleJS
 * @type note
 * @desc Target function: BattleManager.processDefeat()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 * 
 * @param PreEndBattleJS:func
 * @text JS: Pre-End Battle
 * @parent BattleJS
 * @type note
 * @desc Target function: BattleManager.endBattle()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param PostEndBattleJS:func
 * @text JS: Post-End Battle
 * @parent BattleJS
 * @type note
 * @desc Target function: BattleManager.endBattle()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param TurnJS
 * @text JS: Turn-Related
 *
 * @param PreStartTurnJS:func
 * @text JS: Pre-Start Turn
 * @parent TurnJS
 * @type note
 * @desc Target function: BattleManager.startTurn()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param PostStartTurnJS:func
 * @text JS: Post-Start Turn
 * @parent TurnJS
 * @type note
 * @desc Target function: BattleManager.startTurn()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param PreEndTurnJS:func
 * @text JS: Pre-End Turn
 * @parent TurnJS
 * @type note
 * @desc Target function: Game_Battler.prototype.onTurnEnd()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param PostEndTurnJS:func
 * @text JS: Post-End Turn
 * @parent TurnJS
 * @type note
 * @desc Target function: Game_Battler.prototype.onTurnEnd()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param PreRegenerateJS:func
 * @text JS: Pre-Regenerate
 * @parent TurnJS
 * @type note
 * @desc Target function: Game_Battler.prototype.regenerateAll()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param PostRegenerateJS:func
 * @text JS: Post-Regenerate
 * @parent TurnJS
 * @type note
 * @desc Target function: Game_Battler.prototype.regenerateAll()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst user = this;\nconst target = user;\nconst a = user;\nconst b = user;\n\n// Perform Actions\n"
 *
 * @param ActionJS
 * @text JS: Action-Related
 *
 * @param PreStartActionJS:func
 * @text JS: Pre-Start Action
 * @parent ActionJS
 * @type note
 * @desc Target function: BattleManager.startAction()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst value = arguments[0];\nconst user = this.subject();\nconst target = user;\nconst a = user;\nconst b = user;\nconst action = this;\nconst item = this.item();\nconst skill = this.item();\n\n// Perform Actions\n"
 *
 * @param PostStartActionJS:func
 * @text JS: Post-Start Action
 * @parent ActionJS
 * @type note
 * @desc Target function: BattleManager.startAction()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst value = arguments[0];\nconst user = this.subject();\nconst target = user;\nconst a = user;\nconst b = user;\nconst action = this;\nconst item = this.item();\nconst skill = this.item();\n\n// Perform Actions\n"
 *
 * @param PreApplyJS:func
 * @text JS: Pre-Apply
 * @parent ActionJS
 * @type note
 * @desc Target function: Game_Action.prototype.apply()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst value = arguments[0];\nconst target = arguments[1];\nconst user = this.subject();\nconst a = user;\nconst b = target;\nconst action = this;\nconst item = this.item();\nconst skill = this.item();\n\n// Perform Actions\n\n// Return Value\nreturn value;"
 *
 * @param PreDamageJS:func
 * @text JS: Pre-Damage
 * @parent ActionJS
 * @type note
 * @desc Target function: Game_Action.prototype.executeDamage()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst value = arguments[0];\nconst target = arguments[1];\nconst user = this.subject();\nconst a = user;\nconst b = target;\nconst action = this;\nconst item = this.item();\nconst skill = this.item();\n\n// Perform Actions\n\n// Return Value\nreturn value;"
 *
 * @param PostDamageJS:func
 * @text JS: Post-Damage
 * @parent ActionJS
 * @type note
 * @desc Target function: Game_Action.prototype.executeDamage()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst value = arguments[0];\nconst target = arguments[1];\nconst user = this.subject();\nconst a = user;\nconst b = target;\nconst action = this;\nconst item = this.item();\nconst skill = this.item();\n\n// Perform Actions\n\n// Return Value\nreturn value;"
 *
 * @param PostApplyJS:func
 * @text JS: Post-Apply
 * @parent ActionJS
 * @type note
 * @desc Target function: Game_Action.prototype.apply()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst value = arguments[0];\nconst target = arguments[1];\nconst user = this.subject();\nconst a = user;\nconst b = target;\nconst action = this;\nconst item = this.item();\nconst skill = this.item();\n\n// Perform Actions\n\n// Return Value\nreturn value;"
 *
 * @param PreEndActionJS:func
 * @text JS: Pre-End Action
 * @parent ActionJS
 * @type note
 * @desc Target function: BattleManager.endAction()
 * JavaScript code occurs before function is run.
 * @default "// Declare Constants\nconst value = arguments[0];\nconst user = this.subject();\nconst target = user;\nconst a = user;\nconst b = user;\nconst action = this;\nconst item = this.item();\nconst skill = this.item();\n\n// Perform Actions\n"
 *
 * @param PostEndActionJS:func
 * @text JS: Post-End Action
 * @parent ActionJS
 * @type note
 * @desc Target function: BattleManager.endAction()
 * JavaScript code occurs after function is run.
 * @default "// Declare Constants\nconst value = arguments[0];\nconst user = this.subject();\nconst target = user;\nconst a = user;\nconst b = user;\nconst action = this;\nconst item = this.item();\nconst skill = this.item();\n\n// Perform Actions\n"
 *
 */
/* ----------------------------------------------------------------------------
 * Battle Layout Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~BattleLayout:
 *
 * @param Style:str
 * @text Battle Layout Style
 * @type select
 * @option Default - Shows actor faces in Battle Status.
 * @value default
 * @option List - Lists actors in Battle Status.
 * @value list
 * @option XP - Shows actor battlers in a stretched Battle Status.
 * @value xp
 * @option Portrait - Shows portraits in a stretched Battle Status.
 * @value portrait
 * @option Border - Displays windows around the screen border.
 * @value border
 * @option Frontview Battle UI - Requires VisuMZ_3_FrontviewBattleUI
 * @value frontview_ui
 * @option Sideview Battle UI - Requires VisuMZ_3_SideviewBattleUI
 * @value sideview_ui
 * @desc The style used for the battle layout.
 * @default default
 *
 * @param ListStyle
 * @text List Style
 * @parent Style:str
 *
 * @param ShowFacesListStyle:eval
 * @text Show Faces
 * @parent ListStyle
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Shows faces in List Style?
 * @default true
 *
 * @param CommandWidth:num
 * @text Command Window Width
 * @parent ListStyle
 * @type number
 * @min 1
 * @desc Determine the window width for the Party and Actor Command
 * Windows. Affects Default and List Battle Layout styles.
 * @default 192
 *
 * @param XPStyle
 * @text XP Style
 * @parent Style:str
 *
 * @param XPActorCommandLines:num
 * @text Command Lines
 * @parent XPStyle
 * @type number
 * @min 1
 * @desc Number of action lines in the Actor Command Window for the XP Style.
 * @default 4
 *
 * @param XPActorDefaultHeight:num
 * @text Sprite Height
 * @parent XPStyle
 * @type number
 * @min 1
 * @desc Default sprite height used when if the sprite's height has not been determined yet.
 * @default 64
 *
 * @param XPSpriteYLocation:str
 * @text Sprite Base Location
 * @parent XPStyle
 * @type select
 * @option Above Name - Sprite is located above the name.
 * @value name
 * @option Bottom - Sprite is located at the bottom of the window.
 * @value bottom
 * @option Centered - Sprite is centered in the window.
 * @value center
 * @option Top - Sprite is located at the top of the window.
 * @value top
 * @desc Determine where the sprite is located on the Battle Status Window.
 * @default name
 *
 * @param PotraitStyle
 * @text Portrait Style
 * @parent Style:str
 *
 * @param ShowPortraits:eval
 * @text Show Portraits?
 * @parent PotraitStyle
 * @type boolean
 * @on Portraits
 * @off Faces
 * @desc Requires VisuMZ_1_MainMenuCore.
 * Shows the actor's portrait instead of a face.
 * @default true
 *
 * @param PortraitScale:num
 * @text Portrait Scaling
 * @parent PotraitStyle
 * @desc If portraits are used, scale them by this much.
 * @default 0.5
 *
 * @param BorderStyle
 * @text Border Style
 * @parent Style:str
 *
 * @param SkillItemBorderCols:num
 * @text Columns
 * @parent BorderStyle
 * @type number
 * @min 1
 * @desc The total number of columns for Skill & Item Windows
 * in the battle scene.
 * @default 1
 *
 * @param ShowPortraitsBorderStyle:eval
 * @text Show Portraits?
 * @parent BorderStyle
 * @type boolean
 * @on Portraits
 * @off Faces
 * @desc Requires VisuMZ_1_MainMenuCore.
 * Shows the actor's portrait at the edge of the screen.
 * @default true
 *
 * @param PortraitScaleBorderStyle:num
 * @text Portrait Scaling
 * @parent BorderStyle
 * @desc If portraits are used, scale them by this much.
 * @default 1.0
 *
 * @param SkillItemWindows
 * @text Skill & Item Windows
 *
 * @param SkillItemMiddleLayout:eval
 * @text Middle Layout
 * @parent SkillItemWindows
 * @type boolean
 * @on Middle
 * @off Bottom
 * @desc Shows the Skill & Item Windows in mid-screen?
 * @default false
 *
 * @param SkillItemStandardCols:num
 * @text Columns
 * @parent SkillItemWindows
 * @type number
 * @min 1
 * @desc The total number of columns for Skill & Item Windows
 * in the battle scene.
 * @default 2
 *
 * @param StatusWindow
 * @text Status Window Elements
 *
 * @param StatusWindowName
 * @text Battler Name
 * @parent StatusWindow
 *
 * @param NameOffsetX:num
 * @text Offset: X
 * @parent StatusWindowName
 * @desc Offset this Battle Status Window element's X.
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param NameOffsetY:num
 * @text Offset: Y
 * @parent StatusWindowName
 * @desc Offset this Battle Status Window element's Y.
 * Negative goes up. Positive goes down.
 * @default +0
 *
 * @param StatusWindowHpGauge
 * @text Gauge 1 (HP)
 * @parent StatusWindow
 *
 * @param HpGaugeOffsetX:num
 * @text Offset: X
 * @parent StatusWindowHpGauge
 * @desc Offset this Battle Status Window element's X.
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param HpGaugeOffsetY:num
 * @text Offset: Y
 * @parent StatusWindowHpGauge
 * @desc Offset this Battle Status Window element's Y.
 * Negative goes up. Positive goes down.
 * @default +0
 *
 * @param StatusWindowMpGauge
 * @text Gauge 2 (MP)
 * @parent StatusWindow
 *
 * @param MpGaugeOffsetX:num
 * @text Offset: X
 * @parent StatusWindowMpGauge
 * @desc Offset this Battle Status Window element's X.
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param MpGaugeOffsetY:num
 * @text Offset: Y
 * @parent StatusWindowMpGauge
 * @desc Offset this Battle Status Window element's Y.
 * Negative goes up. Positive goes down.
 * @default +0
 *
 * @param StatusWindowTpGauge
 * @text Gauge 3 (TP)
 * @parent StatusWindow
 *
 * @param TpGaugeOffsetX:num
 * @text Offset: X
 * @parent StatusWindowTpGauge
 * @desc Offset this Battle Status Window element's X.
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param TpGaugeOffsetY:num
 * @text Offset: Y
 * @parent StatusWindowTpGauge
 * @desc Offset this Battle Status Window element's Y.
 * Negative goes up. Positive goes down.
 * @default +0
 *
 * @param StatusWindowStateIcon
 * @text State Icon
 * @parent StatusWindow
 *
 * @param StateIconOffsetX:num
 * @text Offset: X
 * @parent StatusWindowStateIcon
 * @desc Offset this Battle Status Window element's X.
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param StateIconOffsetY:num
 * @text Offset: Y
 * @parent StatusWindowStateIcon
 * @desc Offset this Battle Status Window element's Y.
 * Negative goes up. Positive goes down.
 * @default +0
 *
 * @param StatusWindowTpbGauge
 * @text TPB/ATB Gauge
 * @parent StatusWindow
 *
 * @param TpbGaugeOffsetX:num
 * @text Offset: X
 * @parent StatusWindowTpbGauge
 * @desc Offset this Battle Status Window element's X.
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param TpbGaugeOffsetY:num
 * @text Offset: Y
 * @parent StatusWindowTpbGauge
 * @desc Offset this Battle Status Window element's Y.
 * Negative goes up. Positive goes down.
 * @default +0
 *
 * @param StatusWindowSkin
 * @text Window Skin
 * @parent StatusWindow
 *
 * @param StatusWindowSkinFilename:str
 * @text Filename
 * @parent StatusWindowSkin
 * @type file
 * @dir img/system/
 * @desc Filename used for the Battle Status Window skin.
 * Leave this empty to use the default window skin.
 * @default 
 *
 * @param StatusWindowSkinHide:eval
 * @text Hide Window Skin?
 * @parent StatusWindowSkin
 * @type boolean
 * @on No Window Skin
 * @off Default Skin
 * @desc Show/Hide the window skin for the Battle Status Window?
 * @default false
 *
 * @param StatusWindowSelectBack
 * @text Selectable Background
 * @parent StatusWindow
 *
 * @param StatusWindowSelectableBackHide:eval
 * @text Hide Selectable BG?
 * @parent StatusWindowSelectBack
 * @type boolean
 * @on No Selectable BG
 * @off Default Selectable BG
 * @desc Show/Hide the selectable background box for the Battle Status Window?
 * @default false
 *
 * @param StatusWindowAttachments
 * @text Attachments
 * @parent StatusWindow
 *
 * @param StatusWindowBackAttachment
 * @text Back Attachment
 * @parent StatusWindowAttachments
 *
 * @param StatusWindowAttachmentBack:str
 * @text Filename
 * @parent StatusWindowBackAttachment
 * @type file
 * @dir img/system/
 * @desc Filename used for an image to attach to the back of the
 * Battle Status Window. Leave empty for none.
 * @default 
 *
 * @param StatusWindowAttachmentBackOffsetX:num
 * @text Offset: X
 * @parent StatusWindowBackAttachment
 * @desc Offset this Battle Status Window element's X.
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param StatusWindowAttachmentBackOffsetY:num
 * @text Offset: Y
 * @parent StatusWindowBackAttachment
 * @desc Offset this Battle Status Window element's Y.
 * Negative goes up. Positive goes down.
 * @default +0
 *
 * @param StatusWindowFrontAttachment
 * @text Front Attachment
 * @parent StatusWindowAttachments
 *
 * @param StatusWindowAttachmentFront:str
 * @text Filename
 * @parent StatusWindowFrontAttachment
 * @type file
 * @dir img/system/
 * @desc Filename used for an image to attach to the front of the
 * Battle Status Window. Leave empty for none.
 * @default 
 *
 * @param StatusWindowAttachmentFrontOffsetX:num
 * @text Offset: X
 * @parent StatusWindowFrontAttachment
 * @desc Offset this Battle Status Window element's X.
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param StatusWindowAttachmentFrontOffsetY:num
 * @text Offset: Y
 * @parent StatusWindowFrontAttachment
 * @desc Offset this Battle Status Window element's Y.
 * Negative goes up. Positive goes down.
 * @default +0
 *
 * @param UiElements
 * @text UI Elements
 *
 * @param AntiTintUiElements:eval
 * @text Anti-Tint UI?
 * @parent UiElements
 * @type boolean
 * @on Prevent Tint
 * @off Allow Tint
 * @desc Prevent UI Elements from being tinted?
 * @default true
 *
 */
/* ----------------------------------------------------------------------------
 * Battle Log Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~BattleLog:
 *
 * @param General
 *
 * @param BackColor:str
 * @text Back Color
 * @parent General
 * @desc Use #rrggbb for a hex color.
 * @default #000000
 *
 * @param MaxLines:num
 * @text Max Lines
 * @parent General
 * @type number
 * @min 1
 * @desc Maximum number of lines to be displayed.
 * @default 10
 *
 * @param MessageWait:num
 * @text Message Wait
 * @parent General
 * @type number
 * @min 1
 * @desc Number of frames for a usual message wait.
 * @default 16
 *
 * @param TextAlign:str
 * @text Text Align
 * @parent General
 * @type combo
 * @option left
 * @option center
 * @option right
 * @desc Text alignment for the Window_BattleLog.
 * @default center
 *
 * @param BattleLogRectJS:func
 * @text JS: X, Y, W, H
 * @parent General
 * @type note
 * @desc Code used to determine the dimensions for the battle log.
 * @default "const wx = 0;\nconst wy = 0;\nconst ww = Graphics.boxWidth;\nconst wh = this.calcWindowHeight(10, false);\nreturn new Rectangle(wx, wy, ww, wh);"
 *
 * @param StartTurn
 * @text Start Turn
 *
 * @param StartTurnShow:eval
 * @text Show Start Turn?
 * @parent StartTurn
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display turn changes at the start of the turn?
 * @default false
 *
 * @param StartTurnMsg:str
 * @text Start Turn Message
 * @parent StartTurn
 * @desc Message displayed at turn start.
 * %1 - Turn Count
 * @default Turn %1
 *
 * @param StartTurnWait:num
 * @text Start Turn Wait
 * @parent StartTurn
 * @type number
 * @min 1
 * @desc Number of frames to wait after a turn started.
 * @default 40
 *
 * @param DisplayAction
 * @text Display Action
 *
 * @param ActionCenteredName:eval
 * @text Show Centered Action?
 * @parent DisplayAction
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display a centered text of the action name?
 * @default true
 *
 * @param ActionSkillMsg1:eval
 * @text Show Skill Message 1?
 * @parent DisplayAction
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display the 1st skill message?
 * @default false
 *
 * @param ActionSkillMsg2:eval
 * @text Show Skill Message 2?
 * @parent DisplayAction
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display the 2nd skill message?
 * @default true
 *
 * @param ActionItemMsg:eval
 * @text Show Item Message?
 * @parent DisplayAction
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display the item use message?
 * @default false
 *
 * @param ActionChanges
 * @text Action Changes
 *
 * @param ShowCounter:eval
 * @text Show Counter?
 * @parent ActionChanges
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display counter text?
 * @default true
 *
 * @param ShowReflect:eval
 * @text Show Reflect?
 * @parent ActionChanges
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display magic reflection text?
 * @default true
 *
 * @param ShowSubstitute:eval
 * @text Show Substitute?
 * @parent ActionChanges
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display substitute text?
 * @default true
 *
 * @param ActionResults
 * @text Action Results
 *
 * @param ShowFailure:eval
 * @text Show No Effect?
 * @parent ActionResults
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display no effect text?
 * @default false
 *
 * @param ShowCritical:eval
 * @text Show Critical?
 * @parent ActionResults
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display critical text?
 * @default false
 *
 * @param ShowMissEvasion:eval
 * @text Show Miss/Evasion?
 * @parent ActionResults
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display miss/evasion text?
 * @default false
 *
 * @param ShowHpDmg:eval
 * @text Show HP Damage?
 * @parent ActionResults
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display HP Damage text?
 * @default false
 *
 * @param ShowMpDmg:eval
 * @text Show MP Damage?
 * @parent ActionResults
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display MP Damage text?
 * @default false
 *
 * @param ShowTpDmg:eval
 * @text Show TP Damage?
 * @parent ActionResults
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display TP Damage text?
 * @default false
 *
 * @param DisplayStates
 * @text Display States
 *
 * @param ShowAddedState:eval
 * @text Show Added States?
 * @parent DisplayStates
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display added states text?
 * @default false
 *
 * @param ShowRemovedState:eval
 * @text Show Removed States?
 * @parent DisplayStates
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display removed states text?
 * @default false
 *
 * @param ShowCurrentState:eval
 * @text Show Current States?
 * @parent DisplayStates
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display the currently affected state text?
 * @default false
 *
 * @param ShowAddedBuff:eval
 * @text Show Added Buffs?
 * @parent DisplayStates
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display added buffs text?
 * @default false
 *
 * @param ShowAddedDebuff:eval
 * @text Show Added Debuffs?
 * @parent DisplayStates
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display added debuffs text?
 * @default false
 *
 * @param ShowRemovedBuff:eval
 * @text Show Removed Buffs?
 * @parent DisplayStates
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Display removed de/buffs text?
 * @default false
 *
 */
/* ----------------------------------------------------------------------------
 * Battleback Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~Battleback:
 *
 * @param DefaultStyle:str
 * @text Default Style
 * @type select
 * @option MZ (MZ's default style)
 * @value MZ
 * @option 1:1 (No Scaling)
 * @value 1:1
 * @option Scale To Fit (Scale to screen size)
 * @value ScaleToFit
 * @option Scale Down (Scale Downward if Larger than Screen)
 * @value ScaleDown
 * @option Scale Up (Scale Upward if Smaller than Screen)
 * @value ScaleUp
 * @desc The default scaling style used for battlebacks.
 * @default MZ
 *
 * @param jsOneForOne:func
 * @text JS: 1:1
 * @type note
 * @desc This code gives you control over the scaling for this style.
 * @default "// Adjust Size\nthis.width = Graphics.width;\nthis.height = Graphics.height;\n\n// Adjust Scale\nconst scale = 1.0;\nthis.scale.x = scale;\nthis.scale.y = scale;\n\n// Adjust Coordinates\nthis.x = 0;\nthis.y = 0;"
 *
 * @param jsScaleToFit:func
 * @text JS: Scale To Fit
 * @type note
 * @desc This code gives you control over the scaling for this style.
 * @default "// Adjust Size\nthis.width = Graphics.width;\nthis.height = Graphics.height;\n\n// Adjust Scale\nconst ratioX = this.width / this.bitmap.width;\nconst ratioY = this.height / this.bitmap.height;\nconst scale = Math.max(ratioX, ratioY);\nthis.scale.x = scale;\nthis.scale.y = scale;\n\n// Adjust Coordinates\nthis.x = (Graphics.width - this.width) / 2;\nthis.y = Graphics.height - this.height;"
 *
 * @param jsScaleDown:func
 * @text JS: Scale Down
 * @type note
 * @desc This code gives you control over the scaling for this style.
 * @default "// Adjust Size\nthis.width = Graphics.width;\nthis.height = Graphics.height;\n\n// Adjust Scale\nconst ratioX = Math.min(1, this.width / this.bitmap.width);\nconst ratioY = Math.min(1, this.height / this.bitmap.height);\nconst scale = Math.max(ratioX, ratioY);\nthis.scale.x = scale;\nthis.scale.y = scale;\n\n// Adjust Coordinates\nthis.x = (Graphics.width - this.width) / 2;\nthis.y = Graphics.height - this.height;"
 *
 * @param jsScaleUp:func
 * @text JS: Scale Up
 * @type note
 * @desc This code gives you control over the scaling for this style.
 * @default "// Adjust Size\nthis.width = Graphics.width;\nthis.height = Graphics.height;\n\n// Adjust Scale\nconst ratioX = Math.max(1, this.width / this.bitmap.width);\nconst ratioY = Math.max(1, this.height / this.bitmap.height);\nconst scale = Math.max(ratioX, ratioY);\nthis.scale.x = scale;\nthis.scale.y = scale;\n\n// Adjust Coordinates\nthis.x = (Graphics.width - this.width) / 2;\nthis.y = Graphics.height - this.height;"
 *
 */
/* ----------------------------------------------------------------------------
 * Party Command Window Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~PartyCmd:
 *
 * @param Cmd
 * @text Command Window
 *
 * @param CmdStyle:str
 * @text Style
 * @parent Cmd
 * @type select
 * @option Text Only
 * @value text
 * @option Icon Only
 * @value icon
 * @option Icon + Text
 * @value iconText
 * @option Automatic
 * @value auto
 * @desc How do you wish to draw commands in the Party Command Window?
 * @default auto
 *
 * @param CmdTextAlign:str
 * @text Text Align
 * @parent Cmd
 * @type combo
 * @option left
 * @option center
 * @option right
 * @desc Text alignment for the Party Command Window.
 * @default left
 *
 * @param CmdIconFight:num
 * @text Fight Icon
 * @parent Cmd
 * @desc The icon used for the Fight command.
 * @default 76
 *
 * @param CommandAddAutoBattle:eval
 * @text Add Auto Battle?
 * @parent Cmd
 * @type boolean
 * @on Add
 * @off Don't
 * @desc Add the "Auto Battle" command to the Command Window?
 * @default true
 *
 * @param CmdIconAutoBattle:num
 * @text Auto Battle Icon
 * @parent CommandAddAutoBattle:eval
 * @desc The icon used for the Auto Battle command.
 * @default 78
 *
 * @param CmdTextAutoBattle:str
 * @text Auto Battle Text
 * @parent CommandAddAutoBattle:eval
 * @desc The text used for the Auto Battle command.
 * @default Auto
 *
 * @param CommandAddOptions:eval
 * @text Add Options?
 * @parent Cmd
 * @type boolean
 * @on Add
 * @off Don't
 * @desc Add the "Options" command to the Command Window?
 * @default true
 *
 * @param CmdIconOptions:num
 * @text Options Icon
 * @parent CommandAddOptions:eval
 * @desc The icon used for the Options command.
 * @default 83
 *
 * @param ActiveTpbOptionsMessage:str
 * @text Active TPB Message
 * @parent CommandAddOptions:eval
 * @desc Message that will be displayed when selecting options during the middle of an action.
 * @default Options Menu queued after action is complete.
 *
 * @param CmdIconEscape:num
 * @text Escape Icon
 * @parent Cmd
 * @desc The icon used for the Escape command.
 * @default 82
 *
 * @param Access
 *
 * @param SkipPartyCmd:eval
 * @text Skip Party Command
 * @parent Access
 * @type boolean
 * @on Skip
 * @off Don't
 * @desc DTB: Skip Party Command selection on turn start.
 * TPB: Skip Party Command selection at battle start.
 * @default true
 *
 * @param DisablePartyCmd:eval
 * @text Disable Party Command
 * @parent Access
 * @type boolean
 * @on Disable
 * @off Don't
 * @desc Disable the Party Command Window entirely?
 * @default false
 *
 * @param HelpWindow
 * @text Help Window
 *
 * @param HelpFight:str
 * @text Fight
 * @parent HelpWindow
 * @desc Text displayed when selecting a skill type.
 * %1 - Skill Type Name
 * @default Select actions to fight.
 *
 * @param HelpAutoBattle:str
 * @text Auto Battle
 * @parent HelpWindow
 * @desc Text displayed when selecting the Auto Battle command.
 * @default Sets party to Auto Battle mode.
 *
 * @param HelpOptions:str
 * @text Options
 * @parent HelpWindow
 * @desc Text displayed when selecting the Options command.
 * @default Opens up the Options Menu.
 *
 * @param HelpEscape:str
 * @text Escape
 * @parent HelpWindow
 * @desc Text displayed when selecting the escape command.
 * @default Attempt to escape the battle.
 *
 */
/* ----------------------------------------------------------------------------
 * Actor Command Window Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~ActorCmd:
 *
 * @param Cmd
 * @text Command Window
 *
 * @param CmdStyle:str
 * @text Style
 * @parent Cmd
 * @type select
 * @option Text Only
 * @value text
 * @option Icon Only
 * @value icon
 * @option Icon + Text
 * @value iconText
 * @option Automatic
 * @value auto
 * @desc How do you wish to draw commands in the Actor Command Window?
 * @default auto
 *
 * @param CmdTextAlign:str
 * @text Text Align
 * @parent Cmd
 * @type combo
 * @option left
 * @option center
 * @option right
 * @desc Text alignment for the Actor Command Window.
 * @default left
 *
 * @param CmdIconItem:num
 * @text Item Icon
 * @parent Cmd
 * @desc The icon used for the Item command.
 * @default 176
 *
 * @param IconStypeNorm:num
 * @text Normal SType Icon
 * @parent Cmd
 * @desc Icon used for normal skill types that aren't assigned any
 * icons. Ignore if VisuMZ_1_SkillsStatesCore is installed.
 * @default 78
 *
 * @param IconStypeMagic:num
 * @text Magic SType Icon
 * @parent Cmd
 * @desc Icon used for magic skill types that aren't assigned any
 * icons. Ignore if VisuMZ_1_SkillsStatesCore is installed.
 * @default 79
 *
 * @param BattleCmd
 * @text Battle Commands
 *
 * @param BattleCmdList:arraystr
 * @text Command List
 * @parent BattleCmd
 * @type combo[]
 * @option attack
 * @option skills
 * @option guard
 * @option item
 * @option party
 * @option escape
 * @option auto battle
 * @option stypes
 * @option stype: x
 * @option stype: name
 * @option all skills
 * @option skill: x
 * @option skill: name
 * @option combat log
 * @option talk
 * @option weapon swap
 * @desc List of battle commands that appear by default
 * if the <Battle Commands> notetag isn't present.
 * @default ["attack","skills","guard","party","item"]
 *
 * @param ShowCosts:eval
 * @text Show Command Costs
 * @parent BattleCmd
 * @type boolean
 * @on Show Costs
 * @off Hide Costs
 * @desc If a battle command has a resource cost, show it?
 * @default true
 *
 * @param HelpWindow
 * @text Help Window
 *
 * @param HelpSkillType:str
 * @text Skill Types
 * @parent HelpWindow
 * @desc Text displayed when selecting a skill type.
 * %1 - Skill Type Name
 * @default Opens up a list of skills under the \C[16]%1\C[0] category.
 *
 * @param HelpItem:str
 * @text Items
 * @parent HelpWindow
 * @desc Text displayed when selecting the item command.
 * @default Opens up a list of items that you can use.
 *
 * @param HelpEscape:str
 * @text Escape
 * @parent HelpWindow
 * @desc Text displayed when selecting the escape command.
 * @default Attempt to escape the battle.
 *
 * @param HelpAutoBattle:str
 * @text Auto Battle
 * @parent HelpWindow
 * @desc Text displayed when selecting the Auto Battle command.
 * @default Automatically choose an action suitable for combat.
 *
 * @param HelpParty:str
 * @text Party
 * @parent HelpWindow
 * @desc Text displayed when selecting the Party command.
 * Requires 
 * @default Automatically choose an action suitable for combat.
 *
 */
/* ----------------------------------------------------------------------------
 * Multi-Target Window Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~MultiTarget:
 *
 * @param Properties
 * 
 * @param WindowWidth:num
 * @text Window Width
 * @parent Properties
 * @type number
 * @min 1
 * @desc What is the width used for the Multi-Target Window?
 * @default 280
 *
 * @param BgType:num
 * @text Background Type
 * @parent Properties
 * @type select
 * @option 0 - Window
 * @value 0
 * @option 1 - Dim
 * @value 1
 * @option 2 - Transparent
 * @value 2
 * @desc Select background type for these windows.
 * @default 2
 *
 * @param ShowButton:eval
 * @text Show Button
 * @parent Properties
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Shows the keyboard/controller button to press?
 * Requires VisuMZ_0_CoreEngine!
 * @default true
 * 
 * @param Vocab
 *
 * @param AllActorsText:str
 * @text All Actors
 * @parent Vocab
 * @desc What is the text used for the "All Actors" button?
 * @default All Allies
 *
 * @param AllEnemiesText:str
 * @text All Enemies
 * @parent Vocab
 * @desc What is the text used for the "All Enemies" button?
 * @default All Enemies
 * 
 * @param Offsets
 * 
 * @param ActorOffsets
 * @text Actor Offsets
 * @parent Offsets
 *
 * @param ActorOffsetX:num
 * @text Offset X
 * @parent ActorOffsets
 * @desc Offsets the button's x position.
 * Negative: left. Positive: right.
 * @default +0
 *
 * @param ActorOffsetY:num
 * @text Offset Y
 * @parent ActorOffsets
 * @desc Offsets the button's y position.
 * Negative: up. Positive: down.
 * @default +0
 * 
 * @param EnemyOffsets
 * @text Enemy Offsets
 * @parent Offsets
 *
 * @param EnemyOffsetX:num
 * @text Offset X
 * @parent EnemyOffsets
 * @desc Offsets the button's x position.
 * Negative: left. Positive: right.
 * @default +0
 *
 * @param EnemyOffsetY:num
 * @text Offset Y
 * @parent EnemyOffsets
 * @desc Offsets the button's y position.
 * Negative: up. Positive: down.
 * @default +0
 *
 */
/* ----------------------------------------------------------------------------
 * Actor Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~Actor:
 *
 * @param Flinch
 *
 * @param FlinchDistanceX:num
 * @text Flinch Distance X
 * @parent Flinch
 * @desc The normal X distance when flinching.
 * @default 12
 *
 * @param FlinchDistanceY:num
 * @text Flinch Distance Y
 * @parent Flinch
 * @desc The normal Y distance when flinching.
 * @default 0
 *
 * @param FlinchDuration:num
 * @text Flinch Duration
 * @parent Flinch
 * @desc The number of frames for a flinch to complete.
 * @default 6
 *
 * @param ShakeFlinch:eval
 * @text Shake Flinch
 * @parent Flinch
 * @type boolean
 * @on Enable
 * @off Disable
 * @desc Perform a shake flinch when taking damage?
 * @default false
 *
 * @param ShakeFlinchDuration:num
 * @text Max Duration
 * @parent ShakeFlinch:eval
 * @type number
 * @min 1
 * @desc Maximum duration a shake flinch can have.
 * This is reduced relative to the amount of damage taken.
 * @default 24
 *
 * @param ShakeFlinchPower:num
 * @text Max Power
 * @parent ShakeFlinch:eval
 * @type number
 * @min 1
 * @desc The power rating of a shake flinch at full damage.
 * This is reduced relative to the amount of damage taken.
 * @default 48
 *
 * @param SvBattlers
 * @text Sideview Battlers
 *
 * @param AnchorX:num
 * @text Anchor: X
 * @parent SvBattlers
 * @desc Default X anchor for Sideview Battlers.
 * Use values between 0 and 1 to be safe.
 * @default 0.5
 *
 * @param AnchorY:num
 * @text Anchor: Y
 * @parent SvBattlers
 * @desc Default Y anchor for Sideview Battlers.
 * Use values between 0 and 1 to be safe.
 * @default 1.0
 *
 * @param ChantStyle:eval
 * @text Chant Style
 * @parent SvBattlers
 * @type boolean
 * @on Magical Hit Type
 * @off Magical Skill Type
 * @desc What determines the chant motion?
 * Hit type or skill type?
 * @default true
 *
 * @param OffsetX:num
 * @text Offset: X
 * @parent SvBattlers
 * @desc Offsets X position where actor is positioned.
 * Negative values go left. Positive values go right.
 * @default 0
 *
 * @param OffsetY:num
 * @text Offset: Y
 * @parent SvBattlers
 * @desc Offsets Y position where actor is positioned.
 * Negative values go up. Positive values go down.
 * @default 0
 *
 * @param MotionSpeed:num
 * @text Motion Speed
 * @parent SvBattlers
 * @type number
 * @min 1
 * @desc The number of frames in between each motion.
 * @default 12
 *
 * @param PrioritySortActive:eval
 * @text Priority: Active
 * @parent SvBattlers
 * @type boolean
 * @on Active Actor over All Else
 * @off Active Actor is Sorted Normally
 * @desc Place the active actor on top of actor and enemy sprites.
 * @default false
 *
 * @param PrioritySortActors:eval
 * @text Priority: Actors
 * @parent SvBattlers
 * @type boolean
 * @on Actors over Enemies
 * @off Sort by Y Position
 * @desc Prioritize actors over enemies when placing sprites on top
 * of each other.
 * @default true
 *
 * @param Shadow:eval
 * @text Shadow Visible
 * @parent SvBattlers
 * @type boolean
 * @on Visible
 * @off Hidden
 * @desc Show or hide the shadow for Sideview Battlers.
 * @default true
 *
 * @param SmoothImage:eval
 * @text Smooth Image
 * @parent SvBattlers
 * @type boolean
 * @on Smooth
 * @off Pixelated
 * @desc Smooth out the battler images or pixelate them?
 * @default false
 *
 * @param HomePosJS:func
 * @text JS: Home Position
 * @parent SvBattlers
 * @type note
 * @desc Code used to calculate the home position of actors.
 * @default "// Declare Constants\nconst sprite = this;\nconst actor = this._actor;\nconst index = arguments[0];\n\n// Make Calculations\nlet x = Math.round((Graphics.width / 2) + 192)\nx -= Math.floor((Graphics.width - Graphics.boxWidth) / 2);\nx += index * 32;\nlet y = (Graphics.height - 200) - ($gameParty.maxBattleMembers() * 48);\ny -= Math.floor((Graphics.height - Graphics.boxHeight) / 2);\ny += index * 48;\n\n// Home Position Offsets\nconst offsetNote = /<SIDEVIEW HOME OFFSET:[ ]([\\+\\-]\\d+),[ ]([\\+\\-]\\d+)>/i;\nconst xOffsets = actor.traitObjects().map((obj) => (obj && obj.note.match(offsetNote) ? Number(RegExp.$1) : 0));\nconst yOffsets = actor.traitObjects().map((obj) => (obj && obj.note.match(offsetNote) ? Number(RegExp.$2) : 0));\nx = xOffsets.reduce((r, offset) => r + offset, x);\ny = yOffsets.reduce((r, offset) => r + offset, y);\n\n// Set Home Position\nthis.setHome(x, y);"
 *
 */
/* ----------------------------------------------------------------------------
 * Enemy Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~Enemy:
 *
 * @param Visual
 *
 * @param AttackAnimation:num
 * @text Attack Animation
 * @parent Visual
 * @type animation
 * @desc Default attack animation used for enemies.
 * Use <Attack Animation: x> for custom animations.
 * @default 1
 *
 * @param EmergeText:eval
 * @text Emerge Text
 * @parent Visual
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Show or hide the 'Enemy emerges!' text at the start of battle.
 * @default false
 *
 * @param OffsetX:num
 * @text Offset: X
 * @parent Visual
 * @desc Offsets X position where enemy is positioned.
 * Negative values go left. Positive values go right.
 * @default 0
 *
 * @param OffsetY:num
 * @text Offset: Y
 * @parent Visual
 * @desc Offsets Y position where enemy is positioned.
 * Negative values go up. Positive values go down.
 * @default 0
 *
 * @param SmoothImage:eval
 * @text Smooth Image
 * @parent Visual
 * @type boolean
 * @on Smooth
 * @off Pixelated
 * @desc Smooth out the battler images or pixelate them?
 * @default true
 *
 * @param SelectWindow
 * @text Select Window
 *
 * @param LastSelected:eval
 * @text Any: Last Selected
 * @parent SelectWindow
 * @type boolean
 * @on Last Selected
 * @off FV/SV Priority
 * @desc Prioritize last selected enemy over front view or sideview settings?
 * @default true
 *
 * @param FrontViewSelect:eval
 * @text FV: Right Priority
 * @parent SelectWindow
 * @type boolean
 * @on Right
 * @off Normal
 * @desc If using frontview, auto select the enemy furthest right.
 * @default false
 *
 * @param SideviewSelect:eval
 * @text SV: Right Priority
 * @parent SelectWindow
 * @type boolean
 * @on Right
 * @off Normal
 * @desc If using sideview, auto select the enemy furthest right.
 * @default true
 * 
 * @param Name
 *
 * @param NameLegacy:eval
 * @text Legacy Option
 * @parent Name
 * @type boolean
 * @on Legacy Version
 * @off New Version (Sprite)
 * @desc Use the legacy version (window) or new version (sprite).
 * WARNING: Legacy version is no longer supported for bugs.
 * @default false
 *
 * @param NameFontSize:num
 * @text Font Size
 * @parent Name
 * @desc Font size used for enemy names.
 * @default 22
 * 
 * @param NamePosition
 * @text Name Position
 * @parent Name
 *
 * @param NameOffsetX:num
 * @text Offset X
 * @parent NamePosition
 * @desc Offset the enemy name's X position by this much.
 * Negative goes left. Positive goes right.
 * @default 0
 *
 * @param NameOffsetY:num
 * @text Offset Y
 * @parent NamePosition
 * @desc Offset the enemy name's Y position by this much.
 * Negative goes up. Positive goes down.
 * @default 0
 *
 * @param NameAttachStateIcon:eval
 * @text Attach States
 * @parent Name
 * @type boolean
 * @on Attach
 * @off Normal Position
 * @desc Attach the enemy's state icon to the enemy name?
 * @default false
 *
 * @param AttachStateOffsetX:num
 * @text Attach: Offset X
 * @parent NameAttachStateIcon:eval
 * @desc How much to offset the attached icon's X position by?
 * Negative goes left. Positive goes right.
 * @default +0
 *
 * @param AttachStateOffsetY:num
 * @text Attach: Offset Y
 * @parent NameAttachStateIcon:eval
 * @desc How much to offset the attached icon's Y position by?
 * Negative goes up. Positive goes down.
 * @default +0
 * 
 * @param NameVisibility
 * @text Name Visibility
 * @parent Name
 *
 * @param NameAlwaysHidden:eval
 * @text Always Hidden
 * @parent NameVisibility
 * @type boolean
 * @on Always Hidden
 * @off No Priority
 * @desc Determines if the enemy name will always be visible.
 * Highest priority.
 * @default false
 *
 * @param NameAlwaysVisible:eval
 * @text Always Visible
 * @parent NameVisibility
 * @type boolean
 * @on Always Visible
 * @off Hide when Unselected
 * @desc Determines if the enemy name will always be visible.
 * Medium priority.
 * @default false
 *
 * @param NameAlwaysSelectOnly:eval
 * @text By Selection?
 * @parent NameVisibility
 * @type boolean
 * @on Visible when Selected
 * @off Visible when Targeting
 * @desc Determines the conditions for enemy name visibility.
 * Lowest priority.
 * @default false
 *
 * @param SvBattlers
 * @text Sideview Battlers
 *
 * @param AllowCollapse:eval
 * @text Allow Collapse
 * @parent SvBattlers
 * @type boolean
 * @on Allow
 * @off Don't
 * @desc Causes defeated enemies with SV Battler graphics
 * to "fade away" when defeated?
 * @default false
 *
 * @param AnchorX:num
 * @text Anchor: X
 * @parent SvBattlers
 * @desc Default X anchor for Sideview Battlers.
 * Use values between 0 and 1 to be safe.
 * @default 0.5
 *
 * @param AnchorY:num
 * @text Anchor: Y
 * @parent SvBattlers
 * @desc Default Y anchor for Sideview Battlers.
 * Use values between 0 and 1 to be safe.
 * @default 1.0
 *
 * @param MotionIdle:str
 * @text Motion: Idle
 * @parent SvBattlers
 * @type combo
 * @option walk
 * @option wait
 * @option chant
 * @option guard
 * @option damage
 * @option evade
 * @option thrust
 * @option swing
 * @option missile
 * @option skill
 * @option spell
 * @option item
 * @option escape
 * @option victory
 * @option dying
 * @option abnormal
 * @option sleep
 * @option dead
 * @desc Sets default idle animation used by Sideview Battlers.
 * @default walk
 *
 * @param Shadow:eval
 * @text Shadow Visible
 * @parent SvBattlers
 * @type boolean
 * @on Visible
 * @off Hidden
 * @desc Show or hide the shadow for Sideview Battlers.
 * @default true
 *
 * @param Width:num
 * @text Size: Width
 * @parent SvBattlers
 * @type number
 * @min 1
 * @desc Default width for enemies that use Sideview Battlers.
 * @default 64
 *
 * @param Height:num
 * @text Size: Height
 * @parent SvBattlers
 * @type number
 * @min 1
 * @desc Default height for enemies that use Sideview Battlers.
 * @default 64
 *
 * @param WtypeId:num
 * @text Weapon Type
 * @parent SvBattlers
 * @type number
 * @min 0
 * @desc Sets default weapon type used by Sideview Battlers.
 * Use 0 for Bare Hands.
 * @default 0
 *
 */
/* ----------------------------------------------------------------------------
 * HP Gauge Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~HpGauge:
 *
 * @param Display
 * @text Show Gauges For
 *
 * @param ShowActorGauge:eval
 * @text Actors
 * @parent Display
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Show HP Gauges over the actor sprites' heads?
 * Requires SV Actors to be visible.
 * @default true
 *
 * @param ShowEnemyGauge:eval
 * @text Enemies
 * @parent Display
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Show HP Gauges over the enemy sprites' heads?
 * Can be bypassed with <Hide HP Gauge> notetag.
 * @default true
 *
 * @param RequiresDefeat:eval
 * @text Requires Defeat?
 * @parent ShowEnemyGauge:eval
 * @type boolean
 * @on Require Defeat First
 * @off No Requirement
 * @desc Requires defeating the enemy once to show HP Gauge?
 * Can be bypassed with <Show HP Gauge> notetag.
 * @default true
 *
 * @param BTestBypass:eval
 * @text Battle Test Bypass?
 * @parent RequiresDefeat:eval
 * @type boolean
 * @on Bypass
 * @off Don't Bypass
 * @desc Bypass the defeat requirement in battle test?
 * @default true
 *
 * @param Settings
 *
 * @param AniDuration:num
 * @text Animation Duration
 * @parent Settings
 * @type number
 * @min 1
 * @desc How many frames should gauges animate themselves?
 * Default: 20 frames.
 * @default 20
 *
 * @param AnchorX:num
 * @text Anchor X
 * @parent Settings
 * @desc Where do you want the HP Gauge sprite's anchor X to be?
 * Use values between 0 and 1 to be safe.
 * @default 0.5
 *
 * @param AnchorY:num
 * @text Anchor Y
 * @parent Settings
 * @desc Where do you want the HP Gauge sprite's anchor Y to be?
 * Use values between 0 and 1 to be safe.
 * @default 1.0
 *
 * @param Scale:num
 * @text Scale
 * @parent Settings
 * @desc How large/small do you want the HP Gauge to be scaled?
 * @default 0.5
 *
 * @param OffsetX:num
 * @text Offset X
 * @parent Settings
 * @desc How many pixels to offset the HP Gauge's X by?
 * @default 0
 *
 * @param OffsetY:num
 * @text Offset Y
 * @parent Settings
 * @desc How many pixels to offset the HP Gauge's Y by?
 * @default -3
 *
 * @param Options
 * @text Options
 *
 * @param AddHpGaugeOption:eval
 * @text Add Option?
 * @parent Options
 * @type boolean
 * @on Add
 * @off Don't Add
 * @desc Add the 'Show HP Gauge' option to the Options menu?
 * @default true
 *
 * @param AdjustRect:eval
 * @text Adjust Window Height
 * @parent Options
 * @type boolean
 * @on Adjust
 * @off Don't
 * @desc Automatically adjust the options window height?
 * @default true
 *
 * @param Name:str
 * @text Option Name
 * @parent Options
 * @desc Command name of the option.
 * @default Show HP Gauge
 *
 */
/* ----------------------------------------------------------------------------
 * Action Sequence Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~ActionSequence:
 *
 * @param AutoSequences
 * @text Automatic Sequences
 *
 * @param AutoMeleeSolo:eval
 * @text Melee Single Target
 * @parent AutoSequences
 * @type boolean
 * @on Allow
 * @off Ignore
 * @desc Allow this auto sequence for physical, single target actions?
 * @default true
 *
 * @param AutoMeleeAoE:eval
 * @text Melee Multi Target
 * @parent AutoSequences
 * @type boolean
 * @on Allow
 * @off Ignore
 * @desc Allow this auto sequence for physical, multi-target actions?
 * @default true
 *
 * @param QoL
 * @text Quality of Life
 *
 * @param AutoNotetag:eval
 * @text Auto Notetag
 * @parent QoL
 * @type boolean
 * @on Automatic
 * @off Manual
 * @desc Automatically apply the <Custom Action Sequence> notetag
 * effect to any item or skill that has a Common Event?
 * @default false
 *
 * @param CastAnimations
 * @text Cast Animations
 *
 * @param CastCertain:num
 * @text Certain Hit
 * @parent CastAnimations
 * @type animation
 * @desc Cast animation for Certain Hit skills.
 * @default 120
 *
 * @param CastPhysical:num
 * @text Physical
 * @parent CastAnimations
 * @type animation
 * @desc Cast animation for Physical skills.
 * @default 52
 *
 * @param CastMagical:num
 * @text Magical
 * @parent CastAnimations
 * @type animation
 * @desc Cast animation for Magical skills.
 * @default 51
 *
 * @param CounterReflection
 * @text Counter/Reflect
 *
 * @param CounterPlayback:eval
 * @text Counter Back
 * @parent CounterReflection
 * @type boolean
 * @on Play Back
 * @off Ignore
 * @desc Play back the attack animation used?
 * @default true
 *
 * @param ReflectAnimation:num
 * @text Reflect Animation
 * @parent CounterReflection
 * @type animation
 * @desc Animation played when an action is reflected.
 * @default 53
 *
 * @param ReflectPlayback:eval
 * @text Reflect Back
 * @parent CounterReflection
 * @type boolean
 * @on Play Back
 * @off Ignore
 * @desc Play back the attack animation used?
 * @default true
 *
 * @param Stepping
 *
 * @param MeleeDistance:num
 * @text Melee Distance
 * @parent Stepping
 * @desc Minimum distance in pixels for Movement Action Sequences.
 * @default 24
 *
 * @param StepDistanceX:num
 * @text Step Distance X
 * @parent Stepping
 * @desc The normal X distance when stepping forward.
 * @default 48
 *
 * @param StepDistanceY:num
 * @text Step Distance Y
 * @parent Stepping
 * @desc The normal Y distance when stepping forward.
 * @default 0
 *
 * @param StepDuration:num
 * @text Step Duration
 * @parent Stepping
 * @desc The number of frames for a stepping action to complete.
 * @default 12
 *
 */
/* ----------------------------------------------------------------------------
 * Projectile Start Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~ProjectileStart:
 * 
 * @param Type:str
 * @text Type
 * @type select
 * @option Target - Start from battler target(s)
 * @value target
 * @option Point - Start from a point on the screen
 * @value point
 * @desc Select where the projectile should start from.
 * @default target
 * 
 * @param Targets:arraystr
 * @text Target(s)
 * @parent Type:str
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) to start the projectile from.
 * @default ["user"]
 * 
 * @param TargetCenter:eval
 * @text Centralize
 * @parent Targets:arraystr
 * @type boolean
 * @on Center Projectile
 * @off Create Each
 * @desc Create one projectile at the center of the targets?
 * Or create a projectile for each target?
 * @default false
 * 
 * @param TargetLocation:str
 * @text Target Location
 * @parent Targets:arraystr
 * @type combo
 * @option front head
 * @option front center
 * @option front base
 * @option middle head
 * @option middle center
 * @option middle base
 * @option back head
 * @option back center
 * @option back base
 * @desc Select which part of the target to send the projectile from.
 * @default middle center
 * 
 * @param PointX:eval
 * @text Point X
 * @parent Type:str
 * @desc Insert the X coordinate to start the projectile at.
 * You may use JavaScript code.
 * @default Graphics.width / 2
 * 
 * @param PointY:eval
 * @text Point Y
 * @parent Type:str
 * @desc Insert the Y coordinate to start the projectile at.
 * You may use JavaScript code.
 * @default Graphics.height / 2
 * 
 * @param OffsetX:eval
 * @text Offset X
 * @desc Insert how many pixels to offset the X coordinate by.
 * You may use JavaScript code.
 * @default +0
 * 
 * @param OffsetY:eval
 * @text Offset Y
 * @desc Insert how many pixels to offset the Y coordinate by.
 * You may use JavaScript code.
 * @default +0
 *
 */
/* ----------------------------------------------------------------------------
 * Projectile Goal Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~ProjectileGoal:
 * 
 * @param Type:str
 * @text Type
 * @type select
 * @option Target - Goal is battler target(s)
 * @value target
 * @option Point - Goal is a point on the screen
 * @value point
 * @desc Select where the projectile should go to.
 * @default target
 * 
 * @param Targets:arraystr
 * @text Target(s)
 * @parent Type:str
 * @type combo[]
 * @option user
 * @option current target
 * @option prev target
 * @option next target
 * @option all targets
 * @option focus
 * @option not focus
 * @option
 * @option special
 * @option special x
 * @option 
 * @option alive friends
 * @option alive friends not user
 * @option alive friends not target
 * @option dead friends
 * @option friend index x
 * @option 
 * @option alive opponents
 * @option alive opponents not target
 * @option dead opponents
 * @option opponent index x
 * @option 
 * @option alive actors
 * @option alive actors not user
 * @option alive actors not target
 * @option dead actors
 * @option actor index x
 * @option actor ID x
 * @option 
 * @option alive enemies
 * @option alive enemies not user
 * @option alive enemies not target
 * @option dead enemies
 * @option enemy index x
 * @option enemy ID x
 * @option 
 * @option alive battlers
 * @option alive battlers not user
 * @option alive battlers not target
 * @option dead battlers
 * @option 
 * @desc Select which unit(s) for projectile to go to.
 * @default ["all targets"]
 * 
 * @param TargetCenter:eval
 * @text Centralize
 * @parent Targets:arraystr
 * @type boolean
 * @on Center Projectile
 * @off Create Each
 * @desc Set goal in the center of targets?
 * Or create a projectile to go to each target?
 * @default false
 * 
 * @param TargetLocation:str
 * @text Target Location
 * @parent Targets:arraystr
 * @type combo
 * @option front head
 * @option front center
 * @option front base
 * @option middle head
 * @option middle center
 * @option middle base
 * @option back head
 * @option back center
 * @option back base
 * @desc Select which part of the target to send the projectile at.
 * @default middle center
 * 
 * @param PointX:eval
 * @text Point X
 * @parent Type:str
 * @desc Insert the X coordinate to send the projectile to.
 * You may use JavaScript code.
 * @default Graphics.width / 2
 * 
 * @param PointY:eval
 * @text Point Y
 * @parent Type:str
 * @desc Insert the Y coordinate to send the projectile to.
 * You may use JavaScript code.
 * @default Graphics.height / 2
 * 
 * @param OffsetX:eval
 * @text Offset X
 * @desc Insert how many pixels to offset the X coordinate by.
 * You may use JavaScript code.
 * @default +0
 * 
 * @param OffsetY:eval
 * @text Offset Y
 * @desc Insert how many pixels to offset the Y coordinate by.
 * You may use JavaScript code.
 * @default +0
 *
 */
/* ----------------------------------------------------------------------------
 * Projectile Extra Animation Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~ProjectileExAni:
 * 
 * @param AutoAngle:eval
 * @text Auto Angle?
 * @parent Settings
 * @type boolean
 * @on Automatically Angle
 * @off Normal
 * @desc Automatically angle the projectile to tilt the direction it's moving?
 * @default true
 * 
 * @param AngleOffset:eval
 * @text Angle Offset
 * @desc Alter the projectile's tilt by this many degrees.
 * @default +0
 * 
 * @param Arc:eval
 * @text Arc Peak
 * @parent Settings
 * @desc This is the height of the projectile's trajectory arc
 * in pixels.
 * @default 0
 *
 * @param EasingType:str
 * @text Easing
 * @parent Settings
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type to apply to the projectile's trajectory.
 * @default Linear
 * 
 * @param Spin:eval
 * @text Spin Speed
 * @parent Settings
 * @desc Determine how much angle the projectile spins per frame.
 * Does not work well with "Auto Angle".
 * @default +0.0
 * 
 * @param Emulate
 * @text Effect Emulation
 * 
 * @param EmulateActionEffect:eval
 * @text Action Effect?
 * @parent Emulate
 * @type boolean
 * @on Emulate
 * @off Don't Emulate
 * @desc Emulate current Action Effect when projectile reaches
 * target? Only works with start/goal targets.
 * @default false
 * 
 * @param EmulateItemEffect:eval
 * @text Item Effect ID
 * @parent Emulate
 * @type item
 * @desc Emulate an Item Effect when projectile reaches target?
 * Use 0 to not use. Only works with start/goal targets.
 * @default 0
 * 
 * @param EmulateSkillEffect:eval
 * @text Skill Effect ID
 * @parent Emulate
 * @type skill
 * @desc Emulate a Skill Effect when projectile reaches target?
 * Use 0 to not use. Only works with start/goal targets.
 * @default 0
 *
 * @param OnceParallel:num
 * @text Common Event ID
 * @parent Emulate
 * @type common_event
 * @desc Plays a Once Parallel Common Event upon reaching target.
 * Use 0 to not use. Works regardless of start/goal targets.
 * @default 0
 *
 */
/* ----------------------------------------------------------------------------
 * Projectile Extra Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~ProjectileExtra:
 * 
 * @param AutoAngle:eval
 * @text Auto Angle?
 * @parent Settings
 * @type boolean
 * @on Automatically Angle
 * @off Normal
 * @desc Automatically angle the projectile to tilt the direction it's moving?
 * @default true
 * 
 * @param AngleOffset:eval
 * @text Angle Offset
 * @desc Alter the projectile's tilt by this many degrees.
 * @default +0
 * 
 * @param Arc:eval
 * @text Arc Peak
 * @parent Settings
 * @desc This is the height of the projectile's trajectory arc
 * in pixels.
 * @default 0
 *
 * @param BlendMode:num
 * @text Blend Mode
 * @type select
 * @option 0 - Normal
 * @value 0
 * @option 1 - Additive
 * @value 1
 * @option 2 - Multiply
 * @value 2
 * @option 3 - Screen
 * @value 3
 * @desc What kind of blend mode do you wish to apply to the projectile?
 * @default 0
 *
 * @param EasingType:str
 * @text Easing
 * @parent Settings
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type to apply to the projectile's trajectory.
 * @default Linear
 * 
 * @param Hue:eval
 * @text Hue
 * @parent Settings
 * @desc Adjust the hue of the projectile.
 * Insert a number between 0 and 360.
 * @default 0
 * 
 * @param Scale:eval
 * @text Scale
 * @parent Settings
 * @desc Adjust the size scaling of the projectile.
 * Use decimals for exact control.
 * @default 1.0
 * 
 * @param Spin:eval
 * @text Spin Speed
 * @parent Settings
 * @desc Determine how much angle the projectile spins per frame.
 * Does not work well with "Auto Angle".
 * @default +0.0
 * 
 * @param Emulate
 * @text Effect Emulation
 * 
 * @param EmulateActionEffect:eval
 * @text Action Effect?
 * @parent Emulate
 * @type boolean
 * @on Emulate
 * @off Don't Emulate
 * @desc Emulate current Action Effect when projectile reaches
 * target? Only works with start/goal targets.
 * @default false
 * 
 * @param EmulateItemEffect:eval
 * @text Item Effect ID
 * @parent Emulate
 * @type item
 * @desc Emulate an Item Effect when projectile reaches target?
 * Use 0 to not use. Only works with start/goal targets.
 * @default 0
 * 
 * @param EmulateSkillEffect:eval
 * @text Skill Effect ID
 * @parent Emulate
 * @type skill
 * @desc Emulate a Skill Effect when projectile reaches target?
 * Use 0 to not use. Only works with start/goal targets.
 * @default 0
 *
 * @param OnceParallel:num
 * @text Common Event ID
 * @parent Emulate
 * @type common_event
 * @desc Plays a Once Parallel Common Event upon reaching target.
 * Use 0 to not use. Works regardless of start/goal targets.
 * @default 0
 *
 */
/* ----------------------------------------------------------------------------
 * Visual Cutin Effect Settings
 * ----------------------------------------------------------------------------
 */
/*~struct~VisualCutinEffect:
 *
 * @param Transition
 * 
 * @param enterDuration:num
 * @text Entrance Duration
 * @parent Transition
 * @type number
 * @desc How many frames does it take to fully enter?
 * Used when a Visual Cutin Effect starts.
 * @default 12
 * 
 * @param exitDuration:num
 * @text Exit Duration
 * @parent Transition
 * @type number
 * @desc How many frames does it take to fully exit?
 * Used when a Visual Cutin Effect ends.
 * @default 12
 *
 * @param Cutin
 * @text Cutin Settings
 *
 * @param bgShow:eval
 * @text Show BG Color?
 * @parent Cutin
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Add a background color for this cutin?
 * Background colors appear behind the parallax.
 * @default true
 *
 * @param outlineShow:eval
 * @text Show Outline?
 * @parent Cutin
 * @type boolean
 * @on Show
 * @off Hide
 * @desc Show the cutin outline?
 * @default true
 *
 * @param Portrait
 * @text Portrait Settings
 *
 * @param PortraitBase
 * @text Base Properties
 * @parent Portrait
 * 
 * @param portraitAnchorX:num
 * @text Anchor X
 * @parent PortraitBase
 * @desc Determines the sprite anchor X alignment.
 * 0.0: Left, 0.5: Center, 1.0: Right.
 * @default 0.5
 * 
 * @param portraitAnchorY:num
 * @text Anchor Y
 * @parent PortraitBase
 * @desc Determines the sprite anchor Y alignment.
 * 0.0: Top, 0.5: Middle, 1.0: Bottom.
 * @default 0.5
 *
 * @param portraitHue:num
 * @text Hue
 * @parent PortraitBase
 * @type number
 * @min 0
 * @max 360
 * @desc Do you wish to adjust this cutin's portrait hue?
 * @default 0
 * 
 * @param portraitOpacity:num
 * @text Opacity
 * @parent PortraitBase
 * @type number
 * @max 255
 * @desc What is the opacity level of this cutin's portrait?
 * @default 255
 * 
 * @param portraitOffsetX:num
 * @text Offset X
 * @parent PortraitBase
 * @desc Offsets the cutin portrait's X location.
 * Negative: left. Positive: right.
 * @default +0
 * 
 * @param portraitOffsetY:num
 * @text Offset Y
 * @parent PortraitBase
 * @desc Offsets the cutin portrait's Y location.
 * Negative: up. Positive: down.
 * @default +0
 *
 * @param PortraitEnter
 * @text Entrance Properties
 * @parent Portrait
 * 
 * @param portraitEnterX:num
 * @text Entrance X
 * @parent PortraitEnter
 * @desc Sets the cutin portrait's X entrance.
 * Negative: from left. Positive: from right.
 * @default +0
 * 
 * @param portraitEnterY:num
 * @text Entrance Y
 * @parent PortraitEnter
 * @desc Sets the cutin portrait's Y entrance.
 * Negative: from up. Positive: from down.
 * @default +0
 *
 * @param portraitEnterEasingType:str
 * @text Entrance Easing
 * @parent PortraitEnter
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * @default InOutSine
 *
 * @param PortraitExit
 * @text Exit Properties
 * @parent Portrait
 * 
 * @param portraitExitX:num
 * @text Exit X
 * @parent PortraitExit
 * @desc Sets the cutin portrait's X exit.
 * Negative: to left. Positive: to right.
 * @default +0
 * 
 * @param portraitExitY:num
 * @text Exit Y
 * @parent PortraitExit
 * @desc Sets the cutin portrait's Y exit.
 * Negative: to up. Positive: to down.
 * @default +0
 *
 * @param portraitExitEasingType:str
 * @text Exit Easing
 * @parent PortraitExit
 * @type combo
 * @option Linear
 * @option InSine
 * @option OutSine
 * @option InOutSine
 * @option InQuad
 * @option OutQuad
 * @option InOutQuad
 * @option InCubic
 * @option OutCubic
 * @option InOutCubic
 * @option InQuart
 * @option OutQuart
 * @option InOutQuart
 * @option InQuint
 * @option OutQuint
 * @option InOutQuint
 * @option InExpo
 * @option OutExpo
 * @option InOutExpo
 * @option InCirc
 * @option OutCirc
 * @option InOutCirc
 * @option InBack
 * @option OutBack
 * @option InOutBack
 * @option InElastic
 * @option OutElastic
 * @option InOutElastic
 * @option InBounce
 * @option OutBounce
 * @option InOutBounce
 * @desc Select which easing type you wish to apply.
 * @default InOutSine
 *
 * @param PortraitFlip
 * @text Flip Properties
 * @parent Portrait
 *
 * @param portraitFlipHorz:eval
 * @text Flip Horizontally?
 * @parent PortraitFlip
 * @type boolean
 * @on Flip
 * @off Don't Flip
 * @desc Flip the cutin portrait horizontally?
 * @default false
 *
 * @param portraitFlipVert:eval
 * @text Flip Vertically?
 * @parent PortraitFlip
 * @type boolean
 * @on Flip
 * @off Don't Flip
 * @desc Flip the cutin portrait vertically?
 * @default false
 *
 * @param PortraitScale
 * @text Scaling Properties
 * @parent Portrait
 * 
 * @param portraitForcedScale:num
 * @text Forced Scaling
 * @parent PortraitScale
 * @desc Do you want to force a scaling ratio?
 * Leave as 0 for none. Disables "Fit to Scale?".
 * @default 0.0
 *
 * @param portraitScaleToFit:eval
 * @text Fit to Scale?
 * @parent PortraitScale
 * @type boolean
 * @on Fit to Scale
 * @off Don't Scale
 * @desc Scale the cutin portrait to fit the cutin style?
 * Cannot be used with "Forced Scaling".
 * @default true
 *
 * @param portraitScaleMax:eval
 * @text Scale Max?
 * @parent portraitScaleToFit:eval
 * @type boolean
 * @on Scale Maximum
 * @off Scale Minimum
 * @desc Scale the cutin portrait to the maximum fit or
 * scale the cutin portrait to the minimum fit.
 * @default false
 *
 * @param PortraitAni
 * @text Animated Portraits
 * @parent Portrait
 *
 * @param animatedPortraitLooping:eval
 * @text Loop?
 * @parent PortraitAni
 * @type boolean
 * @on ON
 * @off OFF
 * @desc Will loop back to beginning once ended.
 * Requires VisuMZ_4_AnimatedPictures!
 * @default true
 *
 * @param animatedPortraitWaitFrames:num
 * @text Wait Frames
 * @parent PortraitAni
 * @type number
 * @min 1
 * @desc Frames to wait before moving to next cell.
 * Requires VisuMZ_4_AnimatedPictures!
 * @default 4
 *
 * @param Parallax
 * @text Parallax Settings
 *
 * @param ParallaxBase
 * @text Base Settings
 * @parent Parallax
 *
 * @param parallaxBlendMode:num
 * @text Blend Mode
 * @parent ParallaxBase
 * @type select
 * @option 0 - Normal
 * @value 0
 * @option 1 - Additive
 * @value 1
 * @option 2 - Multiply
 * @value 2
 * @option 3 - Screen
 * @value 3
 * @desc What kind of blend mode do you wish to apply to the cutin?
 * @default 0
 *
 * @param parallaxHue:num
 * @text Hue
 * @parent ParallaxBase
 * @type number
 * @min 0
 * @max 360
 * @desc Do you wish to adjust this cutin's parallax hue?
 * @default 0
 *
 * @param parallaxHueEnemyModifier:num
 * @text Enemy Modifier
 * @parent parallaxHue:num
 * @desc Adjust the hue value by this if the cutin target is an enemy.
 * @default +0
 * 
 * @param parallaxOpacity:num
 * @text Opacity
 * @parent ParallaxBase
 * @type number
 * @max 255
 * @desc What is the opacity level of this cutin's parallax?
 * @default 255
 *
 * @param ParallaxScroll
 * @text Scrolling Settings
 * @parent Parallax
 * 
 * @param parallaxOffsetX:num
 * @text Offset X
 * @parent ParallaxScroll
 * @desc Offsets the cutin parallax's X location.
 * Negative: left. Positive: right.
 * @default +0.0
 * 
 * @param parallaxOffsetY:num
 * @text Offset Y
 * @parent ParallaxScroll
 * @desc Offsets the cutin parallax's Y location.
 * Negative: up. Positive: down.
 * @default +0.0
 * 
 * @param parallaxScrollX:num
 * @text Scroll X
 * @parent ParallaxScroll
 * @desc How many pixels does the parallax scroll horizontally?
 * Negative: Scroll to right. Positive: Scroll to left.
 * @default +0.0
 *
 * @param parallaxScrollXinvertEnemy:eval
 * @text Invert for Enemy?
 * @parent parallaxScrollX:num
 * @type boolean
 * @on Invert
 * @off Don't Invert
 * @desc Invert the X scroll direction if the cutin target is an enemy?
 * @default false
 * 
 * @param parallaxScrollY:num
 * @text Scroll Y
 * @parent ParallaxScroll
 * @desc How many pixels does the parallax scroll vertically?
 * Negative: Scroll to down. Positive: Scroll to up.
 * @default +0.0
 *
 * @param parallaxScrollYinvertEnemy:eval
 * @text Invert for Enemy?
 * @parent parallaxScrollY:num
 * @type boolean
 * @on Invert
 * @off Don't Invert
 * @desc Invert the Y scroll direction if the cutin target is an enemy?
 * @default false
 *
 */
//=============================================================================

const _0x208a24=_0x5c71;(function(_0x28e8a7,_0x57bb39){const _0x44252a=_0x5c71,_0x5a4905=_0x28e8a7();while(!![]){try{const _0x3b40a9=parseInt(_0x44252a(0x71a))/0x1*(parseInt(_0x44252a(0x292))/0x2)+parseInt(_0x44252a(0x385))/0x3*(parseInt(_0x44252a(0xa01))/0x4)+-parseInt(_0x44252a(0x5b5))/0x5+parseInt(_0x44252a(0x33e))/0x6+-parseInt(_0x44252a(0xba0))/0x7+parseInt(_0x44252a(0x91a))/0x8*(-parseInt(_0x44252a(0x89e))/0x9)+parseInt(_0x44252a(0xae6))/0xa*(parseInt(_0x44252a(0xb57))/0xb);if(_0x3b40a9===_0x57bb39)break;else _0x5a4905['push'](_0x5a4905['shift']());}catch(_0x39931f){_0x5a4905['push'](_0x5a4905['shift']());}}}(_0x3675,0x94cc5));var label=_0x208a24(0x759),tier=tier||0x0,dependencies=[],pluginData=$plugins[_0x208a24(0x5a8)](function(_0xb87bbc){const _0x1b4a50=_0x208a24;return _0xb87bbc[_0x1b4a50(0xd1b)]&&_0xb87bbc[_0x1b4a50(0x1ce)][_0x1b4a50(0xcaf)]('['+label+']');})[0x0];VisuMZ[label]['Settings']=VisuMZ[label][_0x208a24(0xc39)]||{},VisuMZ['ConvertParams']=function(_0x4ddc7d,_0x484947){const _0x1c146b=_0x208a24;for(const _0x497ae0 in _0x484947){if(_0x1c146b(0x9b3)!==_0x1c146b(0x9b3))_0x454f36[_0x1c146b(0xd28)]=!![],this[_0x1c146b(0x899)](_0x3c684a);else{if(_0x497ae0['match'](/(.*):(.*)/i)){const _0x3a11cf=String(RegExp['$1']),_0x34e0c1=String(RegExp['$2'])[_0x1c146b(0x4d6)]()[_0x1c146b(0x446)]();let _0x86947,_0x12e30b,_0xdd85b6;switch(_0x34e0c1){case _0x1c146b(0x18f):_0x86947=_0x484947[_0x497ae0]!==''?Number(_0x484947[_0x497ae0]):0x0;break;case _0x1c146b(0x6bf):_0x12e30b=_0x484947[_0x497ae0]!==''?JSON[_0x1c146b(0x794)](_0x484947[_0x497ae0]):[],_0x86947=_0x12e30b['map'](_0x4cabb9=>Number(_0x4cabb9));break;case _0x1c146b(0xad4):_0x86947=_0x484947[_0x497ae0]!==''?eval(_0x484947[_0x497ae0]):null;break;case _0x1c146b(0x860):_0x12e30b=_0x484947[_0x497ae0]!==''?JSON[_0x1c146b(0x794)](_0x484947[_0x497ae0]):[],_0x86947=_0x12e30b[_0x1c146b(0x58e)](_0x28b805=>eval(_0x28b805));break;case _0x1c146b(0x7b5):_0x86947=_0x484947[_0x497ae0]!==''?JSON[_0x1c146b(0x794)](_0x484947[_0x497ae0]):'';break;case _0x1c146b(0x736):_0x12e30b=_0x484947[_0x497ae0]!==''?JSON[_0x1c146b(0x794)](_0x484947[_0x497ae0]):[],_0x86947=_0x12e30b[_0x1c146b(0x58e)](_0x440ea3=>JSON[_0x1c146b(0x794)](_0x440ea3));break;case _0x1c146b(0xbe):_0x86947=_0x484947[_0x497ae0]!==''?new Function(JSON[_0x1c146b(0x794)](_0x484947[_0x497ae0])):new Function('return\x200');break;case'ARRAYFUNC':_0x12e30b=_0x484947[_0x497ae0]!==''?JSON[_0x1c146b(0x794)](_0x484947[_0x497ae0]):[],_0x86947=_0x12e30b[_0x1c146b(0x58e)](_0x5c7d13=>new Function(JSON[_0x1c146b(0x794)](_0x5c7d13)));break;case _0x1c146b(0xb56):_0x86947=_0x484947[_0x497ae0]!==''?String(_0x484947[_0x497ae0]):'';break;case _0x1c146b(0x588):_0x12e30b=_0x484947[_0x497ae0]!==''?JSON[_0x1c146b(0x794)](_0x484947[_0x497ae0]):[],_0x86947=_0x12e30b[_0x1c146b(0x58e)](_0x2e6307=>String(_0x2e6307));break;case _0x1c146b(0x226):_0xdd85b6=_0x484947[_0x497ae0]!==''?JSON['parse'](_0x484947[_0x497ae0]):{},_0x4ddc7d[_0x3a11cf]={},VisuMZ[_0x1c146b(0x4f4)](_0x4ddc7d[_0x3a11cf],_0xdd85b6);continue;case'ARRAYSTRUCT':_0x12e30b=_0x484947[_0x497ae0]!==''?JSON['parse'](_0x484947[_0x497ae0]):[],_0x86947=_0x12e30b[_0x1c146b(0x58e)](_0x333f69=>VisuMZ[_0x1c146b(0x4f4)]({},JSON[_0x1c146b(0x794)](_0x333f69)));break;default:continue;}_0x4ddc7d[_0x3a11cf]=_0x86947;}}}return _0x4ddc7d;},(_0x108fe5=>{const _0x9b0640=_0x208a24,_0x475813=_0x108fe5['name'];for(const _0x4ffe3f of dependencies){if(!Imported[_0x4ffe3f]){alert(_0x9b0640(0xae9)[_0x9b0640(0x75a)](_0x475813,_0x4ffe3f)),SceneManager[_0x9b0640(0x1b1)]();break;}}const _0x57c5af=_0x108fe5[_0x9b0640(0x1ce)];if(_0x57c5af[_0x9b0640(0x7fc)](/\[Version[ ](.*?)\]/i)){const _0x7988e4=Number(RegExp['$1']);_0x7988e4!==VisuMZ[label]['version']&&(alert('%1\x27s\x20version\x20does\x20not\x20match\x20plugin\x27s.\x20Please\x20update\x20it\x20in\x20the\x20Plugin\x20Manager.'[_0x9b0640(0x75a)](_0x475813,_0x7988e4)),SceneManager[_0x9b0640(0x1b1)]());}if(_0x57c5af[_0x9b0640(0x7fc)](/\[Tier[ ](\d+)\]/i)){if(_0x9b0640(0xad)!=='qUEsg'){if(!_0x19d5c7[_0x9b0640(0x8c3)]())return;if(!_0x788ed7[_0x9b0640(0x4a6)])return;const _0x260b0e=_0x29a629['_scene'][_0x9b0640(0xa85)];if(!_0x260b0e)return;_0xdd3388[_0x9b0640(0x4f4)](_0x5b122e,_0xb8cd13);const _0x1c70e9=_0x1dd94f(_0x3f5823[_0x9b0640(0xbe2)])||0x0,_0xd5621c=_0x363e54(_0xb8d608[_0x9b0640(0xd5)]),_0x23f6da=_0x250603[_0x9b0640(0x2c6)]||0x1,_0x40d818=_0x1ea0fa[_0x9b0640(0x99b)]||'Linear';_0x260b0e[_0x9b0640(0x9f4)](_0x1c70e9,_0xd5621c,_0x23f6da,_0x40d818);}else{const _0xe0289e=Number(RegExp['$1']);_0xe0289e<tier?(alert(_0x9b0640(0xbd0)[_0x9b0640(0x75a)](_0x475813,_0xe0289e,tier)),SceneManager[_0x9b0640(0x1b1)]()):tier=Math[_0x9b0640(0x6db)](_0xe0289e,tier);}}VisuMZ[_0x9b0640(0x4f4)](VisuMZ[label][_0x9b0640(0xc39)],_0x108fe5['parameters']);})(pluginData),VisuMZ[_0x208a24(0x5bd)]=function(_0x9f9e66){const _0x23a34a=_0x208a24;let _0x2424b0=[];for(const _0x5c811b of _0x9f9e66){_0x2424b0=_0x2424b0[_0x23a34a(0x655)](VisuMZ[_0x23a34a(0xe0)](_0x5c811b));}return _0x2424b0[_0x23a34a(0x5a8)](_0xd0145b=>_0xd0145b);},VisuMZ[_0x208a24(0xe0)]=function(_0x5cf394){const _0x341063=_0x208a24,_0x25df84=BattleManager[_0x341063(0xbc8)]()[_0x341063(0x5a8)](_0x14e3f6=>_0x14e3f6&&_0x14e3f6[_0x341063(0x937)]()),_0x5832b3=BattleManager[_0x341063(0x64d)],_0x430f3b=BattleManager[_0x341063(0x29a)],_0x2c2aea=BattleManager[_0x341063(0xaea)]?BattleManager[_0x341063(0xaea)]['slice'](0x0):_0x25df84;_0x5cf394=_0x5cf394['toLowerCase']()[_0x341063(0x446)]();if(_0x5cf394===_0x341063(0x955)){if(_0x341063(0x577)!==_0x341063(0x1e9))return[_0x5832b3];else{if(this[_0x341063(0x570)]===_0x341063(0x330))return![];if(this['_targetBattlerKey']===_0x341063(0x4da))return![];if(!this[_0x341063(0x81b)]&&this[_0x341063(0x6a9)]()[_0x341063(0x82a)]())return![];if(this[_0x341063(0x8cb)]())return!![];if(!this[_0x341063(0x8bb)]())return![];return typeof this[_0x341063(0x8bb)]()['scope']===_0x341063(0x32d);}}else{if(_0x5cf394===_0x341063(0x2ff)){if('PNcHz'!=='lHiIj')return[_0x430f3b];else{const _0x1003fd=this[_0x341063(0x8bb)]()[_0x341063(0x6c4)];if(_0x1003fd[_0x341063(0x7fc)](/<ALWAYS HIT>/i))return 0x1;else{if(_0x1003fd[_0x341063(0x7fc)](/<ALWAYS HIT RATE: (\d+)([%％])>/i))return _0x210928(_0x510c52['$1'])/0x64;else{let _0x284fb9=_0x33c3ba[_0x341063(0x759)][_0x341063(0x74a)][_0x341063(0x783)](this,_0x61e4f2);return _0x284fb9=this['_multipliers'][_0x341063(0xa8f)]*_0x284fb9+this[_0x341063(0x27b)][_0x341063(0x2e5)],_0x284fb9;}}}}else{if(_0x5cf394===_0x341063(0xc6)){if(_0x430f3b){if(_0x341063(0x516)===_0x341063(0x516)){const _0x19485e=_0x2c2aea[_0x341063(0x6d1)](_0x430f3b);return _0x19485e>=0x0?[_0x2c2aea[_0x19485e-0x1]||_0x430f3b]:[_0x430f3b];}else _0x3d4703[_0x341063(0x759)]['Window_BattleLog_displayActionResults'][_0x341063(0x783)](this,_0x12f655,_0x1d852b);}}else{if(_0x5cf394===_0x341063(0xd32)){if(_0x430f3b){const _0x5ce44e=_0x2c2aea['indexOf'](_0x430f3b);return _0x5ce44e>=0x0?[_0x2c2aea[_0x5ce44e+0x1]||_0x430f3b]:[_0x430f3b];}}else{if(_0x5cf394===_0x341063(0x4ea))return _0x2c2aea;else{if(_0x5cf394===_0x341063(0xc8))return[_0x5832b3][_0x341063(0x655)](_0x2c2aea);else{if(_0x5cf394===_0x341063(0x3cd))return _0x25df84['filter'](_0x24f3e0=>_0x24f3e0!==_0x5832b3&&!_0x2c2aea[_0x341063(0xcaf)](_0x24f3e0)&&_0x24f3e0[_0x341063(0x67f)]());else{if(_0x5cf394===_0x341063(0xab9)){if(_0x341063(0x72e)===_0x341063(0x565))this[_0x341063(0x811)]=!![];else return[VisuMZ['GetActionSequenceSpecialTarget']()];}else{if(_0x5cf394[_0x341063(0x7fc)](/SPECIAL (.*)>/i)){const _0x4fae1b=String(RegExp['$1'])[_0x341063(0xc85)](',')['map'](_0x4ab2bd=>_0x4ab2bd[_0x341063(0x446)]());return[VisuMZ[_0x341063(0x4b2)](_0x4fae1b)];}}}}}}}}}if(_0x5832b3){if('FjHys'===_0x341063(0x2f0)){if(_0x5cf394===_0x341063(0x264))return _0x5832b3[_0x341063(0x281)]()[_0x341063(0x49a)]();else{if(_0x5cf394===_0x341063(0x790))return _0x5832b3[_0x341063(0x281)]()[_0x341063(0x49a)]()[_0x341063(0x5a8)](_0x36f9d5=>_0x36f9d5!==_0x5832b3);else{if(_0x5cf394===_0x341063(0x664))return _0x5832b3[_0x341063(0x281)]()[_0x341063(0x49a)]()[_0x341063(0x5a8)](_0x2cac89=>_0x2cac89!==_0x430f3b);else{if(_0x5cf394==='dead\x20friends')return _0x5832b3['friendsUnit']()[_0x341063(0xa29)]();else{if(_0x5cf394[_0x341063(0x7fc)](/FRIEND INDEX (\d+)/i)){const _0x470c43=Number(RegExp['$1']);return[_0x5832b3['friendsUnit']()[_0x341063(0x30f)]()[_0x470c43]];}}}}}if(_0x5cf394===_0x341063(0x7cb))return _0x5832b3['opponentsUnit']()[_0x341063(0x49a)]();else{if(_0x5cf394===_0x341063(0x5e7))return _0x5832b3[_0x341063(0x505)]()[_0x341063(0x49a)]()['filter'](_0x575aac=>_0x575aac!==_0x430f3b);else{if(_0x5cf394===_0x341063(0x29f))return _0x5832b3[_0x341063(0x505)]()[_0x341063(0xa29)]();else{if(_0x5cf394[_0x341063(0x7fc)](/OPPONENT INDEX (\d+)/i)){const _0x325791=Number(RegExp['$1']);return[_0x5832b3['opponentsUnit']()[_0x341063(0x30f)]()[_0x325791]];}}}}}else this[_0x341063(0x1c2)]=new _0x379862(),this[_0x341063(0x1c2)][_0x341063(0x63f)]=_0x4fe1cb[_0x341063(0x5a0)](_0x341063(0x310)),this[_0x341063(0x1c2)][_0x341063(0x63f)][_0x341063(0xfe)]=_0x3fa47a['BattleCore']['Settings'][_0x341063(0x5a5)][_0x341063(0x2eb)],this['_shadowSprite']['anchor']['x']=0.5,this[_0x341063(0x1c2)]['anchor']['y']=0.5,this[_0x341063(0x1c2)]['y']=-0x2,this[_0x341063(0x1c2)][_0x341063(0x3b3)]=![],this['addChild'](this[_0x341063(0x1c2)]);}if(_0x5cf394===_0x341063(0x663))return $gameParty[_0x341063(0x49a)]();else{if(_0x5cf394==='alive\x20actors\x20not\x20user')return $gameParty[_0x341063(0x49a)]()[_0x341063(0x5a8)](_0x1a84b8=>_0x1a84b8!==_0x5832b3);else{if(_0x5cf394===_0x341063(0x106)){if(_0x341063(0x4f7)!==_0x341063(0x4f7)){const _0x2b53cd=_0x537a14['_scene'][_0x341063(0xb92)];this[_0x341063(0x449)]()['isActor']()?_0x2b53cd[_0x341063(0x80c)](this[_0x341063(0x449)]()[_0x341063(0x22f)]()):_0x2b53cd[_0x341063(0x82d)]();}else return $gameParty[_0x341063(0x49a)]()[_0x341063(0x5a8)](_0xd0363b=>_0xd0363b!==_0x430f3b);}else{if(_0x5cf394===_0x341063(0x262))return $gameParty[_0x341063(0xa29)]();else{if(_0x5cf394[_0x341063(0x7fc)](/ACTOR INDEX (\d+)/i)){const _0x51b693=Number(RegExp['$1']);return[$gameParty[_0x341063(0x30f)]()[_0x51b693]];}else{if(_0x5cf394[_0x341063(0x7fc)](/ACTOR ID (\d+)/i)){if(_0x341063(0x17c)===_0x341063(0x17c)){const _0x4b63ca=Number(RegExp['$1']);return[$gameActors[_0x341063(0x178)](_0x4b63ca)];}else{const _0x5250b7=new _0x297507();_0x5250b7[_0x341063(0x63f)]=_0x101c9f[_0x341063(0x5a0)](_0xd1985f[_0x341063(0x5bc)]),_0x5250b7['x']=_0x48d619['StatusWindowAttachmentBackOffsetX']||0x0,_0x5250b7['y']=_0x2e7c78[_0x341063(0x11a)]||0x0,this[_0x341063(0x350)](_0x5250b7),this[_0x341063(0xd4d)]=_0x5250b7;}}}}}}}if(_0x5cf394===_0x341063(0x725)){if(_0x341063(0xae7)==='stUeB')return $gameTroop[_0x341063(0x49a)]();else _0x539017=!_0x18c3d4;}else{if(_0x5cf394==='alive\x20enemies\x20not\x20user'){if(_0x341063(0xd22)!=='txHHv'){if(!this[_0x341063(0x302)])return;const _0x1727af=this['_actor']['battleCommands']();for(const _0xc944ee of _0x1727af){this[_0x341063(0xca7)](_0xc944ee[_0x341063(0x4d6)]()[_0x341063(0x446)]());}}else return $gameTroop[_0x341063(0x49a)]()['filter'](_0x4808db=>_0x4808db!==_0x5832b3);}else{if(_0x5cf394===_0x341063(0x929))return $gameTroop[_0x341063(0x49a)]()[_0x341063(0x5a8)](_0x50079f=>_0x50079f!==_0x430f3b);else{if(_0x5cf394===_0x341063(0xc11))return $gameTroop[_0x341063(0xa29)]();else{if(_0x5cf394[_0x341063(0x7fc)](/ENEMY INDEX (\d+)/i)){if('jNPqm'!==_0x341063(0xf9)){const _0x53f6a8=Number(RegExp['$1']);return[$gameTroop[_0x341063(0x30f)]()[_0x53f6a8]];}else _0x222296['BattleCore'][_0x341063(0x976)][_0x341063(0x783)](this);}else{if(_0x5cf394[_0x341063(0x7fc)](/ENEMY ID (\d+)/i)){const _0x4a7f58=Number(RegExp['$1']);return $gameTroop['aliveMembers']()['filter'](_0x224235=>_0x224235[_0x341063(0xb09)]()===_0x4a7f58);}}}}}}if(_0x5cf394===_0x341063(0xbc))return _0x25df84[_0x341063(0x5a8)](_0x1c1270=>_0x1c1270['isAlive']());else{if(_0x5cf394===_0x341063(0x177)){if(_0x341063(0x50b)!==_0x341063(0xc5))return _0x25df84[_0x341063(0x5a8)](_0xff25f0=>_0xff25f0[_0x341063(0x97c)]()&&_0xff25f0!==_0x5832b3);else{if(_0x4596db[_0x341063(0x169)]>_0x4cdaf8)_0x470720+=_0x2ab1da[_0x341063(0x4fe)]/0x2+_0x522654;if(_0x1751fa[_0x341063(0x169)]<_0x5c5935)_0x4596e9-=_0xbb5cd1[_0x341063(0x4fe)]/0x2+_0x2f2fa1;}}else{if(_0x5cf394==='alive\x20battlers\x20not\x20target')return'JenBA'!==_0x341063(0x593)?_0x25df84['filter'](_0x2c6e8b=>_0x2c6e8b[_0x341063(0x97c)]()&&_0x2c6e8b!==_0x430f3b):this[_0x341063(0x558)]===_0x341063(0x6ef)?this[_0x341063(0x21a)]():_0x530f8c[_0x341063(0x759)][_0x341063(0xa90)][_0x341063(0x783)](this);else{if(_0x5cf394===_0x341063(0x15a))return'gThtz'!==_0x341063(0x773)?_0x25df84[_0x341063(0x5a8)](_0x58f7ab=>_0x58f7ab[_0x341063(0x248)]()):this[_0x341063(0x3c0)]();}}}return[];},VisuMZ[_0x208a24(0x35d)]=function(){const _0x3de981=_0x208a24;return BattleManager[_0x3de981(0x29a)];},VisuMZ[_0x208a24(0x4b2)]=function(_0x3c3f23){const _0x563605=_0x208a24;return BattleManager[_0x563605(0x29a)];},PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Set_SetupAction',_0x57efdb=>{const _0x47267d=_0x208a24;if(!SceneManager[_0x47267d(0x8c3)]())return;VisuMZ[_0x47267d(0x4f4)](_0x57efdb,_0x57efdb);const _0x4beb16=$gameTemp[_0x47267d(0xcc)](),_0x2ebbfc=BattleManager[_0x47267d(0x8fb)],_0x3021f2=BattleManager[_0x47267d(0x64d)],_0xcd60f=BattleManager[_0x47267d(0xaea)]?BattleManager[_0x47267d(0xaea)][_0x47267d(0xa3f)](0x0):[],_0x1269e2=BattleManager[_0x47267d(0x46b)];if(!_0x4beb16||!_0x2ebbfc||!_0x3021f2)return;if(!_0x2ebbfc[_0x47267d(0x8bb)]())return;if(_0x57efdb[_0x47267d(0x5f1)])_0x1269e2['displayAction'](_0x3021f2,_0x2ebbfc[_0x47267d(0x8bb)]());_0x57efdb[_0x47267d(0x3f0)]&&_0x1269e2['push'](_0x47267d(0x731),_0x3021f2,_0xcd60f,!![]);if(_0x57efdb[_0x47267d(0x892)])_0x1269e2[_0x47267d(0x7c3)](_0x47267d(0x997),_0x3021f2,_0x2ebbfc);if(_0x57efdb[_0x47267d(0x2ba)])_0x1269e2[_0x47267d(0x7c3)](_0x47267d(0x28d));if(_0x57efdb['CastAnimation'])_0x1269e2[_0x47267d(0x7c3)](_0x47267d(0xb17),_0x3021f2,_0x2ebbfc);if(_0x57efdb['WaitForAnimation'])_0x1269e2[_0x47267d(0x7c3)](_0x47267d(0x32a));_0x4beb16[_0x47267d(0x3dc)](_0x47267d(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Set_WholeActionSet',_0x58322f=>{const _0x1f380f=_0x208a24;if(!SceneManager[_0x1f380f(0x8c3)]())return;VisuMZ['ConvertParams'](_0x58322f,_0x58322f);const _0x315dac=$gameTemp[_0x1f380f(0xcc)](),_0x9d6993=BattleManager[_0x1f380f(0x8fb)],_0x30f393=BattleManager[_0x1f380f(0x64d)],_0x21b054=BattleManager[_0x1f380f(0xaea)]?BattleManager['_allTargets'][_0x1f380f(0xa3f)](0x0):[],_0x2b138f=BattleManager['_logWindow'],_0x473dec=_0x58322f[_0x1f380f(0x437)]??![];if(!_0x315dac||!_0x9d6993||!_0x30f393)return;if(!_0x9d6993[_0x1f380f(0x8bb)]())return;let _0x28284c=_0x473dec?_0x2b138f[_0x1f380f(0xa72)](_0x30f393):0x1;for(let _0x49b42b=0x0;_0x49b42b<_0x28284c;_0x49b42b++){_0x473dec&&_0x30f393[_0x1f380f(0x9bf)]()&&_0x2b138f[_0x1f380f(0x7c3)](_0x1f380f(0x907),_0x30f393,_0x49b42b);if(_0x58322f[_0x1f380f(0xc78)])_0x2b138f[_0x1f380f(0x7c3)]('performAction',_0x30f393,_0x9d6993);if(_0x58322f[_0x1f380f(0x7f4)]>0x0)_0x2b138f[_0x1f380f(0x7c3)](_0x1f380f(0xd59),_0x58322f[_0x1f380f(0x7f4)]);if(_0x58322f[_0x1f380f(0x6bc)])_0x2b138f['push'](_0x1f380f(0x215),_0x30f393,_0x21b054,_0x9d6993[_0x1f380f(0x8bb)]()['animationId']);if(_0x58322f[_0x1f380f(0x610)])_0x2b138f[_0x1f380f(0x7c3)]('waitForAnimation');for(const _0x761a99 of _0x21b054){if(!_0x761a99)continue;if(_0x58322f[_0x1f380f(0xd11)])_0x2b138f[_0x1f380f(0x7c3)](_0x1f380f(0x29e),_0x30f393,_0x761a99);}}_0x473dec&&_0x30f393['isActor']()&&(_0x1f380f(0xb3c)===_0x1f380f(0x774)?this[_0x1f380f(0x130)]():_0x2b138f['push'](_0x1f380f(0xd4a),_0x30f393));if(_0x58322f[_0x1f380f(0x3f0)])_0x2b138f['push'](_0x1f380f(0x731),_0x30f393,_0x21b054,![]);_0x315dac[_0x1f380f(0x3dc)](_0x1f380f(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x5ef),_0x52e0c2=>{const _0x5a01b1=_0x208a24;if(!SceneManager[_0x5a01b1(0x8c3)]())return;VisuMZ['ConvertParams'](_0x52e0c2,_0x52e0c2);const _0x433605=$gameTemp['getLastPluginCommandInterpreter'](),_0x3770a0=BattleManager[_0x5a01b1(0x8fb)],_0xdcffb=BattleManager['_subject'],_0x292d9d=BattleManager['_allTargets']?BattleManager[_0x5a01b1(0xaea)][_0x5a01b1(0xa3f)](0x0):[],_0x4eac9f=BattleManager[_0x5a01b1(0x46b)],_0x45f98f=_0x52e0c2[_0x5a01b1(0x437)]??![];if(!_0x433605||!_0x3770a0||!_0xdcffb)return;if(!_0x3770a0[_0x5a01b1(0x8bb)]())return;let _0x161d5d=_0x45f98f?_0x4eac9f['getDualWieldTimes'](_0xdcffb):0x1;for(let _0x514532=0x0;_0x514532<_0x161d5d;_0x514532++){for(const _0x24269f of _0x292d9d){if(!_0x24269f)continue;_0x45f98f&&_0xdcffb['isActor']()&&_0x4eac9f['push'](_0x5a01b1(0x907),_0xdcffb,_0x514532);if(_0x52e0c2[_0x5a01b1(0xc78)])_0x4eac9f['push'](_0x5a01b1(0x3f6),_0xdcffb,_0x3770a0);if(_0x52e0c2[_0x5a01b1(0x603)]>0x0)_0x4eac9f[_0x5a01b1(0x7c3)](_0x5a01b1(0xd59),_0x52e0c2['WaitCount1']);if(_0x52e0c2[_0x5a01b1(0x6bc)])_0x4eac9f[_0x5a01b1(0x7c3)](_0x5a01b1(0x215),_0xdcffb,[_0x24269f],_0x3770a0[_0x5a01b1(0x8bb)]()[_0x5a01b1(0x465)]);if(_0x52e0c2[_0x5a01b1(0x98f)]>0x0)_0x4eac9f[_0x5a01b1(0x7c3)](_0x5a01b1(0xd59),_0x52e0c2[_0x5a01b1(0x98f)]);if(_0x52e0c2[_0x5a01b1(0xd11)])_0x4eac9f[_0x5a01b1(0x7c3)](_0x5a01b1(0x29e),_0xdcffb,_0x24269f);}}_0x45f98f&&_0xdcffb[_0x5a01b1(0x9bf)]()&&(_0x5a01b1(0x3de)!==_0x5a01b1(0xa5)?_0x4eac9f[_0x5a01b1(0x7c3)](_0x5a01b1(0xd4a),_0xdcffb):(_0x589218[_0x5a01b1(0xbd8)][_0x5a01b1(0x86c)]['call'](this),this[_0x5a01b1(0xb3f)]()));if(_0x52e0c2[_0x5a01b1(0x3f0)])_0x4eac9f[_0x5a01b1(0x7c3)](_0x5a01b1(0x731),_0xdcffb,_0x292d9d,![]);_0x433605['setWaitMode'](_0x5a01b1(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x233),_0xdc285c=>{const _0x2dcc92=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x2dcc92(0x4f4)](_0xdc285c,_0xdc285c);const _0x57d548=$gameTemp['getLastPluginCommandInterpreter'](),_0x2c3cdb=BattleManager[_0x2dcc92(0x8fb)],_0x25f1c5=BattleManager[_0x2dcc92(0x64d)],_0x42cc9d=BattleManager[_0x2dcc92(0xaea)]?BattleManager[_0x2dcc92(0xaea)][_0x2dcc92(0xa3f)](0x0):[],_0x3769f9=BattleManager[_0x2dcc92(0x46b)];if(!_0x57d548||!_0x2c3cdb||!_0x25f1c5)return;if(!_0x2c3cdb['item']())return;if(_0xdc285c[_0x2dcc92(0x3f0)])_0x3769f9[_0x2dcc92(0x7c3)](_0x2dcc92(0x731),_0x25f1c5,_0x42cc9d,![]);if(_0xdc285c[_0x2dcc92(0x992)])_0x3769f9[_0x2dcc92(0x7c3)]('waitForNewLine');if(_0xdc285c['WaitForEffect'])_0x3769f9['push'](_0x2dcc92(0x2d3));if(_0xdc285c[_0x2dcc92(0xa0d)])_0x3769f9[_0x2dcc92(0x7c3)]('clear');if(_0xdc285c['ActionEnd'])_0x3769f9[_0x2dcc92(0x7c3)](_0x2dcc92(0x749),_0x25f1c5);if(_0xdc285c['WaitForMovement'])_0x3769f9['push'](_0x2dcc92(0x28d));_0x57d548['setWaitMode'](_0x2dcc92(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x567),_0x3e8bfc=>{const _0x234c27=_0x208a24;if(!SceneManager[_0x234c27(0x8c3)]())return;if(!Imported[_0x234c27(0x355)])return;VisuMZ[_0x234c27(0x4f4)](_0x3e8bfc,_0x3e8bfc);const _0x45d714=$gameTemp[_0x234c27(0xcc)](),_0x3aaa4e=_0x3e8bfc[_0x234c27(0xbca)];if(!_0x45d714)return;$gameScreen[_0x234c27(0x2d0)](_0x3e8bfc[_0x234c27(0xbe2)],_0x3e8bfc[_0x234c27(0x2c6)],_0x3e8bfc[_0x234c27(0x99b)]);if(_0x3aaa4e)_0x45d714[_0x234c27(0x3dc)](_0x234c27(0xd52));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Angle_Reset',_0x387ac6=>{const _0x5e7e4a=_0x208a24;if(!SceneManager[_0x5e7e4a(0x8c3)]())return;if(!Imported[_0x5e7e4a(0x355)])return;VisuMZ[_0x5e7e4a(0x4f4)](_0x387ac6,_0x387ac6);const _0x27a7e4=$gameTemp['getLastPluginCommandInterpreter'](),_0x55f8a6=_0x387ac6[_0x5e7e4a(0xbca)];if(!_0x27a7e4)return;$gameScreen['setBattleAngle'](0x0,_0x387ac6[_0x5e7e4a(0x2c6)],_0x387ac6[_0x5e7e4a(0x99b)]);if(_0x55f8a6)_0x27a7e4[_0x5e7e4a(0x3dc)](_0x5e7e4a(0xd52));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Angle_WaitForAngle',_0x5c0c62=>{const _0x5b1671=_0x208a24;if(!SceneManager[_0x5b1671(0x8c3)]())return;if(!Imported['VisuMZ_3_ActSeqCamera'])return;const _0x3a2c91=$gameTemp[_0x5b1671(0xcc)]();if(!_0x3a2c91)return;_0x3a2c91[_0x5b1671(0x3dc)](_0x5b1671(0xd52));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0xc76),_0x16410c=>{const _0x5337b8=_0x208a24;if(!SceneManager[_0x5337b8(0x8c3)]())return;VisuMZ[_0x5337b8(0x4f4)](_0x16410c,_0x16410c);const _0x48cb52=$gameTemp[_0x5337b8(0xcc)](),_0x478062=BattleManager[_0x5337b8(0x8fb)],_0x29e1e9=BattleManager['_subject'],_0x459fad=VisuMZ[_0x5337b8(0x5bd)](_0x16410c['Targets']),_0x46d49c=_0x16410c['Mirror'],_0x36dc71=BattleManager[_0x5337b8(0x46b)];if(!_0x48cb52||!_0x478062||!_0x29e1e9)return;if(!_0x478062[_0x5337b8(0x8bb)]())return;let _0x256d15=_0x478062['item']()['animationId'];if(_0x256d15<0x0)_0x256d15=_0x29e1e9[_0x5337b8(0x36a)]();$gameTemp['requestAnimation'](_0x459fad,_0x256d15,_0x46d49c);if(_0x16410c[_0x5337b8(0x610)]){if(_0x5337b8(0x63e)!==_0x5337b8(0x63e)){let _0x4606af='battleUIOffsetX';if(this['checkCacheKey'](_0x4606af))return this[_0x5337b8(0x3b0)][_0x4606af];return this['_cache'][_0x4606af]=this[_0x5337b8(0x5a1)](this[_0x5337b8(0x449)]()),this[_0x5337b8(0x3b0)][_0x4606af];}else _0x48cb52[_0x5337b8(0x3dc)](_0x5337b8(0x7d6));}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0xb18),_0x3cd005=>{const _0x209025=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ['ConvertParams'](_0x3cd005,_0x3cd005);const _0x239374=$gameTemp[_0x209025(0xcc)](),_0x251c09=BattleManager[_0x209025(0x64d)],_0x45e5b0=VisuMZ[_0x209025(0x5bd)](_0x3cd005[_0x209025(0x83d)]),_0x12352a=_0x3cd005[_0x209025(0x6f6)],_0x5e0f36=BattleManager[_0x209025(0x46b)];if(!_0x239374||!_0x251c09)return;const _0x324b98=_0x251c09[_0x209025(0x36a)]();$gameTemp[_0x209025(0x2d8)](_0x45e5b0,_0x324b98,_0x12352a),_0x3cd005[_0x209025(0x610)]&&_0x239374[_0x209025(0x3dc)](_0x209025(0x7d6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x851),_0x3f67e2=>{const _0xf66cb4=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ['ConvertParams'](_0x3f67e2,_0x3f67e2);const _0x1ee41c=_0x187a16['attackAnimationIdSlot'](_0x3f67e2[_0xf66cb4(0xc10)]);if(_0x1ee41c<=0x0)return;const _0x16311b=$gameTemp[_0xf66cb4(0xcc)](),_0x187a16=BattleManager[_0xf66cb4(0x64d)],_0x1df8b6=VisuMZ[_0xf66cb4(0x5bd)](_0x3f67e2[_0xf66cb4(0x83d)]),_0x458d03=_0x3f67e2[_0xf66cb4(0x6f6)],_0xa15a6e=BattleManager[_0xf66cb4(0x46b)];if(!_0x16311b||!_0x187a16)return;$gameTemp[_0xf66cb4(0x2d8)](_0x1df8b6,_0x1ee41c,_0x458d03),_0x3f67e2['WaitForAnimation']&&_0x16311b[_0xf66cb4(0x3dc)]('battleAnimation');}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0xc14),_0xe81257=>{const _0x1e37f0=_0x208a24;if(!SceneManager[_0x1e37f0(0x8c3)]())return;VisuMZ['ConvertParams'](_0xe81257,_0xe81257);const _0xd95088=$gameTemp[_0x1e37f0(0xcc)](),_0x5b0631=VisuMZ['CreateActionSequenceTargets'](_0xe81257[_0x1e37f0(0x83d)]),_0xadaab1=_0xe81257[_0x1e37f0(0x5a2)];let _0x167947=0x0;switch(_0xadaab1[_0x1e37f0(0x4d6)]()[_0x1e37f0(0x446)]()){case'!':case _0x1e37f0(0x3aa):_0x167947=0x1;break;case'?':case'QUESTION':_0x167947=0x2;break;case _0x1e37f0(0x7c8):case _0x1e37f0(0x33a):case _0x1e37f0(0x6ab):case'MUSIC-NOTE':case _0x1e37f0(0x846):_0x167947=0x3;break;case'HEART':case'LOVE':_0x167947=0x4;break;case'ANGLE':case _0x1e37f0(0xdf):_0x167947=0x5;break;case _0x1e37f0(0xe6):_0x167947=0x6;break;case'COBWEB':case _0x1e37f0(0x71e):case _0x1e37f0(0x9ee):_0x167947=0x7;break;case _0x1e37f0(0x9c7):case _0x1e37f0(0xc8a):_0x167947=0x8;break;case'LIGHT':case _0x1e37f0(0xb64):case _0x1e37f0(0xcbe):case _0x1e37f0(0x493):case'LIGHTBULB':_0x167947=0x9;break;case'Z':case'ZZ':case'ZZZ':case _0x1e37f0(0x901):_0x167947=0xa;break;case _0x1e37f0(0xc5f):_0x167947=0xb;break;case'USER-DEFINED\x202':_0x167947=0xc;break;case _0x1e37f0(0xb44):_0x167947=0xd;break;case _0x1e37f0(0xa9d):_0x167947=0xe;break;case _0x1e37f0(0x7fe):_0x167947=0xf;break;}for(const _0x38d505 of _0x5b0631){if('HCZmm'!==_0x1e37f0(0xf5))this['_weaponImageId']=_0x2d13ac,this['_animationCount']=-_0x4f945b,this[_0x1e37f0(0x25d)]=_0x5b5f37,this[_0x1e37f0(0x845)](),this[_0x1e37f0(0xbd1)]();else{if(!_0x38d505)continue;$gameTemp['requestBattleBalloon'](_0x38d505,_0x167947);}}_0xe81257['WaitComplete']&&_0xd95088&&(_0xd95088['wait'](0x1),_0xd95088[_0x1e37f0(0x3dc)](_0x1e37f0(0xa89)));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Animation_BalloonIcon',_0x3de00c=>{const _0x4034cc=_0x208a24;if(!SceneManager[_0x4034cc(0x8c3)]())return;if(!Imported[_0x4034cc(0x88a)])return;VisuMZ[_0x4034cc(0x4f4)](_0x3de00c,_0x3de00c);const _0x112ac2=$gameTemp['getLastPluginCommandInterpreter'](),_0x4cdd44=VisuMZ[_0x4034cc(0x5bd)](_0x3de00c[_0x4034cc(0x83d)]),_0x24b544=_0x3de00c[_0x4034cc(0xb40)];for(const _0x3e525b of _0x4cdd44){if(!_0x3e525b)continue;$gameTemp['requestBattleBalloon'](_0x3e525b,[_0x24b544]);}if(_0x3de00c[_0x4034cc(0xaa2)]&&_0x112ac2){if('AVfVp'===_0x4034cc(0x8b8))_0x112ac2[_0x4034cc(0xac0)](0x1),_0x112ac2[_0x4034cc(0x3dc)](_0x4034cc(0xa89));else{if(!_0x3039f7[_0x4034cc(0x8c3)]())return;_0x24711c[_0x4034cc(0x4f4)](_0x4f65ff,_0x10c742);const _0x440982=_0x8c6153[_0x4034cc(0x6df)](_0x1c70da['Slot']);if(_0x440982<=0x0)return;const _0x19a34c=_0x3387e7['getLastPluginCommandInterpreter'](),_0x8c6153=_0x483724[_0x4034cc(0x64d)],_0x3a61fc=_0x3c155e[_0x4034cc(0x5bd)](_0x2a311e[_0x4034cc(0x83d)]),_0x83fb4f=_0x9d54be[_0x4034cc(0x6f6)],_0x4a0354=_0x5901d7[_0x4034cc(0x46b)];if(!_0x19a34c||!_0x8c6153)return;_0x15a7bf['requestAnimation'](_0x3a61fc,_0x440982,_0x83fb4f),_0x75597e[_0x4034cc(0x610)]&&_0x19a34c[_0x4034cc(0x3dc)](_0x4034cc(0x7d6));}}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0xe5),_0x346313=>{const _0x572b60=_0x208a24;if(!SceneManager[_0x572b60(0x8c3)]())return;if(!Imported['VisuMZ_4_IconBalloons'])return;VisuMZ['ConvertParams'](_0x346313,_0x346313);const _0x463223=$gameTemp[_0x572b60(0xcc)](),_0x3f3227=VisuMZ['CreateActionSequenceTargets'](_0x346313[_0x572b60(0x83d)]),_0x1eeba1=Math[_0x572b60(0x618)](Number(_0x346313[_0x572b60(0x76e)]||0x0),Number(_0x346313['endIcon']||0x0)),_0x1a8192=Math[_0x572b60(0x6db)](Number(_0x346313[_0x572b60(0x76e)]||0x0),Number(_0x346313[_0x572b60(0xa47)]||0x0)),_0xc3bec8=[];for(let _0xcf0c79=_0x1eeba1;_0xcf0c79<=_0x1a8192;_0xcf0c79++){if(_0x572b60(0xd2a)===_0x572b60(0xd2a))_0xc3bec8[_0x572b60(0x7c3)](_0xcf0c79);else{if(_0x36f786[_0x572b60(0x759)][_0x572b60(0xc39)][_0x572b60(0x98d)][_0x572b60(0x8f5)])return _0xb21a1a[_0x572b60(0x759)][_0x572b60(0xc39)][_0x572b60(0x98d)][_0x572b60(0x8f5)][_0x572b60(0x783)](this);return _0x173059['BattleCore'][_0x572b60(0x85b)][_0x572b60(0x783)](this);}}for(const _0x35f259 of _0x3f3227){if(!_0x35f259)continue;$gameTemp['requestBattleBalloon'](_0x35f259,_0xc3bec8);}_0x346313[_0x572b60(0xaa2)]&&_0x463223&&(_0x572b60(0x33c)!==_0x572b60(0x8be)?(_0x463223[_0x572b60(0xac0)](0x1),_0x463223[_0x572b60(0x3dc)]('battleBalloon')):_0x3cf693['Actor']['PrioritySortActors']=!![]);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x2e2),_0x37999a=>{const _0x47d532=_0x208a24;if(!SceneManager[_0x47d532(0x8c3)]())return;if(!Imported[_0x47d532(0x88a)])return;VisuMZ[_0x47d532(0x4f4)](_0x37999a,_0x37999a);const _0x2b0abc=$gameTemp[_0x47d532(0xcc)](),_0x27cb51=VisuMZ[_0x47d532(0x5bd)](_0x37999a['Targets']),_0x3dd1c0=_0x37999a[_0x47d532(0xbae)];for(const _0x55f2f7 of _0x27cb51){if(!_0x55f2f7)continue;$gameTemp[_0x47d532(0x752)](_0x55f2f7,_0x3dd1c0);}_0x37999a['WaitComplete']&&_0x2b0abc&&('xHCAJ'!==_0x47d532(0x6c1)?(_0x2b0abc[_0x47d532(0xac0)](0x1),_0x2b0abc[_0x47d532(0x3dc)]('battleBalloon')):(this[_0x47d532(0xb11)]=this[_0x47d532(0x449)]()[_0x47d532(0x278)](),this['refresh']()));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x58c),_0x55abfd=>{const _0x56d0f6=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x56d0f6(0x4f4)](_0x55abfd,_0x55abfd);const _0x5062be=$gameTemp[_0x56d0f6(0xcc)](),_0x1c9735=BattleManager[_0x56d0f6(0x8fb)],_0x1ad079=_0x55abfd['Mirror'],_0x3d2a0d=VisuMZ[_0x56d0f6(0x5bd)](_0x55abfd[_0x56d0f6(0x83d)]);if(!_0x5062be||!_0x1c9735)return;if(!_0x1c9735[_0x56d0f6(0x8bb)]())return;for(const _0x306853 of _0x3d2a0d){if(!_0x306853)continue;_0x306853[_0x56d0f6(0xb17)](_0x1c9735,_0x1ad079);}if(_0x55abfd[_0x56d0f6(0x610)])_0x5062be[_0x56d0f6(0x3dc)](_0x56d0f6(0x7d6));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x32e),_0x21825b=>{const _0x3a7d62=_0x208a24;VisuMZ[_0x3a7d62(0x4f4)](_0x21825b,_0x21825b);const _0x4e8955=$gameTemp[_0x3a7d62(0xcc)](),_0x3380ae=VisuMZ[_0x3a7d62(0x5bd)](_0x21825b[_0x3a7d62(0x83d)]),_0x5bb010=_0x21825b[_0x3a7d62(0x6e9)];if(!_0x5bb010)return;for(const _0x284325 of _0x3380ae){if('nnISP'!=='KvYPB'){if(!_0x284325)continue;if(!_0x284325[_0x3a7d62(0x9bf)]())continue;_0x284325[_0x3a7d62(0x365)](_0x5bb010);}else this['_actorCommandWindow']['open']();}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Animation_GuardAnimation',_0xed7a7a=>{const _0x9acf87=_0x208a24;if(!SceneManager[_0x9acf87(0x8c3)]())return;VisuMZ['ConvertParams'](_0xed7a7a,_0xed7a7a);const _0x5782d3=$gameTemp['getLastPluginCommandInterpreter'](),_0x48d146=BattleManager[_0x9acf87(0x64d)],_0x119bbd=VisuMZ['CreateActionSequenceTargets'](_0xed7a7a['Targets']),_0x293285=_0xed7a7a[_0x9acf87(0x6f6)];if(!_0x5782d3||!_0x48d146)return;const _0x3a298d=$dataSkilles[_0x48d146[_0x9acf87(0x152)]()],_0x16133f=_0x3a298d[_0x9acf87(0x465)];$gameTemp[_0x9acf87(0x2d8)](_0x119bbd,_0x16133f,_0x293285),_0xed7a7a[_0x9acf87(0x610)]&&_0x5782d3[_0x9acf87(0x3dc)](_0x9acf87(0x7d6));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x4e9),_0x485aed=>{const _0x3f1ff2=_0x208a24;if(!SceneManager[_0x3f1ff2(0x8c3)]())return;VisuMZ[_0x3f1ff2(0x4f4)](_0x485aed,_0x485aed);const _0x2895e7=$gameTemp['getLastPluginCommandInterpreter'](),_0x4b84e0=VisuMZ[_0x3f1ff2(0x5bd)](_0x485aed[_0x3f1ff2(0x83d)]),_0x49b50a=Number(_0x485aed[_0x3f1ff2(0xc68)]||0x1),_0x23c099=$dataItems[_0x49b50a],_0x3184bc=_0x485aed[_0x3f1ff2(0x6f6)];if(!_0x2895e7)return;if(!_0x23c099)return;let _0x250c08=_0x23c099[_0x3f1ff2(0x465)];$gameTemp['requestAnimation'](_0x4b84e0,_0x250c08,_0x3184bc);if(_0x485aed[_0x3f1ff2(0x610)]){if(_0x3f1ff2(0x8e4)!=='Euwpi')_0x2895e7[_0x3f1ff2(0x3dc)](_0x3f1ff2(0x7d6));else{if(_0x5c2a81[_0x3f1ff2(0x32f)][_0x3f1ff2(0x738)]<1.12){let _0x6f22d3='';_0x6f22d3+=_0x3f1ff2(0x426),_0x6f22d3+=_0x3f1ff2(0xd19),_0x6f22d3+=_0x3f1ff2(0x513),_0x563a54(_0x6f22d3),_0x5155fa[_0x3f1ff2(0x1b1)]();}}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x136),_0x59a44d=>{const _0x54015e=_0x208a24;if(!SceneManager[_0x54015e(0xc1b)])return;if(!SceneManager[_0x54015e(0xc1b)][_0x54015e(0xa85)])return;if(!Imported[_0x54015e(0x496)])return;VisuMZ['ConvertParams'](_0x59a44d,_0x59a44d);const _0x54108a=$gameTemp[_0x54015e(0xcc)](),_0x555ecb=Math[_0x54015e(0xd50)](_0x59a44d[_0x54015e(0x393)]),_0x41f7e1=Math['round'](_0x59a44d[_0x54015e(0x167)]);$gameTemp['requestPointAnimation'](_0x555ecb,_0x41f7e1,_0x59a44d[_0x54015e(0x100)],_0x59a44d[_0x54015e(0x6f6)],_0x59a44d[_0x54015e(0xa2e)]);if(_0x59a44d['WaitComplete']&&_0x54108a){if(_0x54015e(0xae2)!=='pBqsR')return this[_0x54015e(0x2bc)];else SceneManager[_0x54015e(0xc1b)][_0x54015e(0xa85)][_0x54015e(0xc61)](),_0x54108a[_0x54015e(0x3dc)](_0x54015e(0x7d6));}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Animation_ShowAnimation',_0x2ac239=>{const _0x4a6c3a=_0x208a24;if(!SceneManager[_0x4a6c3a(0x8c3)]())return;VisuMZ[_0x4a6c3a(0x4f4)](_0x2ac239,_0x2ac239);const _0x4ddbb4=$gameTemp[_0x4a6c3a(0xcc)](),_0xd7f424=VisuMZ[_0x4a6c3a(0x5bd)](_0x2ac239['Targets']),_0x33d3fd=_0x2ac239[_0x4a6c3a(0x100)],_0x28b178=_0x2ac239[_0x4a6c3a(0x6f6)];if(!_0x4ddbb4)return;$gameTemp[_0x4a6c3a(0x2d8)](_0xd7f424,_0x33d3fd,_0x28b178);if(_0x2ac239['WaitForAnimation'])_0x4ddbb4['setWaitMode'](_0x4a6c3a(0x7d6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Animation_ShowAnimationJS',_0xccc659=>{const _0x5edc5b=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x5edc5b(0x4f4)](_0xccc659,_0xccc659);const _0x536012=$gameTemp[_0x5edc5b(0xcc)](),_0x213979=VisuMZ[_0x5edc5b(0x5bd)](_0xccc659[_0x5edc5b(0x83d)]),_0x5bfb61=Number(_0xccc659['AnimationID'])||0x1,_0x33f9b3=_0xccc659[_0x5edc5b(0x6f6)];if(!_0x536012)return;$gameTemp['requestAnimation'](_0x213979,_0x5bfb61,_0x33f9b3);if(_0xccc659[_0x5edc5b(0x610)])_0x536012[_0x5edc5b(0x3dc)](_0x5edc5b(0x7d6));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x22b),_0x2ace01=>{const _0x1b46c7=_0x208a24;if(!SceneManager[_0x1b46c7(0x8c3)]())return;VisuMZ['ConvertParams'](_0x2ace01,_0x2ace01);const _0x2333f8=$gameTemp[_0x1b46c7(0xcc)](),_0x197abd=VisuMZ[_0x1b46c7(0x5bd)](_0x2ace01[_0x1b46c7(0x83d)]),_0x346efc=Number(_0x2ace01[_0x1b46c7(0x82c)]||0x1),_0x42138b=$dataSkills[_0x346efc],_0x47c3d1=_0x2ace01['Mirror'];if(!_0x2333f8)return;if(!_0x42138b)return;let _0x55b49a=_0x42138b[_0x1b46c7(0x465)];$gameTemp[_0x1b46c7(0x2d8)](_0x197abd,_0x55b49a,_0x47c3d1),_0x2ace01['WaitForAnimation']&&_0x2333f8[_0x1b46c7(0x3dc)]('battleAnimation');}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x3f9),_0x532a06=>{const _0x24ae13=_0x208a24;if(!SceneManager['isSceneBattle']())return;const _0x581bb8=$gameTemp[_0x24ae13(0xcc)]();if(!_0x581bb8)return;_0x581bb8[_0x24ae13(0x3dc)](_0x24ae13(0x7d6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x95c),_0x32e39f=>{const _0x5bc43f=_0x208a24;if(!SceneManager[_0x5bc43f(0x8c3)]())return;VisuMZ[_0x5bc43f(0x4f4)](_0x32e39f,_0x32e39f);const _0xf0d1c0=BattleManager[_0x5bc43f(0x46b)],_0x325d54=_0x32e39f[_0x5bc43f(0x6fe)]&&Imported[_0x5bc43f(0xc69)];_0xf0d1c0['addText'](_0x32e39f[_0x5bc43f(0x2bd)]),_0x325d54&&Imported[_0x5bc43f(0xc69)]&&$gameSystem['addTextToCombatLog'](_0x32e39f[_0x5bc43f(0x2bd)]||'',_0x32e39f['CombatLogIcon']||0x0);}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_BattleLog_Clear',_0x1cbab3=>{const _0x5c932b=_0x208a24;if(!SceneManager[_0x5c932b(0x8c3)]())return;const _0x49f89b=BattleManager['_logWindow'];_0x49f89b[_0x5c932b(0xb03)]();}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0xcfe),_0x47178e=>{const _0x43c5bc=_0x208a24;if(!SceneManager[_0x43c5bc(0x8c3)]())return;const _0xc10394=$gameTemp[_0x43c5bc(0xcc)](),_0x508c21=BattleManager[_0x43c5bc(0x8fb)],_0x435c12=BattleManager['_subject'],_0x22e727=BattleManager[_0x43c5bc(0x46b)];if(!_0xc10394||!_0x508c21||!_0x435c12)return;if(!_0x508c21[_0x43c5bc(0x8bb)]())return;_0x22e727[_0x43c5bc(0x734)](_0x435c12,_0x508c21[_0x43c5bc(0x8bb)]()),_0xc10394[_0x43c5bc(0x3dc)](_0x43c5bc(0x4c6));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_BattleLog_PopBaseLine',_0x3c790e=>{const _0x1d9f87=_0x208a24;if(!SceneManager[_0x1d9f87(0x8c3)]())return;const _0x3f9950=BattleManager[_0x1d9f87(0x46b)];_0x3f9950['popBaseLine']();}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x28a),_0x95543b=>{const _0x34af9a=_0x208a24;if(!SceneManager[_0x34af9a(0x8c3)]())return;const _0xe6ce14=BattleManager['_logWindow'];_0xe6ce14[_0x34af9a(0x6dd)]();}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x408),_0x2bc882=>{const _0x3ae771=_0x208a24;if(!SceneManager['isSceneBattle']())return;const _0x457e8f=BattleManager[_0x3ae771(0x46b)];_0x457e8f[_0x3ae771(0xa22)]();}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0xb15),_0xd4ef1=>{const _0x5be7f8=_0x208a24;if(!SceneManager[_0x5be7f8(0x8c3)]())return;VisuMZ[_0x5be7f8(0x4f4)](_0xd4ef1,_0xd4ef1),SceneManager['_scene'][_0x5be7f8(0x19f)](_0xd4ef1[_0x5be7f8(0xa25)]);}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0x8d1),_0x4802de=>{const _0x4011a4=_0x208a24;if(!SceneManager['isSceneBattle']())return;const _0x3007b0=$gameTemp[_0x4011a4(0xcc)]();_0x3007b0['setWaitMode'](_0x4011a4(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x36f),_0x62299d=>{const _0x3633d7=_0x208a24;if(!SceneManager['isSceneBattle']())return;const _0x217d04=$gameTemp[_0x3633d7(0xcc)](),_0x8d71ae=BattleManager[_0x3633d7(0x46b)];_0x8d71ae[_0x3633d7(0xa5d)](),_0x217d04[_0x3633d7(0x3dc)](_0x3633d7(0x4c6));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Camera_Clamp',_0x224326=>{const _0x1b15bd=_0x208a24;if(!SceneManager[_0x1b15bd(0x8c3)]())return;if(!Imported[_0x1b15bd(0x355)])return;VisuMZ['ConvertParams'](_0x224326,_0x224326);const _0x3efb4a=$gameScreen['battleCameraData']();_0x3efb4a[_0x1b15bd(0x97d)]=_0x224326[_0x1b15bd(0xace)];}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xb1c),_0x59a857=>{const _0x31a952=_0x208a24;if(!SceneManager[_0x31a952(0x8c3)]())return;if(!Imported[_0x31a952(0x355)])return;VisuMZ[_0x31a952(0x4f4)](_0x59a857,_0x59a857);const _0x5312ed=$gameTemp[_0x31a952(0xcc)](),_0x95d559=_0x59a857[_0x31a952(0x7fd)];$gameScreen['setBattleCameraPoint'](_0x59a857[_0x31a952(0x926)],_0x59a857[_0x31a952(0xc67)],_0x59a857['Duration'],_0x59a857['EasingType']);if(_0x95d559)_0x5312ed[_0x31a952(0x3dc)](_0x31a952(0xc05));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x384),_0x413e3f=>{const _0x426e91=_0x208a24;if(!SceneManager[_0x426e91(0x8c3)]())return;if(!Imported[_0x426e91(0x355)])return;VisuMZ[_0x426e91(0x4f4)](_0x413e3f,_0x413e3f);const _0x281a85=$gameTemp['getLastPluginCommandInterpreter'](),_0x31f1c7=VisuMZ[_0x426e91(0x5bd)](_0x413e3f[_0x426e91(0x83d)]),_0x184cbf=_0x413e3f[_0x426e91(0x7fd)];$gameScreen[_0x426e91(0x708)](_0x31f1c7,_0x413e3f[_0x426e91(0x2c6)],_0x413e3f[_0x426e91(0x99b)]);if(_0x184cbf)_0x281a85['setWaitMode'](_0x426e91(0xc05));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x9f9),_0x3b5a9c=>{const _0x3cf75a=_0x208a24;if(!SceneManager[_0x3cf75a(0x8c3)]())return;if(!Imported[_0x3cf75a(0x355)])return;VisuMZ[_0x3cf75a(0x4f4)](_0x3b5a9c,_0x3b5a9c);const _0xc5957d=$gameTemp['getLastPluginCommandInterpreter'](),_0x1dffd2=_0x3b5a9c['WaitForCamera'];$gameScreen[_0x3cf75a(0x8d8)](_0x3b5a9c[_0x3cf75a(0x7ae)],_0x3b5a9c[_0x3cf75a(0x153)],_0x3b5a9c[_0x3cf75a(0x2c6)],_0x3b5a9c[_0x3cf75a(0x99b)]);if(_0x1dffd2)_0xc5957d[_0x3cf75a(0x3dc)](_0x3cf75a(0xc05));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Camera_Reset',_0x160419=>{const _0x5907f0=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x5907f0(0x355)])return;VisuMZ['ConvertParams'](_0x160419,_0x160419);const _0x267135=$gameTemp['getLastPluginCommandInterpreter'](),_0xdd9e69=_0x160419['ResetFocus'],_0x4b9e61=_0x160419[_0x5907f0(0x771)],_0x312b02=_0x160419[_0x5907f0(0x7fd)];if(_0xdd9e69){if(_0x5907f0(0x5de)!==_0x5907f0(0x41f)){const _0x407de8=Math[_0x5907f0(0xd50)](Graphics[_0x5907f0(0x4fe)]/0x2),_0x545078=Math[_0x5907f0(0xd50)](Graphics[_0x5907f0(0x1fa)]/0x2);$gameScreen[_0x5907f0(0xcd)](_0x407de8,_0x545078,_0x160419[_0x5907f0(0x2c6)],_0x160419[_0x5907f0(0x99b)]);}else{const _0x1c1f09=this[_0x5907f0(0x4b5)][_0x5907f0(0x867)]['y'];_0x3f61ef-=(_0x1c1f09-0x1)*this[_0x5907f0(0x1fa)];}}_0x4b9e61&&$gameScreen[_0x5907f0(0x8d8)](0x0,0x0,_0x160419['Duration'],_0x160419[_0x5907f0(0x99b)]);if(_0x312b02)_0x267135[_0x5907f0(0x3dc)](_0x5907f0(0xc05));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Camera_WaitForCamera',_0x11a7e7=>{const _0x28621f=_0x208a24;if(!SceneManager[_0x28621f(0x8c3)]())return;if(!Imported[_0x28621f(0x355)])return;const _0x481972=$gameTemp[_0x28621f(0xcc)]();if(!_0x481972)return;_0x481972[_0x28621f(0x3dc)]('battleCamera');}),VisuMZ[_0x208a24(0x759)]['CreateCutinSettings']=function(_0x441829){const _0x39a2d2=_0x208a24;_0x441829['portraitFilename']='';const _0x2b4def=VisuMZ[_0x39a2d2(0x38e)][_0x39a2d2(0x15f)](_0x441829),_0x58545f=VisuMZ[_0x39a2d2(0x5bd)](_0x441829[_0x39a2d2(0x83d)])[0x0]||null;if(_0x58545f){_0x2b4def[_0x39a2d2(0x48d)]=_0x58545f['visualCutinPortraitFilename'](),_0x2b4def[_0x39a2d2(0x316)]=_0x58545f['visualCutinPortraitIndex'](),_0x2b4def[_0x39a2d2(0x656)]=_0x58545f[_0x39a2d2(0xc6c)](),_0x2b4def[_0x39a2d2(0x57a)]=_0x58545f[_0x39a2d2(0xa54)]();if(_0x58545f[_0x39a2d2(0x27a)]()){if(_0x39a2d2(0x6e3)==='TBWui'){const _0x1d40a4=this['_subject'][_0x39a2d2(0xa7b)](),_0x597f0f=this[_0x39a2d2(0x64d)];_0x1d40a4&&_0x1d40a4[_0x39a2d2(0x6a9)]()===_0x597f0f&&_0x1d40a4[_0x39a2d2(0x84e)](_0x39a2d2(0xd5a)),_0x4e94b5[_0x39a2d2(0x759)][_0x39a2d2(0xa9f)]['call'](this),_0x1d40a4&&_0x1d40a4[_0x39a2d2(0x6a9)]()===_0x597f0f&&_0x1d40a4['actionBattleCoreJS'](_0x39a2d2(0xba3));}else _0x58545f['flipVisualCutinHorz']()&&(_0x2b4def['portraitFlipHorz']=!_0x2b4def[_0x39a2d2(0x6d5)]),_0x58545f[_0x39a2d2(0x6c3)]()&&('SEpFR'!==_0x39a2d2(0x896)?(_0x587321['BattleCore'][_0x39a2d2(0x48a)][_0x39a2d2(0x783)](this,_0x30cb6a),this[_0x39a2d2(0x79f)]()):_0x2b4def[_0x39a2d2(0xb7a)]=!_0x2b4def['portraitFlipVert']),_0x2b4def[_0x39a2d2(0x57a)]===_0x39a2d2(0x27c)&&(_0x2b4def['portraitFlipHorz']=!_0x2b4def['portraitFlipHorz']),_0x441829['ExtraSettings'][_0x39a2d2(0x273)]&&(_0x2b4def['parallaxScrollX']*=-0x1),_0x441829[_0x39a2d2(0x4eb)][_0x39a2d2(0x73c)]&&('dZatl'===_0x39a2d2(0xd42)?this[_0x39a2d2(0x8d2)]():_0x2b4def[_0x39a2d2(0x61d)]*=-0x1),_0x2b4def[_0x39a2d2(0x912)]+=_0x441829[_0x39a2d2(0x4eb)][_0x39a2d2(0x45b)]??0x0;}}return _0x2b4def;},PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Cutin_AddVisualCutinEffect',_0x137887=>{const _0x6e281=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x6e281(0x598)])return;VisuMZ[_0x6e281(0x4f4)](_0x137887,_0x137887);const _0x576103=VisuMZ[_0x6e281(0x759)]['CreateCutinSettings'](_0x137887);SceneManager[_0x6e281(0xc1b)][_0x6e281(0x4af)](_0x576103);const _0x156829=$gameTemp[_0x6e281(0xcc)]();if(_0x156829&&_0x137887[_0x6e281(0x35a)]){if(_0x6e281(0x2ea)===_0x6e281(0x4b6))return this[_0x6e281(0xb41)](_0x3a6ca3[0x0],_0x5a0dcc[0x1],_0x3d34b8=>{const _0x2e359d=_0x6e281;!_0x3d34b8[_0x2e359d(0xc47)]()&&(_0x3d34b8[_0x2e359d(0x2be)](_0xa3da4b[0x2],_0x587aca[0x3]),_0x1d8f5d[_0x2e359d(0x2be)](_0x3d34b8));}),!![];else _0x156829[_0x6e281(0x3dc)](_0x6e281(0x68d));}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Cutin_EndVisualCutinEffectAll',_0x133bac=>{const _0x699889=_0x208a24;if(!SceneManager[_0x699889(0x8c3)]())return;if(!Imported[_0x699889(0x598)])return;VisuMZ[_0x699889(0x4f4)](_0x133bac,_0x133bac),SceneManager[_0x699889(0xc1b)]['clearAllVisualCutins']();const _0x1f3133=$gameTemp[_0x699889(0xcc)]();_0x1f3133&&_0x133bac[_0x699889(0x147)]&&_0x1f3133[_0x699889(0x3dc)](_0x699889(0x8b0));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x336),_0x3060b4=>{const _0x26c024=_0x208a24;if(!SceneManager[_0x26c024(0x8c3)]())return;if(!Imported['VisuMZ_3_VisualCutinEffect'])return;VisuMZ['ConvertParams'](_0x3060b4,_0x3060b4);const _0x2f2137=_0x3060b4[_0x26c024(0x4f8)][_0x26c024(0x717)]()[_0x26c024(0x446)]();SceneManager[_0x26c024(0xc1b)][_0x26c024(0x960)](_0x2f2137);const _0x162284=$gameTemp[_0x26c024(0xcc)]();if(_0x162284&&_0x3060b4['WaitForExit']){if('TJdrC'!==_0x26c024(0xaac)){if(this['_battlePortrait']===_0x2d1fe0)this[_0x26c024(0x6e5)]();this[_0x26c024(0xc90)]=_0x1d3816;if(_0x579e2d[_0x26c024(0x8c3)]()&&_0xeb467b[_0x26c024(0x3d9)]()[_0x26c024(0xcaf)](this)){const _0x4deab7=_0x105ade[_0x26c024(0xc1b)]['_statusWindow'];_0x4deab7&&_0x4deab7['refreshActorPortrait'](this);}}else _0x162284['setWaitMode'](_0x26c024(0x8b0));}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Cutin_WaitForEntrance',_0x518a51=>{const _0x142965=_0x208a24;if(!SceneManager[_0x142965(0x8c3)]())return;if(!Imported[_0x142965(0x598)])return;const _0x5170c0=$gameTemp[_0x142965(0xcc)]();_0x5170c0[_0x142965(0x3dc)]('cutinEnter');}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x94e),_0x3de192=>{const _0xf3125c=_0x208a24;if(!SceneManager[_0xf3125c(0x8c3)]())return;if(!Imported['VisuMZ_3_VisualCutinEffect'])return;const _0x507642=$gameTemp[_0xf3125c(0xcc)]();_0x507642[_0xf3125c(0x3dc)]('cutinExit');}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x6c9),_0x36402c=>{const _0x573744=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x573744(0x56a)])return;VisuMZ[_0x573744(0x4f4)](_0x36402c,_0x36402c);const _0x520dbe=VisuMZ[_0x573744(0x5bd)](_0x36402c[_0x573744(0x83d)]),_0x1e550a=_0x36402c[_0x573744(0x45d)][_0x573744(0x717)]()[_0x573744(0x446)]();for(const _0x5971bc of _0x520dbe){if(_0x573744(0x2af)===_0x573744(0x2af)){if(!_0x5971bc)continue;_0x5971bc[_0x573744(0xaf0)](_0x1e550a);}else _0x1337e6=_0x150f7c[_0x573744(0x40a)](_0x3728d7);}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0xc7c),_0x682903=>{const _0x5e7bed=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x5e7bed(0x56a)])return;VisuMZ[_0x5e7bed(0x4f4)](_0x682903,_0x682903);const _0x4a438d=VisuMZ[_0x5e7bed(0x5bd)](_0x682903[_0x5e7bed(0x83d)]),_0x20767f=_0x682903[_0x5e7bed(0x217)];for(const _0x2d73c4 of _0x4a438d){if(!_0x2d73c4)continue;_0x2d73c4[_0x5e7bed(0x6b7)]()[_0x5e7bed(0x4cb)]=_0x20767f;}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0xcdd),_0x1d462d=>{const _0x41d8d9=_0x208a24;if(!SceneManager[_0x41d8d9(0x8c3)]())return;if(!Imported[_0x41d8d9(0x218)])return;VisuMZ[_0x41d8d9(0x4f4)](_0x1d462d,_0x1d462d);const _0x24b44b=BattleManager[_0x41d8d9(0x8fb)],_0x3cfe22=_0x1d462d[_0x41d8d9(0x480)];if(!_0x24b44b)return;_0x24b44b['_battleCoreAddedElements']=_0x3cfe22;}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0x234),_0x4fb518=>{const _0x2bab31=_0x208a24;if(!SceneManager[_0x2bab31(0x8c3)]())return;if(!Imported[_0x2bab31(0x218)])return;const _0x5e05a8=BattleManager[_0x2bab31(0x8fb)];if(!_0x5e05a8)return;_0x5e05a8['clearElementChanges']();}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x187),_0x30af38=>{const _0x46f88c=_0x208a24;if(!SceneManager[_0x46f88c(0x8c3)]())return;if(!Imported[_0x46f88c(0x218)])return;VisuMZ['ConvertParams'](_0x30af38,_0x30af38);const _0x41a07c=BattleManager[_0x46f88c(0x8fb)],_0x4d2cc9=_0x30af38[_0x46f88c(0x480)];if(!_0x41a07c)return;_0x41a07c['_battleCoreForcedElements']=_0x4d2cc9;}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xa20),_0xe94aaf=>{const _0x113438=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x113438(0x218)])return;const _0x1c766a=BattleManager['_action'];if(!_0x1c766a)return;_0x1c766a[_0x113438(0xcd3)]=!![];}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x247),_0x3f50a6=>{const _0x29dfb9=_0x208a24;VisuMZ[_0x29dfb9(0x74e)][_0x29dfb9(0x247)](_0x3f50a6);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Grid_AddPassiveStatesToNode',_0x1c5988=>{const _0xabb006=_0x208a24;VisuMZ['BattleGridSystem'][_0xabb006(0x24d)](_0x1c5988);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xce1),_0x34f74f=>{const _0x236c8e=_0x208a24;VisuMZ[_0x236c8e(0x74e)][_0x236c8e(0xce1)](_0x34f74f);}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x33f),_0x5cba50=>{const _0x1b21c2=_0x208a24;VisuMZ['BattleGridSystem'][_0x1b21c2(0x33f)](_0x5cba50);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Grid_AnimationJsAtNode',_0x12c7b7=>{const _0x33d9b1=_0x208a24;VisuMZ[_0x33d9b1(0x74e)][_0x33d9b1(0x5bb)](_0x12c7b7);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x5ed),_0x52446b=>{const _0x571c97=_0x208a24;VisuMZ[_0x571c97(0x74e)]['ActSeq_Grid_AnimationTypeAtNode'](_0x52446b);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xb65),_0x74f5b3=>{const _0x3819cd=_0x208a24;VisuMZ[_0x3819cd(0x74e)][_0x3819cd(0xb65)](_0x74f5b3);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Grid_MoveTargetsInDirection',_0x426c2f=>{const _0x314fcf=_0x208a24;VisuMZ['BattleGridSystem'][_0x314fcf(0x50a)](_0x426c2f);}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Grid_PullToTargetNode',_0x4259a1=>{const _0x451c72=_0x208a24;VisuMZ[_0x451c72(0x74e)][_0x451c72(0x589)](_0x4259a1);}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x186),_0x404450=>{const _0x4dcfc6=_0x208a24;VisuMZ[_0x4dcfc6(0x74e)][_0x4dcfc6(0x186)](_0x404450);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x507),_0x3bf660=>{const _0x2b3641=_0x208a24;VisuMZ[_0x2b3641(0x74e)][_0x2b3641(0x507)](_0x3bf660);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x388),_0x47a0f6=>{const _0x54a2b1=_0x208a24;VisuMZ[_0x54a2b1(0x74e)]['ActSeq_Grid_RemoveTriggerFromNode'](_0x47a0f6);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x14e),_0x492332=>{VisuMZ['BattleGridSystem']['ActSeq_Grid_TeleportToNode'](_0x492332);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x4b9),_0x27bc5a=>{const _0x13604a=_0x208a24;VisuMZ[_0x13604a(0x74e)][_0x13604a(0x4b9)](_0x27bc5a);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Horror_Clear',_0x26591a=>{const _0x247d7f=_0x208a24;if(!Imported['VisuMZ_2_HorrorEffects'])return;if(!SceneManager[_0x247d7f(0x8c3)]())return;VisuMZ[_0x247d7f(0x4f4)](_0x26591a,_0x26591a);const _0x444c42=VisuMZ[_0x247d7f(0x5bd)](_0x26591a[_0x247d7f(0x83d)]);for(const _0x2226db of _0x444c42){if(!_0x2226db)continue;_0x2226db[_0x247d7f(0xcd4)](_0x247d7f(0x550)),_0x2226db[_0x247d7f(0xcd4)](_0x247d7f(0x7f2)),_0x2226db[_0x247d7f(0xcd4)]('tv'),_0x2226db[_0x247d7f(0xa05)]();}$gamePlayer[_0x247d7f(0xa22)]();}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x951),_0x1c20ce=>{const _0x57f2ac=_0x208a24;if(!Imported[_0x57f2ac(0xa8d)])return;if(!SceneManager[_0x57f2ac(0x8c3)]())return;VisuMZ[_0x57f2ac(0x4f4)](_0x1c20ce,_0x1c20ce);const _0x597992=VisuMZ['CreateActionSequenceTargets'](_0x1c20ce[_0x57f2ac(0x83d)]),_0xac6d51=_0x57f2ac(0x7f2);_0x1c20ce[_0x57f2ac(0xc4a)]=Math['ceil'](_0x1c20ce['slices']/0x2),_0x1c20ce['sliceMax']=_0x1c20ce[_0x57f2ac(0x4b4)],_0x1c20ce[_0x57f2ac(0x557)]=!![];for(const _0x4478d9 of _0x597992){if(!_0x4478d9)continue;_0x4478d9[_0x57f2ac(0x193)](_0xac6d51,_0x1c20ce);}$gamePlayer['refresh']();}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x9f3),_0x11c67b=>{const _0x1b3e75=_0x208a24;if(!Imported[_0x1b3e75(0xa8d)])return;if(!SceneManager[_0x1b3e75(0x8c3)]())return;VisuMZ[_0x1b3e75(0x4f4)](_0x11c67b,_0x11c67b);const _0x40503e=VisuMZ[_0x1b3e75(0x5bd)](_0x11c67b[_0x1b3e75(0x83d)]);for(const _0x516766 of _0x40503e){if(!_0x516766)continue;_0x516766[_0x1b3e75(0xcd4)](_0x1b3e75(0x7f2));}$gamePlayer[_0x1b3e75(0xa22)]();}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x150),_0x2e250d=>{const _0x380045=_0x208a24;if(!Imported[_0x380045(0xa8d)])return;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x380045(0x4f4)](_0x2e250d,_0x2e250d);const _0x52fdbe=VisuMZ['CreateActionSequenceTargets'](_0x2e250d['Targets']),_0x3cc7a0='noise';for(const _0x121bdf of _0x52fdbe){if('PeWfL'!=='lcsbp'){if(!_0x121bdf)continue;_0x121bdf[_0x380045(0x193)](_0x3cc7a0,_0x2e250d);}else{let _0x5e8d9c=_0x276208(_0x366415['$1'])[_0x380045(0x51f)](/,/g,'')['toUpperCase']()[_0x380045(0x446)]();_0x2b3e45[_0x380045(0x759)]['_commonEventKey'][_0x5e8d9c]=_0xa0d025['id'];}}$gamePlayer['refresh']();}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0xa8c),_0x11fc04=>{const _0x14f16e=_0x208a24;if(!Imported[_0x14f16e(0xa8d)])return;if(!SceneManager[_0x14f16e(0x8c3)]())return;VisuMZ[_0x14f16e(0x4f4)](_0x11fc04,_0x11fc04);const _0x179a7a=VisuMZ['CreateActionSequenceTargets'](_0x11fc04[_0x14f16e(0x83d)]);for(const _0x10e7d4 of _0x179a7a){if(!_0x10e7d4)continue;_0x10e7d4[_0x14f16e(0xcd4)](_0x14f16e(0x550));}$gamePlayer[_0x14f16e(0xa22)]();}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x8d5),_0x17ef9b=>{const _0x746926=_0x208a24;if(!Imported[_0x746926(0xa8d)])return;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x746926(0x4f4)](_0x17ef9b,_0x17ef9b);const _0x1dc8fc=VisuMZ[_0x746926(0x5bd)](_0x17ef9b[_0x746926(0x83d)]),_0x2f35b0='tv';for(const _0x30726c of _0x1dc8fc){if(!_0x30726c)continue;_0x30726c[_0x746926(0x193)](_0x2f35b0,_0x17ef9b);}$gamePlayer[_0x746926(0xa22)]();}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Horror_TVRemove',_0x3266f6=>{const _0x19d5af=_0x208a24;if(!Imported['VisuMZ_2_HorrorEffects'])return;if(!SceneManager['isSceneBattle']())return;VisuMZ['ConvertParams'](_0x3266f6,_0x3266f6);const _0x5f07b6=VisuMZ[_0x19d5af(0x5bd)](_0x3266f6['Targets']);for(const _0x5bb255 of _0x5f07b6){if(!_0x5bb255)continue;_0x5bb255[_0x19d5af(0xcd4)]('tv');}$gamePlayer[_0x19d5af(0xa22)]();}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Impact_BlueRedInvert',_0x430a1b=>{const _0x4c4d5d=_0x208a24;if(!Imported[_0x4c4d5d(0x4a6)])return;const _0x5f214a=SceneManager[_0x4c4d5d(0xc1b)]['_spriteset'];if(!_0x5f214a)return;if(VisuMZ['ActSeqImpact'][_0x4c4d5d(0x738)]<=1.04){if('OAJpi'==='gRWuJ')this[_0x4c4d5d(0xca)][_0x4c4d5d(0x3b3)]=![];else{alert('Action\x20Sequence\x20Impact\x20needs\x20an\x20update!'),SceneManager[_0x4c4d5d(0x1b1)]();return;}}VisuMZ[_0x4c4d5d(0x4f4)](_0x430a1b,_0x430a1b);const _0x8198f=_0x430a1b[_0x4c4d5d(0x397)];_0x5f214a[_0x4c4d5d(0xb50)](_0x8198f);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Impact_ColorBreak',_0xe4276e=>{const _0x575761=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x575761(0x4a6)])return;const _0x1dd0c5=SceneManager[_0x575761(0xc1b)][_0x575761(0xa85)];if(!_0x1dd0c5)return;VisuMZ[_0x575761(0x4f4)](_0xe4276e,_0xe4276e);const _0x1c087c=_0xe4276e[_0x575761(0x207)]||0x1,_0x5e92a3=_0xe4276e[_0x575761(0x2c6)]||0x1,_0x910485=_0xe4276e['EasingType']||_0x575761(0xc0e);_0x1dd0c5[_0x575761(0xba2)](_0x1c087c,_0x5e92a3,_0x910485);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Impact_Desaturate',_0x26ecad=>{const _0x3f2140=_0x208a24;if(!Imported['VisuMZ_3_ActSeqImpact'])return;const _0x29cd36=SceneManager[_0x3f2140(0xc1b)][_0x3f2140(0xa85)];if(!_0x29cd36)return;if(VisuMZ[_0x3f2140(0x826)][_0x3f2140(0x738)]<=1.04){if(_0x3f2140(0x237)!==_0x3f2140(0x237))_0x48e86a[_0x3f2140(0x70e)](_0x4d6f19,_0x3c6f60,_0x1aa7ed,_0x34bda2,_0x4be21d,-0x1),this[_0x3f2140(0xd9)]();else{alert('Action\x20Sequence\x20Impact\x20needs\x20an\x20update!'),SceneManager[_0x3f2140(0x1b1)]();return;}}VisuMZ[_0x3f2140(0x4f4)](_0x26ecad,_0x26ecad);const _0x1a1693=_0x26ecad['Enable'];_0x29cd36[_0x3f2140(0xbf3)](_0x1a1693);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xb7e),_0x35f7f6=>{const _0x599c91=_0x208a24;if(!SceneManager[_0x599c91(0x8c3)]())return;if(!Imported[_0x599c91(0x4a6)])return;const _0x9e6f37=SceneManager[_0x599c91(0xc1b)][_0x599c91(0xa85)];if(!_0x9e6f37)return;VisuMZ['ConvertParams'](_0x35f7f6,_0x35f7f6);const _0x1b4bd9=Number(_0x35f7f6['Angle'])||0x0,_0x2793ea=Number(_0x35f7f6[_0x599c91(0xd5)]),_0x210db0=_0x35f7f6['Duration']||0x1,_0x74f1b9=_0x35f7f6[_0x599c91(0x99b)]||_0x599c91(0xc0e);_0x9e6f37[_0x599c91(0x9f4)](_0x1b4bd9,_0x2793ea,_0x210db0,_0x74f1b9);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x3c8),_0x557cbd=>{const _0x2ecb6c=_0x208a24;if(!SceneManager[_0x2ecb6c(0x8c3)]())return;if(!Imported['VisuMZ_3_ActSeqImpact'])return;const _0x17e0d4=SceneManager[_0x2ecb6c(0xc1b)][_0x2ecb6c(0xa85)];if(!_0x17e0d4)return;VisuMZ['ConvertParams'](_0x557cbd,_0x557cbd);const _0xcc8b4=Number(_0x557cbd[_0x2ecb6c(0xbe2)])||0x0,_0x2104ed=Number(_0x557cbd['Rate']),_0x3e426d=_0x557cbd[_0x2ecb6c(0x2c6)]||0x1,_0x40022f=_0x557cbd[_0x2ecb6c(0x99b)]||_0x2ecb6c(0xc0e),_0x25daa3=VisuMZ[_0x2ecb6c(0x5bd)](_0x557cbd['Targets']);for(const _0x259ec9 of _0x25daa3){if('dLSmn'===_0x2ecb6c(0xae3)){if(!_0x259ec9)continue;if(!_0x259ec9[_0x2ecb6c(0xd08)]())continue;_0x259ec9[_0x2ecb6c(0xd08)]()['setupMotionBlurImpactFilter'](_0xcc8b4,_0x2104ed,_0x3e426d,_0x40022f);}else{_0x14204a['prototype'][_0x2ecb6c(0x3f6)]['call'](this,_0x1681b2);if(this[_0x2ecb6c(0x814)]())this[_0x2ecb6c(0x797)](_0x3a7ad5);}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x2c8),_0x18dddb=>{const _0x42ecd6=_0x208a24;if(!SceneManager[_0x42ecd6(0x8c3)]())return;if(!Imported[_0x42ecd6(0x4a6)])return;VisuMZ[_0x42ecd6(0x4f4)](_0x18dddb,_0x18dddb);const _0x283e0f={'delay':_0x18dddb[_0x42ecd6(0x2d7)],'duration':_0x18dddb['duration'],'hue':_0x18dddb[_0x42ecd6(0xd41)],'opacityStart':_0x18dddb['opacityStart'],'tone':_0x18dddb[_0x42ecd6(0xa92)],'visible':!![]},_0xc2c54c=VisuMZ['CreateActionSequenceTargets'](_0x18dddb[_0x42ecd6(0x83d)]);for(const _0xf4b596 of _0xc2c54c){if(!_0xf4b596)continue;_0xf4b596[_0x42ecd6(0x723)](_0x283e0f);}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Impact_MotionTrailRemove',_0x3a4a85=>{const _0x2ff8b9=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported['VisuMZ_3_ActSeqImpact'])return;VisuMZ['ConvertParams'](_0x3a4a85,_0x3a4a85);const _0x7b1a9f=VisuMZ[_0x2ff8b9(0x5bd)](_0x3a4a85[_0x2ff8b9(0x83d)]);for(const _0x575da4 of _0x7b1a9f){if(_0x2ff8b9(0x48c)!==_0x2ff8b9(0xa3b)){if(!_0x575da4)continue;_0x575da4[_0x2ff8b9(0xb60)]();}else _0x47f2ba[_0x2ff8b9(0x759)][_0x2ff8b9(0xb49)][_0x2ff8b9(0x783)](this),this[_0x2ff8b9(0x17f)]();}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xd47),_0x1feffa=>{const _0x5bddaf=_0x208a24;if(!Imported[_0x5bddaf(0x4a6)])return;const _0x568d5a=SceneManager['_scene'][_0x5bddaf(0xa85)];if(!_0x568d5a)return;if(VisuMZ[_0x5bddaf(0x826)]['version']<=1.04){alert(_0x5bddaf(0xb94)),SceneManager[_0x5bddaf(0x1b1)]();return;}VisuMZ[_0x5bddaf(0x4f4)](_0x1feffa,_0x1feffa);const _0x19d1a6=_0x1feffa[_0x5bddaf(0x397)];_0x568d5a[_0x5bddaf(0x224)](_0x19d1a6);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x3e4),_0x406e1f=>{const _0x490755=_0x208a24;if(!Imported[_0x490755(0x4a6)])return;const _0x3b5b01=SceneManager['_scene'][_0x490755(0xa85)];if(!_0x3b5b01)return;if(VisuMZ[_0x490755(0x826)]['version']<=1.04){alert(_0x490755(0xb94)),SceneManager['exit']();return;}VisuMZ[_0x490755(0x4f4)](_0x406e1f,_0x406e1f);const _0x106b27=_0x406e1f['Enable'];_0x3b5b01[_0x490755(0x14a)](_0x106b27);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xc74),_0x3510c5=>{const _0x344c5d=_0x208a24;if(!Imported[_0x344c5d(0x4a6)])return;const _0x31be57=SceneManager[_0x344c5d(0xc1b)][_0x344c5d(0xa85)];if(!_0x31be57)return;VisuMZ[_0x344c5d(0x4f4)](_0x3510c5,_0x3510c5);const _0x3d1ebf=_0x3510c5['X']||0x0,_0x14b858=_0x3510c5['Y']||0x0,_0x53bff5=_0x3510c5[_0x344c5d(0x299)]||0x0,_0x30c869=_0x3510c5[_0x344c5d(0x201)]||0x0,_0x186c96=_0x3510c5[_0x344c5d(0x2c6)]||0x1;_0x31be57[_0x344c5d(0xc38)](_0x3d1ebf,_0x14b858,_0x53bff5,_0x30c869,_0x186c96);}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x47b),_0x1f8dd4=>{const _0x348126=_0x208a24;if(!SceneManager[_0x348126(0x8c3)]())return;if(!Imported[_0x348126(0x4a6)])return;const _0x33098c=SceneManager[_0x348126(0xc1b)][_0x348126(0xa85)];if(!_0x33098c)return;VisuMZ[_0x348126(0x4f4)](_0x1f8dd4,_0x1f8dd4);const _0x3f128e=VisuMZ[_0x348126(0x5bd)](_0x1f8dd4[_0x348126(0x83d)]),_0x57a48c=_0x1f8dd4[_0x348126(0x427)],_0x23d546=_0x1f8dd4[_0x348126(0x7ae)]||0x0,_0x6691e9=_0x1f8dd4[_0x348126(0x153)]||0x0,_0xf9f36e=_0x1f8dd4[_0x348126(0x299)]||0x0,_0x5f1952=_0x1f8dd4[_0x348126(0x201)]||0x0,_0x225990=_0x1f8dd4[_0x348126(0x2c6)]||0x1;for(const _0x410dfd of _0x3f128e){if(!_0x410dfd)continue;if(!_0x410dfd['battler']())continue;const _0x3d7b4e=_0x410dfd[_0x348126(0xd08)]();let _0x4fc953=_0x3d7b4e['_baseX'],_0x55b313=_0x3d7b4e['_baseY'];_0x4fc953+=(Graphics[_0x348126(0x4fe)]-Graphics[_0x348126(0xa53)])/0x2,_0x55b313+=(Graphics[_0x348126(0x1fa)]-Graphics[_0x348126(0x833)])/0x2;if(_0x57a48c[_0x348126(0x7fc)](/front/i))_0x348126(0xc94)===_0x348126(0xc7f)?(_0x73e521['width']=_0x2ddeaa(_0xd73fad['$1']),_0x1879fd[_0x348126(0x1fa)]=_0x9be3c5(_0x27a485['$2'])):_0x4fc953+=(_0x410dfd[_0x348126(0x27a)]()?0x1:-0x1)*_0x3d7b4e[_0x348126(0x68b)]()/0x2;else _0x57a48c[_0x348126(0x7fc)](/back/i)&&(_0x4fc953+=(_0x410dfd[_0x348126(0x27a)]()?-0x1:0x1)*_0x3d7b4e['mainSpriteWidth']()/0x2);if(_0x57a48c[_0x348126(0x7fc)](/head/i))_0x55b313-=_0x3d7b4e[_0x348126(0x536)]();else _0x57a48c['match'](/center/i)&&(_0x55b313-=_0x3d7b4e[_0x348126(0x536)]()/0x2);_0x4fc953+=_0x23d546,_0x55b313+=_0x6691e9,_0x33098c[_0x348126(0xc38)](_0x4fc953,_0x55b313,_0xf9f36e,_0x5f1952,_0x225990);}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x6e2),_0x3cb589=>{const _0x53f3f4=_0x208a24;if(!SceneManager[_0x53f3f4(0x8c3)]())return;if(!Imported[_0x53f3f4(0x4a6)])return;const _0x52b311=SceneManager[_0x53f3f4(0xc1b)][_0x53f3f4(0xa85)];if(!_0x52b311)return;VisuMZ[_0x53f3f4(0x4f4)](_0x3cb589,_0x3cb589);const _0x3decbd=VisuMZ[_0x53f3f4(0x5bd)](_0x3cb589[_0x53f3f4(0x83d)]),_0x5523a7=_0x3cb589[_0x53f3f4(0x427)],_0xcac682=_0x3cb589[_0x53f3f4(0x7ae)]||0x0,_0x4135bf=_0x3cb589[_0x53f3f4(0x153)]||0x0,_0x1250fb=_0x3cb589[_0x53f3f4(0x299)]||0x0,_0x5144b3=_0x3cb589[_0x53f3f4(0x201)]||0x0,_0x102ad5=_0x3cb589[_0x53f3f4(0x2c6)]||0x1,_0x3872bc=Math[_0x53f3f4(0x618)](..._0x3decbd[_0x53f3f4(0x58e)](_0xaf69e3=>_0xaf69e3[_0x53f3f4(0xd08)]()[_0x53f3f4(0x169)]-_0xaf69e3[_0x53f3f4(0xd08)]()[_0x53f3f4(0x68b)]()/0x2)),_0x37a603=Math[_0x53f3f4(0x6db)](..._0x3decbd['map'](_0x446401=>_0x446401[_0x53f3f4(0xd08)]()[_0x53f3f4(0x169)]+_0x446401[_0x53f3f4(0xd08)]()[_0x53f3f4(0x68b)]()/0x2)),_0x2c25a6=Math[_0x53f3f4(0x618)](..._0x3decbd['map'](_0x2ee894=>_0x2ee894[_0x53f3f4(0xd08)]()[_0x53f3f4(0x832)]-_0x2ee894[_0x53f3f4(0xd08)]()[_0x53f3f4(0x536)]())),_0x32b2cb=Math[_0x53f3f4(0x6db)](..._0x3decbd[_0x53f3f4(0x58e)](_0xdddb2d=>_0xdddb2d[_0x53f3f4(0xd08)]()[_0x53f3f4(0x832)])),_0x554f3f=_0x3decbd[_0x53f3f4(0x5a8)](_0x2c4254=>_0x2c4254['isActor']())[_0x53f3f4(0x1ba)],_0x51ddb1=_0x3decbd[_0x53f3f4(0x5a8)](_0x1ee8fc=>_0x1ee8fc[_0x53f3f4(0x27a)]())[_0x53f3f4(0x1ba)];let _0x1929cd=0x0,_0x38a7d7=0x0;if(_0x5523a7['match'](/front/i))_0x1929cd=_0x554f3f>=_0x51ddb1?_0x3872bc:_0x37a603;else{if(_0x5523a7['match'](/middle/i))_0x53f3f4(0xb6)!=='Gjwil'?(_0x1929cd=(_0x3872bc+_0x37a603)/0x2,melee=-0x1):_0x1bb7bc[_0x53f3f4(0x176)]&&(this[_0x53f3f4(0x7c3)](_0x53f3f4(0x85c)),this['push'](_0x53f3f4(0x7c9)),this['push'](_0x53f3f4(0x6dd)),this[_0x53f3f4(0x7c3)](_0x53f3f4(0x9a1),_0x32f817[_0x53f3f4(0x176)][_0x53f3f4(0x75a)](_0x4d8b95[_0x53f3f4(0x278)]())),this[_0x53f3f4(0x7c3)](_0x53f3f4(0xac0)));else _0x5523a7[_0x53f3f4(0x7fc)](/back/i)&&(_0x1929cd=_0x554f3f>=_0x51ddb1?_0x37a603:_0x3872bc);}if(_0x5523a7[_0x53f3f4(0x7fc)](/head/i))_0x38a7d7=_0x2c25a6;else{if(_0x5523a7[_0x53f3f4(0x7fc)](/center/i)){if(_0x53f3f4(0x2d6)==='DLEDQ')return this[_0x53f3f4(0x62e)]()[_0x53f3f4(0x6c4)]['match'](/<BATTLE COMMANDS>\s*([\s\S]*)\s*<\/BATTLE COMMANDS>/i)?_0x19e7ba(_0x36ddf0['$1'])[_0x53f3f4(0xc85)](/[\r\n]+/):_0x191bd4[_0x53f3f4(0x759)][_0x53f3f4(0xc39)]['ActorCmd'][_0x53f3f4(0x949)];else _0x38a7d7=(_0x2c25a6+_0x32b2cb)/0x2;}else{if(_0x5523a7[_0x53f3f4(0x7fc)](/base/i)){if(_0x53f3f4(0xa60)===_0x53f3f4(0xd37)){const _0x39cd8f=[];for(const _0x3d74aa of this[_0x53f3f4(0x449)]()['actions']){const _0x2b4eef=_0x1b0fd8[_0x3d74aa['skillId']];if(_0x2b4eef&&!_0x39cd8f[_0x53f3f4(0xcaf)](_0x2b4eef))_0x39cd8f['push'](_0x2b4eef);}return _0x39cd8f;}else _0x38a7d7=_0x32b2cb;}}}_0x1929cd+=(Graphics['width']-Graphics[_0x53f3f4(0xa53)])/0x2,_0x38a7d7+=(Graphics['height']-Graphics[_0x53f3f4(0x833)])/0x2,_0x1929cd+=_0xcac682,_0x38a7d7+=_0x4135bf,_0x52b311[_0x53f3f4(0xc38)](_0x1929cd,_0x38a7d7,_0x1250fb,_0x5144b3,_0x102ad5);}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0x4fb),_0x2a9258=>{const _0x5256f9=_0x208a24;if(!Imported[_0x5256f9(0x4a6)])return;const _0x143ac2=SceneManager['_scene'][_0x5256f9(0xa85)];if(!_0x143ac2)return;if(VisuMZ[_0x5256f9(0x826)][_0x5256f9(0x738)]<=1.04){alert(_0x5256f9(0xb94)),SceneManager[_0x5256f9(0x1b1)]();return;}VisuMZ[_0x5256f9(0x4f4)](_0x2a9258,_0x2a9258);const _0x28ca96=$gameTemp['getLastPluginCommandInterpreter'](),_0x1f0424=Math['max'](0.01,_0x2a9258[_0x5256f9(0xab2)]);$gameTemp[_0x5256f9(0x982)](_0x1f0424,_0x28ca96);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x82e),_0xd27f3a=>{const _0x1a96fb=_0x208a24;if(!Imported['VisuMZ_3_ActSeqImpact'])return;const _0x5b2f12=SceneManager['_scene']['_spriteset'];if(!_0x5b2f12)return;if(VisuMZ[_0x1a96fb(0x826)][_0x1a96fb(0x738)]<=1.04){if(_0x1a96fb(0x485)===_0x1a96fb(0x940))this[_0x1a96fb(0x7c3)](_0x1a96fb(0xd4a),_0x46707d);else{alert(_0x1a96fb(0xb94)),SceneManager[_0x1a96fb(0x1b1)]();return;}}VisuMZ[_0x1a96fb(0x4f4)](_0xd27f3a,_0xd27f3a);const _0x54ffa2=$gameTemp[_0x1a96fb(0xcc)](),_0x4b5280=_0xd27f3a['ms']||0x1;VisuMZ[_0x1a96fb(0x826)][_0x1a96fb(0xd4f)](_0x4b5280,_0x54ffa2);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xc31),_0x1acc8f=>{const _0x4b933e=_0x208a24;if(!Imported[_0x4b933e(0x4a6)])return;const _0x155580=SceneManager[_0x4b933e(0xc1b)]['_spriteset'];if(!_0x155580)return;VisuMZ[_0x4b933e(0x4f4)](_0x1acc8f,_0x1acc8f);const _0x375d0e=_0x1acc8f['X']||0x0,_0x22d3a3=_0x1acc8f['Y']||0x0,_0x3c111d=_0x1acc8f[_0x4b933e(0x34b)]||0x0,_0x4fd20b=_0x1acc8f['Radius']||0x0,_0x43b6a4=_0x1acc8f[_0x4b933e(0x2c6)]||0x1,_0x24dd49=_0x1acc8f[_0x4b933e(0x99b)]||_0x4b933e(0xc0e);_0x155580[_0x4b933e(0xc55)](_0x3c111d,_0x375d0e,_0x22d3a3,_0x4fd20b,_0x43b6a4,_0x24dd49);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x8e7),_0x30205e=>{const _0x2888f2=_0x208a24;if(!Imported[_0x2888f2(0x4a6)])return;const _0x5869cb=SceneManager[_0x2888f2(0xc1b)][_0x2888f2(0xa85)];if(!_0x5869cb)return;VisuMZ[_0x2888f2(0x4f4)](_0x30205e,_0x30205e);const _0x1c63b8=VisuMZ[_0x2888f2(0x5bd)](_0x30205e[_0x2888f2(0x83d)]),_0x244f5d=_0x30205e['TargetLocation'],_0x570f1d=_0x30205e[_0x2888f2(0x7ae)]||0x0,_0x2130b8=_0x30205e[_0x2888f2(0x153)]||0x0,_0x1eb30f=_0x30205e[_0x2888f2(0x34b)]||0x0,_0x4dc773=_0x30205e[_0x2888f2(0x3b7)]||0x0,_0x23b6c5=_0x30205e[_0x2888f2(0x2c6)]||0x1,_0x4659c5=_0x30205e[_0x2888f2(0x99b)]||_0x2888f2(0xc0e),_0x5624ec=Math['min'](..._0x1c63b8['map'](_0x2e2a00=>_0x2e2a00[_0x2888f2(0xd08)]()[_0x2888f2(0x169)]-_0x2e2a00['battler']()[_0x2888f2(0x68b)]()/0x2)),_0x397119=Math[_0x2888f2(0x6db)](..._0x1c63b8[_0x2888f2(0x58e)](_0x1bb736=>_0x1bb736['battler']()[_0x2888f2(0x169)]+_0x1bb736['battler']()[_0x2888f2(0x68b)]()/0x2)),_0x28dfb7=Math[_0x2888f2(0x618)](..._0x1c63b8[_0x2888f2(0x58e)](_0x6afc52=>_0x6afc52['battler']()[_0x2888f2(0x832)]-_0x6afc52['battler']()['mainSpriteHeight']())),_0x4f05bd=Math[_0x2888f2(0x6db)](..._0x1c63b8[_0x2888f2(0x58e)](_0x5b0d44=>_0x5b0d44[_0x2888f2(0xd08)]()['_baseY'])),_0x546776=_0x1c63b8[_0x2888f2(0x5a8)](_0x262dac=>_0x262dac[_0x2888f2(0x9bf)]())[_0x2888f2(0x1ba)],_0x36af18=_0x1c63b8[_0x2888f2(0x5a8)](_0x564d26=>_0x564d26[_0x2888f2(0x27a)]())[_0x2888f2(0x1ba)];let _0x206013=0x0,_0x406437=0x0;if(_0x244f5d[_0x2888f2(0x7fc)](/front/i))_0x206013=_0x546776>=_0x36af18?_0x5624ec:_0x397119;else{if(_0x244f5d[_0x2888f2(0x7fc)](/middle/i))_0x206013=(_0x5624ec+_0x397119)/0x2,melee=-0x1;else _0x244f5d[_0x2888f2(0x7fc)](/back/i)&&(_0x206013=_0x546776>=_0x36af18?_0x397119:_0x5624ec);}if(_0x244f5d[_0x2888f2(0x7fc)](/head/i))_0x406437=_0x28dfb7;else{if(_0x244f5d['match'](/center/i)){if(_0x2888f2(0xb58)!==_0x2888f2(0xb58)){_0x2ab409[_0x2888f2(0x759)]['Game_Action_itemEffectAddNormalState'][_0x2888f2(0x783)](this,_0x2b6374,_0x548641);if(!_0x2808e4[_0x2888f2(0x9cd)]())return;if(_0x62f5e2[_0x2888f2(0x28e)]!==_0x1d69c4[_0x2888f2(0xcb5)]())return;let _0x425d0e=_0x16bb07[_0x2888f2(0x615)];!this['isCertainHit']()&&(_0x425d0e*=_0x417376['stateRate'](_0x1f00f9['dataId']),_0x425d0e*=this['lukEffectRate'](_0x4afa2c)),_0x29c2f6['random']()<_0x425d0e&&(_0x44db98[_0x2888f2(0xd28)]=!![],this[_0x2888f2(0x899)](_0x26cbcf));}else _0x406437=(_0x28dfb7+_0x4f05bd)/0x2;}else _0x244f5d[_0x2888f2(0x7fc)](/base/i)&&(_0x406437=_0x4f05bd);}_0x206013+=(Graphics[_0x2888f2(0x4fe)]-Graphics[_0x2888f2(0xa53)])/0x2,_0x406437+=(Graphics[_0x2888f2(0x1fa)]-Graphics[_0x2888f2(0x833)])/0x2,_0x206013+=_0x570f1d,_0x406437+=_0x2130b8,_0x5869cb['setupZoomBlurImpactFilter'](_0x1eb30f,_0x206013,_0x406437,_0x4dc773,_0x23b6c5,_0x4659c5);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Inject_AnimationStart',_0x53c784=>{const _0xcdf676=_0x208a24;if(!Imported[_0xcdf676(0x4a6)])return;const _0x300dc8=SceneManager['_scene'][_0xcdf676(0xa85)];if(!_0x300dc8)return;if(VisuMZ[_0xcdf676(0x826)]['version']<=1.05){alert('Action\x20Sequence\x20Impact\x20needs\x20an\x20update!'),SceneManager['exit']();return;}VisuMZ[_0xcdf676(0x4f4)](_0x53c784,_0x53c784);const _0xc9f547=VisuMZ[_0xcdf676(0x5bd)](_0x53c784[_0xcdf676(0x83d)]),_0x4e74ba={'filename':_0x53c784[_0xcdf676(0x6e9)],'horzCells':_0x53c784[_0xcdf676(0x184)]||0x1,'vertCells':_0x53c784[_0xcdf676(0x222)]||0x1,'frameDelay':_0x53c784[_0xcdf676(0x5ac)]||0x1,'smooth':_0x53c784[_0xcdf676(0xfe)]||![],'anchorX':_0x53c784[_0xcdf676(0x73d)]||0x0,'anchorY':_0x53c784[_0xcdf676(0x5b3)]||0x0,'offsetX':_0x53c784['offsetX']||0x0,'offsetY':_0x53c784['offsetY']||0x0};for(const _0x304145 of _0xc9f547){if(!_0x304145)continue;if(!_0x304145[_0xcdf676(0xd08)]())continue;_0x304145[_0xcdf676(0xd08)]()[_0xcdf676(0x9b1)](_0x4e74ba);}const _0x46476a=$gameTemp['getLastPluginCommandInterpreter']();_0x46476a&&(_0xcdf676(0x3ff)===_0xcdf676(0x3ff)?_0x46476a[_0xcdf676(0x3dc)](_0xcdf676(0x658)):(_0x38325f['BattleCore'][_0xcdf676(0x104)][_0xcdf676(0x783)](this),_0x5525c1[_0xcdf676(0x841)]&&(this[_0xcdf676(0xd4)]=!![],_0x59e25f['_battleCoreBattleResumeAfter']=_0xb7e0c6)));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0xad0),_0x3164e5=>{const _0x49c13c=_0x208a24;if(!Imported[_0x49c13c(0x4a6)])return;const _0x20c0e4=SceneManager[_0x49c13c(0xc1b)]['_spriteset'];if(!_0x20c0e4)return;if(VisuMZ[_0x49c13c(0x826)][_0x49c13c(0x738)]<=1.05){alert(_0x49c13c(0xb94)),SceneManager[_0x49c13c(0x1b1)]();return;}VisuMZ[_0x49c13c(0x4f4)](_0x3164e5,_0x3164e5);const _0x27e918=VisuMZ[_0x49c13c(0x5bd)](_0x3164e5['Targets']);for(const _0x37f1d4 of _0x27e918){if(_0x49c13c(0x8d6)===_0x49c13c(0x8d6)){if(!_0x37f1d4)continue;if(!_0x37f1d4[_0x49c13c(0xd08)]())continue;_0x37f1d4[_0x49c13c(0xd08)]()[_0x49c13c(0x791)]();}else{const _0x1b4281=_0x49c13c(0xe3)['format'](_0x11da4b[_0x49c13c(0xcf4)]()),_0x23e4a0=this['createInnerPortrait'](_0x1b4281,_0x37ac47),_0x5e6783=_0x403272[_0x49c13c(0xaaf)]();_0x5e6783!==''?_0x23e4a0[_0x49c13c(0x63f)]=_0x2749e0[_0x49c13c(0x474)](_0x5e6783):_0x23e4a0['bitmap']=_0x142a04[_0x49c13c(0xd06)];const _0x607ab5=this[_0x49c13c(0x69a)](_0x3a9a8d);_0x23e4a0[_0x49c13c(0x7ec)]['x']=0.5,_0x23e4a0[_0x49c13c(0x7ec)]['y']=0x1;let _0x2c934f=_0x41f359['round'](_0x607ab5['x']+_0x607ab5[_0x49c13c(0x4fe)]/0x2)+this[_0x49c13c(0x11b)];_0x2c934f+=_0x4d853b['getBattlePortraitOffsetX']();let _0x2a4a49=_0x347156[_0x49c13c(0xd50)](this[_0x49c13c(0x1fa)]);_0x2a4a49+=_0x3d9e15[_0x49c13c(0xcb9)](),_0x23e4a0['move'](_0x2c934f,_0x2a4a49);const _0x44c15c=_0x2120b9[_0x49c13c(0x759)]['Settings'][_0x49c13c(0x148)][_0x49c13c(0x934)];_0x23e4a0[_0x49c13c(0x867)]['x']=_0x44c15c,_0x23e4a0[_0x49c13c(0x867)]['y']=_0x44c15c,_0x23e4a0[_0x49c13c(0xb3e)]();}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x96b),_0xf33251=>{const _0x5c86cd=_0x208a24;if(!Imported[_0x5c86cd(0x4a6)])return;const _0x1690a=SceneManager[_0x5c86cd(0xc1b)][_0x5c86cd(0xa85)];if(!_0x1690a)return;if(VisuMZ[_0x5c86cd(0x826)][_0x5c86cd(0x738)]<=1.05){alert(_0x5c86cd(0xb94)),SceneManager['exit']();return;}VisuMZ[_0x5c86cd(0x4f4)](_0xf33251,_0xf33251);const _0x59c8=VisuMZ[_0x5c86cd(0x5bd)](_0xf33251[_0x5c86cd(0x83d)]),_0x2a7d9f=_0xf33251[_0x5c86cd(0x942)];for(const _0x21acd7 of _0x59c8){if(_0x5c86cd(0x9fe)===_0x5c86cd(0xd3b)){const _0x2fdd40=_0xedecae[_0x5c86cd(0x6c4)];if(_0x2fdd40[_0x5c86cd(0x7fc)](_0xb7a500['BattleCore'][_0x5c86cd(0x7b1)][_0x119593])){const _0x430d5c=_0x4b3d0c['$1'],_0x3c826d='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Declare\x20Arguments\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20user\x20=\x20arguments[0];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20target\x20=\x20arguments[1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20obj\x20=\x20arguments[2];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20value\x20=\x20arguments[3]\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20originalValue\x20=\x20value;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Declare\x20Constants\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20action\x20=\x20(this.constructor\x20===\x20Game_Action)\x20?\x20this\x20:\x20user.currentAction();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20a\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20b\x20=\x20target;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20attacker\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20defender\x20=\x20target;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20healer\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20receiver\x20=\x20target;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20actor\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20currentClass\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20skill\x20=\x20(this.constructor\x20===\x20Game_Action)\x20?\x20this.item()\x20:\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20item\x20=\x20(this.constructor\x20===\x20Game_Action)\x20?\x20this.item()\x20:\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20weapon\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20armor\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20enemy\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20state\x20=\x20obj;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Create\x20Compatibility\x20Variables\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20origin\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(Imported.VisuMZ_1_SkillsStatesCore\x20&&\x20$dataStates.includes(obj))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20origin\x20=\x20target.getStateOrigin(obj.id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Process\x20Code\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20%1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20($gameTemp.isPlaytest())\x20console.log(e);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20NaN\x20Check\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(isNaN(value)){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20($gameTemp.isPlaytest())\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27NaN\x20value\x20created\x20by\x20%2\x27.format(\x27\x27,obj.name));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27Restoring\x20value\x20to\x20%2\x27.format(\x27\x27,originalValue));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20=\x20originalValue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Return\x20Value\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20value;\x0a\x20\x20\x20\x20\x20\x20\x20\x20'['format'](_0x430d5c),_0x278a9a=_0x54fe12[_0x5c86cd(0x759)]['createKeyJS'](_0xd62424,_0x5eee23);_0x25f572[_0x5c86cd(0x759)]['JS'][_0x278a9a]=new _0x413879(_0x3c826d);}}else{if(!_0x21acd7)continue;if(!_0x21acd7[_0x5c86cd(0xd08)]())continue;_0x21acd7[_0x5c86cd(0xd08)]()['pauseInjectAnimation'](_0x2a7d9f);}}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x2bf),_0x2f7c39=>{const _0x356919=_0x208a24;if(!SceneManager[_0x356919(0x8c3)]())return;const _0x33a32a=$gameTemp[_0x356919(0xcc)]();if(!_0x33a32a)return;_0x33a32a[_0x356919(0x3dc)](_0x356919(0x20d));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Mechanics_ActionEffect',_0x4bea57=>{const _0x1a30b1=_0x208a24;if(!SceneManager[_0x1a30b1(0x8c3)]())return;VisuMZ['ConvertParams'](_0x4bea57,_0x4bea57);const _0x1702ef=$gameTemp[_0x1a30b1(0xcc)](),_0x5b83c2=BattleManager[_0x1a30b1(0x8fb)],_0x388844=BattleManager[_0x1a30b1(0x64d)],_0x562917=BattleManager[_0x1a30b1(0x46b)];if(!_0x1702ef||!_0x5b83c2||!_0x388844)return;if(!_0x5b83c2[_0x1a30b1(0x8bb)]())return;const _0x6d5f86=VisuMZ[_0x1a30b1(0x5bd)](_0x4bea57['Targets']);for(const _0x52b1ab of _0x6d5f86){if(_0x1a30b1(0x7c0)!==_0x1a30b1(0xb74)){if(!_0x52b1ab)continue;_0x562917[_0x1a30b1(0x7c3)](_0x1a30b1(0x29e),_0x388844,_0x52b1ab);}else _0x3a586d[_0x1a30b1(0x245)]=_0x1b1a1a(_0x282868['$1'])['toLowerCase']()[_0x1a30b1(0x446)]();}_0x1702ef[_0x1a30b1(0x3dc)](_0x1a30b1(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xcbc),_0x2b95fc=>{const _0x432a3a=_0x208a24;if(!SceneManager[_0x432a3a(0x8c3)]())return;if(!Imported[_0x432a3a(0xa2a)])return;$gameTemp[_0x432a3a(0x1e1)]=!![];}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xcaa),_0x3989b0=>{const _0x2bc1a5=_0x208a24;if(!SceneManager[_0x2bc1a5(0x8c3)]())return;VisuMZ[_0x2bc1a5(0x4f4)](_0x3989b0,_0x3989b0);const _0x39a262=[_0x2bc1a5(0xbef),_0x2bc1a5(0xbf5),_0x2bc1a5(0x999),_0x2bc1a5(0xb52),_0x2bc1a5(0xd1c),_0x2bc1a5(0x1a0),_0x2bc1a5(0x544),_0x2bc1a5(0x210)],_0x2f1e50=_0x3989b0[_0x2bc1a5(0x919)],_0x33ef03=_0x3989b0['Debuffs'],_0x130350=_0x3989b0[_0x2bc1a5(0xcc5)],_0x4135f7=VisuMZ[_0x2bc1a5(0x5bd)](_0x3989b0[_0x2bc1a5(0x83d)]);for(const _0x837944 of _0x4135f7){if(!_0x837944)continue;for(const _0x3ffa62 of _0x2f1e50){const _0x43ae48=_0x39a262[_0x2bc1a5(0x6d1)](_0x3ffa62[_0x2bc1a5(0x4d6)]()[_0x2bc1a5(0x446)]());_0x43ae48>=0x0&&_0x43ae48<=0x7&&_0x837944['addBuff'](_0x43ae48,_0x130350);}for(const _0x1bcdd9 of _0x33ef03){if(_0x2bc1a5(0x935)===_0x2bc1a5(0xd01))_0x2a4a98=_0xbeb4bf(_0x3175e5['$1']);else{const _0x940488=_0x39a262['indexOf'](_0x1bcdd9[_0x2bc1a5(0x4d6)]()[_0x2bc1a5(0x446)]());_0x940488>=0x0&&_0x940488<=0x7&&_0x837944['addDebuff'](_0x940488,_0x130350);}}}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0xcc4),_0x4bd835=>{const _0x2fb15f=_0x208a24;if(!SceneManager[_0x2fb15f(0x8c3)]())return;VisuMZ[_0x2fb15f(0x4f4)](_0x4bd835,_0x4bd835);const _0x1a41a6=_0x4bd835[_0x2fb15f(0xcf7)],_0x5f02a3=VisuMZ[_0x2fb15f(0x5bd)](_0x4bd835[_0x2fb15f(0x83d)]);for(const _0x4f46c0 of _0x5f02a3){if(_0x2fb15f(0x360)!==_0x2fb15f(0x360)){_0x432871['playReflection']();let _0x357bda=_0x40c9bd['BattleCore'][_0x2fb15f(0xc39)]['ActionSequence'][_0x2fb15f(0x3a5)];_0x357bda>0x0&&(_0x15f40e['VisuMZ_0_CoreEngine']?_0x46a0ca[_0x2fb15f(0xcae)]([this],_0x357bda):_0x5b03ee[_0x2fb15f(0x2d8)]([this],_0x357bda));}else{if(!_0x4f46c0)continue;for(const _0x1d1dc9 of _0x1a41a6){_0x4f46c0[_0x2fb15f(0x3e9)](_0x1d1dc9);}}}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x71d),_0x2065af=>{const _0xa01c1e=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ['ConvertParams'](_0x2065af,_0x2065af);const _0x2c5d02=BattleManager[_0xa01c1e(0x8fb)],_0x410779={'arPenRate':_0x2065af[_0xa01c1e(0x31a)],'arPenFlat':_0x2065af[_0xa01c1e(0x612)],'arRedRate':_0x2065af[_0xa01c1e(0x11c)],'arRedFlat':_0x2065af[_0xa01c1e(0x89a)]};_0x2c5d02[_0xa01c1e(0x56b)]=_0x410779;}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x349),_0x542b3c=>{const _0x3ccc50=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x3ccc50(0x1be)])return;VisuMZ['ConvertParams'](_0x542b3c,_0x542b3c);const _0xf102bb=VisuMZ[_0x3ccc50(0x5bd)](_0x542b3c[_0x3ccc50(0x83d)]),_0x5e7935=_0x542b3c[_0x3ccc50(0x3a9)]||0x1;for(const _0x39d992 of _0xf102bb){if(!_0x39d992)continue;if(!_0x39d992[_0x3ccc50(0x27a)]())continue;_0x39d992[_0x3ccc50(0x90f)](_0x5e7935);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_AtbGauge',_0x3a32ff=>{const _0x295060=_0x208a24;if(!SceneManager[_0x295060(0x8c3)]())return;if(!Imported['VisuMZ_2_BattleSystemATB'])return;if(!BattleManager[_0x295060(0x62d)]())return;VisuMZ['ConvertParams'](_0x3a32ff,_0x3a32ff);const _0x8ba399=VisuMZ[_0x295060(0x5bd)](_0x3a32ff[_0x295060(0x83d)]),_0x5e396f=_0x3a32ff[_0x295060(0x64c)],_0x401f9f=_0x3a32ff[_0x295060(0x64c)],_0xf5529d=_0x3a32ff[_0x295060(0xa5a)];for(const _0x4dd04f of _0x8ba399){if(!_0x4dd04f)continue;if(_0x4dd04f[_0x295060(0xa1f)]())'mCzem'!==_0x295060(0x324)?(_0x22a86c+=_0x19b94a[_0x295060(0x9bf)]()?-_0x5463cc:_0x1fa02c,_0x2d74b6+=_0x471ca8['isActor']()?-_0x55e6f3:_0x59fb6a):_0x4dd04f[_0x295060(0x8eb)](_0x5e396f);else{if(_0x4dd04f[_0x295060(0x120)]()){_0x4dd04f[_0x295060(0x379)](_0x401f9f);if(_0xf5529d)_0x4dd04f['atbInterrupt']();}}}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_BoostPointsChange',_0x5afb36=>{const _0x241383=_0x208a24;if(!SceneManager[_0x241383(0x8c3)]())return;if(!Imported[_0x241383(0x8b6)])return;VisuMZ['ConvertParams'](_0x5afb36,_0x5afb36);const _0x157b7c=VisuMZ[_0x241383(0x5bd)](_0x5afb36['Targets']),_0x20f273=_0x5afb36[_0x241383(0x4b0)];for(const _0x457e46 of _0x157b7c){if(!_0x457e46)continue;_0x457e46[_0x241383(0x64b)](_0x20f273);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_BoostPointsStoreData',_0x5bf1be=>{const _0x1f8e32=_0x208a24;if(!SceneManager[_0x1f8e32(0x8c3)]())return;if(!Imported['VisuMZ_3_BoostAction'])return;if(!BattleManager[_0x1f8e32(0x64d)])return;VisuMZ['ConvertParams'](_0x5bf1be,_0x5bf1be);const _0x3fc957=_0x5bf1be[_0x1f8e32(0x1f5)];$gameVariables[_0x1f8e32(0x7e1)](_0x3fc957,BattleManager[_0x1f8e32(0x64d)][_0x1f8e32(0x40b)]());}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0x95d),_0x1505b0=>{const _0x4bb3e7=_0x208a24;if(!SceneManager[_0x4bb3e7(0x8c3)]())return;if(!Imported[_0x4bb3e7(0x5a7)])return;VisuMZ[_0x4bb3e7(0x4f4)](_0x1505b0,_0x1505b0);const _0x43ee5f=VisuMZ['CreateActionSequenceTargets'](_0x1505b0[_0x4bb3e7(0x83d)]),_0x3b3810=_0x1505b0['BreakShields'];for(const _0x1bf0f9 of _0x43ee5f){if(_0x4bb3e7(0x1d0)==='dTjwb')this[_0x4bb3e7(0x714)]=_0xc8de33(_0x3f0535['$1']);else{if(!_0x1bf0f9)continue;if(_0x1bf0f9[_0x4bb3e7(0x4fd)]())continue;if(!_0x1bf0f9[_0x4bb3e7(0x733)]())continue;_0x1bf0f9[_0x4bb3e7(0x9d5)](_0x3b3810);}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x72b),_0x34cafc=>{const _0x10268c=_0x208a24;if(!SceneManager[_0x10268c(0x8c3)]())return;if(!Imported['VisuMZ_4_BreakShields'])return;VisuMZ[_0x10268c(0x4f4)](_0x34cafc,_0x34cafc);const _0x1039e4=VisuMZ['CreateActionSequenceTargets'](_0x34cafc[_0x10268c(0x83d)]);for(const _0x1e2880 of _0x1039e4){if(!_0x1e2880)continue;if(_0x1e2880[_0x10268c(0x4fd)]())continue;if(!_0x1e2880[_0x10268c(0x733)]())continue;_0x1e2880[_0x10268c(0xb1d)]();}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_BtbGain',_0x2599e1=>{const _0x5c0e1d=_0x208a24;if(!SceneManager[_0x5c0e1d(0x8c3)]())return;if(!Imported[_0x5c0e1d(0x686)])return;if(!BattleManager[_0x5c0e1d(0x700)]())return;VisuMZ['ConvertParams'](_0x2599e1,_0x2599e1);const _0x2828e0=VisuMZ[_0x5c0e1d(0x5bd)](_0x2599e1[_0x5c0e1d(0x83d)]),_0x296938=_0x2599e1[_0x5c0e1d(0x7c2)];for(const _0x48cf62 of _0x2828e0){if(_0x5c0e1d(0x886)!==_0x5c0e1d(0x886))this[_0x5c0e1d(0x83a)]++,_0x1a0aa8[_0x5c0e1d(0x9ba)]%0x1e<0xf?_0x5e2a04[_0x5c0e1d(0x606)]([0xff,0xff,0xff,0x40]):_0x3176f9[_0x5c0e1d(0x606)]([0x0,0x0,0x0,0x0]);else{if(!_0x48cf62)continue;_0x48cf62[_0x5c0e1d(0xc52)](_0x296938);}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_Collapse',_0x601e99=>{const _0x209857=_0x208a24;if(!SceneManager[_0x209857(0x8c3)]())return;VisuMZ[_0x209857(0x4f4)](_0x601e99,_0x601e99);const _0x5b5dca=$gameTemp[_0x209857(0xcc)](),_0x1aafd3=BattleManager['_action'],_0x49846d=BattleManager[_0x209857(0x64d)];if(!_0x5b5dca||!_0x1aafd3||!_0x49846d)return;if(!_0x1aafd3[_0x209857(0x8bb)]())return;const _0x154e5d=VisuMZ[_0x209857(0x5bd)](_0x601e99[_0x209857(0x83d)]);for(const _0x572595 of _0x154e5d){if(!_0x572595)continue;_0x601e99[_0x209857(0xa83)]&&(_0x572595[_0x209857(0xd3)](),_0x572595[_0x209857(0x3e9)](_0x572595[_0x209857(0xcb5)]())),_0x572595[_0x209857(0xc47)]()&&_0x572595[_0x209857(0x352)]();}_0x5b5dca[_0x209857(0x3dc)](_0x209857(0x5cf));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x1ee),_0x2e409d=>{const _0x1a1ab7=_0x208a24;if(!SceneManager[_0x1a1ab7(0x8c3)]())return;if(!Imported[_0x1a1ab7(0x57c)])return;if(!BattleManager[_0x1a1ab7(0x9ca)]())return;VisuMZ[_0x1a1ab7(0x4f4)](_0x2e409d,_0x2e409d);const _0x1d546f=VisuMZ[_0x1a1ab7(0x5bd)](_0x2e409d[_0x1a1ab7(0x83d)]),_0x3ec1a1=_0x2e409d[_0x1a1ab7(0x727)];for(const _0x3aadac of _0x1d546f){if(!_0x3aadac)continue;_0x3aadac['changeTurnOrderByCTB'](_0x3ec1a1);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x696),_0x5ab797=>{const _0x416c9b=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported['VisuMZ_2_BattleSystemCTB'])return;if(!BattleManager['isCTB']())return;VisuMZ[_0x416c9b(0x4f4)](_0x5ab797,_0x5ab797);const _0x496589=VisuMZ[_0x416c9b(0x5bd)](_0x5ab797[_0x416c9b(0x83d)]),_0x599e7f=_0x5ab797[_0x416c9b(0x64c)],_0x307aa0=_0x5ab797[_0x416c9b(0x64c)];for(const _0x1c2c46 of _0x496589){if(!_0x1c2c46)continue;if(_0x1c2c46[_0x416c9b(0x329)]===_0x416c9b(0x337)){if(_0x416c9b(0x142)!==_0x416c9b(0x142)){_0x10275e('Action\x20Sequence\x20Impact\x20needs\x20an\x20update!'),_0x4a22ad[_0x416c9b(0x1b1)]();return;}else _0x1c2c46[_0x416c9b(0x537)](_0x599e7f);}else _0x1c2c46[_0x416c9b(0x329)]==='casting'&&_0x1c2c46[_0x416c9b(0x6f0)](_0x307aa0);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_CustomDmgFormula',_0x4309bb=>{const _0x26f22a=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x26f22a(0x4f4)](_0x4309bb,_0x4309bb);const _0x47ebd0=BattleManager['_action'];if(!_0x47ebd0)return;let _0x3bc932=_0x4309bb[_0x26f22a(0xbc0)];_0x47ebd0['setCustomDamageFormula'](_0x3bc932);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Mechanics_DamagePopup',_0x47e253=>{const _0x5d7dcb=_0x208a24;if(!SceneManager[_0x5d7dcb(0x8c3)]())return;VisuMZ[_0x5d7dcb(0x4f4)](_0x47e253,_0x47e253);const _0x44c32a=VisuMZ[_0x5d7dcb(0x5bd)](_0x47e253[_0x5d7dcb(0x83d)]);for(const _0x248cb0 of _0x44c32a){if(!_0x248cb0)continue;if(_0x248cb0['shouldPopupDamage']())_0x248cb0[_0x5d7dcb(0xbd5)]();}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_DeathBreak',_0x231f5d=>{const _0x1cbf6b=_0x208a24;if(!SceneManager[_0x1cbf6b(0x8c3)]())return;VisuMZ['ConvertParams'](_0x231f5d,_0x231f5d);const _0x5f25ce=$gameTemp[_0x1cbf6b(0xcc)](),_0x5a9ec5=BattleManager[_0x1cbf6b(0x64d)],_0x1a88e0=_0x231f5d[_0x1cbf6b(0xc98)];if(!_0x5f25ce)return;if(!_0x5a9ec5)return;_0x5a9ec5&&_0x5a9ec5[_0x1cbf6b(0x248)]()&&_0x1a88e0[_0x1cbf6b(0x4d6)]()[_0x1cbf6b(0x446)]()!==_0x1cbf6b(0x873)&&_0x5f25ce[_0x1cbf6b(0x2f3)]([_0x1a88e0]);}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x824),_0x525740=>{const _0x5f0fa2=_0x208a24;if(!SceneManager[_0x5f0fa2(0x8c3)]())return;VisuMZ[_0x5f0fa2(0x4f4)](_0x525740,_0x525740);const _0x3afb0b=$gameTemp['getLastPluginCommandInterpreter'](),_0x1fe4ae=BattleManager[_0x5f0fa2(0x46b)];if(!_0x3afb0b)return;const _0x2573d7=VisuMZ['CreateActionSequenceTargets'](_0x525740[_0x5f0fa2(0x60f)]),_0x140cb0=VisuMZ[_0x5f0fa2(0x5bd)](_0x525740[_0x5f0fa2(0x83d)]);for(const _0x404817 of _0x2573d7){for(const _0x57053b of _0x140cb0){if(!_0x57053b)continue;const _0x160078=$dataSkills[_0x404817['attackSkillId']()];_0x1fe4ae[_0x5f0fa2(0x7c3)](_0x5f0fa2(0x3b6),_0x404817,_0x57053b,_0x160078);}}_0x3afb0b['setWaitMode'](_0x5f0fa2(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0xc0d),_0x10e8c0=>{const _0x4d178a=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x4d178a(0x4f4)](_0x10e8c0,_0x10e8c0);const _0x56fc71=$gameTemp['getLastPluginCommandInterpreter'](),_0x3662e3=BattleManager[_0x4d178a(0x46b)];if(!_0x56fc71)return;const _0x2b2aeb=VisuMZ[_0x4d178a(0x5bd)](_0x10e8c0[_0x4d178a(0x60f)]),_0x2de6ce=VisuMZ[_0x4d178a(0x5bd)](_0x10e8c0[_0x4d178a(0x83d)]);for(const _0x216b2c of _0x2b2aeb){for(const _0x4d26ea of _0x2de6ce){if(!_0x4d26ea)continue;const _0x48b868=$dataSkills[_0x216b2c['guardSkillId']()];_0x3662e3[_0x4d178a(0x7c3)](_0x4d178a(0x3b6),_0x216b2c,_0x4d26ea,_0x48b868);}}_0x56fc71[_0x4d178a(0x3dc)](_0x4d178a(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xcd6),_0x5953a1=>{const _0x1266d6=_0x208a24;if(!SceneManager[_0x1266d6(0x8c3)]())return;VisuMZ[_0x1266d6(0x4f4)](_0x5953a1,_0x5953a1);const _0x29b42d=$gameTemp[_0x1266d6(0xcc)](),_0x3fe3b7=BattleManager[_0x1266d6(0x46b)],_0x2feb61=Number(_0x5953a1[_0x1266d6(0xc68)]||0x1),_0x40cf7e=$dataItems[_0x2feb61];if(!_0x29b42d)return;if(!_0x40cf7e)return;const _0x2c6620=VisuMZ[_0x1266d6(0x5bd)](_0x5953a1['Users']),_0x11bce1=VisuMZ['CreateActionSequenceTargets'](_0x5953a1['Targets']);for(const _0x343f8d of _0x2c6620){for(const _0x4e83d5 of _0x11bce1){if(!_0x4e83d5)continue;_0x3fe3b7[_0x1266d6(0x7c3)](_0x1266d6(0x3b6),_0x343f8d,_0x4e83d5,_0x40cf7e);}}_0x29b42d['setWaitMode'](_0x1266d6(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xb78),_0x49d349=>{const _0x58fd08=_0x208a24;if(!SceneManager[_0x58fd08(0x8c3)]())return;VisuMZ[_0x58fd08(0x4f4)](_0x49d349,_0x49d349);let _0xafe3fe=Number(_0x49d349[_0x58fd08(0x82c)]||0x0);if(_0xafe3fe<=0x0){const _0x255be5=BattleManager[_0x58fd08(0x8fb)];if(_0x255be5&&_0x255be5[_0x58fd08(0x269)]())_0x58fd08(0x9ea)===_0x58fd08(0x9ea)?_0xafe3fe=_0x255be5[_0x58fd08(0x8bb)]()['id']:this['setup'](_0x58872e[_0x58fd08(0x38d)],0x0);else return;}const _0x4780d7=$dataSkills[_0xafe3fe];if(!_0x4780d7)return;const _0x1cacae=VisuMZ[_0x58fd08(0x5bd)](_0x49d349[_0x58fd08(0x60f)]);for(const _0x16b9cb of _0x1cacae){_0x16b9cb[_0x58fd08(0x853)](_0x4780d7);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x30c),_0x492050=>{const _0x76ebb0=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ['ConvertParams'](_0x492050,_0x492050);const _0x55329d=$gameTemp[_0x76ebb0(0xcc)](),_0x12f8aa=BattleManager[_0x76ebb0(0x46b)],_0x2254fc=Number(_0x492050['SkillID']||0x1),_0x384667=$dataSkills[_0x2254fc];if(!_0x55329d)return;if(!_0x384667)return;const _0x42f102=VisuMZ['CreateActionSequenceTargets'](_0x492050['Users']),_0x11b3ae=VisuMZ[_0x76ebb0(0x5bd)](_0x492050[_0x76ebb0(0x83d)]);for(const _0x1be6bb of _0x42f102){if(_0x76ebb0(0x8a6)===_0x76ebb0(0x8a6))for(const _0x26a8a1 of _0x11b3ae){if(!_0x26a8a1)continue;_0x12f8aa[_0x76ebb0(0x7c3)](_0x76ebb0(0x3b6),_0x1be6bb,_0x26a8a1,_0x384667);}else{if([0x6c,0x198][_0x76ebb0(0xcaf)](_0x41a865[_0x76ebb0(0x762)])){const _0x29a277=_0x1ebd87[_0x76ebb0(0x378)][0x0];if(_0x29a277['match'](/<ONCE PARALLEL WHEN START BATTLE>/i))return!![];}}}_0x55329d[_0x76ebb0(0x3dc)](_0x76ebb0(0x4c6));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x4e5),_0x3024a8=>{const _0x5b1554=_0x208a24;if(!SceneManager[_0x5b1554(0x8c3)]())return;VisuMZ[_0x5b1554(0x4f4)](_0x3024a8,_0x3024a8);const _0x1b137d=VisuMZ[_0x5b1554(0x5bd)](_0x3024a8[_0x5b1554(0x83d)]);for(const _0x306e18 of _0x1b137d){if(!_0x306e18)continue;if(!_0x306e18[_0x5b1554(0x27a)]())continue;_0x306e18[_0x5b1554(0x2dc)]();}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x7bd),_0x26521d=>{const _0x2ed625=_0x208a24;if(!SceneManager[_0x2ed625(0x8c3)]())return;if(!Imported[_0x2ed625(0x719)])return;if(!BattleManager[_0x2ed625(0x549)]())return;VisuMZ[_0x2ed625(0x4f4)](_0x26521d,_0x26521d);const _0x49d565=_0x26521d[_0x2ed625(0x265)];if(BattleManager[_0x2ed625(0x64d)]){if('hCTyu'===_0x2ed625(0x81d))BattleManager['_subject']['friendsUnit']()['gainCurrentActionsETB'](_0x49d565);else{if(!this[_0x2ed625(0x586)]()&&this!==_0x3de0c3[_0x2ed625(0x64d)]){if(this[_0x2ed625(0xd08)]())this['battler']()['refreshMotion']();}this[_0x2ed625(0x519)]();return;}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_FtbAction',_0x300e17=>{const _0x2671a6=_0x208a24;if(!SceneManager[_0x2671a6(0x8c3)]())return;if(!Imported[_0x2671a6(0x707)])return;if(!BattleManager['isFTB']())return;VisuMZ[_0x2671a6(0x4f4)](_0x300e17,_0x300e17);const _0x66a933=_0x300e17['ActionCount'];BattleManager[_0x2671a6(0x64d)]&&BattleManager[_0x2671a6(0x64d)][_0x2671a6(0x281)]()[_0x2671a6(0x38c)](_0x66a933);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x31b),_0x29f65e=>{const _0x380ab1=_0x208a24;if(!SceneManager[_0x380ab1(0x8c3)]())return;VisuMZ['ConvertParams'](_0x29f65e,_0x29f65e);const _0x515674=VisuMZ[_0x380ab1(0x5bd)](_0x29f65e['Targets']),_0x7071b2=_0x29f65e[_0x380ab1(0x8ae)],_0x5ad7d3=_0x29f65e['HP_Flat'],_0x525089=_0x29f65e[_0x380ab1(0x1ed)],_0x30298a=_0x29f65e[_0x380ab1(0x619)],_0x92c49=_0x29f65e['TP_Rate'],_0x3b035d=_0x29f65e['TP_Flat'],_0x4dbfb7=_0x29f65e[_0x380ab1(0x9a9)];for(const _0x50b22f of _0x515674){if(!_0x50b22f)continue;const _0x23bf13=_0x50b22f[_0x380ab1(0x97c)](),_0x130173=Math[_0x380ab1(0xd50)](_0x7071b2*_0x50b22f[_0x380ab1(0x94f)]+_0x5ad7d3),_0x40f80a=Math[_0x380ab1(0xd50)](_0x525089*_0x50b22f['mmp']+_0x30298a),_0x18ecb3=Math[_0x380ab1(0xd50)](_0x92c49*_0x50b22f['maxTp']()+_0x3b035d);if(_0x130173!==0x0)_0x50b22f['gainHp'](_0x130173);if(_0x40f80a!==0x0)_0x50b22f[_0x380ab1(0x753)](_0x40f80a);if(_0x18ecb3!==0x0)_0x50b22f[_0x380ab1(0x2ca)](_0x18ecb3);if(_0x4dbfb7)_0x50b22f['startDamagePopup']();_0x23bf13&&_0x50b22f['isDead']()&&_0x50b22f[_0x380ab1(0x352)]();}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Mechanics_Immortal',_0x2543ca=>{const _0x5f21d4=_0x208a24;if(!SceneManager[_0x5f21d4(0x8c3)]())return;VisuMZ[_0x5f21d4(0x4f4)](_0x2543ca,_0x2543ca);const _0x5a5661=VisuMZ[_0x5f21d4(0x5bd)](_0x2543ca[_0x5f21d4(0x83d)]);for(const _0x2672de of _0x5a5661){if(_0x5f21d4(0x5f8)===_0x5f21d4(0x10f))this[_0x5f21d4(0x11b)]=0x8;else{if(!_0x2672de)continue;_0x2672de['setImmortal'](_0x2543ca[_0x5f21d4(0x721)]);}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x5ea),_0x59a3da=>{const _0x4eac3e=_0x208a24;if(!SceneManager[_0x4eac3e(0x8c3)]())return;VisuMZ[_0x4eac3e(0x4f4)](_0x59a3da,_0x59a3da);const _0x425713=BattleManager['_action'],_0x721fd4={'criticalHitRate':_0x59a3da[_0x4eac3e(0x7c4)],'criticalHitFlat':_0x59a3da['CriticalHitFlat'],'criticalDmgRate':_0x59a3da[_0x4eac3e(0xa77)],'criticalDmgFlat':_0x59a3da[_0x4eac3e(0x23c)],'damageRate':_0x59a3da[_0x4eac3e(0x9b6)],'damageFlat':_0x59a3da['DamageFlat'],'hitRate':_0x59a3da['HitRate'],'hitFlat':_0x59a3da[_0x4eac3e(0x9e7)]};_0x425713[_0x4eac3e(0x27b)]=_0x721fd4;}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_OnceParallel',_0x2df28b=>{const _0x133144=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x133144(0x4f4)](_0x2df28b,_0x2df28b);const _0x507118=_0x2df28b[_0x133144(0xce3)];SceneManager[_0x133144(0xc1b)][_0x133144(0x547)](_0x507118);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x4b1),_0x241d3a=>{const _0x1ad5bd=_0x208a24;if(!SceneManager[_0x1ad5bd(0x8c3)]())return;if(!Imported[_0x1ad5bd(0x607)])return;if(!BattleManager[_0x1ad5bd(0x716)]())return;VisuMZ[_0x1ad5bd(0x4f4)](_0x241d3a,_0x241d3a);const _0x3f0c75=VisuMZ[_0x1ad5bd(0x5bd)](_0x241d3a[_0x1ad5bd(0x83d)]);for(const _0x12f902 of _0x3f0c75){if(_0x1ad5bd(0x37d)===_0x1ad5bd(0x37d)){if(!_0x12f902)continue;let _0x48e838=_0x241d3a['CurrentTurn'],_0x42f0f3=_0x241d3a[_0x1ad5bd(0x6f7)],_0xf84d95=_0x241d3a[_0x1ad5bd(0xb1a)];BattleManager[_0x1ad5bd(0x8ab)]['includes'](_0x12f902)?_0x48e838+=_0xf84d95:_0x42f0f3+=_0xf84d95,BattleManager[_0x1ad5bd(0x683)](_0x12f902,-_0x48e838,![]),BattleManager[_0x1ad5bd(0x683)](_0x12f902,-_0x42f0f3,!![]);}else this['removeBuffsAuto']();}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_PtbAlterCost',_0x5bdada=>{const _0x1724bf=_0x208a24;if(!SceneManager[_0x1724bf(0x8c3)]())return;if(!Imported[_0x1724bf(0xbc9)])return;if(!BattleManager[_0x1724bf(0xa49)]())return;VisuMZ['ConvertParams'](_0x5bdada,_0x5bdada);const _0x1ad872=BattleManager['_subject']['friendsUnit'](),_0x56c33d=_0x5bdada[_0x1724bf(0xbd9)],_0x4fd71c=_0x5bdada[_0x1724bf(0xce0)]||_0x1724bf(0xa58),_0x9be92f=_0x5bdada[_0x1724bf(0x61f)]||_0x1724bf(0xa58),_0x51d37c=_0x5bdada[_0x1724bf(0x1f7)]||0x0,_0xb00610=_0x5bdada[_0x1724bf(0x29d)]||0x0;(_0x1ad872[_0x1724bf(0x442)]()||_0x56c33d)&&(_0x1724bf(0xa2b)!==_0x1724bf(0xccd)?(_0x56c33d&&(_0x1ad872[_0x1724bf(0xb19)]=_0x1ad872[_0x1724bf(0xb19)]||{},_0x1ad872[_0x1724bf(0xb19)][_0x1724bf(0xad9)]=0x0),_0x1ad872[_0x1724bf(0xb06)](_0x4fd71c,_0x9be92f,_0x51d37c,_0xb00610)):this[_0x1724bf(0x6a9)]()['canGuard']()&&_0x132b7f['BattleCore'][_0x1724bf(0x7d5)][_0x1724bf(0x783)](this));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x596),_0x2e2964=>{const _0x3f91c6=_0x208a24;if(!SceneManager[_0x3f91c6(0x8c3)]())return;if(!Imported[_0x3f91c6(0xbc9)])return;if(!BattleManager[_0x3f91c6(0xa49)]())return;VisuMZ['ConvertParams'](_0x2e2964,_0x2e2964);const _0x12902c=BattleManager[_0x3f91c6(0x64d)][_0x3f91c6(0x281)]();let _0x1f770b=Math[_0x3f91c6(0x6db)](_0x2e2964[_0x3f91c6(0x5ec)],0x0),_0x2faeb2=_0x12902c[_0x3f91c6(0xb26)](),_0x270a81=_0x12902c[_0x3f91c6(0x7da)]();while(_0x1f770b--){if(_0x2faeb2<=0x0&&_0x270a81<=0x0){if(_0x3f91c6(0x98e)==='fjZHI')_0x35f24e[_0x3f91c6(0xbd8)][_0x3f91c6(0x3c1)][_0x3f91c6(0x783)](this),this[_0x3f91c6(0x449)]()&&this['enemy']()[_0x3f91c6(0x278)]()!==this['_text']&&(this[_0x3f91c6(0xb11)]=this['enemy']()[_0x3f91c6(0x278)](),this[_0x3f91c6(0xa22)]()),this[_0x3f91c6(0x90b)](),this[_0x3f91c6(0x295)]();else break;}else _0x2faeb2>0x0?(_0x2faeb2--,_0x270a81++):_0x270a81--;}_0x12902c[_0x3f91c6(0x3f8)](_0x2faeb2),_0x12902c[_0x3f91c6(0x84a)](_0x270a81);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0xa2c),_0x185038=>{const _0x4d736f=_0x208a24;if(!SceneManager[_0x4d736f(0x8c3)]())return;if(!Imported[_0x4d736f(0xbc9)])return;if(!BattleManager[_0x4d736f(0xa49)]())return;VisuMZ['ConvertParams'](_0x185038,_0x185038);const _0x428c34=BattleManager[_0x4d736f(0x64d)][_0x4d736f(0x281)]();let _0x27e953=_0x185038[_0x4d736f(0xa09)],_0x276c41=_0x185038[_0x4d736f(0x788)];_0x428c34[_0x4d736f(0xd10)](_0x27e953),_0x428c34[_0x4d736f(0x4df)](_0x276c41);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xe9),_0x94991f=>{const _0x367449=_0x208a24;if(!SceneManager[_0x367449(0x8c3)]())return;VisuMZ['ConvertParams'](_0x94991f,_0x94991f);const _0x5cfe9b=[_0x367449(0xbef),_0x367449(0xbf5),'ATK','DEF',_0x367449(0xd1c),_0x367449(0x1a0),'AGI','LUK'],_0x4f62a5=_0x94991f[_0x367449(0x919)],_0x3061fd=_0x94991f['Debuffs'],_0x31e67c=VisuMZ[_0x367449(0x5bd)](_0x94991f[_0x367449(0x83d)]);for(const _0x280ad1 of _0x31e67c){if(!_0x280ad1)continue;for(const _0x4e0a69 of _0x4f62a5){const _0x421300=_0x5cfe9b['indexOf'](_0x4e0a69[_0x367449(0x4d6)]()[_0x367449(0x446)]());_0x421300>=0x0&&_0x421300<=0x7&&_0x280ad1['isBuffAffected'](_0x421300)&&_0x280ad1[_0x367449(0x6b9)](_0x421300);}for(const _0x3b8322 of _0x3061fd){const _0x54179f=_0x5cfe9b[_0x367449(0x6d1)](_0x3b8322[_0x367449(0x4d6)]()[_0x367449(0x446)]());_0x54179f>=0x0&&_0x54179f<=0x7&&_0x280ad1[_0x367449(0x822)](_0x54179f)&&(_0x367449(0x89b)===_0x367449(0x37c)?(this['_damageContainer']=new _0x59c04a(),this[_0x367449(0x2e1)]['x']=this['_battleField']['x'],this[_0x367449(0x2e1)]['y']=this['_battleField']['y'],this[_0x367449(0x739)](this[_0x367449(0x2e1)])):_0x280ad1['removeBuff'](_0x54179f));}}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Mechanics_RemoveState',_0x3528ae=>{const _0x4f9b04=_0x208a24;if(!SceneManager[_0x4f9b04(0x8c3)]())return;VisuMZ[_0x4f9b04(0x4f4)](_0x3528ae,_0x3528ae);const _0x38c9f1=_0x3528ae[_0x4f9b04(0xcf7)],_0x868100=VisuMZ[_0x4f9b04(0x5bd)](_0x3528ae[_0x4f9b04(0x83d)]);for(const _0x4beac3 of _0x868100){if(!_0x4beac3)continue;for(const _0x5e9cf7 of _0x38c9f1){_0x4beac3[_0x4f9b04(0x6ed)](_0x5e9cf7);}}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x456),_0x1e9bbb=>{const _0x4b85e=_0x208a24;if(!SceneManager[_0x4b85e(0x8c3)]())return;if(!Imported[_0x4b85e(0x813)])return;VisuMZ[_0x4b85e(0x4f4)](_0x1e9bbb,_0x1e9bbb);const _0xba6b12=VisuMZ[_0x4b85e(0x5bd)](_0x1e9bbb[_0x4b85e(0x83d)]),_0x2eaaa6=Number(_0x1e9bbb[_0x4b85e(0x401)]),_0x518258=Number(_0x1e9bbb[_0x4b85e(0xcc5)]),_0xb03e50=_0x1e9bbb[_0x4b85e(0x5a3)];for(const _0x201d0c of _0xba6b12){if(!_0x201d0c)continue;if(_0xb03e50&&!_0x201d0c['isStateAffected'](_0x2eaaa6))_0x201d0c[_0x4b85e(0x3e9)](_0x2eaaa6),_0x201d0c[_0x4b85e(0x2f8)](_0x2eaaa6,_0x518258);else{if(_0x4b85e(0xaa3)!=='pqmLI')_0x201d0c[_0x4b85e(0x525)](_0x2eaaa6,_0x518258);else{if(_0x119bb0>_0x3bbf04[_0x4b85e(0x169)])_0x40cd39=![];if(_0x56aa57<_0x50b75f[_0x4b85e(0x169)])_0x14d367=!![];}}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_StateTurnsChangeTo',_0x21928e=>{const _0x5bfe14=_0x208a24;if(!SceneManager[_0x5bfe14(0x8c3)]())return;if(!Imported[_0x5bfe14(0x813)])return;VisuMZ['ConvertParams'](_0x21928e,_0x21928e);const _0x5a5587=VisuMZ[_0x5bfe14(0x5bd)](_0x21928e['Targets']),_0x4ae3a9=Number(_0x21928e[_0x5bfe14(0x401)]),_0xb31a1e=Math[_0x5bfe14(0x6db)](Number(_0x21928e[_0x5bfe14(0xcc5)]),0x0),_0x2226e7=_0x21928e[_0x5bfe14(0x5a3)];for(const _0x54c0d2 of _0x5a5587){if('UZtas'===_0x5bfe14(0x712)){if(!_0x54c0d2)continue;_0x2226e7&&!_0x54c0d2[_0x5bfe14(0x7b3)](_0x4ae3a9)&&('hBjDl'===_0x5bfe14(0x4f3)?this['push']('clearActiveWeaponSet',_0x3a8516):_0x54c0d2[_0x5bfe14(0x3e9)](_0x4ae3a9)),_0x54c0d2[_0x5bfe14(0x2f8)](_0x4ae3a9,_0xb31a1e);}else{if(!this[_0x5bfe14(0x8bb)]())return![];if(this[_0x5bfe14(0xa42)]())return![];return(this[_0x5bfe14(0x8bb)]()['note']||'')[_0x5bfe14(0x7fc)](/<SINGLE OR MULTIPLE SELECT>/i);}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x25e),_0x1f99d7=>{const _0x13f152=_0x208a24;if(!SceneManager[_0x13f152(0x8c3)]())return;if(!Imported[_0x13f152(0xb6a)])return;if(!BattleManager[_0x13f152(0x3bc)]())return;VisuMZ[_0x13f152(0x4f4)](_0x1f99d7,_0x1f99d7);const _0x39f7db=_0x1f99d7[_0x13f152(0x63b)],_0x560157=VisuMZ['CreateActionSequenceTargets'](_0x1f99d7[_0x13f152(0x83d)]),_0x380887=_0x1f99d7[_0x13f152(0x144)],_0xbb0e9d=_0x1f99d7['Exploiter'],_0x1fd3c1=_0x1f99d7[_0x13f152(0x490)],_0x1fcc01=BattleManager['_action'];if(_0x39f7db)for(const _0x164089 of _0x560157){if('Dpkjb'===_0x13f152(0x782)){if(!_0x164089)continue;if(_0x164089===user)continue;if(_0x380887)_0x164089[_0x13f152(0x77a)](![]);_0x164089['becomeSTBExploited'](BattleManager[_0x13f152(0x64d)],_0x1fcc01);}else{if(!_0x2e6119[_0x13f152(0x620)]())return;const _0x286895=this[_0x13f152(0xd08)](),_0x122657=_0x11f450[_0x13f152(0xd08)]();if(!_0x286895||!_0x122657)return;const _0x425f75=_0x122657[_0x13f152(0x169)],_0x22fe4a=_0x122657['_baseY'];this['moveBattlerToPoint'](_0x425f75,_0x22fe4a,0x0,![],_0x13f152(0xc0e),-0x1),_0x286895['updatePosition']();const _0x90a1f6=_0x4982f8[_0x13f152(0x759)][_0x13f152(0xc39)][_0x13f152(0x9b7)];let _0x3464ee=(_0x122657[_0x13f152(0x4fe)]+_0x286895[_0x13f152(0x4fe)])/0x2;_0x3464ee*=this['isActor']()?0x1:-0x1;let _0x20753d=_0x90a1f6['StepDistanceY']*(this['isActor']()?0x1:-0x1);_0x499b33[_0x13f152(0xb88)](_0x3464ee,_0x20753d,0x0,![],_0x13f152(0xc0e)),_0x122657[_0x13f152(0x295)]();}}if(_0xbb0e9d&&BattleManager[_0x13f152(0x64d)]){if(_0x1fd3c1)BattleManager[_0x13f152(0x64d)][_0x13f152(0x77a)](![]);const _0x1c9859=_0x560157[0x0];BattleManager[_0x13f152(0xb04)](_0x1c9859,_0x1fcc01);}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Mechanics_StbExtraAction',_0x2c028e=>{const _0x268700=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x268700(0xb6a)])return;if(!BattleManager[_0x268700(0x3bc)]())return;VisuMZ['ConvertParams'](_0x2c028e,_0x2c028e);const _0x4f30aa=_0x2c028e[_0x268700(0x45c)];BattleManager['_subject']&&BattleManager[_0x268700(0x64d)][_0x268700(0xbd3)](_0x4f30aa);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_StbRemoveExcessActions',_0x1bb060=>{const _0xde5685=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0xde5685(0xb6a)])return;if(!BattleManager[_0xde5685(0x3bc)]())return;VisuMZ[_0xde5685(0x4f4)](_0x1bb060,_0x1bb060);let _0x46e437=_0x1bb060[_0xde5685(0x45c)];if(BattleManager[_0xde5685(0x64d)]){BattleManager[_0xde5685(0x64d)]['_actions']=BattleManager[_0xde5685(0x64d)][_0xde5685(0x569)]||[];while(_0x46e437--){if('hZcMT'===_0xde5685(0x1b6))_0x185911[_0xde5685(0x759)][_0xde5685(0x555)][_0xde5685(0x783)](this,_0xbd270c),this[_0xde5685(0x1f0)](_0x5e64b4);else{if(BattleManager['_subject'][_0xde5685(0x569)][_0xde5685(0x1ba)]<=0x0)break;BattleManager[_0xde5685(0x64d)][_0xde5685(0x569)]['shift']();}}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Mechanics_SwapWeapon',_0x5c4e85=>{const _0x1ebafa=_0x208a24;if(!SceneManager[_0x1ebafa(0x8c3)]())return;if(!Imported['VisuMZ_2_WeaponSwapSystem'])return;VisuMZ[_0x1ebafa(0x4f4)](_0x5c4e85,_0x5c4e85);const _0x3f7306=VisuMZ[_0x1ebafa(0x5bd)](_0x5c4e85['Targets']),_0x22e554=_0x5c4e85[_0x1ebafa(0xdc)];for(const _0x2aef74 of _0x3f7306){if(!_0x2aef74)continue;if(!_0x2aef74[_0x1ebafa(0x9bf)]())continue;_0x2aef74[_0x1ebafa(0x72d)](_0x22e554);}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0xc8e),_0x4ec3d2=>{const _0x2c054e=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x2c054e(0x4f4)](_0x4ec3d2,_0x4ec3d2);const _0xe6fd3c=VisuMZ[_0x2c054e(0x5bd)](_0x4ec3d2['Targets']),_0x2dbec7=_0x4ec3d2[_0x2c054e(0x2bd)],_0x43287b={'textColor':ColorManager[_0x2c054e(0x33d)](_0x4ec3d2[_0x2c054e(0x57f)]),'flashColor':_0x4ec3d2[_0x2c054e(0x306)],'flashDuration':_0x4ec3d2[_0x2c054e(0xc07)]};for(const _0x4e255e of _0xe6fd3c){if(_0x2c054e(0x4bc)!==_0x2c054e(0x4bc)){const _0x3cec04=_0x2e93b0['isActor']()?_0x371b15[_0x2c054e(0x9e5)]:_0x3b2cf7['message2'];_0x3cec04&&_0x58692c[_0x2c054e(0x759)][_0x2c054e(0xc39)][_0x2c054e(0x98d)]['ShowAddedState']&&(this[_0x2c054e(0x7c3)](_0x2c054e(0xcf5)),this[_0x2c054e(0x7c3)](_0x2c054e(0x7c9)),this[_0x2c054e(0x7c3)]('pushBaseLine'),this['push']('addText',_0x3cec04[_0x2c054e(0x75a)](_0xd007b0['name']())),this[_0x2c054e(0x7c3)](_0x2c054e(0xac0))),_0xe39d3f['id']===_0xb85c42['deathStateId']()&&this['push'](_0x2c054e(0x352),_0x228295);}else{if(!_0x4e255e)continue;_0x4e255e[_0x2c054e(0x98c)](_0x2dbec7,_0x43287b);}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x183),_0x2646b9=>{const _0x356833=_0x208a24;if(!SceneManager[_0x356833(0x8c3)]())return;VisuMZ['ConvertParams'](_0x2646b9,_0x2646b9);const _0xba5f98=VisuMZ['CreateActionSequenceTargets'](_0x2646b9[_0x356833(0x83d)]);let _0x8e82ec=$gameVariables[_0x356833(0x905)](_0x2646b9[_0x356833(0x13b)]);Imported[_0x356833(0x496)]&&_0x2646b9[_0x356833(0x834)]&&(_0x8e82ec=VisuMZ['GroupDigits'](_0x8e82ec));const _0x5c0bf6=String(_0x8e82ec),_0x595fc7={'textColor':ColorManager[_0x356833(0x33d)](_0x2646b9[_0x356833(0x57f)]),'flashColor':_0x2646b9[_0x356833(0x306)],'flashDuration':_0x2646b9[_0x356833(0xc07)]};for(const _0x83e925 of _0xba5f98){if(!_0x83e925)continue;_0x83e925[_0x356833(0x98c)](_0x5c0bf6,_0x595fc7);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x6cc),_0x5aab16=>{const _0x3b4dad=_0x208a24;if(!SceneManager['isSceneBattle']())return;const _0x1ec7b5=$gameTemp['getLastPluginCommandInterpreter']();if(!_0x1ec7b5)return;_0x1ec7b5[_0x3b4dad(0x3dc)](_0x3b4dad(0x5cf));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xc2a),_0x164b18=>{const _0x55bfda=_0x208a24;if(!SceneManager[_0x55bfda(0x8c3)]())return;VisuMZ[_0x55bfda(0x4f4)](_0x164b18,_0x164b18);const _0x331861=VisuMZ['CreateActionSequenceTargets'](_0x164b18[_0x55bfda(0x83d)]);for(const _0x4f19c1 of _0x331861){if(_0x55bfda(0x454)===_0x55bfda(0xc6e)){if(_0x4abc7c['BTestBypass']&&_0x12d712[_0x55bfda(0x902)]())return!![];if(this[_0x55bfda(0xa4c)][_0x55bfda(0x2ce)])return![];return this[_0x55bfda(0xa4c)][_0x55bfda(0xae1)]();}else{if(!_0x4f19c1)continue;_0x4f19c1[_0x55bfda(0x519)]();}}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x149),_0x637d1=>{const _0x2df0a6=_0x208a24;if(!SceneManager[_0x2df0a6(0x8c3)]())return;VisuMZ[_0x2df0a6(0x4f4)](_0x637d1,_0x637d1);const _0x3ba87d=VisuMZ[_0x2df0a6(0x5bd)](_0x637d1[_0x2df0a6(0x83d)]),_0x6c60ce=_0x637d1['MotionType'][_0x2df0a6(0x717)]()['trim']();let _0x37467b=_0x637d1[_0x2df0a6(0x3ae)];const _0x65bf04=_0x637d1[_0x2df0a6(0xc45)];![_0x2df0a6(0x2b9),'thrust',_0x2df0a6(0xb89),_0x2df0a6(0xb67)][_0x2df0a6(0xcaf)](_0x6c60ce)&&(_0x37467b=![]);for(const _0x31b029 of _0x3ba87d){if(_0x2df0a6(0xb4a)!==_0x2df0a6(0xc12)){if(!_0x31b029)continue;_0x31b029[_0x2df0a6(0x7a2)](_0x6c60ce,_0x37467b,_0x65bf04);}else{if(!this[_0x2df0a6(0x7d2)]())return;if(this[_0x2df0a6(0xd00)]===_0x50b1e4)return;this['_targetFloatHeight']=_0x3ff5a8,this[_0x2df0a6(0x831)]=_0x236322,this[_0x2df0a6(0x1ac)]=_0xa7db3c,this[_0x2df0a6(0xa15)]=_0x4bef5a||_0x2df0a6(0xc0e);if(_0x4ab642<=0x0)this[_0x2df0a6(0x1e0)]=_0x2b8a1d;}}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Motion_MotionType',_0x64295=>{const _0x4ab08d=_0x208a24;if(!SceneManager[_0x4ab08d(0x8c3)]())return;VisuMZ[_0x4ab08d(0x4f4)](_0x64295,_0x64295);const _0x5f3cdf=VisuMZ[_0x4ab08d(0x5bd)](_0x64295['Targets']),_0x5c3829=_0x64295['MotionType'][_0x4ab08d(0x717)]()[_0x4ab08d(0x446)](),_0x15d0d0=_0x64295[_0x4ab08d(0x3ae)];for(const _0x389606 of _0x5f3cdf){if(_0x4ab08d(0xd0b)==='OGKEu'){const _0xe26e66=_0x158866[_0x4ab08d(0xab3)](_0x14f580['x'],_0x43a4fe['y']);if(this[_0x4ab08d(0x9fb)]&&this['_regionBattleback2'][_0xe26e66])return this[_0x4ab08d(0xb7d)][_0xe26e66];}else{if(!_0x389606)continue;_0x389606['_showWeapon']=_0x15d0d0;if(_0x5c3829[_0x4ab08d(0x7fc)](/ATTACK[ ](\d+)/i))_0x389606['performAttackSlot'](Number(RegExp['$1']));else _0x5c3829===_0x4ab08d(0x2b9)?_0x4ab08d(0xb6c)==='SJNAp'?_0x4b98eb+=_0xbe1764:_0x389606[_0x4ab08d(0x5e0)]():'lDjES'!==_0x4ab08d(0x7d0)?_0x389606[_0x4ab08d(0x90c)](_0x5c3829):this[_0x4ab08d(0x7c3)](_0x4ab08d(0xc8c),_0x2228c9);if(!_0x15d0d0)_0x389606['startWeaponAnimation'](0x0);else{if(_0x15d0d0&&[_0x4ab08d(0xd3e),_0x4ab08d(0xb89),_0x4ab08d(0x545)][_0x4ab08d(0xcaf)](_0x5c3829)){}}_0x389606[_0x4ab08d(0x510)]=undefined;}}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Motion_PerformAction',_0x6b3222=>{const _0x454937=_0x208a24;if(!SceneManager[_0x454937(0x8c3)]())return;VisuMZ[_0x454937(0x4f4)](_0x6b3222,_0x6b3222);const _0x2de304=BattleManager['_action'];if(!_0x2de304)return;if(!_0x2de304[_0x454937(0x8bb)]())return;const _0x563b8a=VisuMZ[_0x454937(0x5bd)](_0x6b3222[_0x454937(0x83d)]);for(const _0x260d47 of _0x563b8a){if(_0x454937(0x3ab)!==_0x454937(0x3ab)){if(_0x2e64e9>_0x4ab7f8['_baseX'])_0x33d0b7=!![];if(_0x1902e2<_0x2bdaab[_0x454937(0x169)])_0x2d5ced=![];}else{if(!_0x260d47)continue;_0x260d47[_0x454937(0x3f6)](_0x2de304);}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x322),_0x4c0761=>{const _0x4074b7=_0x208a24;if(!SceneManager[_0x4074b7(0x8c3)]())return;VisuMZ[_0x4074b7(0x4f4)](_0x4c0761,_0x4c0761);const _0x203ab4=VisuMZ['CreateActionSequenceTargets'](_0x4c0761[_0x4074b7(0x83d)]);for(const _0x32b487 of _0x203ab4){if(_0x4074b7(0x9ad)===_0x4074b7(0xa41)){const _0x19f8be=_0x98437b[_0x4074b7(0x759)][_0x4074b7(0xc39)][_0x4074b7(0x148)],_0x30cebf=_0x19f8be['CommandWidth']||0xc0,_0x5f4a26=this[_0x4074b7(0x74f)](),_0x390f1b=this[_0x4074b7(0x171)]()?_0x1fc238[_0x4074b7(0xa53)]-_0x30cebf:0x0,_0x42e13b=_0x51afcc[_0x4074b7(0x833)]-_0x5f4a26;return new _0x5ddb07(_0x390f1b,_0x42e13b,_0x30cebf,_0x5f4a26);}else{if(!_0x32b487)continue;if(!_0x32b487[_0x4074b7(0xd08)]())continue;_0x32b487[_0x4074b7(0xd08)]()['refreshMotion']();}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Motion_WaitMotionFrame',_0x41ab6a=>{const _0x34ef9f=_0x208a24;if(!SceneManager[_0x34ef9f(0x8c3)]())return;VisuMZ['ConvertParams'](_0x41ab6a,_0x41ab6a);const _0x7cadd=$gameTemp['getLastPluginCommandInterpreter'](),_0x3651df=_0x41ab6a['MotionFrameWait']*Sprite_Battler[_0x34ef9f(0xa73)];_0x7cadd[_0x34ef9f(0xac0)](_0x3651df);}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x944),_0x30b631=>{const _0x213e36=_0x208a24;if(!SceneManager[_0x213e36(0x8c3)]())return;VisuMZ[_0x213e36(0x4f4)](_0x30b631,_0x30b631);const _0x5923a2=$gameTemp[_0x213e36(0xcc)](),_0xf1e928=BattleManager['_action'];if(!_0x5923a2||!_0xf1e928)return;if(!_0xf1e928['item']())return;const _0x2d347c=VisuMZ['CreateActionSequenceTargets'](_0x30b631[_0x213e36(0x83d)]);for(const _0x1f8567 of _0x2d347c){if(_0x213e36(0xfc)!==_0x213e36(0xfc)){const _0x1428a2=this[_0x213e36(0x9bf)]()?this[_0x213e36(0x178)]():this[_0x213e36(0x449)]();if(_0x1428a2){const _0x12a678=_0x1428a2[_0x213e36(0x6c4)];if(_0x12a678[_0x213e36(0x7fc)](/<SIDEVIEW SHADOW (?:SCALE|SCALE X):[ ](\d+)([%％])>/i))return _0xa5dd30(_0x4b6b7d['$1'])*0.01;else{if(_0x12a678[_0x213e36(0x7fc)](/<SIDEVIEW SHADOW (?:SCALE|SCALE X):[ ](.*)>/i))return _0x18e101(_0x36dad5['$1'])||0x0;}}return 0x1;}else{if(!_0x1f8567)continue;_0x1f8567[_0x213e36(0x997)](_0xf1e928);}}if(_0x30b631[_0x213e36(0x2ba)])_0x5923a2['setWaitMode'](_0x213e36(0xbb9));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x936),_0x29dba5=>{const _0x20d34e=_0x208a24;if(!SceneManager[_0x20d34e(0x8c3)]())return;if(!$gameSystem[_0x20d34e(0x620)]())return;VisuMZ[_0x20d34e(0x4f4)](_0x29dba5,_0x29dba5);const _0x56023f=$gameTemp['getLastPluginCommandInterpreter'](),_0x24bb7a=VisuMZ['CreateActionSequenceTargets'](_0x29dba5[_0x20d34e(0x83d)]),_0x1d8f59=_0x29dba5['DistanceAdjust'],_0x2f6cff=_0x29dba5['DistanceX'],_0x4de542=_0x29dba5[_0x20d34e(0x7db)],_0x1a509f=_0x29dba5['Duration'],_0x2c4f5d=_0x29dba5['FaceDirection'],_0x1d902e=_0x29dba5[_0x20d34e(0x99b)],_0x403ccd=_0x29dba5[_0x20d34e(0xc9e)],_0x788aad=_0x29dba5[_0x20d34e(0x2ba)];if(!_0x56023f)return;for(const _0x5eb006 of _0x24bb7a){if(_0x20d34e(0x4d2)===_0x20d34e(0x4d2)){if(!_0x5eb006)continue;let _0xc39ca1=_0x2f6cff,_0x3c04dd=_0x4de542;if(_0x1d8f59[_0x20d34e(0x7fc)](/horz/i))_0xc39ca1*=_0x5eb006[_0x20d34e(0x9bf)]()?-0x1:0x1;if(_0x1d8f59['match'](/vert/i))_0x3c04dd*=_0x5eb006[_0x20d34e(0x9bf)]()?-0x1:0x1;_0x5eb006[_0x20d34e(0xa0a)](_0xc39ca1,_0x3c04dd,_0x1a509f,_0x2c4f5d,_0x1d902e),_0x5eb006['requestMotion'](_0x403ccd);}else _0x1bfca6['addState'](_0x90ed4);}if(_0x788aad)_0x56023f[_0x20d34e(0x3dc)](_0x20d34e(0xbb9));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x92e),_0x127924=>{const _0x436f59=_0x208a24;if(!SceneManager[_0x436f59(0x8c3)]())return;if(!$gameSystem[_0x436f59(0x620)]())return;VisuMZ[_0x436f59(0x4f4)](_0x127924,_0x127924);const _0x2b9e32=$gameTemp[_0x436f59(0xcc)](),_0x1a80a5=VisuMZ['CreateActionSequenceTargets'](_0x127924[_0x436f59(0x83d)]),_0x5e8a39=_0x127924[_0x436f59(0x1da)],_0x5a3f83=_0x127924[_0x436f59(0x7ae)],_0x35c7f6=_0x127924['OffsetY'],_0x11e307=_0x127924[_0x436f59(0x2c6)],_0x64f51d=_0x127924['FaceDirection'],_0x160163=_0x127924[_0x436f59(0x99b)],_0x113d9d=_0x127924[_0x436f59(0xc9e)],_0x42598d=_0x127924[_0x436f59(0x2ba)];if(!_0x2b9e32)return;for(const _0x58ba12 of _0x1a80a5){if(_0x436f59(0xce6)===_0x436f59(0x9cb))this[_0x436f59(0x778)](_0x436f59(0x1b2));else{if(!_0x58ba12)continue;const _0x1ec358=_0x127924[_0x436f59(0x219)](_0x58ba12)||{'x':0x0,'y':0x0};let _0x5fa36e=_0x1ec358['x'],_0x5264b1=_0x1ec358['y'];if(_0x5e8a39[_0x436f59(0x7fc)](/none/i))_0x5fa36e+=_0x5a3f83,_0x5264b1+=_0x35c7f6;else{if(_0x5e8a39[_0x436f59(0x7fc)](/horz/i)&&_0x5e8a39[_0x436f59(0x7fc)](/vert/i)){if('YBDdx'===_0x436f59(0xb73))return _0xb24125[_0x436f59(0x759)][_0x436f59(0xc39)][_0x436f59(0x5a5)][_0x436f59(0x377)];else _0x5fa36e+=_0x58ba12['isActor']()?-_0x5a3f83:_0x5a3f83,_0x5264b1+=_0x58ba12[_0x436f59(0x9bf)]()?-_0x35c7f6:_0x35c7f6;}else{if(_0x5e8a39[_0x436f59(0x7fc)](/horz/i))_0x5fa36e+=_0x58ba12[_0x436f59(0x9bf)]()?-_0x5a3f83:_0x5a3f83,_0x5264b1+=_0x35c7f6;else _0x5e8a39['match'](/vert/i)&&(_0x5fa36e+=_0x5a3f83,_0x5264b1+=_0x58ba12[_0x436f59(0x9bf)]()?-_0x35c7f6:_0x35c7f6);}}_0x58ba12['moveBattlerHomeToPoint'](_0x5fa36e,_0x5264b1,_0x11e307,_0x64f51d,_0x160163,-0x1),_0x58ba12[_0x436f59(0x90c)](_0x113d9d);}}if(_0x42598d)_0x2b9e32[_0x436f59(0x3dc)](_0x436f59(0xbb9));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Movement_HomeMoveToPoint',_0x1c804e=>{const _0x537939=_0x208a24;if(!SceneManager[_0x537939(0x8c3)]())return;if(!$gameSystem[_0x537939(0x620)]())return;VisuMZ['ConvertParams'](_0x1c804e,_0x1c804e);const _0x40e906=$gameTemp[_0x537939(0xcc)](),_0x37f9f6=VisuMZ[_0x537939(0x5bd)](_0x1c804e['Targets']),_0x23fe9c=_0x1c804e[_0x537939(0x45f)],_0x4fdb71=_0x1c804e[_0x537939(0x1da)],_0x5aa672=_0x1c804e[_0x537939(0x7ae)],_0x2fbab2=_0x1c804e[_0x537939(0x153)],_0x15e113=_0x1c804e[_0x537939(0x2c6)],_0x2a44ca=_0x1c804e[_0x537939(0xbfa)],_0x27d7c8=_0x1c804e[_0x537939(0x99b)],_0x200054=_0x1c804e[_0x537939(0xc9e)],_0x3d408f=_0x1c804e[_0x537939(0x2ba)];if(!_0x40e906)return;for(const _0x2f84d1 of _0x37f9f6){if(_0x537939(0x2b6)===_0x537939(0x2b6)){if(!_0x2f84d1)continue;let _0x56b565=_0x2f84d1['battler']()['_baseX'],_0x2a1437=_0x2f84d1[_0x537939(0xd08)]()['_baseY'];if(_0x23fe9c[_0x537939(0x7fc)](/home/i)){if('WADaL'!==_0x537939(0x8bc))_0x56b565=_0x2f84d1[_0x537939(0xd08)]()['_homeX'],_0x2a1437=_0x2f84d1[_0x537939(0xd08)]()[_0x537939(0x66c)];else{const _0x222b70=_0x380ff5[_0x537939(0x759)][_0x537939(0xc39)];if(this[_0x537939(0x594)]===_0x751766)_0x4fb6ea+=_0x222b70['Actor']['OffsetX']||0x0,_0x39d12a+=_0x222b70[_0x537939(0x5a5)]['OffsetY']||0x0;else this[_0x537939(0x594)]===_0xdc6b94&&(_0x14dbce+=_0x222b70[_0x537939(0x6bd)]['OffsetX']||0x0,_0x56a90f+=_0x222b70[_0x537939(0x6bd)]['OffsetY']||0x0);const _0x1284e8=_0x4b0d09-this[_0x537939(0xd02)],_0x31365b=_0x3cfa9c-this[_0x537939(0x66c)];this[_0x537939(0xd02)]=_0x2e641a,this['_homeY']=_0xcf7650,this[_0x537939(0xb71)]-=_0x1284e8,this[_0x537939(0x3a2)]-=_0x31365b,this[_0x537939(0x6ee)]-=_0x1284e8,this[_0x537939(0x7f8)]-=_0x31365b,this[_0x537939(0x295)]();}}else{if(_0x23fe9c[_0x537939(0x7fc)](/center/i)){if(_0x537939(0xb6f)!==_0x537939(0x425))_0x56b565=Graphics[_0x537939(0xa53)]/0x2,_0x2a1437=Graphics[_0x537939(0x833)]/0x2;else{const _0xb7785c=_0x3a85ae[_0x537939(0xc1b)]['partyCommandWindowRectBorderStyle']();this[_0x537939(0x760)](_0xb7785c['x'],_0xb7785c['y'],_0xb7785c[_0x537939(0x4fe)],_0xb7785c[_0x537939(0x1fa)]),this[_0x537939(0x785)](),this[_0x537939(0xc79)](0x0);}}else{if(_0x23fe9c[_0x537939(0x7fc)](/point (\d+), (\d+)/i)){if('UZgOv'!=='UZgOv'){if(!_0x65bde3[_0x537939(0x759)][_0x537939(0xc39)]['Damage'][_0x537939(0xc44)])return _0x525cc7;const _0x3fcf7c=/<BYPASS SOFT DAMAGE CAP>/i;if(this[_0x537939(0x8bb)]()['note'][_0x537939(0x7fc)](_0x3fcf7c))return _0x498528;if(this[_0x537939(0x6a9)]()['traitObjects']()['some'](_0x449281=>_0x449281&&_0x449281[_0x537939(0x6c4)][_0x537939(0x7fc)](_0x3fcf7c)))return _0x49948d;const _0x37d235=_0x23a6f9<0x0?-0x1:0x1;_0x446a5e=_0x531b56[_0x537939(0x7ac)](_0x5a6149);let _0x264cea=this[_0x537939(0x6a9)]()[_0x537939(0xc6d)]();this[_0x537939(0x8bb)]()[_0x537939(0x6c4)][_0x537939(0x7fc)](/<SOFT DAMAGE CAP:[ ]([\+\-]\d+)([%％])>/i)&&(_0x264cea+=_0x117ebf(_0x25e7fd['$1'])/0x64);_0x264cea=_0x264cea[_0x537939(0x345)](0.01,0x1);const _0x3e5b06=this[_0x537939(0x495)](),_0x30295b=_0x264cea*_0x3e5b06;if(_0x478dd5>_0x30295b&&_0x3e5b06>_0x30295b){_0x34a5fa-=_0x30295b;const _0x5bcfee=_0x1e16d6[_0x537939(0x759)][_0x537939(0xc39)][_0x537939(0x7a9)]['DefaultSoftScaler'],_0x21c552=_0x251139[_0x537939(0x6db)](0x1-_0x137d69/((_0x3e5b06-_0x30295b)*_0x5bcfee+_0x41d287),0.01);_0x16af0c*=_0x21c552,_0x1c2097+=_0x30295b;}return _0x37d7d4*_0x37d235;}else _0x56b565=Number(RegExp['$1']),_0x2a1437=Number(RegExp['$2']);}}}if(_0x4fdb71[_0x537939(0x7fc)](/none/i))_0x56b565+=_0x5aa672,_0x2a1437+=_0x2fbab2;else{if(_0x4fdb71[_0x537939(0x7fc)](/horz/i)&&_0x4fdb71[_0x537939(0x7fc)](/vert/i))'TMSGH'!=='TMSGH'?(_0x2e0ee1[_0x537939(0xac0)](0x1),_0x4498f5[_0x537939(0x3dc)](_0x537939(0xa89))):(_0x56b565+=_0x2f84d1['isActor']()?-_0x5aa672:_0x5aa672,_0x2a1437+=_0x2f84d1[_0x537939(0x9bf)]()?-_0x2fbab2:_0x2fbab2);else{if(_0x4fdb71[_0x537939(0x7fc)](/horz/i)){if(_0x537939(0xaa9)===_0x537939(0xaa9))_0x56b565+=_0x2f84d1[_0x537939(0x9bf)]()?-_0x5aa672:_0x5aa672,_0x2a1437+=_0x2fbab2;else{if(!this[_0x537939(0xc3a)])return;this[_0x537939(0xa4c)]!==this[_0x537939(0xc3a)]['_battler']&&this[_0x537939(0x876)](this[_0x537939(0xc3a)][_0x537939(0xa4c)]);}}else{if(_0x4fdb71['match'](/vert/i)){if('FYQHQ'===_0x537939(0x8e6)){if(_0x4a0fbc[_0x537939(0x158)][_0x537939(0xd1a)]!==0x0)return![];}else _0x56b565+=_0x5aa672,_0x2a1437+=_0x2f84d1['isActor']()?-_0x2fbab2:_0x2fbab2;}}}}_0x2f84d1['moveBattlerHomeToPoint'](_0x56b565,_0x2a1437,_0x15e113,_0x2a44ca,_0x27d7c8,-0x1),_0x2f84d1['requestMotion'](_0x200054);}else this[_0x537939(0xaa0)]()?delete _0x36064f[_0x537939(0x527)]['cancel']:_0x58bd76[_0x537939(0x39c)](_0x537939(0x5c5),this[_0x537939(0x2fc)]['bind'](this));}if(_0x3d408f)_0x40e906[_0x537939(0x3dc)](_0x537939(0xbb9));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x891),_0x421adc=>{const _0x234239=_0x208a24;if(!SceneManager[_0x234239(0x8c3)]())return;if(!$gameSystem[_0x234239(0x620)]())return;VisuMZ[_0x234239(0x4f4)](_0x421adc,_0x421adc);const _0x22d7fe=$gameTemp[_0x234239(0xcc)](),_0x2f6288=VisuMZ[_0x234239(0x5bd)](_0x421adc[_0x234239(0x6ac)]),_0x5f317f=VisuMZ[_0x234239(0x5bd)](_0x421adc[_0x234239(0x8b2)]),_0x2c6f0b=_0x421adc['TargetLocation'];let _0x13c607=_0x421adc[_0x234239(0xa81)];const _0x3b44b0=_0x421adc['OffsetAdjust'],_0x162c7c=_0x421adc[_0x234239(0x7ae)],_0x1c062e=_0x421adc[_0x234239(0x153)],_0x57f8d9=_0x421adc[_0x234239(0x2c6)],_0x2cb78f=_0x421adc[_0x234239(0xbfa)],_0x362337=_0x421adc[_0x234239(0x99b)],_0x38332c=_0x421adc['MotionType'],_0x98fb8d=_0x421adc[_0x234239(0x2ba)],_0x4c50b1=Math['min'](..._0x5f317f[_0x234239(0x58e)](_0x3022a0=>_0x3022a0['battler']()[_0x234239(0x169)]-_0x3022a0['battler']()[_0x234239(0x68b)]()/0x2)),_0x1dceb7=Math['max'](..._0x5f317f[_0x234239(0x58e)](_0x4e0b1e=>_0x4e0b1e[_0x234239(0xd08)]()['_baseX']+_0x4e0b1e[_0x234239(0xd08)]()[_0x234239(0x68b)]()/0x2)),_0x53c21d=Math[_0x234239(0x618)](..._0x5f317f[_0x234239(0x58e)](_0x3a2a97=>_0x3a2a97[_0x234239(0xd08)]()[_0x234239(0x832)]-_0x3a2a97[_0x234239(0xd08)]()[_0x234239(0x536)]())),_0x2bfb78=Math['max'](..._0x5f317f[_0x234239(0x58e)](_0xbc0149=>_0xbc0149[_0x234239(0xd08)]()[_0x234239(0x832)])),_0x5b28af=_0x5f317f[_0x234239(0x5a8)](_0x2e5f32=>_0x2e5f32[_0x234239(0x9bf)]())[_0x234239(0x1ba)],_0x23bdb2=_0x5f317f[_0x234239(0x5a8)](_0x49ef1f=>_0x49ef1f[_0x234239(0x27a)]())[_0x234239(0x1ba)];let _0x49a16d=0x0,_0x308736=0x0;if(_0x2c6f0b[_0x234239(0x7fc)](/front/i))_0x49a16d=_0x5b28af>=_0x23bdb2?_0x4c50b1:_0x1dceb7;else{if(_0x2c6f0b[_0x234239(0x7fc)](/middle/i)){if(_0x234239(0x2a8)===_0x234239(0x2a8))_0x49a16d=(_0x4c50b1+_0x1dceb7)/0x2,_0x13c607=-0x1;else{if(!this['_mainSprite'])return;if(!this[_0x234239(0x1c2)])return;this[_0x234239(0x32b)](),this[_0x234239(0xa97)]();}}else _0x2c6f0b['match'](/back/i)&&(_0x234239(0xb2)!=='UDLqo'?this[_0x234239(0x7ff)]():_0x49a16d=_0x5b28af>=_0x23bdb2?_0x1dceb7:_0x4c50b1);}if(_0x2c6f0b[_0x234239(0x7fc)](/head/i))_0x308736=_0x53c21d;else{if(_0x2c6f0b[_0x234239(0x7fc)](/center/i))_0x234239(0x205)!=='bZVdS'?_0x308736=(_0x53c21d+_0x2bfb78)/0x2:_0x1716bd=_0x2d684d[_0x234239(0x655)](_0x19a0ea[_0x234239(0xe0)](_0x3b5f70));else _0x2c6f0b[_0x234239(0x7fc)](/base/i)&&(_0x308736=_0x2bfb78);}if(!_0x22d7fe)return;for(const _0x202617 of _0x2f6288){if(!_0x202617)continue;let _0x263015=_0x49a16d,_0x573cb3=_0x308736;if(_0x3b44b0[_0x234239(0x7fc)](/none/i))_0x263015+=_0x162c7c,_0x573cb3+=_0x1c062e;else{if(_0x3b44b0['match'](/horz/i)&&_0x3b44b0[_0x234239(0x7fc)](/vert/i))_0x263015+=_0x202617[_0x234239(0x9bf)]()?-_0x162c7c:_0x162c7c,_0x573cb3+=_0x202617[_0x234239(0x9bf)]()?-_0x1c062e:_0x1c062e;else{if(_0x3b44b0[_0x234239(0x7fc)](/horz/i))_0x263015+=_0x202617[_0x234239(0x9bf)]()?-_0x162c7c:_0x162c7c,_0x573cb3+=_0x1c062e;else _0x3b44b0[_0x234239(0x7fc)](/vert/i)&&(_0x263015+=_0x162c7c,_0x573cb3+=_0x202617[_0x234239(0x9bf)]()?-_0x1c062e:_0x1c062e);}}_0x202617[_0x234239(0xcc3)](_0x263015,_0x573cb3,_0x57f8d9,_0x2cb78f,_0x362337,_0x13c607),_0x202617[_0x234239(0x90c)](_0x38332c);}if(_0x98fb8d)_0x22d7fe[_0x234239(0x3dc)]('battleMove');}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Movement_FaceDirection',_0x299f53=>{const _0x36f6ea=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!$gameSystem[_0x36f6ea(0x620)]())return;VisuMZ[_0x36f6ea(0x4f4)](_0x299f53,_0x299f53);const _0x5691dc=VisuMZ[_0x36f6ea(0x5bd)](_0x299f53[_0x36f6ea(0x83d)]);let _0x1f945b=_0x299f53[_0x36f6ea(0x802)][_0x36f6ea(0x7fc)](/back/i);for(const _0x5cd362 of _0x5691dc){if(!_0x5cd362)continue;if(_0x299f53[_0x36f6ea(0x802)]['match'](/rand/i))_0x1f945b=Math[_0x36f6ea(0xd15)](0x2);_0x5cd362[_0x36f6ea(0xbde)](!!_0x1f945b);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],'ActSeq_Movement_FaceJsPoint',_0xeb2dde=>{const _0x4039c3=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!$gameSystem[_0x4039c3(0x620)]())return;VisuMZ[_0x4039c3(0x4f4)](_0xeb2dde,_0xeb2dde);const _0x4d9c25=VisuMZ[_0x4039c3(0x5bd)](_0xeb2dde['Targets']),_0x4587e5=_0xeb2dde[_0x4039c3(0xa1)];for(const _0x3b5c78 of _0x4d9c25){if(_0x4039c3(0x45a)===_0x4039c3(0x45a)){if(!_0x3b5c78)continue;const _0xc6bc89=_0xeb2dde[_0x4039c3(0x987)](_0x3b5c78)||{'x':0x0,'y':0x0};let _0x25d62a=_0xc6bc89['x'],_0x2569ce=_0xc6bc89['y'];_0x3b5c78[_0x4039c3(0xce)](Math['round'](_0x25d62a),Math['round'](_0x2569ce),!!_0x4587e5);}else{const _0xd9b872=_0x31c957[_0x5f6e2b];if(_0xd9b872)_0x269f05=this[_0x4039c3(0x2b7)]()[_0x4039c3(0x6d1)](_0xd9b872);}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x463),_0x68d7fe=>{const _0x662d8c=_0x208a24;if(!SceneManager[_0x662d8c(0x8c3)]())return;if(!$gameSystem[_0x662d8c(0x620)]())return;VisuMZ[_0x662d8c(0x4f4)](_0x68d7fe,_0x68d7fe);const _0x5cce14=VisuMZ[_0x662d8c(0x5bd)](_0x68d7fe['Targets']);let _0x52320e=_0x68d7fe['Point'];const _0x235242=_0x68d7fe['FaceAway'];for(const _0x51984d of _0x5cce14){if(!_0x51984d)continue;let _0x11d291=_0x51984d[_0x662d8c(0xd08)]()['_baseX'],_0xa28df3=_0x51984d['battler']()[_0x662d8c(0x832)];if(_0x52320e[_0x662d8c(0x7fc)](/home/i)){if(_0x662d8c(0x86e)!=='IwriZ')_0x11d291=_0x51984d['battler']()[_0x662d8c(0xd02)],_0xa28df3=_0x51984d['battler']()['_homeY'];else return!![];}else{if(_0x52320e['match'](/center/i))_0x11d291=Graphics[_0x662d8c(0xa53)]/0x2,_0xa28df3=Graphics['boxHeight']/0x2;else _0x52320e['match'](/point (\d+), (\d+)/i)&&(_0x11d291=Number(RegExp['$1']),_0xa28df3=Number(RegExp['$2']));}_0x51984d['setBattlerFacePoint'](Math[_0x662d8c(0xd50)](_0x11d291),Math['round'](_0xa28df3),!!_0x235242);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x8f6),_0x3fcf12=>{const _0x38431e=_0x208a24;if(!SceneManager[_0x38431e(0x8c3)]())return;if(!$gameSystem[_0x38431e(0x620)]())return;VisuMZ['ConvertParams'](_0x3fcf12,_0x3fcf12);const _0x447f09=VisuMZ['CreateActionSequenceTargets'](_0x3fcf12[_0x38431e(0x6ac)]),_0x28481e=VisuMZ['CreateActionSequenceTargets'](_0x3fcf12[_0x38431e(0x8b2)]),_0x5c786e=_0x28481e[_0x38431e(0x58e)](_0x8b107c=>_0x8b107c&&_0x8b107c['battler']()?_0x8b107c[_0x38431e(0xd08)]()[_0x38431e(0x169)]:0x0)/(_0x28481e['length']||0x1),_0x42f073=_0x28481e[_0x38431e(0x58e)](_0x20ba55=>_0x20ba55&&_0x20ba55[_0x38431e(0xd08)]()?_0x20ba55['battler']()[_0x38431e(0x832)]:0x0)/(_0x28481e['length']||0x1),_0x5d5c5c=_0x3fcf12[_0x38431e(0xa1)];for(const _0x59f9b1 of _0x447f09){if(_0x38431e(0x1ad)!=='EYqDH'){if(!_0x59f9b1)continue;_0x59f9b1[_0x38431e(0xce)](Math['round'](_0x5c786e),Math[_0x38431e(0xd50)](_0x42f073),!!_0x5d5c5c);}else{const _0x52b0fa=this[_0x38431e(0x617)](_0x166ad1),_0x2039b8=this[_0x38431e(0x6e4)](_0x1296e3),_0x124bfb=this[_0x38431e(0x23d)](_0x2039b8)[_0x38431e(0x4fe)];this[_0x38431e(0x8cd)](this[_0x38431e(0xb4f)](_0x504218));const _0x131938=this[_0x38431e(0x6a2)]();if(_0x131938===_0x38431e(0x5d3))this[_0x38431e(0x49e)](_0x2039b8,_0x52b0fa['x']+_0x52b0fa[_0x38431e(0x4fe)]-_0x124bfb,_0x52b0fa['y'],_0x124bfb);else{if(_0x131938===_0x38431e(0x1c0)){const _0x18290a=_0x52b0fa['x']+_0x534a23[_0x38431e(0x479)]((_0x52b0fa[_0x38431e(0x4fe)]-_0x124bfb)/0x2);this['drawTextEx'](_0x2039b8,_0x18290a,_0x52b0fa['y'],_0x124bfb);}else this[_0x38431e(0x49e)](_0x2039b8,_0x52b0fa['x'],_0x52b0fa['y'],_0x124bfb);}}}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x3f4),_0x479861=>{const _0x54a9bd=_0x208a24;if(!SceneManager[_0x54a9bd(0x8c3)]())return;VisuMZ[_0x54a9bd(0x4f4)](_0x479861,_0x479861);const _0x42436e=$gameTemp[_0x54a9bd(0xcc)](),_0xcaffdf=VisuMZ['CreateActionSequenceTargets'](_0x479861[_0x54a9bd(0x83d)]),_0x18777a=_0x479861[_0x54a9bd(0x604)],_0xbdf40b=_0x479861['Duration'],_0x3f9733=_0x479861[_0x54a9bd(0x99b)],_0x29dfbe=_0x479861[_0x54a9bd(0xbb8)];if(!_0x42436e)return;for(const _0x1a775c of _0xcaffdf){if('DMAhk'!==_0x54a9bd(0xa35))this[_0x54a9bd(0x93c)]()?this[_0x54a9bd(0xbcd)]():(this[_0x54a9bd(0x7d8)](),_0x150efd[_0x54a9bd(0x759)]['Sprite_Actor_updateFrame'][_0x54a9bd(0x783)](this));else{if(!_0x1a775c)continue;_0x1a775c[_0x54a9bd(0xa6c)](_0x18777a,_0xbdf40b,_0x3f9733);}}if(_0x29dfbe)_0x42436e[_0x54a9bd(0x3dc)](_0x54a9bd(0x399));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x2a3),_0x586c20=>{const _0x3acd5c=_0x208a24;if(!SceneManager[_0x3acd5c(0x8c3)]())return;VisuMZ[_0x3acd5c(0x4f4)](_0x586c20,_0x586c20);const _0x4b4bb3=$gameTemp[_0x3acd5c(0xcc)]();if(!_0x4b4bb3)return;const _0x12095a=VisuMZ[_0x3acd5c(0x5bd)](_0x586c20[_0x3acd5c(0x83d)]);for(const _0x226ed2 of _0x12095a){if(!_0x226ed2)continue;_0x226ed2[_0x3acd5c(0x18a)]();}BattleManager[_0x3acd5c(0x64d)]&&BattleManager['_subject'][_0x3acd5c(0x749)]();if(_0x586c20[_0x3acd5c(0x2ba)])_0x4b4bb3['setWaitMode'](_0x3acd5c(0xbb9));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x6da),_0x3614c9=>{const _0x4875db=_0x208a24;if(!SceneManager[_0x4875db(0x8c3)]())return;VisuMZ['ConvertParams'](_0x3614c9,_0x3614c9);const _0xa47a2c=$gameTemp[_0x4875db(0xcc)](),_0x1b103a=VisuMZ['CreateActionSequenceTargets'](_0x3614c9[_0x4875db(0x83d)]),_0x560d43=_0x3614c9[_0x4875db(0x604)],_0x2242e2=_0x3614c9['Duration'],_0x190fb1=_0x3614c9[_0x4875db(0xccf)];if(!_0xa47a2c)return;for(const _0x280f6d of _0x1b103a){if(!_0x280f6d)continue;_0x280f6d[_0x4875db(0x126)](_0x560d43,_0x2242e2);}if(_0x190fb1)_0xa47a2c[_0x4875db(0x3dc)]('battleJump');}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x2d1),_0x30246f=>{const _0x267350=_0x208a24;if(!SceneManager[_0x267350(0x8c3)]())return;if(!$gameSystem[_0x267350(0x620)]())return;VisuMZ['ConvertParams'](_0x30246f,_0x30246f);const _0x234a2e=$gameTemp[_0x267350(0xcc)](),_0x37d859=VisuMZ[_0x267350(0x5bd)](_0x30246f[_0x267350(0x83d)]),_0x352f98=_0x30246f[_0x267350(0xc91)],_0x41ed86=_0x30246f[_0x267350(0x5bf)],_0x1a4d36=_0x30246f['DistanceY'],_0x48370f=_0x30246f['Duration'],_0xfadd0d=_0x30246f[_0x267350(0xbfa)],_0x359ebc=_0x30246f['EasingType'],_0x3fa7ac=_0x30246f[_0x267350(0xc9e)],_0x1ab31c=_0x30246f['WaitForMovement'];if(!_0x234a2e)return;for(const _0x88b27 of _0x37d859){if(_0x267350(0x985)!==_0x267350(0x985)){if(!_0x36522b['isSceneBattle']())return;if(!_0x2fab5a[_0x267350(0x598)])return;const _0xb0a28a=_0x1ea1c4[_0x267350(0xcc)]();_0xb0a28a['setWaitMode'](_0x267350(0x8b0));}else{if(!_0x88b27)continue;let _0x496708=_0x41ed86,_0xde8dfa=_0x1a4d36;if(_0x352f98['match'](/horz/i))_0x496708*=_0x88b27[_0x267350(0x9bf)]()?-0x1:0x1;if(_0x352f98[_0x267350(0x7fc)](/vert/i))_0xde8dfa*=_0x88b27[_0x267350(0x9bf)]()?-0x1:0x1;_0x88b27[_0x267350(0xb88)](_0x496708,_0xde8dfa,_0x48370f,_0xfadd0d,_0x359ebc),_0x88b27[_0x267350(0x90c)](_0x3fa7ac);}}if(_0x1ab31c)_0x234a2e[_0x267350(0x3dc)](_0x267350(0xbb9));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x8e8),_0x46f6e3=>{const _0x408f97=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!$gameSystem['isSideView']())return;VisuMZ[_0x408f97(0x4f4)](_0x46f6e3,_0x46f6e3);const _0x343787=$gameTemp[_0x408f97(0xcc)](),_0x12f389=VisuMZ[_0x408f97(0x5bd)](_0x46f6e3[_0x408f97(0x83d)]),_0xebc31a=_0x46f6e3[_0x408f97(0x1da)],_0x2ac84e=_0x46f6e3['OffsetX'],_0x28811f=_0x46f6e3['OffsetY'],_0x7117fb=_0x46f6e3[_0x408f97(0x2c6)],_0x49e205=_0x46f6e3[_0x408f97(0xbfa)],_0x27771c=_0x46f6e3['EasingType'],_0x18b50f=_0x46f6e3[_0x408f97(0xc9e)],_0x41c47a=_0x46f6e3[_0x408f97(0x2ba)];if(!_0x343787)return;for(const _0x4f2b5b of _0x12f389){if(!_0x4f2b5b)continue;const _0x18b44d=_0x46f6e3[_0x408f97(0x219)](_0x4f2b5b)||{'x':0x0,'y':0x0};let _0x2277c8=_0x18b44d['x'],_0x3bdc3f=_0x18b44d['y'];if(_0xebc31a['match'](/none/i))_0x2277c8+=_0x2ac84e,_0x3bdc3f+=_0x28811f;else{if(_0xebc31a[_0x408f97(0x7fc)](/horz/i)&&_0xebc31a[_0x408f97(0x7fc)](/vert/i))_0x2277c8+=_0x4f2b5b['isActor']()?-_0x2ac84e:_0x2ac84e,_0x3bdc3f+=_0x4f2b5b[_0x408f97(0x9bf)]()?-_0x28811f:_0x28811f;else{if(_0xebc31a[_0x408f97(0x7fc)](/horz/i))_0x2277c8+=_0x4f2b5b[_0x408f97(0x9bf)]()?-_0x2ac84e:_0x2ac84e,_0x3bdc3f+=_0x28811f;else _0xebc31a[_0x408f97(0x7fc)](/vert/i)&&(_0x2277c8+=_0x2ac84e,_0x3bdc3f+=_0x4f2b5b[_0x408f97(0x9bf)]()?-_0x28811f:_0x28811f);}}_0x4f2b5b[_0x408f97(0x70e)](_0x2277c8,_0x3bdc3f,_0x7117fb,_0x49e205,_0x27771c,-0x1),_0x4f2b5b[_0x408f97(0x90c)](_0x18b50f);}if(_0x41c47a)_0x343787['setWaitMode'](_0x408f97(0xbb9));}),PluginManager['registerCommand'](pluginData['name'],'ActSeq_Movement_MoveToPoint',_0x272e47=>{const _0x675d09=_0x208a24;if(!SceneManager[_0x675d09(0x8c3)]())return;if(!$gameSystem['isSideView']())return;VisuMZ[_0x675d09(0x4f4)](_0x272e47,_0x272e47);const _0x60af73=$gameTemp[_0x675d09(0xcc)](),_0x1e2903=VisuMZ[_0x675d09(0x5bd)](_0x272e47[_0x675d09(0x83d)]),_0x40cd35=_0x272e47[_0x675d09(0x45f)],_0x5357f6=_0x272e47[_0x675d09(0x1da)],_0x4a0c02=_0x272e47[_0x675d09(0x7ae)],_0xe355a3=_0x272e47[_0x675d09(0x153)],_0x4394b0=_0x272e47['Duration'],_0xf2611b=_0x272e47[_0x675d09(0xbfa)],_0x4d43de=_0x272e47[_0x675d09(0x99b)],_0x2caea9=_0x272e47[_0x675d09(0xc9e)],_0x14f779=_0x272e47[_0x675d09(0x2ba)];if(!_0x60af73)return;for(const _0x48aded of _0x1e2903){if(!_0x48aded)continue;let _0x381894=_0x48aded[_0x675d09(0xd08)]()[_0x675d09(0x169)],_0x2d409d=_0x48aded['battler']()[_0x675d09(0x832)];if(_0x40cd35['match'](/home/i))_0x381894=_0x48aded[_0x675d09(0xd08)]()[_0x675d09(0xd02)],_0x2d409d=_0x48aded[_0x675d09(0xd08)]()[_0x675d09(0x66c)];else{if(_0x40cd35[_0x675d09(0x7fc)](/center/i))_0x381894=Graphics[_0x675d09(0xa53)]/0x2,_0x2d409d=Graphics[_0x675d09(0x833)]/0x2;else _0x40cd35[_0x675d09(0x7fc)](/point (\d+), (\d+)/i)&&(_0x675d09(0x675)===_0x675d09(0xa44)?(_0x4386c[_0x675d09(0x759)]['Game_Actor_setup'][_0x675d09(0x783)](this,_0x656417),this[_0x675d09(0x6e5)]()):(_0x381894=Number(RegExp['$1']),_0x2d409d=Number(RegExp['$2'])));}if(_0x5357f6['match'](/none/i))'DXfnP'!==_0x675d09(0x959)?(this[_0x675d09(0x5c4)](),this[_0x675d09(0xe2)](),this[_0x675d09(0x542)](),this[_0x675d09(0xbdb)](),this[_0x675d09(0x491)]()):(_0x381894+=_0x4a0c02,_0x2d409d+=_0xe355a3);else{if(_0x5357f6[_0x675d09(0x7fc)](/horz/i)&&_0x5357f6[_0x675d09(0x7fc)](/vert/i))_0x381894+=_0x48aded[_0x675d09(0x9bf)]()?-_0x4a0c02:_0x4a0c02,_0x2d409d+=_0x48aded[_0x675d09(0x9bf)]()?-_0xe355a3:_0xe355a3;else{if(_0x5357f6['match'](/horz/i))_0x381894+=_0x48aded[_0x675d09(0x9bf)]()?-_0x4a0c02:_0x4a0c02,_0x2d409d+=_0xe355a3;else{if(_0x5357f6['match'](/vert/i)){if(_0x675d09(0x49d)!==_0x675d09(0x82b))_0x381894+=_0x4a0c02,_0x2d409d+=_0x48aded[_0x675d09(0x9bf)]()?-_0xe355a3:_0xe355a3;else{const _0x582fa4=_0x52efee(_0xa1e568['$1']);return _0x1dff37[_0x675d09(0x49a)]()[_0x675d09(0x5a8)](_0x264d42=>_0x264d42[_0x675d09(0xb09)]()===_0x582fa4);}}}}}_0x48aded[_0x675d09(0x70e)](_0x381894,_0x2d409d,_0x4394b0,_0xf2611b,_0x4d43de,-0x1),_0x48aded[_0x675d09(0x90c)](_0x2caea9);}if(_0x14f779)_0x60af73[_0x675d09(0x3dc)](_0x675d09(0xbb9));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x2b3),_0x704888=>{const _0x39b17b=_0x208a24;if(!SceneManager[_0x39b17b(0x8c3)]())return;if(!$gameSystem[_0x39b17b(0x620)]())return;VisuMZ[_0x39b17b(0x4f4)](_0x704888,_0x704888);const _0x35de21=$gameTemp[_0x39b17b(0xcc)](),_0xd3fe88=VisuMZ[_0x39b17b(0x5bd)](_0x704888['Targets1']),_0x4cb598=VisuMZ[_0x39b17b(0x5bd)](_0x704888[_0x39b17b(0x8b2)]),_0x2f3fb8=_0x704888['TargetLocation'];let _0x384ec5=_0x704888[_0x39b17b(0xa81)];const _0x595096=_0x704888['OffsetAdjust'],_0x3ee216=_0x704888[_0x39b17b(0x7ae)],_0x2d9193=_0x704888['OffsetY'],_0x598d4a=_0x704888['Duration'],_0x4d2b3b=_0x704888[_0x39b17b(0xbfa)],_0x2e748d=_0x704888[_0x39b17b(0x99b)],_0x565db8=_0x704888[_0x39b17b(0xc9e)],_0x436d0e=_0x704888[_0x39b17b(0x2ba)],_0x298039=Math['min'](..._0x4cb598['map'](_0xa6692d=>_0xa6692d[_0x39b17b(0xd08)]()['_baseX']-_0xa6692d[_0x39b17b(0xd08)]()[_0x39b17b(0x68b)]()/0x2)),_0x4b076f=Math[_0x39b17b(0x6db)](..._0x4cb598['map'](_0x1ec1a6=>_0x1ec1a6[_0x39b17b(0xd08)]()[_0x39b17b(0x169)]+_0x1ec1a6[_0x39b17b(0xd08)]()['mainSpriteWidth']()/0x2)),_0x871921=Math['min'](..._0x4cb598['map'](_0xf60f7b=>_0xf60f7b[_0x39b17b(0xd08)]()[_0x39b17b(0x832)]-_0xf60f7b['battler']()[_0x39b17b(0x536)]())),_0x1b3950=Math[_0x39b17b(0x6db)](..._0x4cb598[_0x39b17b(0x58e)](_0x5b1db5=>_0x5b1db5[_0x39b17b(0xd08)]()[_0x39b17b(0x832)])),_0x12f3f7=_0x4cb598['filter'](_0x135209=>_0x135209[_0x39b17b(0x9bf)]())[_0x39b17b(0x1ba)],_0x46fc9e=_0x4cb598[_0x39b17b(0x5a8)](_0x4ad544=>_0x4ad544['isEnemy']())[_0x39b17b(0x1ba)];let _0x4734f9=0x0,_0x276255=0x0;if(_0x2f3fb8[_0x39b17b(0x7fc)](/front/i))_0x4734f9=_0x12f3f7>=_0x46fc9e?_0x298039:_0x4b076f;else{if(_0x2f3fb8[_0x39b17b(0x7fc)](/middle/i))_0x4734f9=(_0x298039+_0x4b076f)/0x2,_0x384ec5=-0x1;else _0x2f3fb8[_0x39b17b(0x7fc)](/back/i)&&(_0x4734f9=_0x12f3f7>=_0x46fc9e?_0x4b076f:_0x298039);}if(_0x2f3fb8[_0x39b17b(0x7fc)](/head/i))_0x276255=_0x871921;else{if(_0x2f3fb8[_0x39b17b(0x7fc)](/center/i))_0x276255=(_0x871921+_0x1b3950)/0x2;else{if(_0x2f3fb8[_0x39b17b(0x7fc)](/base/i)){if(_0x39b17b(0x965)!==_0x39b17b(0x965))return _0x5d080f[_0x39b17b(0x29a)];else _0x276255=_0x1b3950;}}}if(!_0x35de21)return;for(const _0x1adfc1 of _0xd3fe88){if(_0x39b17b(0x45e)!==_0x39b17b(0x2b8)){if(!_0x1adfc1)continue;let _0xab3b3c=_0x4734f9,_0x113a93=_0x276255;if(_0x595096[_0x39b17b(0x7fc)](/none/i))_0xab3b3c+=_0x3ee216,_0x113a93+=_0x2d9193;else{if(_0x595096[_0x39b17b(0x7fc)](/horz/i)&&_0x595096[_0x39b17b(0x7fc)](/vert/i))_0xab3b3c+=_0x1adfc1[_0x39b17b(0x9bf)]()?-_0x3ee216:_0x3ee216,_0x113a93+=_0x1adfc1[_0x39b17b(0x9bf)]()?-_0x2d9193:_0x2d9193;else{if(_0x595096['match'](/horz/i))_0xab3b3c+=_0x1adfc1[_0x39b17b(0x9bf)]()?-_0x3ee216:_0x3ee216,_0x113a93+=_0x2d9193;else _0x595096['match'](/vert/i)&&(_0xab3b3c+=_0x3ee216,_0x113a93+=_0x1adfc1[_0x39b17b(0x9bf)]()?-_0x2d9193:_0x2d9193);}}_0x1adfc1['moveBattlerToPoint'](_0xab3b3c,_0x113a93,_0x598d4a,_0x4d2b3b,_0x2e748d,_0x384ec5),_0x1adfc1[_0x39b17b(0x90c)](_0x565db8);}else this[_0x39b17b(0x701)]()?_0x27a1aa['BattleCore']['Sprite_Enemy_initVisibility'][_0x39b17b(0x783)](this):(this[_0x39b17b(0xd09)]=!this['_enemy']['isHidden'](),!this[_0x39b17b(0xd09)]&&(this['opacity']=0x0));}if(_0x436d0e)_0x35de21[_0x39b17b(0x3dc)](_0x39b17b(0xbb9));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x134),_0x73d3b5=>{const _0x40d189=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ['ConvertParams'](_0x73d3b5,_0x73d3b5);const _0x1d75e7=$gameTemp['getLastPluginCommandInterpreter'](),_0x2521a4=VisuMZ[_0x40d189(0x5bd)](_0x73d3b5[_0x40d189(0x83d)]),_0x181b25=_0x73d3b5['Opacity'],_0x3d38c6=_0x73d3b5[_0x40d189(0x2c6)],_0x367e08=_0x73d3b5[_0x40d189(0x99b)],_0x3cdf93=_0x73d3b5['WaitForOpacity'];if(!_0x1d75e7)return;for(const _0x56eb5a of _0x2521a4){if(!_0x56eb5a)continue;_0x56eb5a[_0x40d189(0x92d)](_0x181b25,_0x3d38c6,_0x367e08);}if(_0x3cdf93)_0x1d75e7[_0x40d189(0x3dc)]('battleOpacity');}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x2e7),_0x2429eb=>{const _0x57db0c=_0x208a24;if(!SceneManager[_0x57db0c(0x8c3)]())return;VisuMZ[_0x57db0c(0x4f4)](_0x2429eb,_0x2429eb);const _0x3473fe=$gameTemp[_0x57db0c(0xcc)](),_0x617094=VisuMZ['CreateActionSequenceTargets'](_0x2429eb[_0x57db0c(0x83d)]),_0x1888be=_0x2429eb[_0x57db0c(0xbb0)],_0x324e22=_0x2429eb[_0x57db0c(0xc1e)],_0x198417=_0x2429eb[_0x57db0c(0x2c6)],_0x355449=_0x2429eb[_0x57db0c(0x99b)],_0x2fae7b=_0x2429eb['WaitForScale'];if(!_0x3473fe)return;for(const _0x21b02f of _0x617094){if(!_0x21b02f)continue;_0x21b02f[_0x57db0c(0x518)](_0x1888be,_0x324e22,_0x198417,_0x355449);}if(_0x2fae7b)_0x3473fe['setWaitMode'](_0x57db0c(0x9e3));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x419),_0x438583=>{const _0x4ce288=_0x208a24;if(!SceneManager[_0x4ce288(0x8c3)]())return;VisuMZ[_0x4ce288(0x4f4)](_0x438583,_0x438583);const _0x139663=$gameTemp[_0x4ce288(0xcc)](),_0x20ddfe=VisuMZ[_0x4ce288(0x5bd)](_0x438583['Targets']),_0x6d2a58=_0x438583[_0x4ce288(0xb9b)],_0xe22b74=_0x438583['SkewY'],_0x544fbc=_0x438583[_0x4ce288(0x2c6)],_0x1f4ba8=_0x438583[_0x4ce288(0x99b)],_0x544db9=_0x438583[_0x4ce288(0x81f)];if(!_0x139663)return;for(const _0x2d859d of _0x20ddfe){if(!_0x2d859d)continue;_0x2d859d[_0x4ce288(0x323)](_0x6d2a58,_0xe22b74,_0x544fbc,_0x1f4ba8);}if(_0x544db9)_0x139663[_0x4ce288(0x3dc)](_0x4ce288(0x634));}),PluginManager['registerCommand'](pluginData['name'],'ActSeq_Movement_Spin',_0x3e1dc4=>{const _0xbebc7e=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0xbebc7e(0x4f4)](_0x3e1dc4,_0x3e1dc4);const _0x191d70=$gameTemp[_0xbebc7e(0xcc)](),_0x25cad5=VisuMZ[_0xbebc7e(0x5bd)](_0x3e1dc4['Targets']),_0x586572=_0x3e1dc4[_0xbebc7e(0xbe2)],_0x3883fe=_0x3e1dc4[_0xbebc7e(0x2c6)],_0x351a93=_0x3e1dc4[_0xbebc7e(0x99b)],_0x16b8f2=_0x3e1dc4[_0xbebc7e(0xbb4)],_0x233ca9=_0x3e1dc4[_0xbebc7e(0x8fa)];if(!_0x191d70)return;for(const _0x716cea of _0x25cad5){if(!_0x716cea)continue;_0x716cea[_0xbebc7e(0x745)](_0x586572,_0x3883fe,_0x351a93,_0x16b8f2);}if(_0x233ca9)_0x191d70[_0xbebc7e(0x3dc)](_0xbebc7e(0x8a9));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x85e),_0x49ab2f=>{const _0x224f14=_0x208a24;if(!SceneManager[_0x224f14(0x8c3)]())return;const _0x7035d0=$gameTemp[_0x224f14(0xcc)]();if(!_0x7035d0)return;_0x7035d0['setWaitMode']('battleFloat');}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0xc82),_0x59cc7f=>{const _0x11d87a=_0x208a24;if(!SceneManager[_0x11d87a(0x8c3)]())return;const _0x528453=$gameTemp[_0x11d87a(0xcc)]();if(!_0x528453)return;_0x528453[_0x11d87a(0x3dc)](_0x11d87a(0x6b4));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x256),_0x96f51c=>{const _0x2d0f4d=_0x208a24;if(!SceneManager[_0x2d0f4d(0x8c3)]())return;const _0xb172dd=$gameTemp[_0x2d0f4d(0xcc)]();if(!_0xb172dd)return;_0xb172dd[_0x2d0f4d(0x3dc)](_0x2d0f4d(0xbb9));}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0xb5c),_0x348fa5=>{const _0x29fd53=_0x208a24;if(!SceneManager['isSceneBattle']())return;const _0x46c9e8=$gameTemp[_0x29fd53(0xcc)]();if(!_0x46c9e8)return;_0x46c9e8[_0x29fd53(0x3dc)](_0x29fd53(0xbc7));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0xa1d),_0x39e219=>{const _0x2500ed=_0x208a24;if(!SceneManager[_0x2500ed(0x8c3)]())return;const _0x2751cd=$gameTemp['getLastPluginCommandInterpreter']();if(!_0x2751cd)return;_0x2751cd[_0x2500ed(0x3dc)](_0x2500ed(0x9e3));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xb3a),_0x42c453=>{const _0x208bb5=_0x208a24;if(!SceneManager[_0x208bb5(0x8c3)]())return;const _0x365218=$gameTemp['getLastPluginCommandInterpreter']();if(!_0x365218)return;_0x365218[_0x208bb5(0x3dc)](_0x208bb5(0x634));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x9ec),_0x1a9a4c=>{const _0x3852d0=_0x208a24;if(!SceneManager[_0x3852d0(0x8c3)]())return;const _0x36fe8a=$gameTemp[_0x3852d0(0xcc)]();if(!_0x36fe8a)return;_0x36fe8a[_0x3852d0(0x3dc)](_0x3852d0(0x8a9));}),VisuMZ[_0x208a24(0x759)][_0x208a24(0x40f)]=function(){const _0x8debd1=_0x208a24;if(!Imported[_0x8debd1(0x74d)])return;if(VisuMZ[_0x8debd1(0x327)][_0x8debd1(0x738)]<1.08){let _0x4ec188='';_0x4ec188+=_0x8debd1(0x8f9),_0x4ec188+=_0x8debd1(0x284),alert(_0x4ec188),SceneManager['exit']();}},PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xa3c),_0x225dcc=>{const _0x312302=_0x208a24;if(!SceneManager[_0x312302(0x8c3)]())return;if(!Imported[_0x312302(0x74d)])return;VisuMZ[_0x312302(0x4f4)](_0x225dcc,_0x225dcc),VisuMZ[_0x312302(0x759)]['CheckActSeqProjectileVersion']();const _0x1a7a8f=$gameTemp[_0x312302(0xcc)](),_0x51e84c=_0x225dcc[_0x312302(0xae0)];if(!_0x1a7a8f)return;const _0x3f9b91=BattleManager[_0x312302(0xa85)];if(!_0x3f9b91)return;_0x3f9b91[_0x312302(0x348)](_0x225dcc);if(_0x51e84c)_0x1a7a8f[_0x312302(0x3dc)](_0x312302(0x482));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x862),_0x381615=>{const _0x937bd5=_0x208a24;if(!SceneManager[_0x937bd5(0x8c3)]())return;if(!Imported[_0x937bd5(0x74d)])return;VisuMZ[_0x937bd5(0x4f4)](_0x381615,_0x381615),VisuMZ['BattleCore'][_0x937bd5(0x40f)]();const _0x437651=$gameTemp[_0x937bd5(0xcc)](),_0x1f55df=_0x381615['WaitForProjectile'];if(!_0x437651)return;const _0x2c9096=BattleManager[_0x937bd5(0xa85)];if(!_0x2c9096)return;_0x2c9096['createActionSequenceProjectile'](_0x381615);if(_0x1f55df)_0x437651[_0x937bd5(0x3dc)](_0x937bd5(0x482));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Projectile_Picture',_0x2b546d=>{const _0x394512=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported['VisuMZ_3_ActSeqProjectiles'])return;VisuMZ['ConvertParams'](_0x2b546d,_0x2b546d),VisuMZ[_0x394512(0x759)]['CheckActSeqProjectileVersion']();const _0x20a442=$gameTemp[_0x394512(0xcc)](),_0x2f94b2=_0x2b546d[_0x394512(0xae0)];if(!_0x20a442)return;const _0x584d6e=BattleManager['_spriteset'];if(!_0x584d6e)return;_0x584d6e[_0x394512(0x348)](_0x2b546d);if(_0x2f94b2)_0x20a442[_0x394512(0x3dc)](_0x394512(0x482));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x8a2),_0x86ee47=>{const _0x4064d2=_0x208a24;if(!SceneManager[_0x4064d2(0x8c3)]())return;if(!Imported['VisuMZ_3_ActSeqCamera'])return;VisuMZ[_0x4064d2(0x4f4)](_0x86ee47,_0x86ee47);const _0x2732ab=$gameTemp[_0x4064d2(0xcc)](),_0x39b7bb=_0x86ee47[_0x4064d2(0x81f)];if(!_0x2732ab)return;$gameScreen['setBattleSkew'](_0x86ee47[_0x4064d2(0xb9b)],_0x86ee47['SkewY'],_0x86ee47[_0x4064d2(0x2c6)],_0x86ee47[_0x4064d2(0x99b)]);if(_0x39b7bb)_0x2732ab['setWaitMode'](_0x4064d2(0xa3));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x387),_0x4b5a7f=>{const _0x4ccb98=_0x208a24;if(!SceneManager[_0x4ccb98(0x8c3)]())return;if(!Imported['VisuMZ_3_ActSeqCamera'])return;VisuMZ[_0x4ccb98(0x4f4)](_0x4b5a7f,_0x4b5a7f);const _0x329954=$gameTemp[_0x4ccb98(0xcc)](),_0x5003c1=_0x4b5a7f[_0x4ccb98(0x81f)];if(!_0x329954)return;$gameScreen[_0x4ccb98(0x1c8)](0x0,0x0,_0x4b5a7f[_0x4ccb98(0x2c6)],_0x4b5a7f[_0x4ccb98(0x99b)]);if(_0x5003c1)_0x329954[_0x4ccb98(0x3dc)](_0x4ccb98(0xa3));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Skew_WaitForSkew',_0x3cd3b1=>{const _0xa87d86=_0x208a24;if(!SceneManager[_0xa87d86(0x8c3)]())return;if(!Imported[_0xa87d86(0x355)])return;const _0x525471=$gameTemp[_0xa87d86(0xcc)]();if(!_0x525471)return;_0x525471[_0xa87d86(0x3dc)](_0xa87d86(0xa3));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x8d7),_0x2184e7=>{const _0x346d9b=_0x208a24;if(!SceneManager[_0x346d9b(0x8c3)]())return;VisuMZ[_0x346d9b(0x4f4)](_0x2184e7,_0x2184e7);const _0x563503=$gameTemp[_0x346d9b(0xcc)](),_0x3252a5=_0x2184e7[_0x346d9b(0xc15)],_0x3345de=_0x2184e7[_0x346d9b(0xc98)];if(!_0x563503)return;BattleManager[_0x346d9b(0x580)]=_0x3252a5,BattleManager[_0x346d9b(0x29a)]=BattleManager[_0x346d9b(0xaea)]?BattleManager['_allTargets'][BattleManager[_0x346d9b(0x580)]]||null:null,BattleManager['_target']&&_0x3345de[_0x346d9b(0x4d6)]()[_0x346d9b(0x446)]()!=='UNTITLED'&&_0x563503[_0x346d9b(0x2f3)]([_0x3345de]);}),PluginManager[_0x208a24(0xbb)](pluginData['name'],_0x208a24(0x64e),_0xfc447c=>{const _0x459989=_0x208a24;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x459989(0x4f4)](_0xfc447c,_0xfc447c);const _0x430fce=$gameTemp[_0x459989(0xcc)](),_0x44c852=_0xfc447c['JumpToLabel'];if(!_0x430fce)return;BattleManager[_0x459989(0x580)]++,BattleManager['_target']=BattleManager[_0x459989(0xaea)][BattleManager[_0x459989(0x580)]]||null,BattleManager[_0x459989(0x29a)]&&_0x44c852['toUpperCase']()[_0x459989(0x446)]()!==_0x459989(0x873)&&_0x430fce[_0x459989(0x2f3)]([_0x44c852]);}),PluginManager['registerCommand'](pluginData['name'],'ActSeq_Target_PrevTarget',_0x1b4bf1=>{const _0x245d03=_0x208a24;if(!SceneManager[_0x245d03(0x8c3)]())return;VisuMZ['ConvertParams'](_0x1b4bf1,_0x1b4bf1);const _0x4ee1cd=$gameTemp[_0x245d03(0xcc)](),_0x4d3ee4=_0x1b4bf1[_0x245d03(0xc98)];if(!_0x4ee1cd)return;BattleManager[_0x245d03(0x580)]--,BattleManager[_0x245d03(0x29a)]=BattleManager[_0x245d03(0xaea)][BattleManager[_0x245d03(0x580)]]||null;if(BattleManager[_0x245d03(0x29a)]&&_0x4d3ee4[_0x245d03(0x4d6)]()[_0x245d03(0x446)]()!==_0x245d03(0x873)){if(_0x245d03(0x535)!==_0x245d03(0x99a))_0x4ee1cd[_0x245d03(0x2f3)]([_0x4d3ee4]);else{const _0x3fbe25=_0x1697f7(_0xaaab0b['$1'])[_0x245d03(0xc85)](/[\r\n]+/)[_0x245d03(0x44b)]('');_0x347d02['name']=_0x53d097[_0x245d03(0x382)](_0x3fbe25);}}}),PluginManager['registerCommand'](pluginData['name'],_0x208a24(0xbd7),_0x2af34c=>{const _0x8a7e37=_0x208a24;if(!SceneManager[_0x8a7e37(0x8c3)]())return;VisuMZ[_0x8a7e37(0x4f4)](_0x2af34c,_0x2af34c);const _0xe9987d=$gameTemp['getLastPluginCommandInterpreter'](),_0x3da817=_0x2af34c[_0x8a7e37(0xb45)],_0x3ab8aa=_0x2af34c[_0x8a7e37(0xc98)];if(!_0xe9987d)return;const _0x41a2ff=BattleManager[_0x8a7e37(0x580)];for(;;){if('lDKZI'==='lDKZI'){BattleManager['_targetIndex']=Math[_0x8a7e37(0xd15)](BattleManager[_0x8a7e37(0xaea)]['length']);if(!_0x3da817)break;if(BattleManager[_0x8a7e37(0x580)]!==_0x41a2ff)break;if(BattleManager[_0x8a7e37(0xaea)]['length']<=0x1){BattleManager[_0x8a7e37(0x580)]=0x0;break;}}else{if(!this[_0x8a7e37(0xa4c)])return![];if(this[_0x8a7e37(0x7ce)]>0x0)return!![];return _0x495247[_0x8a7e37(0x759)]['Sprite_Battler_isMoving'][_0x8a7e37(0x783)](this);}}BattleManager[_0x8a7e37(0x29a)]=BattleManager['_allTargets'][BattleManager['_targetIndex']]||null,BattleManager[_0x8a7e37(0x29a)]&&_0x3ab8aa[_0x8a7e37(0x4d6)]()[_0x8a7e37(0x446)]()!==_0x8a7e37(0x873)&&(_0x8a7e37(0xa7)!==_0x8a7e37(0xa7)?(_0x23add3[_0x8a7e37(0x759)][_0x8a7e37(0x61e)]&&_0x2a85cc[_0x8a7e37(0x759)]['ParseItemNotetags'][_0x8a7e37(0x783)](this,_0x4d365b),_0xc4e256[_0x8a7e37(0x759)][_0x8a7e37(0x3f1)](_0x3cf60e),_0x13edf1[_0x8a7e37(0x759)][_0x8a7e37(0x85a)](_0xdbe8e5)):_0xe9987d['command119']([_0x3ab8aa]));}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],_0x208a24(0x63a),_0x323d14=>{const _0x33b0f4=_0x208a24;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x33b0f4(0xab5)])return;if(!ConfigManager[_0x33b0f4(0x515)])return;VisuMZ[_0x33b0f4(0x4f4)](_0x323d14,_0x323d14);const _0x3bc754=VisuMZ[_0x33b0f4(0x5bd)](_0x323d14[_0x33b0f4(0x83d)]);let _0x414b1c=_0x323d14[_0x33b0f4(0xc3d)]||'';for(const _0x3f8820 of _0x3bc754){if('JtMPZ'!==_0x33b0f4(0x483)){if(!_0x3f8820)continue;_0x3f8820['playBattleVoice'](_0x414b1c);}else return this[_0x33b0f4(0x678)]();}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x320),_0x4a3077=>{const _0xbeafb8=_0x208a24;if(!SceneManager[_0xbeafb8(0x8c3)]())return;if(!Imported[_0xbeafb8(0xab5)])return;if(!ConfigManager[_0xbeafb8(0x515)])return;VisuMZ[_0xbeafb8(0x4f4)](_0x4a3077,_0x4a3077);const _0xcc7332=VisuMZ[_0xbeafb8(0x5bd)](_0x4a3077[_0xbeafb8(0x83d)]);let _0x2451f1=(_0x4a3077[_0xbeafb8(0x2c3)]||'')+(_0x4a3077[_0xbeafb8(0x466)]||'');for(const _0x440dee of _0xcc7332){if(_0xbeafb8(0x895)!==_0xbeafb8(0x6ea)){if(!_0x440dee)continue;_0x440dee[_0xbeafb8(0xd2)](_0x2451f1);}else{if(this[_0xbeafb8(0x570)]===_0xbeafb8(0x330))return![];if(this[_0xbeafb8(0x570)]==='all\x20enemies')return![];if(!this[_0xbeafb8(0x8bb)]())return![];return this[_0xbeafb8(0x8bb)]()[_0xbeafb8(0x6c4)]['match'](/<JS TARGETS>/i);}}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Weapon_ClearActiveWeapon',_0x472627=>{const _0x4c83a1=_0x208a24;if(!SceneManager[_0x4c83a1(0x8c3)]())return;VisuMZ[_0x4c83a1(0x4f4)](_0x472627,_0x472627);const _0x270b33=VisuMZ[_0x4c83a1(0x5bd)](_0x472627[_0x4c83a1(0x83d)]);for(const _0x145e04 of _0x270b33){if(!_0x145e04)continue;if(!_0x145e04[_0x4c83a1(0x9bf)]())continue;_0x145e04[_0x4c83a1(0x13d)]();}}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Weapon_NextActiveWeapon',_0x3addda=>{const _0x3ef9af=_0x208a24;if(!SceneManager[_0x3ef9af(0x8c3)]())return;VisuMZ[_0x3ef9af(0x4f4)](_0x3addda,_0x3addda);const _0x158b6=$gameTemp[_0x3ef9af(0xcc)]();let _0x574c3a=![];const _0x323106=_0x3addda[_0x3ef9af(0xc98)],_0x51cca7=VisuMZ[_0x3ef9af(0x5bd)](_0x3addda[_0x3ef9af(0x83d)]);for(const _0x4b980f of _0x51cca7){if('GGGGf'!==_0x3ef9af(0xcda)){if(!_0x4a8e42[_0x3ef9af(0x8c3)]())return;if(!_0x55ee0e[_0x3ef9af(0x598)])return;_0x4ce2ed[_0x3ef9af(0x4f4)](_0x29b904,_0x4adb34),_0x35444a['_scene'][_0x3ef9af(0x4a0)]();const _0x5e65b3=_0x4be314[_0x3ef9af(0xcc)]();_0x5e65b3&&_0x19691a[_0x3ef9af(0x147)]&&_0x5e65b3[_0x3ef9af(0x3dc)](_0x3ef9af(0x8b0));}else{if(!_0x4b980f)continue;if(!_0x4b980f[_0x3ef9af(0x9bf)]())continue;_0x4b980f[_0x3ef9af(0x43f)](),_0x4b980f[_0x3ef9af(0x202)]()['length']>0x0?_0x574c3a=!![]:_0x4b980f['clearActiveWeaponSlot']();}}if(_0x574c3a&&_0x323106[_0x3ef9af(0x4d6)]()[_0x3ef9af(0x446)]()!=='UNTITLED'){if(_0x3ef9af(0x1e2)===_0x3ef9af(0x333)){this[_0x3ef9af(0x5eb)](_0x187c57);for(const _0x2797ad of _0x3987b6[_0x3ef9af(0x55a)]){_0x2797ad[_0x3ef9af(0xa4e)]&&_0x2797ad[_0x3ef9af(0xa4e)]();}_0x46f7f5['destroy']();}else _0x158b6[_0x3ef9af(0x2f3)]([_0x323106]);}}),PluginManager['registerCommand'](pluginData[_0x208a24(0x278)],'ActSeq_Weapon_SetActiveWeapon',_0xd9424b=>{const _0x324cf5=_0x208a24;if(!SceneManager[_0x324cf5(0x8c3)]())return;VisuMZ['ConvertParams'](_0xd9424b,_0xd9424b);let _0x51ef45=_0xd9424b['SlotID'];_0x51ef45--,_0x51ef45=Math[_0x324cf5(0x6db)](_0x51ef45,0x0);const _0xb523c=VisuMZ[_0x324cf5(0x5bd)](_0xd9424b[_0x324cf5(0x83d)]);for(const _0x36a798 of _0xb523c){if('GJyxz'===_0x324cf5(0x35c)){if(!_0x36a798)continue;if(!_0x36a798[_0x324cf5(0x9bf)]())continue;_0x36a798[_0x324cf5(0xad2)](_0x51ef45);}else return _0x2eb6ab[_0x324cf5(0x8c3)]()?(_0x46f2b1[_0x324cf5(0xc1b)][_0x324cf5(0xa85)][_0x324cf5(0xadd)](_0x2a5337[0x0],_0x45826a[0x1]),!![]):_0x4ccc8e[_0x324cf5(0x759)]['Game_Interpreter_command283'][_0x324cf5(0x783)](this,_0x35a1cf);}}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0x361),_0x145978=>{const _0x1cb0bf=_0x208a24;if(!SceneManager[_0x1cb0bf(0x8c3)]())return;if(!Imported[_0x1cb0bf(0x355)])return;VisuMZ[_0x1cb0bf(0x4f4)](_0x145978,_0x145978);const _0x1de84f=$gameTemp['getLastPluginCommandInterpreter'](),_0xce4a87=_0x145978[_0x1cb0bf(0x319)];if(!_0x1de84f)return;$gameScreen[_0x1cb0bf(0xab0)](_0x145978['Scale'],_0x145978['Duration'],_0x145978[_0x1cb0bf(0x99b)]);if(_0xce4a87)_0x1de84f[_0x1cb0bf(0x3dc)](_0x1cb0bf(0x7a8));}),PluginManager[_0x208a24(0xbb)](pluginData[_0x208a24(0x278)],_0x208a24(0xa6d),_0x28bd71=>{const _0x194e48=_0x208a24;if(!SceneManager[_0x194e48(0x8c3)]())return;if(!Imported['VisuMZ_3_ActSeqCamera'])return;VisuMZ[_0x194e48(0x4f4)](_0x28bd71,_0x28bd71);const _0x504fd1=$gameTemp['getLastPluginCommandInterpreter'](),_0x3338b8=_0x28bd71[_0x194e48(0x319)];if(!_0x504fd1)return;$gameScreen[_0x194e48(0xab0)](0x1,_0x28bd71['Duration'],_0x28bd71[_0x194e48(0x99b)]);if(_0x3338b8)_0x504fd1[_0x194e48(0x3dc)](_0x194e48(0x7a8));}),PluginManager[_0x208a24(0xbb)](pluginData['name'],'ActSeq_Zoom_WaitForZoom',_0x1ad902=>{const _0x1d051d=_0x208a24;if(!SceneManager[_0x1d051d(0x8c3)]())return;if(!Imported[_0x1d051d(0x355)])return;const _0x2d8c79=$gameTemp[_0x1d051d(0xcc)]();if(!_0x2d8c79)return;_0x2d8c79[_0x1d051d(0x3dc)]('battleZoom');}),VisuMZ[_0x208a24(0x759)][_0x208a24(0xbd)]=Scene_Boot[_0x208a24(0xbd8)][_0x208a24(0xca1)],Scene_Boot[_0x208a24(0xbd8)][_0x208a24(0xca1)]=function(){const _0x529b4e=_0x208a24;this[_0x529b4e(0x7d7)](),this[_0x529b4e(0x6f2)](),this[_0x529b4e(0x3fe)](),this['process_VisuMZ_BattleCore_CreateRegExp'](),VisuMZ['BattleCore'][_0x529b4e(0xbd)][_0x529b4e(0x783)](this),this[_0x529b4e(0x4dc)](),this[_0x529b4e(0x9a3)](),this[_0x529b4e(0xafe)](),this['process_VisuMZ_BattleCore_CommonEventKeys']();},Scene_Boot['prototype'][_0x208a24(0x4dc)]=function(){const _0x398c01=_0x208a24;if(VisuMZ['ParseAllNotetags'])return;this[_0x398c01(0x331)](),this['process_VisuMZ_BattleCore_TraitObject_Notetags'](),this['process_VisuMZ_BattleCore_jsFunctions']();},Scene_Boot['prototype'][_0x208a24(0x7d7)]=function(){const _0x178865=_0x208a24,_0xf3e1ce=$dataSystem[_0x178865(0xae)][_0x178865(0x1ba)];for(let _0x37d28e=0x0;_0x37d28e<_0xf3e1ce;_0x37d28e++){const _0x3dc1d3=$dataSystem['attackMotions'][_0x37d28e];if(_0x3dc1d3)continue;$dataSystem[_0x178865(0xba)][_0x37d28e]={'type':0x1,'weaponImageId':0x1};}},Scene_Boot['prototype'][_0x208a24(0x6f2)]=function(){const _0x30ffb8=_0x208a24,_0x3ca2b3=VisuMZ[_0x30ffb8(0x759)][_0x30ffb8(0xc39)];_0x3ca2b3[_0x30ffb8(0x7a9)]['PopupPosition']===undefined&&(_0x30ffb8(0xc09)===_0x30ffb8(0x396)?(_0x588d31=_0x173339[_0x30ffb8(0x51f)](/\x1I\[(\d+)\]/gi,''),_0x58861f=_0x12b51b[_0x30ffb8(0x51f)](/\\I\[(\d+)\]/gi,'')):_0x3ca2b3[_0x30ffb8(0x7a9)]['PopupPosition']=_0x30ffb8(0xd7));if(_0x3ca2b3[_0x30ffb8(0x5a5)][_0x30ffb8(0x2eb)]===undefined){if('rushE'!==_0x30ffb8(0x115))return _0x51a1e9;else _0x3ca2b3['Actor']['SmoothImage']=![];}_0x3ca2b3[_0x30ffb8(0x6bd)][_0x30ffb8(0x2eb)]===undefined&&(_0x3ca2b3[_0x30ffb8(0x6bd)][_0x30ffb8(0x2eb)]=!![]),_0x3ca2b3[_0x30ffb8(0x5a5)]['PrioritySortActive']===undefined&&(_0x3ca2b3[_0x30ffb8(0x5a5)][_0x30ffb8(0x849)]=![]),_0x3ca2b3['Actor'][_0x30ffb8(0x9c4)]===undefined&&(_0x3ca2b3[_0x30ffb8(0x5a5)][_0x30ffb8(0x9c4)]=!![]);},VisuMZ[_0x208a24(0x4a8)]={},Scene_Boot['prototype']['process_VisuMZ_BattleCore_DamageStyles']=function(){const _0x41b628=_0x208a24;for(const _0x2a709d of VisuMZ[_0x41b628(0x759)][_0x41b628(0xc39)][_0x41b628(0x7a9)][_0x41b628(0x1c7)]){if(_0x41b628(0xa08)===_0x41b628(0xa08)){if(!_0x2a709d)continue;const _0x29c675=_0x2a709d[_0x41b628(0x2c7)][_0x41b628(0x4d6)]()[_0x41b628(0x446)]();VisuMZ[_0x41b628(0x4a8)][_0x29c675]=_0x2a709d;}else{if(_0x5e5e24[_0x41b628(0x957)])return;this[_0x41b628(0x331)](),this['process_VisuMZ_BattleCore_TraitObject_Notetags'](),this[_0x41b628(0xca5)]();}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x7b1)]={},Scene_Boot[_0x208a24(0xbd8)]['process_VisuMZ_BattleCore_CreateRegExp']=function(){const _0x40836a=_0x208a24,_0x49f164=VisuMZ[_0x40836a(0x759)][_0x40836a(0x7b1)],_0x265087=_0x40836a(0x6d8),_0x5de3d6=[['Pre',_0x40836a(0x80a)],[_0x40836a(0xd46),_0x40836a(0xc42)]],_0x55fe2f=[[_0x40836a(0xa4f),_0x40836a(0x2da)],[_0x40836a(0xbf8),'JS\x20%1DAMAGE\x20%2']],_0xeb4822=[['',''],[_0x40836a(0x476),_0x40836a(0x57b)],['AsTarget',_0x40836a(0xc1f)]];for(const _0xe33385 of _0x55fe2f){if(_0x40836a(0xb28)!==_0x40836a(0x41e))for(const _0x153775 of _0xeb4822){if(_0x40836a(0x168)==='WfZVp'){if(!_0x1c179c[_0x40836a(0x496)])return;this[_0x40836a(0x56e)]!==_0x41f969[_0x40836a(0x122)](this[_0x40836a(0x983)])&&this[_0x40836a(0xa22)]();}else for(const _0x509ffb of _0x5de3d6){const _0x1353d6=_0xe33385[0x0][_0x40836a(0x75a)](_0x509ffb[0x0],_0x153775[0x0]),_0xbec8=_0xe33385[0x1][_0x40836a(0x75a)](_0x509ffb[0x1],_0x153775[0x1])[_0x40836a(0x446)](),_0x283b0c=new RegExp(_0x265087[_0x40836a(0x75a)](_0xbec8),'i');_0x49f164[_0x1353d6]=_0x283b0c;}}else{if(!_0x11f846[_0x40836a(0x8c3)]())return;_0x572d96[_0x40836a(0x4f4)](_0x33c321,_0x3d2151);const _0x118f6d=_0x1c92a2['getLastPluginCommandInterpreter'](),_0x3e957e=_0x1e1568[_0x40836a(0x5bd)](_0x264a8a[_0x40836a(0x83d)]),_0x299359=_0x1710d2[_0x40836a(0x100)],_0x3488d8=_0x46af7b[_0x40836a(0x6f6)];if(!_0x118f6d)return;_0x5ec1e3[_0x40836a(0x2d8)](_0x3e957e,_0x299359,_0x3488d8);if(_0x41cb18[_0x40836a(0x610)])_0x118f6d[_0x40836a(0x3dc)]('battleAnimation');}}const _0x451309=[['%1StartActionJS','JS\x20%1START\x20ACTION'],[_0x40836a(0x673),_0x40836a(0x298)]];for(const _0x7a6822 of _0x451309){for(const _0x28b388 of _0x5de3d6){const _0x1d204d=_0x7a6822[0x0][_0x40836a(0x75a)](_0x28b388[0x0]),_0x3f185a=_0x7a6822[0x1][_0x40836a(0x75a)](_0x28b388[0x1]),_0x100777=new RegExp(_0x265087[_0x40836a(0x75a)](_0x3f185a),'i');_0x49f164[_0x1d204d]=_0x100777;}}const _0xe79ff3=[[_0x40836a(0x139),'JS\x20%1START\x20BATTLE'],['%1EndBattleJS',_0x40836a(0xaf8)],[_0x40836a(0x5af),_0x40836a(0x694)],[_0x40836a(0x4aa),_0x40836a(0x31c)],[_0x40836a(0x93b),'JS\x20ESCAPE\x20SUCCESS'],[_0x40836a(0x19a),_0x40836a(0x297)],[_0x40836a(0x75f),_0x40836a(0xac9)],[_0x40836a(0x199),_0x40836a(0x711)],[_0x40836a(0x720),_0x40836a(0x11f)]];for(const _0x10ac2d of _0xe79ff3){for(const _0x210ae2 of _0x5de3d6){if(_0x40836a(0x3b8)==='Muewq'){const _0xc51e81=_0x10ac2d[0x0][_0x40836a(0x75a)](_0x210ae2[0x0]),_0x49beec=_0x10ac2d[0x1][_0x40836a(0x75a)](_0x210ae2[0x1]),_0x3a53c5=new RegExp(_0x265087[_0x40836a(0x75a)](_0x49beec),'i');_0x49f164[_0xc51e81]=_0x3a53c5;}else _0x3fed83[_0x40836a(0x64d)]['friendsUnit']()[_0x40836a(0x38c)](_0x13536b);}}},Scene_Boot['prototype'][_0x208a24(0x331)]=function(){const _0x5cf1be=_0x208a24,_0x5b6f99=$dataSkills[_0x5cf1be(0x655)]($dataItems);for(const _0x4ee15c of _0x5b6f99){if(!_0x4ee15c)continue;VisuMZ[_0x5cf1be(0x759)][_0x5cf1be(0x3f1)](_0x4ee15c);}},Scene_Boot[_0x208a24(0xbd8)][_0x208a24(0x8b4)]=function(){const _0x11fdf0=_0x208a24,_0x337d24=$dataActors[_0x11fdf0(0x655)]($dataClasses,$dataWeapons,$dataArmors,$dataEnemies,$dataStates);for(const _0x78f6ad of _0x337d24){if(!_0x78f6ad)continue;VisuMZ[_0x11fdf0(0x759)][_0x11fdf0(0x391)](_0x78f6ad);}},Scene_Boot[_0x208a24(0xbd8)]['process_VisuMZ_BattleCore_BaseTroops']=function(){const _0x4b33b2=_0x208a24,_0x4a997d=VisuMZ[_0x4b33b2(0x759)]['Settings'][_0x4b33b2(0x79c)][_0x4b33b2(0x75d)],_0x3c4009=[];for(const _0xc56dd2 of _0x4a997d){if(_0x4b33b2(0xb4e)!==_0x4b33b2(0xb4e))this[_0x4b33b2(0x169)]=this['x'],this[_0x4b33b2(0x832)]=this['y'],this[_0x4b33b2(0x487)](),this[_0x4b33b2(0x20e)](),this['x']+=this[_0x4b33b2(0xc3)](),this['y']+=this[_0x4b33b2(0xbcc)](),this['y']+=this[_0x4b33b2(0x4e2)](),this['x']=_0x2bb698[_0x4b33b2(0x479)](this['x']),this['y']=_0x1681c7[_0x4b33b2(0x479)](this['y']);else{const _0x1f3fef=$dataTroops[_0xc56dd2];if(_0x1f3fef)_0x3c4009['push'](JsonEx[_0x4b33b2(0x2bb)](_0x1f3fef));}}for(const _0x5be263 of $dataTroops){if(!_0x5be263)continue;for(const _0x2bda6a of _0x3c4009){if(_0x4b33b2(0x975)!=='lGioc'){if(this['hasSvBattler']())this[_0x4b33b2(0x73b)][_0x4b33b2(0xc0)](_0x11f941);}else{if(_0x2bda6a['id']===_0x5be263['id'])continue;_0x5be263[_0x4b33b2(0xcea)]=_0x5be263[_0x4b33b2(0xcea)][_0x4b33b2(0x655)](_0x2bda6a[_0x4b33b2(0xcea)]);}}}},Scene_Boot[_0x208a24(0xbd8)]['process_VisuMZ_BattleCore_PreBattleCommonEvent']=function(){const _0x5f0791=_0x208a24,_0x19bc48=VisuMZ[_0x5f0791(0x759)][_0x5f0791(0xc39)]['Mechanics'];if(_0x19bc48[_0x5f0791(0xb33)]>0x0&&$dataCommonEvents[_0x19bc48[_0x5f0791(0xb33)]]){if(_0x5f0791(0xb47)!==_0x5f0791(0x4d1)){const _0x426631=$dataCommonEvents[_0x19bc48[_0x5f0791(0xb33)]],_0x2ced96=_0x426631[_0x5f0791(0x38d)][_0x5f0791(0x1ba)]-0x2,_0x662213=_0x426631[_0x5f0791(0x38d)][_0x2ced96];if(_0x662213&&_0x662213[_0x5f0791(0x762)]!==0xe6){if(_0x5f0791(0xb8c)!==_0x5f0791(0xb8c)){if(_0x203299['isTpb']()){if(this[_0x5f0791(0x1ef)]()<=0x0)return;}else{if(_0x52c8c6['turnCount']()<=0x0)return;}}else{const _0x1ee26f={'code':0xe6,'indent':0x0,'parameters':[0x1]},_0x28fd34=_0x426631[_0x5f0791(0x38d)][_0x5f0791(0x6ce)]();_0x426631[_0x5f0791(0x38d)][_0x5f0791(0x6fc)](_0x1ee26f),_0x426631[_0x5f0791(0x38d)][_0x5f0791(0x6fc)](_0x28fd34);}}}else{if(_0xb06a95[_0x5f0791(0x7fc)](/(.*):[ ](\d+)/i)){const _0x26de4=_0x90e2a(_0x20ea46['$1'])[_0x5f0791(0x446)](),_0x411d0b=_0x3be7a9(_0x1b6c2b['$2']);_0x15fa5c[_0x26de4]=_0x411d0b,_0x15c413+=_0x411d0b;}else{if(_0x286c45['match'](/(.*):[ ](\d+\.?\d+)/i)){const _0x3045e8=_0xbfe36c(_0x25bb7c['$1'])[_0x5f0791(0x446)](),_0x3c240c=_0x9921d(_0x373db7['$2']);_0x393428[_0x3045e8]=_0x3c240c,_0x44849f+=_0x3c240c;}else _0x41e191!==''&&(_0xf7665d[_0x39577d]=0x1,_0xd55109++);}}}},Scene_Boot['prototype'][_0x208a24(0x1b3)]=function(){const _0x199cfe=_0x208a24;VisuMZ[_0x199cfe(0x759)][_0x199cfe(0xac5)](),VisuMZ[_0x199cfe(0x759)]['BindCommonEventKeysForGroup']($dataSkills),VisuMZ['BattleCore'][_0x199cfe(0x97a)]($dataItems);},VisuMZ[_0x208a24(0x759)][_0x208a24(0xac5)]=function(){const _0x2911bd=_0x208a24;VisuMZ[_0x2911bd(0x759)]['_commonEventKey']={};for(const _0x5e2cfa of $dataCommonEvents){if(!_0x5e2cfa)continue;if(_0x5e2cfa[_0x2911bd(0x278)][_0x2911bd(0x7fc)](/\[(.*)\]/i)){if(_0x2911bd(0xb6d)!==_0x2911bd(0xb6d)){const _0x2c4a1a=this[_0x2911bd(0x6e4)](_0x5b5c98);if(_0x2c4a1a[_0x2911bd(0x7fc)](/\\I\[(\d+)\]/i)){const _0x5afbb3=this['itemLineRect'](_0x25ed53),_0x2a9ec6=this['textSizeEx'](_0x2c4a1a)['width'];return _0x2a9ec6<=_0x5afbb3[_0x2911bd(0x4fe)]?_0x2911bd(0x3e2):_0x2911bd(0xa86);}}else{let _0x2247f5=String(RegExp['$1'])[_0x2911bd(0x51f)](/,/g,'')[_0x2911bd(0x4d6)]()[_0x2911bd(0x446)]();VisuMZ[_0x2911bd(0x759)][_0x2911bd(0x3ba)][_0x2247f5]=_0x5e2cfa['id'];}}}},VisuMZ['BattleCore'][_0x208a24(0x97a)]=function(_0x94777e){const _0x2f214f=_0x208a24;for(const _0x1f2570 of _0x94777e){if(!_0x1f2570)continue;VisuMZ[_0x2f214f(0x759)][_0x2f214f(0x2ed)](_0x1f2570);}},VisuMZ['BattleCore'][_0x208a24(0x2ed)]=function(_0x2ae2bb){const _0x357b66=_0x208a24;if(!_0x2ae2bb)return;if(!_0x2ae2bb[_0x357b66(0x60a)])return;VisuMZ[_0x357b66(0x759)]['_commonEventKey']=VisuMZ[_0x357b66(0x759)][_0x357b66(0x3ba)]||{};const _0x514554=/<COMMON EVENT (?:KEY|KEYS):[ ](.*)>/gi,_0x1ef32f=/<COMMON EVENT (?:KEY|KEYS)>\s*([\s\S]*)\s*<\/COMMON EVENT (?:KEY|KEYS)>/i;let _0x12e39e=[];const _0x5e4bfd=_0x2ae2bb['note'][_0x357b66(0x7fc)](_0x514554);if(_0x5e4bfd){for(const _0x500442 of _0x5e4bfd){_0x500442[_0x357b66(0x7fc)](_0x514554);const _0x2ead59=String(RegExp['$1'])['split'](',')[_0x357b66(0x58e)](_0x16ea9b=>String(_0x16ea9b)['toUpperCase']()['trim']());_0x12e39e=_0x12e39e[_0x357b66(0x655)](_0x2ead59);}!_0x2ae2bb[_0x357b66(0x6c4)][_0x357b66(0x7fc)](/<CUSTOM ACTION SEQUENCE>/i)&&(_0x2ae2bb[_0x357b66(0x6c4)]+=_0x357b66(0x97f));;}if(_0x2ae2bb[_0x357b66(0x6c4)][_0x357b66(0x7fc)](_0x1ef32f)){if('TKBpz'!=='TKBpz')_0x2c4283['stepForward']();else{const _0x130ed5=String(RegExp['$1'])[_0x357b66(0xc85)](/[\r\n]+/)[_0x357b66(0x58e)](_0x5dd206=>String(_0x5dd206)[_0x357b66(0x4d6)]()[_0x357b66(0x446)]());_0x12e39e=_0x12e39e[_0x357b66(0x655)](_0x130ed5);!_0x2ae2bb[_0x357b66(0x6c4)][_0x357b66(0x7fc)](/<CUSTOM ACTION SEQUENCE>/i)&&(_0x2ae2bb['note']+=_0x357b66(0x97f));;}}for(const _0x5cde05 of _0x12e39e){if(VisuMZ['BattleCore']['_commonEventKey'][_0x5cde05]){const _0xfd354c=VisuMZ[_0x357b66(0x759)][_0x357b66(0x3ba)][_0x5cde05],_0x1c23c2={'code':0x2c,'dataId':_0xfd354c,'value1':0x1,'value2':0x0};_0x2ae2bb[_0x357b66(0x60a)][_0x357b66(0x7c3)](_0x1c23c2);}}},Scene_Boot[_0x208a24(0xbd8)][_0x208a24(0xca5)]=function(){const _0x253e61=_0x208a24,_0x590706=$dataSkills[_0x253e61(0x655)]($dataItems);for(const _0x2560fe of _0x590706){if(!_0x2560fe)continue;VisuMZ[_0x253e61(0x759)][_0x253e61(0x85a)](_0x2560fe);}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x9f8)]=VisuMZ[_0x208a24(0x9f8)],VisuMZ[_0x208a24(0x9f8)]=function(_0x46638a){const _0x26bfd1=_0x208a24;if(VisuMZ[_0x26bfd1(0x759)]['ParseActorNotetags']){if(_0x26bfd1(0x5ae)===_0x26bfd1(0x313))return![];else VisuMZ[_0x26bfd1(0x759)][_0x26bfd1(0x9f8)][_0x26bfd1(0x783)](this,_0x46638a);}VisuMZ[_0x26bfd1(0x759)][_0x26bfd1(0x391)](_0x46638a);},VisuMZ[_0x208a24(0x759)]['ParseClassNotetags']=VisuMZ['ParseClassNotetags'],VisuMZ[_0x208a24(0x44d)]=function(_0x26521b){const _0x311ae7=_0x208a24;if(VisuMZ['BattleCore'][_0x311ae7(0x44d)]){if(_0x311ae7(0xac2)!==_0x311ae7(0x7e0))VisuMZ[_0x311ae7(0x759)][_0x311ae7(0x44d)][_0x311ae7(0x783)](this,_0x26521b);else{if(this[_0x311ae7(0x594)]!==_0x59431a)return![];if(!_0x2a4782[_0x311ae7(0x8c3)]())return![];return _0x8175f3[_0x311ae7(0x759)][_0x311ae7(0xc39)][_0x311ae7(0x148)]['ShowPortraitsBorderStyle'];}}VisuMZ['BattleCore']['Parse_Notetags_TraitObjects'](_0x26521b);},VisuMZ[_0x208a24(0x759)]['ParseSkillNotetags']=VisuMZ[_0x208a24(0x728)],VisuMZ[_0x208a24(0x728)]=function(_0x338cb5){const _0x4e8214=_0x208a24;VisuMZ[_0x4e8214(0x759)]['ParseSkillNotetags']&&VisuMZ[_0x4e8214(0x759)][_0x4e8214(0x728)]['call'](this,_0x338cb5),VisuMZ[_0x4e8214(0x759)][_0x4e8214(0x3f1)](_0x338cb5),VisuMZ[_0x4e8214(0x759)][_0x4e8214(0x85a)](_0x338cb5);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x61e)]=VisuMZ['ParseItemNotetags'],VisuMZ[_0x208a24(0x61e)]=function(_0x1384e6){const _0x51935a=_0x208a24;if(VisuMZ[_0x51935a(0x759)][_0x51935a(0x61e)]){if('DtXLN'===_0x51935a(0x3c6))VisuMZ[_0x51935a(0x759)]['ParseItemNotetags'][_0x51935a(0x783)](this,_0x1384e6);else{let _0x163451=_0x56b666['createTroopNote'](_0x57182e['id']);this[_0x51935a(0x92f)](_0x163451);}}VisuMZ[_0x51935a(0x759)][_0x51935a(0x3f1)](_0x1384e6),VisuMZ[_0x51935a(0x759)]['Parse_Notetags_Targets'](_0x1384e6);},VisuMZ[_0x208a24(0x759)][_0x208a24(0xbc6)]=VisuMZ['ParseWeaponNotetags'],VisuMZ[_0x208a24(0xbc6)]=function(_0x594b52){const _0x2fecf5=_0x208a24;VisuMZ[_0x2fecf5(0x759)]['ParseWeaponNotetags']&&VisuMZ[_0x2fecf5(0x759)]['ParseWeaponNotetags'][_0x2fecf5(0x783)](this,_0x594b52),VisuMZ[_0x2fecf5(0x759)][_0x2fecf5(0x391)](_0x594b52);},VisuMZ[_0x208a24(0x759)]['ParseArmorNotetags']=VisuMZ['ParseArmorNotetags'],VisuMZ[_0x208a24(0x60d)]=function(_0x234e2d){const _0x3be656=_0x208a24;VisuMZ[_0x3be656(0x759)][_0x3be656(0x60d)]&&(_0x3be656(0x866)!==_0x3be656(0x267)?VisuMZ['BattleCore'][_0x3be656(0x60d)][_0x3be656(0x783)](this,_0x234e2d):_0x4a2f26[_0x3be656(0x63f)]=_0x265c82[_0x3be656(0xd06)]),VisuMZ[_0x3be656(0x759)][_0x3be656(0x391)](_0x234e2d);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x67c)]=VisuMZ[_0x208a24(0x67c)],VisuMZ['ParseEnemyNotetags']=function(_0x2384b1){const _0x4fb36c=_0x208a24;VisuMZ['BattleCore'][_0x4fb36c(0x67c)]&&VisuMZ[_0x4fb36c(0x759)][_0x4fb36c(0x67c)][_0x4fb36c(0x783)](this,_0x2384b1),VisuMZ[_0x4fb36c(0x759)][_0x4fb36c(0x391)](_0x2384b1);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x54a)]=VisuMZ[_0x208a24(0x54a)],VisuMZ[_0x208a24(0x54a)]=function(_0x567a91){const _0x4f6cdd=_0x208a24;VisuMZ['BattleCore'][_0x4f6cdd(0x54a)]&&VisuMZ['BattleCore'][_0x4f6cdd(0x54a)][_0x4f6cdd(0x783)](this,_0x567a91),VisuMZ['BattleCore'][_0x4f6cdd(0x391)](_0x567a91);},VisuMZ['BattleCore'][_0x208a24(0x3f1)]=function(_0x22fdfe){const _0x32c184=_0x208a24,_0x58a236=['PreApplyJS',_0x32c184(0xc23),_0x32c184(0x1e3),_0x32c184(0x890),'PreStartActionJS',_0x32c184(0xba3),_0x32c184(0x374),_0x32c184(0x69f)];for(const _0x16c00a of _0x58a236){VisuMZ['BattleCore'][_0x32c184(0xb81)](_0x22fdfe,_0x16c00a);}const _0x563a0a=_0x22fdfe[_0x32c184(0x6c4)];_0x563a0a['match'](/<ALWAYS CRITICAL/i)&&(_0x22fdfe[_0x32c184(0xae4)][_0x32c184(0x57d)]=!![]),_0x563a0a[_0x32c184(0x7fc)](/<(?:REPEAT|REPEATS|REPEAT HITS):[ ](\d+)/i)&&(_0x22fdfe[_0x32c184(0xcd0)]=Math[_0x32c184(0x6db)](0x1,Number(RegExp['$1']))),_0x563a0a[_0x32c184(0x7fc)](/<TARGET:[ ](.*)>/i)&&(_0x22fdfe[_0x32c184(0x9ab)]=String(RegExp['$1'])['toUpperCase']()['trim']());},VisuMZ['BattleCore'][_0x208a24(0x391)]=function(_0xd36eea){const _0x53e90e=_0x208a24,_0x2bd616=[_0x53e90e(0xbdf),_0x53e90e(0x143),_0x53e90e(0x10a),'PostDamageAsUserJS',_0x53e90e(0x486),_0x53e90e(0xb39),_0x53e90e(0xa4d),_0x53e90e(0x7b7),'PreStartActionJS',_0x53e90e(0xba3),_0x53e90e(0x374),_0x53e90e(0x69f),_0x53e90e(0xb76),_0x53e90e(0xb69),_0x53e90e(0x8a4),_0x53e90e(0xc4d),'BattleVictoryJS',_0x53e90e(0x4aa),_0x53e90e(0x93b),_0x53e90e(0x19a),'PreStartTurnJS','PostStartTurnJS','PreEndTurnJS',_0x53e90e(0xc22),_0x53e90e(0x8f1),_0x53e90e(0x974)];for(const _0x495f38 of _0x2bd616){if('McfCq'===_0x53e90e(0x285))return this[_0x53e90e(0x814)]()?_0x48a515[_0x53e90e(0x759)][_0x53e90e(0xc39)][_0x53e90e(0x5a5)][_0x53e90e(0x2eb)]:_0x1acd75[_0x53e90e(0x759)][_0x53e90e(0xc39)][_0x53e90e(0x6bd)]['SmoothImage'];else VisuMZ[_0x53e90e(0x759)][_0x53e90e(0xb81)](_0xd36eea,_0x495f38);}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x85a)]=function(_0x49bbaf){const _0x3c624e=_0x208a24,_0x25cbaf=_0x49bbaf['note'];if(_0x25cbaf[_0x3c624e(0x7fc)](/<JS TARGETS>\s*([\s\S]*)\s*<\/JS TARGETS>/i)){if(_0x3c624e(0x4e3)!==_0x3c624e(0x72c)){const _0x5811ea=String(RegExp['$1']),_0x3b150c=VisuMZ[_0x3c624e(0x759)]['createKeyJS'](_0x49bbaf,'Targets');VisuMZ[_0x3c624e(0x759)][_0x3c624e(0x7ca)](_0x5811ea,_0x3b150c);}else{const _0x61095e=_0x26a88e[_0x3c624e(0xc1b)][_0x3c624e(0xb92)];_0x61095e[_0x3c624e(0xb3e)](),_0x61095e[_0x3c624e(0x84f)](!![]),_0x61095e[_0x3c624e(0xa22)](),_0x61095e['deselect']();const _0x208331=_0x496450[_0x3c624e(0xc1b)][_0x3c624e(0x71c)](),_0x233fad=['xp',_0x3c624e(0x372),_0x3c624e(0x4f5)];if(_0x233fad[_0x3c624e(0xcaf)](_0x208331)){const _0x4c54e=_0x51a0e1[_0x3c624e(0xc1b)]['_statusWindow'];_0x4c54e['scale']['y']=0x0;}}}if(_0x25cbaf[_0x3c624e(0x7fc)](/<JS COMMAND (?:VISIBLE|SHOW|HIDE)>\s*([\s\S]*)\s*<\/JS COMMAND (?:VISIBLE|SHOW|HIDE)>/i)){if(_0x3c624e(0xb32)!=='KjmqK'){const _0x7d4d5f=String(RegExp['$1']),_0x2aaa76=VisuMZ[_0x3c624e(0x759)][_0x3c624e(0x362)](_0x49bbaf,_0x3c624e(0xa63));VisuMZ[_0x3c624e(0x759)]['createCommandVisibleJS'](_0x7d4d5f,_0x2aaa76);}else this[_0x3c624e(0x8fb)][_0x3c624e(0x6b6)]=_0x12742c,this[_0x3c624e(0x46b)][_0x3c624e(0x6c5)](_0x147e5e),this['_logWindow']['displayReflectionPlayBack'](_0x2d06ab,this[_0x3c624e(0x8fb)]),this['_action']['apply'](_0x34c2fd),this['_logWindow'][_0x3c624e(0x338)](_0xa11b6d,_0x992295);}},VisuMZ[_0x208a24(0x759)]['JS']={},VisuMZ[_0x208a24(0x759)]['createJS']=function(_0x4af4e1,_0xa483d0){const _0x24e436=_0x208a24,_0x335ab2=_0x4af4e1['note'];if(_0x335ab2['match'](VisuMZ[_0x24e436(0x759)]['RegExp'][_0xa483d0])){const _0x2d9a8d=RegExp['$1'],_0x225f0b='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Declare\x20Arguments\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20user\x20=\x20arguments[0];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20target\x20=\x20arguments[1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20obj\x20=\x20arguments[2];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20value\x20=\x20arguments[3]\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20originalValue\x20=\x20value;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Declare\x20Constants\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20action\x20=\x20(this.constructor\x20===\x20Game_Action)\x20?\x20this\x20:\x20user.currentAction();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20a\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20b\x20=\x20target;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20attacker\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20defender\x20=\x20target;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20healer\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20receiver\x20=\x20target;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20actor\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20currentClass\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20skill\x20=\x20(this.constructor\x20===\x20Game_Action)\x20?\x20this.item()\x20:\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20item\x20=\x20(this.constructor\x20===\x20Game_Action)\x20?\x20this.item()\x20:\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20weapon\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20armor\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20enemy\x20=\x20obj;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20state\x20=\x20obj;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Create\x20Compatibility\x20Variables\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20origin\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(Imported.VisuMZ_1_SkillsStatesCore\x20&&\x20$dataStates.includes(obj))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20origin\x20=\x20target.getStateOrigin(obj.id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Process\x20Code\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20%1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20($gameTemp.isPlaytest())\x20console.log(e);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20NaN\x20Check\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(isNaN(value)){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20($gameTemp.isPlaytest())\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27NaN\x20value\x20created\x20by\x20%2\x27.format(\x27\x27,obj.name));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27Restoring\x20value\x20to\x20%2\x27.format(\x27\x27,originalValue));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20=\x20originalValue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Return\x20Value\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20value;\x0a\x20\x20\x20\x20\x20\x20\x20\x20'[_0x24e436(0x75a)](_0x2d9a8d),_0x204b4f=VisuMZ[_0x24e436(0x759)][_0x24e436(0x362)](_0x4af4e1,_0xa483d0);VisuMZ[_0x24e436(0x759)]['JS'][_0x204b4f]=new Function(_0x225f0b);}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x362)]=function(_0x2199e9,_0x258f92){const _0x47a893=_0x208a24;if(VisuMZ[_0x47a893(0x362)])return VisuMZ[_0x47a893(0x362)](_0x2199e9,_0x258f92);let _0x32f46b='';if($dataActors[_0x47a893(0xcaf)](_0x2199e9))_0x32f46b=_0x47a893(0xc65)[_0x47a893(0x75a)](_0x2199e9['id'],_0x258f92);if($dataClasses[_0x47a893(0xcaf)](_0x2199e9))_0x32f46b=_0x47a893(0x829)[_0x47a893(0x75a)](_0x2199e9['id'],_0x258f92);if($dataSkills['includes'](_0x2199e9))_0x32f46b=_0x47a893(0x3db)['format'](_0x2199e9['id'],_0x258f92);if($dataItems[_0x47a893(0xcaf)](_0x2199e9))_0x32f46b=_0x47a893(0xa3e)[_0x47a893(0x75a)](_0x2199e9['id'],_0x258f92);if($dataWeapons[_0x47a893(0xcaf)](_0x2199e9))_0x32f46b=_0x47a893(0xa00)[_0x47a893(0x75a)](_0x2199e9['id'],_0x258f92);if($dataArmors[_0x47a893(0xcaf)](_0x2199e9))_0x32f46b=_0x47a893(0xacd)[_0x47a893(0x75a)](_0x2199e9['id'],_0x258f92);if($dataEnemies['includes'](_0x2199e9))_0x32f46b='Enemy-%1-%2'['format'](_0x2199e9['id'],_0x258f92);if($dataStates['includes'](_0x2199e9))_0x32f46b=_0x47a893(0x7b8)[_0x47a893(0x75a)](_0x2199e9['id'],_0x258f92);return _0x32f46b;},VisuMZ['BattleCore']['createTargetsJS']=function(_0x27a26e,_0x56c833){const _0x37c236=_0x208a24,_0x495b98=_0x37c236(0xc2f)[_0x37c236(0x75a)](_0x27a26e);VisuMZ['BattleCore']['JS'][_0x56c833]=new Function(_0x495b98);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x63c)]=function(_0x132fe0,_0x340692){const _0x50ff82=_0x208a24,_0x4b6c1a=_0x50ff82(0x8e3)[_0x50ff82(0x75a)](_0x132fe0);VisuMZ['BattleCore']['JS'][_0x340692]=new Function(_0x4b6c1a);},TextManager[_0x208a24(0x402)]=VisuMZ['BattleCore'][_0x208a24(0xc39)]['PartyCmd'][_0x208a24(0x415)],TextManager[_0x208a24(0x4a7)]=VisuMZ[_0x208a24(0x759)]['Settings']['AutoBattle']['StartName'],TextManager[_0x208a24(0x22d)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)][_0x208a24(0x2a2)]['StyleName'],TextManager[_0x208a24(0x17a)]=VisuMZ[_0x208a24(0x759)]['Settings']['HpGauge'][_0x208a24(0x2c7)],ColorManager[_0x208a24(0x33d)]=function(_0x52dabe){const _0x3b9dc3=_0x208a24;return _0x52dabe=String(_0x52dabe),_0x52dabe['match'](/#(.*)/i)?_0x3b9dc3(0x296)['format'](String(RegExp['$1'])):this[_0x3b9dc3(0x119)](Number(_0x52dabe));},DataManager['getDamageStyle']=function(_0x4f854d){const _0x1d87d1=_0x208a24;if(_0x4f854d[_0x1d87d1(0x6c4)][_0x1d87d1(0x7fc)](/<DAMAGE STYLE:[ ](.*)>/i)){const _0x781f67=String(RegExp['$1'])[_0x1d87d1(0x4d6)]()[_0x1d87d1(0x446)]();if(_0x781f67===_0x1d87d1(0xac7))return'MANUAL';if(VisuMZ[_0x1d87d1(0x4a8)][_0x781f67])return _0x781f67;}const _0x215281=VisuMZ[_0x1d87d1(0x759)][_0x1d87d1(0xc39)][_0x1d87d1(0x7a9)][_0x1d87d1(0x559)][_0x1d87d1(0x4d6)]()['trim']();if(VisuMZ[_0x1d87d1(0x4a8)][_0x215281])return _0x215281;return _0x1d87d1(0xac7);},DataManager['getStypeIdWithName']=function(_0x7e8871){const _0xca8348=_0x208a24;_0x7e8871=_0x7e8871['toUpperCase']()[_0xca8348(0x446)](),this[_0xca8348(0xa32)]=this[_0xca8348(0xa32)]||{};if(this['_stypeIDs'][_0x7e8871])return this[_0xca8348(0xa32)][_0x7e8871];for(let _0x455afd=0x1;_0x455afd<0x64;_0x455afd++){if(!$dataSystem[_0xca8348(0x389)][_0x455afd])continue;let _0x118a4d=$dataSystem['skillTypes'][_0x455afd][_0xca8348(0x4d6)]()['trim']();_0x118a4d=_0x118a4d[_0xca8348(0x51f)](/\x1I\[(\d+)\]/gi,''),_0x118a4d=_0x118a4d[_0xca8348(0x51f)](/\\I\[(\d+)\]/gi,''),this['_stypeIDs'][_0x118a4d]=_0x455afd;}return this[_0xca8348(0xa32)][_0x7e8871]||0x0;},DataManager[_0x208a24(0x51c)]=function(_0x39390c){const _0x2c3edc=_0x208a24;_0x39390c=_0x39390c[_0x2c3edc(0x4d6)]()[_0x2c3edc(0x446)](),this[_0x2c3edc(0x492)]=this['_skillIDs']||{};if(this[_0x2c3edc(0x492)][_0x39390c])return this[_0x2c3edc(0x492)][_0x39390c];for(const _0x34fcf7 of $dataSkills){if(_0x2c3edc(0x409)!==_0x2c3edc(0x5b0)){if(!_0x34fcf7)continue;this[_0x2c3edc(0x492)][_0x34fcf7[_0x2c3edc(0x278)][_0x2c3edc(0x4d6)]()[_0x2c3edc(0x446)]()]=_0x34fcf7['id'];}else{if(!_0x1a1f7f[_0x2c3edc(0x8c3)]())return;_0x4167f1[_0x2c3edc(0x4f4)](_0x32facb,_0xd70567);const _0x5270d4=_0x385fb6[_0x2c3edc(0x8fb)],_0x53ae77={'arPenRate':_0x4abee7[_0x2c3edc(0x31a)],'arPenFlat':_0x543675['ArPenFlat'],'arRedRate':_0xff2a51[_0x2c3edc(0x11c)],'arRedFlat':_0x4ab0f1[_0x2c3edc(0x89a)]};_0x5270d4['_armorPenetration']=_0x53ae77;}}return this[_0x2c3edc(0x492)][_0x39390c]||0x0;},DataManager[_0x208a24(0xbbb)]=function(_0x554e6d){const _0x3b4076=_0x208a24;_0x554e6d=_0x554e6d[_0x3b4076(0x4d6)]()[_0x3b4076(0x446)](),this['_enemyIDs']=this[_0x3b4076(0xa7d)]||{};if(this[_0x3b4076(0xa7d)][_0x554e6d])return this[_0x3b4076(0xa7d)][_0x554e6d];for(const _0x1d39e2 of $dataEnemies){if(_0x3b4076(0x924)!==_0x3b4076(0xbce)){if(!_0x1d39e2)continue;this[_0x3b4076(0xa7d)][_0x1d39e2[_0x3b4076(0x278)][_0x3b4076(0x4d6)]()[_0x3b4076(0x446)]()]=_0x1d39e2['id'];}else _0x2e1f03['prototype'][_0x3b4076(0x18e)][_0x3b4076(0x783)](this);}return this[_0x3b4076(0xa7d)][_0x554e6d]||0x0;},DataManager[_0x208a24(0x75b)]=function(_0x463afa){const _0x1869a6=_0x208a24;_0x463afa=_0x463afa[_0x1869a6(0x4d6)]()[_0x1869a6(0x446)](),this[_0x1869a6(0x699)]=this[_0x1869a6(0x699)]||{};if(this[_0x1869a6(0x699)][_0x463afa])return this[_0x1869a6(0x699)][_0x463afa];for(let _0x5ced8a=0x1;_0x5ced8a<0x64;_0x5ced8a++){if(!$dataSystem['weaponTypes'][_0x5ced8a])continue;let _0x5ee329=$dataSystem[_0x1869a6(0xae)][_0x5ced8a][_0x1869a6(0x4d6)]()['trim']();_0x5ee329=_0x5ee329[_0x1869a6(0x51f)](/\x1I\[(\d+)\]/gi,''),_0x5ee329=_0x5ee329[_0x1869a6(0x51f)](/\\I\[(\d+)\]/gi,''),this[_0x1869a6(0x699)][_0x5ee329]=_0x5ced8a;}return this[_0x1869a6(0x699)][_0x1869a6(0x591)]=0x0,this[_0x1869a6(0x699)][_0x463afa]||0x0;},DataManager[_0x208a24(0x7bb)]=function(_0x1ff487){const _0xabb5cf=_0x208a24,_0x3beeda=_0xabb5cf(0x98a);let _0x18a678=_0x1ff487[_0xabb5cf(0x16f)],_0x4b5480=_0x1ff487['name'];const _0x3e41d9=_0x1ff487[_0xabb5cf(0x6c4)];return _0x3e41d9[_0xabb5cf(0x7fc)](/<DISPLAY ICON: (\d+)>/i)&&(_0x18a678=Number(RegExp['$1'])),_0x3e41d9[_0xabb5cf(0x7fc)](/<DISPLAY TEXT: (.*)>/i)&&(_0x4b5480=String(RegExp['$1'])),_0x3beeda[_0xabb5cf(0x75a)](_0x18a678,_0x4b5480);},DataManager[_0x208a24(0x157)]=function(_0xce3b23){const _0x3acc10=_0x208a24;if(_0xce3b23['note']['match'](/<COMMAND TEXT: (.*)>/i)){if(_0x3acc10(0xa7c)!==_0x3acc10(0x39b))return String(RegExp['$1']);else{const _0x52a52e=this[_0x3acc10(0xd08)]();if(_0x52a52e&&_0xdebe0c)_0x52a52e['stepForward']();return;}}else{if(_0x3acc10(0x3e6)!==_0x3acc10(0x3e6))_0xa859b2+=_0x1b3f25,_0x162281+=_0x553573;else return _0xce3b23[_0x3acc10(0x278)];}},DataManager['battleCommandIcon']=function(_0x4210e8){const _0x205291=_0x208a24;if(_0x4210e8['note']['match'](/<COMMAND ICON: (\d+)>/i))return Number(RegExp['$1']);else{if(_0x205291(0x26a)!==_0x205291(0x26a)){this[_0x205291(0xce2)]=this[_0x205291(0xce2)]||{};const _0x3b8f1c=_0x30797b[_0x205291(0x3a6)]();this[_0x205291(0xce2)][_0x3b8f1c]=_0x9dcc3e;}else return _0x4210e8[_0x205291(0x16f)];}},DataManager[_0x208a24(0x2f2)]=function(_0x1ab05f){const _0x24b89e=_0x208a24,_0x184474=$dataEnemies[_0x1ab05f];if(_0x184474){if(_0x184474[_0x24b89e(0x6c4)]['match'](/<SWAP ENEMIES>\s*([\s\S]*)\s*<\/SWAP ENEMIES>/i)){if('eSZUD'===_0x24b89e(0xd13)){const _0x2cdada=_0x577c97[_0x24b89e(0x759)][_0x24b89e(0xc39)][_0x24b89e(0x2a2)],_0x71bfa8=this[_0x24b89e(0x225)]('autoBattleUseSkills');return _0x71bfa8?_0x2cdada[_0x24b89e(0x371)]:_0x2cdada[_0x24b89e(0x509)];}else{const _0x3dd888=String(RegExp['$1'])[_0x24b89e(0xc85)](/[\r\n]+/)[_0x24b89e(0x44b)](''),_0x1b9e00=this[_0x24b89e(0x382)](_0x3dd888);_0x1ab05f=this[_0x24b89e(0xbbb)](_0x1b9e00)||_0x1ab05f,_0x1ab05f=DataManager[_0x24b89e(0x2f2)](_0x1ab05f);}}}return _0x1ab05f;},DataManager['processRandomizedData']=function(_0x4d4cd1){const _0x4aa78d=_0x208a24;let _0x3a34ae=0x0;const _0x34ff76={};for(const _0x4d6f78 of _0x4d4cd1){if(_0x4d6f78[_0x4aa78d(0x7fc)](/(.*):[ ](\d+)/i)){if(_0x4aa78d(0x65d)!==_0x4aa78d(0xc24)){const _0xfdaef0=String(RegExp['$1'])[_0x4aa78d(0x446)](),_0xc46b52=Number(RegExp['$2']);_0x34ff76[_0xfdaef0]=_0xc46b52,_0x3a34ae+=_0xc46b52;}else _0x3879b2+=_0x1eeb60['Actor'][_0x4aa78d(0x7ae)]||0x0,_0x726785+=_0x2aa34c[_0x4aa78d(0x5a5)][_0x4aa78d(0x153)]||0x0;}else{if(_0x4d6f78['match'](/(.*):[ ](\d+\.?\d+)/i)){const _0x5522cf=String(RegExp['$1'])['trim'](),_0xd56013=Number(RegExp['$2']);_0x34ff76[_0x5522cf]=_0xd56013,_0x3a34ae+=_0xd56013;}else _0x4d6f78!==''&&(_0x34ff76[_0x4d6f78]=0x1,_0x3a34ae++);}}if(_0x3a34ae<=0x0)return'';let _0x3ebfa5=Math[_0x4aa78d(0x39f)]()*_0x3a34ae;for(const _0xc5d2d3 in _0x34ff76){_0x3ebfa5-=_0x34ff76[_0xc5d2d3];if(_0x3ebfa5<=0x0)return _0xc5d2d3;}return'';},DataManager[_0x208a24(0x595)]=function(_0x2ea13a){const _0x57a954=_0x208a24;if(!_0x2ea13a)return![];if(!VisuMZ[_0x57a954(0x759)][_0x57a954(0xc39)][_0x57a954(0x9b7)][_0x57a954(0xa50)])return![];if(_0x2ea13a[_0x57a954(0x6c4)][_0x57a954(0x7fc)](/<AUTO ACTION SEQUENCE>/i))return![];if(_0x2ea13a[_0x57a954(0x6c4)][_0x57a954(0x7fc)](/<COMMON (?:EVENT|EVENTS):[ ](.*)>/gi))return!![];for(const _0x2de0b8 of _0x2ea13a[_0x57a954(0x60a)]){if('AOWqw'==='ZjIMy')_0x3ebb59[_0x57a954(0x9e8)][_0x57a954(0x738)]<1.15&&(_0x117f12(_0x185069[_0x57a954(0x75a)]('STB')),_0x3ddfe1[_0x57a954(0x1b1)]());else{if(!_0x2de0b8)continue;if(_0x2de0b8[_0x57a954(0x762)]===Game_Action['EFFECT_COMMON_EVENT'])return!![];}}return![];},DataManager[_0x208a24(0x582)]=function(_0x4bb563){const _0x5df20c=_0x208a24,_0x127887=$dataTroops[_0x4bb563];if(!_0x127887)return'';let _0x5c8a34='';_0x5c8a34+=_0x127887[_0x5df20c(0x278)];for(const _0x51222e of _0x127887[_0x5df20c(0xcea)]){if(_0x5df20c(0x578)!==_0x5df20c(0x578))_0x2a32b7[_0x5df20c(0x7f9)](_0x536b59(_0x107166['$1']));else for(const _0x1d1087 of _0x51222e[_0x5df20c(0x38d)]){if([0x6c,0x198][_0x5df20c(0xcaf)](_0x1d1087[_0x5df20c(0x762)])){if(_0x5df20c(0x747)==='KHjur')return _0x4fecfe(_0x32677b['$1']);else _0x5c8a34+='\x0a',_0x5c8a34+=_0x1d1087[_0x5df20c(0x378)][0x0];}}}return _0x5c8a34;},ConfigManager['autoBattleAtStart']=ConfigManager[_0x208a24(0xc99)]??![],ConfigManager['autoBattleUseSkills']=ConfigManager[_0x208a24(0xca8)]??![],ConfigManager[_0x208a24(0x17a)]=ConfigManager[_0x208a24(0x17a)]??!![],VisuMZ[_0x208a24(0x759)][_0x208a24(0x16b)]=ConfigManager[_0x208a24(0x571)],ConfigManager[_0x208a24(0x571)]=function(){const _0x3418df=_0x208a24,_0x4e7006=VisuMZ[_0x3418df(0x759)]['ConfigManager_makeData'][_0x3418df(0x783)](this);return _0x4e7006[_0x3418df(0xc99)]=this[_0x3418df(0xc99)],_0x4e7006[_0x3418df(0xca8)]=this[_0x3418df(0xca8)],_0x4e7006[_0x3418df(0x17a)]=this[_0x3418df(0x17a)],_0x4e7006;},VisuMZ[_0x208a24(0x759)][_0x208a24(0x3b1)]=ConfigManager[_0x208a24(0x897)],ConfigManager['applyData']=function(_0xc6b177){const _0x28e5ad=_0x208a24;VisuMZ[_0x28e5ad(0x759)][_0x28e5ad(0x3b1)][_0x28e5ad(0x783)](this,_0xc6b177);_0x28e5ad(0xc99)in _0xc6b177?'qBrQM'!==_0x28e5ad(0x455)?this[_0x28e5ad(0xc99)]=_0xc6b177[_0x28e5ad(0xc99)]:!this[_0x28e5ad(0x166)]()&&!this[_0x28e5ad(0x46b)][_0x28e5ad(0x7ee)]()&&(this[_0x28e5ad(0x558)]=_0x28e5ad(0x590)):this['autoBattleAtStart']=![];if('autoBattleUseSkills'in _0xc6b177)this['autoBattleUseSkills']=_0xc6b177[_0x28e5ad(0xca8)];else{if('ZzpaY'!==_0x28e5ad(0x38f))this[_0x28e5ad(0xca8)]=![];else{_0x282d86[_0x28e5ad(0x759)][_0x28e5ad(0x441)][_0x28e5ad(0x783)](this);if(!_0x49dc35['isTpb']())_0xb144b7[_0x28e5ad(0x21e)]=null;}}'visualHpGauge'in _0xc6b177?_0x28e5ad(0x87c)!=='gAFFw'?_0x48ac22[_0x28e5ad(0x2f3)]([_0x403b3a]):this[_0x28e5ad(0x17a)]=_0xc6b177[_0x28e5ad(0x17a)]:this['visualHpGauge']=!![];},ImageManager[_0x208a24(0x46e)]=ImageManager[_0x208a24(0x46e)]||0x9,ImageManager[_0x208a24(0x9c9)]=ImageManager[_0x208a24(0x9c9)]||0x6,VisuMZ[_0x208a24(0x759)][_0x208a24(0xab4)]=BattleManager[_0x208a24(0x876)],BattleManager[_0x208a24(0x876)]=function(_0x152f16,_0x1a9566,_0x20be5f){const _0x198c83=_0x208a24;VisuMZ['BattleCore'][_0x198c83(0xab4)][_0x198c83(0x783)](this,_0x152f16,_0x1a9566,_0x20be5f),this[_0x198c83(0x4db)]={};},VisuMZ[_0x208a24(0x759)][_0x208a24(0x2ec)]=BattleManager[_0x208a24(0xa17)],BattleManager['initMembers']=function(){const _0x134726=_0x208a24;VisuMZ[_0x134726(0x759)][_0x134726(0x2ec)][_0x134726(0x783)](this),this[_0x134726(0xb9)]=[];},BattleManager[_0x208a24(0x761)]=function(){const _0xef05a8=_0x208a24;if(!SceneManager[_0xef05a8(0x8c3)]())return;const _0x3514ec=SceneManager[_0xef05a8(0xc1b)][_0xef05a8(0xb91)];if(_0x3514ec)_0x3514ec[_0xef05a8(0x180)]();},BattleManager['battleSys']=function(){const _0xa5c448=_0x208a24;if(BattleManager[_0xa5c448(0xd25)]())return'TPB';return'DTB';},BattleManager['isBattleSys']=function(_0x35bd99){const _0x4fb1e7=_0x208a24;return _0x35bd99=_0x35bd99[_0x4fb1e7(0x4d6)]()[_0x4fb1e7(0x446)](),this['battleSys']()===_0x35bd99;},BattleManager[_0x208a24(0xb99)]=function(){const _0x3ffb92=_0x208a24;return this[_0x3ffb92(0x743)](_0x3ffb92(0x602));},BattleManager[_0x208a24(0x270)]=function(){const _0x351786=_0x208a24;return this[_0x351786(0xb99)]();},BattleManager[_0x208a24(0xff)]=function(){const _0x327454=_0x208a24;return!this[_0x327454(0x270)]();},BattleManager['isTeamBased']=function(){const _0x2ec01b=_0x208a24;return!this[_0x2ec01b(0x270)]()&&!this[_0x2ec01b(0xff)]();},BattleManager['getBattlerFromKey']=function(_0x2e82b7){const _0xbf9dbe=_0x208a24;this['_battlerKeyCache']=this[_0xbf9dbe(0x4db)]||{};if(this[_0xbf9dbe(0x4db)][_0x2e82b7]!==undefined)return this[_0xbf9dbe(0x4db)][_0x2e82b7];this[_0xbf9dbe(0x4db)][_0x2e82b7]=null;const _0x1ac583=this[_0xbf9dbe(0xbc8)](),_0x35fc9d=_0x1ac583[_0xbf9dbe(0x44c)](_0x33f08d=>_0x33f08d['battlerKey']()===_0x2e82b7);if(_0x35fc9d)this[_0xbf9dbe(0x4db)][_0x2e82b7]=_0x35fc9d;return this['_battlerKeyCache'][_0x2e82b7];},Game_BattlerBase['prototype'][_0x208a24(0x3a6)]=function(){const _0x478d3b=_0x208a24;return _0x478d3b(0xcc7)[_0x478d3b(0x75a)](this[_0x478d3b(0x9bf)]()?'actor':_0x478d3b(0x449),this[_0x478d3b(0x278)]());},Game_Action['prototype']['setTargetBattlerKey']=function(_0x3c7345){const _0x4c51fd=_0x208a24;if(this[_0x4c51fd(0x570)]!=='')return;typeof _0x3c7345===_0x4c51fd(0x32d)?this[_0x4c51fd(0x570)]=_0x3c7345[_0x4c51fd(0x717)]()['trim']():this['_targetBattlerKey']=_0x3c7345[_0x4c51fd(0x3a6)]();},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x6f5)]=function(){const _0x52c5de=_0x208a24;return[this[_0x52c5de(0xb96)]()];},Game_Action[_0x208a24(0xbd8)][_0x208a24(0xb96)]=function(){const _0x201e87=_0x208a24,_0x451c8a=this[_0x201e87(0x570)]||'',_0x3429e6=BattleManager[_0x201e87(0x18c)](_0x451c8a);if(!_0x3429e6)return this[_0x201e87(0x871)]();if(!_0x3429e6[_0x201e87(0x97c)]())return this[_0x201e87(0x871)]();return _0x3429e6;},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x871)]=function(){const _0x41cad3=_0x208a24,_0x1cf14a=this[_0x41cad3(0x570)];return _0x1cf14a[_0x41cad3(0x7fc)](/ACTOR/i)?this['friendsUnit']()[_0x41cad3(0xc9a)]():this[_0x41cad3(0x505)]()[_0x41cad3(0xc9a)]();},BattleManager[_0x208a24(0x6fd)]=function(){const _0x4031f9=_0x208a24;return this[_0x4031f9(0xbc8)]()[_0x4031f9(0x5a8)](_0x2ba3d8=>_0x2ba3d8[_0x4031f9(0xacb)]());},BattleManager['processBattleCoreJS']=function(_0x1aa8f9){const _0x316b71=_0x208a24;_0x1aa8f9===_0x316b71(0x5af)&&(this[_0x316b71(0x8f0)]=!![]),$gameParty['processBattleCoreJS'](_0x1aa8f9),$gameTroop[_0x316b71(0x192)](_0x1aa8f9);},VisuMZ[_0x208a24(0x759)]['BattleManager_startBattle']=BattleManager[_0x208a24(0x81a)],BattleManager[_0x208a24(0x81a)]=function(){const _0x1db3ff=_0x208a24;this['_endBattle']=![],this[_0x1db3ff(0x29c)]=ConfigManager['autoBattleAtStart'],this[_0x1db3ff(0x8f0)]=![],this[_0x1db3ff(0x192)](_0x1db3ff(0xb76)),VisuMZ[_0x1db3ff(0x759)][_0x1db3ff(0xc3c)][_0x1db3ff(0x783)](this),this['processBattleCoreJS']('PostStartBattleJS');},BattleManager[_0x208a24(0x4e7)]=function(_0x2a1214){const _0x2ecb20=_0x208a24,_0xd7a54c=VisuMZ[_0x2ecb20(0x759)]['Settings']['Mechanics'];_0x2a1214!==_0x2ecb20(0x243)&&_0xd7a54c[_0x2ecb20(0x2fe)]&&VisuMZ[_0x2ecb20(0x759)][_0x2ecb20(0xc73)](_0xd7a54c[_0x2ecb20(0x2fe)])&&(_0x2ecb20(0x286)===_0x2ecb20(0x6d7)?this['push'](_0x2ecb20(0x9a1),this[_0x2ecb20(0x12b)](_0x40c7ac)):$gameTemp[_0x2ecb20(0x436)](_0xd7a54c[_0x2ecb20(0x2fe)]));const _0x357766=_0x2ecb20(0xb63)[_0x2ecb20(0x75a)](_0x2a1214);_0xd7a54c[_0x357766]&&VisuMZ['BattleCore'][_0x2ecb20(0xc73)](_0xd7a54c[_0x357766])&&$gameTemp['reserveCommonEvent'](_0xd7a54c[_0x357766]);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x682)]=BattleManager['abort'],BattleManager[_0x208a24(0x4f6)]=function(){const _0x217167=_0x208a24;VisuMZ[_0x217167(0x759)][_0x217167(0x682)][_0x217167(0x783)](this);if(SceneManager[_0x217167(0x8c3)]()){if('pUFof'!==_0x217167(0x5ad)){if(!this['enemy']())return;_0x21fc7b[_0x217167(0x76f)]()?this['x']=_0x43100c[_0x217167(0xa53)]-this['enemy']()[_0x217167(0xd08)]()[_0x217167(0x169)]:this['x']=this[_0x217167(0x449)]()[_0x217167(0xd08)]()[_0x217167(0x169)];this['x']-=_0x3cc6c6['round'](this[_0x217167(0x4fe)]/0x2),this['y']=this[_0x217167(0x449)]()['battler']()[_0x217167(0x832)]-_0xcea1c8[_0x217167(0xd50)](this[_0x217167(0x146)]()*1.5);const _0xa4aef4=_0x43c38d[_0x217167(0x759)][_0x217167(0xc39)][_0x217167(0x6bd)];this['x']+=_0xa4aef4[_0x217167(0xc30)]||0x0,this['y']+=_0xa4aef4[_0x217167(0xb46)]||0x0;}else BattleManager[_0x217167(0x89f)]();}},VisuMZ[_0x208a24(0x759)][_0x208a24(0xacc)]=BattleManager['checkBattleEnd'],BattleManager[_0x208a24(0x820)]=function(){const _0x24d4ac=_0x208a24;if(this[_0x24d4ac(0x558)]===_0x24d4ac(0x6d6)){if($gameTemp[_0x24d4ac(0x290)]())return![];}return VisuMZ[_0x24d4ac(0x759)][_0x24d4ac(0xacc)]['call'](this);},VisuMZ['BattleCore']['BattleManager_processVictory']=BattleManager['processVictory'],BattleManager[_0x208a24(0x7b2)]=function(){const _0x10107d=_0x208a24;this['_endingBattle']=!![],this['processBattleCoreJS'](_0x10107d(0x5af)),VisuMZ[_0x10107d(0x759)][_0x10107d(0x16d)][_0x10107d(0x783)](this),this[_0x10107d(0x4e7)](_0x10107d(0x4e1));},VisuMZ[_0x208a24(0x759)]['BattleManager_processAbort']=BattleManager['processAbort'],BattleManager[_0x208a24(0xb0f)]=function(){const _0x2fa924=_0x208a24;this[_0x2fa924(0x8f0)]=!![],VisuMZ[_0x2fa924(0x759)][_0x2fa924(0x930)]['call'](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x359)]=BattleManager['processDefeat'],BattleManager['processDefeat']=function(){const _0xe50eed=_0x208a24;this['_endingBattle']=!![],this[_0xe50eed(0x192)]('BattleDefeatJS'),VisuMZ[_0xe50eed(0x759)]['BattleManager_processDefeat'][_0xe50eed(0x783)](this),this['processPostBattleCommonEvents'](_0xe50eed(0xba9));},VisuMZ[_0x208a24(0x759)][_0x208a24(0x31d)]=BattleManager[_0x208a24(0x209)],BattleManager[_0x208a24(0x209)]=function(_0x185964){const _0x2799f6=_0x208a24;this[_0x2799f6(0x478)]=!![],this[_0x2799f6(0x29c)]=![],this[_0x2799f6(0x192)](_0x2799f6(0x8a4)),VisuMZ[_0x2799f6(0x759)][_0x2799f6(0x31d)][_0x2799f6(0x783)](this,_0x185964),this[_0x2799f6(0x192)](_0x2799f6(0xc4d));},VisuMZ[_0x208a24(0x759)][_0x208a24(0x8ea)]=BattleManager['startTurn'],BattleManager[_0x208a24(0x7cd)]=function(){const _0x786c4f=_0x208a24;if(this[_0x786c4f(0x270)]())this[_0x786c4f(0x192)]('PreStartTurnJS');VisuMZ[_0x786c4f(0x759)][_0x786c4f(0x8ea)][_0x786c4f(0x783)](this);if(this[_0x786c4f(0x270)]())this['processBattleCoreJS']('PostStartTurnJS');},BattleManager[_0x208a24(0xc28)]=function(){const _0x3d2116=_0x208a24,_0x346bbc=this[_0x3d2116(0x64d)],_0x4d1417=_0x346bbc[_0x3d2116(0xa7b)]();if(_0x4d1417){if(_0x3d2116(0xbbf)!==_0x3d2116(0x4e8))_0x4d1417[_0x3d2116(0x1bd)](),_0x4d1417[_0x3d2116(0x461)]()?_0x3d2116(0x5fe)!==_0x3d2116(0x3d4)?(this[_0x3d2116(0xb00)](),_0x346bbc[_0x3d2116(0x6b0)]()):_0x484def['Actor'][_0x3d2116(0x2eb)]=![]:(_0x346bbc[_0x3d2116(0x6b0)](),this[_0x3d2116(0x5df)]());else{let _0x2ebe61=-0x10,_0x341b02=this[_0x3d2116(0x1fa)]*0.5;const _0x3a3c8b=/<SIDEVIEW WEAPON OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i,_0x278ac1=this[_0x3d2116(0xa4c)][_0x3d2116(0x8ce)]()[_0x3d2116(0x58e)](_0x2bd193=>_0x2bd193&&_0x2bd193[_0x3d2116(0x6c4)][_0x3d2116(0x7fc)](_0x3a3c8b)?_0x248a15(_0xd67b09['$1']):0x0),_0x2389c1=this[_0x3d2116(0xa4c)][_0x3d2116(0x8ce)]()[_0x3d2116(0x58e)](_0x2ec3c0=>_0x2ec3c0&&_0x2ec3c0['note'][_0x3d2116(0x7fc)](_0x3a3c8b)?_0x523cf8(_0x3d23c6['$2']):0x0);_0x2ebe61=_0x278ac1[_0x3d2116(0x5dd)]((_0x4d8ae8,_0x1892a7)=>_0x4d8ae8+_0x1892a7,_0x2ebe61),_0x341b02=_0x2389c1[_0x3d2116(0x5dd)]((_0x42c88f,_0x3d2b5f)=>_0x42c88f+_0x3d2b5f,_0x341b02),this[_0x3d2116(0x799)]['x']=_0x2ebe61,this[_0x3d2116(0x799)]['y']=_0x341b02,this['_weaponSprite'][_0x3d2116(0x3c1)]();}}else _0x3d2116(0x36d)!==_0x3d2116(0xbe3)?(this['endAction'](),this[_0x3d2116(0x64d)]=null):_0xfafdb7[_0x3d2116(0x3dc)]('cutinEnter');},VisuMZ['BattleCore']['BattleManager_startAction']=BattleManager[_0x208a24(0xb00)],BattleManager[_0x208a24(0xb00)]=function(){const _0x391b58=_0x208a24,_0x24c55a=this[_0x391b58(0x64d)][_0x391b58(0xa7b)](),_0x109d4f=this[_0x391b58(0x64d)];_0x24c55a&&_0x24c55a[_0x391b58(0x6a9)]()===_0x109d4f&&_0x24c55a[_0x391b58(0x84e)](_0x391b58(0xd5a)),VisuMZ[_0x391b58(0x759)]['BattleManager_startAction']['call'](this),_0x24c55a&&_0x24c55a[_0x391b58(0x6a9)]()===_0x109d4f&&_0x24c55a['actionBattleCoreJS'](_0x391b58(0xba3));},VisuMZ[_0x208a24(0x759)][_0x208a24(0xa46)]=BattleManager[_0x208a24(0x5df)],BattleManager['endAction']=function(){const _0x220f77=_0x208a24,_0x46a186=this[_0x220f77(0x8fb)],_0x1f65f9=this['_subject'];_0x46a186&&_0x46a186!==this[_0x220f77(0xbb7)]&&_0x46a186[_0x220f77(0x6a9)]()===_0x1f65f9&&(_0x220f77(0x79d)!=='zcbSG'?_0x46a186[_0x220f77(0x84e)](_0x220f77(0x374)):this[_0x220f77(0xca)][_0x220f77(0x3b3)]=this['isOpen']());if(this['_subject']){if('AdrUN'===_0x220f77(0x9a4)){if(_0x3e3671[_0x220f77(0x394)]())return;if(!_0x100a82)return;if(!_0x5a2708[_0x220f77(0x7d2)]())return;_0x19ed36[_0x220f77(0x759)][_0x220f77(0x839)][_0x220f77(0x783)](this);}else VisuMZ[_0x220f77(0x759)][_0x220f77(0xa46)][_0x220f77(0x783)](this);}else this[_0x220f77(0x558)]=_0x220f77(0x6d6);_0x46a186&&_0x46a186!==this['_lastAction']&&_0x46a186['subject']()===_0x1f65f9&&_0x46a186[_0x220f77(0x84e)](_0x220f77(0x69f)),this[_0x220f77(0x440)](this[_0x220f77(0xbc8)]()),this[_0x220f77(0xbb7)]=this['_action'];},BattleManager[_0x208a24(0x440)]=function(_0x1ae0ab){const _0x17befa=_0x208a24;for(const _0xeef823 of _0x1ae0ab){if(!_0xeef823)continue;if(!_0xeef823[_0x17befa(0xd08)]())continue;_0xeef823[_0x17befa(0xd08)]()[_0x17befa(0x4a2)]();}},BattleManager[_0x208a24(0x767)]=function(){const _0x549c9b=_0x208a24;!this[_0x549c9b(0x46b)][_0x549c9b(0x7ee)]()&&this[_0x549c9b(0x5df)]();},Game_Battler[_0x208a24(0xbd8)]['onAllActionsEnd']=function(){const _0x389726=_0x208a24;this['clearResult']();if(Imported['VisuMZ_1_SkillsStatesCore']){const _0x312b6e=VisuMZ[_0x389726(0x17e)]['Settings'][_0x389726(0xcf7)];_0x312b6e&&_0x312b6e[_0x389726(0xd14)]===![]&&this[_0x389726(0x13f)](0x1);}else this[_0x389726(0x13f)](0x1);this[_0x389726(0xa03)]();},BattleManager[_0x208a24(0xa76)]=function(){const _0x27ddff=_0x208a24;this[_0x27ddff(0x600)]=VisuMZ[_0x27ddff(0x759)][_0x27ddff(0xc39)]['Mechanics']['CalcEscapeRatioJS'][_0x27ddff(0x783)](this);},VisuMZ[_0x208a24(0x759)]['BattleManager_onEscapeSuccess']=BattleManager[_0x208a24(0x27e)],BattleManager[_0x208a24(0x27e)]=function(){const _0x235fc8=_0x208a24;this[_0x235fc8(0x192)](_0x235fc8(0x93b)),BattleManager[_0x235fc8(0xa85)][_0x235fc8(0xf7)](),VisuMZ[_0x235fc8(0x759)][_0x235fc8(0x3b5)][_0x235fc8(0x783)](this),this['processPostBattleCommonEvents'](_0x235fc8(0x4ef));},VisuMZ[_0x208a24(0x759)][_0x208a24(0x259)]=BattleManager[_0x208a24(0xb30)],BattleManager[_0x208a24(0xb30)]=function(){const _0x439d70=_0x208a24;this[_0x439d70(0x192)](_0x439d70(0x19a));const _0x218a2a=this[_0x439d70(0x600)];VisuMZ[_0x439d70(0x759)][_0x439d70(0x259)][_0x439d70(0x783)](this),this[_0x439d70(0x600)]=_0x218a2a+VisuMZ[_0x439d70(0x759)]['Settings'][_0x439d70(0x79c)]['CalcEscapeRaiseJS'][_0x439d70(0x783)](this),this[_0x439d70(0x4bf)]=![],this[_0x439d70(0x4e7)]('EscapeFail');},BattleManager[_0x208a24(0x7ed)]=function(){const _0x1eabcf=_0x208a24;let _0xf61015=![];if(this[_0x1eabcf(0xa5e)]())for(const _0x4ad80b of $gameTroop['enemyNames']()){this[_0x1eabcf(0x46b)][_0x1eabcf(0x7c3)](_0x1eabcf(0x9a1),TextManager[_0x1eabcf(0x53a)][_0x1eabcf(0x75a)](_0x4ad80b)),this[_0x1eabcf(0x46b)][_0x1eabcf(0x7c3)](_0x1eabcf(0xac0)),_0xf61015=!![];}if(this['_preemptive'])_0x1eabcf(0x42f)!==_0x1eabcf(0x42f)?this[_0x1eabcf(0xbd6)]='default':(this[_0x1eabcf(0x46b)][_0x1eabcf(0x7c3)](_0x1eabcf(0x9a1),TextManager[_0x1eabcf(0xc3e)]['format']($gameParty[_0x1eabcf(0x278)]())),this[_0x1eabcf(0x46b)]['push']('wait'));else this[_0x1eabcf(0xd4c)]&&(this['_logWindow'][_0x1eabcf(0x7c3)](_0x1eabcf(0x9a1),TextManager[_0x1eabcf(0x311)][_0x1eabcf(0x75a)]($gameParty[_0x1eabcf(0x278)]())),this[_0x1eabcf(0x46b)][_0x1eabcf(0x7c3)](_0x1eabcf(0xac0)));_0xf61015&&(this[_0x1eabcf(0x46b)][_0x1eabcf(0x7c3)](_0x1eabcf(0xac0)),this[_0x1eabcf(0x46b)]['push'](_0x1eabcf(0xb03)));if(this['isTpb']()&&this[_0x1eabcf(0x38a)]()){if(_0x1eabcf(0x2f6)===_0x1eabcf(0xc04)){_0x5fcba8['prototype'][_0x1eabcf(0xef)][_0x1eabcf(0x783)](this);const _0x3c509f=this['_actor'][_0x1eabcf(0xb1b)]();this[_0x1eabcf(0x50d)]!==_0x3c509f&&(this[_0x1eabcf(0x50d)]=_0x3c509f,this[_0x1eabcf(0x666)]['bitmap']=_0x5ab85c['loadSvActor'](_0x3c509f)),this[_0x1eabcf(0x666)]&&this[_0x1eabcf(0x666)]['bitmap']&&this[_0x1eabcf(0xa4c)]&&(this[_0x1eabcf(0x666)][_0x1eabcf(0x63f)][_0x1eabcf(0xfe)]!==this['_battler'][_0x1eabcf(0xb2f)]()&&(this['_mainSprite'][_0x1eabcf(0x63f)][_0x1eabcf(0xfe)]=this[_0x1eabcf(0xa4c)][_0x1eabcf(0xb2f)]()));}else this['_tpbNeedsPartyCommand']=![];}},BattleManager[_0x208a24(0xa5e)]=function(){const _0x31a912=_0x208a24;if(BattleManager[_0x31a912(0x29c)])return![];return VisuMZ[_0x31a912(0x759)][_0x31a912(0xc39)][_0x31a912(0x6bd)][_0x31a912(0x541)];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x1e8)]=BattleManager[_0x208a24(0xb4b)],BattleManager[_0x208a24(0xb4b)]=function(){const _0x435803=_0x208a24;VisuMZ[_0x435803(0x759)][_0x435803(0x1e8)][_0x435803(0x783)](this),this[_0x435803(0xb99)]()&&this['isSkipPartyCommandWindow']()&&!this[_0x435803(0xd4c)]&&$gameParty[_0x435803(0x154)]()&&this[_0x435803(0xcf2)]();},BattleManager['isSkipPartyCommandWindow']=function(){const _0x45a179=_0x208a24;return VisuMZ[_0x45a179(0x759)][_0x45a179(0xc39)]['PartyCmd']['SkipPartyCmd'];},BattleManager[_0x208a24(0x931)]=function(){const _0x34308d=_0x208a24;this[_0x34308d(0x1ea)]()&&this[_0x34308d(0xcf2)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xb02)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x5f9)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x5f9)]=function(){const _0x4ee33c=_0x208a24;VisuMZ[_0x4ee33c(0x759)]['Scene_Battle_startActorCommandSelection'][_0x4ee33c(0x783)](this),BattleManager[_0x4ee33c(0xd25)]()&&BattleManager['_tpbNeedsPartyCommand']&&(_0x4ee33c(0x943)!=='GLGfr'?_0x48a588[_0x4ee33c(0x759)][_0x4ee33c(0x1b7)][_0x4ee33c(0x783)](this):(BattleManager[_0x4ee33c(0xc8b)]=![],this[_0x4ee33c(0x2fc)]()));},BattleManager[_0x208a24(0x9ae)]=function(_0x5d561f,_0x1940a9,_0x534c63){const _0x5c81ab=_0x208a24;if(!_0x534c63)return;if(!_0x5d561f)return;if(!_0x1940a9)return;const _0x10a236=this['_action'];this[_0x5c81ab(0x8fb)]=new Game_Action(_0x5d561f);if(DataManager[_0x5c81ab(0x6f3)](_0x534c63))this[_0x5c81ab(0x8fb)][_0x5c81ab(0x5ca)](_0x534c63['id']);if(DataManager[_0x5c81ab(0x269)](_0x534c63))this[_0x5c81ab(0x8fb)][_0x5c81ab(0x3f2)](_0x534c63['id']);if(this['_action'][_0x5c81ab(0x8bb)]())BattleManager[_0x5c81ab(0x9d7)](_0x5d561f,_0x1940a9);this[_0x5c81ab(0x8fb)]=_0x10a236;},BattleManager[_0x208a24(0xd0)]=function(_0x8e3652,_0xb44414){const _0x226d67=_0x208a24;this[_0x226d67(0x8fb)]['_reflectionTarget']=_0xb44414,this[_0x226d67(0x46b)][_0x226d67(0x6c5)](_0xb44414),this['_logWindow'][_0x226d67(0x73e)](_0x8e3652,this[_0x226d67(0x8fb)]),this['_action'][_0x226d67(0xa56)](_0x8e3652),this[_0x226d67(0x46b)]['displayActionResults'](_0x8e3652,_0x8e3652);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x877)]=BattleManager[_0x208a24(0x627)],BattleManager[_0x208a24(0x627)]=function(){const _0x3eb67c=_0x208a24;VisuMZ['BattleCore']['BattleManager_makeActionOrders']['call'](this),this[_0x3eb67c(0x8ab)]=this[_0x3eb67c(0x8ab)][_0x3eb67c(0x5a8)](_0x5bc26c=>_0x5bc26c&&_0x5bc26c[_0x3eb67c(0x937)]());},VisuMZ[_0x208a24(0x759)][_0x208a24(0x729)]=BattleManager[_0x208a24(0xbd2)],BattleManager[_0x208a24(0xbd2)]=function(_0x4614f0){const _0x2b68d2=_0x208a24;if(this[_0x2b68d2(0x558)]==='custom')this[_0x2b68d2(0x416)]();else{if(this['_phase']===_0x2b68d2(0x2be)){if(_0x2b68d2(0xaa6)!==_0x2b68d2(0x2ef))this[_0x2b68d2(0xd33)]();else{if(this[_0x2b68d2(0x569)][_0x2b68d2(0x92b)](_0x461b67=>_0x461b67[_0x2b68d2(0x8bb)]()&&_0x461b67[_0x2b68d2(0x4d5)]()))return!![];}}else VisuMZ['BattleCore'][_0x2b68d2(0x729)]['call'](this,_0x4614f0);}},BattleManager[_0x208a24(0x91e)]=function(){const _0x281521=_0x208a24;this[_0x281521(0xaea)]=this[_0x281521(0x3e1)][_0x281521(0xa3f)](0x0),this['_targetIndex']=0x0,this[_0x281521(0x29a)]=this[_0x281521(0xaea)][0x0]||null,this[_0x281521(0x558)]=_0x281521(0x6ef);},BattleManager[_0x208a24(0x416)]=function(){const _0x211cff=_0x208a24;if(!this[_0x211cff(0x166)]()&&!this['_logWindow']['isBusy']()){if('brbCt'===_0x211cff(0xcb8))this[_0x211cff(0x558)]=_0x211cff(0x590);else return this[_0x211cff(0xa7b)]()&&this[_0x211cff(0xa7b)]()[_0x211cff(0x8bb)]()&&this[_0x211cff(0xa7b)]()[_0x211cff(0xcd9)]();}},BattleManager[_0x208a24(0x2be)]=function(_0x550e98){const _0x441856=_0x208a24;this[_0x441856(0x8ab)][_0x441856(0x44b)](_0x550e98);if(_0x550e98===this['_subject'])return;const _0x58ea71=JsonEx[_0x441856(0x2bb)](_0x550e98[_0x441856(0xa7b)]());this[_0x441856(0xb9)][_0x441856(0x7c3)]([_0x550e98,_0x58ea71]);},BattleManager[_0x208a24(0x53f)]=function(){},BattleManager[_0x208a24(0x1b9)]=function(){const _0x3d707f=_0x208a24;if(this[_0x3d707f(0xd25)]())this[_0x3d707f(0x558)]='turn';else{if(this[_0x3d707f(0xb9)][_0x3d707f(0x1ba)]>0x0)_0x3d707f(0x7aa)!==_0x3d707f(0x669)?this[_0x3d707f(0x558)]=_0x3d707f(0x6d6):this[_0x3d707f(0x3b3)]=this[_0x3d707f(0x80b)]();else{if('hSYoM'!==_0x3d707f(0xb0e)){const _0x49dc25=this[_0x3d707f(0xa1e)],_0x266d52=_0x5787cb['windowPadding'](),_0x47ad54=_0xfd4c3c['x']+_0xd05ec1[_0x3d707f(0x479)](_0x1e5fcb[_0x3d707f(0x4fe)]/0x2)+_0x266d52;_0x49dc25['x']=_0x49dc25[_0x3d707f(0x4fe)]/-0x2+_0x47ad54,_0x49dc25['y']=_0x3f973d[_0x3d707f(0x479)](_0x4e91f2[_0x3d707f(0x1fa)]/0x2);}else this[_0x3d707f(0xb4b)]();}}},BattleManager['getNextSubject']=function(){const _0x1f6007=_0x208a24,_0x10fdf0=this[_0x1f6007(0x64d)];_0x10fdf0&&this['isTpb']()&&_0x10fdf0[_0x1f6007(0xc5b)]('undecided');for(;;){const _0x28a252=this[_0x1f6007(0x990)]();if(!_0x28a252){if('SQWyC'!=='SQWyC')this['opacity']=0x0;else return null;}if(_0x28a252[_0x1f6007(0xa87)]()&&_0x28a252[_0x1f6007(0x97c)]()){if('lUbqs'===_0x1f6007(0xa31))return _0x28a252;else _0x45dc29=_0x34f85b>=_0x321e55?_0x16be45:_0x5e8a5e;}}},BattleManager['getNextSubjectFromPool']=function(){const _0x3c1452=_0x208a24;if(this[_0x3c1452(0xb9)]['length']>0x0){if(_0x3c1452(0xc26)!==_0x3c1452(0x258)){const _0xbb9742=this[_0x3c1452(0xb9)][_0x3c1452(0xd23)](),_0x6774c6=_0xbb9742[0x0];return _0x6774c6['_actions']=_0x6774c6[_0x3c1452(0x569)]||[],_0x6774c6['_actions'][0x0]=_0xbb9742[0x1],_0x6774c6;}else _0x521901[_0x3c1452(0x759)][_0x3c1452(0xaf)][_0x3c1452(0x783)](this),this[_0x3c1452(0x41c)]();}else{if(_0x3c1452(0xc57)!=='UbqMC')return this[_0x3c1452(0x8ab)][_0x3c1452(0xd23)]();else _0x4439a2+=_0x39a86b[_0x3c1452(0x9bf)]()?-_0x233fc8:_0x54e9b2,_0x44a5da+=_0x82b1c5;}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x2c1)]=Game_Battler['prototype']['forceAction'],Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x2be)]=function(_0x1c70b2,_0x347c61){const _0x3f6914=_0x208a24;VisuMZ[_0x3f6914(0x759)][_0x3f6914(0x2c1)][_0x3f6914(0x783)](this,_0x1c70b2,_0x347c61),this[_0x3f6914(0x569)][this[_0x3f6914(0x569)][_0x3f6914(0x1ba)]-0x1][_0x3f6914(0x2c4)]=!![];},Game_Interpreter['prototype'][_0x208a24(0xcc9)]=function(_0x17e57e){const _0x57328b=_0x208a24;return this[_0x57328b(0xb41)](_0x17e57e[0x0],_0x17e57e[0x1],_0x335104=>{const _0x229451=_0x57328b;_0x229451(0x5d6)===_0x229451(0x5d6)?!_0x335104[_0x229451(0xc47)]()&&(_0x335104[_0x229451(0x2be)](_0x17e57e[0x2],_0x17e57e[0x3]),BattleManager[_0x229451(0x2be)](_0x335104)):(this[_0x229451(0x7c3)](_0x229451(0x3f6),_0x5b0107,_0x2ea611),this[_0x229451(0x7c3)](_0x229451(0xd59),_0x480991[_0x229451(0xa73)]),this[_0x229451(0x7c3)]('showAnimation',_0x1108f1,_0x50e696['clone'](),_0x51bcbc[_0x229451(0x465)]),this[_0x229451(0x7c3)]('waitForAnimation'));}),!![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x22a)]=Game_Battler['prototype'][_0x208a24(0x2dd)],Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x2dd)]=function(){const _0x854d5c=_0x208a24;VisuMZ[_0x854d5c(0x759)][_0x854d5c(0x22a)][_0x854d5c(0x783)](this),this[_0x854d5c(0x569)][_0x854d5c(0x1ba)]<=0x0&&(this['_speed']=Number['MIN_SAFE_INTEGER']);},BattleManager[_0x208a24(0xb05)]=function(){const _0xee05d2=_0x208a24;if(VisuMZ[_0xee05d2(0x759)][_0xee05d2(0xc39)][_0xee05d2(0x7a9)]['EndBattlePopups']??!![])return![];return SceneManager[_0xee05d2(0x8c3)]()&&this[_0xee05d2(0x8f0)];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x113)]=BattleManager[_0x208a24(0xcf2)],BattleManager[_0x208a24(0xcf2)]=function(){const _0x253dbe=_0x208a24;if(this[_0x253dbe(0xd25)]())this[_0x253dbe(0x376)]();else{if(_0x253dbe(0x587)!==_0x253dbe(0x587))return this[_0x253dbe(0x54d)];else VisuMZ[_0x253dbe(0x759)][_0x253dbe(0x113)][_0x253dbe(0x783)](this);}},BattleManager[_0x208a24(0x376)]=function(){const _0x3c301f=_0x208a24;if(this[_0x3c301f(0x21e)]){if(_0x3c301f(0x43d)!=='oDaSb'){const _0x4e044c=_0x102ed4[_0x3c301f(0xd08)]();this[_0x3c301f(0x7c3)](_0x3c301f(0x718),[_0x58eaa9],_0x45bf35,_0xefcb6b),this[_0x3c301f(0x7c3)](_0x3c301f(0x5c8),_0x583989,_0x4e044c[_0x3c301f(0xd02)],_0x4e044c[_0x3c301f(0x66c)],_0x17d439,![],_0x3c301f(0xc0e)),this[_0x3c301f(0x7c3)](_0x3c301f(0x90c),[_0x2a1a90],_0x3c301f(0x8a1)),this['push']('waitForMovement'),this['push'](_0x3c301f(0x90c),[_0x1b6132],'walk');}else{if(this['_currentActor']['selectNextCommand']()){if(_0x3c301f(0x8c8)===_0x3c301f(0xa4a))return _0x55bc50['name'];else return;}this['finishActorInput'](),this[_0x3c301f(0x932)](),!this[_0x3c301f(0x64d)]&&!this['_currentActor']&&SceneManager[_0x3c301f(0xc1b)][_0x3c301f(0x59c)]();}}else!this[_0x3c301f(0x64d)]&&this['selectNextActor']();},BattleManager[_0x208a24(0x932)]=function(){const _0x191835=_0x208a24;if(!this[_0x191835(0x1ea)]()||this['needsActorInputCancel']()){if(_0x191835(0x54c)===_0x191835(0x54c))this[_0x191835(0x789)]&&(!$gameParty[_0x191835(0x3d9)]()['includes'](this[_0x191835(0x789)])&&(this[_0x191835(0x789)]=null)),!this[_0x191835(0x789)]?(this['cancelActorInput'](),this['_currentActor']=null,this[_0x191835(0x4bf)]=![]):this[_0x191835(0x9bd)]();else{if(!_0x17c2fb[_0x191835(0x620)]())return![];return![];}}},BattleManager[_0x208a24(0x9bd)]=function(){const _0x217d88=_0x208a24;!$gameParty[_0x217d88(0x3d9)]()[_0x217d88(0xcaf)](this['_tpbSceneChangeCacheActor'])&&(_0x217d88(0x93e)!==_0x217d88(0x77d)?this['_tpbSceneChangeCacheActor']=null:this[_0x217d88(0xbc4)]=_0x217d88(0x914)),this[_0x217d88(0x789)]?(this[_0x217d88(0x21e)]=this[_0x217d88(0x789)],this[_0x217d88(0x21e)]['_tpbState']=_0x217d88(0xafb),this[_0x217d88(0x4bf)]=!![],this[_0x217d88(0x789)]=null):(this['cancelActorInput'](),this[_0x217d88(0x21e)]=null,this['_inputting']=![]);},VisuMZ['BattleCore'][_0x208a24(0xa90)]=BattleManager[_0x208a24(0xc40)],BattleManager[_0x208a24(0xc40)]=function(){const _0x491c43=_0x208a24;return this[_0x491c43(0x558)]===_0x491c43(0x6ef)?this[_0x491c43(0x21a)]():VisuMZ[_0x491c43(0x759)][_0x491c43(0xa90)][_0x491c43(0x783)](this);},BattleManager[_0x208a24(0x21a)]=function(){const _0x357e50=_0x208a24;return this[_0x357e50(0x3c0)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x812)]=BattleManager[_0x208a24(0xc01)],BattleManager[_0x208a24(0xc01)]=function(){const _0x598824=_0x208a24;if(this[_0x598824(0xd25)]()&&this[_0x598824(0x558)]==='battleEnd'){if('smCZJ'===_0x598824(0x20b)){const _0x775891=this['item'](),_0x37376e=_0x775891[_0x598824(0xae4)][_0x598824(0x2f1)];_0x775891[_0x598824(0xae4)][_0x598824(0x2f1)]=this[_0x598824(0xa21)];let _0x21f0b4=_0x27d2b9[_0x598824(0x759)][_0x598824(0xb37)]['call'](this,_0x233edb);return _0x775891['damage']['formula']=_0x37376e,_0x21f0b4;}else this[_0x598824(0x21e)]=null;}VisuMZ[_0x598824(0x759)][_0x598824(0x812)]['call'](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x475)]=BattleManager['inputtingAction'],BattleManager[_0x208a24(0x53e)]=function(){const _0xf6dc03=_0x208a24,_0x3bb18b=this[_0xf6dc03(0x21e)];if(_0x3bb18b&&!_0x3bb18b['inputtingAction']()){const _0x40f130=_0x3bb18b[_0xf6dc03(0xb80)];_0x3bb18b[_0xf6dc03(0x569)][_0x40f130]=new Game_Action(_0x3bb18b);}return VisuMZ[_0xf6dc03(0x759)][_0xf6dc03(0x475)]['call'](this);},VisuMZ[_0x208a24(0x759)]['BattleManager_checkSubstitute']=BattleManager[_0x208a24(0x212)],BattleManager[_0x208a24(0x212)]=function(_0x56f6a8){const _0x55e5e2=_0x208a24;if(this[_0x55e5e2(0x8fb)][_0x55e5e2(0x121)]())return![];return VisuMZ[_0x55e5e2(0x759)][_0x55e5e2(0x8a5)]['call'](this,_0x56f6a8);},SceneManager[_0x208a24(0x8c3)]=function(){const _0x7713ed=_0x208a24;return this[_0x7713ed(0xc1b)]&&this[_0x7713ed(0xc1b)]['constructor']===Scene_Battle;},SceneManager[_0x208a24(0x76f)]=function(){const _0x387413=_0x208a24;return Spriteset_Battle[_0x387413(0xbd8)][_0x387413(0x1db)]();},SceneManager[_0x208a24(0x394)]=function(){const _0x14502d=_0x208a24;if(SceneManager[_0x14502d(0x159)](Scene_Options))return!![];return![];},SceneManager[_0x208a24(0x8b7)]=function(){if(SceneManager['isNextScene'](Scene_Options))return!![];return![];},SceneManager[_0x208a24(0x2c0)]=function(_0x1d1ab3){const _0x234fb8=_0x208a24;if(!SceneManager[_0x234fb8(0x8c3)]())return!![];const _0x2166f0=[_0x234fb8(0x4ae),'Scene_Party'];return _0x2166f0[_0x234fb8(0xcaf)](_0x1d1ab3[_0x234fb8(0x278)]);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x1d1)]=SceneManager[_0x208a24(0x7c3)],SceneManager[_0x208a24(0x7c3)]=function(_0x235b56){const _0x4e6eb5=_0x208a24;if(!SceneManager[_0x4e6eb5(0x2c0)](_0x235b56))return this[_0x4e6eb5(0xca2)](_0x235b56);VisuMZ[_0x4e6eb5(0x759)]['SceneManager_push'][_0x4e6eb5(0x783)](this,_0x235b56);},SceneManager['displayBattleCoreTransitionErrorMsg']=function(_0x36dbe9){const _0x427b87=_0x208a24;if(!$gameTemp['isPlaytest']())return;if(this[_0x427b87(0x66f)])return;this[_0x427b87(0x66f)]=!![];let _0x521409='';_0x521409+=_0x427b87(0x613),_0x521409+='\x20to\x20%1\x20midbattle.'[_0x427b87(0x75a)](_0x36dbe9[_0x427b87(0x278)]),alert(_0x521409);},VisuMZ['BattleCore'][_0x208a24(0xa93)]=Game_Temp['prototype'][_0x208a24(0x3bf)],Game_Temp[_0x208a24(0xbd8)][_0x208a24(0x3bf)]=function(){const _0xe14527=_0x208a24;VisuMZ['BattleCore']['Game_Temp_initialize'][_0xe14527(0x783)](this),this['_battleBalloonQueue']=[];},VisuMZ['BattleCore'][_0x208a24(0x10b)]=Game_Temp[_0x208a24(0xbd8)][_0x208a24(0x2d8)],Game_Temp[_0x208a24(0xbd8)][_0x208a24(0x2d8)]=function(_0x150310,_0x8d6503,_0x2a976c){const _0x4ba818=_0x208a24;_0x150310=_0x150310[_0x4ba818(0x5a8)]((_0x2cef2d,_0x4148b8,_0x1dedd0)=>_0x1dedd0[_0x4ba818(0x6d1)](_0x2cef2d)===_0x4148b8),SceneManager[_0x4ba818(0x8c3)]()&&SceneManager['isBattleFlipped']()&&(_0x2a976c=!_0x2a976c),VisuMZ[_0x4ba818(0x759)]['Game_Temp_requestAnimation'][_0x4ba818(0x783)](this,_0x150310,_0x8d6503,_0x2a976c),SceneManager['isSceneBattle']()&&BattleManager[_0x4ba818(0xa85)][_0x4ba818(0x93d)]();},Game_Temp[_0x208a24(0xbd8)][_0x208a24(0xbe0)]=function(_0x2afb2b){const _0x45af4f=_0x208a24;this[_0x45af4f(0xab7)]=_0x2afb2b;},Game_Temp[_0x208a24(0xbd8)][_0x208a24(0xcc)]=function(){const _0xf19d50=_0x208a24;return this[_0xf19d50(0xab7)];},Game_Temp[_0x208a24(0xbd8)][_0x208a24(0x4f0)]=function(){const _0x449211=_0x208a24;this[_0x449211(0xbc4)]=undefined;},Game_Temp['prototype'][_0x208a24(0x2e4)]=function(_0x90d398){const _0x7f801a=_0x208a24;if($gameMap&&$dataMap&&$dataMap[_0x7f801a(0x6c4)]){if(_0x7f801a(0x9aa)===_0x7f801a(0x9aa))this['parseForcedGameTroopSettingsBattleCore']($dataMap['note']);else{const _0x1e6a65=_0xd4b34c[_0x7f801a(0x178)]();_0x2f4bed[_0x7f801a(0x759)][_0x7f801a(0x637)][_0x7f801a(0x783)](this);if(_0x1e6a65){if(_0x1e6a65===_0x5ce7a5[_0x7f801a(0x178)]())return;if(_0x1e6a65===_0x23f799[_0x7f801a(0x64d)])return;if(_0x1e6a65['battler']())_0x1e6a65['battler']()[_0x7f801a(0x642)]();}}}const _0x4129c8=$dataTroops[_0x90d398];if(_0x4129c8){if(_0x7f801a(0x77e)!=='ZsxOV'){let _0x3b042d=DataManager[_0x7f801a(0x582)](_0x4129c8['id']);this[_0x7f801a(0x92f)](_0x3b042d);}else _0x5b5ff0[_0x7f801a(0x436)](_0x11b5dd[_0x7f801a(0x2fe)]);}},Game_Temp['prototype'][_0x208a24(0x92f)]=function(_0x4e10e4){const _0x1e9443=_0x208a24;if(!_0x4e10e4)return;if(_0x4e10e4[_0x1e9443(0x7fc)](/<(?:BATTLELAYOUT|BATTLE LAYOUT|LAYOUT):[ ](.*?)>/i)){if(_0x1e9443(0xba1)!==_0x1e9443(0x79b)){const _0x2a475b=String(RegExp['$1']);if(_0x2a475b[_0x1e9443(0x7fc)](/DEFAULT/i))_0x1e9443(0xa40)!==_0x1e9443(0xa40)?(_0x575f5e['BattleCore'][_0x1e9443(0x3da)][_0x1e9443(0x783)](this),this[_0x1e9443(0x666)]&&this['_mainSprite']['bitmap']&&this[_0x1e9443(0xa4c)]&&(this[_0x1e9443(0x666)][_0x1e9443(0x63f)]['smooth']!==this[_0x1e9443(0xa4c)][_0x1e9443(0xb2f)]()&&(this['_mainSprite'][_0x1e9443(0x63f)][_0x1e9443(0xfe)]=this['_battler'][_0x1e9443(0xb2f)]()))):this[_0x1e9443(0xbc4)]=_0x1e9443(0x914);else{if(_0x2a475b['match'](/LIST/i))_0x1e9443(0x9f7)!==_0x1e9443(0x9f7)?this[_0x1e9443(0x8d9)]=(this[_0x1e9443(0x8d9)]*(_0x23072f-0x1)+this[_0x1e9443(0xbad)])/_0xca9ac1:this[_0x1e9443(0xbc4)]=_0x1e9443(0x38d);else{if(_0x2a475b[_0x1e9443(0x7fc)](/XP/i))_0x1e9443(0x680)===_0x1e9443(0x680)?this[_0x1e9443(0xbc4)]='xp':(_0x56d11c[_0x1e9443(0x759)][_0x1e9443(0xa33)][_0x1e9443(0x783)](this),this[_0x1e9443(0x519)]());else{if(_0x2a475b[_0x1e9443(0x7fc)](/PORTRAIT/i))this['_forcedBattleLayout']=_0x1e9443(0x372);else{if(_0x2a475b[_0x1e9443(0x7fc)](/BORDER/i))this[_0x1e9443(0xbc4)]='border';else{if(_0x2a475b[_0x1e9443(0x7fc)](/(?:SIDEVIEW UI|SIDEVIEW)/i)){if(Imported['VisuMZ_3_SideviewBattleUI'])this[_0x1e9443(0xbc4)]=_0x1e9443(0x66d);else{if(_0x1e9443(0x76b)!==_0x1e9443(0x366))this[_0x1e9443(0xbc4)]=_0x1e9443(0x914);else{const _0x23a1af=_0x4bfbe9[0x0][_0x1e9443(0x75a)](_0x44c57a[0x0]),_0x3ee564=_0x122da3[0x1][_0x1e9443(0x75a)](_0x1bd3f[0x1]),_0xe6fac3=new _0x1afc05(_0x19e29e[_0x1e9443(0x75a)](_0x3ee564),'i');_0x2725da[_0x23a1af]=_0xe6fac3;}}}else _0x2a475b[_0x1e9443(0x7fc)](/(?:FRONTVIEW UI|FRONTVIEW)/i)&&(Imported['VisuMZ_3_FrontviewBattleUI']?this[_0x1e9443(0xbc4)]=_0x1e9443(0xa5f):this[_0x1e9443(0xbc4)]='default');}}}}}}else _0x336d6c=_0x414be3['BattleCore'][_0x1e9443(0x3b4)]['call'](this);}},VisuMZ[_0x208a24(0x759)][_0x208a24(0xa80)]=Game_Temp[_0x208a24(0xbd8)][_0x208a24(0xc32)],Game_Temp['prototype'][_0x208a24(0xc32)]=function(_0x1ad3f6,_0x34c887){const _0x16d934=_0x208a24;SceneManager[_0x16d934(0x8c3)]()?this[_0x16d934(0x752)](_0x1ad3f6,_0x34c887):VisuMZ[_0x16d934(0x759)]['Game_Temp_requestBalloon'][_0x16d934(0x783)](this,_0x1ad3f6,_0x34c887);},Game_Temp['prototype'][_0x208a24(0x752)]=function(_0x25a6b7,_0x2f2caa){const _0x4ccaa5=_0x208a24,_0x57fd5b={'target':_0x25a6b7,'balloonId':_0x2f2caa};this[_0x4ccaa5(0x1e4)]=this[_0x4ccaa5(0x1e4)]||[],this[_0x4ccaa5(0x1e4)][_0x4ccaa5(0x7c3)](_0x57fd5b);},Game_Temp['prototype'][_0x208a24(0x946)]=function(){const _0x4c37ea=_0x208a24;return this[_0x4c37ea(0x1e4)]=this[_0x4c37ea(0x1e4)]||[],this[_0x4c37ea(0x1e4)][_0x4c37ea(0xd23)]();},Game_Temp[_0x208a24(0xbd8)][_0x208a24(0x691)]=function(){const _0x5e417e=_0x208a24;this[_0x5e417e(0x1e4)]=[];},Spriteset_Battle['prototype']['updateBattleBalloons']=function(){const _0x52c1b7=_0x208a24;this[_0x52c1b7(0x277)]===undefined&&(this[_0x52c1b7(0x277)]=[]);for(const _0x2aa721 of this[_0x52c1b7(0x277)]){!_0x2aa721['isPlaying']()&&this['removeBattleBalloon'](_0x2aa721);}this['processBattleBalloonRequests']();},Spriteset_Battle[_0x208a24(0xbd8)]['processBattleBalloonRequests']=function(){const _0xfff239=_0x208a24;for(;;){const _0x58a62a=$gameTemp[_0xfff239(0x946)]();if(_0x58a62a){if(_0xfff239(0x44f)!==_0xfff239(0x44f)){if(!_0x2080a4[_0xfff239(0x8c3)]())return;if(!_0x4d6ecd[_0xfff239(0xa2a)])return;_0x26c444[_0xfff239(0x1e1)]=!![];}else this[_0xfff239(0x161)](_0x58a62a);}else break;}},Spriteset_Battle[_0x208a24(0xbd8)]['createBattleBalloon']=function(_0x362a81){const _0x28f934=_0x208a24,_0x4a4935=this['findTargetSprite'](_0x362a81[_0x28f934(0x6b3)]);if(_0x4a4935){if('tefWb'!==_0x28f934(0x798)){let _0x24c2d8=null;if(Imported['VisuMZ_4_IconBalloons']&&Array['isArray'](_0x362a81[_0x28f934(0x8fc)])){if(_0x28f934(0xb8)!==_0x28f934(0x5e6))_0x24c2d8=new Sprite_IconBalloon();else{if(!this[_0x28f934(0x7d2)]())return;if(!this['_distortionSprite'])return;if(this[_0x28f934(0xd3a)]===_0x1efed4&&this[_0x28f934(0xaed)]===_0x5e8bd9)return;this['_targetGrowX']=_0x1e6835,this[_0x28f934(0xaed)]=_0x4b4fc6,this['_growDuration']=_0x549e74,this[_0x28f934(0x494)]=_0x4ece75,this[_0x28f934(0x83c)]=_0x581e7b||_0x28f934(0xc0e),_0x186051<=0x0&&(this[_0x28f934(0x765)]=this[_0x28f934(0xd3a)],this['_growY']=this[_0x28f934(0xaed)]);}}else{if(_0x28f934(0x341)!=='KugJm'){if(_0x3ee7b7['createKeyJS'])return _0x433ff8[_0x28f934(0x362)](_0xd95231,_0x4b9854);let _0x5a2f04='';if(_0x24d347[_0x28f934(0xcaf)](_0x19733e))_0x5a2f04='Actor-%1-%2'['format'](_0x3ccd22['id'],_0x4b1f53);if(_0x3f4762['includes'](_0x53b6ec))_0x5a2f04='Class-%1-%2'['format'](_0x419061['id'],_0x5306a8);if(_0x1ace16['includes'](_0x24cdb6))_0x5a2f04=_0x28f934(0x3db)[_0x28f934(0x75a)](_0x4bbe4d['id'],_0x52ed6b);if(_0x2b4f4b[_0x28f934(0xcaf)](_0x31afca))_0x5a2f04=_0x28f934(0xa3e)[_0x28f934(0x75a)](_0x2cef41['id'],_0x2547f9);if(_0x2eaa7d[_0x28f934(0xcaf)](_0x5a8976))_0x5a2f04='Weapon-%1-%2'[_0x28f934(0x75a)](_0x5f385b['id'],_0xc5fac0);if(_0x52f3fa[_0x28f934(0xcaf)](_0x5575ff))_0x5a2f04=_0x28f934(0xacd)['format'](_0x1d858f['id'],_0x57d882);if(_0x2a864b['includes'](_0x403ad8))_0x5a2f04=_0x28f934(0xa06)[_0x28f934(0x75a)](_0x2d2b67['id'],_0x14df08);if(_0x2f6ff0['includes'](_0x28d77d))_0x5a2f04=_0x28f934(0x7b8)[_0x28f934(0x75a)](_0x250a2b['id'],_0x33e4a8);return _0x5a2f04;}else _0x24c2d8=new Sprite_Balloon();}_0x24c2d8[_0x28f934(0x801)]=_0x362a81[_0x28f934(0x6b3)],_0x24c2d8['_target']=_0x4a4935,_0x24c2d8[_0x28f934(0x29a)][_0x28f934(0x855)]=_0x4a4935,_0x24c2d8[_0x28f934(0x876)](_0x4a4935,_0x362a81[_0x28f934(0x8fc)]),BattleManager[_0x28f934(0x1ff)](_0x24c2d8),this[_0x28f934(0x277)]['push'](_0x24c2d8);}else _0x303a82=_0x47b233[_0x28f934(0x8bb)]()['id'];}},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x8ff)]=function(_0x5c37f2){const _0x52213d=_0x208a24;this['_battleBalloonSprites'][_0x52213d(0x44b)](_0x5c37f2),BattleManager[_0x52213d(0xbf0)](_0x5c37f2),_0x5c37f2['destroy']();},Sprite_Battler[_0x208a24(0xbd8)]['setBalloonPose']=function(_0x2658a1,_0x2932a8){},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x25f)]=function(){return![];},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x63d)]=function(){const _0x292c3a=_0x208a24;return this[_0x292c3a(0x277)]=this[_0x292c3a(0x277)]||[],this[_0x292c3a(0x277)][_0x292c3a(0x1ba)]>0x0;},VisuMZ[_0x208a24(0x759)][_0x208a24(0xb49)]=Game_System[_0x208a24(0xbd8)][_0x208a24(0x3bf)],Game_System['prototype']['initialize']=function(){const _0x2db272=_0x208a24;VisuMZ[_0x2db272(0x759)][_0x2db272(0xb49)][_0x2db272(0x783)](this),this[_0x2db272(0x17f)]();},Game_System[_0x208a24(0xbd8)][_0x208a24(0x17f)]=function(){const _0x391110=_0x208a24;this[_0x391110(0x737)]=this[_0x391110(0x737)]||[];},Game_System[_0x208a24(0xbd8)][_0x208a24(0x173)]=function(){const _0x24ce77=_0x208a24;if(this[_0x24ce77(0x737)]===undefined)this[_0x24ce77(0x17f)]();return this[_0x24ce77(0x737)];},Game_System[_0x208a24(0xbd8)][_0x208a24(0x52b)]=function(_0x499b27){const _0x46cb0c=_0x208a24;if(this[_0x46cb0c(0x737)]===undefined)this[_0x46cb0c(0x17f)]();if(!_0x499b27)return;if(this[_0x46cb0c(0x737)]['includes'](_0x499b27))return;this['_defeatedEnemies'][_0x46cb0c(0x7c3)](_0x499b27),this['_defeatedEnemies'][_0x46cb0c(0xc80)]((_0x4a551a,_0x5317ea)=>_0x4a551a-_0x5317ea);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x632)]=Game_BattlerBase['prototype'][_0x208a24(0x3c2)],Game_BattlerBase[_0x208a24(0xbd8)]['addNewState']=function(_0x55673e){const _0x5c5ebe=_0x208a24,_0x1b2d8d=this['isAlive'](),_0x131e3e=this[_0x5c5ebe(0xa6a)]();VisuMZ[_0x5c5ebe(0x759)]['Game_BattlerBase_addNewState']['call'](this,_0x55673e),this[_0x5c5ebe(0x27a)]()&&_0x1b2d8d&&this[_0x5c5ebe(0x248)]()&&(this[_0x5c5ebe(0x2ce)]=!this[_0x5c5ebe(0xae1)](),$gameSystem['registerDefeatedEnemy'](this[_0x5c5ebe(0xb09)]())),SceneManager[_0x5c5ebe(0x8c3)]()&&_0x131e3e!==this['stateMotionIndex']()&&(this['battler']()&&this[_0x5c5ebe(0xd08)]()[_0x5c5ebe(0x4a2)]());},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0xae1)]=function(){const _0xf37624=_0x208a24;return $gameSystem[_0xf37624(0x173)]()[_0xf37624(0xcaf)](this[_0xf37624(0xc2b)]);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x52a)]=Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x4fa)],Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x4fa)]=function(_0x27aa9e){const _0x346936=_0x208a24;VisuMZ[_0x346936(0x759)][_0x346936(0x52a)][_0x346936(0x783)](this,_0x27aa9e),this[_0x346936(0x27a)]()&&_0x27aa9e===this[_0x346936(0xcb5)]()&&this['isAlive']()&&(this[_0x346936(0x2ce)]=![]),!this['_tempActor']&&!this['_tempBattler']&&SceneManager[_0x346936(0x8c3)]()&&(_0x346936(0x9be)===_0x346936(0x2b5)?(_0x42f672+=_0xf738d7[_0x346936(0x9bf)]()?-_0x52e266:_0x4d517c,_0x25bdab+=_0x97d7ec):this['requestMotionRefresh']());},VisuMZ[_0x208a24(0x759)][_0x208a24(0x109)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0xb03)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0xb03)]=function(){const _0x2fd0c3=_0x208a24;VisuMZ[_0x2fd0c3(0x759)][_0x2fd0c3(0x109)][_0x2fd0c3(0x783)](this),this[_0x2fd0c3(0x56b)]={'arPenRate':0x0,'arPenFlat':0x0,'arRedRate':0x0,'arRedFlat':0x0},this[_0x2fd0c3(0x27b)]={'criticalHitRate':0x1,'criticalHitFlat':0x0,'criticalDmgRate':0x1,'criticalDmgFlat':0x0,'damageRate':0x1,'damageFlat':0x0,'hitRate':0x1,'hitFlat':0x0},this[_0x2fd0c3(0xa21)]='default',this[_0x2fd0c3(0x79f)]();},Game_Action[_0x208a24(0xbd8)]['clearTargetBattlerKey']=function(){const _0x5a9003=_0x208a24;this[_0x5a9003(0x570)]='';},VisuMZ[_0x208a24(0x759)][_0x208a24(0xd05)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x865)],Game_Action['prototype'][_0x208a24(0x865)]=function(_0x3c76a0){const _0x4b9db1=_0x208a24;VisuMZ[_0x4b9db1(0x759)][_0x4b9db1(0xd05)][_0x4b9db1(0x783)](this,_0x3c76a0),this[_0x4b9db1(0x79f)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xd04)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x3f2)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x3f2)]=function(_0x3cc099){const _0x114338=_0x208a24;VisuMZ[_0x114338(0x759)][_0x114338(0xd04)]['call'](this,_0x3cc099),this[_0x114338(0x79f)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x48a)]=Game_Action['prototype'][_0x208a24(0x5ca)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x5ca)]=function(_0x23893f){const _0x43c6d5=_0x208a24;VisuMZ[_0x43c6d5(0x759)][_0x43c6d5(0x48a)][_0x43c6d5(0x783)](this,_0x23893f),this[_0x43c6d5(0x79f)]();},Game_Action[_0x208a24(0xbd8)][_0x208a24(0xd2f)]=function(_0x109c17,_0x45f004){const _0x140365=_0x208a24;return VisuMZ[_0x140365(0x759)]['Settings'][_0x140365(0x7a9)]['OverallFormulaJS'][_0x140365(0x783)](this,_0x109c17,_0x45f004);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0xcbf)]=function(_0x36728e,_0x2e7829){const _0xe2e5c6=_0x208a24;return VisuMZ[_0xe2e5c6(0x759)][_0xe2e5c6(0xc39)][_0xe2e5c6(0x7a9)][_0xe2e5c6(0x6ae)]['call'](this,_0x36728e,_0x2e7829);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x568)]=function(_0x533368,_0x4e2dd8){const _0x61d3ce=_0x208a24;return VisuMZ['BattleCore'][_0x61d3ce(0xc39)][_0x61d3ce(0x7a9)][_0x61d3ce(0x5d5)][_0x61d3ce(0x783)](this,_0x533368,_0x4e2dd8);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x74a)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0xc77)],Game_Action[_0x208a24(0xbd8)]['itemHit']=function(_0x1a9acd){const _0x4153cb=_0x208a24,_0x25d2f5=this[_0x4153cb(0x8bb)]()['note'];if(_0x25d2f5[_0x4153cb(0x7fc)](/<ALWAYS HIT>/i))return 0x1;else{if(_0x25d2f5[_0x4153cb(0x7fc)](/<ALWAYS HIT RATE: (\d+)([%％])>/i))return Number(RegExp['$1'])/0x64;else{let _0x19825b=VisuMZ['BattleCore']['Game_Action_itemHit'][_0x4153cb(0x783)](this,_0x1a9acd);return _0x19825b=this['_multipliers'][_0x4153cb(0xa8f)]*_0x19825b+this[_0x4153cb(0x27b)][_0x4153cb(0x2e5)],_0x19825b;}}},Game_Action[_0x208a24(0xbd8)]['itemCri']=function(_0x7f3de6){const _0x185037=_0x208a24;if(!this[_0x185037(0x8bb)]()['damage'][_0x185037(0x57d)])return 0x0;let _0x13b87f=VisuMZ[_0x185037(0x759)][_0x185037(0xc39)]['Damage']['CriticalHitRateJS'][_0x185037(0x783)](this,_0x7f3de6);return _0x13b87f=this['_multipliers'][_0x185037(0x49b)]*_0x13b87f+this[_0x185037(0x27b)][_0x185037(0x255)],_0x13b87f;},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x69b)]=function(_0x58fa5a){const _0x5b33ff=_0x208a24;return _0x58fa5a=VisuMZ[_0x5b33ff(0x759)][_0x5b33ff(0xc39)]['Damage'][_0x5b33ff(0xce7)][_0x5b33ff(0x783)](this,_0x58fa5a),_0x58fa5a=this['_multipliers'][_0x5b33ff(0x5d7)]*_0x58fa5a+this[_0x5b33ff(0x27b)][_0x5b33ff(0x4cd)],_0x58fa5a;},VisuMZ[_0x208a24(0x759)][_0x208a24(0xb37)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x852)],Game_Action['prototype'][_0x208a24(0x852)]=function(_0xf47900){const _0x1459ad=_0x208a24;if(this[_0x1459ad(0xa21)]!==_0x1459ad(0x914))return this['customDamageFormula'](_0xf47900);else{if(DataManager['getDamageStyle'](this[_0x1459ad(0x8bb)]())===_0x1459ad(0xac7)){if('MqjCj'!=='gWjsN')return VisuMZ[_0x1459ad(0x759)][_0x1459ad(0xb37)]['call'](this,_0xf47900);else{if(!this[_0x1459ad(0xc3a)])return;this[_0x1459ad(0x4de)]=this[_0x1459ad(0x4de)]||_0x303426[_0x1459ad(0xbd8)][_0x1459ad(0x146)](),this['x']=_0x27979d[_0x1459ad(0xd50)](this[_0x1459ad(0xc3a)][_0x1459ad(0x169)]),this['y']=_0x2afc48['round'](this[_0x1459ad(0xc3a)][_0x1459ad(0x832)]-this[_0x1459ad(0x4de)]*0.5);const _0x245f7b=_0x4b0359[_0x1459ad(0x759)][_0x1459ad(0xc39)]['Enemy'];this['x']+=_0x2bf88e[_0x1459ad(0xd50)](_0x245f7b[_0x1459ad(0xc30)]||0x0),this['y']+=_0x140d3e['round'](_0x245f7b['NameOffsetY']||0x0);}}else return this[_0x1459ad(0xc0f)](_0xf47900);}},Game_Action[_0x208a24(0xbd8)]['setCustomDamageFormula']=function(_0x3f5e6d){const _0x58d7f0=_0x208a24;this[_0x58d7f0(0xa21)]=_0x3f5e6d;},Game_Action[_0x208a24(0xbd8)]['customDamageFormula']=function(_0x2d26eb){const _0x38a5f7=_0x208a24,_0x23b10f=this[_0x38a5f7(0x8bb)](),_0x492e59=_0x23b10f[_0x38a5f7(0xae4)][_0x38a5f7(0x2f1)];_0x23b10f['damage'][_0x38a5f7(0x2f1)]=this[_0x38a5f7(0xa21)];let _0xb29410=VisuMZ['BattleCore'][_0x38a5f7(0xb37)][_0x38a5f7(0x783)](this,_0x2d26eb);return _0x23b10f[_0x38a5f7(0xae4)][_0x38a5f7(0x2f1)]=_0x492e59,_0xb29410;},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x141)]=function(){const _0x4edc6a=_0x208a24;if(this[_0x4edc6a(0x8bb)]()[_0x4edc6a(0x6c4)]['match'](/<DAMAGE STYLE:[ ](.*)>/i)){const _0x40030e=String(RegExp['$1'])[_0x4edc6a(0x4d6)]()[_0x4edc6a(0x446)]();return _0x40030e;}return _0x4edc6a(0xac7);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0xc0f)]=function(_0x48b405){const _0x101011=_0x208a24,_0x41c21f=DataManager['getDamageStyle'](this[_0x101011(0x8bb)]()),_0x1d6b89=VisuMZ[_0x101011(0x4a8)][_0x41c21f];try{return _0x1d6b89['Formula']['call'](this,_0x48b405);}catch(_0x5de074){if($gameTemp['isPlaytest']())console[_0x101011(0x9d3)](_0x5de074);return VisuMZ[_0x101011(0x759)][_0x101011(0xb37)][_0x101011(0x783)](this);}},Game_Action['prototype'][_0x208a24(0x5a9)]=function(_0x1c6b95,_0x3f5678){const _0x1fb1a7=_0x208a24;if(this[_0x1fb1a7(0x58d)]())return _0x3f5678;const _0x40694a=this[_0x1fb1a7(0x6a9)](),_0x35504c=_0x1c6b95;let _0x191ce4=[],_0x44fa56=[];_0x191ce4['push'](this[_0x1fb1a7(0x56b)][_0x1fb1a7(0x56f)],this[_0x1fb1a7(0x56b)]['arRedFlat']),_0x44fa56['push'](this['_armorPenetration']['arPenRate'],this[_0x1fb1a7(0x56b)]['arRedRate']);const _0xb5ebd3=this[_0x1fb1a7(0xbcf)]()?/<ARMOR REDUCTION:[ ](\d+\.?\d*)>/i:/<MAGIC REDUCTION:[ ](\d+\.?\d*)>/i,_0x115e85=this[_0x1fb1a7(0xbcf)]()?/<ARMOR REDUCTION:[ ](\d+\.?\d*)([%％])>/i:/<MAGIC REDUCTION:[ ](\d+\.?\d*)([%％])>/i,_0xe9f036=this['isPhysical']()?/<ARMOR PENETRATION:[ ](\d+\.?\d*)>/i:/<MAGIC PENETRATION:[ ](\d+\.?\d*)>/i,_0x3dac74=this['isPhysical']()?/<ARMOR PENETRATION:[ ](\d+\.?\d*)([%％])>/i:/<MAGIC PENETRATION:[ ](\d+\.?\d*)([%％])>/i;_0x191ce4=_0x191ce4[_0x1fb1a7(0x655)](_0x35504c[_0x1fb1a7(0x8ce)]()[_0x1fb1a7(0x58e)](_0x2c47a6=>_0x2c47a6&&_0x2c47a6[_0x1fb1a7(0x6c4)][_0x1fb1a7(0x7fc)](_0xb5ebd3)?Number(RegExp['$1']):0x0)),_0x44fa56=_0x44fa56['concat'](_0x35504c[_0x1fb1a7(0x8ce)]()['map'](_0x2b16b5=>_0x2b16b5&&_0x2b16b5[_0x1fb1a7(0x6c4)][_0x1fb1a7(0x7fc)](_0x115e85)?Number(RegExp['$1'])/0x64:0x0)),_0x191ce4=_0x191ce4[_0x1fb1a7(0x655)](_0x40694a[_0x1fb1a7(0x8ce)]()['map'](_0xc371a8=>_0xc371a8&&_0xc371a8[_0x1fb1a7(0x6c4)]['match'](_0xe9f036)?Number(RegExp['$1']):0x0)),_0x44fa56=_0x44fa56[_0x1fb1a7(0x655)](_0x40694a[_0x1fb1a7(0x8ce)]()['map'](_0x301dcd=>_0x301dcd&&_0x301dcd[_0x1fb1a7(0x6c4)][_0x1fb1a7(0x7fc)](_0x3dac74)?Number(RegExp['$1'])/0x64:0x0));if(this[_0x1fb1a7(0x8bb)]()[_0x1fb1a7(0x6c4)][_0x1fb1a7(0x7fc)](_0xe9f036)){if('Tbwlx'==='NcCFl'){if(_0x2ceec1===this[_0x1fb1a7(0xcb5)]()&&this[_0x1fb1a7(0x9cd)]())return!![];return _0x5c696d[_0x1fb1a7(0x759)][_0x1fb1a7(0x268)]['call'](this,_0x18fb2c);}else _0x191ce4['push'](Number(RegExp['$1']));}this[_0x1fb1a7(0x8bb)]()[_0x1fb1a7(0x6c4)][_0x1fb1a7(0x7fc)](_0x3dac74)&&_0x44fa56['push'](Number(RegExp['$1']));_0x3f5678=_0x191ce4['reduce']((_0x36e266,_0x4fc73f)=>_0x36e266-_0x4fc73f,_0x3f5678);if(_0x3f5678>0x0){if(_0x1fb1a7(0x695)!==_0x1fb1a7(0x695))return _0x5820e8[_0x1fb1a7(0x759)][_0x1fb1a7(0x523)][_0x1fb1a7(0x783)](this);else _0x3f5678=_0x44fa56['reduce']((_0xc83b21,_0xeee806)=>_0xc83b21*(0x1-_0xeee806),_0x3f5678);}return _0x3f5678;},VisuMZ[_0x208a24(0x759)]['Game_Action_executeDamage']=Game_Action['prototype'][_0x208a24(0x8b3)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x8b3)]=function(_0x4d66b6,_0x331a0c){const _0x47f46a=_0x208a24;_0x331a0c=_0x331a0c*this[_0x47f46a(0x27b)][_0x47f46a(0xa16)],_0x331a0c+=this[_0x47f46a(0x27b)][_0x47f46a(0xfa)]*(_0x331a0c>=0x0?0x1:-0x1),_0x331a0c=this[_0x47f46a(0xb10)](_0x47f46a(0xb4),_0x4d66b6,_0x331a0c,![]),_0x331a0c=this[_0x47f46a(0xd39)](_0x331a0c),_0x331a0c=Math['round'](_0x331a0c),this['_executedValue']=_0x331a0c,this[_0x47f46a(0xd0a)]=this['_totalValue']||0x0,this['_totalValue']+=_0x331a0c,VisuMZ[_0x47f46a(0x759)][_0x47f46a(0xc87)][_0x47f46a(0x783)](this,_0x4d66b6,_0x331a0c),this[_0x47f46a(0xb10)](_0x47f46a(0x1c3),_0x4d66b6,_0x331a0c,!![]);},Game_Action['prototype']['applyDamageCaps']=function(_0x5cc66d){const _0x2503d8=_0x208a24;if(this['isBypassDamageCap']())return _0x5cc66d;return _0x5cc66d=this['applySoftDamageCap'](_0x5cc66d),_0x5cc66d=this[_0x2503d8(0x272)](_0x5cc66d),_0x5cc66d;},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x3e8)]=function(){const _0x238ff5=_0x208a24,_0x14e48f=/<BYPASS DAMAGE CAP>/i;if(this[_0x238ff5(0x8bb)]()['note'][_0x238ff5(0x7fc)](_0x14e48f))return!![];if(this['subject']()[_0x238ff5(0x8ce)]()[_0x238ff5(0x92b)](_0x34c3c1=>_0x34c3c1&&_0x34c3c1[_0x238ff5(0x6c4)][_0x238ff5(0x7fc)](_0x14e48f)))return!![];return!VisuMZ[_0x238ff5(0x759)]['Settings'][_0x238ff5(0x7a9)][_0x238ff5(0xc50)];},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x1dd)]=function(_0x5db58c){const _0x54b62f=_0x208a24;if(!VisuMZ[_0x54b62f(0x759)]['Settings'][_0x54b62f(0x7a9)][_0x54b62f(0xc44)])return _0x5db58c;const _0x34fbea=/<BYPASS SOFT DAMAGE CAP>/i;if(this[_0x54b62f(0x8bb)]()[_0x54b62f(0x6c4)][_0x54b62f(0x7fc)](_0x34fbea))return _0x5db58c;if(this[_0x54b62f(0x6a9)]()[_0x54b62f(0x8ce)]()['some'](_0x2e302c=>_0x2e302c&&_0x2e302c[_0x54b62f(0x6c4)][_0x54b62f(0x7fc)](_0x34fbea)))return _0x54b62f(0x540)===_0x54b62f(0x540)?_0x5db58c:_0x150292[_0x54b62f(0xba)][0x0];const _0x25a2db=_0x5db58c<0x0?-0x1:0x1;_0x5db58c=Math[_0x54b62f(0x7ac)](_0x5db58c);let _0x48ad90=this[_0x54b62f(0x6a9)]()[_0x54b62f(0xc6d)]();this[_0x54b62f(0x8bb)]()[_0x54b62f(0x6c4)]['match'](/<SOFT DAMAGE CAP:[ ]([\+\-]\d+)([%％])>/i)&&(_0x48ad90+=Number(RegExp['$1'])/0x64);_0x48ad90=_0x48ad90[_0x54b62f(0x345)](0.01,0x1);const _0x187d45=this['getHardDamageCap'](),_0x899f65=_0x48ad90*_0x187d45;if(_0x5db58c>_0x899f65&&_0x187d45>_0x899f65){_0x5db58c-=_0x899f65;const _0xa1395c=VisuMZ['BattleCore']['Settings'][_0x54b62f(0x7a9)][_0x54b62f(0x23a)],_0x104ce1=Math[_0x54b62f(0x6db)](0x1-_0x5db58c/((_0x187d45-_0x899f65)*_0xa1395c+_0x5db58c),0.01);_0x5db58c*=_0x104ce1,_0x5db58c+=_0x899f65;}return _0x5db58c*_0x25a2db;},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x495)]=function(){const _0x5896a9=_0x208a24;if(this['item']()['note'][_0x5896a9(0x7fc)](/<DAMAGE CAP:[ ](\d+)>/i)){if('BSdNv'!==_0x5896a9(0x908)){const _0xc3b9ff=this[_0x5896a9(0x202)]();_0x17bed0=_0xc3b9ff[_0x4bfb8d]?_0xc3b9ff[_0x268f48][_0x5896a9(0x7ea)]:0x0;}else return Number(RegExp['$1']);}else return this[_0x5896a9(0x6a9)]()[_0x5896a9(0x6f4)]();},Game_Action['prototype'][_0x208a24(0x272)]=function(_0x3b42e4){const _0x32f1e6=_0x208a24;let _0x1013da=this['getHardDamageCap']();return _0x3b42e4[_0x32f1e6(0x345)](-_0x1013da,_0x1013da);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x874)]=function(){const _0x3b5505=_0x208a24;if(!this[_0x3b5505(0x8bb)]())return![];if(!$gameParty[_0x3b5505(0x776)]())return![];return(this[_0x3b5505(0x8bb)]()[_0x3b5505(0x6c4)]||'')['match'](/<DISPERSE DAMAGE>/i);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x194)]=function(_0x4c3797){const _0x35a61c=_0x208a24;if(this[_0x35a61c(0x874)]()){let _0x5ef636=BattleManager[_0x35a61c(0x3e1)];_0x4c3797/=_0x5ef636[_0x35a61c(0x1ba)],this[_0x35a61c(0x67d)]()&&(_0x35a61c(0x473)==='nqDBe'?_0x4c3797*=this[_0x35a61c(0x6a9)]()['attackTimesAdd']()+0x1:this['_defeatedEnemies']=this[_0x35a61c(0x737)]||[]),_0x4c3797=_0x4c3797>0x0?Math['ceil'](_0x4c3797):Math[_0x35a61c(0x479)](_0x4c3797);}return _0x4c3797;},VisuMZ[_0x208a24(0x759)]['Game_Action_makeDamageValueDisperse']=Game_Action['prototype'][_0x208a24(0xd2f)],Game_Action['prototype'][_0x208a24(0xd2f)]=function(_0x3a2cfd,_0x5d27cd){const _0xcbd896=_0x208a24;let _0x5ea997=VisuMZ[_0xcbd896(0x759)][_0xcbd896(0x823)][_0xcbd896(0x783)](this,_0x3a2cfd,_0x5d27cd);return this[_0xcbd896(0x194)](_0x5ea997);},Game_Action[_0x208a24(0xbd8)]['itemEffectRecoverHp']=function(_0x5641af,_0x44fbc3){const _0x41d4d7=_0x208a24;let _0x510912=(_0x5641af[_0x41d4d7(0x94f)]*_0x44fbc3[_0x41d4d7(0x615)]+_0x44fbc3[_0x41d4d7(0x9b8)])*_0x5641af[_0x41d4d7(0x5f3)];_0x510912=this['disperseDamage'](_0x510912),this['isItem']()&&(_0x510912*=this['subject']()[_0x41d4d7(0x203)]),_0x510912=Math[_0x41d4d7(0x479)](_0x510912),_0x510912!==0x0&&(_0x5641af[_0x41d4d7(0x488)](_0x510912),this[_0x41d4d7(0x899)](_0x5641af));},Game_Action[_0x208a24(0xbd8)]['itemEffectRecoverMp']=function(_0x5e7f1a,_0x4246fa){const _0x423ee7=_0x208a24;let _0xfa7160=(_0x5e7f1a[_0x423ee7(0xbab)]*_0x4246fa[_0x423ee7(0x615)]+_0x4246fa['value2'])*_0x5e7f1a['rec'];_0xfa7160=this['disperseDamage'](_0xfa7160);this['isItem']()&&(_0x423ee7(0x34a)!==_0x423ee7(0x34a)?this[_0x423ee7(0x73a)]=_0x3607f4:_0xfa7160*=this[_0x423ee7(0x6a9)]()[_0x423ee7(0x203)]);_0xfa7160=Math[_0x423ee7(0x479)](_0xfa7160);if(_0xfa7160!==0x0){if(_0x423ee7(0x5ab)===_0x423ee7(0x5ab))_0x5e7f1a[_0x423ee7(0x753)](_0xfa7160),this[_0x423ee7(0x899)](_0x5e7f1a);else{const _0x18fdf2=_0x47f6cc[_0x423ee7(0x2bb)](_0x51e6e3);_0x18fdf2[_0x423ee7(0x91d)]=![],_0x18fdf2['evaded']=![],_0x18fdf2[_0x423ee7(0x969)]=![],this[_0x423ee7(0x55c)][_0x423ee7(0x7c3)](_0x18fdf2);}}},Game_Action['prototype']['itemEffectGainTp']=function(_0x1368bd,_0x5b452f){const _0x1960f2=_0x208a24;let _0x5c3186=Math['floor'](_0x5b452f[_0x1960f2(0x615)]);_0x5c3186=this[_0x1960f2(0x194)](_0x5c3186),_0x5c3186!==0x0&&(_0x1368bd['gainTp'](_0x5c3186),this[_0x1960f2(0x899)](_0x1368bd));},VisuMZ[_0x208a24(0x759)]['Game_Action_apply']=Game_Action[_0x208a24(0xbd8)][_0x208a24(0xa56)],Game_Action[_0x208a24(0xbd8)]['apply']=function(_0x12ead4){const _0x541167=_0x208a24;this[_0x541167(0xb10)](_0x541167(0xc54),_0x12ead4,0x0,!![]),VisuMZ['BattleCore'][_0x541167(0xcd1)][_0x541167(0x783)](this,_0x12ead4),this[_0x541167(0xb10)](_0x541167(0x179),_0x12ead4,this[_0x541167(0xb4c)]||0x0,!![]),this['applyResultSwitches'](_0x12ead4);},Game_Action['prototype']['applyBattleCoreJS']=function(_0x52fa0a,_0x308d4d,_0x38171c,_0x340317){const _0x2333d5=_0x208a24;if(this[_0x2333d5(0x635)]||this['_tempActor'])return;_0x38171c=_0x38171c||0x0;const _0x1c574a=_0x38171c,_0x1551bf=VisuMZ[_0x2333d5(0x759)][_0x2333d5(0xc39)]['Mechanics'],_0x25a7b5=_0x52fa0a[_0x2333d5(0x75a)]('');if(_0x1551bf[_0x25a7b5]){if(_0x2333d5(0xa4)!==_0x2333d5(0x530)){_0x38171c=_0x1551bf[_0x25a7b5][_0x2333d5(0x783)](this,_0x38171c,_0x308d4d);if(_0x340317)_0x38171c=_0x1c574a;}else this[_0x2333d5(0xa85)][_0x2333d5(0x3c1)]();}let _0x175586=VisuMZ[_0x2333d5(0x759)][_0x2333d5(0x362)](this['item'](),_0x52fa0a['format'](''));if(VisuMZ[_0x2333d5(0x759)]['JS'][_0x175586]){if(_0x2333d5(0xd38)===_0x2333d5(0xd38)){_0x38171c=VisuMZ['BattleCore']['JS'][_0x175586][_0x2333d5(0x783)](this,this[_0x2333d5(0x6a9)](),_0x308d4d,this[_0x2333d5(0x8bb)](),_0x38171c);if(_0x340317)_0x38171c=_0x1c574a;}else _0x17b8ad+=_0x3ae511[_0x2333d5(0x9bf)]()?-_0x37e8be:_0xc8f0f3,_0x39395d+=_0x3e20a1;}for(const _0x149620 of this[_0x2333d5(0x6a9)]()[_0x2333d5(0x8ce)]()){if(!_0x149620)continue;_0x175586=VisuMZ[_0x2333d5(0x759)][_0x2333d5(0x362)](_0x149620,_0x52fa0a[_0x2333d5(0x75a)](_0x2333d5(0x476)));if(VisuMZ['BattleCore']['JS'][_0x175586]){_0x38171c=VisuMZ[_0x2333d5(0x759)]['JS'][_0x175586][_0x2333d5(0x783)](this,this[_0x2333d5(0x6a9)](),_0x308d4d,_0x149620,_0x38171c);if(_0x340317)_0x38171c=_0x1c574a;}}for(const _0x52fef0 of _0x308d4d[_0x2333d5(0x8ce)]()){if(!_0x52fef0)continue;_0x175586=VisuMZ[_0x2333d5(0x759)][_0x2333d5(0x362)](_0x52fef0,_0x52fa0a[_0x2333d5(0x75a)](_0x2333d5(0x406)));if(VisuMZ[_0x2333d5(0x759)]['JS'][_0x175586]){_0x38171c=VisuMZ[_0x2333d5(0x759)]['JS'][_0x175586][_0x2333d5(0x783)](this,this[_0x2333d5(0x6a9)](),_0x308d4d,_0x52fef0,_0x38171c);if(_0x340317)_0x38171c=_0x1c574a;}}return _0x38171c;},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x84e)]=function(_0x4698de){const _0x4c7fe4=_0x208a24,_0x2b887c=this[_0x4c7fe4(0xd0a)]||0x0,_0x183f81=VisuMZ['BattleCore']['Settings'][_0x4c7fe4(0x79c)],_0x4af188=_0x4698de[_0x4c7fe4(0x75a)]('');_0x183f81[_0x4af188]&&_0x183f81[_0x4af188][_0x4c7fe4(0x783)](this,_0x2b887c);let _0x3cdaf5=VisuMZ[_0x4c7fe4(0x759)][_0x4c7fe4(0x362)](this['item'](),_0x4698de);if(VisuMZ[_0x4c7fe4(0x759)]['JS'][_0x3cdaf5]){if(_0x4c7fe4(0x2ad)!==_0x4c7fe4(0x5f0))VisuMZ[_0x4c7fe4(0x759)]['JS'][_0x3cdaf5][_0x4c7fe4(0x783)](this,this[_0x4c7fe4(0x6a9)](),this[_0x4c7fe4(0x6a9)](),this['item'](),_0x2b887c);else for(const _0x3aa772 of _0x434de9){for(const _0x19cab7 of _0x8a6a60){const _0x48916e=_0x50708f[0x0]['format'](_0x19cab7[0x0],_0x3aa772[0x0]),_0xc09bda=_0x364045[0x1][_0x4c7fe4(0x75a)](_0x19cab7[0x1],_0x3aa772[0x1])[_0x4c7fe4(0x446)](),_0x3a7a48=new _0x29d11d(_0x5ae468[_0x4c7fe4(0x75a)](_0xc09bda),'i');_0x31709a[_0x48916e]=_0x3a7a48;}}}for(const _0x533408 of this[_0x4c7fe4(0x6a9)]()[_0x4c7fe4(0x8ce)]()){if(_0x4c7fe4(0x6a0)!=='iqfSI'){if(!_0x533408)continue;_0x3cdaf5=VisuMZ['BattleCore'][_0x4c7fe4(0x362)](_0x533408,_0x4698de),VisuMZ[_0x4c7fe4(0x759)]['JS'][_0x3cdaf5]&&('yfUYY'==='yfUYY'?VisuMZ[_0x4c7fe4(0x759)]['JS'][_0x3cdaf5][_0x4c7fe4(0x783)](this,this['subject'](),this['subject'](),_0x533408,_0x2b887c):(_0x45e73e[_0x4c7fe4(0x759)][_0x4c7fe4(0x994)]['call'](this),this[_0x4c7fe4(0x2d2)](),this['createEnemyNames']()));}else this[_0x4c7fe4(0x3ad)](_0x54fb92)?_0x340f69[_0x4c7fe4(0x91e)]():this[_0x4c7fe4(0x131)](_0x34655f,_0x11b9fb,_0x5ab021);}},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x417)]=function(){const _0x1204b2=_0x208a24;return VisuMZ[_0x1204b2(0x759)][_0x1204b2(0xc39)]['Mechanics'][_0x1204b2(0x14d)][_0x1204b2(0x783)](this);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x2e8)]=function(){const _0x27d6fe=_0x208a24;return VisuMZ[_0x27d6fe(0x759)][_0x27d6fe(0xc39)][_0x27d6fe(0x79c)]['AllowRandomSpeed'];},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x8cb)]=function(){const _0x4492d4=_0x208a24;if(this[_0x4492d4(0x570)]===_0x4492d4(0x330))return![];if(this[_0x4492d4(0x570)]===_0x4492d4(0x4da))return![];if(!this[_0x4492d4(0x8bb)]())return![];return this[_0x4492d4(0x8bb)]()['note'][_0x4492d4(0x7fc)](/<JS TARGETS>/i);},Game_Action['prototype'][_0x208a24(0x282)]=function(){const _0x14d26d=_0x208a24;if(this[_0x14d26d(0x570)]===_0x14d26d(0x330))return![];if(this[_0x14d26d(0x570)]===_0x14d26d(0x4da))return![];if(!this[_0x14d26d(0x81b)]&&this['subject']()[_0x14d26d(0x82a)]())return![];if(this[_0x14d26d(0x8cb)]())return!![];if(!this[_0x14d26d(0x8bb)]())return![];return typeof this[_0x14d26d(0x8bb)]()[_0x14d26d(0x9ab)]===_0x14d26d(0x32d);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x973)]=Game_Action[_0x208a24(0xbd8)]['isForOpponent'],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x8e2)]=function(){const _0x42c671=_0x208a24;if(this['_targetBattlerKey']===_0x42c671(0x330))return![];if(this[_0x42c671(0x570)]==='all\x20enemies')return!![];if(this[_0x42c671(0x282)]()&&!this[_0x42c671(0x8cb)]())return this[_0x42c671(0xb98)]();else{if('iuLjY'!==_0x42c671(0xbbd))this[_0x42c671(0x9bd)]();else return VisuMZ[_0x42c671(0x759)]['Game_Action_isForOpponent'][_0x42c671(0x783)](this);}},Game_Action[_0x208a24(0xbd8)][_0x208a24(0xb98)]=function(){const _0x2974b2=_0x208a24,_0x3189eb=this[_0x2974b2(0x8bb)]()['scope'];if(_0x3189eb[_0x2974b2(0x7fc)](/ANY/i))return!![];return _0x3189eb['match'](/(?:ENEMY|ENEMIES|FOE|FOES)/i);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x66b)]=Game_Action['prototype'][_0x208a24(0x121)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x121)]=function(){const _0x4374a1=_0x208a24;if(this[_0x4374a1(0x570)]==='all\x20actors')return!![];if(this['_targetBattlerKey']===_0x4374a1(0x4da))return![];if(this['isBattleCoreTargetScope']()&&!this[_0x4374a1(0x8cb)]())return _0x4374a1(0x261)!==_0x4374a1(0x261)?_0x20856d[_0x4374a1(0x759)]['Game_Interpreter_command301'][_0x4374a1(0x783)](this,_0x222f85):this[_0x4374a1(0x3fa)]();else{if('IxjbT'===_0x4374a1(0x9f5)){if(_0x574d36)_0xc96d2d[_0x4374a1(0x192)](_0x248ab1);}else return VisuMZ['BattleCore'][_0x4374a1(0x66b)][_0x4374a1(0x783)](this);}},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x3fa)]=function(){const _0x31d151=_0x208a24,_0x2299b=this[_0x31d151(0x8bb)]()[_0x31d151(0x9ab)];return _0x2299b['match'](/(?:ALLY|ALLIES|FRIEND|FRIENDS)/i);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x9c2)]=function(){const _0x19e617=_0x208a24;if(this[_0x19e617(0x282)]()&&!this['isCustomBattleScope']()){if(_0x19e617(0x422)!==_0x19e617(0x422))_0x5384f7=this[_0x19e617(0x411)][this[_0x19e617(0x411)][_0x19e617(0x1ba)]-0x1];else{const _0xde38d4=this[_0x19e617(0x8bb)]()[_0x19e617(0x9ab)];return _0xde38d4[_0x19e617(0x7fc)](/(?:ENEMY|FOE)/i)&&_0xde38d4[_0x19e617(0x7fc)](/OR/i)&&_0xde38d4['match'](/(?:ALLY|FRIEND)/i);}}else{if(_0x19e617(0x94a)===_0x19e617(0x250)){if(!_0x4097f['isSideView']())return;const _0x4a2ec6=this[_0x19e617(0xd08)]();if(!_0x4a2ec6)return;_0x4a2ec6['startJump'](_0x405a86,_0x54596e);}else return![];}},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x768)]=function(){const _0x46eb8a=_0x208a24;if(this[_0x46eb8a(0x9c2)]()){const _0x39ba04=this[_0x46eb8a(0x8bb)]()['scope'];if(_0x39ba04[_0x46eb8a(0x7fc)](/(?:ALLY|FRIEND) OR (?:ENEMY|FOE)/i))return!![];}return![];},Game_Action[_0x208a24(0xbd8)]['isForAnyoneFocusOpponents']=function(){const _0x17e97c=_0x208a24;if(this['isForAnyone']()){if('qISwC'===_0x17e97c(0xc2c)){const _0x4096f1=this['item']()['scope'];if(_0x4096f1[_0x17e97c(0x7fc)](/(?:ENEMY|FOE) OR (?:ALLY|FRIEND)/i))return!![];}else{if(!_0x46a35e['value'](_0x199dba))return![];}}return![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0xb8a)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x253)],Game_Action['prototype'][_0x208a24(0x253)]=function(){const _0x5a4ca0=_0x208a24;if(this[_0x5a4ca0(0x570)]===_0x5a4ca0(0x330))return!![];if(this[_0x5a4ca0(0x282)]()&&!this[_0x5a4ca0(0x8cb)]())return this[_0x5a4ca0(0x1a6)]();else{if('hTmxD'===_0x5a4ca0(0x524))return VisuMZ['BattleCore']['Game_Action_isForAliveFriend'][_0x5a4ca0(0x783)](this);else{if(_0x3d0289[_0x5a4ca0(0x905)](_0x5bbe0b))return!![];}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x709)]=Game_Action[_0x208a24(0xbd8)]['isForDeadFriend'],Game_Action[_0x208a24(0xbd8)][_0x208a24(0xa42)]=function(){const _0x4c1a6c=_0x208a24;if(this[_0x4c1a6c(0x570)]==='all\x20actors'){if(_0x4c1a6c(0x44a)!==_0x4c1a6c(0x3be))return VisuMZ[_0x4c1a6c(0x759)][_0x4c1a6c(0x709)][_0x4c1a6c(0x783)](this);else{const _0xcfb37=_0x2c9cf2[_0x4c1a6c(0x4fe)],_0x2f1928=_0x134f7c['round']((_0x4ed4cf[_0x4c1a6c(0xa53)]-_0xcfb37)/0x2),_0x5ed820=this['helpAreaHeight'](),_0x599c77=(_0x3189[_0x4c1a6c(0x1fa)]-_0x72bd4[_0x4c1a6c(0x833)])/-0x2;return new _0x136f4d(_0x2f1928,_0x599c77,_0xcfb37,_0x5ed820);}}return VisuMZ[_0x4c1a6c(0x759)]['Game_Action_isForDeadFriend'][_0x4c1a6c(0x783)](this);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x1a6)]=function(){if(this['isForAnyone']())return!![];return![];},Game_Action[_0x208a24(0xbd8)][_0x208a24(0xc5d)]=function(){const _0x2bafda=_0x208a24;return this[_0x2bafda(0x8bb)]()&&this[_0x2bafda(0x8bb)]()[_0x2bafda(0x6c4)][_0x2bafda(0x7fc)](/<CANNOT TARGET (?:USER|SELF)>/i);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x25c)]=Game_Action[_0x208a24(0xbd8)]['isForOne'],Game_Action[_0x208a24(0xbd8)]['isForOne']=function(){const _0x1733e0=_0x208a24;if(this[_0x1733e0(0x570)]==='all\x20actors')return![];if(this[_0x1733e0(0x570)]===_0x1733e0(0x4da))return![];if(this[_0x1733e0(0x282)]()&&!this[_0x1733e0(0x8cb)]()){if(_0x1733e0(0x735)==='gazSQ')return this[_0x1733e0(0x672)]();else{if(this['_actions'][_0x1733e0(0x92b)](_0x1a0cb1=>_0x1a0cb1[_0x1733e0(0x8bb)]()&&_0x1a0cb1[_0x1733e0(0xcd9)]()))return!![];}}else{if(_0x1733e0(0x61c)===_0x1733e0(0x2b1))!this[_0x1733e0(0x46b)]['isBusy']()&&this['endAction']();else return VisuMZ[_0x1733e0(0x759)][_0x1733e0(0x25c)]['call'](this);}},Game_Action['prototype']['isForOneBattleCore']=function(){const _0x490277=_0x208a24;if(this[_0x490277(0x9c2)]())return!![];return![];},VisuMZ['BattleCore'][_0x208a24(0x9e0)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x8f2)],Game_Action['prototype'][_0x208a24(0x8f2)]=function(){const _0x7d7119=_0x208a24;if(this['_targetBattlerKey']===_0x7d7119(0x330))return![];if(this[_0x7d7119(0x570)]===_0x7d7119(0x4da))return![];if(this[_0x7d7119(0x282)]()&&!this[_0x7d7119(0x8cb)]())return'XNXKY'==='zuztd'?this[_0x7d7119(0x531)]():this['isForRandomBattleCore']();else{if(_0x7d7119(0x4dd)===_0x7d7119(0x856)){let _0xc73a94=_0x29357a(_0x33bf3f['$1']);while(_0xc73a94--){const _0x4c517b=_0x3f4be2[_0x7d7119(0xd15)](0x2)===0x0?this['opponentsUnit']():this[_0x7d7119(0x281)]();_0x11d180[_0x7d7119(0x7c3)](_0x4c517b[_0x7d7119(0xc9a)]());}return this['repeatTargets'](_0xc4ba44);}else return VisuMZ['BattleCore'][_0x7d7119(0x9e0)][_0x7d7119(0x783)](this);}},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x1cf)]=function(){const _0x5549de=_0x208a24,_0x29b442=this[_0x5549de(0x8bb)]()[_0x5549de(0x9ab)];return _0x29b442[_0x5549de(0x7fc)](/(?:RAND|RANDOM)/i);},VisuMZ[_0x208a24(0x759)][_0x208a24(0xa7a)]=Game_Action[_0x208a24(0xbd8)]['isForAll'],Game_Action['prototype'][_0x208a24(0x8b9)]=function(){const _0x1315e4=_0x208a24;if(this[_0x1315e4(0x570)]===_0x1315e4(0x330))return!![];if(this[_0x1315e4(0x570)]===_0x1315e4(0x4da))return!![];return VisuMZ[_0x1315e4(0x759)][_0x1315e4(0xa7a)][_0x1315e4(0x783)](this);},Game_Action['prototype'][_0x208a24(0x59d)]=function(){const _0x2e201d=_0x208a24;if(!this[_0x2e201d(0x8bb)]())return![];if(this[_0x2e201d(0xa42)]())return![];return(this[_0x2e201d(0x8bb)]()[_0x2e201d(0x6c4)]||'')[_0x2e201d(0x7fc)](/<SINGLE OR MULTIPLE SELECT>/i);},VisuMZ[_0x208a24(0x759)]['Game_Action_testApply']=Game_Action[_0x208a24(0xbd8)][_0x208a24(0xa1b)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0xa1b)]=function(_0x3917d5){const _0x2ada9d=_0x208a24;if(this['isForNotUser']()&&_0x3917d5===this[_0x2ada9d(0x6a9)]())return![];return VisuMZ[_0x2ada9d(0x759)][_0x2ada9d(0xa62)][_0x2ada9d(0x783)](this,_0x3917d5);},VisuMZ[_0x208a24(0x759)][_0x208a24(0xa18)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x693)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x693)]=function(){const _0x4ac74d=_0x208a24,_0x239038=VisuMZ[_0x4ac74d(0x759)][_0x4ac74d(0xa18)]['call'](this);if(this[_0x4ac74d(0xc5d)]())_0x239038[_0x4ac74d(0x44b)](this[_0x4ac74d(0x6a9)]());return _0x239038;},VisuMZ['BattleCore']['Game_Action_needsSelection']=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x197)],Game_Action[_0x208a24(0xbd8)]['needsSelection']=function(){const _0x596437=_0x208a24;if(this['isBattleCoreTargetScope']()&&!this[_0x596437(0x8cb)]()){if(_0x596437(0xc48)===_0x596437(0xb14)){if(!_0xd90eb8[_0x596437(0x8c3)]())return;const _0x191ca6=_0x1c1f87['getLastPluginCommandInterpreter'](),_0x3420f1=_0x399916[_0x596437(0x8fb)],_0x3cc7a9=_0x46645a[_0x596437(0x64d)],_0x394e95=_0x16f49b[_0x596437(0x46b)];if(!_0x191ca6||!_0x3420f1||!_0x3cc7a9)return;if(!_0x3420f1[_0x596437(0x8bb)]())return;_0x394e95[_0x596437(0x734)](_0x3cc7a9,_0x3420f1[_0x596437(0x8bb)]()),_0x191ca6[_0x596437(0x3dc)]('battlelog');}else return this[_0x596437(0x508)]();}else{if(_0x596437(0x23f)===_0x596437(0x23f))return VisuMZ[_0x596437(0x759)]['Game_Action_needsSelection']['call'](this);else{const _0x2c5eb8=_0x393643[_0x596437(0x794)]('['+_0x969c10['$1']['match'](/\d+/g)+']');for(const _0x5bf70e of _0x2c5eb8){if(!_0x41477d['value'](_0x5bf70e))return!![];}return![];}}},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x508)]=function(){const _0x4a7ab1=_0x208a24,_0x2ca76d=this[_0x4a7ab1(0x8bb)]()[_0x4a7ab1(0x9ab)];if(_0x2ca76d[_0x4a7ab1(0x7fc)](/RANDOM/i))return![];if(_0x2ca76d[_0x4a7ab1(0x7fc)](/ALL (?:ALLY|ALLIES|FRIEND|FRIENDS)/i))return![];if(_0x2ca76d[_0x4a7ab1(0x7fc)](/ALL (?:ENEMY|ENEMIES|FOE|FOES)/i))return![];if(_0x2ca76d[_0x4a7ab1(0x7fc)](/(?:ENEMY|FOE) OR (?:ALLY|FRIEND)/i))return!![];if(_0x2ca76d[_0x4a7ab1(0x7fc)](/(?:ALLY|FRIEND) OR (?:ENEMY|FOE)/i))return!![];return VisuMZ[_0x4a7ab1(0x759)][_0x4a7ab1(0x6dc)][_0x4a7ab1(0x783)](this);},VisuMZ['BattleCore'][_0x208a24(0x3b4)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0xaf1)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0xaf1)]=function(){const _0x5b2882=_0x208a24;let _0x368143=[];if(this[_0x5b2882(0x282)]()){if(this[_0x5b2882(0x8cb)]()){if('YclRK'===_0x5b2882(0x89d))return[_0x40862f['GetActionSequenceSpecialTarget']()];else _0x368143=this[_0x5b2882(0x39d)]();}else _0x368143=this['makeTargetsBattleCore']();}else _0x368143=VisuMZ[_0x5b2882(0x759)][_0x5b2882(0x3b4)][_0x5b2882(0x783)](this);return _0x368143=this[_0x5b2882(0x357)](_0x368143),_0x368143;},Game_Action['prototype'][_0x208a24(0x803)]=function(){const _0x3a8ee8=_0x208a24;return this[_0x3a8ee8(0x6a9)]()[_0x3a8ee8(0x9bf)]()&&!this[_0x3a8ee8(0x6a9)]()['isAutoBattle']();},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x39d)]=function(){const _0x120e91=_0x208a24,_0x4e08a5=VisuMZ[_0x120e91(0x759)]['createKeyJS'](this[_0x120e91(0x8bb)](),'Targets');if(VisuMZ[_0x120e91(0x759)]['JS'][_0x4e08a5]){if('RAQiM'===_0x120e91(0x3a8)){targets=VisuMZ[_0x120e91(0x759)][_0x120e91(0x3b4)]['call'](this);const _0x29769d=VisuMZ[_0x120e91(0x759)][_0x120e91(0x362)](this[_0x120e91(0x8bb)](),_0x120e91(0x83d));return targets=VisuMZ['BattleCore']['JS'][_0x29769d][_0x120e91(0x783)](this,this[_0x120e91(0x6a9)](),targets),this[_0x120e91(0xc25)](targets);}else return null;}return this[_0x120e91(0x8ef)]();},Game_Action['prototype'][_0x208a24(0x8ef)]=function(){const _0x1fdc81=_0x208a24;let _0x25196f=[];const _0x25a2b7=String(this['item']()[_0x1fdc81(0x9ab)]);if(this['isForAnyoneFocusOpponents']())return this[_0x1fdc81(0x803)]()?(_0x25196f=this[_0x1fdc81(0x6f5)](),this[_0x1fdc81(0xc25)](_0x25196f)):(this[_0x1fdc81(0x580)]=-0x1,_0x25196f['push'](...this[_0x1fdc81(0x383)]()),this[_0x1fdc81(0xc25)](_0x25196f));if(this[_0x1fdc81(0x768)]()){if(_0x1fdc81(0x9d2)===_0x1fdc81(0x4bd))_0x314b9e[_0x1fdc81(0x759)][_0x1fdc81(0x529)][_0x1fdc81(0x783)](this,_0x4bf040);else{if(this[_0x1fdc81(0x803)]()){if(_0x1fdc81(0xa84)===_0x1fdc81(0xc4e))_0xfad1c0+=_0x485897[_0x1fdc81(0x9bf)]()?-_0x3a349d:_0x437395,_0x2ab38c+=_0x483f44[_0x1fdc81(0x9bf)]()?-_0x14a974:_0x451ae9;else return _0x25196f=this[_0x1fdc81(0x6f5)](),this[_0x1fdc81(0xc25)](_0x25196f);}else{if(Imported[_0x1fdc81(0xb8d)]){if(_0x1fdc81(0x5fa)!==_0x1fdc81(0x5fa))return this[_0x1fdc81(0x505)]()[_0x1fdc81(0xc9a)]();else{if(VisuMZ[_0x1fdc81(0x9a8)][_0x1fdc81(0x738)]<1.19){if(_0x1fdc81(0x928)!==_0x1fdc81(0x928)){if(_0x4d0744[_0x1fdc81(0x182)](_0x408db5))return!![];return![];}else{let _0x2d3893='';_0x2d3893+=_0x1fdc81(0xa43),_0x2d3893+=_0x1fdc81(0xcec),_0x2d3893+=_0x1fdc81(0x513),alert(_0x2d3893),SceneManager[_0x1fdc81(0x1b1)]();}}}}return this['_targetIndex']=-0x1,_0x25196f['push'](...this['targetsForFriends']()),this[_0x1fdc81(0xc25)](_0x25196f);}}}if(_0x25a2b7[_0x1fdc81(0x7fc)](/(\d+) RANDOM ANY/i)){let _0x2719b5=Number(RegExp['$1']);while(_0x2719b5--){if('abioL'==='PbzMG')this[_0x1fdc81(0xb2e)]=_0x3400b6['mpDamage']>=0x0?0x2:0x3,this[_0x1fdc81(0xcac)](_0x37d164[_0x1fdc81(0x522)]);else{const _0x91b075=Math[_0x1fdc81(0xd15)](0x2)===0x0?this[_0x1fdc81(0x505)]():this['friendsUnit']();_0x25196f[_0x1fdc81(0x7c3)](_0x91b075[_0x1fdc81(0xc9a)]());}}return this[_0x1fdc81(0xc25)](_0x25196f);}if(_0x25a2b7[_0x1fdc81(0x7fc)](/(\d+) RANDOM (?:ENEMY|ENEMIES|FOE|FOES)/i)){let _0x21c2ef=Number(RegExp['$1']);while(_0x21c2ef--){if(_0x1fdc81(0x2a5)!==_0x1fdc81(0x2a5))return _0x5b3b4f[_0x1fdc81(0x759)][_0x1fdc81(0xc39)][_0x1fdc81(0x2a2)][_0x1fdc81(0x702)][_0x1fdc81(0x783)](this);else _0x25196f[_0x1fdc81(0x7c3)](this[_0x1fdc81(0x505)]()[_0x1fdc81(0xc9a)]());}return this[_0x1fdc81(0xc25)](_0x25196f);}if(_0x25a2b7[_0x1fdc81(0x7fc)](/(\d+) RANDOM (?:ALLY|ALLIES|FRIEND|FRIENDS)/i)){if('HbnOW'===_0x1fdc81(0x1eb)){let _0x2736ad=Number(RegExp['$1']);while(_0x2736ad--){_0x25196f[_0x1fdc81(0x7c3)](this['friendsUnit']()[_0x1fdc81(0xc9a)]());}return this[_0x1fdc81(0xc25)](_0x25196f);}else _0x3257c7[_0x1fdc81(0x759)][_0x1fdc81(0xca9)][_0x1fdc81(0x783)](this);}if(_0x25a2b7['match'](/ALL (?:ALLY|ALLIES|FRIEND|FRIENDS) (?:BUT|EXCEPT) (?:USER|SELF)/i)){if('uijPF'===_0x1fdc81(0x971))_0x325340[_0x1fdc81(0xd48)]=!![];else return _0x25196f[_0x1fdc81(0x7c3)](...this[_0x1fdc81(0x281)]()[_0x1fdc81(0x49a)]()[_0x1fdc81(0x5a8)](_0x27b85d=>_0x27b85d!==this[_0x1fdc81(0x6a9)]())),this[_0x1fdc81(0xc25)](_0x25196f);}return VisuMZ[_0x1fdc81(0x759)]['Game_Action_makeTargets']['call'](this);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x1aa)]=function(_0x209a55){const _0x23673b=_0x208a24,_0x4416cb=[];for(let _0x4c6685=0x0;_0x4c6685<this[_0x23673b(0xb4d)]();_0x4c6685++){if(_0x23673b(0x972)!==_0x23673b(0x6b5))_0x4416cb['push'](_0x209a55['trueRandomTarget']());else{if(_0x65c0ad[_0x23673b(0x8c3)]()){const _0x38dedf=this['getAttackWeaponAnimationId']();this[_0x23673b(0x138)](_0x38dedf);}}}return _0x4416cb;},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x357)]=function(_0x57554e){const _0x1757b6=_0x208a24;if(!this[_0x1757b6(0x8bb)]())return _0x57554e;const _0x4a8fed=this[_0x1757b6(0x8bb)]()[_0x1757b6(0x6c4)];if(this[_0x1757b6(0xc5d)]()){if(_0x1757b6(0xcba)!==_0x1757b6(0xad5)){if(this[_0x1757b6(0x8b9)]()){if('zaqWi'!==_0x1757b6(0xd31))_0x57554e[_0x1757b6(0x44b)](this[_0x1757b6(0x6a9)]());else{if(!this[_0x1757b6(0x5b7)]())return;const _0x21009b=this[_0x1757b6(0xbb1)](),_0x2161ea=_0x40da1d[_0x1757b6(0x759)][_0x1757b6(0xc39)]['PartyCmd'][_0x1757b6(0x451)],_0x3b8f01=_0x21009b===_0x1757b6(0xa9c)?_0x4ff2e9[_0x1757b6(0x6fb)]:_0x1757b6(0x98a)['format'](_0x2161ea,_0x272447[_0x1757b6(0x6fb)]),_0x3c358b=this[_0x1757b6(0x468)]();this[_0x1757b6(0xb83)](_0x3b8f01,_0x1757b6(0x6fb),_0x3c358b);}}if(_0x57554e[_0x1757b6(0xcaf)](this[_0x1757b6(0x6a9)]())){const _0x441264=this['friendsUnit']()[_0x1757b6(0x49a)]()['remove'](this['subject']());if(_0x441264['length']>0x0){_0x441264[_0x1757b6(0xc80)]((_0x3fb3d8,_0x505540)=>_0x3fb3d8[_0x1757b6(0x8dc)]()-_0x505540['hpRate']());while(_0x57554e[_0x1757b6(0xcaf)](this[_0x1757b6(0x6a9)]())){const _0x1efe78=_0x57554e[_0x1757b6(0x6d1)](this[_0x1757b6(0x6a9)]());_0x57554e[_0x1efe78]=_0x441264[Math['randomInt'](_0x441264[_0x1757b6(0x1ba)])];}}else _0x57554e[_0x1757b6(0x44b)](this['subject']());}}else{if(!_0x18dc21[_0x1757b6(0x8c3)]())return;const _0x69d9a=_0x26928f[_0x1757b6(0x46b)];_0x69d9a[_0x1757b6(0xa22)]();}}return _0x57554e;},VisuMZ[_0x208a24(0x759)][_0x208a24(0xc71)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x626)],Game_Action['prototype'][_0x208a24(0x626)]=function(_0x383793,_0x27c5d6){const _0x11add6=_0x208a24;VisuMZ[_0x11add6(0x759)][_0x11add6(0xc71)]['call'](this,_0x383793,_0x27c5d6);if(!_0x383793[_0x11add6(0x9cd)]())return;for(const _0x1c829c of this[_0x11add6(0x6a9)]()[_0x11add6(0x608)]()){if(_0x1c829c===_0x383793[_0x11add6(0xcb5)]()){if(_0x11add6(0x3af)!==_0x11add6(0xc58)){let _0x22a2a3=_0x27c5d6[_0x11add6(0x615)];_0x22a2a3*=_0x383793['stateRate'](_0x1c829c),_0x22a2a3*=this[_0x11add6(0x6a9)]()[_0x11add6(0x68c)](_0x1c829c),_0x22a2a3*=this[_0x11add6(0x763)](_0x383793);if(Math[_0x11add6(0x39f)]()<_0x22a2a3){if(_0x11add6(0x1f1)!==_0x11add6(0x5f6))_0x383793[_0x11add6(0xd28)]=!![],this['makeSuccess'](_0x383793);else return;}}else return 0x1;}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x214)]=Game_Action['prototype']['itemEffectAddNormalState'],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x8c4)]=function(_0x570e36,_0x17816b){const _0x2ccd1c=_0x208a24;VisuMZ['BattleCore'][_0x2ccd1c(0x214)][_0x2ccd1c(0x783)](this,_0x570e36,_0x17816b);if(!_0x570e36[_0x2ccd1c(0x9cd)]())return;if(_0x17816b[_0x2ccd1c(0x28e)]!==_0x570e36[_0x2ccd1c(0xcb5)]())return;let _0x438603=_0x17816b['value1'];if(!this[_0x2ccd1c(0x58d)]()){if(_0x2ccd1c(0x31e)!==_0x2ccd1c(0x70c))_0x438603*=_0x570e36['stateRate'](_0x17816b[_0x2ccd1c(0x28e)]),_0x438603*=this[_0x2ccd1c(0x763)](_0x570e36);else return this[_0x2ccd1c(0x8ac)]()[_0x2ccd1c(0x92b)](_0x28289b=>_0x28289b['isSpinning']());}Math['random']()<_0x438603&&(_0x570e36['_deathStateApplied']=!![],this[_0x2ccd1c(0x899)](_0x570e36));},VisuMZ[_0x208a24(0x759)][_0x208a24(0xa74)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x640)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x640)]=function(){const _0x4a733a=_0x208a24;VisuMZ[_0x4a733a(0x759)][_0x4a733a(0xa74)]['call'](this),this[_0x4a733a(0x4bb)](),this['resetResultSwitches']();},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x4bb)]=function(){const _0x41ff4b=_0x208a24;if(!SceneManager['isSceneBattle']())return;const _0x9fb8bc=/<COMMON (?:EVENT|EVENTS):[ ](.*)>/gi,_0x3ea1b9=this[_0x41ff4b(0x8bb)]()[_0x41ff4b(0x6c4)][_0x41ff4b(0x7fc)](_0x9fb8bc);if(_0x3ea1b9){if(_0x41ff4b(0x37a)!==_0x41ff4b(0x196))for(const _0x2404ef of _0x3ea1b9){if(!_0x2404ef)continue;_0x2404ef[_0x41ff4b(0x7fc)](_0x9fb8bc);const _0x5dd881=String(RegExp['$1'])[_0x41ff4b(0xc85)](',')[_0x41ff4b(0x58e)](_0x9553b6=>String(_0x9553b6)[_0x41ff4b(0x446)]()),_0x5d93df=_0x5dd881[_0x41ff4b(0x58e)](_0x572753=>DataManager[_0x41ff4b(0x99f)](_0x572753));for(const _0x1faba0 of _0x5d93df){const _0x1554de=$dataCommonEvents[_0x1faba0];_0x1554de&&(_0x41ff4b(0x489)===_0x41ff4b(0x489)?$gameTemp[_0x41ff4b(0x436)](_0x1faba0):(_0x142ee8=(_0x40b926+_0xa35d5e)/0x2,_0x4e6b35=-0x1));}}else _0x4a7770[_0x41ff4b(0x759)]['Game_Party_addActor'][_0x41ff4b(0x783)](this,_0x20977b),_0x618890['refreshStatusWindow']();}},DataManager[_0x208a24(0x99f)]=function(_0x5e1002){const _0x577ba6=_0x208a24;_0x5e1002=_0x5e1002['toUpperCase']()[_0x577ba6(0x446)](),this[_0x577ba6(0xc1)]=this[_0x577ba6(0xc1)]||{};if(this[_0x577ba6(0xc1)][_0x5e1002])return this['_commonEventIDs'][_0x5e1002];for(const _0x450492 of $dataCommonEvents){if(!_0x450492)continue;let _0x534d59=_0x450492['name'];_0x534d59=_0x534d59[_0x577ba6(0x51f)](/\x1I\[(\d+)\]/gi,''),_0x534d59=_0x534d59['replace'](/\\I\[(\d+)\]/gi,''),this[_0x577ba6(0xc1)][_0x534d59['toUpperCase']()[_0x577ba6(0x446)]()]=_0x450492['id'];}return this[_0x577ba6(0xc1)][_0x5e1002]||0x0;},Game_Action['prototype']['resetResultSwitches']=function(){const _0x44e3ac=_0x208a24;if(!SceneManager[_0x44e3ac(0x8c3)]())return;const _0x58602f=VisuMZ[_0x44e3ac(0x759)][_0x44e3ac(0xc39)][_0x44e3ac(0x79c)];_0x58602f['SwitchCritical']&&$gameSwitches['setValue'](_0x58602f[_0x44e3ac(0xaad)],![]);_0x58602f['SwitchMissEvade']&&('WsfhR'===_0x44e3ac(0xd30)?$gameSwitches['setValue'](_0x58602f[_0x44e3ac(0xac3)],![]):(_0x3f6499['forceMotion'](_0x265934),[_0x44e3ac(0xb89),_0x44e3ac(0xd3e),'missile'][_0x44e3ac(0xcaf)](_0x390a49)&&this[_0x44e3ac(0xd12)]()));if(_0x58602f[_0x44e3ac(0x4d4)]){if(_0x44e3ac(0x1fc)===_0x44e3ac(0x1fc))$gameVariables[_0x44e3ac(0x7e1)](_0x58602f[_0x44e3ac(0x4d4)],0x0);else{if(!_0x25963f[_0x44e3ac(0x2c0)](_0x2ac0b2))return this['displayBattleCoreTransitionErrorMsg'](_0x4433a9);_0x5eb1da[_0x44e3ac(0x759)][_0x44e3ac(0x1d1)][_0x44e3ac(0x783)](this,_0x9c31f7);}}_0x58602f[_0x44e3ac(0x400)]&&$gameVariables[_0x44e3ac(0x7e1)](_0x58602f[_0x44e3ac(0x400)],0x0);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x50c)]=function(_0x315976){const _0x470f51=_0x208a24;if(!SceneManager[_0x470f51(0x8c3)]())return;if(!_0x315976)return;const _0x69fe64=_0x315976[_0x470f51(0xa19)](),_0x6dc9b8=VisuMZ['BattleCore']['Settings']['Mechanics'];_0x6dc9b8[_0x470f51(0xaad)]&&_0x69fe64['critical']&&$gameSwitches['setValue'](_0x6dc9b8['SwitchCritical'],!![]);if(_0x6dc9b8[_0x470f51(0xac3)]&&(_0x69fe64['missed']||_0x69fe64[_0x470f51(0x5b4)])){if(_0x470f51(0x275)!==_0x470f51(0xc66))$gameSwitches[_0x470f51(0x7e1)](_0x6dc9b8['SwitchMissEvade'],!![]);else{if(!this[_0x470f51(0xa4c)])return;this[_0x470f51(0x34e)]=this[_0x470f51(0xa4c)][_0x470f51(0x670)](),this[_0x470f51(0xeb)]=this[_0x470f51(0xa4c)][_0x470f51(0x3ac)]();}}if(_0x6dc9b8[_0x470f51(0x4d4)]){if(_0x470f51(0x59b)!==_0x470f51(0x59b)){const _0x86b3db=this[_0x470f51(0xb1f)]()?this[_0x470f51(0xd17)]:0x0,_0x385d9c=_0x57fa39[_0x470f51(0x38d)];this[_0x470f51(0x4d0)](_0x385d9c,_0x86b3db),this[_0x470f51(0xb8f)]=_0x269ea4[_0x470f51(0x2bb)](this['_list']);const _0xfff9f3={'code':0xbc3,'indent':this[_0x470f51(0x317)],'parameters':_0x654f32[_0x470f51(0x2bb)](_0x3280af)};return this[_0x470f51(0xb8f)][_0x470f51(0xd36)](this[_0x470f51(0x424)]+0x1,0x0,_0xfff9f3),!![];}else{let _0x5e4683=$gameVariables[_0x470f51(0x905)](_0x6dc9b8[_0x470f51(0x4d4)]);_0x69fe64[_0x470f51(0x364)]>0x0&&(_0x5e4683+=Math[_0x470f51(0x7ac)](_0x69fe64['hpDamage'])),$gameVariables[_0x470f51(0x7e1)](_0x6dc9b8[_0x470f51(0x4d4)],_0x5e4683);}}if(_0x6dc9b8[_0x470f51(0x400)]){if('KCogN'!==_0x470f51(0xcb2)){let _0x45ccda=$gameVariables[_0x470f51(0x905)](_0x6dc9b8[_0x470f51(0x400)]);_0x69fe64[_0x470f51(0x364)]<0x0&&('jRnQi'===_0x470f51(0xabe)?_0x45ccda+=Math[_0x470f51(0x7ac)](_0x69fe64[_0x470f51(0x364)]):(_0x361d7e+=_0x17b4ee,_0x1fe54e+=_0x11cfa4['isActor']()?-_0x3ddc7e:_0x281487)),$gameVariables['setValue'](_0x6dc9b8['VariableHeal'],_0x45ccda);}else{const _0x4148dc=this['weapons']();if(_0x4148dc[_0x470f51(0x1ba)]>0x0){const _0x15d846=_0x4148dc[_0x33fe08];if(_0x15d846)_0x18d929=this[_0x470f51(0x2b7)]()[_0x470f51(0x6d1)](_0x15d846);}}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x780)]={'lifeSteaItem':/<(.*?) (?:LIFE|MANA) STEAL:[ ](\d+)([%％])>/gi,'lifeStealTrait':/<(.*?) (?:LIFE|MANA) STEAL (.*?):[ ]([\+\-]\d+)([%％])>/gi,'cancelLifeSteal':/<CANCEL LIFE STEAL>/i,'cancelHpLifeSteal':/<CANCEL HP LIFE STEAL>/i,'cancelMpLifeSteal':/<CANCEL MP LIFE STEAL>/i,'guardLifeSteal':/<GUARD LIFE STEAL>/i,'guardHpLifeSteal':/<GUARD HP LIFE STEAL>/i,'guardMpLifeSteal':/<GUARD MP LIFE STEAL>/i,'disarmLifeSteal':/<DISARM LIFE STEAL>/i,'disarmHpLifeSteal':/<DISARM HP LIFE STEAL>/i,'disarmMpLifeSteal':/<DISARM MP LIFE STEAL>/i,'negativeLifeSteal':/<REVERSE LIFE STEAL>/i,'negativeHpLifeSteal':/<REVERSE HP LIFE STEAL>/i,'negativeMpLifeSteal':/<REVERSE MP LIFE STEAL>/i},VisuMZ[_0x208a24(0x759)][_0x208a24(0x6d9)]=Game_Action['prototype'][_0x208a24(0xb5d)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0xb5d)]=function(_0x3520ac,_0x18cf5a){const _0x9e05ea=_0x208a24;VisuMZ[_0x9e05ea(0x759)][_0x9e05ea(0x6d9)][_0x9e05ea(0x783)](this,_0x3520ac,_0x18cf5a);if(!this['isDrain']()&&_0x3520ac&&_0x3520ac['result']()[_0x9e05ea(0x364)]>0x0){if(_0x9e05ea(0x6b8)==='iahpe'){_0x10c4e4(_0x9e05ea(0xb94)),_0x1d48d8[_0x9e05ea(0x1b1)]();return;}else this['performLifeSteal']('HP',_0x3520ac,_0x3520ac[_0x9e05ea(0xa19)]()['hpDamage']);}if(_0x3520ac){if(_0x9e05ea(0x3a3)==='HzmwX'){const _0x47bc8e=_0x511ad4[_0x9e05ea(0x759)][_0x9e05ea(0xc39)][_0x9e05ea(0x148)];if(_0x47bc8e['StatusWindowSelectableBackHide'])return;_0x1292c8[_0x9e05ea(0xbd8)][_0x9e05ea(0x9fd)][_0x9e05ea(0x783)](this,_0x5e883c);}else{this[_0x9e05ea(0xce2)]=this[_0x9e05ea(0xce2)]||{};const _0x58e618=_0x3520ac[_0x9e05ea(0x3a6)]();this[_0x9e05ea(0xce2)][_0x58e618]=_0x18cf5a;}}},Game_Action[_0x208a24(0xbd8)]['getLastHpDamage']=function(_0x1bc026){const _0x4c49ee=_0x208a24;this[_0x4c49ee(0xce2)]=this['_executeHpDamage']||{};const _0x5ed52d=_0x1bc026[_0x4c49ee(0x3a6)]();return this['_executeHpDamage'][_0x5ed52d]||0x0;},VisuMZ['BattleCore'][_0x208a24(0xc49)]=Game_Action[_0x208a24(0xbd8)]['executeMpDamage'],Game_Action['prototype'][_0x208a24(0x3d7)]=function(_0x25a5b3,_0x40a21a){const _0x511d27=_0x208a24;VisuMZ[_0x511d27(0x759)]['Game_Action_executeMpDamage'][_0x511d27(0x783)](this,_0x25a5b3,_0x40a21a);if(!this[_0x511d27(0x900)]()&&_0x25a5b3&&_0x25a5b3[_0x511d27(0xa19)]()['mpDamage']>0x0){if(_0x511d27(0x26f)==='NrzDH')return this['skillItemWindowRectBorderStyle']();else this[_0x511d27(0x467)]('MP',_0x25a5b3,_0x25a5b3[_0x511d27(0xa19)]()[_0x511d27(0x522)]);}},Game_Action[_0x208a24(0xbd8)][_0x208a24(0x467)]=function(_0x798b08,_0x5f5c37,_0xb003ee){const _0xd3e607=_0x208a24;_0x798b08=_0x798b08[_0xd3e607(0x4d6)]()[_0xd3e607(0x446)]();const _0x59a7d6=this['lifeStealRate'](_0x798b08,_0x5f5c37);if(_0x59a7d6<=0x0)return;const _0x1f8113=Math[_0xd3e607(0xd50)](_0xb003ee*_0x59a7d6);if(_0x1f8113<=0x0)return;let _0x2efc32=this[_0xd3e607(0x6a9)]();if(this[_0xd3e607(0x6b6)])_0x2efc32=this[_0xd3e607(0x6b6)];const _0x427806=_0x5f5c37[_0xd3e607(0xb21)](_0x798b08)?-0x1:0x1;if(_0x798b08==='HP')_0x2efc32[_0xd3e607(0x488)](_0x427806*_0x1f8113);if(_0x798b08==='MP')_0x2efc32[_0xd3e607(0x753)](_0x427806*_0x1f8113);},Game_Action[_0x208a24(0xbd8)]['lifeStealRate']=function(_0xc22953,_0x35f985){const _0x1d1bf7=_0x208a24;if(this[_0x1d1bf7(0xa55)](_0xc22953))return 0x0;if(this[_0x1d1bf7(0x6a9)]()[_0x1d1bf7(0x7cf)](_0xc22953))return 0x0;if(_0x35f985[_0x1d1bf7(0xade)](_0xc22953))return 0x0;let _0x5bb05a=0x0;return _0x5bb05a+=this[_0x1d1bf7(0x155)](_0xc22953),_0x5bb05a+=this[_0x1d1bf7(0x6a9)]()['lifeStealRate'](_0xc22953,this[_0x1d1bf7(0x8bb)]()[_0x1d1bf7(0x502)]),_0x5bb05a['clamp'](0x0,0x1);},Game_Action[_0x208a24(0xbd8)][_0x208a24(0xa55)]=function(_0x37dfe1){const _0x43fda4=_0x208a24;_0x37dfe1=_0x37dfe1['toUpperCase']()[_0x43fda4(0x446)]();const _0x69319a=VisuMZ[_0x43fda4(0x759)][_0x43fda4(0x780)],_0x5421c9=this['item']()['note']||'';if(_0x5421c9[_0x43fda4(0x7fc)](_0x69319a[_0x43fda4(0x770)]))return!![];if(_0x37dfe1==='HP'&&_0x5421c9['match'](_0x69319a[_0x43fda4(0x894)]))return!![];if(_0x37dfe1==='MP'&&_0x5421c9['match'](_0x69319a[_0x43fda4(0x5c2)]))return!![];return![];},Game_Action[_0x208a24(0xbd8)]['itemLifeStealRate']=function(_0x578b90){const _0x58fb74=_0x208a24,_0x4bff81=VisuMZ[_0x58fb74(0x759)][_0x58fb74(0x780)],_0x5204f1=this[_0x58fb74(0x8bb)]()['note']||'';_0x578b90=_0x578b90[_0x58fb74(0x4d6)]()['trim']();const _0x3782e7=_0x5204f1[_0x58fb74(0x7fc)](_0x4bff81['lifeSteaItem']);if(_0x3782e7)for(const _0x3fe4df of _0x3782e7){if(_0x58fb74(0x7e7)!==_0x58fb74(0x7e7))return this[_0x58fb74(0x9ce)]();else{_0x3fe4df[_0x58fb74(0x7fc)](_0x4bff81[_0x58fb74(0xbe6)]);const _0x2c9b89=String(RegExp['$1'])[_0x58fb74(0x4d6)]()[_0x58fb74(0x446)](),_0x54d614=Number(RegExp['$2'])*0.01;if(_0x2c9b89!==_0x578b90)continue;return _0x54d614;}}return 0x0;},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xb24)]=function(_0x337ce3,_0x4e1428){const _0x5c2058=_0x208a24,_0x4dc6f2=VisuMZ[_0x5c2058(0x759)]['LifeStealRegExp'];let _0x390e77=0x0;_0x337ce3=_0x337ce3['toUpperCase']()['trim']();for(const _0x2fb0f6 of this[_0x5c2058(0x8ce)]()){if(!_0x2fb0f6)continue;const _0x9e35b7=_0x2fb0f6[_0x5c2058(0x6c4)]||'',_0x348fe8=_0x9e35b7[_0x5c2058(0x7fc)](_0x4dc6f2[_0x5c2058(0xa5b)]);if(_0x348fe8){if(_0x5c2058(0xb66)!==_0x5c2058(0x9df))for(const _0x9c1bbf of _0x348fe8){_0x9c1bbf['match'](_0x4dc6f2[_0x5c2058(0xa5b)]);const _0x29b8fb=String(RegExp['$1'])[_0x5c2058(0x4d6)]()[_0x5c2058(0x446)](),_0x294e3e=String(RegExp['$2']),_0x57ef6c=Number(RegExp['$3'])*0.01;if(_0x29b8fb!==_0x337ce3)continue;if(_0x4e1428===Game_Action['HITTYPE_CERTAIN']&&_0x294e3e[_0x5c2058(0x7fc)](/CERTAIN/i)){if(_0x5c2058(0xa70)==='CSQpZ')_0x390e77+=_0x57ef6c;else{if(_0x3a443f[_0x5c2058(0x905)](_0x1853ae))return![];}}else{if(_0x4e1428===Game_Action['HITTYPE_PHYSICAL']&&_0x294e3e['match'](/PHYS/i))'wcJOa'===_0x5c2058(0x5c9)?_0x390e77+=_0x57ef6c:this[_0x5c2058(0x277)]=[];else _0x4e1428===Game_Action[_0x5c2058(0xf0)]&&_0x294e3e['match'](/MAGIC/i)&&(_0x390e77+=_0x57ef6c);}}else _0x5b54ee['addState'](_0x552355);}}return _0x390e77;},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x7cf)]=function(_0x5bc183){const _0x1566d1=_0x208a24;_0x5bc183=_0x5bc183[_0x1566d1(0x4d6)]()[_0x1566d1(0x446)]();const _0x3e16a0=VisuMZ[_0x1566d1(0x759)]['LifeStealRegExp'];for(const _0x1bf3a4 of this['traitObjects']()){if(!_0x1bf3a4)continue;const _0x251208=_0x1bf3a4['note']||'';if(_0x251208[_0x1566d1(0x7fc)](_0x3e16a0[_0x1566d1(0x2d4)]))return!![];if(_0x5bc183==='HP'&&_0x251208['match'](_0x3e16a0[_0x1566d1(0x5d4)]))return!![];if(_0x5bc183==='MP'&&_0x251208[_0x1566d1(0x7fc)](_0x3e16a0[_0x1566d1(0xc1a)]))return!![];}return![];},Game_BattlerBase[_0x208a24(0xbd8)]['isNegativeLifeSteal']=function(_0x47c145){const _0x43a6fa=_0x208a24;_0x47c145=_0x47c145[_0x43a6fa(0x4d6)]()[_0x43a6fa(0x446)]();const _0x12f4a2=VisuMZ['BattleCore'][_0x43a6fa(0x780)];for(const _0x44b6fc of this[_0x43a6fa(0x8ce)]()){if(!_0x44b6fc)continue;const _0x195253=_0x44b6fc['note']||'';if(_0x195253['match'](_0x12f4a2[_0x43a6fa(0xc95)]))return _0x43a6fa(0xec)===_0x43a6fa(0xec)?!![]:this['_distortionSprite']||this[_0x43a6fa(0x666)]||this;if(_0x47c145==='HP'&&_0x195253[_0x43a6fa(0x7fc)](_0x12f4a2[_0x43a6fa(0xc33)]))return!![];if(_0x47c145==='MP'&&_0x195253[_0x43a6fa(0x7fc)](_0x12f4a2['negativeMpLifeSteal']))return!![];}return![];},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xade)]=function(_0x213230){const _0x177432=_0x208a24;_0x213230=_0x213230[_0x177432(0x4d6)]()[_0x177432(0x446)]();const _0x3f85bd=VisuMZ[_0x177432(0x759)][_0x177432(0x780)];for(const _0x384df3 of this[_0x177432(0x8ce)]()){if(_0x177432(0x321)===_0x177432(0x321)){if(!_0x384df3)continue;const _0x154d07=_0x384df3[_0x177432(0x6c4)]||'';if(_0x154d07[_0x177432(0x7fc)](_0x3f85bd[_0x177432(0x6ff)]))return!![];if(_0x213230==='HP'&&_0x154d07[_0x177432(0x7fc)](_0x3f85bd[_0x177432(0xd2b)]))return!![];if(_0x213230==='MP'&&_0x154d07[_0x177432(0x7fc)](_0x3f85bd[_0x177432(0x5ee)]))return!![];}else{const _0x5b7d68=_0xffb5ec['inputtingAction']();if(_0x5b7d68)_0x5b7d68[_0x177432(0x8e9)](_0x177432(0x330));this[_0x177432(0x651)]();}}return![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0xaf)]=Game_BattlerBase[_0x208a24(0xbd8)]['initMembers'],Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xa17)]=function(){const _0x343c81=_0x208a24;VisuMZ[_0x343c81(0x759)][_0x343c81(0xaf)]['call'](this),this[_0x343c81(0x41c)]();},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x41c)]=function(){const _0x578bec=_0x208a24;this[_0x578bec(0x2bc)]=![];},VisuMZ[_0x208a24(0x759)]['Game_BattlerBase_refresh']=Game_BattlerBase[_0x208a24(0xbd8)]['refresh'],Game_BattlerBase['prototype'][_0x208a24(0xa22)]=function(){const _0x21d5f0=_0x208a24;this[_0x21d5f0(0x3b0)]={},VisuMZ['BattleCore'][_0x21d5f0(0x7e5)][_0x21d5f0(0x783)](this);},Game_BattlerBase[_0x208a24(0xbd8)]['checkCacheKey']=function(_0x377cc5){const _0x344571=_0x208a24;return this[_0x344571(0x3b0)]=this[_0x344571(0x3b0)]||{},this[_0x344571(0x3b0)][_0x377cc5]!==undefined;},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x6f4)]=function(){const _0x2051d1=_0x208a24;if(this['_cache'][_0x2051d1(0x6f4)]!==undefined)return this['_cache']['hardDamageCap'];const _0x56627d=/<DAMAGE CAP:[ ](\d+)>/i,_0x1aec46=this[_0x2051d1(0x8ce)]()[_0x2051d1(0x58e)](_0x574f9e=>_0x574f9e&&_0x574f9e[_0x2051d1(0x6c4)]['match'](_0x56627d)?Number(RegExp['$1']):0x0);let _0x1d02b3=_0x1aec46[_0x2051d1(0x1ba)]>0x0?Math['max'](..._0x1aec46):0x0;if(_0x1d02b3<=0x0)_0x1d02b3=VisuMZ[_0x2051d1(0x759)][_0x2051d1(0xc39)][_0x2051d1(0x7a9)][_0x2051d1(0x1c5)];return this[_0x2051d1(0x3b0)]['hardDamageCap']=_0x1d02b3,this[_0x2051d1(0x3b0)][_0x2051d1(0x6f4)];},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xc6d)]=function(){const _0x102d2d=_0x208a24;if(this[_0x102d2d(0x3b0)][_0x102d2d(0x787)]!==undefined)return this[_0x102d2d(0x3b0)][_0x102d2d(0x787)];let _0x51b15a=VisuMZ['BattleCore'][_0x102d2d(0xc39)]['Damage'][_0x102d2d(0xb0b)];const _0x2f3da9=/<SOFT DAMAGE CAP:[ ]([\+\-]\d+)([%％])>/i,_0xdb7bb=this[_0x102d2d(0x8ce)]()[_0x102d2d(0x58e)](_0x57725c=>_0x57725c&&_0x57725c[_0x102d2d(0x6c4)]['match'](_0x2f3da9)?Number(RegExp['$1'])/0x64:0x0);return _0x51b15a=_0xdb7bb[_0x102d2d(0x5dd)]((_0x41a99f,_0x3d6037)=>_0x41a99f+_0x3d6037,_0x51b15a),this[_0x102d2d(0x3b0)][_0x102d2d(0x787)]=_0x51b15a,this[_0x102d2d(0x3b0)]['softDamageCap'][_0x102d2d(0x345)](0.01,0x1);},VisuMZ['BattleCore'][_0x208a24(0x190)]=Game_BattlerBase[_0x208a24(0xbd8)]['die'],Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x880)]=function(){const _0x45e4d5=_0x208a24;VisuMZ[_0x45e4d5(0x759)][_0x45e4d5(0x190)]['call'](this),SceneManager[_0x45e4d5(0x8c3)]()&&(this[_0x45e4d5(0x90c)](_0x45e4d5(0x2e6)),this['_performDamageMotion']=undefined);},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xd08)]=function(){const _0x1c9892=_0x208a24;if(!SceneManager[_0x1c9892(0x8c3)]())return null;if(!SceneManager[_0x1c9892(0xc1b)]['_spriteset'])return null;return SceneManager[_0x1c9892(0xc1b)][_0x1c9892(0xa85)]['findTargetSprite'](this);},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x5c1)]=function(){const _0x46ebb8=_0x208a24;return VisuMZ[_0x46ebb8(0x759)]['Settings'][_0x46ebb8(0x5a5)]['AnchorX'];},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x96d)]=function(){const _0x23861b=_0x208a24;return VisuMZ[_0x23861b(0x759)]['Settings'][_0x23861b(0x5a5)][_0x23861b(0xc93)];},Game_BattlerBase[_0x208a24(0xbd8)]['svBattlerShadowVisible']=function(){const _0x3628aa=_0x208a24;if(this[_0x3628aa(0x9bf)]&&this[_0x3628aa(0x9bf)]()){if(_0x3628aa(0xb3b)===_0x3628aa(0x915))_0x177edd[_0x3628aa(0x3dc)](_0x3628aa(0x8b0));else return VisuMZ['BattleCore']['Settings']['Actor'][_0x3628aa(0x6aa)];}else return VisuMZ['BattleCore'][_0x3628aa(0xc39)][_0x3628aa(0x6bd)][_0x3628aa(0x6aa)];},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xb2f)]=function(){return!![];},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x3ee)]=function(){return 0x0;},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x6c0)]=function(){return 0x0;},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x5a1)]=function(_0x564b85){const _0x26c4b9=_0x208a24;if(!_0x564b85)return 0x0;let _0x4399fe=0x0;const _0x4b43cf=_0x564b85[_0x26c4b9(0x6c4)];return _0x4b43cf[_0x26c4b9(0x7fc)](/<BATTLE UI OFFSET X:[ ]([\+\-]\d+)>/i)&&(_0x4399fe+=Number(RegExp['$1'])),_0x4b43cf[_0x26c4b9(0x7fc)](/<BATTLE UI OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)&&(_0x4399fe+=Number(RegExp['$1'])),_0x4399fe;},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x434)]=function(_0x5b0637){const _0x18d495=_0x208a24;if(!_0x5b0637)return 0x0;let _0x49729b=0x0;const _0x18dfdf=_0x5b0637[_0x18d495(0x6c4)];return _0x18dfdf[_0x18d495(0x7fc)](/<BATTLE UI OFFSET Y:[ ]([\+\-]\d+)>/i)&&(_0x49729b+=Number(RegExp['$1'])),_0x18dfdf[_0x18d495(0x7fc)](/<BATTLE UI OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)&&('qhtaa'===_0x18d495(0xa78)?this[_0x18d495(0x39c)]('pagedown',this['selectAllActors'][_0x18d495(0xc84)](this)):_0x49729b+=Number(RegExp['$2'])),_0x49729b;},VisuMZ['BattleCore'][_0x208a24(0x268)]=Game_BattlerBase[_0x208a24(0xbd8)]['isStateResist'],Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x882)]=function(_0x1fcd94){const _0x36d4ea=_0x208a24;if(_0x1fcd94===this[_0x36d4ea(0xcb5)]()&&this['isImmortal']())return!![];return VisuMZ[_0x36d4ea(0x759)][_0x36d4ea(0x268)][_0x36d4ea(0x783)](this,_0x1fcd94);},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x9cd)]=function(){const _0x534d7f=_0x208a24;return this[_0x534d7f(0x2bc)];},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x7e2)]=function(_0x575f8b){const _0x46dc91=_0x208a24;_0x575f8b?this[_0x46dc91(0xc29)]():this[_0x46dc91(0xd3)]();},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xc29)]=function(){const _0x4443fd=_0x208a24;if(this[_0x4443fd(0x248)]())return;this[_0x4443fd(0x2bc)]=!![],this[_0x4443fd(0xd28)]=![];},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xd3)]=function(){const _0x31b115=_0x208a24,_0x5baafe=this[_0x31b115(0x97c)]();this['_immortal']=![],_0x5baafe&&this['_deathStateApplied']&&this[_0x31b115(0x880)](),this[_0x31b115(0xd28)]=![],this[_0x31b115(0xa22)](),this[_0x31b115(0x248)]()&&_0x5baafe&&(this[_0x31b115(0x352)](),this[_0x31b115(0x9a2)]());},VisuMZ[_0x208a24(0x759)][_0x208a24(0x288)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0xa59)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0xa59)]=function(){const _0x2bb3a1=_0x208a24;return this[_0x2bb3a1(0x8bb)]()?VisuMZ['BattleCore'][_0x2bb3a1(0x288)][_0x2bb3a1(0x783)](this):0x0;},VisuMZ[_0x208a24(0x759)]['Game_Action_setAttack']=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x3fb)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x3fb)]=function(){const _0x4cb953=_0x208a24;this['subject']()&&this[_0x4cb953(0x6a9)]()['canAttack']()?_0x4cb953(0x49f)===_0x4cb953(0x49f)?VisuMZ['BattleCore'][_0x4cb953(0x47d)][_0x4cb953(0x783)](this):(this[_0x4cb953(0xbad)]=0x0,this['_currentAngle']=0x0):this[_0x4cb953(0xb03)]();},VisuMZ['BattleCore'][_0x208a24(0x135)]=Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x764)],Game_BattlerBase['prototype'][_0x208a24(0x764)]=function(){const _0xf60d47=_0x208a24;if(!this['canAttackBattleCore']())return![];return VisuMZ['BattleCore'][_0xf60d47(0x135)]['call'](this);},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0xa36)]=function(){const _0x4eda72=_0x208a24;for(const _0x37ff17 of this[_0x4eda72(0x8ce)]()){if(_0x4eda72(0xb75)===_0x4eda72(0x688))return _0x3ee843[_0x4eda72(0x496)]?_0xce48be['getInputButtonString']('ok'):_0x1c53ba[_0x4eda72(0x759)][_0x4eda72(0xc39)]['AutoBattle'][_0x4eda72(0x103)];else{if(!_0x37ff17)continue;if(_0x37ff17[_0x4eda72(0x6c4)][_0x4eda72(0x7fc)](/<(?:ATTACK SEAL|SEAL ATTACK)>/i))return![];}}return!![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x7d5)]=Game_Action[_0x208a24(0xbd8)][_0x208a24(0x367)],Game_Action[_0x208a24(0xbd8)][_0x208a24(0x367)]=function(){const _0x3c12d8=_0x208a24;this[_0x3c12d8(0x6a9)]()[_0x3c12d8(0x8a3)]()&&VisuMZ[_0x3c12d8(0x759)][_0x3c12d8(0x7d5)][_0x3c12d8(0x783)](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x9c8)]=Game_BattlerBase['prototype'][_0x208a24(0x8a3)],Game_BattlerBase[_0x208a24(0xbd8)]['canGuard']=function(){const _0x5806db=_0x208a24;if(!this[_0x5806db(0x8dd)]())return![];return VisuMZ[_0x5806db(0x759)][_0x5806db(0x9c8)][_0x5806db(0x783)](this);},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x8dd)]=function(){const _0x373318=_0x208a24;for(const _0x151a86 of this[_0x373318(0x8ce)]()){if(_0x373318(0xbe5)===_0x373318(0x838))_0x2121bd[_0x373318(0x74e)]['ActSeq_Grid_AnimationIDAtNode'](_0x12e3f5);else{if(!_0x151a86)continue;if(_0x151a86['note'][_0x373318(0x7fc)](/<(?:GUARD SEAL|SEAL GUARD)>/i))return![];}}return!![];},Game_BattlerBase[_0x208a24(0xbd8)]['canUseItemCommand']=function(){const _0x3be474=_0x208a24;for(const _0x257638 of this[_0x3be474(0x8ce)]()){if(!_0x257638)continue;if(_0x257638['note'][_0x3be474(0x7fc)](/<(?:ITEM SEAL|SEAL ITEM|SEAL ITEMS)>/i))return![];}return!![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x6d0)]=Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x249)],Game_BattlerBase[_0x208a24(0xbd8)]['meetsUsableItemConditions']=function(_0x542016){const _0x4f7e93=_0x208a24;if(_0x542016&&_0x542016[_0x4f7e93(0x6c4)]['match'](/<CANNOT TARGET (?:USER|SELF)>/i)){const _0x551ab1=this[_0x4f7e93(0x281)]()[_0x4f7e93(0x49a)]();if(_0x551ab1['length']===0x1&&_0x551ab1[0x0]===this)return![];}return VisuMZ[_0x4f7e93(0x759)][_0x4f7e93(0x6d0)][_0x4f7e93(0x783)](this,_0x542016);},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x2e8)]=function(){const _0x33bcb8=_0x208a24;return VisuMZ['BattleCore'][_0x33bcb8(0xc39)]['Mechanics']['AllowRandomSpeed'];},VisuMZ[_0x208a24(0x759)][_0x208a24(0xbc1)]=Game_Battler[_0x208a24(0xbd8)]['regenerateAll'],Game_Battler['prototype'][_0x208a24(0x552)]=function(){const _0x47b5e9=_0x208a24;if(SceneManager[_0x47b5e9(0x8c3)]()){if(_0x47b5e9(0xcc0)===_0x47b5e9(0xfb))this['placeGauge'](_0x2bc606,'tp',_0x251f53+0x88*0x2+(_0x4b1342['TpGaugeOffsetX']||0x0),_0x41cf03+(_0x13e132[_0x47b5e9(0x8ba)]||0x0));else{if(BattleManager['isTpb']()){if(this[_0x47b5e9(0x1ef)]()<=0x0)return;}else{if($gameTroop[_0x47b5e9(0x1ef)]()<=0x0){if('JLold'==='JLold')return;else this[_0x47b5e9(0x30b)]=this[_0x47b5e9(0x39e)](),this[_0x47b5e9(0x7ab)](),_0x900118['prototype'][_0x47b5e9(0xa22)][_0x47b5e9(0x783)](this);}}}}if(SceneManager[_0x47b5e9(0x8c3)]()&&BattleManager['isTpb']()&&this[_0x47b5e9(0xaaa)]===Graphics[_0x47b5e9(0x9ba)]){if(_0x47b5e9(0x5e4)!==_0x47b5e9(0x5e4))_0x2c1f25[_0x47b5e9(0x759)][_0x47b5e9(0xc39)][_0x47b5e9(0x18b)][_0x47b5e9(0xc27)]&&this[_0x47b5e9(0x8d2)](),_0x53505c[_0x47b5e9(0x759)][_0x47b5e9(0x6a7)][_0x47b5e9(0x783)](this);else return;}this[_0x47b5e9(0xaaa)]=Graphics[_0x47b5e9(0x9ba)];if(SceneManager[_0x47b5e9(0x8c3)]()){if(_0x47b5e9(0xa6b)===_0x47b5e9(0xa6b))this[_0x47b5e9(0x192)](_0x47b5e9(0x8f1));else{return;this[_0x47b5e9(0x12f)]&&(this['_effectsContainer']['x']=this['x'],this[_0x47b5e9(0x12f)]['y']=this['y']),this[_0x47b5e9(0x2e1)]&&(this['_damageContainer']['x']=this['x'],this[_0x47b5e9(0x2e1)]['y']=this['y']);}}VisuMZ[_0x47b5e9(0x759)][_0x47b5e9(0xbc1)][_0x47b5e9(0x783)](this);if(SceneManager[_0x47b5e9(0x8c3)]()){if(_0x47b5e9(0x312)==='ZCKas'){const _0x1efe62=_0x1990b8['x']+_0x5d7214[_0x47b5e9(0x479)]((_0x92c69a[_0x47b5e9(0x4fe)]-_0x556879)/0x2);this[_0x47b5e9(0x49e)](_0x132db8,_0x1efe62,_0x5b0bd6['y'],_0x45801c);}else this['regenerateAllBattleCore'](),this[_0x47b5e9(0x192)](_0x47b5e9(0x974));}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xb5a)]=function(){const _0x4b11a0=_0x208a24;if(SceneManager[_0x4b11a0(0x8c3)]()){if(_0x4b11a0(0xbc3)==='eqNmy')for(const _0x376d01 of this[_0x4b11a0(0x8ce)]()){if(!_0x376d01)continue;this['onRegeneratePlayStateAnimation'](_0x376d01);}else{if(this[_0x4b11a0(0x570)]===_0x4b11a0(0x330))return _0x197bd0[_0x4b11a0(0x759)][_0x4b11a0(0x709)][_0x4b11a0(0x783)](this);return _0x5c7a15['BattleCore'][_0x4b11a0(0x709)]['call'](this);}}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x59f)]=function(_0x50fc88){const _0x583135=_0x208a24;if(!Imported[_0x583135(0x496)])return;if(!SceneManager[_0x583135(0x8c3)]())return;if(this[_0x583135(0x248)]())return;if(this[_0x583135(0x347)]())return;if(_0x50fc88[_0x583135(0x6c4)][_0x583135(0x7fc)](/<(?:REGENERATE|REGEN|DEGEN|DOT|SLIP)[ ]ANIMATION:[ ](\d+)>/i)){const _0x509774=Number(RegExp['$1']);$gameTemp[_0x583135(0xcae)]([this],_0x509774,![],![]);}},VisuMZ[_0x208a24(0x759)]['Game_Battler_startTpbTurn']=Game_Battler[_0x208a24(0xbd8)]['startTpbTurn'],Game_Battler[_0x208a24(0xbd8)]['startTpbTurn']=function(){const _0x2cfd4a=_0x208a24;this[_0x2cfd4a(0x192)](_0x2cfd4a(0x9b5)),VisuMZ['BattleCore'][_0x2cfd4a(0x3b2)][_0x2cfd4a(0x783)](this),this['processBattleCoreJS'](_0x2cfd4a(0x4a9));},VisuMZ[_0x208a24(0x759)][_0x208a24(0x68f)]=Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x7b0)],Game_Battler['prototype'][_0x208a24(0x7b0)]=function(){const _0x1a9472=_0x208a24;this[_0x1a9472(0x192)]('PreEndTurnJS'),VisuMZ[_0x1a9472(0x759)][_0x1a9472(0x68f)]['call'](this),VisuMZ[_0x1a9472(0x759)][_0x1a9472(0xc39)][_0x1a9472(0x79c)][_0x1a9472(0x8a8)]&&this[_0x1a9472(0xa03)](),this[_0x1a9472(0x192)](_0x1a9472(0xc22));},Game_Battler['prototype'][_0x208a24(0x192)]=function(_0x1e6870){const _0x24e108=_0x208a24;if(this[_0x24e108(0x635)]||this['_tempActor'])return;const _0x1f520d=VisuMZ[_0x24e108(0x759)][_0x24e108(0xc39)]['Mechanics'];if(_0x1f520d[_0x1e6870])_0x1f520d[_0x1e6870][_0x24e108(0x783)](this);for(const _0x118b1a of this[_0x24e108(0x8ce)]()){if(!_0x118b1a)continue;key=VisuMZ['BattleCore'][_0x24e108(0x362)](_0x118b1a,_0x1e6870);if(VisuMZ[_0x24e108(0x759)]['JS'][key]){if(_0x24e108(0x758)!==_0x24e108(0x8d4))VisuMZ[_0x24e108(0x759)]['JS'][key][_0x24e108(0x783)](this,this,this,_0x118b1a,0x0);else{const _0x21bc11=this[_0x24e108(0x71c)]();if(['xp'][_0x24e108(0xcaf)](_0x21bc11)&&!_0x325678[_0x24e108(0x620)]()){this[_0x24e108(0x91c)](0x0,0x0,0x0,0x0);return;}_0x4086d4['prototype']['refreshCursor'][_0x24e108(0x783)](this);}}}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x744)]=function(){const _0x1bcc1e=_0x208a24;return VisuMZ['BattleCore'][_0x1bcc1e(0xc39)][_0x1bcc1e(0x5a5)][_0x1bcc1e(0xb2a)]||![];},Game_Battler[_0x208a24(0xbd8)]['isChanting']=function(){const _0x5972bb=_0x208a24;if(this[_0x5972bb(0xabc)]()){if(this['chantStyle']()){if(_0x5972bb(0xc72)==='rPFWL'){if(this[_0x5972bb(0x569)]['some'](_0x2d954c=>_0x2d954c[_0x5972bb(0x8bb)]()&&_0x2d954c[_0x5972bb(0xcd9)]()))return!![];}else return this[_0x5972bb(0x48e)](_0x2e786b)-this[_0x5972bb(0x353)]();}else{if('HwcEB'===_0x5972bb(0x160))this[_0x5972bb(0x778)](_0x5972bb(0x1b2));else{if(this['_actions']['some'](_0x174942=>_0x174942['item']()&&_0x174942[_0x5972bb(0x4d5)]())){if('Alpra'!=='PzvbO')return!![];else{const _0x49a930=_0x5972bb(0x98a);let _0x58b8a0=_0x18d601[_0x5972bb(0x16f)],_0x270c82=_0x3b04d4['name'];const _0xc20c01=_0x4508ae['note'];return _0xc20c01[_0x5972bb(0x7fc)](/<DISPLAY ICON: (\d+)>/i)&&(_0x58b8a0=_0x829b4a(_0x47da4d['$1'])),_0xc20c01[_0x5972bb(0x7fc)](/<DISPLAY TEXT: (.*)>/i)&&(_0x270c82=_0x54c327(_0x25fcef['$1'])),_0x49a930['format'](_0x58b8a0,_0x270c82);}}}}}if(BattleManager[_0x5972bb(0xd25)]()&&this[_0x5972bb(0x329)]===_0x5972bb(0x137)){if(_0x5972bb(0x8bd)===_0x5972bb(0x174))this['_battleField']['addChild'](this[_0x5972bb(0x2cc)]);else{if(this[_0x5972bb(0x744)]())return this[_0x5972bb(0xa7b)]()&&this[_0x5972bb(0xa7b)]()[_0x5972bb(0x8bb)]()&&this[_0x5972bb(0xa7b)]()[_0x5972bb(0xcd9)]();else{if('AbiHz'===_0x5972bb(0x7f7))return this[_0x5972bb(0xa7b)]()&&this[_0x5972bb(0xa7b)]()['item']()&&this[_0x5972bb(0xa7b)]()[_0x5972bb(0x4d5)]();else _0x476382['performAttack']();}}}return![];},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xe4)]=function(){const _0x4674fd=_0x208a24;if(BattleManager[_0x4674fd(0xd25)]()&&this[_0x4674fd(0x329)]==='casting'){if(this[_0x4674fd(0x744)]())return this[_0x4674fd(0xa7b)]()&&this[_0x4674fd(0xa7b)]()[_0x4674fd(0x8bb)]()&&!this[_0x4674fd(0xa7b)]()['isMagical']();else{if('QhwOA'!=='QhwOA'){_0x555f04&&_0x4e0472&&_0x37f4b8[_0x4674fd(0x6c4)]&&this['parseForcedGameTroopSettingsBattleCore'](_0x411e57[_0x4674fd(0x6c4)]);const _0x2bb9c9=_0x4105be[_0x1825d0];if(_0x2bb9c9){let _0x47a2d9=_0x4562a8['createTroopNote'](_0x2bb9c9['id']);this[_0x4674fd(0x92f)](_0x47a2d9);}}else return this['currentAction']()&&this[_0x4674fd(0xa7b)]()[_0x4674fd(0x8bb)]()&&!this[_0x4674fd(0xa7b)]()[_0x4674fd(0x4d5)]();}}return![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x1a5)]=Game_Battler['prototype']['clearDamagePopup'],Game_Battler[_0x208a24(0xbd8)]['clearDamagePopup']=function(){const _0x48910=_0x208a24;VisuMZ[_0x48910(0x759)][_0x48910(0x1a5)][_0x48910(0x783)](this),this[_0x48910(0x55c)]=[];},Game_Battler[_0x208a24(0xbd8)]['isDamagePopupRequested']=function(){const _0x559f01=_0x208a24;if(!this['_damagePopupArray'])this[_0x559f01(0x55e)]();return this[_0x559f01(0x55c)][_0x559f01(0x1ba)]>0x0;},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xbd5)]=function(){const _0x1b3a8a=_0x208a24;if(!SceneManager[_0x1b3a8a(0x8c3)]())return;if(BattleManager[_0x1b3a8a(0xb05)]())return;if(!this[_0x1b3a8a(0x55c)])this[_0x1b3a8a(0x55e)]();this[_0x1b3a8a(0x6ad)]();const _0x1a90fe=this[_0x1b3a8a(0xd08)]();if(_0x1a90fe)_0x1a90fe['setupDamagePopup']();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x6ad)]=function(){const _0x401f3e=_0x208a24,_0x22f9e6=this[_0x401f3e(0xa19)]();if(_0x22f9e6[_0x401f3e(0x91d)]||_0x22f9e6['evaded']){if(_0x401f3e(0xa68)===_0x401f3e(0xa68)){const _0x58d41c=JsonEx['makeDeepCopy'](_0x22f9e6);_0x58d41c[_0x401f3e(0x969)]=![],_0x58d41c[_0x401f3e(0x522)]=0x0,this[_0x401f3e(0x55c)][_0x401f3e(0x7c3)](_0x58d41c);}else this['processActorCommandCancelTPB']();}if(_0x22f9e6[_0x401f3e(0x969)]){if(_0x401f3e(0x8de)!==_0x401f3e(0x8de))this[_0x401f3e(0x7c3)](_0x401f3e(0xcf5)),this['push']('popBaseLine'),this[_0x401f3e(0x7c3)]('pushBaseLine'),this['push'](_0x401f3e(0x9a1),_0x58f7fc[_0x401f3e(0x75a)](_0x22e412['name']())),this[_0x401f3e(0x7c3)](_0x401f3e(0xac0));else{const _0x3dbafd=JsonEx['makeDeepCopy'](_0x22f9e6);_0x3dbafd[_0x401f3e(0x91d)]=![],_0x3dbafd[_0x401f3e(0x5b4)]=![],_0x3dbafd['mpDamage']=0x0,this[_0x401f3e(0x55c)][_0x401f3e(0x7c3)](_0x3dbafd);}}if(_0x22f9e6[_0x401f3e(0x522)]!==0x0){if(_0x401f3e(0x1f6)===_0x401f3e(0x1f6)){const _0x530f97=JsonEx[_0x401f3e(0x2bb)](_0x22f9e6);_0x530f97[_0x401f3e(0x91d)]=![],_0x530f97[_0x401f3e(0x5b4)]=![],_0x530f97[_0x401f3e(0x969)]=![],this[_0x401f3e(0x55c)][_0x401f3e(0x7c3)](_0x530f97);}else return!![];}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x599)]=function(){const _0x4c4d8d=_0x208a24;if(!this[_0x4c4d8d(0x55c)])this[_0x4c4d8d(0x55e)]();if(VisuMZ[_0x4c4d8d(0x759)][_0x4c4d8d(0xc39)][_0x4c4d8d(0x7a9)][_0x4c4d8d(0x60b)]){if('WCXtx'!=='WCXtx'){this[_0x4c4d8d(0x7c3)](_0x4c4d8d(0xbe9),_0x3f342f);if(!_0x37ceb3['BattleCore'][_0x4c4d8d(0xc39)][_0x4c4d8d(0x98d)]['ShowReflect'])return;this[_0x4c4d8d(0x7c3)](_0x4c4d8d(0x9a1),_0x332133[_0x4c4d8d(0x91b)][_0x4c4d8d(0x75a)](_0x1c926c[_0x4c4d8d(0x278)]()));}else return this['_damagePopupArray'][_0x4c4d8d(0xd23)]();}else return this['_damagePopupArray'][_0x4c4d8d(0x6ce)]();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x98c)]=function(_0x17890e,_0x524807){const _0x52d283=_0x208a24;if(!SceneManager[_0x52d283(0x8c3)]())return;if(BattleManager[_0x52d283(0xb05)]())return;if(!this['battler']())return;if(_0x17890e['length']<=0x0)return;_0x524807=_0x524807||{},_0x524807[_0x52d283(0x119)]=_0x524807['textColor']||'#ffffff',_0x524807[_0x52d283(0x42b)]=_0x524807[_0x52d283(0x42b)]||[0x0,0x0,0x0,0x0],_0x524807[_0x52d283(0x53c)]=_0x524807['flashDuration']||0x0,this[_0x52d283(0xd08)]()[_0x52d283(0x98c)](_0x17890e,_0x524807);},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x2ae)]=function(_0xb2f9a7,_0x52308a,_0x592143){const _0x2ad064=_0x208a24;if(!SceneManager[_0x2ad064(0x8c3)]())return;if(BattleManager[_0x2ad064(0xb05)]())return;if(!this[_0x2ad064(0xd08)]())return;if(_0x52308a['length']<=0x0)return;_0x592143=_0x592143||{},_0x592143[_0x2ad064(0x119)]=_0x592143[_0x2ad064(0x119)]||_0x2ad064(0x7f6),_0x592143['flashColor']=_0x592143[_0x2ad064(0x42b)]||[0x0,0x0,0x0,0x0],_0x592143[_0x2ad064(0x53c)]=_0x592143[_0x2ad064(0x53c)]||0x0,this[_0x2ad064(0xd08)]()[_0x2ad064(0x2ae)](_0xb2f9a7,_0x52308a,_0x592143);},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x67f)]=function(){const _0x1d6cd6=_0x208a24;if(this[_0x1d6cd6(0x347)]())return![];if(this[_0x1d6cd6(0x97c)]()&&this['isAppeared']())return!![];if(this['isEnemy']()&&this['hasSvBattler']()){if(this[_0x1d6cd6(0x248)]()&&this[_0x1d6cd6(0x701)]())return![];}else{if(this[_0x1d6cd6(0x248)]())return![];}return!![];},VisuMZ['BattleCore'][_0x208a24(0xa33)]=Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xa88)],Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xa88)]=function(){const _0xb8a782=_0x208a24;VisuMZ[_0xb8a782(0x759)][_0xb8a782(0xa33)][_0xb8a782(0x783)](this),this[_0xb8a782(0x519)]();},Game_Battler[_0x208a24(0xbd8)]['canBattlerMove']=function(){return!![];},Game_Battler['prototype'][_0x208a24(0x9eb)]=function(){return![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0xbc5)]=Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x605)],Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x605)]=function(_0x6fa4c8){const _0x4fd9f2=_0x208a24;VisuMZ[_0x4fd9f2(0x759)][_0x4fd9f2(0xbc5)]['call'](this,_0x6fa4c8),this['onBattleStartBattleCore'](_0x6fa4c8),this[_0x4fd9f2(0x55e)]();},Game_Battler[_0x208a24(0xbd8)]['onBattleStartBattleCore']=function(_0x15dc3f){const _0x41a170=_0x208a24;this[_0x41a170(0xbde)](![]),this[_0x41a170(0xc7e)]=undefined,this['_forcedHomeY']=undefined;},VisuMZ[_0x208a24(0x759)][_0x208a24(0xc0b)]=Game_Battler['prototype'][_0x208a24(0x722)],Game_Battler[_0x208a24(0xbd8)]['onBattleEnd']=function(){const _0x2d221a=_0x208a24;VisuMZ[_0x2d221a(0x759)][_0x2d221a(0xc0b)][_0x2d221a(0x783)](this),this[_0x2d221a(0xbf1)]();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xbf1)]=function(){const _0x4421d5=_0x208a24;this[_0x4421d5(0xc7e)]=undefined,this[_0x4421d5(0xaf3)]=undefined;},VisuMZ[_0x208a24(0x759)]['Game_Battler_performActionStart']=Game_Battler['prototype'][_0x208a24(0x997)],Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x997)]=function(_0x1546b6){const _0x4a8296=_0x208a24;VisuMZ['BattleCore'][_0x4a8296(0x414)]['call'](this,_0x1546b6);if(!_0x1546b6['isGuard']()){const _0x298e3e=this[_0x4a8296(0xd08)]();if(_0x298e3e){if('JGWvA'===_0x4a8296(0x9fa)){const _0x4ccce1=_0x38bb17[this['_actor'][_0x4a8296(0x152)]()];if(!_0x4ccce1)return;if(!this['canAddSkillCommand'](_0x4ccce1))return;const _0x7b553e=this[_0x4a8296(0xbb1)](),_0x4576e0=_0x22e8d3[_0x4a8296(0x157)](_0x4ccce1),_0x2db811=_0x21b5f2[_0x4a8296(0x572)](_0x4ccce1),_0x5aebb0=_0x7b553e===_0x4a8296(0xa9c)?_0x4576e0:'\x5cI[%1]%2'['format'](_0x2db811,_0x4576e0);this[_0x4a8296(0xb83)](_0x5aebb0,_0x4a8296(0xc18),this[_0x4a8296(0x302)]['canGuard']());}else _0x298e3e['stepForward']();}}this[_0x4a8296(0xbde)](![]);},Game_Battler[_0x208a24(0xbd8)]['performActionEndMembers']=function(){const _0x2fc8f1=_0x208a24,_0x209287=this[_0x2fc8f1(0x93f)];this[_0x2fc8f1(0x93f)]=![];if(BattleManager[_0x2fc8f1(0x3c0)]()&&this['isInputting']()){const _0x535396=this[_0x2fc8f1(0xd08)]();if(_0x535396&&_0x209287)_0x535396['stepForward']();return;}const _0x9fbea7=this[_0x2fc8f1(0xd08)]();if(_0x9fbea7)_0x9fbea7[_0x2fc8f1(0x642)]();this[_0x2fc8f1(0xbde)](![]),this['requestMotionRefresh']();},Game_Battler[_0x208a24(0xbd8)]['performActionMotions']=function(_0x5e074d){const _0x383cab=_0x208a24;if(_0x5e074d[_0x383cab(0x67d)]())this[_0x383cab(0x5e0)]();else{if(_0x5e074d[_0x383cab(0x592)]()){if(_0x383cab(0x5b6)!==_0x383cab(0x5b6)){const _0x237920=_0x1ef824[_0x383cab(0x378)][0x0];if(_0x237920[_0x383cab(0x7fc)](/<ONCE PARALLEL WHEN START BATTLE>/i))return!![];}else this['requestMotion'](_0x383cab(0xc18));}else{if(_0x5e074d['isMagical']())this['requestMotion'](_0x383cab(0x5b1));else{if(_0x5e074d[_0x383cab(0x269)]())[0x1,0x2,0x5,0x6][_0x383cab(0xcaf)](_0x5e074d[_0x383cab(0x8bb)]()['damage'][_0x383cab(0x4f8)])?this[_0x383cab(0x5e0)]():this[_0x383cab(0x90c)]('skill');else _0x5e074d[_0x383cab(0x6f3)]()&&this[_0x383cab(0x90c)](_0x383cab(0x8bb));}}}},Game_Battler[_0x208a24(0xbd8)]['getAttackMotion']=function(){const _0x4211d9=_0x208a24;return $dataSystem[_0x4211d9(0xba)][0x0];},Game_Battler['prototype'][_0x208a24(0xcbb)]=function(){const _0x42133c=_0x208a24,_0x5312ae=this[_0x42133c(0x863)]();return _0x5312ae?_0x5312ae['weaponImageId']:0x0;},Game_Battler['prototype'][_0x208a24(0xd5b)]=function(_0x4ab475){const _0x30c070=_0x208a24;if(!$gameSystem['isSideView']())return;const _0x4a5e9a=this[_0x30c070(0xd08)](),_0x258cc7=_0x4ab475[_0x30c070(0xd08)]();if(!_0x4a5e9a||!_0x258cc7)return;const _0x3332c8=_0x258cc7['_baseX'],_0x236d07=_0x258cc7[_0x30c070(0x832)];this[_0x30c070(0x70e)](_0x3332c8,_0x236d07,0x0,![],_0x30c070(0xc0e),-0x1),_0x4a5e9a[_0x30c070(0x295)]();const _0x31be61=VisuMZ['BattleCore'][_0x30c070(0xc39)][_0x30c070(0x9b7)];let _0xf532c1=(_0x258cc7[_0x30c070(0x4fe)]+_0x4a5e9a[_0x30c070(0x4fe)])/0x2;_0xf532c1*=this[_0x30c070(0x9bf)]()?0x1:-0x1;let _0x26d935=_0x31be61[_0x30c070(0x7d9)]*(this[_0x30c070(0x9bf)]()?0x1:-0x1);_0x4ab475['moveBattlerDistance'](_0xf532c1,_0x26d935,0x0,![],_0x30c070(0xc0e)),_0x258cc7[_0x30c070(0x295)]();},Game_Battler[_0x208a24(0xbd8)]['requestMotion']=function(_0x2e1e81){const _0x567ad2=_0x208a24;if(SceneManager[_0x567ad2(0x8c3)]()){if(_0x567ad2(0x4a3)!==_0x567ad2(0x4a3))this['setWaitMode'](_0x567ad2(0xb43));else{const _0xf3cc27=this[_0x567ad2(0xd08)]();_0xf3cc27&&(_0xf3cc27[_0x567ad2(0xc0)](_0x2e1e81),[_0x567ad2(0xb89),_0x567ad2(0xd3e),_0x567ad2(0xb67)][_0x567ad2(0xcaf)](_0x2e1e81)&&this[_0x567ad2(0xd12)]());}}this[_0x567ad2(0x519)]();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xd12)]=function(){},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x138)]=function(_0x2d16d6){const _0x34054f=_0x208a24;if(SceneManager['isSceneBattle']()){const _0x5b103f=this[_0x34054f(0xd08)]();if(_0x5b103f)_0x5b103f[_0x34054f(0x472)](_0x2d16d6);}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x8a0)]=function(){const _0x1c65a9=_0x208a24;if(SceneManager[_0x1c65a9(0x8c3)]()){const _0x1afb99=this[_0x1c65a9(0xcbb)]();this[_0x1c65a9(0x138)](_0x1afb99);}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xb17)]=function(_0xc6fcfe,_0x5d9dfe){const _0x402cc3=_0x208a24;if(!_0xc6fcfe)return;if(!_0xc6fcfe['item']())return;if(_0xc6fcfe[_0x402cc3(0x67d)]())return;if(_0xc6fcfe[_0x402cc3(0x592)]())return;if(_0xc6fcfe['isItem']())return;if($gameTemp[_0x402cc3(0xada)])return;let _0xc718e=0x0;const _0x59d514=VisuMZ[_0x402cc3(0x759)][_0x402cc3(0xc39)]['ActionSequence'],_0x2e2d5a=_0xc6fcfe[_0x402cc3(0x8bb)]()[_0x402cc3(0x6c4)];if(_0x2e2d5a[_0x402cc3(0x7fc)](/<CAST ANIMATION: (\d+)>/i))_0xc718e=Number(RegExp['$1']);else{if(_0x2e2d5a[_0x402cc3(0x7fc)](/<NO CAST ANIMATION>/i)){if('xCFox'!==_0x402cc3(0x704))return;else{const _0x1316ae=this[_0x402cc3(0x570)]||'',_0x244638=_0x625fca[_0x402cc3(0x18c)](_0x1316ae);if(!_0x244638)return this[_0x402cc3(0x871)]();if(!_0x244638[_0x402cc3(0x97c)]())return this[_0x402cc3(0x871)]();return _0x244638;}}else{if(_0xc6fcfe[_0x402cc3(0x58d)]())_0xc718e=_0x59d514[_0x402cc3(0x88c)];else{if(_0xc6fcfe[_0x402cc3(0xbcf)]())_0xc718e=_0x59d514[_0x402cc3(0x9d0)];else _0xc6fcfe[_0x402cc3(0xcd9)]()&&(_0xc718e=_0x59d514[_0x402cc3(0xbec)]);}}}_0xc718e>0x0&&$gameTemp[_0x402cc3(0x2d8)]([this],_0xc718e,!!_0x5d9dfe);},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xbe9)]=function(){const _0xd1ec7d=_0x208a24;SoundManager[_0xd1ec7d(0xd1d)]();let _0x24c1c8=VisuMZ[_0xd1ec7d(0x759)][_0xd1ec7d(0xc39)][_0xd1ec7d(0x9b7)]['ReflectAnimation'];if(_0x24c1c8>0x0){if('mmWyp'===_0xd1ec7d(0x4b8)){if(Imported[_0xd1ec7d(0x496)])$gameTemp[_0xd1ec7d(0xcae)]([this],_0x24c1c8);else{if(_0xd1ec7d(0xa4b)===_0xd1ec7d(0x2ac)){this[_0xd1ec7d(0xcab)]['opacity']=0x0;return;}else $gameTemp['requestAnimation']([this],_0x24c1c8);}}else{if(!_0x4e5f7c[_0xd1ec7d(0x8c3)]())return;_0x520c2c[_0xd1ec7d(0x4f4)](_0x4fb7cc,_0x118108);const _0x593efe=_0xee6124['getLastPluginCommandInterpreter'](),_0x37d670=_0x19eba5[_0xd1ec7d(0x64d)],_0x553333=_0x17e63e[_0xd1ec7d(0x5bd)](_0x5a6c57[_0xd1ec7d(0x83d)]),_0x35eeb1=_0x2e3140[_0xd1ec7d(0x6f6)];if(!_0x593efe||!_0x37d670)return;const _0x1e3ea7=_0x12dc5a[_0x37d670[_0xd1ec7d(0x152)]()],_0x52233c=_0x1e3ea7['animationId'];_0x43e1f2[_0xd1ec7d(0x2d8)](_0x553333,_0x52233c,_0x35eeb1),_0x1be716[_0xd1ec7d(0x610)]&&_0x593efe[_0xd1ec7d(0x3dc)](_0xd1ec7d(0x7d6));}}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x54f)]=function(){const _0x17ca96=_0x208a24;if(!$gameSystem[_0x17ca96(0x620)]())return![];if(!BattleManager[_0x17ca96(0x3c0)]())return![];if(!this[_0x17ca96(0x97c)]())return![];if(this['isInputting']())return!![];if(this['isTpbReady']())return!![];if(this[_0x17ca96(0x5db)]>=0x1)return!![];return![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x6c6)]=Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x67a)],Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x67a)]=function(){const _0x5b3bfc=_0x208a24;if(this['isActiveTpbReady']()){if(_0x5b3bfc(0x79a)===_0x5b3bfc(0x462))return _0x40e6c6['BattleCore']['Game_Action_isForFriend'][_0x5b3bfc(0x783)](this);else this['_performDamageMotion']=!![];}VisuMZ[_0x5b3bfc(0x759)][_0x5b3bfc(0x6c6)][_0x5b3bfc(0x783)](this),this[_0x5b3bfc(0x453)](),this[_0x5b3bfc(0x5be)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xd49)]=Game_Battler['prototype'][_0x208a24(0x1cd)],Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x1cd)]=function(){const _0x1553b9=_0x208a24;this[_0x1553b9(0x54f)]()&&(_0x1553b9(0x96f)!==_0x1553b9(0x581)?this[_0x1553b9(0x893)]=!![]:_0xfe5763[_0x1553b9(0x64d)][_0x1553b9(0xbd3)](_0x47fd21)),VisuMZ['BattleCore'][_0x1553b9(0xd49)]['call'](this),this[_0x1553b9(0x453)]();},VisuMZ['BattleCore']['Game_Battler_performEvasion']=Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x601)],Game_Battler['prototype']['performEvasion']=function(){const _0x33edc5=_0x208a24;this[_0x33edc5(0x54f)]()&&(this[_0x33edc5(0x893)]=!![]),VisuMZ['BattleCore'][_0x33edc5(0x53b)]['call'](this),this['performFlinch']();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x453)]=function(){const _0x519f67=_0x208a24;if(!$gameSystem[_0x519f67(0x620)]())return;if(this[_0x519f67(0x93f)])return;this[_0x519f67(0x93f)]=!![];const _0x304f36=this[_0x519f67(0xd08)]();if(_0x304f36)_0x304f36[_0x519f67(0xaf5)]();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x5be)]=function(){const _0x3c58f8=_0x208a24;if(!this[_0x3c58f8(0x621)]())return;const _0x115a04=VisuMZ[_0x3c58f8(0x759)][_0x3c58f8(0xc39)]['Actor'];if(!(_0x115a04[_0x3c58f8(0xb25)]??![]))return;if(this[_0x3c58f8(0x624)]<=0x0)return;const _0x1afa33=this[_0x3c58f8(0xd08)]();if(_0x1afa33){const _0x59c7c5=this[_0x3c58f8(0x624)],_0x27b845=(_0x59c7c5/this[_0x3c58f8(0x94f)])[_0x3c58f8(0x345)](0.8,0x1),_0x5b1059=_0x115a04[_0x3c58f8(0x81e)]??0x30,_0x338657=_0x27b845*_0x5b1059;_0x1afa33[_0x3c58f8(0x1cb)](_0x338657,_0x27b845);}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x9a2)]=function(){const _0x46665e=_0x208a24;if(this[_0x46665e(0x248)]()&&this[_0x46665e(0xa34)]!==_0x46665e(0x2e6)){this['requestMotion'](_0x46665e(0x2e6));return;}if(this[_0x46665e(0x248)]()&&this[_0x46665e(0xa34)]===_0x46665e(0x2e6))return;if(!!this[_0x46665e(0x305)])return;if(this['isEnemy']()){if(!this[_0x46665e(0x586)]()&&this!==BattleManager[_0x46665e(0x64d)]){if(this['battler']())this[_0x46665e(0xd08)]()[_0x46665e(0x4a2)]();}this['clearFreezeMotion']();return;}if(this['_motionType']==='victory')return;if(this[_0x46665e(0xa34)]==='escape'&&!BattleManager[_0x46665e(0x6a4)]())return;if(this['_motionType']===_0x46665e(0xc18)&&!BattleManager[_0x46665e(0x6a4)]())return;this['clearMotion']();if(BattleManager[_0x46665e(0x3c0)]()&&this===BattleManager[_0x46665e(0x64d)])return;if(this[_0x46665e(0xd08)]()&&BattleManager[_0x46665e(0x6a4)]()){if(_0x46665e(0x4ee)!=='CYaVL')_0x297199[_0x46665e(0xbd8)][_0x46665e(0x3c1)][_0x46665e(0x783)](this),this[_0x46665e(0x24e)](),this['updateCancel']();else{this[_0x46665e(0xd08)]()[_0x46665e(0x4a2)](),this['clearFreezeMotion']();return;}}},Game_Enemy['prototype']['isDuringNonLoopingMotion']=function(){const _0x4d3e46=_0x208a24;if(!this['hasSvBattler']())return![];const _0x259df9=this['battler']();if(!_0x259df9)return![];const _0x4a291b=_0x259df9[_0x4d3e46(0x73b)];if(!_0x4a291b)return![];const _0xff854d=_0x4a291b[_0x4d3e46(0x46f)];return _0xff854d&&!_0xff854d[_0x4d3e46(0x584)];},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xc8f)]=function(){const _0x4f974d=_0x208a24;return this[_0x4f974d(0x7fb)];},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xbde)]=function(_0x7d419c){const _0x3a7609=_0x208a24;if(!$gameSystem[_0x3a7609(0x620)]())return;this[_0x3a7609(0x7fb)]=_0x7d419c;const _0xa4139f=this[_0x3a7609(0xd08)]();if(_0xa4139f)_0xa4139f[_0x3a7609(0x609)]();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xce)]=function(_0x30f1c2,_0x238b87,_0x2ceafd){const _0x5c3e58=_0x208a24;if(!$gameSystem['isSideView']())return;const _0x5db7b7=this['battler']();if(!_0x5db7b7)return;if(_0x30f1c2===_0x5db7b7['_baseX'])return;let _0x12b09d=![];if(this['isActor']()){if(_0x30f1c2>_0x5db7b7['_baseX'])_0x12b09d=!![];if(_0x30f1c2<_0x5db7b7[_0x5c3e58(0x169)])_0x12b09d=![];}else{if(this['isEnemy']()){if(_0x5c3e58(0x21c)==='DwGDP'){if(_0x30f1c2>_0x5db7b7['_baseX'])_0x12b09d=![];if(_0x30f1c2<_0x5db7b7[_0x5c3e58(0x169)])_0x12b09d=!![];}else{if(this[_0x5c3e58(0x594)]===_0xbeaeff)return;_0x6b31e5[_0x5c3e58(0xbd8)][_0x5c3e58(0x6ec)][_0x5c3e58(0x783)](this);}}};this['setBattlerFlip'](_0x2ceafd?!_0x12b09d:_0x12b09d),_0x5db7b7[_0x5c3e58(0x609)]();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xb88)]=function(_0x4f5981,_0x24b34a,_0x3c875a,_0x243ff0,_0x51e7e6){const _0x3a93c0=_0x208a24;if(!$gameSystem['isSideView']())return;const _0x27fea6=this[_0x3a93c0(0xd08)]();if(!_0x27fea6)return;if(_0x243ff0)this['setBattlerFacePoint'](_0x4f5981+_0x27fea6[_0x3a93c0(0x169)],_0x24b34a+_0x27fea6['_baseY'],![]);_0x4f5981+=_0x27fea6['_baseX']-_0x27fea6[_0x3a93c0(0xd02)],_0x24b34a+=_0x27fea6[_0x3a93c0(0x832)]-_0x27fea6['_homeY'],_0x27fea6[_0x3a93c0(0x927)](_0x4f5981,_0x24b34a,_0x3c875a);if(Imported[_0x3a93c0(0x496)])_0x27fea6[_0x3a93c0(0x112)](_0x51e7e6||'Linear');},Game_Battler['prototype'][_0x208a24(0x70e)]=function(_0x2bc316,_0x3645d8,_0x1e67d2,_0x396617,_0xd0c12b,_0x24dcef){const _0x4434fc=_0x208a24;if(!$gameSystem[_0x4434fc(0x620)]())return;const _0x5b1709=this[_0x4434fc(0xd08)]();if(!_0x5b1709)return;if(_0x2bc316===Infinity||_0x3645d8===Infinity)return;if(isNaN(_0x2bc316)||isNaN(_0x3645d8))return;_0x24dcef=_0x24dcef||0x0;if(_0x24dcef>0x0){if(_0x5b1709[_0x4434fc(0x169)]>_0x2bc316)_0x2bc316+=_0x5b1709[_0x4434fc(0x4fe)]/0x2+_0x24dcef;if(_0x5b1709[_0x4434fc(0x169)]<_0x2bc316)_0x2bc316-=_0x5b1709[_0x4434fc(0x4fe)]/0x2+_0x24dcef;}if(_0x396617)this[_0x4434fc(0xce)](_0x2bc316,_0x3645d8,![]);_0x2bc316-=_0x5b1709[_0x4434fc(0xd02)],_0x3645d8-=_0x5b1709[_0x4434fc(0x66c)],_0x5b1709[_0x4434fc(0x927)](_0x2bc316,_0x3645d8,_0x1e67d2);if(Imported[_0x4434fc(0x496)])_0x5b1709['setMoveEasingType'](_0xd0c12b||_0x4434fc(0xc0e));},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xa0a)]=function(_0x1f34ac,_0x505db7,_0x325119,_0x2193d8,_0x1cddbf){const _0x107b60=_0x208a24;if(!$gameSystem[_0x107b60(0x620)]())return;const _0x30fa38=this[_0x107b60(0xd08)]();if(!_0x30fa38)return;if(_0x2193d8)this[_0x107b60(0xce)](_0x1f34ac+_0x30fa38[_0x107b60(0x169)],_0x505db7+_0x30fa38[_0x107b60(0x832)],![]);_0x1f34ac+=_0x30fa38['_homeX'],_0x505db7+=_0x30fa38['_homeY'],_0x30fa38[_0x107b60(0x625)](_0x1f34ac,_0x505db7,_0x325119,_0x1cddbf),this['_forcedHomeX']=_0x1f34ac,this[_0x107b60(0xaf3)]=_0x505db7;},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xcc3)]=function(_0x4c85ca,_0x351c95,_0x38ae88,_0x29f530,_0x19c8d1,_0x304dd4){const _0x471aa2=_0x208a24;if(!$gameSystem[_0x471aa2(0x620)]())return;const _0x299d46=this['battler']();if(!_0x299d46)return;_0x304dd4=_0x304dd4||0x0;if(_0x304dd4>0x0){if(_0x471aa2(0x7de)==='ULXGb'){if(_0x299d46[_0x471aa2(0x169)]>_0x4c85ca)_0x4c85ca+=_0x299d46[_0x471aa2(0x4fe)]/0x2+_0x304dd4;if(_0x299d46['_baseX']<_0x4c85ca)_0x4c85ca-=_0x299d46['width']/0x2+_0x304dd4;}else _0x32381e[_0x471aa2(0xac0)](0x1),_0x2b44fc[_0x471aa2(0x3dc)](_0x471aa2(0xa89));}if(_0x29f530)this['setBattlerFacePoint'](_0x4c85ca,_0x351c95,![]);_0x299d46[_0x471aa2(0x625)](_0x4c85ca,_0x351c95,_0x38ae88,_0x19c8d1),this[_0x471aa2(0xc7e)]=_0x4c85ca,this[_0x471aa2(0xaf3)]=_0x351c95;},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xa6c)]=function(_0x36414a,_0xfb81bc,_0x2b63d2){const _0x260d12=_0x208a24;if(!$gameSystem[_0x260d12(0x620)]())return;const _0x41b851=this['battler']();if(!_0x41b851)return;_0x41b851[_0x260d12(0x206)](_0x36414a,_0xfb81bc,_0x2b63d2);},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x126)]=function(_0x2ff8a7,_0x40a9a3){const _0x168569=_0x208a24;if(!$gameSystem[_0x168569(0x620)]())return;const _0x3c6947=this['battler']();if(!_0x3c6947)return;_0x3c6947[_0x168569(0x970)](_0x2ff8a7,_0x40a9a3);},Game_Battler[_0x208a24(0xbd8)]['spinBattler']=function(_0x567adc,_0x1b6e0c,_0x4ee40a,_0x33367c){const _0x553123=_0x208a24;if(!$gameSystem[_0x553123(0x620)]())return;const _0x572261=this['battler']();if(!_0x572261)return;_0x572261[_0x553123(0x978)](_0x567adc,_0x1b6e0c,_0x4ee40a,_0x33367c);},Game_Battler['prototype']['skewBattler']=function(_0x454f73,_0x389e73,_0x17ca4f,_0x39eef2){const _0x33ce71=_0x208a24;if(!$gameSystem['isSideView']())return;const _0x1aa539=this[_0x33ce71(0xd08)]();if(!_0x1aa539)return;this[_0x33ce71(0x9bf)]()&&('TLVDD'===_0x33ce71(0x405)?(_0x235108=_0xe5f7f[_0x33ce71(0xd08)]()[_0x33ce71(0xd02)],_0x4829a1=_0x2431dd[_0x33ce71(0xd08)]()['_homeY']):(_0x454f73*=-0x1,_0x389e73*=-0x1)),_0x1aa539['startSkew'](_0x454f73,_0x389e73,_0x17ca4f,_0x39eef2);},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x518)]=function(_0x294825,_0x4a9246,_0x39ebb0,_0x3cae23){const _0x4435ab=_0x208a24;if(!$gameSystem[_0x4435ab(0x620)]())return;const _0x160ce6=this[_0x4435ab(0xd08)]();if(!_0x160ce6)return;_0x160ce6[_0x4435ab(0x293)](_0x294825,_0x4a9246,_0x39ebb0,_0x3cae23);},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x92d)]=function(_0x222445,_0x20bff9,_0x30b765){const _0x3f711a=_0x208a24;if(!$gameSystem['isSideView']())return;const _0x1b9073=this[_0x3f711a(0xd08)]();if(!_0x1b9073)return;_0x1b9073[_0x3f711a(0x41b)](_0x222445,_0x20bff9,_0x30b765);},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x519)]=function(){const _0xbe3641=_0x208a24,_0x479682=!!this[_0xbe3641(0x305)];this[_0xbe3641(0x305)]=undefined,_0x479682&&(this[_0xbe3641(0x9a2)](),this['clearFreezeMotionForWeapons']());},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x283)]=function(){const _0x44fdcc=_0x208a24;if(!SceneManager[_0x44fdcc(0x8c3)]())return;const _0x2a3c6a=this[_0x44fdcc(0xd08)]();if(!_0x2a3c6a)return;let _0x1556f9=this[_0x44fdcc(0x9bf)]()?_0x2a3c6a[_0x44fdcc(0x799)]:_0x2a3c6a[_0x44fdcc(0x73b)]['_weaponSprite'];if(_0x1556f9){if(_0x44fdcc(0x800)===_0x44fdcc(0xd2c))return this[_0x44fdcc(0xbf7)]>0x0;else _0x1556f9[_0x44fdcc(0x876)](0x0);}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x7a2)]=function(_0x3d8449,_0x440d20,_0x33e9b6){const _0x2e1989=_0x208a24;if(this['isEnemy']()&&!this[_0x2e1989(0x814)]())return;let _0x3de475=0x0,_0x1ac0f4=0x0;if(_0x3d8449['match'](/ATTACK[ ](\d+)/i)){if(_0x2e1989(0x5ce)!==_0x2e1989(0x5ce)){_0x1649c5=_0x41dd62[_0x2e1989(0x759)][_0x2e1989(0x3b4)][_0x2e1989(0x783)](this);const _0x2c3170=_0x11da31[_0x2e1989(0x759)][_0x2e1989(0x362)](this[_0x2e1989(0x8bb)](),_0x2e1989(0x83d));return _0x1e3728=_0x2675aa['BattleCore']['JS'][_0x2c3170][_0x2e1989(0x783)](this,this[_0x2e1989(0x6a9)](),_0xaae5cc),this[_0x2e1989(0xc25)](_0x10f73f);}else _0x1ac0f4=Number(RegExp['$1']),_0x1ac0f4--;}if(this[_0x2e1989(0x9bf)]()){const _0x11aa0c=this[_0x2e1989(0x202)]();_0x3de475=_0x11aa0c[_0x1ac0f4]?_0x11aa0c[_0x1ac0f4][_0x2e1989(0x7ea)]:0x0;}else{if(this[_0x2e1989(0x27a)]()){if(_0x2e1989(0x58a)==='CmmjK')return this[_0x2e1989(0x819)]();else _0x3de475=this[_0x2e1989(0x93a)]()[_0x2e1989(0x7ea)]||0x0;}}const _0x7e5a20=$dataSystem[_0x2e1989(0xba)][_0x3de475];_0x3d8449[_0x2e1989(0x7fc)](/attack/i)&&(_0x3d8449=[_0x2e1989(0xd3e),_0x2e1989(0xb89),'missile'][_0x7e5a20['type']]||_0x2e1989(0xb89)),this[_0x2e1989(0x305)]={'motionType':_0x3d8449,'weaponImageId':_0x440d20?_0x7e5a20['weaponImageId']:0x0,'pattern':_0x33e9b6};},Game_Battler[_0x208a24(0xbd8)]['isFriendly']=function(_0x147222){const _0x1f0a2b=_0x208a24;if(!_0x147222)return![];return _0x147222['friendsUnit']()===this[_0x1f0a2b(0x281)]();},Game_Battler['prototype']['isOpponent']=function(_0x5466eb){const _0x56a2fb=_0x208a24;if(!_0x5466eb)return![];return _0x5466eb[_0x56a2fb(0x505)]()===this[_0x56a2fb(0x281)]();},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x93c)]=function(){return![];},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x93c)]=function(){const _0x1987ae=_0x208a24;return this[_0x1987ae(0xcb7)]()['match'](/\$/i);},Game_Enemy['prototype'][_0x208a24(0x93c)]=function(){const _0x2b6222=_0x208a24;return this['hasSvBattler']()&&this[_0x2b6222(0xb1b)]()[_0x2b6222(0x7fc)](/\$/i);},VisuMZ[_0x208a24(0x759)]['Game_Actor_setup']=Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x876)],Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x876)]=function(_0x3dd409){const _0xdddb41=_0x208a24;VisuMZ['BattleCore'][_0xdddb41(0x8c1)][_0xdddb41(0x783)](this,_0x3dd409),this[_0xdddb41(0x6e5)]();},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x6e5)]=function(){const _0xcb27a1=_0x208a24;this[_0xcb27a1(0xc90)]='',this['actor']()&&this[_0xcb27a1(0x178)]()[_0xcb27a1(0x6c4)][_0xcb27a1(0x7fc)](/<BATTLE (?:IMAGE|PORTRAIT):[ ](.*)>/i)&&(this[_0xcb27a1(0xc90)]=String(RegExp['$1']));},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0xaaf)]=function(){const _0x11ab0e=_0x208a24;if(this['getBattlePortrait']()!=='')return this[_0x11ab0e(0x819)]();else{if(Imported[_0x11ab0e(0xa14)]&&this['getMenuImage']()!=='')return this[_0x11ab0e(0x531)]();}return'';},Game_Actor[_0x208a24(0xbd8)]['getBattlePortrait']=function(){const _0x15fcf8=_0x208a24;if(this[_0x15fcf8(0xc90)]===undefined)this[_0x15fcf8(0x6e5)]();return this[_0x15fcf8(0xc90)];},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x365)]=function(_0x111b33){const _0x95bf77=_0x208a24;if(this[_0x95bf77(0xc90)]===undefined)this['initBattlePortrait']();this[_0x95bf77(0xc90)]=_0x111b33;if(SceneManager['isSceneBattle']()&&$gameParty['battleMembers']()[_0x95bf77(0xcaf)](this)){const _0xf8dbad=SceneManager[_0x95bf77(0xc1b)][_0x95bf77(0xb91)];_0xf8dbad&&('MOgww'!==_0x95bf77(0x30e)?_0xf8dbad[_0x95bf77(0x503)](this):this[_0x95bf77(0x18e)]());}},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x3c4)]=function(){return!![];},Game_Actor[_0x208a24(0xbd8)]['isAutoBattle']=function(){const _0x41bbc0=_0x208a24;if(!this[_0x41bbc0(0x82a)]()&&BattleManager['_autoBattle'])return!![];return Game_Battler['prototype'][_0x41bbc0(0x1d9)][_0x41bbc0(0x783)](this);},VisuMZ['BattleCore'][_0x208a24(0xb0c)]=Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x1b8)],Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x1b8)]=function(){const _0x4d415a=_0x208a24;if(BattleManager['_autoBattle']&&!ConfigManager[_0x4d415a(0xca8)])return this[_0x4d415a(0x18d)]();else{if(_0x4d415a(0xb9e)!==_0x4d415a(0xb9e))return this[_0x4d415a(0x8ac)]()[_0x4d415a(0x92b)](_0x259a7c=>_0x259a7c[_0x4d415a(0x20c)]());else{return VisuMZ[_0x4d415a(0x759)][_0x4d415a(0xb0c)][_0x4d415a(0x783)](this);;}}},Game_Actor['prototype'][_0x208a24(0x18d)]=function(){const _0x453c2d=_0x208a24,_0x1b9509=[],_0x414c9b=new Game_Action(this);return _0x414c9b[_0x453c2d(0x3fb)](),_0x1b9509['push'](_0x414c9b),_0x1b9509;},Game_Actor[_0x208a24(0xbd8)]['battleCommands']=function(){const _0x1df55=_0x208a24;return this['currentClass']()[_0x1df55(0x6c4)]['match'](/<BATTLE COMMANDS>\s*([\s\S]*)\s*<\/BATTLE COMMANDS>/i)?String(RegExp['$1'])[_0x1df55(0xc85)](/[\r\n]+/):VisuMZ[_0x1df55(0x759)]['Settings']['ActorCmd'][_0x1df55(0x949)];},Game_Actor['prototype'][_0x208a24(0x5c1)]=function(){const _0x176c71=_0x208a24;if(this[_0x176c71(0x3b0)]['svAnchorX']!==undefined)return this[_0x176c71(0x3b0)][_0x176c71(0x854)];return this[_0x176c71(0x178)]()[_0x176c71(0x6c4)][_0x176c71(0x7fc)](/<SIDEVIEW ANCHOR: (.*), (.*)>/i)?(this[_0x176c71(0x3b0)][_0x176c71(0x854)]=eval(RegExp['$1']),this['_cache']['svAnchorY']=eval(RegExp['$2'])):'kMduc'===_0x176c71(0x9f1)?this[_0x176c71(0x893)]=!![]:this[_0x176c71(0x3b0)]['svAnchorX']=Game_Battler[_0x176c71(0xbd8)][_0x176c71(0x5c1)][_0x176c71(0x783)](this),this['_cache'][_0x176c71(0x854)];},Game_Actor['prototype'][_0x208a24(0x96d)]=function(){const _0x410fd2=_0x208a24;if(this[_0x410fd2(0x3b0)][_0x410fd2(0x713)]!==undefined)return this['_cache'][_0x410fd2(0x713)];return this[_0x410fd2(0x178)]()[_0x410fd2(0x6c4)][_0x410fd2(0x7fc)](/<SIDEVIEW ANCHOR: (.*), (.*)>/i)?(this['_cache'][_0x410fd2(0x854)]=eval(RegExp['$1']),this['_cache']['svAnchorY']=eval(RegExp['$2'])):this[_0x410fd2(0x3b0)][_0x410fd2(0x713)]=Game_Battler['prototype'][_0x410fd2(0x96d)][_0x410fd2(0x783)](this),this[_0x410fd2(0x3b0)][_0x410fd2(0x713)];},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x689)]=function(){const _0x192997=_0x208a24;if(this[_0x192997(0x3b0)][_0x192997(0xcb)]!==undefined)return this['_cache']['svShadow'];if(this[_0x192997(0x178)]()[_0x192997(0x6c4)][_0x192997(0x7fc)](/<SIDEVIEW SHOW SHADOW>/i))'pjTud'!==_0x192997(0x597)?this[_0x192997(0x3bf)](...arguments):this[_0x192997(0x3b0)]['svShadow']=!![];else this[_0x192997(0x178)]()[_0x192997(0x6c4)][_0x192997(0x7fc)](/<SIDEVIEW HIDE SHADOW>/i)?this[_0x192997(0x3b0)][_0x192997(0xcb)]=![]:this['_cache'][_0x192997(0xcb)]=Game_Battler[_0x192997(0xbd8)][_0x192997(0x689)][_0x192997(0x783)](this);return this['_cache']['svShadow'];},Game_Actor[_0x208a24(0xbd8)]['battlerSmoothImage']=function(){const _0x1e0597=_0x208a24;return VisuMZ[_0x1e0597(0x759)][_0x1e0597(0xc39)]['Actor'][_0x1e0597(0x2eb)];},Game_Actor['prototype'][_0x208a24(0xd12)]=function(){const _0x529dd2=_0x208a24,_0x165c90=this[_0x529dd2(0x202)](),_0x4dbac9=_0x165c90[0x0]?_0x165c90[0x0]['wtypeId']:0x0,_0x36adf8=$dataSystem[_0x529dd2(0xba)][_0x4dbac9];_0x36adf8&&this[_0x529dd2(0x138)](_0x36adf8[_0x529dd2(0x638)]);},Game_Actor[_0x208a24(0xbd8)]['performAction']=function(_0x5b3076){const _0x221a6b=_0x208a24;Game_Battler[_0x221a6b(0xbd8)]['performAction'][_0x221a6b(0x783)](this,_0x5b3076),this[_0x221a6b(0x797)](_0x5b3076);},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x863)]=function(){const _0x1129b0=_0x208a24,_0xa3fb2b=this[_0x1129b0(0x202)](),_0x4d1b20=_0xa3fb2b[0x0]?_0xa3fb2b[0x0][_0x1129b0(0x7ea)]:0x0;return $dataSystem[_0x1129b0(0xba)][_0x4d1b20];},Game_Actor[_0x208a24(0xbd8)]['attackAnimationIdSlot']=function(_0x3801b9){_0x3801b9=_0x3801b9||0x1,_0x3801b9--;const _0xd489b2=this['weapons']();return _0xd489b2[_0x3801b9]?_0xd489b2[_0x3801b9]['animationId']:0x0;},Game_Actor[_0x208a24(0xbd8)]['getAttackMotionSlot']=function(_0x3ddca5){const _0x2b9f41=_0x208a24;_0x3ddca5=_0x3ddca5||0x1,_0x3ddca5--;const _0x1083b8=this['weapons'](),_0x2cc349=_0x1083b8[_0x3ddca5]?_0x1083b8[_0x3ddca5][_0x2b9f41(0x7ea)]:0x0;return $dataSystem['attackMotions'][_0x2cc349];},Game_Actor['prototype']['performAttackSlot']=function(_0x1aaff7){const _0x474242=_0x208a24;_0x1aaff7=_0x1aaff7||0x1,_0x1aaff7--;const _0xae75c4=this[_0x474242(0x202)](),_0x336348=_0xae75c4[_0x1aaff7]?_0xae75c4[_0x1aaff7][_0x474242(0x7ea)]:0x0,_0x463d1a=$dataSystem[_0x474242(0xba)][_0x336348];if(_0x463d1a){if(_0x463d1a['type']===0x0)this[_0x474242(0x90c)](_0x474242(0xd3e));else{if(_0x463d1a['type']===0x1)'gEVQp'===_0x474242(0x3e7)?_0x1469b4[_0x474242(0x7e1)](_0x5e015f[_0x474242(0xac3)],![]):this[_0x474242(0x90c)](_0x474242(0xb89));else{if(_0x463d1a[_0x474242(0x4f8)]===0x2){if(_0x474242(0x221)!=='Bbaef')this['requestMotion']('missile');else{if(!_0x1a34fd['isSceneBattle']())return;_0x5c1ad6['ConvertParams'](_0x44a9ab,_0x33cd7c);const _0x14b61c=_0x2cf0af[_0x474242(0xcc)](),_0x453d0b=_0x16ad91['CreateActionSequenceTargets'](_0x383938[_0x474242(0x83d)]),_0x52f12e=_0x326acb(_0x4cf73a[_0x474242(0xc68)]||0x1),_0x4275db=_0x1946b7[_0x52f12e],_0x4cfd3b=_0x1b5226[_0x474242(0x6f6)];if(!_0x14b61c)return;if(!_0x4275db)return;let _0x261142=_0x4275db['animationId'];_0x4430a6[_0x474242(0x2d8)](_0x453d0b,_0x261142,_0x4cfd3b),_0x29fab7[_0x474242(0x610)]&&_0x14b61c[_0x474242(0x3dc)]('battleAnimation');}}}}this[_0x474242(0x138)](_0x463d1a[_0x474242(0x638)]);}},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0xad2)]=function(_0x56d929){const _0x5384c8=_0x208a24;if(this[_0x5384c8(0x9bf)]()){if(_0x5384c8(0xcfd)==='TxfmZ')_0x51d1c5=_0x58dbdd(_0x272e21['$1']);else{const _0x336304=this[_0x5384c8(0x202)]();if(_0x336304[_0x5384c8(0x1ba)]>0x0){const _0x21684b=_0x336304[_0x56d929];if(_0x21684b)_0x56d929=this[_0x5384c8(0x2b7)]()[_0x5384c8(0x6d1)](_0x21684b);}}}this[_0x5384c8(0x94c)]=_0x56d929||0x0,this[_0x5384c8(0x3b0)]={};},Game_Battler[_0x208a24(0xbd8)]['nextActiveWeaponSlot']=function(){const _0xa841d2=_0x208a24;this[_0xa841d2(0x94c)]=this[_0xa841d2(0x94c)]||0x0,this['_activeWeaponSlot']++,this[_0xa841d2(0x3b0)]={};},Game_Battler[_0x208a24(0xbd8)][_0x208a24(0x13d)]=function(){const _0x1317cd=_0x208a24;this[_0x1317cd(0x94c)]=undefined,this[_0x1317cd(0x3b0)]={};},VisuMZ['BattleCore'][_0x208a24(0x6a1)]=Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x2b7)],Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x2b7)]=function(){const _0x52063d=_0x208a24;let _0x22dddd=VisuMZ['BattleCore'][_0x52063d(0x6a1)][_0x52063d(0x783)](this);if(this[_0x52063d(0x5d0)])return _0x22dddd;if(this[_0x52063d(0x94c)]!==undefined){this[_0x52063d(0x5d0)]=!![];const _0x3c47c1=this[_0x52063d(0x705)]();for(let _0x2cb37a=0x0;_0x2cb37a<_0x3c47c1[_0x52063d(0x1ba)];_0x2cb37a++){if(_0x3c47c1[_0x2cb37a]===0x1&&this[_0x52063d(0x94c)]!==_0x2cb37a){if('IQGYS'===_0x52063d(0x1cc))_0x22dddd[_0x2cb37a]=null;else return this[_0x52063d(0xa4c)][_0x52063d(0xacb)]();}}this[_0x52063d(0x5d0)]=undefined;}return _0x22dddd;},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xa72)]=function(_0x27e5e3){const _0x3d59cb=_0x208a24;if(_0x27e5e3[_0x3d59cb(0x9bf)]()){if(_0x3d59cb(0xb48)===_0x3d59cb(0xb48))return _0x27e5e3[_0x3d59cb(0x202)]()[_0x3d59cb(0x1ba)]||0x1;else this[_0x3d59cb(0xca)]=new _0x3f631f(),this['_cursorArea'][_0x3d59cb(0x2cb)]=[new _0x2405c0[(_0x3d59cb(0x2cb))][(_0x3d59cb(0x4fc))]()],this[_0x3d59cb(0xca)][_0x3d59cb(0x477)]=new _0x3f7219(),this[_0x3d59cb(0xca)][_0x3d59cb(0x760)](this[_0x3d59cb(0x879)],this[_0x3d59cb(0x879)]),this[_0x3d59cb(0x739)](this['_cursorArea']);}else return 0x1;},Window_BattleLog[_0x208a24(0xbd8)]['setActiveWeaponSet']=function(_0x5d05a5,_0x29a184){const _0x1cbf32=_0x208a24;_0x5d05a5&&_0x5d05a5[_0x1cbf32(0x9bf)]()&&_0x5d05a5[_0x1cbf32(0xad2)](_0x29a184),this[_0x1cbf32(0xd9)]();},Window_BattleLog[_0x208a24(0xbd8)]['clearActiveWeaponSet']=function(_0x5589e4){const _0x5e8c5c=_0x208a24;_0x5589e4&&_0x5589e4['isActor']()&&(_0x5e8c5c(0x786)!==_0x5e8c5c(0x8e5)?_0x5589e4[_0x5e8c5c(0x13d)]():_0x4c42b6=_0x242f44>=_0x52318f?_0x5bdcd0:_0x258607),this[_0x5e8c5c(0xd9)]();},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x3ee)]=function(){const _0xe92298=_0x208a24;let _0x25a180=_0xe92298(0x3ee);if(this[_0xe92298(0xb97)](_0x25a180))return this[_0xe92298(0x3b0)][_0x25a180];return this[_0xe92298(0x3b0)][_0x25a180]=this[_0xe92298(0x5a1)](this[_0xe92298(0x178)]()),this[_0xe92298(0x3b0)][_0x25a180];},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0x6c0)]=function(){const _0x54c6d1=_0x208a24;let _0x310d90='battleUIOffsetY';if(this[_0x54c6d1(0xb97)](_0x310d90))return this[_0x54c6d1(0x3b0)][_0x310d90];return this[_0x54c6d1(0x3b0)][_0x310d90]=this[_0x54c6d1(0x434)](this[_0x54c6d1(0x178)]()),this[_0x54c6d1(0x3b0)][_0x310d90];},VisuMZ['BattleCore'][_0x208a24(0x5c3)]=Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x876)],Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x876)]=function(_0x5a039c,_0xf9ec65,_0xf676b9){const _0x425191=_0x208a24;_0x5a039c=DataManager[_0x425191(0x2f2)](_0x5a039c),VisuMZ[_0x425191(0x759)][_0x425191(0x5c3)][_0x425191(0x783)](this,_0x5a039c,_0xf9ec65,_0xf676b9),Imported[_0x425191(0x218)]&&this['initElementStatusCore'](),this[_0x425191(0x526)](),this[_0x425191(0x97b)](),Imported['VisuMZ_1_ElementStatusCore']&&this[_0x425191(0x69e)]();},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x526)]=function(){const _0x18367d=_0x208a24,_0x53f815=VisuMZ[_0x18367d(0x759)][_0x18367d(0xc39)][_0x18367d(0x6bd)];this['_attackAnimationId']=_0x53f815[_0x18367d(0xa8e)],this[_0x18367d(0x300)]={};},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x97b)]=function(){const _0x2daf00=_0x208a24,_0x5a3913=VisuMZ[_0x2daf00(0x759)][_0x2daf00(0xc39)]['Enemy'],_0x4f668d=this['enemy']()[_0x2daf00(0x6c4)];this[_0x2daf00(0x300)]={'name':'','wtypeId':_0x5a3913[_0x2daf00(0x2e0)],'collapse':_0x5a3913['AllowCollapse'],'motionIdle':_0x5a3913[_0x2daf00(0x7f3)],'width':_0x5a3913['Width']||0x40,'height':_0x5a3913[_0x2daf00(0x604)]||0x40,'anchorX':_0x5a3913[_0x2daf00(0x377)]||0x0,'anchorY':_0x5a3913[_0x2daf00(0xc93)]||0x0,'shadow':_0x5a3913[_0x2daf00(0x6aa)]};_0x4f668d[_0x2daf00(0x7fc)](/<ATTACK ANIMATION:[ ](\d+)>/i)&&(this['_attackAnimationId']=Number(RegExp['$1']));const _0x4ee162=this[_0x2daf00(0x300)];if(_0x4f668d[_0x2daf00(0x7fc)](/<SIDEVIEW BATTLER: (.*)>/i))_0x4ee162[_0x2daf00(0x278)]=String(RegExp['$1']);else{if(_0x4f668d[_0x2daf00(0x7fc)](/<SIDEVIEW BATTLERS>\s*([\s\S]*)\s*<\/SIDEVIEW BATTLERS>/i)){const _0x28b34f=String(RegExp['$1'])[_0x2daf00(0xc85)](/[\r\n]+/)[_0x2daf00(0x44b)]('');_0x4ee162[_0x2daf00(0x278)]=DataManager[_0x2daf00(0x382)](_0x28b34f);}}_0x4f668d['match'](/<SIDEVIEW ANCHOR: (.*), (.*)>/i)&&(_0x4ee162['anchorX']=eval(RegExp['$1']),_0x4ee162['anchorY']=eval(RegExp['$2']));if(_0x4f668d[_0x2daf00(0x7fc)](/<SIDEVIEW COLLAPSE>/i))_0x4ee162[_0x2daf00(0xced)]=!![];else{if(_0x4f668d[_0x2daf00(0x7fc)](/<SIDEVIEW NO COLLAPSE>/i)){if(_0x2daf00(0xabd)!==_0x2daf00(0x469))_0x4ee162[_0x2daf00(0xced)]=![];else{const _0x560965=_0x1f08f7['BattleCore']['Game_Action_itemTargetCandidates']['call'](this);if(this[_0x2daf00(0xc5d)]())_0x560965[_0x2daf00(0x44b)](this[_0x2daf00(0x6a9)]());return _0x560965;}}}if(_0x4f668d[_0x2daf00(0x7fc)](/<SIDEVIEW SHOW SHADOW>/i))_0x4ee162[_0x2daf00(0xd48)]=!![];else _0x4f668d['match'](/<SIDEVIEW HIDE SHADOW>/i)&&(_0x4ee162[_0x2daf00(0xd48)]=![]);if(_0x4f668d['match'](/<SIDEVIEW IDLE MOTION: (.*)>/i))_0x4ee162[_0x2daf00(0x245)]=String(RegExp['$1'])[_0x2daf00(0x717)]()[_0x2daf00(0x446)]();else{if(_0x4f668d['match'](/<SIDEVIEW IDLE MOTIONS>\s*([\s\S]*)\s*<\/SIDEVIEW IDLE MOTIONS>/i)){if(_0x2daf00(0x3a4)===_0x2daf00(0x433))return![];else{const _0x250165=String(RegExp['$1'])['split'](/[\r\n]+/)[_0x2daf00(0x44b)]('');_0x4ee162[_0x2daf00(0x245)]=DataManager[_0x2daf00(0x382)](_0x250165);}}}_0x4f668d[_0x2daf00(0x7fc)](/<SIDEVIEW SIZE: (\d+), (\d+)>/i)&&(_0x4ee162['width']=Number(RegExp['$1']),_0x4ee162['height']=Number(RegExp['$2']));if(_0x4f668d['match'](/<SIDEVIEW WEAPON: (.*)>/i))_0x4ee162[_0x2daf00(0x7ea)]=DataManager['getWtypeIdWithName'](RegExp['$1']);else{if(_0x4f668d[_0x2daf00(0x7fc)](/<SIDEVIEW WEAPONS>\s*([\s\S]*)\s*<\/SIDEVIEW WEAPONS>/i)){const _0x4aa7c3=String(RegExp['$1'])[_0x2daf00(0xc85)](/[\r\n]+/)[_0x2daf00(0x44b)](''),_0x2652bd=DataManager[_0x2daf00(0x382)](_0x4aa7c3);_0x4ee162['wtypeId']=DataManager[_0x2daf00(0x75b)](_0x2652bd);}}if(Imported['VisuMZ_1_ElementStatusCore']){if(_0x2daf00(0x339)!==_0x2daf00(0x43a)){const _0xa6b9f2=this[_0x2daf00(0x5f7)]();for(const _0x2b47ae of _0xa6b9f2){const _0x4c3513=this[_0x2daf00(0xd21)](_0x2b47ae)['Name'][_0x2daf00(0x4d6)]()['trim'](),_0x736c95=_0x2b47ae[_0x2daf00(0x4d6)]()[_0x2daf00(0x446)]();if(_0x4f668d[_0x2daf00(0x7fc)](VisuMZ[_0x2daf00(0x564)][_0x2daf00(0x7b1)]['SvBattlerSolo-%1-%2'[_0x2daf00(0x75a)](_0x736c95,_0x4c3513)])){if(_0x2daf00(0xd16)!==_0x2daf00(0xd16)){let _0x32e9cc=_0x300ab9[_0x2daf00(0x479)](_0x5b3378[_0x2daf00(0x615)]);_0x32e9cc=this[_0x2daf00(0x194)](_0x32e9cc),_0x32e9cc!==0x0&&(_0x56b479[_0x2daf00(0x2ca)](_0x32e9cc),this[_0x2daf00(0x899)](_0x2198d9));}else _0x4ee162[_0x2daf00(0x278)]=String(RegExp['$1']);}else{if(_0x4f668d[_0x2daf00(0x7fc)](VisuMZ[_0x2daf00(0x564)]['RegExp']['SvBattlerMass-%1-%2'[_0x2daf00(0x75a)](_0x736c95,_0x4c3513)])){const _0x3b4ada=String(RegExp['$1'])[_0x2daf00(0xc85)](/[\r\n]+/)[_0x2daf00(0x44b)]('');_0x4ee162[_0x2daf00(0x278)]=DataManager[_0x2daf00(0x382)](_0x3b4ada);}}if(_0x4f668d['match'](VisuMZ[_0x2daf00(0x564)][_0x2daf00(0x7b1)][_0x2daf00(0x369)[_0x2daf00(0x75a)](_0x736c95,_0x4c3513)]))_0x4ee162['wtypeId']=DataManager[_0x2daf00(0x75b)](RegExp['$1']);else{if(_0x4f668d[_0x2daf00(0x7fc)](VisuMZ[_0x2daf00(0x564)]['RegExp']['SvWeaponMass-%1-%2'[_0x2daf00(0x75a)](_0x736c95,_0x4c3513)])){if(_0x2daf00(0x8da)===_0x2daf00(0xa3d)){if(!_0x1129e5[_0x2daf00(0x759)][_0x2daf00(0x809)])return;if(_0x11c9a1[_0x2daf00(0x57c)]&&_0x35da60['isCTB']())return;const _0x21e98a=_0x233df6[_0x2daf00(0x49a)]()['filter'](_0x599df6=>_0x599df6['isTpbCharged']()&&_0x599df6[_0x2daf00(0x154)]());_0x27bc63['_currentActor']=_0x21e98a[0x0]||null,_0x182195[_0x2daf00(0x21e)]&&_0x375c4a[_0x2daf00(0x21e)][_0x2daf00(0xc5b)](_0x2daf00(0x646));}else{const _0x469702=String(RegExp['$1'])[_0x2daf00(0xc85)](/[\r\n]+/)['remove'](''),_0x5bcde1=DataManager[_0x2daf00(0x382)](_0x469702);_0x4ee162['wtypeId']=DataManager[_0x2daf00(0x75b)](_0x5bcde1);}}}if(_0x4f668d[_0x2daf00(0x7fc)](VisuMZ[_0x2daf00(0x564)][_0x2daf00(0x7b1)]['SvMotionIdleSolo-%1-%2'[_0x2daf00(0x75a)](_0x736c95,_0x4c3513)]))_0x2daf00(0xafc)!==_0x2daf00(0xafc)?(_0x112f90[_0x2daf00(0x6b0)](),this[_0x2daf00(0x5df)]()):_0x4ee162[_0x2daf00(0x245)]=String(RegExp['$1'])[_0x2daf00(0x717)]()[_0x2daf00(0x446)]();else{if(_0x4f668d['match'](VisuMZ[_0x2daf00(0x564)][_0x2daf00(0x7b1)][_0x2daf00(0x17b)[_0x2daf00(0x75a)](_0x736c95,_0x4c3513)])){const _0x3e71b4=String(RegExp['$1'])[_0x2daf00(0xc85)](/[\r\n]+/)[_0x2daf00(0x44b)]('');_0x4ee162[_0x2daf00(0x245)]=DataManager[_0x2daf00(0x382)](_0x3e71b4);}}}}else{const _0x2e2dfc=_0x52f395[_0x2daf00(0x49a)]();_0x4d5248[_0x2daf00(0x59d)]()&&_0x2e2dfc[_0x2daf00(0x1ba)]>0x1&&this[_0x2daf00(0x39c)]('pagedown',this[_0x2daf00(0x989)][_0x2daf00(0xc84)](this));}}},Game_Enemy['prototype']['attackAnimationId1']=function(){return this['_attackAnimationId']||0x0;},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x27d)]=function(){const _0x9d4378=_0x208a24;return this[_0x9d4378(0x36a)]();},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x6df)]=function(_0x5dc9ca){return this['attackAnimationId1']();},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x621)]=function(){const _0x3db7b4=_0x208a24;if(this[_0x3db7b4(0x449)]()['note']['match'](/<BATTLER SPRITE CANNOT MOVE>/i))return![];return Game_Battler['prototype'][_0x3db7b4(0x621)][_0x3db7b4(0x783)](this);},Game_Enemy[_0x208a24(0xbd8)]['isBattlerGrounded']=function(){const _0x25abd7=_0x208a24;if(this[_0x25abd7(0x449)]()['note']['match'](/<BATTLER SPRITE GROUNDED>/i))return!![];return![];},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x56c)]=function(){const _0x18a40e=_0x208a24,_0x479f6d=[];for(const _0x1fee0c of this[_0x18a40e(0x449)]()[_0x18a40e(0xd40)]){const _0x5aa641=$dataSkills[_0x1fee0c['skillId']];if(_0x5aa641&&!_0x479f6d[_0x18a40e(0xcaf)](_0x5aa641))_0x479f6d[_0x18a40e(0x7c3)](_0x5aa641);}return _0x479f6d;},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x3ee)]=function(){const _0x548ed2=_0x208a24;let _0x2a286b='battleUIOffsetX';if(this[_0x548ed2(0xb97)](_0x2a286b))return this[_0x548ed2(0x3b0)][_0x2a286b];return this[_0x548ed2(0x3b0)][_0x2a286b]=this[_0x548ed2(0x5a1)](this['enemy']()),this[_0x548ed2(0x3b0)][_0x2a286b];},Game_Enemy[_0x208a24(0xbd8)]['battleUIOffsetY']=function(){const _0x2d52d9=_0x208a24;let _0xd144dd='battleUIOffsetY';if(this[_0x2d52d9(0xb97)](_0xd144dd))return this[_0x2d52d9(0x3b0)][_0xd144dd];return this['_cache'][_0xd144dd]=this['createBattleUIOffsetY'](this['enemy']()),this[_0x2d52d9(0x3b0)][_0xd144dd];},Game_Enemy[_0x208a24(0xbd8)]['svBattlerData']=function(){const _0x2df6dd=_0x208a24;if(this[_0x2df6dd(0x300)]!==undefined)return this[_0x2df6dd(0x300)];return this[_0x2df6dd(0x97b)](),this[_0x2df6dd(0x300)];},Game_Enemy[_0x208a24(0xbd8)]['hasSvBattler']=function(){return this['svBattlerData']()['name']!=='';},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0xb1b)]=function(){const _0x5e6462=_0x208a24;return this[_0x5e6462(0x93a)]()[_0x5e6462(0x278)];},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0xb2f)]=function(){const _0x3d96b2=_0x208a24;return this[_0x3d96b2(0x814)]()?_0x3d96b2(0x554)!==_0x3d96b2(0x3d2)?VisuMZ[_0x3d96b2(0x759)]['Settings']['Actor']['SmoothImage']:_0x14f148[_0x3d96b2(0x6a4)]():VisuMZ[_0x3d96b2(0x759)]['Settings'][_0x3d96b2(0x6bd)]['SmoothImage'];},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x3f6)]=function(_0x76f702){const _0x37065e=_0x208a24;Game_Battler['prototype'][_0x37065e(0x3f6)][_0x37065e(0x783)](this,_0x76f702);if(this[_0x37065e(0x814)]())this['performActionMotions'](_0x76f702);},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x5e0)]=function(){const _0x2be68f=_0x208a24,_0x175e33=this[_0x2be68f(0x93a)]()[_0x2be68f(0x7ea)]||0x0,_0x45a4b9=$dataSystem[_0x2be68f(0xba)][_0x175e33];if(_0x45a4b9){if(_0x45a4b9[_0x2be68f(0x4f8)]===0x0)this[_0x2be68f(0x90c)](_0x2be68f(0xd3e));else{if(_0x45a4b9[_0x2be68f(0x4f8)]===0x1)this[_0x2be68f(0x90c)](_0x2be68f(0xb89));else _0x45a4b9[_0x2be68f(0x4f8)]===0x2&&this[_0x2be68f(0x90c)](_0x2be68f(0xb67));}}},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0xd12)]=function(){const _0x27b889=_0x208a24,_0x212477=this['svBattlerData']()[_0x27b889(0x7ea)]||0x0,_0x39eb72=$dataSystem[_0x27b889(0xba)][_0x212477];_0x39eb72&&this[_0x27b889(0x138)](_0x39eb72[_0x27b889(0x638)]);},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x863)]=function(){const _0x10fb1a=_0x208a24,_0x333c99=this[_0x10fb1a(0x93a)]()['wtypeId']||0x0;return $dataSystem['attackMotions'][_0x333c99];},Game_Enemy['prototype'][_0x208a24(0x423)]=function(_0x43389){const _0x4be159=_0x208a24;return this[_0x4be159(0x863)]();},Game_Enemy['prototype'][_0x208a24(0x67a)]=function(){const _0x23fa3f=_0x208a24;Game_Battler[_0x23fa3f(0xbd8)][_0x23fa3f(0x67a)][_0x23fa3f(0x783)](this),this[_0x23fa3f(0x3c4)]()&&this[_0x23fa3f(0x814)]()&&this[_0x23fa3f(0x90c)](_0x23fa3f(0xae4)),SoundManager[_0x23fa3f(0x910)]();},Game_Enemy['prototype'][_0x208a24(0x601)]=function(){const _0x5c5373=_0x208a24;Game_Battler[_0x5c5373(0xbd8)]['performEvasion'][_0x5c5373(0x783)](this),this[_0x5c5373(0x90c)](_0x5c5373(0x8a1));},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x8d3)]=function(){const _0x29be13=_0x208a24;Game_Battler[_0x29be13(0xbd8)][_0x29be13(0x8d3)][_0x29be13(0x783)](this),this[_0x29be13(0x90c)](_0x29be13(0x8a1));},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x132)]=function(){const _0x1230a6=_0x208a24;Game_Battler[_0x1230a6(0xbd8)][_0x1230a6(0x132)][_0x1230a6(0x783)](this),this[_0x1230a6(0x5e0)]();},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x701)]=function(){const _0x5c275b=_0x208a24;if(this['hasSvBattler']()){if(this[_0x5c275b(0x3ec)]()>=0x1)return!![];return this[_0x5c275b(0x93a)]()[_0x5c275b(0xced)];}else return!![];},Game_Enemy['prototype'][_0x208a24(0x5c1)]=function(){const _0x324d3c=_0x208a24;return this[_0x324d3c(0x93a)]()[_0x324d3c(0x73d)];},Game_Enemy['prototype'][_0x208a24(0x96d)]=function(){const _0x4ab5bc=_0x208a24;return this[_0x4ab5bc(0x93a)]()[_0x4ab5bc(0x5b3)];},Game_Enemy[_0x208a24(0xbd8)][_0x208a24(0x689)]=function(){const _0x1a0f34=_0x208a24;return this[_0x1a0f34(0x93a)]()[_0x1a0f34(0xd48)];},VisuMZ[_0x208a24(0x759)]['Game_Enemy_transform']=Game_Enemy['prototype'][_0x208a24(0xaa5)],Game_Enemy[_0x208a24(0xbd8)]['transform']=function(_0xba391d){const _0xe038c4=_0x208a24;VisuMZ[_0xe038c4(0x759)][_0xe038c4(0xcde)][_0xe038c4(0x783)](this,_0xba391d),this[_0xe038c4(0x526)](),this[_0xe038c4(0x97b)]();const _0x3598f6=this[_0xe038c4(0xd08)]();_0x3598f6&&(_0x3598f6[_0xe038c4(0x50d)]=undefined,_0x3598f6[_0xe038c4(0x861)](this));},Game_Unit['prototype'][_0x208a24(0x192)]=function(_0xd17d48){const _0x19c582=_0x208a24;for(const _0x308321 of this[_0x19c582(0x30f)]()){if(_0x19c582(0x77f)!==_0x19c582(0x77f))return _0xa1bdd2['prototype'][_0x19c582(0xa13)]['call'](this);else{if(_0x308321)_0x308321[_0x19c582(0x192)](_0xd17d48);}}},Game_Unit[_0x208a24(0xbd8)]['trueRandomTarget']=function(){const _0x620ff8=_0x208a24,_0x2f640b=this[_0x620ff8(0x49a)]();return _0x2f640b[Math[_0x620ff8(0xd15)](_0x2f640b[_0x620ff8(0x1ba)])];},VisuMZ[_0x208a24(0x759)][_0x208a24(0xbfd)]=Game_Party[_0x208a24(0xbd8)][_0x208a24(0xcf3)],Game_Party[_0x208a24(0xbd8)]['addActor']=function(_0x153658){const _0x475e7b=_0x208a24;VisuMZ[_0x475e7b(0x759)][_0x475e7b(0xbfd)]['call'](this,_0x153658),BattleManager['refreshStatusWindow']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xac8)]=Game_Party[_0x208a24(0xbd8)]['removeActor'],Game_Party[_0x208a24(0xbd8)]['removeActor']=function(_0x385653){const _0x969de7=_0x208a24;VisuMZ[_0x969de7(0x759)][_0x969de7(0xac8)][_0x969de7(0x783)](this,_0x385653),BattleManager[_0x969de7(0x761)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x4e4)]=Game_Troop[_0x208a24(0xbd8)][_0x208a24(0x876)],Game_Troop[_0x208a24(0xbd8)][_0x208a24(0x876)]=function(_0x3f71ad){const _0x151b92=_0x208a24;$gameTemp[_0x151b92(0x4f0)](),$gameTemp['applyForcedGameTroopSettingsBattleCore'](_0x3f71ad),VisuMZ['BattleCore'][_0x151b92(0x4e4)]['call'](this,_0x3f71ad),this[_0x151b92(0x953)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xca4)]=Game_Troop['prototype'][_0x208a24(0x9cf)],Game_Troop[_0x208a24(0xbd8)][_0x208a24(0x9cf)]=function(){const _0x4c666c=_0x208a24;let _0x12e6fa=VisuMZ[_0x4c666c(0x759)][_0x4c666c(0xca4)][_0x4c666c(0x783)](this);return this[_0x4c666c(0xbbc)]&&(_0x4c666c(0x9b2)!==_0x4c666c(0x9b2)?(_0x1bf9a8=_0x31a62b[_0x4c666c(0xa53)]/0x2,_0x55dbd6=_0x3d6bfb[_0x4c666c(0x833)]/0x2):_0x12e6fa*=this[_0x4c666c(0xbbc)]()),Math['ceil'](_0x12e6fa);},Game_Troop[_0x208a24(0xbd8)]['expRate']=function(){return 0x1;},Game_Troop['prototype'][_0x208a24(0x953)]=function(){const _0x54f5d0=_0x208a24,_0x35cb25=DataManager[_0x54f5d0(0x582)](this['troop']()['id']);if(_0x35cb25[_0x54f5d0(0x7fc)](/<(?:EXTEND|ADD):[ ](.*?)>/i)){const _0x1fc1cf=RegExp['$1'][_0x54f5d0(0xc85)](',')['map'](_0x18d70e=>Number(_0x18d70e));this[_0x54f5d0(0x7e9)](),this[_0x54f5d0(0x681)](_0x1fc1cf);}},Game_Troop[_0x208a24(0xbd8)][_0x208a24(0x7e9)]=function(){const _0x2de52a=_0x208a24;let _0x13f2d0=_0x2de52a(0x939)+'\x0a';_0x13f2d0+=_0x2de52a(0xd0c);Imported[_0x2de52a(0x686)]&&(VisuMZ[_0x2de52a(0xaff)][_0x2de52a(0x738)]<1.11&&(alert(_0x13f2d0['format'](_0x2de52a(0x16c))),SceneManager[_0x2de52a(0x1b1)]()));if(Imported[_0x2de52a(0x57c)]){if(_0x2de52a(0xc00)===_0x2de52a(0xc00))VisuMZ[_0x2de52a(0x53d)][_0x2de52a(0x738)]<1.19&&(alert(_0x13f2d0[_0x2de52a(0x75a)](_0x2de52a(0xb5))),SceneManager[_0x2de52a(0x1b1)]());else{const _0x2b897f=this[_0x2de52a(0x8bb)]()[_0x2de52a(0x9ab)];return _0x2b897f[_0x2de52a(0x7fc)](/(?:ENEMY|FOE)/i)&&_0x2b897f['match'](/OR/i)&&_0x2b897f[_0x2de52a(0x7fc)](/(?:ALLY|FRIEND)/i);}}Imported[_0x2de52a(0xb6a)]&&(VisuMZ[_0x2de52a(0x9e8)][_0x2de52a(0x738)]<1.15&&(alert(_0x13f2d0['format'](_0x2de52a(0xb82))),SceneManager[_0x2de52a(0x1b1)]()));},Game_Troop[_0x208a24(0xbd8)][_0x208a24(0x681)]=function(_0x361d71){const _0x10d190=_0x208a24;this[_0x10d190(0xb27)]={};for(const _0x320038 of this['members']()){if(_0x10d190(0x3f7)!=='VQXkM'){let _0x1a1651=_0x10d190(0x6c0);if(this[_0x10d190(0xb97)](_0x1a1651))return this[_0x10d190(0x3b0)][_0x1a1651];return this[_0x10d190(0x3b0)][_0x1a1651]=this[_0x10d190(0x434)](this[_0x10d190(0x178)]()),this[_0x10d190(0x3b0)][_0x1a1651];}else{if(!_0x320038)continue;_0x320038['setLetter']('');}}for(const _0x7e077b of _0x361d71){const _0x4f9957=$dataTroops[_0x7e077b];if(_0x4f9957)this[_0x10d190(0xaef)](_0x4f9957);}this['makeUniqueNames']();},Game_Troop['prototype']['addExtendedTroopMembers']=function(_0x380883){const _0x3d1956=_0x208a24;for(const _0x44df0a of _0x380883[_0x3d1956(0x30f)]){if($dataEnemies[_0x44df0a[_0x3d1956(0xb09)]]){if(_0x3d1956(0x958)===_0x3d1956(0x9c3))this[_0x3d1956(0x858)]();else{const _0x5cc803=_0x44df0a[_0x3d1956(0xb09)],_0x398256=_0x44df0a['x'],_0x5aff1f=_0x44df0a['y'],_0x39898f=new Game_Enemy(_0x5cc803,_0x398256,_0x5aff1f);_0x44df0a[_0x3d1956(0xb70)]&&_0x39898f[_0x3d1956(0x6ec)](),this[_0x3d1956(0x30b)]['push'](_0x39898f);}}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x64f)]=Game_Map[_0x208a24(0xbd8)][_0x208a24(0xc60)],Game_Map[_0x208a24(0xbd8)]['setupBattleback']=function(){const _0x582889=_0x208a24;VisuMZ[_0x582889(0x759)][_0x582889(0x64f)]['call'](this),this[_0x582889(0xb9f)]();},Game_Map[_0x208a24(0xbd8)][_0x208a24(0xb9f)]=function(){const _0x4d3e83=_0x208a24;this[_0x4d3e83(0x9fb)]={},this['_regionBattleback2']={};if(!$dataMap)return;const _0x5161a5=$dataMap[_0x4d3e83(0x6c4)];if(!_0x5161a5)return;const _0x4bcbe0=_0x5161a5['match'](/<REGION (\d+) BATTLEBACK(\d+): (.*)>/gi);if(_0x4bcbe0)for(const _0x5110f0 of _0x4bcbe0){if(_0x4d3e83(0xb62)!==_0x4d3e83(0x87b)){_0x5110f0[_0x4d3e83(0x7fc)](/<REGION (\d+) BATTLEBACK(\d+): (.*)>/i);const _0x3a40a6=Number(RegExp['$1']),_0x1b1712=Number(RegExp['$2']),_0xb1121f=_0x1b1712===0x1?this['_regionBattleback1']:this[_0x4d3e83(0xb7d)],_0x1557c3=String(RegExp['$3']);_0xb1121f[_0x3a40a6]=_0x1557c3;}else{if(!_0x3a80f1[_0x4d3e83(0x8c3)]())return;if(!_0x44f71b['VisuMZ_3_ActSeqProjectiles'])return;_0x43c5c4[_0x4d3e83(0x4f4)](_0x5ab5ab,_0x3ccf88),_0x193068[_0x4d3e83(0x759)][_0x4d3e83(0x40f)]();const _0x506528=_0x18c4ff[_0x4d3e83(0xcc)](),_0x4d183d=_0x104fee['WaitForProjectile'];if(!_0x506528)return;const _0x30ef5f=_0x5b654a[_0x4d3e83(0xa85)];if(!_0x30ef5f)return;_0x30ef5f[_0x4d3e83(0x348)](_0x5cdd9e);if(_0x4d183d)_0x506528[_0x4d3e83(0x3dc)](_0x4d3e83(0x482));}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0xbdc)]=Game_Map[_0x208a24(0xbd8)][_0x208a24(0x335)],Game_Map[_0x208a24(0xbd8)][_0x208a24(0x335)]=function(){const _0x42e6e9=_0x208a24;if(!BattleManager['isBattleTest']()){if(_0x42e6e9(0x4c0)!=='pZmhN'){const _0x7752bb=$gamePlayer[_0x42e6e9(0xab3)]($gamePlayer['x'],$gamePlayer['y']);if(this[_0x42e6e9(0x9fb)]&&this[_0x42e6e9(0x9fb)][_0x7752bb]){if('NrDkg'===_0x42e6e9(0xb9d))return this[_0x42e6e9(0x9fb)][_0x7752bb];else _0x3d1448=_0x3acd5e;}}else{if(this['_defeatedEnemies']===_0x20d57d)this['initBattleCore']();return this['_defeatedEnemies'];}}return VisuMZ['BattleCore'][_0x42e6e9(0xbdc)][_0x42e6e9(0x783)](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0xd35)]=Game_Map[_0x208a24(0xbd8)][_0x208a24(0x511)],Game_Map[_0x208a24(0xbd8)][_0x208a24(0x511)]=function(){const _0x302f67=_0x208a24;if(!BattleManager['isBattleTest']()){const _0x386001=$gamePlayer[_0x302f67(0xab3)]($gamePlayer['x'],$gamePlayer['y']);if(this[_0x302f67(0x9fb)]&&this['_regionBattleback2'][_0x386001]){if(_0x302f67(0x512)!==_0x302f67(0xd0f))return this[_0x302f67(0xb7d)][_0x386001];else{if(_0x2bd9f2[_0x302f67(0x158)][_0x302f67(0x4c9)]===0x3)return![];}}}return VisuMZ[_0x302f67(0x759)][_0x302f67(0xd35)][_0x302f67(0x783)](this);},VisuMZ['BattleCore'][_0x208a24(0x95a)]=Game_Map[_0x208a24(0xbd8)]['encounterList'],Game_Map[_0x208a24(0xbd8)][_0x208a24(0x952)]=function(){const _0x3afa5c=_0x208a24;let _0x4d0fc9=JsonEx[_0x3afa5c(0x2bb)](VisuMZ[_0x3afa5c(0x759)][_0x3afa5c(0x95a)][_0x3afa5c(0x783)](this));return VisuMZ[_0x3afa5c(0x759)][_0x3afa5c(0x884)](_0x4d0fc9);},VisuMZ[_0x208a24(0x759)]['ShuffleArray']=function(_0x17eee9){const _0x547ac7=_0x208a24;var _0x5c2fa1,_0x21e290,_0x532ccb;for(_0x532ccb=_0x17eee9[_0x547ac7(0x1ba)]-0x1;_0x532ccb>0x0;_0x532ccb--){_0x547ac7(0x993)!==_0x547ac7(0xc62)?(_0x5c2fa1=Math[_0x547ac7(0x479)](Math[_0x547ac7(0x39f)]()*(_0x532ccb+0x1)),_0x21e290=_0x17eee9[_0x532ccb],_0x17eee9[_0x532ccb]=_0x17eee9[_0x5c2fa1],_0x17eee9[_0x5c2fa1]=_0x21e290):this[_0x547ac7(0x666)][_0x547ac7(0xc02)](_0x196f69);}return _0x17eee9;},VisuMZ['BattleCore'][_0x208a24(0x4ad)]=Game_Interpreter[_0x208a24(0xbd8)][_0x208a24(0x94b)],Game_Interpreter[_0x208a24(0xbd8)]['command357']=function(_0x4dc178){const _0x59b58a=_0x208a24;return $gameTemp[_0x59b58a(0xbe0)](this),VisuMZ['BattleCore']['Game_Interpreter_PluginCommand']['call'](this,_0x4dc178);},VisuMZ[_0x208a24(0x759)]['Game_Interpreter_updateWaitMode']=Game_Interpreter[_0x208a24(0xbd8)]['updateWaitMode'],Game_Interpreter[_0x208a24(0xbd8)]['updateWaitMode']=function(){const _0x99345=_0x208a24;if(SceneManager[_0x99345(0x8c3)]()){if(_0x99345(0x2fb)==='xCkoN')switch(this['_waitMode']){case'battleAngle':if(Imported[_0x99345(0x355)]){if($gameScreen['battleCameraData']()[_0x99345(0x9da)]>0x0)return!![];this[_0x99345(0x7a6)]='';}break;case _0x99345(0x7d6):if(BattleManager['_spriteset'][_0x99345(0xc5a)]())return!![];this[_0x99345(0x7a6)]='';break;case _0x99345(0xa89):if(BattleManager[_0x99345(0xa85)][_0x99345(0x63d)]())return!![];this[_0x99345(0x7a6)]='';break;case _0x99345(0xc05):if(Imported['VisuMZ_3_ActSeqCamera']){if($gameScreen[_0x99345(0x47f)]()['cameraDuration']>0x0)return!![];if($gameScreen[_0x99345(0x47f)]()[_0x99345(0x72f)]>0x0)return!![];this[_0x99345(0x7a6)]='';}break;case _0x99345(0x5cf):if(BattleManager[_0x99345(0xa85)][_0x99345(0x309)]())return!![];this[_0x99345(0x7a6)]='';break;case _0x99345(0x399):if(BattleManager[_0x99345(0xa85)]['isAnyoneFloating']())return!![];this[_0x99345(0x7a6)]='';break;case _0x99345(0x6b4):if(BattleManager[_0x99345(0xa85)][_0x99345(0x3fc)]())return!![];this[_0x99345(0x7a6)]='';break;case'battlelog':if(BattleManager[_0x99345(0x46b)][_0x99345(0x7ee)]())return!![];this[_0x99345(0x7a6)]='';break;case _0x99345(0xbb9):if(BattleManager[_0x99345(0xa85)]['isAnyoneMoving']())return!![];this['_waitMode']='';break;case'battleOpacity':if(BattleManager[_0x99345(0xa85)][_0x99345(0x1d5)]())return!![];this[_0x99345(0x7a6)]='';break;case _0x99345(0x9e3):if(BattleManager[_0x99345(0xa85)][_0x99345(0x772)]())return!![];this[_0x99345(0x7a6)]='';break;case _0x99345(0x634):if(BattleManager[_0x99345(0xa85)][_0x99345(0x2fd)]())return!![];this[_0x99345(0x7a6)]='';break;case'battleProjectiles':if(Imported[_0x99345(0x74d)]){if('wjZig'==='wjZig'){if(BattleManager['_spriteset'][_0x99345(0x304)]())return!![];this[_0x99345(0x7a6)]='';}else _0x4378a9[_0x99345(0x759)][_0x99345(0x1a7)][_0x99345(0x783)](this),this['createBattleFieldBattleCore']();}break;case _0x99345(0xa3):if(Imported[_0x99345(0x355)]){if(_0x99345(0xd3c)!=='SaVEm')return _0x514a96[_0x99345(0x173)]()[_0x99345(0xcaf)](this[_0x99345(0xc2b)]);else{if($gameScreen[_0x99345(0x47f)]()[_0x99345(0xb20)]>0x0)return!![];this['_waitMode']='';}}break;case _0x99345(0x8a9):if(BattleManager[_0x99345(0xa85)]['isAnyoneSpinning']())return!![];this['_waitMode']='';break;case _0x99345(0x7a8):if(Imported[_0x99345(0x355)]){if(_0x99345(0xac)===_0x99345(0x1f3))_0x523d57[_0x99345(0x2be)](_0x46d70a[0x2],_0x413c3f[0x3]),_0x1c9a07[_0x99345(0x2be)](_0x376829);else{if($gameScreen[_0x99345(0x47f)]()['zoomDuration']>0x0)return!![];this[_0x99345(0x7a6)]='';}}break;case _0x99345(0x658):if(Imported[_0x99345(0x4a6)]){if(BattleManager[_0x99345(0xa85)][_0x99345(0x9ac)]){if(_0x99345(0x4cc)===_0x99345(0x84b))return this[_0x99345(0x7fb)];else{if(BattleManager[_0x99345(0xa85)][_0x99345(0x9ac)]())return!![];this[_0x99345(0x7a6)]=_0x99345(0x20d);}}else _0x99345(0x6d3)!==_0x99345(0xa9b)?this[_0x99345(0x7a6)]='':this[_0x99345(0x471)](_0x4a85d5,_0x5a0642,_0x17266d);break;}break;case _0x99345(0x20d):if(Imported[_0x99345(0x4a6)]){if(BattleManager[_0x99345(0xa85)][_0x99345(0xa2d)]())return!![];this[_0x99345(0x7a6)]='';}break;}else{if(!_0x58b5a7)return![];return _0x45bcef[_0x99345(0xceb)]===0x0||_0x4e1fbf[_0x99345(0xceb)]===0x1;}}return VisuMZ[_0x99345(0x759)][_0x99345(0x652)][_0x99345(0x783)](this);},VisuMZ[_0x208a24(0x759)]['Game_Interpreter_command301']=Game_Interpreter[_0x208a24(0xbd8)]['command301'],Game_Interpreter[_0x208a24(0xbd8)]['command301']=function(_0x33ccce){const _0x6a3abd=_0x208a24;return!$gameParty[_0x6a3abd(0x776)]()?this[_0x6a3abd(0x420)](_0x33ccce):VisuMZ['BattleCore']['Game_Interpreter_command301']['call'](this,_0x33ccce);},Game_Interpreter[_0x208a24(0xbd8)][_0x208a24(0xc43)]=function(_0x4809ff){const _0x10130e=_0x208a24;return VisuMZ[_0x10130e(0x759)][_0x10130e(0x78b)][_0x10130e(0x783)](this,_0x4809ff),BattleManager[_0x10130e(0x9dc)](_0x4026cd=>{const _0x14d680=_0x10130e;this['_branch'][this[_0x14d680(0x317)]]=_0x4026cd;}),!![];},VisuMZ['BattleCore']['CheckMapBattleEventValid']=function(_0x1ea72d){const _0x1220bd=_0x208a24,_0x421ce6=$dataCommonEvents[_0x1ea72d];if(!_0x421ce6)return![];if(_0x421ce6['list'][_0x1220bd(0x1ba)]<=0x1)return![];return!![];},Game_Interpreter['prototype'][_0x208a24(0x420)]=function(_0x5f53b0){const _0x2dac0b=_0x208a24,_0xb969dd=VisuMZ['BattleCore']['Settings'][_0x2dac0b(0x79c)],_0x3776e6=_0xb969dd[_0x2dac0b(0xb33)],_0xca52ee=$dataCommonEvents[_0x3776e6];if(_0xca52ee&&VisuMZ[_0x2dac0b(0x759)][_0x2dac0b(0xc73)](_0x3776e6)){const _0x2349c7=this[_0x2dac0b(0xb1f)]()?this[_0x2dac0b(0xd17)]:0x0,_0x5f0e23=_0xca52ee[_0x2dac0b(0x38d)];this[_0x2dac0b(0x4d0)](_0x5f0e23,_0x2349c7),this[_0x2dac0b(0xb8f)]=JsonEx['makeDeepCopy'](this[_0x2dac0b(0xb8f)]);const _0x3c48d2={'code':0xbc3,'indent':this[_0x2dac0b(0x317)],'parameters':JsonEx[_0x2dac0b(0x2bb)](_0x5f53b0)};return this[_0x2dac0b(0xb8f)][_0x2dac0b(0xd36)](this['_index']+0x1,0x0,_0x3c48d2),!![];}else return VisuMZ[_0x2dac0b(0x759)][_0x2dac0b(0x78b)][_0x2dac0b(0x783)](this,_0x5f53b0);},VisuMZ[_0x208a24(0x759)]['BattleManager_onEncounter']=BattleManager[_0x208a24(0x9db)],BattleManager[_0x208a24(0x9db)]=function(){const _0x23170e=_0x208a24;VisuMZ[_0x23170e(0x759)][_0x23170e(0x1d6)][_0x23170e(0x783)](this),this['onEncounterBattleCore']();},BattleManager[_0x208a24(0x3d0)]=function(){const _0x2694e0=_0x208a24,_0x5687af=VisuMZ[_0x2694e0(0x759)]['Settings'][_0x2694e0(0x79c)],_0xbb111d=_0x5687af[_0x2694e0(0xb33)];_0xbb111d&&VisuMZ[_0x2694e0(0x759)][_0x2694e0(0xc73)](_0xbb111d)&&(this['_battleCoreBattleStartEvent']=!![],$gameTemp[_0x2694e0(0x436)](_0x5687af[_0x2694e0(0xb33)]),$gameMap[_0x2694e0(0x543)](),$gameMap[_0x2694e0(0x363)][_0x2694e0(0xacf)]=!![]),_0x5687af[_0x2694e0(0xb85)]>0x0&&(this[_0x2694e0(0x443)]=!![]);},VisuMZ[_0x208a24(0x759)]['Scene_Map_updateCallMenu']=Scene_Map[_0x208a24(0xbd8)][_0x208a24(0x76a)],Scene_Map[_0x208a24(0xbd8)][_0x208a24(0x76a)]=function(){const _0x2bedd4=_0x208a24;if(BattleManager['_battleCoreBattleStartEvent'])return;VisuMZ[_0x2bedd4(0x759)][_0x2bedd4(0x96e)][_0x2bedd4(0x783)](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x976)]=Scene_Map[_0x208a24(0xbd8)]['launchBattle'],Scene_Map[_0x208a24(0xbd8)][_0x208a24(0x916)]=function(){const _0x4662a4=_0x208a24;if(BattleManager[_0x4662a4(0x83f)])_0x4662a4(0x481)!==_0x4662a4(0x481)?this[_0x4662a4(0x15c)]():this['battleCorePreBattleCommonEvent']();else{if('JGHDs'===_0x4662a4(0x61b))VisuMZ[_0x4662a4(0x759)][_0x4662a4(0x976)][_0x4662a4(0x783)](this);else return _0x48bcc6(_0x14e133['$1'])[_0x4662a4(0xc85)](/[\r\n]+/);}},Scene_Map[_0x208a24(0xbd8)][_0x208a24(0x639)]=function(){const _0x2f3dfa=_0x208a24;this[_0x2f3dfa(0xd4)]=!![];},VisuMZ['BattleCore'][_0x208a24(0x78d)]=SceneManager[_0x208a24(0x164)],SceneManager[_0x208a24(0x164)]=function(){const _0x2989a4=_0x208a24;if(BattleManager[_0x2989a4(0x83f)])return![];return VisuMZ[_0x2989a4(0x759)][_0x2989a4(0x78d)]['call'](this);},VisuMZ['BattleCore'][_0x208a24(0x4c3)]=Game_Interpreter['prototype'][_0x208a24(0x18e)],Game_Interpreter[_0x208a24(0xbd8)]['terminate']=function(){const _0x418adf=_0x208a24;VisuMZ[_0x418adf(0x759)]['Game_Interpreter_terminate'][_0x418adf(0x783)](this);if(this[_0x418adf(0xacf)]){if(_0x418adf(0x11d)===_0x418adf(0x11d))this['_preBattleCommonEvent']=undefined,SceneManager[_0x418adf(0xc1b)][_0x418adf(0x69c)]();else{if(!_0x33bddd[_0x418adf(0x8c3)]())return;_0x28fb61['ConvertParams'](_0x4851be,_0x3daa10);const _0xd05e83=_0x28ce37['getLastPluginCommandInterpreter'](),_0x414d37=_0x3283da[_0x418adf(0xc98)];if(!_0xd05e83)return;_0x2833f9[_0x418adf(0x580)]--,_0x381e61[_0x418adf(0x29a)]=_0xd0cc49[_0x418adf(0xaea)][_0x3a5835['_targetIndex']]||null,_0x56de18[_0x418adf(0x29a)]&&_0x414d37[_0x418adf(0x4d6)]()[_0x418adf(0x446)]()!==_0x418adf(0x873)&&_0xd05e83[_0x418adf(0x2f3)]([_0x414d37]);}}},Scene_Map['prototype'][_0x208a24(0x69c)]=function(){BattleManager['_battleCoreBattleStartEvent']=undefined,BattleManager['_battleCoreBattleResumeAfter']=!![],this['stop']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x104)]=Scene_Map['prototype'][_0x208a24(0x3bf)],Scene_Map[_0x208a24(0xbd8)]['initialize']=function(){const _0x52fe41=_0x208a24;VisuMZ[_0x52fe41(0x759)][_0x52fe41(0x104)][_0x52fe41(0x783)](this),BattleManager[_0x52fe41(0x841)]&&(this[_0x52fe41(0xd4)]=!![],BattleManager[_0x52fe41(0x841)]=undefined);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x6be)]=Scene_Map[_0x208a24(0xbd8)][_0x208a24(0x3bf)],Scene_Map[_0x208a24(0xbd8)][_0x208a24(0x3bf)]=function(){const _0x496018=_0x208a24;VisuMZ[_0x496018(0x759)][_0x496018(0x6be)][_0x496018(0x783)](this),$gameTemp['clearForcedGameTroopSettingsBattleCore']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x24c)]=Scene_ItemBase[_0x208a24(0xbd8)]['applyItem'],Scene_ItemBase['prototype']['applyItem']=function(){const _0x36b4cf=_0x208a24;VisuMZ['BattleCore'][_0x36b4cf(0x24c)][_0x36b4cf(0x783)](this);if(this[_0x36b4cf(0x8bb)]()[_0x36b4cf(0x6c4)][_0x36b4cf(0x7fc)](/<BYPASS AUTO ACTION SEQUENCE>/i))return;if(this['item']()[_0x36b4cf(0x6c4)][_0x36b4cf(0x7fc)](/<CUSTOM ACTION SEQUENCE>/i)){if(_0x36b4cf(0xbf6)!==_0x36b4cf(0xbf6)){const _0x309e16=_0x204e08[_0x36b4cf(0xbd8)][_0x36b4cf(0xa3f)][_0x36b4cf(0x783)](arguments,0x1);this['_methods'][_0x36b4cf(0x6fc)]({'name':_0x52949d,'params':_0x309e16});}else $gameTemp[_0x36b4cf(0x251)]=[];}DataManager['checkAutoCustomActionSequenceNotetagEffect'](this[_0x36b4cf(0x8bb)]())&&($gameTemp[_0x36b4cf(0x251)]=[]);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x3eb)]=Scene_Options[_0x208a24(0xbd8)]['maxCommands'],Scene_Options[_0x208a24(0xbd8)][_0x208a24(0x13c)]=function(){const _0x200df9=_0x208a24;let _0x2851ad=VisuMZ['BattleCore'][_0x200df9(0x3eb)][_0x200df9(0x783)](this);const _0x4084a2=VisuMZ[_0x200df9(0x759)][_0x200df9(0xc39)];if(_0x4084a2['AutoBattle']['AddOption']&&_0x4084a2['AutoBattle'][_0x200df9(0x8df)])_0x2851ad+=0x2;if(_0x4084a2[_0x200df9(0x18b)][_0x200df9(0x996)]&&_0x4084a2[_0x200df9(0x18b)][_0x200df9(0x8df)])_0x2851ad+=0x1;return _0x2851ad;},VisuMZ[_0x208a24(0x759)]['Scene_Battle_initialize']=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x3bf)],Scene_Battle['prototype'][_0x208a24(0x3bf)]=function(){const _0x9f4e96=_0x208a24;VisuMZ['BattleCore']['Scene_Battle_initialize'][_0x9f4e96(0x783)](this),this[_0x9f4e96(0xa64)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xd2e)]=Scene_Battle[_0x208a24(0xbd8)]['start'],Scene_Battle[_0x208a24(0xbd8)]['start']=function(){const _0x3e1e29=_0x208a24;if(SceneManager[_0x3e1e29(0x394)]()){Scene_Message[_0x3e1e29(0xbd8)][_0x3e1e29(0x464)][_0x3e1e29(0x783)](this);if(this[_0x3e1e29(0xa85)]){if(_0x3e1e29(0xc5c)==='wendS')this[_0x3e1e29(0xa85)][_0x3e1e29(0x3c1)]();else{const _0x363e80=_0x292037['WIDTH'],_0xfae42e=this[_0x3e1e29(0x62b)](0x1,!![]);let _0x425f70=_0x202d5a?_0x8322e[_0x3e1e29(0xa53)]-_0x363e80:0x0;_0x425f70+=_0x167f56?_0x41dd5f[_0x3e1e29(0x5d1)]:_0x2024b2[_0x3e1e29(0xbf2)];const _0x399933=['frontview_ui'][_0x3e1e29(0xcaf)](this[_0x3e1e29(0x71c)]())?0x0:this[_0x3e1e29(0xb91)]['height'];let _0x4c714d=_0x1c698b[_0x3e1e29(0x833)]-_0x399933-_0xfae42e;return _0x4c714d+=_0x555283?_0x41d199[_0x3e1e29(0xc1c)]:_0x235369['ENEMY_OFFSET_Y'],new _0x3fafca(_0x425f70,_0x4c714d,_0x363e80,_0xfae42e);}}BattleManager[_0x3e1e29(0x789)]&&BattleManager[_0x3e1e29(0x9bd)]();}else VisuMZ[_0x3e1e29(0x759)][_0x3e1e29(0xd2e)][_0x3e1e29(0x783)](this),$gameTroop[_0x3e1e29(0xaeb)]();},VisuMZ['BattleCore']['Scene_Battle_stop']=Scene_Battle['prototype'][_0x208a24(0xa71)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xa71)]=function(){const _0x4c56fc=_0x208a24;if(SceneManager[_0x4c56fc(0x8b7)]()){if(_0x4c56fc(0x611)===_0x4c56fc(0x1bc)){if(!_0x4c106c[_0x4c56fc(0x4a6)])return;const _0x50229b=_0xdbc25[_0x4c56fc(0xc1b)]['_spriteset'];if(!_0x50229b)return;if(_0x4aa6be[_0x4c56fc(0x826)]['version']<=1.04){_0x705b8e(_0x4c56fc(0xb94)),_0x337688[_0x4c56fc(0x1b1)]();return;}_0x2d486c[_0x4c56fc(0x4f4)](_0x56a83c,_0x50a48a);const _0x82537f=_0x22ec26[_0x4c56fc(0x397)];_0x50229b[_0x4c56fc(0xb50)](_0x82537f);}else Scene_Message[_0x4c56fc(0xbd8)][_0x4c56fc(0xa71)]['call'](this);}else _0x4c56fc(0x1e5)!=='rofdE'?this[_0x4c56fc(0xac0)]():VisuMZ['BattleCore'][_0x4c56fc(0xca9)][_0x4c56fc(0x783)](this);},VisuMZ['BattleCore'][_0x208a24(0xb93)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x18e)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x18e)]=function(){const _0x4870c2=_0x208a24;SceneManager['isNextSceneBattleTransitionable']()?Scene_Message[_0x4870c2(0xbd8)][_0x4870c2(0x18e)][_0x4870c2(0x783)](this):VisuMZ[_0x4870c2(0x759)][_0x4870c2(0xb93)][_0x4870c2(0x783)](this),$gameTemp[_0x4870c2(0x691)](),this[_0x4870c2(0xa64)]();},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x171)]=function(){const _0xd40836=_0x208a24;if(ConfigManager[_0xd40836(0x46a)]&&ConfigManager['uiInputPosition']!==undefined){if(_0xd40836(0xcc6)===_0xd40836(0xa9a)){if(!_0x5ee70c['isSceneBattle']())return;const _0x2ccbea=_0x316895[_0xd40836(0xcc)]();if(!_0x2ccbea)return;_0x2ccbea[_0xd40836(0x3dc)](_0xd40836(0x399));}else return ConfigManager[_0xd40836(0x373)];}else{if(this[_0xd40836(0x71c)]()===_0xd40836(0x4f5)){if(_0xd40836(0x239)===_0xd40836(0x1ec))_0x41c8a4['BattleGridSystem'][_0xd40836(0xce1)](_0x4444e8);else return![];}else{return Scene_Message[_0xd40836(0xbd8)][_0xd40836(0x171)]['call'](this);;}}},VisuMZ[_0x208a24(0x759)]['Scene_Battle_createAllWindows']=Scene_Battle[_0x208a24(0xbd8)]['createAllWindows'],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xd5c)]=function(){const _0x3816ee=_0x208a24;this['createEnemyNameContainer'](),VisuMZ['BattleCore'][_0x3816ee(0xc4)][_0x3816ee(0x783)](this),this['createAutoBattleWindow']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x117)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x498)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x498)]=function(){const _0x501677=_0x208a24;VisuMZ[_0x501677(0x759)][_0x501677(0x117)]['call'](this),this[_0x501677(0x52e)]();},Scene_Battle['prototype'][_0x208a24(0x52e)]=function(){const _0x16773a=_0x208a24;this[_0x16773a(0x821)](!![]),this[_0x16773a(0x821)](![]);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xcc8)]=function(_0x3c52cc){const _0x355544=_0x208a24,_0x1dfbb8=Window_BattleMultiTarget[_0x355544(0xcfa)],_0x35167b=this[_0x355544(0x62b)](0x1,!![]);let _0x40c56f=_0x3c52cc?Graphics['boxWidth']-_0x1dfbb8:0x0;_0x40c56f+=_0x3c52cc?Window_BattleMultiTarget[_0x355544(0x5d1)]:Window_BattleMultiTarget[_0x355544(0xbf2)];const _0x4a3faa=[_0x355544(0xa5f)][_0x355544(0xcaf)](this[_0x355544(0x71c)]())?0x0:this[_0x355544(0xb91)][_0x355544(0x1fa)];let _0x8d0134=Graphics[_0x355544(0x833)]-_0x4a3faa-_0x35167b;return _0x8d0134+=_0x3c52cc?Window_BattleMultiTarget[_0x355544(0xc1c)]:Window_BattleMultiTarget['ENEMY_OFFSET_Y'],new Rectangle(_0x40c56f,_0x8d0134,_0x1dfbb8,_0x35167b);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x821)]=function(_0x48493b){const _0x452843=_0x208a24,_0x58b3b8=this[_0x452843(0xcc8)](_0x48493b),_0x47beba=new Window_BattleMultiTarget(_0x58b3b8,_0x48493b);this[_0x452843(0x50e)](_0x47beba),_0x48493b?this[_0x452843(0xc13)]=_0x47beba:_0x452843(0x650)===_0x452843(0x650)?this['_enemyMultiTargetWindow']=_0x47beba:(this['_selectionEffectCount']=0x0,_0x48c9ee[_0x452843(0x606)]([0x0,0x0,0x0,0x0]));},VisuMZ[_0x208a24(0x759)][_0x208a24(0xb9c)]=Scene_Battle[_0x208a24(0xbd8)]['createCancelButton'],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xd55)]=function(){const _0x5bd433=_0x208a24;VisuMZ[_0x5bd433(0x759)][_0x5bd433(0xb9c)][_0x5bd433(0x783)](this),this['battleLayoutStyle']()===_0x5bd433(0x4f5)&&this[_0x5bd433(0xbe4)]();},Scene_Battle[_0x208a24(0xbd8)]['setVisibleUI']=function(_0x326458){const _0x4eba4e=_0x208a24;if(_0x326458){if(_0x4eba4e(0xd1f)===_0x4eba4e(0xba4)){let _0x20df27=0x0;if(this[_0x4eba4e(0x4b5)]&&this[_0x4eba4e(0x594)]!==_0x1f8ae3){const _0x404e60=this[_0x4eba4e(0x4b5)][_0x4eba4e(0x867)]['y'];_0x20df27-=(_0x404e60-0x1)*this[_0x4eba4e(0x1fa)];}return _0x20df27;}else this[_0x4eba4e(0x848)]['x']=(Graphics[_0x4eba4e(0x4fe)]-Graphics[_0x4eba4e(0xa53)])/0x2,this[_0x4eba4e(0x848)]['y']=(Graphics[_0x4eba4e(0x1fa)]-Graphics[_0x4eba4e(0x833)])/0x2;}else this['_windowLayer']['x']=Graphics[_0x4eba4e(0x4fe)]*0xa,this['_windowLayer']['y']=Graphics[_0x4eba4e(0x1fa)]*0xa;},VisuMZ['BattleCore']['Scene_Battle_selectNextCommand']=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xcf2)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xcf2)]=function(){const _0x4ed865=_0x208a24,_0xd9c56e=BattleManager[_0x4ed865(0x178)]();VisuMZ[_0x4ed865(0x759)][_0x4ed865(0x637)]['call'](this);if(_0xd9c56e){if(_0x4ed865(0x6b1)!==_0x4ed865(0x36b)){if(_0xd9c56e===BattleManager[_0x4ed865(0x178)]())return;if(_0xd9c56e===BattleManager['_subject'])return;if(_0xd9c56e[_0x4ed865(0xd08)]())_0xd9c56e['battler']()[_0x4ed865(0x642)]();}else return _0x32dcb1[_0x4ed865(0x759)]['Settings'][_0x4ed865(0x6bd)][_0x4ed865(0x692)]||_0x558a44[_0x4ed865(0x630)]();}},VisuMZ['BattleCore']['Scene_Battle_selectPreviousCommand']=Scene_Battle['prototype'][_0x208a24(0x2c9)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x2c9)]=function(){const _0x130693=_0x208a24,_0x2650b9=BattleManager[_0x130693(0x178)]();if(_0x2650b9&&_0x2650b9[_0x130693(0xd08)])_0x2650b9[_0x130693(0xd08)]()['stepBack']();VisuMZ[_0x130693(0x759)]['Scene_Battle_selectPreviousCommand'][_0x130693(0x783)](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x85b)]=Scene_Battle[_0x208a24(0xbd8)]['logWindowRect'],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x2f7)]=function(){const _0x1b4329=_0x208a24;if(VisuMZ[_0x1b4329(0x759)][_0x1b4329(0xc39)][_0x1b4329(0x98d)][_0x1b4329(0x8f5)])return VisuMZ[_0x1b4329(0x759)]['Settings'][_0x1b4329(0x98d)][_0x1b4329(0x8f5)][_0x1b4329(0x783)](this);return VisuMZ['BattleCore']['Scene_Battle_logWindowRect']['call'](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x1d2)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x7a5)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x7a5)]=function(){const _0x2ebc80=_0x208a24;VisuMZ['BattleCore'][_0x2ebc80(0x1d2)]['call'](this),this[_0x2ebc80(0xb0d)]();},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xb0d)]=function(){const _0x6baa31=_0x208a24,_0x48f21c=this[_0x6baa31(0x280)];_0x48f21c['setHandler'](_0x6baa31(0x402),this['commandAutoBattle'][_0x6baa31(0xc84)](this)),_0x48f21c['setHandler']('options',this[_0x6baa31(0x3d6)][_0x6baa31(0xc84)](this));const _0x983ad5=this[_0x6baa31(0x71c)]();switch(_0x983ad5){case'xp':case _0x6baa31(0x372):return this[_0x6baa31(0x280)][_0x6baa31(0xc79)](0x1);break;}},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x844)]=function(){const _0x27acc7=_0x208a24;BattleManager[_0x27acc7(0x29c)]=!![],$gameParty[_0x27acc7(0x4f1)](),this[_0x27acc7(0xcf2)]();if(BattleManager[_0x27acc7(0xd25)]()){if(_0x27acc7(0xc2)===_0x27acc7(0xa6)){const _0x1e05cb=this['_commandNameWindow'];_0x1e05cb[_0x27acc7(0xcce)]['clear']();const _0x486e4b=this[_0x27acc7(0x1f2)](this['index']());if(_0x486e4b==='icon'&&this['maxItems']()>0x0){const _0x5614ea=this[_0x27acc7(0x617)](this[_0x27acc7(0x22f)]());let _0x1a1830=this['commandName'](this['index']());_0x1a1830=_0x1a1830[_0x27acc7(0x51f)](/\\I\[(\d+)\]/gi,''),_0x1e05cb[_0x27acc7(0x556)](),this[_0x27acc7(0x4d3)](_0x1a1830,_0x5614ea),this[_0x27acc7(0x89c)](_0x1a1830,_0x5614ea),this[_0x27acc7(0xcd5)](_0x1a1830,_0x5614ea);}}else BattleManager['_inputting']=![];}},Scene_Battle['prototype'][_0x208a24(0x3d6)]=function(){const _0x286434=_0x208a24;if(this['isQueueOptionsMenu']()){if(_0x286434(0xcca)===_0x286434(0xcca))this[_0x286434(0x9e1)]=!![],this[_0x286434(0x46b)][_0x286434(0x7c3)](_0x286434(0x9a1),VisuMZ[_0x286434(0x759)][_0x286434(0xc39)][_0x286434(0x5e8)][_0x286434(0x102)]);else{if(this[_0x286434(0xb55)]){const _0x946867=this[_0x286434(0xb55)][_0x286434(0x63f)],_0x24dba8=this[_0x286434(0x4fe)]-0x8,_0x112e02=this['height'],_0x1304fd=this[_0x286434(0x11b)],_0x230abb=_0x15b226['dimColor1'](),_0x38eaad=_0x277820[_0x286434(0x8db)]();this[_0x286434(0xb55)]['x']=0x4,_0x946867[_0x286434(0x2b2)](_0x24dba8,_0x112e02),_0x946867['gradientFillRect'](0x0,0x0,_0x24dba8,_0x1304fd,_0x38eaad,_0x230abb,!![]),_0x946867[_0x286434(0xaa8)](0x0,_0x1304fd,_0x24dba8,_0x112e02-_0x1304fd*0x2,_0x230abb),_0x946867[_0x286434(0xa0b)](0x0,_0x112e02-_0x1304fd,_0x24dba8,_0x1304fd,_0x230abb,_0x38eaad,!![]),this[_0x286434(0xb55)][_0x286434(0x62c)](0x0,0x0,_0x24dba8,_0x112e02);}}}else'VCKPt'!==_0x286434(0x6cf)?this[_0x286434(0xb3d)]():this[_0x286434(0x548)](!![]);},Scene_Battle[_0x208a24(0xbd8)]['isQueueOptionsMenu']=function(){const _0xade506=_0x208a24;return BattleManager[_0xade506(0x3c0)]();},Scene_Battle[_0x208a24(0xbd8)]['callOptions']=function(){const _0x36b10c=_0x208a24;this[_0x36b10c(0x9e1)]=![],this[_0x36b10c(0xa85)][_0x36b10c(0x3c1)](),this['_windowLayer'][_0x36b10c(0x3b3)]=![];if(BattleManager[_0x36b10c(0x902)]())($dataSystem[_0x36b10c(0x335)]||$dataSystem[_0x36b10c(0x511)])&&(_0x36b10c(0x125)==='Dvash'?SceneManager[_0x36b10c(0x1c4)]():this['wholeActionSet'](_0x3e898d,_0x1763b8,_0x3a59fa));else($gameMap['battleback1Name']()||$gameMap['battleback2Name']())&&SceneManager[_0x36b10c(0x1c4)]();SceneManager[_0x36b10c(0x7c3)](Scene_Options);if(BattleManager[_0x36b10c(0xd25)]()){if(_0x36b10c(0x10c)!==_0x36b10c(0x991))BattleManager[_0x36b10c(0x789)]=BattleManager[_0x36b10c(0x178)]();else{this['_enemyID']=_0x3ddd29,this[_0x36b10c(0xb11)]='';const _0x1fd18c=new _0x341f72(0x0,0x0,_0x4e074a[_0x36b10c(0xa53)],this[_0x36b10c(0x146)]()*0x4);_0x30f7eb[_0x36b10c(0xbd8)][_0x36b10c(0x3bf)][_0x36b10c(0x783)](this,_0x1fd18c),this[_0x36b10c(0xc79)](0x2),this[_0x36b10c(0x8aa)]=0x0;}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x757)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x59c)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x59c)]=function(){const _0x400e56=_0x208a24;VisuMZ[_0x400e56(0x759)]['Scene_Battle_updateBattleProcess'][_0x400e56(0x783)](this);if(this[_0x400e56(0x9e1)]&&!BattleManager[_0x400e56(0x64d)])this['callOptions']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xa99)]=Scene_Battle[_0x208a24(0xbd8)]['update'],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x3c1)]=function(){const _0x5cc8c9=_0x208a24;VisuMZ['BattleCore'][_0x5cc8c9(0xa99)][_0x5cc8c9(0x783)](this),this[_0x5cc8c9(0x4ac)]();},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x236)]=function(){const _0x2d55=_0x208a24,_0x5e668b=this['autoBattleWindowRect']();this[_0x2d55(0x534)]=new Window_AutoBattleCancel(_0x5e668b),this[_0x2d55(0x534)][_0x2d55(0x6ec)](),this[_0x2d55(0x739)](this[_0x2d55(0x534)]);},Scene_Battle['prototype']['autoBattleWindowRect']=function(){const _0x4d7668=_0x208a24;return VisuMZ['BattleCore'][_0x4d7668(0xc39)][_0x4d7668(0x2a2)][_0x4d7668(0x702)][_0x4d7668(0x783)](this);},Scene_Battle['prototype'][_0x208a24(0xa64)]=function(){const _0x42f63e=_0x208a24;this[_0x42f63e(0x964)]=[];},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x4ac)]=function(){const _0x324346=_0x208a24;if(!this[_0x324346(0x964)])return;for(const _0xea047d of this['_onceParallelInterpreters']){_0xea047d&&_0xea047d[_0x324346(0x3c1)]();}},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x547)]=function(_0x1ed9d7){const _0x4f7491=_0x208a24,_0x1dc64a=$dataCommonEvents[_0x1ed9d7];if(!_0x1dc64a)return;const _0x38bdf1=new Game_BattleOnceParallelInterpreter();this[_0x4f7491(0xcb6)](_0x38bdf1),_0x38bdf1['setCommonEvent'](_0x1ed9d7);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xcb6)]=function(_0x1b1eda){const _0x150e08=_0x208a24;this[_0x150e08(0x964)]=this[_0x150e08(0x964)]||[],this[_0x150e08(0x964)][_0x150e08(0x7c3)](_0x1b1eda);},Scene_Battle['prototype'][_0x208a24(0x49c)]=function(_0x48cb06){const _0x3e0e37=_0x208a24;this['_onceParallelInterpreters']=this[_0x3e0e37(0x964)]||[],this['_onceParallelInterpreters']['remove'](_0x48cb06);},Game_Troop['prototype'][_0x208a24(0xaeb)]=function(){const _0x471fe2=_0x208a24;for(const _0x5e2256 of this[_0x471fe2(0x340)]()[_0x471fe2(0xcea)]){if(!this[_0x471fe2(0xbb6)](_0x5e2256))continue;SceneManager[_0x471fe2(0xc1b)]['playOnceParallelTroopPage'](_0x5e2256);}},Game_Troop[_0x208a24(0xbd8)][_0x208a24(0xbb6)]=function(_0x4c5d64){const _0xb8f403=_0x208a24;if(!_0x4c5d64)return;for(const _0x3bab69 of _0x4c5d64[_0xb8f403(0x38d)]){if([0x6c,0x198][_0xb8f403(0xcaf)](_0x3bab69[_0xb8f403(0x762)])){if('ZJvRn'===_0xb8f403(0x2d9)){if(_0x1fcd31['VisuMZ_3_BattleAI']){if(_0x5d9a6d[_0xb8f403(0x9a8)][_0xb8f403(0x738)]<1.19){let _0x1c3e4d='';_0x1c3e4d+=_0xb8f403(0xa43),_0x1c3e4d+=_0xb8f403(0xcec),_0x1c3e4d+='with\x20latest\x20version\x20of\x20VisuMZ_1_BattleCore!',_0xc03e9(_0x1c3e4d),_0x165db8[_0xb8f403(0x1b1)]();}}return this[_0xb8f403(0x580)]=-0x1,_0x36bb34[_0xb8f403(0x7c3)](...this[_0xb8f403(0x796)]()),this[_0xb8f403(0xc25)](_0x421627);}else{const _0x157660=_0x3bab69[_0xb8f403(0x378)][0x0];if(_0x157660[_0xb8f403(0x7fc)](/<ONCE PARALLEL WHEN START BATTLE>/i))return!![];}}}return![];},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x6ba)]=function(_0x5eafb8){const _0x189283=_0x208a24;if(!_0x5eafb8)return;const _0x4ac3b5=new Game_BattleOnceParallelInterpreter();this[_0x189283(0xcb6)](_0x4ac3b5),_0x4ac3b5[_0x189283(0xa5c)](_0x5eafb8);};function Game_BattleOnceParallelInterpreter(){const _0x21f738=_0x208a24;this[_0x21f738(0x3bf)](...arguments);}Game_BattleOnceParallelInterpreter[_0x208a24(0xbd8)]=Object['create'](Game_Interpreter['prototype']),Game_BattleOnceParallelInterpreter[_0x208a24(0xbd8)]['constructor']=Game_BattleOnceParallelInterpreter,Game_BattleOnceParallelInterpreter['prototype'][_0x208a24(0x8f7)]=function(_0x3dedf4){const _0x11d00e=_0x208a24,_0x439ca3=$dataCommonEvents[_0x3dedf4];if(_0x439ca3){if(_0x11d00e(0x888)!==_0x11d00e(0x888)){const _0x275cdf=this['commandStyleCheck'](_0x3a3a8d);if(_0x275cdf===_0x11d00e(0x3e2))this[_0x11d00e(0x963)](_0x31395f);else _0x275cdf===_0x11d00e(0xa86)?this['drawItemStyleIcon'](_0x36eb95):_0x590049[_0x11d00e(0xbd8)][_0x11d00e(0x1a1)][_0x11d00e(0x783)](this,_0x594a77);this[_0x11d00e(0xb8e)](_0x21c16c);}else this[_0x11d00e(0x876)](_0x439ca3[_0x11d00e(0x38d)],0x0);}else{if('ogytG'!==_0x11d00e(0x86f))this[_0x11d00e(0x18e)]();else return!this[_0x11d00e(0x270)]();}},Game_BattleOnceParallelInterpreter['prototype'][_0x208a24(0x18e)]=function(){const _0x56a234=_0x208a24;if(!SceneManager['isSceneBattle']())return;SceneManager[_0x56a234(0xc1b)][_0x56a234(0x49c)](this),Game_Interpreter[_0x56a234(0xbd8)][_0x56a234(0x18e)][_0x56a234(0x783)](this);},Game_BattleOnceParallelInterpreter[_0x208a24(0xbd8)][_0x208a24(0xa5c)]=function(_0x9c66d1){const _0x59afa8=_0x208a24;if(_0x9c66d1){if(_0x59afa8(0x1a3)!==_0x59afa8(0xcc2))this['setup'](_0x9c66d1['list'],0x0);else return this['skillItemWindowRectBorderStyle']();}else{if(_0x59afa8(0x375)!==_0x59afa8(0xbfc))this[_0x59afa8(0x18e)]();else{if(_0x4cb42e){const _0x4b325e=_0x51444d[_0x59afa8(0x6d1)](_0x369d24);return _0x4b325e>=0x0?[_0x1467a8[_0x4b325e+0x1]||_0x518cd5]:[_0x14dbb9];}}}},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xaa0)]=function(){const _0x13febd=_0x208a24;return VisuMZ[_0x13febd(0x759)]['Settings'][_0x13febd(0x5e8)][_0x13febd(0xdd)];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x24f)]=Scene_Battle['prototype'][_0x208a24(0x5ff)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x5ff)]=function(){const _0x5e3b74=_0x208a24;this[_0x5e3b74(0xaa0)]()?this['onDisabledPartyCommandSelection']():VisuMZ[_0x5e3b74(0x759)][_0x5e3b74(0x24f)][_0x5e3b74(0x783)](this);},Scene_Battle[_0x208a24(0xbd8)]['onDisabledPartyCommandSelection']=function(){const _0x51f8fe=_0x208a24;if(BattleManager[_0x51f8fe(0xb99)]()){if('xtKEK'===_0x51f8fe(0x28b))this[_0x51f8fe(0xcf2)]();else{this[_0x51f8fe(0x3bd)]=new _0x396dc6();const _0x46447f=_0x512db2[_0x51f8fe(0xc1b)],_0x102a89=_0x46447f[_0x51f8fe(0xbe8)][_0x51f8fe(0x6d1)](_0x46447f['_windowLayer']);_0x46447f[_0x51f8fe(0x9cc)](this[_0x51f8fe(0x3bd)],_0x102a89),this[_0x51f8fe(0x3bd)][_0x51f8fe(0x7ec)]['x']=0.5,this['_borderPortraitSprite'][_0x51f8fe(0x7ec)]['y']=0x1;const _0x281b3a=_0x5b32a4[_0x51f8fe(0x759)][_0x51f8fe(0xc39)][_0x51f8fe(0x148)][_0x51f8fe(0x6e7)];this[_0x51f8fe(0x3bd)][_0x51f8fe(0x867)]['x']=_0x281b3a,this['_borderPortraitSprite'][_0x51f8fe(0x867)]['y']=_0x281b3a,this[_0x51f8fe(0x3bd)]['y']=this['y']+this[_0x51f8fe(0x1fa)],this['_borderPortraitDuration']=0x0;}}else BattleManager[_0x51f8fe(0xd25)]()&&VisuMZ[_0x51f8fe(0x759)][_0x51f8fe(0x24f)][_0x51f8fe(0x783)](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x659)]=Scene_Battle['prototype'][_0x208a24(0x9a5)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x9a5)]=function(){const _0x243325=_0x208a24;if(BattleManager[_0x243325(0xd25)]()){if(_0x243325(0xa61)===_0x243325(0xa61))this[_0x243325(0x7e3)](),this['startActorCommandSelection']();else{if(this[_0x243325(0x216)])this[_0x243325(0x216)][_0x243325(0x927)](_0xbc9c4b,_0x2a5baf,_0x533516);}}else VisuMZ[_0x243325(0x759)][_0x243325(0x659)][_0x243325(0x783)](this);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x7e3)]=function(){const _0x1da172=_0x208a24;if(!VisuMZ[_0x1da172(0x759)][_0x1da172(0x809)])return;if(Imported['VisuMZ_2_BattleSystemCTB']&&BattleManager[_0x1da172(0x9ca)]())return;const _0x4cc5af=$gameParty[_0x1da172(0x49a)]()[_0x1da172(0x5a8)](_0x60b7ba=>_0x60b7ba[_0x1da172(0x235)]()&&_0x60b7ba[_0x1da172(0x154)]());BattleManager[_0x1da172(0x21e)]=_0x4cc5af[0x0]||null;if(BattleManager['_currentActor']){if(_0x1da172(0x631)===_0x1da172(0x836)){if(!this[_0x1da172(0x1c2)])return;if(this[_0x1da172(0xa4c)]&&this[_0x1da172(0xa4c)][_0x1da172(0x689)]()){const _0x1db7f1=this[_0x1da172(0x1c2)][_0x1da172(0x63f)];this[_0x1da172(0x1c2)]['setFrame'](0x0,0x0,_0x1db7f1[_0x1da172(0x4fe)],_0x1db7f1[_0x1da172(0x1fa)]);}else this[_0x1da172(0x1c2)]['setFrame'](0x0,0x0,0x0,0x0);}else BattleManager['_currentActor'][_0x1da172(0xc5b)](_0x1da172(0x646));}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x441)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xf4)],Scene_Battle['prototype'][_0x208a24(0xf4)]=function(){const _0x466032=_0x208a24;VisuMZ[_0x466032(0x759)][_0x466032(0x441)][_0x466032(0x783)](this);if(!BattleManager['isTpb']())BattleManager[_0x466032(0x21e)]=null;},VisuMZ['BattleCore'][_0x208a24(0xd6)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xb51)],Scene_Battle[_0x208a24(0xbd8)]['createActorCommandWindow']=function(){const _0x84c875=_0x208a24;VisuMZ['BattleCore'][_0x84c875(0xd6)][_0x84c875(0x783)](this),this[_0x84c875(0x566)]();},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x566)]=function(){const _0x3e6d2b=_0x208a24,_0x1742c8=this[_0x3e6d2b(0x918)];_0x1742c8[_0x3e6d2b(0x39c)](_0x3e6d2b(0x2dc),this[_0x3e6d2b(0x86a)]['bind'](this)),_0x1742c8[_0x3e6d2b(0x39c)](_0x3e6d2b(0x402),this[_0x3e6d2b(0x37f)]['bind'](this)),_0x1742c8[_0x3e6d2b(0x39c)]('singleSkill',this[_0x3e6d2b(0xc86)][_0x3e6d2b(0xc84)](this)),BattleManager[_0x3e6d2b(0xd25)]()&&(_0x3e6d2b(0x715)!==_0x3e6d2b(0x715)?(this[_0x3e6d2b(0xaea)]=this[_0x3e6d2b(0x3e1)][_0x3e6d2b(0xa3f)](0x0),this[_0x3e6d2b(0x580)]=0x0,this[_0x3e6d2b(0x29a)]=this[_0x3e6d2b(0xaea)][0x0]||null,this[_0x3e6d2b(0x558)]=_0x3e6d2b(0x6ef)):this[_0x3e6d2b(0xaa0)]()?delete _0x1742c8[_0x3e6d2b(0x527)]['cancel']:_0x1742c8[_0x3e6d2b(0x39c)]('cancel',this[_0x3e6d2b(0x2fc)][_0x3e6d2b(0xc84)](this)));},Scene_Battle[_0x208a24(0xbd8)]['actorCommandEscape']=function(){const _0x3d4697=_0x208a24;this[_0x3d4697(0xf4)]();},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x37f)]=function(){const _0x15070a=_0x208a24;BattleManager['actor']()[_0x15070a(0x90e)](),BattleManager[_0x15070a(0xc88)](),BattleManager['selectNextActor'](),this[_0x15070a(0x4ed)]();},Scene_Battle['prototype'][_0x208a24(0xc86)]=function(){const _0x1c0628=_0x208a24,_0x5bcf3c=BattleManager['inputtingAction'](),_0x2b5bc7=this[_0x1c0628(0x918)][_0x1c0628(0x34c)]();_0x5bcf3c[_0x1c0628(0x3f2)](_0x2b5bc7),BattleManager[_0x1c0628(0x178)]()[_0x1c0628(0x3cb)]($dataSkills[_0x2b5bc7]),this[_0x1c0628(0xac1)]();},Scene_Battle[_0x208a24(0xbd8)]['actorCommandCancelTPB']=function(){const _0x2f1e7f=_0x208a24;this[_0x2f1e7f(0x445)]()?this[_0x2f1e7f(0x85d)]():this[_0x2f1e7f(0x889)]();},VisuMZ[_0x208a24(0x759)]['TpbActiveChangeEnabled']=![],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x445)]=function(){const _0x467d03=_0x208a24;if(Imported[_0x467d03(0x57c)]&&BattleManager[_0x467d03(0x9ca)]()){if('TqIgk'!==_0x467d03(0xc4f))return![];else _0xb2d1a4[_0x467d03(0xc5b)](_0x467d03(0xce9));}else{if(!VisuMZ[_0x467d03(0x759)][_0x467d03(0x809)])return![];const _0x16f6f1=$gameParty['aliveMembers']()[_0x467d03(0x5a8)](_0x1a3866=>_0x1a3866[_0x467d03(0x235)]()&&_0x1a3866[_0x467d03(0x154)]());return _0x16f6f1[_0x467d03(0x1ba)]>0x0&&BattleManager[_0x467d03(0x178)]()!==_0x16f6f1[_0x16f6f1['length']-0x1];}},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x85d)]=function(){const _0x13873a=_0x208a24,_0x27991b=BattleManager[_0x13873a(0x178)](),_0x18a441=_0x27991b[_0x13873a(0xd08)]();if(_0x18a441)_0x18a441[_0x13873a(0x642)]();const _0x175176=$gameParty[_0x13873a(0x49a)]()[_0x13873a(0x5a8)](_0x3b1c20=>_0x3b1c20[_0x13873a(0x235)]()&&_0x3b1c20['canInput']()),_0x55ab79=_0x175176[_0x13873a(0x6d1)](_0x27991b),_0x5c51d5=_0x175176[_0x55ab79+0x1];BattleManager['_currentActor']=_0x5c51d5||null;if(_0x5c51d5)_0x5c51d5['setActionState'](_0x13873a(0x646));_0x27991b[_0x13873a(0xc5b)]('undecided'),this[_0x13873a(0x4ed)]();},Scene_Battle['prototype']['processActorCommandCancelTPB']=function(){const _0x346ec9=_0x208a24;this['_partyCommandWindow'][_0x346ec9(0x876)](),this[_0x346ec9(0x918)][_0x346ec9(0x9f)]();if(!VisuMZ[_0x346ec9(0x759)][_0x346ec9(0x809)])return;if(Imported['VisuMZ_2_BattleSystemCTB']&&BattleManager[_0x346ec9(0x9ca)]())return;if(BattleManager[_0x346ec9(0x21e)]){if(_0x346ec9(0x724)!==_0x346ec9(0x724)){if(!_0x59e852['isSceneBattle']())return;_0x323ef8['ConvertParams'](_0x50b2f4,_0x6b1e86);const _0x57a993=_0x2e206a[_0x346ec9(0xcc)](),_0x4d33ff=_0xccc428['MotionFrameWait']*_0x58f22a[_0x346ec9(0xa73)];_0x57a993['wait'](_0x4d33ff);}else{BattleManager[_0x346ec9(0x21e)][_0x346ec9(0xc5b)](_0x346ec9(0xce9));const _0x475ea1=BattleManager[_0x346ec9(0x21e)][_0x346ec9(0xd08)]();if(_0x475ea1)_0x475ea1[_0x346ec9(0x642)]();}}BattleManager['_currentActor']=null;},VisuMZ[_0x208a24(0x759)][_0x208a24(0x6d2)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x9e4)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x9e4)]=function(){const _0x36447b=_0x208a24;VisuMZ['BattleCore']['Scene_Battle_createHelpWindow'][_0x36447b(0x783)](this),this['createHelpWindowBattleCore']();},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xde)]=function(){const _0xdc37ca=_0x208a24;this[_0xdc37ca(0x918)][_0xdc37ca(0x913)](this['_helpWindow']),this[_0xdc37ca(0x280)][_0xdc37ca(0x913)](this[_0xdc37ca(0xd53)]);},Scene_Battle['prototype'][_0x208a24(0x71c)]=function(){const _0x41fcde=_0x208a24;if($gameTemp['_forcedBattleLayout']!==undefined)return $gameTemp[_0x41fcde(0xbc4)];if(this['_battleLayoutStyle'])return this[_0x41fcde(0xbd6)];this[_0x41fcde(0xbd6)]=VisuMZ[_0x41fcde(0x759)]['Settings']['BattleLayout'][_0x41fcde(0x7bc)]['toLowerCase']()[_0x41fcde(0x446)]();this[_0x41fcde(0xbd6)]===_0x41fcde(0x66d)&&!Imported[_0x41fcde(0x995)]&&(this['_battleLayoutStyle']='default');if(this['_battleLayoutStyle']===_0x41fcde(0xa5f)&&!Imported[_0x41fcde(0x1e7)]){if(_0x41fcde(0xba5)!=='aCKhz'){if(!_0x29ae37[_0x41fcde(0x8c3)]())return;if(!_0x529234[_0x41fcde(0x355)])return;const _0x497a86=_0x4a5862[_0x41fcde(0xcc)]();if(!_0x497a86)return;_0x497a86['setWaitMode'](_0x41fcde(0x7a8));}else this['_battleLayoutStyle']=_0x41fcde(0x914);}return this[_0x41fcde(0xbd6)];},VisuMZ[_0x208a24(0x759)]['Scene_Battle_windowAreaHeight']=Scene_Battle[_0x208a24(0xbd8)]['windowAreaHeight'],Scene_Battle['prototype'][_0x208a24(0x74f)]=function(){const _0x2c5618=_0x208a24,_0x193079=this['battleLayoutStyle']();switch(_0x193079){case _0x2c5618(0x38d):return this[_0x2c5618(0x62b)](Math[_0x2c5618(0x6db)](0x1,$gameParty[_0x2c5618(0x828)]()),!![]);break;default:return VisuMZ['BattleCore'][_0x2c5618(0x395)][_0x2c5618(0x783)](this);break;}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x5f2)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x3b9)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x3b9)]=function(){const _0x28d547=_0x208a24,_0x15d628=this[_0x28d547(0x71c)]();switch(_0x15d628){case _0x28d547(0x4f5):return this[_0x28d547(0xc75)]();break;case _0x28d547(0x914):case _0x28d547(0x38d):case'xp':case'portrait':default:return VisuMZ[_0x28d547(0x759)]['Scene_Battle_helpWindowRect'][_0x28d547(0x783)](this);break;}},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xc08)]=function(){const _0xdeb891=_0x208a24,_0x456d6f=this[_0xdeb891(0x71c)]();switch(_0x456d6f){case'xp':case _0xdeb891(0x372):return this[_0xdeb891(0x26e)]();break;case _0xdeb891(0x4f5):return this[_0xdeb891(0xf2)]();break;case'default':case _0xdeb891(0x38d):default:return this[_0xdeb891(0x301)]();break;}},VisuMZ[_0x208a24(0x759)]['Scene_Battle_partyCommandWindowRect']=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xbed)],Scene_Battle[_0x208a24(0xbd8)]['partyCommandWindowRect']=function(){const _0x5c218d=_0x208a24,_0x5ebb5a=this[_0x5c218d(0x71c)]();switch(_0x5ebb5a){case'xp':case _0x5c218d(0x372):return this[_0x5c218d(0xc9f)]();break;case _0x5c218d(0x4f5):return this[_0x5c218d(0x10d)]();case _0x5c218d(0x914):case'list':default:return this[_0x5c218d(0x263)]();break;}},Scene_Battle['prototype'][_0x208a24(0x263)]=function(){const _0x52bcfb=_0x208a24,_0x29f514=VisuMZ[_0x52bcfb(0x759)][_0x52bcfb(0xc39)][_0x52bcfb(0x148)],_0x443a1d=_0x29f514[_0x52bcfb(0xb59)]||0xc0,_0x6aefa3=this['windowAreaHeight'](),_0x43e6a3=this['isRightInputMode']()?Graphics[_0x52bcfb(0xa53)]-_0x443a1d:0x0,_0x4cefd6=Graphics[_0x52bcfb(0x833)]-_0x6aefa3;return new Rectangle(_0x43e6a3,_0x4cefd6,_0x443a1d,_0x6aefa3);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xc9d)]=function(){const _0x33ba0d=_0x208a24;return this[_0x33ba0d(0xbed)]();},VisuMZ['BattleCore']['Scene_Battle_updateStatusWindowPosition']=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x162)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x162)]=function(){const _0x4097da=_0x208a24,_0x25f741=this[_0x4097da(0x71c)]();switch(_0x25f741){case'xp':case'portrait':case _0x4097da(0x4f5):break;case'default':case _0x4097da(0x38d):default:VisuMZ[_0x4097da(0x759)][_0x4097da(0x2ab)][_0x4097da(0x783)](this);break;}},VisuMZ[_0x208a24(0x759)][_0x208a24(0xb38)]=Scene_Battle['prototype']['startActorSelection'],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x8cf)]=function(){const _0x312a63=_0x208a24;VisuMZ[_0x312a63(0x759)][_0x312a63(0xb38)][_0x312a63(0x783)](this),this[_0x312a63(0x211)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xce8)]=Scene_Battle['prototype']['startEnemySelection'],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x41d)]=function(){const _0x3c8a54=_0x208a24;VisuMZ[_0x3c8a54(0x759)][_0x3c8a54(0xce8)]['call'](this),this[_0x3c8a54(0x685)]['autoSelect'](),this[_0x3c8a54(0x211)]();},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x211)]=function(){const _0x270900=_0x208a24,_0x26446f=this[_0x270900(0x71c)]();['xp',_0x270900(0x372),_0x270900(0x4f5)][_0x270900(0xcaf)](_0x26446f)&&this['_actorCommandWindow'][_0x270900(0x9f)](),(_0x26446f===_0x270900(0x4f5)||this[_0x270900(0xa39)]())&&(this['_skillWindow']['close'](),this['_itemWindow'][_0x270900(0x9f)]());},VisuMZ[_0x208a24(0x759)]['Scene_Battle_onActorOk']=Scene_Battle['prototype'][_0x208a24(0xbba)],Scene_Battle['prototype'][_0x208a24(0xbba)]=function(){const _0x205f8e=_0x208a24;VisuMZ[_0x205f8e(0x759)][_0x205f8e(0x87d)][_0x205f8e(0x783)](this),this[_0x205f8e(0xfd)]();},Scene_Battle[_0x208a24(0xbd8)]['isNonSubmenuCancel']=function(){const _0x1cfdd0=_0x208a24;return['attack',_0x1cfdd0(0xc18),'singleSkill'][_0x1cfdd0(0xcaf)](this[_0x1cfdd0(0x918)]['currentSymbol']());},VisuMZ[_0x208a24(0x759)][_0x208a24(0xc97)]=Scene_Battle['prototype'][_0x208a24(0xbdd)],Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xbdd)]=function(){const _0x339380=_0x208a24;this[_0x339380(0xb9a)]()?_0x339380(0x8c0)!==_0x339380(0x33b)?(this[_0x339380(0xb91)][_0x339380(0xb3e)](),this[_0x339380(0xb92)][_0x339380(0x6ec)](),this[_0x339380(0x918)]['activate']()):_0x37bba3[_0x339380(0x759)][_0x339380(0x728)][_0x339380(0x783)](this,_0x3082c0):_0x339380(0xbe1)===_0x339380(0x43e)?(_0x49296b[_0x339380(0xbd8)][_0x339380(0x556)][_0x339380(0x783)](this),this[_0x339380(0xcce)]['fontSize']=_0x503e44[_0x339380(0x759)][_0x339380(0xc39)][_0x339380(0x6bd)][_0x339380(0x692)]):VisuMZ[_0x339380(0x759)][_0x339380(0xc97)]['call'](this),this[_0x339380(0x6bb)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x938)]=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x6d4)],Scene_Battle['prototype'][_0x208a24(0x6d4)]=function(){const _0x1ea78d=_0x208a24,_0x479102=BattleManager[_0x1ea78d(0x53e)]();_0x479102[_0x1ea78d(0x8e9)](this[_0x1ea78d(0x685)][_0x1ea78d(0x449)]()),this['_enemyWindow'][_0x1ea78d(0x842)](),VisuMZ[_0x1ea78d(0x759)][_0x1ea78d(0x938)][_0x1ea78d(0x783)](this),this[_0x1ea78d(0xfd)]();},VisuMZ['BattleCore']['Scene_Battle_onEnemyCancel']=Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0x4a1)],Scene_Battle['prototype'][_0x208a24(0x4a1)]=function(){const _0x3e1536=_0x208a24;if(this['isNonSubmenuCancel']()){if('LlALN'!==_0x3e1536(0x1de)){this[_0x3e1536(0x80c)](_0x9797b1);if(_0x98e30e[_0x3e1536(0x55f)]()){const _0x54eb1b=_0x4cea1b['members']()[_0x57e04a],_0x3c23ee=_0x5eada4[_0x3e1536(0x30b)]['indexOf'](_0x54eb1b);_0x3c23ee>=0x0&&(_0x4a340a[_0x3e1536(0x80c)](_0x3c23ee),_0x21a7b3['processOk']());}}else this['_statusWindow'][_0x3e1536(0xb3e)](),this[_0x3e1536(0x685)]['hide'](),this['_actorCommandWindow'][_0x3e1536(0x674)]();}else VisuMZ[_0x3e1536(0x759)][_0x3e1536(0xd3d)][_0x3e1536(0x783)](this);this[_0x3e1536(0x6bb)](),this['_enemyWindow'][_0x3e1536(0x842)]();},Scene_Battle['prototype']['okTargetSelectionVisibility']=function(){const _0x1a6550=_0x208a24,_0x1d1bd6=this['battleLayoutStyle']();if(_0x1d1bd6===_0x1a6550(0x4f5)||this[_0x1a6550(0xa39)]()){if(_0x1a6550(0x9af)!==_0x1a6550(0x185)){this[_0x1a6550(0xb12)]['open']();this[_0x1a6550(0xb12)][_0x1a6550(0x128)]&&(_0x1a6550(0x921)!=='daTeb'?(_0x3d95c8[_0x1a6550(0xac0)](0x1),_0x3e878a[_0x1a6550(0x3dc)](_0x1a6550(0xa89))):this['_skillWindow'][_0x1a6550(0xb3e)]());this[_0x1a6550(0x87f)][_0x1a6550(0x8ec)]();if(this[_0x1a6550(0x87f)][_0x1a6550(0x128)]){if('puVpT'!==_0x1a6550(0x9e6))this[_0x1a6550(0x87f)]['show']();else{if(this[_0x1a6550(0x347)]())return![];if(this['isAlive']()&&this[_0x1a6550(0x937)]())return!![];if(this[_0x1a6550(0x27a)]()&&this[_0x1a6550(0x814)]()){if(this['isDead']()&&this[_0x1a6550(0x701)]())return![];}else{if(this[_0x1a6550(0x248)]())return![];}return!![];}}}else this[_0x1a6550(0x7c3)]('performCollapse',_0x5216bd);}},Scene_Battle[_0x208a24(0xbd8)]['cancelTargetSelectionVisibility']=function(){const _0x54aab0=_0x208a24,_0x477034=this[_0x54aab0(0x71c)]();['xp',_0x54aab0(0x372),_0x54aab0(0x4f5)][_0x54aab0(0xcaf)](_0x477034)&&this[_0x54aab0(0x918)]['open'](),this[_0x54aab0(0xfd)]();},Scene_Battle['prototype'][_0x208a24(0x301)]=function(){const _0x5ba3c7=_0x208a24,_0xa71075=VisuMZ[_0x5ba3c7(0x759)][_0x5ba3c7(0xc39)][_0x5ba3c7(0x148)],_0x422c6a=Window_BattleStatus['prototype'][_0x5ba3c7(0xafa)](),_0x32845d=Graphics[_0x5ba3c7(0xa53)]-(_0xa71075['CommandWidth']||0xc0),_0x336548=this[_0x5ba3c7(0x74f)]()+_0x422c6a,_0x3937f7=this[_0x5ba3c7(0x171)]()?0x0:Graphics[_0x5ba3c7(0xa53)]-_0x32845d,_0x564fa0=Graphics[_0x5ba3c7(0x833)]-_0x336548+_0x422c6a;return new Rectangle(_0x3937f7,_0x564fa0,_0x32845d,_0x336548);},Scene_Battle['prototype'][_0x208a24(0x26e)]=function(){const _0x5bc987=_0x208a24,_0x4c925f=Window_BattleStatus['prototype'][_0x5bc987(0xafa)](),_0x11293e=Graphics[_0x5bc987(0xa53)],_0x4aa714=this['windowAreaHeight']()+_0x4c925f,_0x29b536=0x0,_0x1fd451=Graphics[_0x5bc987(0x833)]-_0x4aa714+_0x4c925f;return new Rectangle(_0x29b536,_0x1fd451,_0x11293e,_0x4aa714);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xc9f)]=function(){const _0x4c8000=_0x208a24,_0x55fb7a=Graphics[_0x4c8000(0xa53)]/0x2,_0x55ad2e=this[_0x4c8000(0x62b)](VisuMZ[_0x4c8000(0x759)]['Settings'][_0x4c8000(0x148)][_0x4c8000(0xb07)],!![]),_0x4515fd=Math[_0x4c8000(0xd50)]((Graphics[_0x4c8000(0xa53)]-_0x55fb7a)/0x2),_0x27f2a9=Graphics[_0x4c8000(0x833)]-_0x55ad2e-this[_0x4c8000(0x26e)]()[_0x4c8000(0x1fa)];return new Rectangle(_0x4515fd,_0x27f2a9,_0x55fb7a,_0x55ad2e);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xc75)]=function(){const _0x1057ef=_0x208a24,_0xca0d98=Graphics[_0x1057ef(0x4fe)],_0x2c5fdf=Math[_0x1057ef(0xd50)]((Graphics['boxWidth']-_0xca0d98)/0x2),_0x3d5e74=this[_0x1057ef(0x14b)](),_0x30ed5f=(Graphics[_0x1057ef(0x1fa)]-Graphics[_0x1057ef(0x833)])/-0x2;return new Rectangle(_0x2c5fdf,_0x30ed5f,_0xca0d98,_0x3d5e74);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xf2)]=function(){const _0x487407=_0x208a24,_0x2c5bb6=Graphics['width'],_0x212c6e=Math['round']((Graphics[_0x487407(0xa53)]-_0x2c5bb6)/0x2),_0x2d3150=this[_0x487407(0x62b)](0x4,!![]),_0x2ed4f4=Graphics[_0x487407(0x833)]-_0x2d3150+(Graphics[_0x487407(0x1fa)]-Graphics[_0x487407(0x833)])/0x2;return new Rectangle(_0x212c6e,_0x2ed4f4,_0x2c5bb6,_0x2d3150);},Scene_Battle['prototype'][_0x208a24(0x10d)]=function(){const _0x3a781c=_0x208a24,_0x3145e4=Math[_0x3a781c(0x479)](Graphics[_0x3a781c(0x4fe)]/0x3),_0x3002bb=this[_0x3a781c(0x171)]()?(Graphics[_0x3a781c(0x4fe)]+Graphics['boxWidth'])/0x2-_0x3145e4:(Graphics[_0x3a781c(0x4fe)]-Graphics['boxWidth'])/-0x2,_0x5f29aa=this[_0x3a781c(0xc75)](),_0x30edf4=_0x5f29aa['y']+_0x5f29aa[_0x3a781c(0x1fa)],_0x4375d3=this['statusWindowRectBorderStyle'](),_0x5cc650=_0x4375d3['y']-_0x30edf4;return new Rectangle(_0x3002bb,_0x30edf4,_0x3145e4,_0x5cc650);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xf8)]=function(){const _0x348318=_0x208a24,_0x748876=Math[_0x348318(0x7af)](Graphics[_0x348318(0x4fe)]/0x3),_0x12c635=Math['round']((Graphics[_0x348318(0xa53)]-_0x748876)/0x2),_0x2b2f36=this[_0x348318(0x10d)](),_0x4b4197=_0x2b2f36['y'],_0x2f0570=_0x2b2f36[_0x348318(0x1fa)];return new Rectangle(_0x12c635,_0x4b4197,_0x748876,_0x2f0570);},Scene_Battle['prototype'][_0x208a24(0xbe4)]=function(){const _0x1540d0=_0x208a24;this[_0x1540d0(0x58f)]['y']=this['_helpWindow']['y']+this[_0x1540d0(0xd53)][_0x1540d0(0x1fa)];if(this['isRightInputMode']()){if(this[_0x1540d0(0x71c)]()==='border')this['_cancelButton']['x']=0x8;else{if(_0x1540d0(0x532)!==_0x1540d0(0x532)){let _0x501ae4=_0x4b7ca1['x'],_0x1a303e=_0x2b4c71['y'],_0x3c1f6c=_0x3b1c92[_0x1540d0(0x1fa)],_0x8fee9a=_0x4dc366[_0x1540d0(0x4b5)][_0x1540d0(0x867)]['y'];_0x53c640['x']=_0x4b146c[_0x1540d0(0x169)]+_0x1fc7ac[_0x1540d0(0xc3)](),_0x3d1d79['y']=_0x173bde[_0x1540d0(0x832)]+_0x5420d7[_0x1540d0(0xbcc)](),_0x2ef5ae[_0x1540d0(0x1fa)]*=_0x8fee9a;let _0x28a67b=_0x113788['BattleCore']['Sprite_Animation_targetSpritePosition']['call'](this,_0x3a01f4);return _0x3ba153['x']=_0x501ae4,_0x194d3a['y']=_0x1a303e,_0x4d4ac8['height']=_0x3c1f6c,_0x28a67b;}else this['_cancelButton']['x']=-this[_0x1540d0(0x58f)][_0x1540d0(0x4fe)]-0x4;}}else this[_0x1540d0(0x58f)]['x']=Graphics[_0x1540d0(0x4fe)]-(Graphics['width']-Graphics[_0x1540d0(0xa53)])/0x2-this['_cancelButton'][_0x1540d0(0x4fe)]-0x4;},VisuMZ['BattleCore'][_0x208a24(0x523)]=Scene_Battle['prototype'][_0x208a24(0x4f9)],Scene_Battle['prototype'][_0x208a24(0x4f9)]=function(){const _0x5e1f6f=_0x208a24;if(this[_0x5e1f6f(0x71c)]()===_0x5e1f6f(0x4f5))return this[_0x5e1f6f(0xf8)]();else{if(this['isSkillItemWindowsMiddle']()){if(_0x5e1f6f(0xd2d)===_0x5e1f6f(0xd2d))return this[_0x5e1f6f(0xcef)]();else _0x3d4d8e[_0x5e1f6f(0x759)][_0x5e1f6f(0x109)][_0x5e1f6f(0x783)](this),this[_0x5e1f6f(0x56b)]={'arPenRate':0x0,'arPenFlat':0x0,'arRedRate':0x0,'arRedFlat':0x0},this['_multipliers']={'criticalHitRate':0x1,'criticalHitFlat':0x0,'criticalDmgRate':0x1,'criticalDmgFlat':0x0,'damageRate':0x1,'damageFlat':0x0,'hitRate':0x1,'hitFlat':0x0},this[_0x5e1f6f(0xa21)]=_0x5e1f6f(0x914),this['clearTargetBattlerKey']();}else return VisuMZ[_0x5e1f6f(0x759)][_0x5e1f6f(0x523)][_0x5e1f6f(0x783)](this);}},VisuMZ['BattleCore'][_0x208a24(0x62f)]=Scene_Battle[_0x208a24(0xbd8)]['itemWindowRect'],Scene_Battle['prototype'][_0x208a24(0x74b)]=function(){const _0xef8fd0=_0x208a24;if(this['battleLayoutStyle']()==='border')return this[_0xef8fd0(0xf8)]();else return this[_0xef8fd0(0xa39)]()?this[_0xef8fd0(0xcef)]():VisuMZ[_0xef8fd0(0x759)][_0xef8fd0(0x62f)]['call'](this);},Scene_Battle[_0x208a24(0xbd8)][_0x208a24(0xa39)]=function(){const _0x1fd801=_0x208a24;return VisuMZ[_0x1fd801(0x759)][_0x1fd801(0xc39)][_0x1fd801(0x148)][_0x1fd801(0x818)];},Scene_Battle['prototype'][_0x208a24(0xcef)]=function(){const _0x2a8c9f=_0x208a24,_0x9f9a53=Sprite_Button[_0x2a8c9f(0xbd8)]['blockWidth']()*0x2+0x4;let _0x1ac36b=Graphics['boxWidth']-_0x9f9a53;Imported['VisuMZ_0_CoreEngine']&&SceneManager['isSideButtonLayout']()&&(_0x1ac36b+=_0x9f9a53);const _0x2634bb=this['helpAreaBottom'](),_0x25222a=Graphics[_0x2a8c9f(0x833)]-_0x2634bb-this[_0x2a8c9f(0xc08)]()[_0x2a8c9f(0x1fa)]+Window_BattleStatus['prototype'][_0x2a8c9f(0xafa)](),_0x534e15=0x0;return new Rectangle(_0x534e15,_0x2634bb,_0x1ac36b,_0x25222a);},Scene_Battle['prototype'][_0x208a24(0x7b4)]=function(){const _0x5eb39f=_0x208a24;if(!VisuMZ[_0x5eb39f(0x759)][_0x5eb39f(0xc39)][_0x5eb39f(0x6bd)]['NameLegacy'])return;this[_0x5eb39f(0xc41)]=new Sprite(),this[_0x5eb39f(0xc41)]['x']=this[_0x5eb39f(0x848)]['x'],this['_enemyNameContainer']['y']=this['_windowLayer']['y'];const _0x592fed=this['children'][_0x5eb39f(0x6d1)](this[_0x5eb39f(0x848)]);this['addChildAt'](this['_enemyNameContainer'],_0x592fed);for(let _0x3750c0=0x0;_0x3750c0<0x8;_0x3750c0++){const _0x38549a=new Window_EnemyName(_0x3750c0);this[_0x5eb39f(0xc41)][_0x5eb39f(0x739)](_0x38549a);}},Sprite_Battler['_motionSpeed']=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)][_0x208a24(0x5a5)]['MotionSpeed'],VisuMZ['BattleCore'][_0x208a24(0xb79)]=Sprite_Battler[_0x208a24(0xbd8)]['initMembers'],Sprite_Battler[_0x208a24(0xbd8)]['initMembers']=function(){const _0xc847d5=_0x208a24;VisuMZ[_0xc847d5(0x759)][_0xc847d5(0xb79)][_0xc847d5(0x783)](this),this['initMembersBattleCore']();if(this['constructor']===Sprite_Enemy)this[_0xc847d5(0xcf)]();this[_0xc847d5(0x628)]();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x41c)]=function(){const _0x3eb537=_0x208a24;this[_0x3eb537(0x169)]=0x0,this['_baseY']=0x0,this['_floatHeight']=0x0,this[_0x3eb537(0xd00)]=0x0,this['_floatDuration']=0x0,this[_0x3eb537(0x1ac)]=0x0,this[_0x3eb537(0xa15)]=_0x3eb537(0xc0e),this[_0x3eb537(0x3e5)]=0x0,this[_0x3eb537(0x70a)]=0x0,this[_0x3eb537(0xbf7)]=0x0,this[_0x3eb537(0x1a2)]=0x0,this[_0x3eb537(0x51b)]=0xff,this['_opacityDuration']=0x0,this['_opacityWholeDuration']=0x0,this[_0x3eb537(0x6de)]=_0x3eb537(0xc0e),this['_currentAngle']=0x0,this['_targetAngle']=0x0,this['_angleDuration']=0x0,this[_0x3eb537(0x19c)]=0x0,this[_0x3eb537(0x35f)]='Linear',this[_0x3eb537(0x576)]=!![],this[_0x3eb537(0x83b)]=0x0,this['_skewY']=0x0,this[_0x3eb537(0xca0)]=0x0,this[_0x3eb537(0x52c)]=0x0,this[_0x3eb537(0x2c5)]=0x0,this[_0x3eb537(0x51a)]=0x0,this[_0x3eb537(0xcd8)]='Linear',this['_growX']=0x1,this[_0x3eb537(0x623)]=0x1,this['_targetGrowX']=0x1,this[_0x3eb537(0xaed)]=0x1,this['_growDuration']=0x0,this[_0x3eb537(0x494)]=0x0,this[_0x3eb537(0x83c)]=_0x3eb537(0xc0e),this[_0x3eb537(0x11e)]=0x1,this[_0x3eb537(0xba8)]=0x0,this[_0x3eb537(0x954)]=0x0,this[_0x3eb537(0x7ce)]=0x0,this[_0x3eb537(0x7a1)]=0x0,this[_0x3eb537(0x70b)]=_0x3eb537(0xc0e),this[_0x3eb537(0xd20)]=0x0,this[_0x3eb537(0x1b5)]=0x0;},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xcf)]=function(){const _0x8f25ce=_0x208a24;this['_shadowSprite']=new Sprite(),this['_shadowSprite'][_0x8f25ce(0x63f)]=ImageManager[_0x8f25ce(0x5a0)](_0x8f25ce(0x310)),this[_0x8f25ce(0x1c2)]['bitmap']['smooth']=VisuMZ['BattleCore'][_0x8f25ce(0xc39)][_0x8f25ce(0x5a5)][_0x8f25ce(0x2eb)],this[_0x8f25ce(0x1c2)][_0x8f25ce(0x7ec)]['x']=0.5,this[_0x8f25ce(0x1c2)][_0x8f25ce(0x7ec)]['y']=0.5,this[_0x8f25ce(0x1c2)]['y']=-0x2,this[_0x8f25ce(0x1c2)][_0x8f25ce(0x3b3)]=![],this[_0x8f25ce(0x739)](this[_0x8f25ce(0x1c2)]);},Sprite_Battler[_0x208a24(0xbd8)]['createDistortionSprite']=function(){const _0x2dfa6f=_0x208a24;this['_distortionSprite']=new Sprite(),this[_0x2dfa6f(0x4b5)][_0x2dfa6f(0x7ec)]['x']=0.5,this[_0x2dfa6f(0x4b5)][_0x2dfa6f(0x7ec)]['y']=0.5,this['addChild'](this[_0x2dfa6f(0x4b5)]);},Sprite_Battler[_0x208a24(0xbd8)]['attachSpritesToDistortionSprite']=function(){const _0xc3cacc=_0x208a24;if(!this['_distortionSprite'])return;if(this[_0xc3cacc(0x1c2)]){if(_0xc3cacc(0x1d8)!==_0xc3cacc(0x1d8))_0x285149[_0xc3cacc(0x759)]['ParseActorNotetags'][_0xc3cacc(0x783)](this,_0xe538b5);else{const _0x1c8184=this[_0xc3cacc(0x52f)](this[_0xc3cacc(0x4b5)]);this[_0xc3cacc(0x9cc)](this[_0xc3cacc(0x1c2)],_0x1c8184),this[_0xc3cacc(0x32b)]();}}this[_0xc3cacc(0x73b)]&&this['_distortionSprite'][_0xc3cacc(0x739)](this[_0xc3cacc(0x73b)]);if(this[_0xc3cacc(0x799)]){if('bARpe'!==_0xc3cacc(0x118)){if(_0x334006['type']===0x0)this[_0xc3cacc(0x90c)](_0xc3cacc(0xd3e));else{if(_0x4cf6a6['type']===0x1)this[_0xc3cacc(0x90c)](_0xc3cacc(0xb89));else _0x4b15a9[_0xc3cacc(0x4f8)]===0x2&&this[_0xc3cacc(0x90c)](_0xc3cacc(0xb67));}this[_0xc3cacc(0x138)](_0x59b599['weaponImageId']);}else this[_0xc3cacc(0x4b5)][_0xc3cacc(0x739)](this[_0xc3cacc(0x799)]);}this[_0xc3cacc(0x666)]&&this['_distortionSprite'][_0xc3cacc(0x739)](this['_mainSprite']);if(this[_0xc3cacc(0x325)]){if(_0xc3cacc(0x7df)===_0xc3cacc(0x835)){if(this['_battler']&&this[_0xc3cacc(0xa4c)][_0xc3cacc(0x248)]()){this[_0xc3cacc(0x46f)]=_0x13070d['MOTIONS'][_0xc3cacc(0x2e6)];return;}const _0x1b3b59=_0x40f971[_0xc3cacc(0x40c)][_0x3743a9];this[_0xc3cacc(0x46f)]=_0x1b3b59,this[_0xc3cacc(0xb7f)]=0x0,this[_0xc3cacc(0x25d)]=0x0;}else this['_distortionSprite'][_0xc3cacc(0x739)](this[_0xc3cacc(0x325)]);}this['_dragonbonesSpriteContainer']&&this[_0xc3cacc(0x4b5)][_0xc3cacc(0x739)](this[_0xc3cacc(0x232)]);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x32b)]=function(){const _0x576e97=_0x208a24;if(!this[_0x576e97(0x1c2)])return;if(this[_0x576e97(0xa4c)]&&this[_0x576e97(0xa4c)][_0x576e97(0x689)]()){if(_0x576e97(0x657)!==_0x576e97(0x795)){const _0x34a0d5=this[_0x576e97(0x1c2)][_0x576e97(0x63f)];this[_0x576e97(0x1c2)][_0x576e97(0x62c)](0x0,0x0,_0x34a0d5['width'],_0x34a0d5[_0x576e97(0x1fa)]);}else{const _0x38345b=new _0x5f39d5();return _0x448827[_0xf4e8de]=_0x38345b,this[_0x576e97(0x350)](_0x38345b),this[_0x576e97(0x350)](this['_cursorArea']),_0x38345b;}}else this[_0x576e97(0x1c2)][_0x576e97(0x62c)](0x0,0x0,0x0,0x0);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x1b4)]=function(){const _0x21d158=_0x208a24;if(SceneManager[_0x21d158(0x8c3)]()){if('bdvDY'==='bdvDY')return SceneManager[_0x21d158(0xc1b)][_0x21d158(0xa85)][_0x21d158(0x2e1)];else _0x419450[_0x21d158(0x6d5)]=!_0x310ce6[_0x21d158(0x6d5)];}else return this['parent'];},Sprite_Battler[_0x208a24(0xbd8)]['setupTextPopup']=function(_0x53d4b6,_0x1b0949){const _0x221cbf=_0x208a24;if(!this[_0x221cbf(0xa4c)][_0x221cbf(0x3c4)]())return;if(BattleManager[_0x221cbf(0xb05)]())return;const _0x270d04=VisuMZ[_0x221cbf(0x759)][_0x221cbf(0xc39)]['Damage'],_0x5980f4=new Sprite_Damage();_0x5980f4['_duration']=_0x270d04[_0x221cbf(0xd3f)],this[_0x221cbf(0x2b4)](_0x5980f4),_0x5980f4[_0x221cbf(0x98c)](_0x53d4b6,_0x1b0949),this[_0x221cbf(0x46c)](_0x5980f4);},Sprite_Battler['prototype'][_0x208a24(0x2ae)]=function(_0x5059b9,_0x50064e,_0x172df0){const _0x1da368=_0x208a24;if(!this[_0x1da368(0xa4c)]['isSpriteVisible']())return;if(BattleManager[_0x1da368(0xb05)]())return;const _0x293cca=VisuMZ[_0x1da368(0x759)][_0x1da368(0xc39)][_0x1da368(0x7a9)],_0x4db734=new Sprite_Damage();_0x4db734[_0x1da368(0x84d)]=_0x293cca[_0x1da368(0xd3f)],this[_0x1da368(0x2b4)](_0x4db734),_0x4db734[_0x1da368(0x2ae)](_0x5059b9,_0x50064e,_0x172df0),this[_0x1da368(0x46c)](_0x4db734);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x3ef)]=function(){const _0x326149=_0x208a24;if(!this['_battler'][_0x326149(0x6a3)]())return;while(this[_0x326149(0xa4c)][_0x326149(0x6a3)]()){if(this[_0x326149(0xa4c)]['isSpriteVisible']()){if(_0x326149(0x17d)!==_0x326149(0x17d)){if(!_0x51ed4c[_0x326149(0x8c3)]())return;if(!_0x57c5e4[_0x326149(0x355)])return;_0x5e8bce[_0x326149(0x4f4)](_0x2612ae,_0x556446);const _0x5f5836=_0x4bd245['getLastPluginCommandInterpreter'](),_0x129c64=_0x4fe7a7[_0x326149(0x7fd)];_0x101585[_0x326149(0xcd)](_0x4b9eb1[_0x326149(0x926)],_0x37d77e[_0x326149(0xc67)],_0x5e880d['Duration'],_0x34d2c1[_0x326149(0x99b)]);if(_0x129c64)_0x5f5836['setWaitMode'](_0x326149(0xc05));}else this[_0x326149(0x6f8)]();}}this[_0x326149(0xa4c)][_0x326149(0x55e)](),this['_battler'][_0x326149(0x7c7)]();},Sprite_Battler['prototype'][_0x208a24(0x6f8)]=function(){const _0x2cfede=_0x208a24;if(BattleManager[_0x2cfede(0xb05)]())return;const _0x542cbc=VisuMZ[_0x2cfede(0x759)][_0x2cfede(0xc39)][_0x2cfede(0x7a9)],_0x5d93c1=new Sprite_Damage();_0x5d93c1['_duration']=_0x542cbc['PopupDuration'],this[_0x2cfede(0x2b4)](_0x5d93c1),_0x5d93c1[_0x2cfede(0x876)](this[_0x2cfede(0xa4c)]),_0x5d93c1[_0x2cfede(0xb29)](this['_battler']),this['addDamageSprite'](_0x5d93c1);},Sprite_Battler['prototype'][_0x208a24(0x46c)]=function(_0x551a71){const _0x4c2661=_0x208a24;this[_0x4c2661(0xad1)]['push'](_0x551a71);if(this[_0x4c2661(0xc9b)]()){const _0x58284c=SceneManager['_scene']['_statusWindow'];if(_0x58284c)_0x58284c[_0x4c2661(0x46c)](_0x551a71,this['_battler']);}else{if('UfQWo'!==_0x4c2661(0x843))this[_0x4c2661(0x386)](_0x157970,_0x3e85d9,_0x4b952f),this[_0x4c2661(0xd51)](_0x40518b,_0x1e5594,_0x42be55),this['finishActionSet'](_0x387199,_0x185858,_0x560e17);else{this[_0x4c2661(0x1b4)]()[_0x4c2661(0x739)](_0x551a71);if(SceneManager[_0x4c2661(0x76f)]())_0x551a71[_0x4c2661(0x867)]['x']=-0x1;}}},Sprite_Battler['prototype']['isShownOnBattlePortrait']=function(){const _0x199776=_0x208a24;return!$gameSystem[_0x199776(0x620)]()&&this[_0x199776(0xa4c)]&&this[_0x199776(0xa4c)]['isActor']();return!$gameSystem['isSideView']()&&this[_0x199776(0xa4c)]&&this[_0x199776(0xa4c)]['isActor']()&&Window_BattleStatus[_0x199776(0xbd8)][_0x199776(0x71c)]()===_0x199776(0x372);},Sprite_Battler['prototype'][_0x208a24(0x2b4)]=function(_0x93cb90){const _0x21b85e=_0x208a24;this['alignBattleCoreDamageSprite'](_0x93cb90,!![]);const _0x57b2cb=VisuMZ[_0x21b85e(0x759)][_0x21b85e(0xc39)]['Damage'],_0x1bc9ba=SceneManager['isBattleFlipped']()?-0x1:0x1;if(_0x57b2cb['NewPopupBottom']){if(_0x21b85e(0x9ff)===_0x21b85e(0x9ff))for(const _0x1f7dc0 of this[_0x21b85e(0xad1)]){_0x1f7dc0['x']+=_0x57b2cb[_0x21b85e(0x9bb)]*_0x1bc9ba,_0x1f7dc0['y']+=_0x57b2cb[_0x21b85e(0xa9)];}else return this[_0x21b85e(0xc0f)](_0x43bbef);}else{const _0x4c16c0=this[_0x21b85e(0xad1)][this[_0x21b85e(0xad1)][_0x21b85e(0x1ba)]-0x1];_0x4c16c0&&(_0x93cb90['x']=_0x4c16c0['x']+_0x57b2cb['PopupShiftX']*_0x1bc9ba,_0x93cb90['y']=_0x4c16c0['y']+_0x57b2cb[_0x21b85e(0xa9)]);}},Sprite_Battler['prototype'][_0x208a24(0x460)]=function(_0x5070d8,_0x3a8c4a){const _0x1f0f9a=_0x208a24,_0x2e5348=SceneManager[_0x1f0f9a(0x76f)]()?-0x1:0x1;let _0x3df2cb=this['_baseX'];_0x3df2cb+=this[_0x1f0f9a(0xc3)]();let _0x110335=this['_baseY'];const _0x8a550e=this['_distortionSprite'][_0x1f0f9a(0x867)]['y'];_0x110335+=this['extraPositionY']();const _0x2b490e=SceneManager['_scene']['_statusWindow'];if(_0x2b490e&&this[_0x1f0f9a(0x216)]===_0x2b490e){if(_0x1f0f9a(0x172)==='TpBvM')this[_0x1f0f9a(0xc9b)]()?_0x4cf841['_scene'][_0x1f0f9a(0xb91)][_0x1f0f9a(0x28c)](_0x2548e1):(this[_0x1f0f9a(0x1b4)]()['removeChild'](_0xc8000d),this[_0x1f0f9a(0xad1)]['remove'](_0x54d7d7),_0x594d54[_0x1f0f9a(0x8f3)]());else{_0x3df2cb+=_0x2b490e['x']-this[_0x1f0f9a(0x260)]();const _0x4a80d3=_0x2b490e[_0x1f0f9a(0x146)]()*0x3/0x4;_0x110335=_0x2b490e['y']+_0x4a80d3,_0x110335=Math[_0x1f0f9a(0x618)](_0x110335,_0x2b490e['y']+this['y']-this[_0x1f0f9a(0x1fa)]+_0x4a80d3);}}_0x5070d8['x']=Math[_0x1f0f9a(0xd50)](_0x3df2cb+this[_0x1f0f9a(0x260)]()*_0x2e5348),_0x5070d8['y']=Math[_0x1f0f9a(0xd50)](_0x110335+this[_0x1f0f9a(0xa13)]());},VisuMZ['BattleCore'][_0x208a24(0x988)]=Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x260)],Sprite_Battler[_0x208a24(0xbd8)]['damageOffsetX']=function(){const _0x58d7c4=_0x208a24;let _0x390014=VisuMZ[_0x58d7c4(0x759)][_0x58d7c4(0x988)][_0x58d7c4(0x783)](this),_0x32fcd8=VisuMZ[_0x58d7c4(0x759)][_0x58d7c4(0xc39)][_0x58d7c4(0x7a9)][_0x58d7c4(0xa24)]||0x0;return Math[_0x58d7c4(0xd50)](_0x390014+_0x32fcd8);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x4e0)]=Sprite_Battler['prototype'][_0x208a24(0xa13)],Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xa13)]=function(){const _0x4fff86=_0x208a24;let _0x299a44=VisuMZ[_0x4fff86(0x759)][_0x4fff86(0x4e0)][_0x4fff86(0x783)](this);switch(VisuMZ[_0x4fff86(0x759)][_0x4fff86(0xc39)][_0x4fff86(0x7a9)][_0x4fff86(0xa95)]){case _0x4fff86(0xa1a):_0x299a44-=this[_0x4fff86(0x1fa)]*this[_0x4fff86(0x867)]['y'];break;case'center':_0x299a44-=this['height']*this[_0x4fff86(0x867)]['y']*0.5;break;}let _0x4d5a0c=VisuMZ[_0x4fff86(0x759)]['Settings'][_0x4fff86(0x7a9)][_0x4fff86(0x92a)]||0x0;return Math[_0x4fff86(0xd50)](_0x299a44+_0x4d5a0c);},Sprite_Actor[_0x208a24(0xbd8)]['damageOffsetX']=function(){const _0x3fde23=_0x208a24;return Sprite_Battler[_0x3fde23(0xbd8)][_0x3fde23(0x260)][_0x3fde23(0x783)](this);},Sprite_Actor['prototype'][_0x208a24(0xa13)]=function(){const _0x177083=_0x208a24;return Sprite_Battler[_0x177083(0xbd8)][_0x177083(0xa13)]['call'](this);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x36c)]=function(_0x54f528){const _0x1398b8=_0x208a24;if(this['isShownOnBattlePortrait']())SceneManager[_0x1398b8(0xc1b)][_0x1398b8(0xb91)][_0x1398b8(0x28c)](_0x54f528);else{if(_0x1398b8(0x91f)!==_0x1398b8(0x3ce))this[_0x1398b8(0x1b4)]()[_0x1398b8(0x368)](_0x54f528),this['_damages'][_0x1398b8(0x44b)](_0x54f528),_0x54f528[_0x1398b8(0x8f3)]();else return _0x38e048[_0x1398b8(0x759)][_0x1398b8(0xc39)][_0x1398b8(0x6bd)][_0x1398b8(0x452)]?this[_0x1398b8(0xa4c)]['isSelected']():_0x2cf1ff[_0x1398b8(0xc1b)][_0x1398b8(0x685)]&&_0x1d59ae[_0x1398b8(0xc1b)]['_enemyWindow']['active']&&_0x127b72['_scene'][_0x1398b8(0x685)]['_enemies']['includes'](this['_battler']);}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x947)]=Sprite_Battler['prototype'][_0x208a24(0x108)],Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x108)]=function(_0x22da46,_0x4eef90){const _0x158f7f=_0x208a24,_0x188361=VisuMZ['BattleCore'][_0x158f7f(0xc39)];if(this[_0x158f7f(0x594)]===Sprite_Actor)_0x158f7f(0xa30)!=='AdorL'?(_0x22da46+=_0x188361[_0x158f7f(0x5a5)][_0x158f7f(0x7ae)]||0x0,_0x4eef90+=_0x188361['Actor'][_0x158f7f(0x153)]||0x0):_0x372924['setWaitMode'](_0x158f7f(0x658));else{if(this[_0x158f7f(0x594)]===Sprite_Enemy){if(_0x158f7f(0x346)!==_0x158f7f(0x346))return!![];else _0x22da46+=_0x188361[_0x158f7f(0x6bd)][_0x158f7f(0x7ae)]||0x0,_0x4eef90+=_0x188361['Enemy'][_0x158f7f(0x153)]||0x0;}}this[_0x158f7f(0xa4c)]&&(_0x22da46=this[_0x158f7f(0xa4c)][_0x158f7f(0xc7e)]??_0x22da46,_0x4eef90=this[_0x158f7f(0xa4c)][_0x158f7f(0xaf3)]??_0x4eef90),VisuMZ[_0x158f7f(0x759)]['Sprite_Battler_setHome'][_0x158f7f(0x783)](this,_0x22da46,_0x4eef90),this[_0x158f7f(0xba8)]=this[_0x158f7f(0xd02)],this[_0x158f7f(0x954)]=this[_0x158f7f(0x66c)],this[_0x158f7f(0x7ce)]=0x0,this[_0x158f7f(0x7a1)]=0x0,this[_0x158f7f(0x70b)]=_0x158f7f(0xc0e);},VisuMZ['BattleCore'][_0x208a24(0x677)]=Sprite_Battler[_0x208a24(0xbd8)]['update'],Sprite_Battler['prototype'][_0x208a24(0x3c1)]=function(){const _0x162797=_0x208a24;VisuMZ[_0x162797(0x759)]['Sprite_Battler_update'][_0x162797(0x783)](this),!this['_battler']&&this[_0x162797(0x105)]&&(this[_0x162797(0x105)][_0x162797(0x3b3)]=![]);},VisuMZ[_0x208a24(0x759)][_0x208a24(0xed)]=Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xee)],Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xee)]=function(){const _0x25b21e=_0x208a24;this[_0x25b21e(0x909)](),this[_0x25b21e(0x78c)](),this['updateSpin'](),this['updateFlip'](),VisuMZ[_0x25b21e(0x759)][_0x25b21e(0xed)][_0x25b21e(0x783)](this),this[_0x25b21e(0x459)](),this[_0x25b21e(0x8f8)]();if(this[_0x25b21e(0x594)]===Sprite_Enemy)this['updateShadow']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x19b)]=Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x295)],Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x295)]=function(){const _0x34a4d5=_0x208a24;this[_0x34a4d5(0x54e)](),VisuMZ[_0x34a4d5(0x759)][_0x34a4d5(0x19b)][_0x34a4d5(0x783)](this),this[_0x34a4d5(0xb3)](),this['updateOpacity']();},Sprite_Battler['prototype'][_0x208a24(0x647)]=function(){const _0x557a82=_0x208a24,_0x758fc8=this['mainSprite']();if(this[_0x557a82(0xa4c)][_0x557a82(0xacb)]())this['_selectionEffectCount']++,Graphics[_0x557a82(0x9ba)]%0x1e<0xf?_0x758fc8[_0x557a82(0x606)]([0xff,0xff,0xff,0x40]):_0x758fc8['setBlendColor']([0x0,0x0,0x0,0x0]);else this[_0x557a82(0x83a)]>0x0&&(this[_0x557a82(0x83a)]=0x0,_0x758fc8[_0x557a82(0x606)]([0x0,0x0,0x0,0x0]));},Sprite_Battler['prototype'][_0x208a24(0xca3)]=function(_0x245acf,_0x55579f){const _0x536372=_0x208a24,_0xb2b66a=VisuMZ[_0x536372(0x759)][_0x536372(0xc39)];if(this['constructor']===Sprite_Actor)_0x245acf+=_0xb2b66a[_0x536372(0x5a5)][_0x536372(0x7ae)]||0x0,_0x55579f+=_0xb2b66a['Actor']['OffsetY']||0x0;else{if(this[_0x536372(0x594)]===Sprite_Enemy){if(_0x536372(0xa69)!==_0x536372(0xa69)){const _0x5a37ac=new _0xac11c9();_0x5a37ac['bitmap']=_0x563dfd[_0x536372(0x5a0)](_0x265ee2[_0x536372(0x87a)]),_0x5a37ac['x']=_0x4fea1d['StatusWindowAttachmentFrontOffsetX']||0x0,_0x5a37ac['y']=_0x580c45[_0x536372(0x71f)]||0x0,this[_0x536372(0x739)](_0x5a37ac),this[_0x536372(0x6ca)]=_0x5a37ac;}else _0x245acf+=_0xb2b66a[_0x536372(0x6bd)][_0x536372(0x7ae)]||0x0,_0x55579f+=_0xb2b66a[_0x536372(0x6bd)]['OffsetY']||0x0;}}const _0x2ffd5f=_0x245acf-this['_homeX'],_0x288e3f=_0x55579f-this[_0x536372(0x66c)];this[_0x536372(0xd02)]=_0x245acf,this[_0x536372(0x66c)]=_0x55579f,this[_0x536372(0xb71)]-=_0x2ffd5f,this[_0x536372(0x3a2)]-=_0x288e3f,this[_0x536372(0x6ee)]-=_0x2ffd5f,this[_0x536372(0x7f8)]-=_0x288e3f,this['updatePosition']();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x625)]=function(_0x17588f,_0x166c7e,_0x45c2a5,_0x163d31){const _0x45d598=_0x208a24,_0x506507=VisuMZ[_0x45d598(0x759)][_0x45d598(0xc39)];if(this[_0x45d598(0x594)]===Sprite_Actor)'TxMRE'===_0x45d598(0x3f3)?(_0x9c149c[_0x45d598(0x759)][_0x45d598(0x573)][_0x45d598(0x783)](this,_0x11e83a),this['callNextMethod']()):(_0x17588f+=_0x506507[_0x45d598(0x5a5)]['OffsetX']||0x0,_0x166c7e+=_0x506507[_0x45d598(0x5a5)]['OffsetY']||0x0);else this[_0x45d598(0x594)]===Sprite_Enemy&&('LXhzp'==='usFOt'?(this[_0x45d598(0xba8)]=_0x62a05d,this[_0x45d598(0x954)]=_0x270112,this[_0x45d598(0x7ce)]=_0x8290ad,this[_0x45d598(0x7a1)]=_0x455124,this[_0x45d598(0x70b)]=_0x796268,_0x9c42cc<=0x0&&this['onHomeMoveEnd']()):(_0x17588f+=_0x506507[_0x45d598(0x6bd)][_0x45d598(0x7ae)]||0x0,_0x166c7e+=_0x506507[_0x45d598(0x6bd)][_0x45d598(0x153)]||0x0));(this[_0x45d598(0xba8)]!==_0x17588f||this[_0x45d598(0x954)]!==_0x166c7e)&&(_0x45d598(0x4e6)!==_0x45d598(0x4e6)?_0xdf5ede[_0x45d598(0xbd8)][_0x45d598(0x8c2)][_0x45d598(0x783)](this):(this[_0x45d598(0xba8)]=_0x17588f,this[_0x45d598(0x954)]=_0x166c7e,this[_0x45d598(0x7ce)]=_0x45c2a5,this['_homeWholeDuration']=_0x45c2a5,this[_0x45d598(0x70b)]=_0x163d31,_0x45c2a5<=0x0&&this[_0x45d598(0xd44)]()));},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x54e)]=function(){const _0x442a74=_0x208a24;if(this[_0x442a74(0x7ce)]<=0x0)return;const _0x38a674=this[_0x442a74(0x7ce)],_0x1654e7=this[_0x442a74(0x7a1)],_0x3a522=this['_homeEasing'];if(Imported[_0x442a74(0x496)])this['_homeX']=this['applyEasing'](this[_0x442a74(0xd02)],this[_0x442a74(0xba8)],_0x38a674,_0x1654e7,_0x3a522),this[_0x442a74(0x66c)]=this[_0x442a74(0x381)](this[_0x442a74(0x66c)],this[_0x442a74(0x954)],_0x38a674,_0x1654e7,_0x3a522);else{if(_0x442a74(0xc0a)===_0x442a74(0x574))return _0xf0f20f(_0x461983['$1'])/0x64;else this['_homeX']=(this['_homeX']*(_0x38a674-0x1)+this[_0x442a74(0xba8)])/_0x38a674,this[_0x442a74(0x66c)]=(this['_homeY']*(_0x38a674-0x1)+this[_0x442a74(0x954)])/_0x38a674;}this[_0x442a74(0x7ce)]--;if(this[_0x442a74(0x7ce)]<=0x0)this['onHomeMoveEnd']();},Sprite_Battler[_0x208a24(0xbd8)]['onHomeMoveEnd']=function(){const _0x367810=_0x208a24;this[_0x367810(0xd02)]=this[_0x367810(0xba8)],this['_homeY']=this[_0x367810(0x954)];},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xb3)]=function(){const _0x4c5470=_0x208a24;this[_0x4c5470(0x169)]=this['x'],this[_0x4c5470(0x832)]=this['y'],this['updateFloat'](),this[_0x4c5470(0x20e)](),this['x']+=this[_0x4c5470(0xc3)](),this['y']+=this[_0x4c5470(0xbcc)](),this['y']+=this[_0x4c5470(0x4e2)](),this['x']=Math[_0x4c5470(0x479)](this['x']),this['y']=Math[_0x4c5470(0x479)](this['y']);},Sprite_Battler[_0x208a24(0xbd8)]['extraPositionX']=function(){let _0x5a4666=0x0;return _0x5a4666;},Sprite_Battler[_0x208a24(0xbd8)]['extraPositionY']=function(){const _0x4af4ba=_0x208a24;let _0x5e0404=0x0;return this[_0x4af4ba(0xa4c)]&&!this[_0x4af4ba(0xa4c)][_0x4af4ba(0x9eb)]()&&(_0x5e0404-=this[_0x4af4ba(0x1e0)],_0x5e0404-=this[_0x4af4ba(0x3e5)]),_0x5e0404;},Sprite_Battler['prototype']['extraPositionScaledY']=function(){const _0x4dd480=_0x208a24;let _0xeebf4=0x0;if(this[_0x4dd480(0x4b5)]&&this[_0x4dd480(0x594)]!==Sprite_SvEnemy){if(_0x4dd480(0x204)!==_0x4dd480(0xb2c)){const _0x5e20a0=this[_0x4dd480(0x4b5)]['scale']['y'];_0xeebf4-=(_0x5e20a0-0x1)*this['height'];}else _0x50fc12=_0x5b6d34;}return _0xeebf4;},Sprite_Battler[_0x208a24(0xbd8)]['updateFlip']=function(){const _0x2a6f17=_0x208a24,_0x4965c8=this[_0x2a6f17(0xa4c)]&&this[_0x2a6f17(0xa4c)]['isBattlerFlipped']();this[_0x2a6f17(0x11e)]=(_0x4965c8?-0x1:0x1)*Math[_0x2a6f17(0x7ac)](this['scale']['x']);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x206)]=function(_0x2e5b76,_0x317415,_0x23f37f){const _0x401834=_0x208a24;if(!this[_0x401834(0x7d2)]())return;if(this[_0x401834(0xd00)]===_0x2e5b76)return;this[_0x401834(0xd00)]=_0x2e5b76,this['_floatDuration']=_0x317415,this[_0x401834(0x1ac)]=_0x317415,this['_floatEasing']=_0x23f37f||_0x401834(0xc0e);if(_0x317415<=0x0)this[_0x401834(0x1e0)]=_0x2e5b76;},Sprite_Battler['prototype'][_0x208a24(0x487)]=function(){const _0x243f3b=_0x208a24;if(this[_0x243f3b(0x831)]<=0x0)return;const _0x1f21d1=this[_0x243f3b(0x831)],_0x36f384=this['_floatWholeDuration'],_0x1add9e=this['_floatEasing'];Imported[_0x243f3b(0x496)]?this[_0x243f3b(0x1e0)]=this[_0x243f3b(0x381)](this[_0x243f3b(0x1e0)],this[_0x243f3b(0xd00)],_0x1f21d1,_0x36f384,_0x1add9e):_0x243f3b(0xa57)===_0x243f3b(0x9de)?(this[_0x243f3b(0x169)]=0x0,this[_0x243f3b(0x832)]=0x0,this[_0x243f3b(0x1e0)]=0x0,this[_0x243f3b(0xd00)]=0x0,this[_0x243f3b(0x831)]=0x0,this[_0x243f3b(0x1ac)]=0x0,this['_floatEasing']=_0x243f3b(0xc0e),this[_0x243f3b(0x3e5)]=0x0,this[_0x243f3b(0x70a)]=0x0,this[_0x243f3b(0xbf7)]=0x0,this[_0x243f3b(0x1a2)]=0x0,this['_targetOpacity']=0xff,this[_0x243f3b(0xa51)]=0x0,this['_opacityWholeDuration']=0x0,this['_opacityEasing']='Linear',this['_currentAngle']=0x0,this[_0x243f3b(0xbad)]=0x0,this['_angleDuration']=0x0,this[_0x243f3b(0x19c)]=0x0,this['_angleEasing']='Linear',this[_0x243f3b(0x576)]=!![],this[_0x243f3b(0x83b)]=0x0,this[_0x243f3b(0x5cc)]=0x0,this[_0x243f3b(0xca0)]=0x0,this[_0x243f3b(0x52c)]=0x0,this[_0x243f3b(0x2c5)]=0x0,this[_0x243f3b(0x51a)]=0x0,this['_skewEasing']=_0x243f3b(0xc0e),this[_0x243f3b(0x765)]=0x1,this[_0x243f3b(0x623)]=0x1,this['_targetGrowX']=0x1,this[_0x243f3b(0xaed)]=0x1,this[_0x243f3b(0xe7)]=0x0,this[_0x243f3b(0x494)]=0x0,this['_growEasing']=_0x243f3b(0xc0e),this['_flipScaleX']=0x1,this[_0x243f3b(0xba8)]=0x0,this['_targetHomeY']=0x0,this['_homeDuration']=0x0,this[_0x243f3b(0x7a1)]=0x0,this[_0x243f3b(0x70b)]='Linear',this[_0x243f3b(0xd20)]=0x0,this[_0x243f3b(0x1b5)]=0x0):this['_floatHeight']=(this['_floatHeight']*(_0x1f21d1-0x1)+this[_0x243f3b(0xd00)])/_0x1f21d1;this[_0x243f3b(0x831)]--;if(this[_0x243f3b(0x831)]<=0x0)this['onFloatEnd']();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x1dc)]=function(){const _0x10473b=_0x208a24;this[_0x10473b(0x1e0)]=this[_0x10473b(0xd00)];},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x3c3)]=function(){return this['_floatDuration']>0x0;},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x970)]=function(_0x59e482,_0x2a5129){const _0x4a6ad0=_0x208a24;if(!this[_0x4a6ad0(0x7d2)]())return;if(_0x2a5129<=0x0)return;this[_0x4a6ad0(0x70a)]=_0x59e482,this[_0x4a6ad0(0xbf7)]=_0x2a5129,this['_jumpWholeDuration']=_0x2a5129;},Sprite_Battler[_0x208a24(0xbd8)]['updateJump']=function(){const _0x282a8a=_0x208a24;if(this['_jumpDuration']<=0x0)return;const _0x2f8381=this[_0x282a8a(0x1a2)]-this[_0x282a8a(0xbf7)],_0x16dd5b=this[_0x282a8a(0x1a2)]/0x2,_0x364a09=this['_jumpMaxHeight'],_0x647acd=-_0x364a09/Math[_0x282a8a(0xb1e)](_0x16dd5b,0x2);this[_0x282a8a(0x3e5)]=_0x647acd*Math[_0x282a8a(0xb1e)](_0x2f8381-_0x16dd5b,0x2)+_0x364a09,this[_0x282a8a(0xbf7)]--;if(this['_jumpDuration']<=0x0)return this['onJumpEnd']();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x59e)]=function(){const _0x12a243=_0x208a24;this[_0x12a243(0x3e5)]=0x0;},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xcbd)]=function(){return this['_jumpDuration']>0x0;},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x41b)]=function(_0x3cbb69,_0x4e596d,_0x591d9a){const _0x2975ee=_0x208a24;if(this[_0x2975ee(0x51b)]===_0x3cbb69)return;this[_0x2975ee(0x51b)]=_0x3cbb69,this['_opacityDuration']=_0x4e596d,this[_0x2975ee(0xa07)]=_0x4e596d,this[_0x2975ee(0x6de)]=_0x591d9a||_0x2975ee(0xc0e);if(_0x4e596d<=0x0)this[_0x2975ee(0x34f)]=_0x3cbb69;},Sprite_Battler['prototype'][_0x208a24(0x90b)]=function(){const _0x37de7f=_0x208a24;if(this[_0x37de7f(0x594)]['name']===_0x37de7f(0x5da))return;if(this[_0x37de7f(0xa51)]<=0x0)return;const _0x34f3ba=this[_0x37de7f(0xa51)],_0x513235=this['_opacityWholeDuration'],_0xd406de=this['_opacityEasing'];if(Imported[_0x37de7f(0x496)]){if(_0x37de7f(0x2f4)!==_0x37de7f(0xbbe))this['opacity']=this[_0x37de7f(0x381)](this['opacity'],this[_0x37de7f(0x51b)],_0x34f3ba,_0x513235,_0xd406de);else return _0x8345b6[_0x37de7f(0x505)]()[_0x37de7f(0xa29)]();}else this[_0x37de7f(0x34f)]=(this[_0x37de7f(0x34f)]*(_0x34f3ba-0x1)+this['_targetOpacity'])/_0x34f3ba;this[_0x37de7f(0xa51)]--;if(this[_0x37de7f(0xa51)]<=0x0)this[_0x37de7f(0x35e)]();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x35e)]=function(){this['opacity']=this['_targetOpacity'];},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x20c)]=function(){const _0x545b00=_0x208a24;return this[_0x545b00(0xa51)]>0x0;},Sprite_Battler['prototype']['updateShadow']=function(){const _0x30ae34=_0x208a24;this[_0x30ae34(0x1c2)][_0x30ae34(0x3b3)]=this[_0x30ae34(0xa4c)][_0x30ae34(0x814)](),this[_0x30ae34(0xa97)]();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xa97)]=function(){const _0x31c238=_0x208a24;if(!this['_shadowSprite'])return;this[_0x31c238(0x1c2)]['y']=this['_baseY']-this['y']-0x2;},Sprite_Battler[_0x208a24(0xbd8)]['updateShadowScale']=function(){const _0xd7bc49=_0x208a24;if(!this[_0xd7bc49(0xa4c)])return;this[_0xd7bc49(0x34e)]=this[_0xd7bc49(0xa4c)][_0xd7bc49(0x670)](),this[_0xd7bc49(0xeb)]=this['_battler'][_0xd7bc49(0x3ac)]();},Game_BattlerBase[_0x208a24(0xbd8)][_0x208a24(0x670)]=function(){const _0x2a597f=_0x208a24,_0x5bc520=this[_0x2a597f(0x9bf)]()?this[_0x2a597f(0x178)]():this[_0x2a597f(0x449)]();if(_0x5bc520){const _0x158089=_0x5bc520[_0x2a597f(0x6c4)];if(_0x158089['match'](/<SIDEVIEW SHADOW (?:SCALE|SCALE X):[ ](\d+)([%％])>/i))return Number(RegExp['$1'])*0.01;else{if(_0x158089[_0x2a597f(0x7fc)](/<SIDEVIEW SHADOW (?:SCALE|SCALE X):[ ](.*)>/i)){if('SttTE'!==_0x2a597f(0xc17))this[_0x2a597f(0x8cb)]()?_0x397d58=this['makeTargetsBattleCoreJS']():_0xd37691=this[_0x2a597f(0x8ef)]();else return Number(RegExp['$1'])||0x0;}}}return 0x1;},Game_BattlerBase[_0x208a24(0xbd8)]['battlerShadowScaleY']=function(){const _0x2cadc2=_0x208a24,_0x1d397d=this[_0x2cadc2(0x9bf)]()?this[_0x2cadc2(0x178)]():this[_0x2cadc2(0x449)]();if(_0x1d397d){const _0x1ff38e=_0x1d397d['note'];if(_0x1ff38e[_0x2cadc2(0x7fc)](/<SIDEVIEW SHADOW (?:SCALE|SCALE Y):[ ](\d+)([%％])>/i)){if(_0x2cadc2(0x47c)===_0x2cadc2(0x47c))return Number(RegExp['$1'])*0.01;else _0x15382e[_0x2cadc2(0x7ea)]=_0x401f19['getWtypeIdWithName'](_0x1f352f['$1']);}else{if(_0x1ff38e[_0x2cadc2(0x7fc)](/<SIDEVIEW SHADOW (?:SCALE|SCALE Y):[ ](.*)>/i))return _0x2cadc2(0x61a)!==_0x2cadc2(0xd27)?Number(RegExp['$1'])||0x0:_0x3ba846[_0x2cadc2(0x759)]['Settings'][_0x2cadc2(0x79c)][_0x2cadc2(0x14d)][_0x2cadc2(0x783)](this);}}return 0x1;},Sprite_Battler['prototype'][_0x208a24(0x909)]=function(){const _0x463440=_0x208a24;if(this[_0x463440(0x594)]===Sprite_SvEnemy)return;this[_0x463440(0x2a1)](),this[_0x463440(0xc89)]();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xc89)]=function(){const _0x4474b2=_0x208a24,_0x5dee5d=this[_0x4474b2(0x4b5)];_0x5dee5d&&(_0x4474b2(0x129)==='nmOpm'?(_0x5dee5d[_0x4474b2(0x867)]['x']=this['mainSpriteScaleX'](),_0x5dee5d[_0x4474b2(0x867)]['y']=this[_0x4474b2(0x208)]()):_0x5bff46[_0x4474b2(0x759)]['JS'][_0x32cbea][_0x4474b2(0x783)](this,this['subject'](),this[_0x4474b2(0x6a9)](),this[_0x4474b2(0x8bb)](),_0x595af3));},Sprite_Battler['prototype']['mainSpriteScaleX']=function(){const _0xcc4e6f=_0x208a24;let _0x4e279c=0x1;return _0x4e279c*=this['_flipScaleX'],_0x4e279c*=this[_0xcc4e6f(0x765)],_0x4e279c;},Sprite_Battler['prototype'][_0x208a24(0x208)]=function(){const _0x20e799=_0x208a24;return 0x1*this[_0x20e799(0x623)];},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x68b)]=function(){const _0xf7451d=_0x208a24;return this[_0xf7451d(0x4fe)]*this[_0xf7451d(0x99c)]();},Sprite_Battler['prototype'][_0x208a24(0x536)]=function(){const _0x320b1e=_0x208a24;return this['height']*this[_0x320b1e(0x208)]();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x293)]=function(_0x3a3144,_0x5997bc,_0x54d5da,_0x47a827){const _0x4475d8=_0x208a24;if(!this[_0x4475d8(0x7d2)]())return;if(!this['_distortionSprite'])return;if(this[_0x4475d8(0xd3a)]===_0x3a3144&&this['_targetGrowY']===_0x5997bc)return;this['_targetGrowX']=_0x3a3144,this[_0x4475d8(0xaed)]=_0x5997bc,this[_0x4475d8(0xe7)]=_0x54d5da,this[_0x4475d8(0x494)]=_0x54d5da,this[_0x4475d8(0x83c)]=_0x47a827||'Linear',_0x54d5da<=0x0&&(this[_0x4475d8(0x765)]=this['_targetGrowX'],this[_0x4475d8(0x623)]=this['_targetGrowY']);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x2a1)]=function(){const _0x58a83e=_0x208a24;if(this['_growDuration']<=0x0)return;if(!this['_distortionSprite'])return;const _0x19cb05=this[_0x58a83e(0xe7)],_0x2b0464=this['_growWholeDuration'],_0x409c74=this[_0x58a83e(0x83c)];if(Imported[_0x58a83e(0x496)])this[_0x58a83e(0x765)]=this[_0x58a83e(0x381)](this[_0x58a83e(0x765)],this[_0x58a83e(0xd3a)],_0x19cb05,_0x2b0464,_0x409c74),this[_0x58a83e(0x623)]=this[_0x58a83e(0x381)](this[_0x58a83e(0x623)],this[_0x58a83e(0xaed)],_0x19cb05,_0x2b0464,_0x409c74);else{if('ucVEQ'===_0x58a83e(0x99e))this[_0x58a83e(0x765)]=(this[_0x58a83e(0x765)]*(_0x19cb05-0x1)+this[_0x58a83e(0xd3a)])/_0x19cb05,this[_0x58a83e(0x623)]=(this[_0x58a83e(0x623)]*(_0x19cb05-0x1)+this[_0x58a83e(0xaed)])/_0x19cb05;else{this['push'](_0x58a83e(0x718),[_0x51de61],_0x1cb2f9,_0x4ced08);const _0x3e052e=_0x77efba[_0x58a83e(0x1ba)]>0x1?_0x58a83e(0x314):_0x58a83e(0x78f);this[_0x58a83e(0x7c3)]('performMoveToTargets',_0x5e3c41,_0x33c237,_0x3e052e,_0x3bfef5,!![],'Linear',!![]),this[_0x58a83e(0x7c3)](_0x58a83e(0x90c),[_0x496d95],'walk'),this['push'](_0x58a83e(0x28d));}}this[_0x58a83e(0xe7)]--;if(this[_0x58a83e(0xe7)]<=0x0)this[_0x58a83e(0xb61)]();},Sprite_Battler['prototype'][_0x208a24(0xb61)]=function(){const _0xdbd951=_0x208a24;this[_0xdbd951(0x765)]=this[_0xdbd951(0xd3a)],this[_0xdbd951(0x623)]=this['_targetGrowY'];},Sprite_Battler[_0x208a24(0xbd8)]['isGrowing']=function(){return this['_growDuration']>0x0;},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x392)]=function(_0x38a280,_0x3d92e9,_0x452adb,_0x5d0301){const _0x555a4a=_0x208a24;if(!this['canMove']())return;if(!this[_0x555a4a(0x4b5)])return;if(this[_0x555a4a(0xca0)]===_0x38a280&&this['_targetSkewY']===_0x3d92e9)return;this['_targetSkewX']=_0x38a280,this[_0x555a4a(0x52c)]=_0x3d92e9,this[_0x555a4a(0x2c5)]=_0x452adb,this['_skewWholeDuration']=_0x452adb,this[_0x555a4a(0xcd8)]=_0x5d0301||_0x555a4a(0xc0e),_0x452adb<=0x0&&(this[_0x555a4a(0x4b5)]['skew']['x']=this[_0x555a4a(0xca0)],this[_0x555a4a(0x4b5)][_0x555a4a(0x227)]['y']=this[_0x555a4a(0x52c)]);},Sprite_Battler['prototype']['updateSkew']=function(){const _0x444dd2=_0x208a24;if(this['_skewDuration']<=0x0)return;if(!this[_0x444dd2(0x4b5)])return;const _0x3d6de2=this[_0x444dd2(0x2c5)],_0x214e2f=this['_skewWholeDuration'],_0x4d3955=this[_0x444dd2(0xcd8)],_0x43c243=this['_distortionSprite'];if(Imported[_0x444dd2(0x496)]){if(_0x444dd2(0xa0)!==_0x444dd2(0xa0)){if(this[_0x444dd2(0xbb2)])_0x653239=_0x2fb02e[_0x444dd2(0x6db)](0x0,this[_0x444dd2(0xbb2)][_0x444dd2(0x1fa)]-0x4);}else _0x43c243[_0x444dd2(0x227)]['x']=this[_0x444dd2(0x381)](_0x43c243[_0x444dd2(0x227)]['x'],this[_0x444dd2(0xca0)],_0x3d6de2,_0x214e2f,_0x4d3955),_0x43c243[_0x444dd2(0x227)]['y']=this[_0x444dd2(0x381)](_0x43c243[_0x444dd2(0x227)]['y'],this['_targetSkewY'],_0x3d6de2,_0x214e2f,_0x4d3955);}else _0x43c243['skew']['x']=(_0x43c243['skew']['x']*(_0x3d6de2-0x1)+this[_0x444dd2(0xca0)])/_0x3d6de2,_0x43c243[_0x444dd2(0x227)]['y']=(_0x43c243[_0x444dd2(0x227)]['y']*(_0x3d6de2-0x1)+this[_0x444dd2(0x52c)])/_0x3d6de2;this[_0x444dd2(0x2c5)]--;if(this[_0x444dd2(0x2c5)]<=0x0)this[_0x444dd2(0x2a6)]();},Sprite_Battler['prototype'][_0x208a24(0x2a6)]=function(){const _0xc1af37=_0x208a24;this[_0xc1af37(0x4b5)][_0xc1af37(0x227)]['x']=this[_0xc1af37(0xca0)],this[_0xc1af37(0x4b5)][_0xc1af37(0x227)]['y']=this['_targetSkewY'];},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xabf)]=function(){const _0x542809=_0x208a24;return this[_0x542809(0x2c5)]>0x0;},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x978)]=function(_0x44ee6e,_0x41461b,_0x1a60e6,_0x3bd0a6){const _0x74e907=_0x208a24;if(!this['canMove']())return;if(!this['_distortionSprite'])return;if(this[_0x74e907(0xbad)]===_0x44ee6e)return;this[_0x74e907(0xbad)]=_0x44ee6e,this[_0x74e907(0xb34)]=_0x41461b,this[_0x74e907(0x19c)]=_0x41461b,this[_0x74e907(0x35f)]=_0x1a60e6||_0x74e907(0xc0e),this[_0x74e907(0x576)]=_0x3bd0a6;this[_0x74e907(0x576)]===undefined&&(this['_angleRevertOnFinish']=!![]);if(_0x41461b<=0x0){if(_0x74e907(0x817)===_0x74e907(0x817))this[_0x74e907(0x8d9)]=_0x44ee6e,this[_0x74e907(0x576)]&&(this['_targetAngle']=0x0,this[_0x74e907(0x8d9)]=0x0);else{if(_0x14be0c===_0x4b2425[_0x74e907(0x178)]())return![];}}},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x4ab)]=function(){const _0x5e743e=_0x208a24;this[_0x5e743e(0xc20)](),this[_0x5e743e(0x8b5)]();},Sprite_Battler['prototype'][_0x208a24(0xc20)]=function(){const _0x52a591=_0x208a24;if(this[_0x52a591(0xb34)]<=0x0)return;const _0x446df7=this['_angleDuration'],_0x5da801=this['_angleWholeDuration'],_0x4df0b8=this[_0x52a591(0x35f)];Imported[_0x52a591(0x496)]?_0x52a591(0xc7)!==_0x52a591(0xc7)?(this[_0x52a591(0x7d8)](),_0x58f318['BattleCore'][_0x52a591(0x34d)]['call'](this)):this[_0x52a591(0x8d9)]=this['applyEasing'](this['_currentAngle'],this[_0x52a591(0xbad)],_0x446df7,_0x5da801,_0x4df0b8):this[_0x52a591(0x8d9)]=(this['_currentAngle']*(_0x446df7-0x1)+this['_targetAngle'])/_0x446df7;this[_0x52a591(0xb34)]--;if(this[_0x52a591(0xb34)]<=0x0)this[_0x52a591(0x781)]();},Sprite_Battler[_0x208a24(0xbd8)]['onAngleEnd']=function(){const _0x1e431b=_0x208a24;this[_0x1e431b(0x8d9)]=this['_targetAngle'],this[_0x1e431b(0x576)]&&(this[_0x1e431b(0xbad)]=0x0,this[_0x1e431b(0x8d9)]=0x0);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x23b)]=function(){const _0x5e8a3e=_0x208a24;return this[_0x5e8a3e(0xb34)]>0x0;},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x8b5)]=function(){const _0x5a6fa3=_0x208a24;if(!this[_0x5a6fa3(0x4b5)])return;const _0x53853b=this[_0x5a6fa3(0x8d9)],_0x211f0e=this[_0x5a6fa3(0x867)]['x'],_0x3009fe=this['_battler']['isActor']()?-0x1:0x1;this[_0x5a6fa3(0x4b5)]['angle']=_0x53853b*_0x211f0e*_0x3009fe;const _0x4a4ee5=this[_0x5a6fa3(0x4b5)][_0x5a6fa3(0x867)]['y'];this[_0x5a6fa3(0x4b5)]['y']=this[_0x5a6fa3(0x1fa)]*-0.5*(0x2-_0x4a4ee5),this[_0x5a6fa3(0x4b5)]['y']=Math[_0x5a6fa3(0x7af)](this[_0x5a6fa3(0x4b5)]['y']);const _0x15f2d8=[this[_0x5a6fa3(0x666)],this[_0x5a6fa3(0x73b)],this['_dragonbonesSpriteContainer']];for(const _0x354c96 of _0x15f2d8){if(_0x5a6fa3(0x1f8)!==_0x5a6fa3(0x1f8))return _0x19770d=_0x3b497e['BattleCore']['Settings'][_0x5a6fa3(0x7a9)][_0x5a6fa3(0xce7)]['call'](this,_0x4aefa5),_0x579a56=this[_0x5a6fa3(0x27b)]['criticalDmgRate']*_0x5d0e62+this[_0x5a6fa3(0x27b)][_0x5a6fa3(0x4cd)],_0x1b2463;else{if(!_0x354c96)continue;_0x354c96['y']=this[_0x5a6fa3(0x1fa)]*0.5;}}this[_0x5a6fa3(0x1c2)]&&(this['_shadowScaleX']=this[_0x5a6fa3(0x34e)]??0x1,this[_0x5a6fa3(0xeb)]=this['_shadowScaleY']??0x1,this[_0x5a6fa3(0x1c2)][_0x5a6fa3(0x867)]['x']=this[_0x5a6fa3(0x4b5)][_0x5a6fa3(0x867)]['x']*this[_0x5a6fa3(0x34e)],this[_0x5a6fa3(0x1c2)][_0x5a6fa3(0x867)]['y']=this[_0x5a6fa3(0x4b5)][_0x5a6fa3(0x867)]['y']*this[_0x5a6fa3(0xeb)]);},VisuMZ['BattleCore'][_0x208a24(0xb54)]=Sprite_Actor[_0x208a24(0xbd8)]['createStateSprite'],Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0xb16)]=function(){const _0x71c472=_0x208a24;VisuMZ['BattleCore']['Sprite_Actor_createStateSprite'][_0x71c472(0x783)](this),VisuMZ[_0x71c472(0x759)][_0x71c472(0xc39)][_0x71c472(0x18b)][_0x71c472(0x15d)]&&this['createHpGaugeSprite']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x6a7)]=Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0xb23)],Sprite_Enemy['prototype'][_0x208a24(0xb23)]=function(){const _0x6b2c5c=_0x208a24;VisuMZ[_0x6b2c5c(0x759)][_0x6b2c5c(0xc39)]['HpGauge'][_0x6b2c5c(0xc27)]&&this[_0x6b2c5c(0x8d2)](),VisuMZ[_0x6b2c5c(0x759)][_0x6b2c5c(0x6a7)][_0x6b2c5c(0x783)](this);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x8d2)]=function(){const _0x3e251e=_0x208a24;if(!ConfigManager[_0x3e251e(0x17a)])return;if(this['constructor']===Sprite_SvEnemy)return;const _0x149fc9=VisuMZ[_0x3e251e(0x759)][_0x3e251e(0xc39)][_0x3e251e(0x18b)],_0x22012d=new Sprite_HpGauge();_0x22012d[_0x3e251e(0x7ec)]['x']=_0x149fc9[_0x3e251e(0x377)],_0x22012d[_0x3e251e(0x7ec)]['y']=_0x149fc9['AnchorY'],_0x22012d['scale']['x']=_0x22012d[_0x3e251e(0x867)]['y']=_0x149fc9[_0x3e251e(0xab2)],this[_0x3e251e(0x105)]=_0x22012d,this['addChild'](this[_0x3e251e(0x105)]),Spriteset_Battle[_0x3e251e(0x101)]&&BattleManager[_0x3e251e(0x1ff)](this[_0x3e251e(0x105)]);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x986)]=Sprite_Battler['prototype'][_0x208a24(0x861)],Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x861)]=function(_0x6f44aa){const _0x5198dc=_0x208a24,_0x1d30e2=this[_0x5198dc(0xa4c)];VisuMZ[_0x5198dc(0x759)][_0x5198dc(0x986)]['call'](this,_0x6f44aa),this[_0x5198dc(0x585)](_0x6f44aa);if(_0x1d30e2!==_0x6f44aa)this[_0x5198dc(0x6c7)]();},Sprite_Battler['prototype'][_0x208a24(0x585)]=function(_0x313328){const _0x2bc7db=_0x208a24;if(!_0x313328)return;if(!this[_0x2bc7db(0x105)])return;if(_0x313328[_0x2bc7db(0x9bf)]()){}else{if(_0x313328['isEnemy']()){if(_0x2bc7db(0x22e)===_0x2bc7db(0x42c))this['_forcedBattleLayout']='default';else{if(this['constructor']===Sprite_SvEnemy&&!_0x313328[_0x2bc7db(0x814)]())return;}}}this['_hpGaugeSprite'][_0x2bc7db(0x876)](_0x313328,'hp');},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x93c)]=function(){const _0x410876=_0x208a24;return this[_0x410876(0xa4c)]&&this['_battler'][_0x410876(0x93c)]();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xbcd)]=function(){const _0x16c3fb=_0x208a24,_0x485981=this[_0x16c3fb(0x666)]['bitmap'];if(!_0x485981)return;const _0xcfd89d=_0x485981['width'];let _0x570a87=_0x485981[_0x16c3fb(0x1fa)];if(this[_0x16c3fb(0xa4c)][_0x16c3fb(0x248)]()){if(this[_0x16c3fb(0xbb2)])_0x570a87=Math[_0x16c3fb(0x6db)](0x0,this[_0x16c3fb(0xbb2)][_0x16c3fb(0x1fa)]-0x4);}this['_mainSprite'][_0x16c3fb(0x62c)](0x0,0x0,_0xcfd89d,_0x570a87),this[_0x16c3fb(0x62c)](0x0,0x0,_0xcfd89d,_0x570a87);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x459)]=function(){const _0xfd47c=_0x208a24;if(!this['_battler'])return;if(!this['_hpGaugeSprite'])return;const _0x3e054a=VisuMZ['BattleCore'][_0xfd47c(0xc39)]['HpGauge'],_0x13016d=this['_hpGaugeSprite'];_0x13016d[_0xfd47c(0x3b3)]=this[_0xfd47c(0x979)]();const _0x25f973=_0x3e054a[_0xfd47c(0x7ae)],_0x7c0510=_0x3e054a[_0xfd47c(0x153)];_0x13016d['x']=_0x25f973,_0x13016d['x']+=this[_0xfd47c(0xa4c)][_0xfd47c(0x3ee)](),_0x13016d['y']=-this[_0xfd47c(0x1fa)]+_0x7c0510,_0x13016d['y']+=this[_0xfd47c(0xa4c)]['battleUIOffsetY'](),Spriteset_Battle[_0xfd47c(0x101)]&&SceneManager[_0xfd47c(0xc1b)][_0xfd47c(0xa85)]&&(_0x13016d['x']+=this['x'],_0x13016d['y']+=this['y']);},Sprite_Battler[_0x208a24(0xbd8)]['isVisualHpGaugeDisplayed']=function(){const _0x3b2b72=_0x208a24;if(!this[_0x3b2b72(0xa4c)])return![];if(this['_battler']['isActor']())return!![];if(this['_battler']['isHidden']())return![];if(this[_0x3b2b72(0x34f)]<=0x0)return![];const _0x16e221=this[_0x3b2b72(0xa4c)][_0x3b2b72(0x449)]()[_0x3b2b72(0x6c4)];if(_0x16e221[_0x3b2b72(0x7fc)](/<SHOW HP GAUGE>/i))return!![];if(_0x16e221[_0x3b2b72(0x7fc)](/<HIDE HP GAUGE>/i))return![];const _0x277c96=VisuMZ['BattleCore'][_0x3b2b72(0xc39)]['HpGauge'];if(_0x277c96[_0x3b2b72(0x4b7)]){if(_0x277c96[_0x3b2b72(0xbee)]&&BattleManager[_0x3b2b72(0x902)]())return!![];if(this[_0x3b2b72(0xa4c)][_0x3b2b72(0x2ce)])return![];return this[_0x3b2b72(0xa4c)][_0x3b2b72(0xae1)]();}return!![];},VisuMZ['BattleCore'][_0x208a24(0x827)]=Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x7b6)],Sprite_Battler[_0x208a24(0xbd8)]['isMoving']=function(){const _0x1c5d44=_0x208a24;if(!this[_0x1c5d44(0xa4c)])return![];if(this[_0x1c5d44(0x7ce)]>0x0)return!![];return VisuMZ[_0x1c5d44(0x759)][_0x1c5d44(0x827)][_0x1c5d44(0x783)](this);},VisuMZ[_0x208a24(0x759)]['Sprite_Battler_startMove']=Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x927)],Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x927)]=function(_0x2f55b8,_0x46ea90,_0x5ddab5){const _0x227f84=_0x208a24;this[_0x227f84(0x7d2)]()&&VisuMZ['BattleCore'][_0x227f84(0x878)]['call'](this,_0x2f55b8,_0x46ea90,_0x5ddab5);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0x7d2)]=function(){const _0x309d31=_0x208a24;if(this[_0x309d31(0xa4c)]&&this[_0x309d31(0xa4c)]['isDead']())return![];if(this[_0x309d31(0xa4c)]&&!this[_0x309d31(0xa4c)][_0x309d31(0x621)]())return![];return $gameSystem['isSideView']();},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xaae)]=function(){},Sprite_Battler[_0x208a24(0xbd8)]['stepBack']=function(){const _0x1278f2=_0x208a24;this[_0x1278f2(0x927)](0x0,0x0,0xc);},Sprite_Battler[_0x208a24(0xbd8)][_0x208a24(0xb2d)]=function(){},Sprite_Battler['prototype'][_0x208a24(0xaf5)]=function(){const _0x5bc521=_0x208a24,_0x19269d=VisuMZ[_0x5bc521(0x759)][_0x5bc521(0xc39)]['Actor'],_0x880e99=this['_battler']&&this[_0x5bc521(0xa4c)][_0x5bc521(0x9bf)]()?0x1:-0x1,_0x3b776f=this[_0x5bc521(0x169)]-this[_0x5bc521(0xd02)]+_0x880e99*_0x19269d[_0x5bc521(0xd0d)],_0xcc32da=this[_0x5bc521(0x832)]-this[_0x5bc521(0x66c)]+_0x880e99*_0x19269d[_0x5bc521(0x9f6)],_0x2a60ff=_0x19269d[_0x5bc521(0xc59)];this['startMove'](_0x3b776f,_0xcc32da,_0x2a60ff);},Sprite_Battler['prototype'][_0x208a24(0x1cb)]=function(_0x3adf3d,_0x285f7a){const _0x585431=_0x208a24,_0x3cf4d4=VisuMZ['BattleCore']['Settings'][_0x585431(0x5a5)];this[_0x585431(0xd20)]=Math[_0x585431(0x7af)]((_0x3cf4d4[_0x585431(0xb42)]??0x18)*_0x285f7a),this[_0x585431(0x1b5)]=Math[_0x585431(0x6db)](this[_0x585431(0x1b5)],_0x3adf3d);},Sprite_Battler['prototype'][_0x208a24(0x8f8)]=function(){const _0x127e04=_0x208a24,_0x53c7c3=VisuMZ[_0x127e04(0x759)][_0x127e04(0xc39)][_0x127e04(0x5a5)];if(!(_0x53c7c3[_0x127e04(0xb25)]??![]))return;if(this[_0x127e04(0xd20)]>0x0){const _0x477294=this[_0x127e04(0xd20)];this['_shakeFlinchPower']=this[_0x127e04(0x1b5)]*(_0x477294-0x1)/_0x477294,this[_0x127e04(0xd20)]--,this[_0x127e04(0xd20)]<=0x0&&(this['_shakeFlinchPower']=0x0);}if(this[_0x127e04(0x1b5)]>0x0){this[_0x127e04(0x666)]['x']=Math[_0x127e04(0xd15)](this['_shakeFlinchPower'])*(Math[_0x127e04(0x39f)]()<0.5?-0x1:0x1);if(this[_0x127e04(0x832)]!==this['y']){if(_0x127e04(0x4c2)===_0x127e04(0xb87)){const _0x52d4e1=this[_0x127e04(0x648)](_0x4561a3[_0x127e04(0x6b3)]);if(_0x52d4e1){let _0x365276=null;_0x404760[_0x127e04(0x88a)]&&_0x532235[_0x127e04(0x7ba)](_0x4f5574[_0x127e04(0x8fc)])?_0x365276=new _0x448885():_0x365276=new _0x1d9391(),_0x365276[_0x127e04(0x801)]=_0x1b3ae4[_0x127e04(0x6b3)],_0x365276[_0x127e04(0x29a)]=_0x52d4e1,_0x365276[_0x127e04(0x29a)]['_character']=_0x52d4e1,_0x365276[_0x127e04(0x876)](_0x52d4e1,_0x4725c2[_0x127e04(0x8fc)]),_0x3913b0['addChildToUiContainer'](_0x365276),this['_battleBalloonSprites']['push'](_0x365276);}}else this[_0x127e04(0x666)]['y']=this['height']*0.5,this['_mainSprite']['y']+=Math['randomInt'](this[_0x127e04(0x1b5)])*(Math[_0x127e04(0x39f)]()<0.5?-0x1:0x1);}}else this[_0x127e04(0x666)]['x']=0x0,this[_0x127e04(0x666)]['y']=this[_0x127e04(0x1fa)]*0.5;},VisuMZ['BattleCore']['Sprite_Actor_initMembers']=Sprite_Actor['prototype'][_0x208a24(0xa17)],Sprite_Actor['prototype'][_0x208a24(0xa17)]=function(){const _0x2abf7f=_0x208a24;VisuMZ[_0x2abf7f(0x759)]['Sprite_Actor_initMembers'][_0x2abf7f(0x783)](this),this[_0x2abf7f(0xa7f)]();},Sprite_Actor['prototype']['mainSprite']=function(){const _0x3216ca=_0x208a24;return this['_distortionSprite']||this[_0x3216ca(0x666)]||this;},VisuMZ[_0x208a24(0x759)]['Sprite_Actor_moveToStartPosition']=Sprite_Actor[_0x208a24(0xbd8)]['moveToStartPosition'],Sprite_Actor[_0x208a24(0xbd8)]['moveToStartPosition']=function(){},Sprite_Actor['prototype'][_0x208a24(0x370)]=function(_0x5284eb){const _0x4267c6=_0x208a24;if(SceneManager[_0x4267c6(0x394)]())return;if(!_0x5284eb)return;if(!_0x5284eb[_0x4267c6(0x7d2)]())return;VisuMZ['BattleCore']['Sprite_Actor_moveToStartPosition'][_0x4267c6(0x783)](this);},VisuMZ[_0x208a24(0x759)]['Sprite_Actor_setActorHome']=Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x25b)],Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x25b)]=function(_0x3f4f62){const _0xc2e884=_0x208a24;VisuMZ[_0xc2e884(0x759)]['Settings'][_0xc2e884(0x5a5)][_0xc2e884(0x9a0)]?VisuMZ['BattleCore'][_0xc2e884(0xc39)]['Actor']['HomePosJS']['call'](this,_0x3f4f62):VisuMZ[_0xc2e884(0x759)][_0xc2e884(0xd58)]['call'](this,_0x3f4f62);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x555)]=Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x861)],Sprite_Actor['prototype'][_0x208a24(0x861)]=function(_0x595b60){const _0x5091a9=_0x208a24;VisuMZ['BattleCore']['Sprite_Actor_setBattler'][_0x5091a9(0x783)](this,_0x595b60),this['setBattlerBattleCore'](_0x595b60);},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x1f0)]=function(_0x20af18){const _0x443448=_0x208a24;if(!_0x20af18)return;if(!this['_mainSprite'])return;this[_0x443448(0x666)]['anchor']['x']=this[_0x443448(0x302)][_0x443448(0x5c1)](),this[_0x443448(0x666)][_0x443448(0x7ec)]['y']=this['_actor']['svBattlerAnchorY'](),this[_0x443448(0x32b)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x1af)]=Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x3c1)],Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x3c1)]=function(){const _0x46b976=_0x208a24;VisuMZ[_0x46b976(0x759)][_0x46b976(0x1af)][_0x46b976(0x783)](this),this['_actor']&&(_0x46b976(0x1f4)!==_0x46b976(0xc6f)?(this[_0x46b976(0x563)](),this[_0x46b976(0x21f)]()):(_0x459fb3[_0x46b976(0x867)]['x']=this[_0x46b976(0x99c)](),_0x3651ca[_0x46b976(0x867)]['y']=this['mainSpriteScaleY']()));},VisuMZ[_0x208a24(0x759)][_0x208a24(0x3da)]=Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0xef)],Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0xef)]=function(){const _0xaac5c1=_0x208a24;VisuMZ[_0xaac5c1(0x759)][_0xaac5c1(0x3da)][_0xaac5c1(0x783)](this),this['_mainSprite']&&this[_0xaac5c1(0x666)][_0xaac5c1(0x63f)]&&this['_battler']&&(_0xaac5c1(0x429)==='ozrXY'?(this[_0xaac5c1(0x34e)]=this[_0xaac5c1(0x34e)]??0x1,this[_0xaac5c1(0xeb)]=this[_0xaac5c1(0xeb)]??0x1,this[_0xaac5c1(0x1c2)][_0xaac5c1(0x867)]['x']=this[_0xaac5c1(0x4b5)][_0xaac5c1(0x867)]['x']*this[_0xaac5c1(0x34e)],this[_0xaac5c1(0x1c2)]['scale']['y']=this['_distortionSprite'][_0xaac5c1(0x867)]['y']*this[_0xaac5c1(0xeb)]):this[_0xaac5c1(0x666)][_0xaac5c1(0x63f)][_0xaac5c1(0xfe)]!==this['_battler'][_0xaac5c1(0xb2f)]()&&(this[_0xaac5c1(0x666)]['bitmap'][_0xaac5c1(0xfe)]=this[_0xaac5c1(0xa4c)]['battlerSmoothImage']()));},VisuMZ['BattleCore']['Sprite_Actor_updateShadow']=Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x2a0)],Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x2a0)]=function(){const _0x349c32=_0x208a24;VisuMZ[_0x349c32(0x759)][_0x349c32(0x60e)][_0x349c32(0x783)](this),this[_0x349c32(0x114)]();},Sprite_Actor['prototype'][_0x208a24(0x114)]=function(){const _0x36cd35=_0x208a24;if(!this['_mainSprite'])return;if(!this[_0x36cd35(0x1c2)])return;this['updateShadowVisibility'](),this[_0x36cd35(0xa97)]();},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x563)]=function(){const _0x3c5bb=_0x208a24;this[_0x3c5bb(0x3e0)][_0x3c5bb(0x867)]['x']=0x1/(this['scale']['x']||0.001),this['_stateSprite'][_0x3c5bb(0x867)]['y']=0x1/(this[_0x3c5bb(0x867)]['y']||0.001);},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x21f)]=function(){const _0x3d13ee=_0x208a24;if(!$gameSystem['isSideView']()&&this[_0x3d13ee(0x594)]===Sprite_Actor){const _0x5ec01e=Scene_Battle[_0x3d13ee(0xbd8)][_0x3d13ee(0x71c)]();[_0x3d13ee(0x914),_0x3d13ee(0x38d),_0x3d13ee(0x372),_0x3d13ee(0x4f5)][_0x3d13ee(0xcaf)](_0x5ec01e)&&(this[_0x3d13ee(0x34f)]=0x0);}},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x4a2)]=function(){const _0x1e5de7=_0x208a24,_0x410999=this[_0x1e5de7(0x302)];if(_0x410999){if('OMHSq'!==_0x1e5de7(0x8c7)){if(_0x410999[_0x1e5de7(0x893)])return;const _0x3f500a=_0x410999[_0x1e5de7(0xa6a)]();if(_0x410999[_0x1e5de7(0x6a4)]()||_0x410999[_0x1e5de7(0x830)]())this[_0x1e5de7(0x778)](_0x1e5de7(0x1b2));else{if(_0x3f500a===0x3){if('npIDZ'!==_0x1e5de7(0x36e))this[_0x1e5de7(0x778)](_0x1e5de7(0x2e6));else{const _0x16bf57=this[_0x1e5de7(0x863)]();return _0x16bf57?_0x16bf57[_0x1e5de7(0x638)]:0x0;}}else{if(_0x3f500a===0x2){if('qzytG'!==_0x1e5de7(0x25a))this[_0x1e5de7(0x778)](_0x1e5de7(0xce4));else{if(!_0x444ec6['isSceneBattle']())return;if(!_0x8d476d['VisuMZ_3_VisualCutinEffect'])return;_0x53c9d2[_0x1e5de7(0x4f4)](_0x1564f1,_0x456055);const _0x43d404=_0x54a4d6['type']['toLowerCase']()[_0x1e5de7(0x446)]();_0x1c38e4[_0x1e5de7(0xc1b)][_0x1e5de7(0x960)](_0x43d404);const _0x4b61b0=_0x554f87['getLastPluginCommandInterpreter']();_0x4b61b0&&_0x3acda2[_0x1e5de7(0x147)]&&_0x4b61b0[_0x1e5de7(0x3dc)](_0x1e5de7(0x8b0));}}else{if(this[_0x1e5de7(0x24a)])this[_0x1e5de7(0x778)](_0x1e5de7(0x2dc));else{if(_0x410999[_0x1e5de7(0xe4)]())this['startMotion']('wait');else{if(_0x410999[_0x1e5de7(0x26b)]())this['startMotion']('chant');else{if(_0x410999[_0x1e5de7(0x592)]()||_0x410999[_0x1e5de7(0xd4b)]())this['startMotion'](_0x1e5de7(0xc18));else{if(_0x3f500a===0x1)this[_0x1e5de7(0x778)](_0x1e5de7(0xab6));else{if(_0x410999[_0x1e5de7(0x7c6)]()){if(_0x1e5de7(0xb72)!=='bOjyq')this[_0x1e5de7(0x778)]('dying');else return this[_0x1e5de7(0xcef)]();}else{if(_0x410999['isUndecided']()){if('Doxbt'===_0x1e5de7(0x2fa)){if(!_0x546f2d[_0x1e5de7(0x905)](_0xd1c57f))return![];}else this[_0x1e5de7(0x778)](_0x1e5de7(0x1b2));}else{if(_0x410999['currentAction']()){if(_0x1e5de7(0x65f)!=='NJqar'){if(!_0x289113['isSideView']())return;_0x24395b[_0x1e5de7(0x759)]['Window_BattleStatus_drawItemImage']['call'](this,_0xbd6b58);}else this[_0x1e5de7(0x778)]('wait');}else _0x1e5de7(0x825)!==_0x1e5de7(0x825)?_0x49ab89[_0x1e5de7(0x1c4)]():this[_0x1e5de7(0x778)]('walk');}}}}}}}}}}}else return _0x56c189[_0x1e5de7(0x759)][_0x1e5de7(0xc39)][_0x1e5de7(0x6bd)][_0x1e5de7(0x6aa)];}},Sprite_Actor[_0x208a24(0xbd8)]['retreat']=function(){const _0x119b1f=0xa,_0x3dc180=0x12c*_0x119b1f,_0x48f5f1=0x1e*_0x119b1f;this['startMove'](_0x3dc180,0x0,_0x48f5f1);},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x5a6)]=function(){const _0xa260f1=_0x208a24;Sprite_Battler[_0xa260f1(0xbd8)]['onMoveEnd'][_0xa260f1(0x783)](this);},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x807)]=function(){const _0x289dde=_0x208a24;return Sprite_Battler[_0x289dde(0xa73)];},Sprite_Weapon[_0x208a24(0xbd8)][_0x208a24(0x22c)]=function(){const _0x20f9ca=_0x208a24;return Sprite_Battler[_0x20f9ca(0xa73)];},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x538)]=function(){},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x5e5)]=function(){},Sprite_Actor['prototype'][_0x208a24(0xe8)]=function(){const _0x3475c6=_0x208a24;if(this[_0x3475c6(0x46f)]&&++this[_0x3475c6(0xb7f)]>=this['motionSpeed']()){if(_0x3475c6(0x410)===_0x3475c6(0xa10))_0x5e480a['prototype']['update'][_0x3475c6(0x783)](this),this[_0x3475c6(0x24e)](),this['updateKeyboardKeys']();else{if(this[_0x3475c6(0x46f)][_0x3475c6(0x584)])this[_0x3475c6(0x25d)]=(this[_0x3475c6(0x25d)]+0x1)%0x4;else{if(this[_0x3475c6(0x25d)]<0x2)this['_pattern']++;else{const _0x5b13ba=this[_0x3475c6(0x302)];if(_0x5b13ba)_0x5b13ba[_0x3475c6(0x893)]=undefined;this[_0x3475c6(0x4a2)]();}}this[_0x3475c6(0xb7f)]=0x0;}}},Sprite_Actor['prototype'][_0x208a24(0xc0)]=function(_0x2e7e3c){const _0x3f0946=_0x208a24;if(this['_battler']&&this['_battler'][_0x3f0946(0x248)]()){this['_motion']=Sprite_Actor['MOTIONS']['dead'];return;}const _0x4773e5=Sprite_Actor[_0x3f0946(0x40c)][_0x2e7e3c];this[_0x3f0946(0x46f)]=_0x4773e5,this[_0x3f0946(0xb7f)]=0x0,this[_0x3f0946(0x25d)]=0x0;},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x472)]=function(_0x57847c){const _0x2e7976=_0x208a24;if(this[_0x2e7976(0x93c)]())return;this[_0x2e7976(0x50f)](),this[_0x2e7976(0x799)][_0x2e7976(0x876)](_0x57847c),this[_0x2e7976(0x302)][_0x2e7976(0x875)]();},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0x50f)]=function(){const _0x28cfd8=_0x208a24;let _0x4a32c2=-0x10,_0x1dcce6=this['height']*0.5;const _0xf1f33e=/<SIDEVIEW WEAPON OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i,_0xcfbc88=this['_battler'][_0x28cfd8(0x8ce)]()[_0x28cfd8(0x58e)](_0x51cf73=>_0x51cf73&&_0x51cf73[_0x28cfd8(0x6c4)]['match'](_0xf1f33e)?Number(RegExp['$1']):0x0),_0x294688=this[_0x28cfd8(0xa4c)][_0x28cfd8(0x8ce)]()['map'](_0x14fcb3=>_0x14fcb3&&_0x14fcb3[_0x28cfd8(0x6c4)][_0x28cfd8(0x7fc)](_0xf1f33e)?Number(RegExp['$2']):0x0);_0x4a32c2=_0xcfbc88['reduce']((_0x3d599f,_0x2b04f4)=>_0x3d599f+_0x2b04f4,_0x4a32c2),_0x1dcce6=_0x294688[_0x28cfd8(0x5dd)]((_0x51301f,_0x166e83)=>_0x51301f+_0x166e83,_0x1dcce6),this[_0x28cfd8(0x799)]['x']=_0x4a32c2,this[_0x28cfd8(0x799)]['y']=_0x1dcce6,this[_0x28cfd8(0x799)][_0x28cfd8(0x3c1)]();},Sprite_Weapon[_0x208a24(0xbd8)][_0x208a24(0x876)]=function(_0x2cb2dc){const _0x1f923e=_0x208a24;this[_0x1f923e(0x64a)]=_0x2cb2dc,this[_0x1f923e(0x95f)]=-0x1,this[_0x1f923e(0x25d)]=0x0,this[_0x1f923e(0x845)](),this[_0x1f923e(0xbd1)]();},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0xc64)]=function(){},Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0xaae)]=function(){const _0x218e73=_0x208a24,_0x5c8d1d=VisuMZ[_0x218e73(0x759)][_0x218e73(0xc39)][_0x218e73(0x9b7)],_0x283278=_0x5c8d1d[_0x218e73(0x3ed)],_0x8bcda1=_0x5c8d1d['StepDistanceY'],_0x144c33=_0x5c8d1d[_0x218e73(0xbb3)];this[_0x218e73(0x927)](-_0x283278,-_0x8bcda1,_0x144c33);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x34d)]=Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0xbd1)],Sprite_Actor[_0x208a24(0xbd8)][_0x208a24(0xbd1)]=function(){const _0x5e5ca9=_0x208a24;this[_0x5e5ca9(0x93c)]()?this['updateStaticSvBattlerFrames']():(this[_0x5e5ca9(0x7d8)](),VisuMZ[_0x5e5ca9(0x759)][_0x5e5ca9(0x34d)][_0x5e5ca9(0x783)](this));},Sprite_Actor['prototype'][_0x208a24(0x7d8)]=function(){const _0x3a189e=_0x208a24;if(this[_0x3a189e(0xa4c)]&&this[_0x3a189e(0xa4c)]['_freezeMotionData']){const _0x4cffb7=this['_battler']['_freezeMotionData'];this[_0x3a189e(0x46f)]=Sprite_Actor['MOTIONS'][_0x4cffb7[_0x3a189e(0x66a)]],this[_0x3a189e(0x25d)]=_0x4cffb7[_0x3a189e(0x755)];const _0x36089a=this[_0x3a189e(0x799)];_0x36089a['freezeFrame'](_0x4cffb7[_0x3a189e(0x638)],_0x4cffb7[_0x3a189e(0x755)]),this[_0x3a189e(0x50f)]();}},Sprite_Weapon['prototype'][_0x208a24(0x6c2)]=function(_0x3ed604,_0x210e02){const _0x423d82=_0x208a24;this[_0x423d82(0x64a)]=_0x3ed604,this[_0x423d82(0x95f)]=-Infinity,this[_0x423d82(0x25d)]=_0x210e02,this['loadBitmap'](),this[_0x423d82(0xbd1)]();},Sprite_Enemy['prototype'][_0x208a24(0xa17)]=function(){const _0x4d27db=_0x208a24;Sprite_Battler[_0x4d27db(0xbd8)]['initMembers'][_0x4d27db(0x783)](this),this[_0x4d27db(0xa0e)]=null,this[_0x4d27db(0xd09)]=![],this[_0x4d27db(0x50d)]='',this[_0x4d27db(0xaf4)]=0x0,this[_0x4d27db(0x12a)]=null,this['_effectDuration']=0x0,this['_shake']=0x0,this[_0x4d27db(0xc21)](),this[_0x4d27db(0xb23)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xc83)]=Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0x3c1)],Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0x3c1)]=function(){const _0x25f7df=_0x208a24;VisuMZ[_0x25f7df(0x759)][_0x25f7df(0xc83)]['call'](this),this[_0x25f7df(0x32b)]();},Sprite_Enemy[_0x208a24(0xbd8)]['createMainSprite']=function(){const _0x160331=_0x208a24;this[_0x160331(0x666)]=new Sprite(),this['_mainSprite']['anchor']['x']=0.5,this['_mainSprite']['anchor']['y']=0x1,this[_0x160331(0x739)](this['_mainSprite']),this[_0x160331(0xa7f)]();},Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0x4c1)]=function(){const _0x440596=_0x208a24;return this[_0x440596(0x4b5)]||this['_mainSprite']||this;},Sprite_Enemy['prototype'][_0x208a24(0x845)]=function(_0x42cfa3){const _0x39b1ca=_0x208a24;this[_0x39b1ca(0x63f)]=new Bitmap(0x1,0x1);if(this[_0x39b1ca(0x814)]()){const _0x367c26=this[_0x39b1ca(0xa0e)]['svBattlerData']();this['bitmap']=new Bitmap(_0x367c26['width'],_0x367c26['height']),this[_0x39b1ca(0x666)][_0x39b1ca(0x63f)]=new Bitmap(0x1,0x1);}else{if($gameSystem['isSideView']()){if('uBOLC'!==_0x39b1ca(0x5e2))_0x253967['_scene'][_0x39b1ca(0xb91)]['removeDamageSprite'](_0x259739);else{const _0x21084b=ImageManager['loadSvEnemy'](_0x42cfa3);_0x21084b[_0x39b1ca(0x175)](this[_0x39b1ca(0xbf4)][_0x39b1ca(0xc84)](this,_0x21084b));}}else{if(_0x39b1ca(0x213)===_0x39b1ca(0x213)){const _0x31af8b=ImageManager['loadEnemy'](_0x42cfa3);_0x31af8b['addLoadListener'](this[_0x39b1ca(0xbf4)][_0x39b1ca(0xc84)](this,_0x31af8b));}else{if(!_0x5f3259[_0x39b1ca(0x8c3)]())return;const _0x2d1384=_0x3433b0[_0x39b1ca(0xcc)]();if(!_0x2d1384)return;_0x2d1384[_0x39b1ca(0x3dc)](_0x39b1ca(0xbc7));}}}},Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0xbf4)]=function(_0x545cc0){const _0x18a7a4=_0x208a24;this[_0x18a7a4(0x666)][_0x18a7a4(0x63f)]=_0x545cc0,this[_0x18a7a4(0x63f)]=new Bitmap(_0x545cc0[_0x18a7a4(0x4fe)],_0x545cc0['height']);},VisuMZ[_0x208a24(0x759)][_0x208a24(0xb1)]=Sprite_Enemy['prototype'][_0x208a24(0xc02)],Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0xc02)]=function(_0x14a19e){const _0x1f3814=_0x208a24;this[_0x1f3814(0x666)]&&this['_mainSprite'][_0x1f3814(0xc02)](_0x14a19e);},VisuMZ['BattleCore'][_0x208a24(0x1b7)]=Sprite_Enemy['prototype'][_0x208a24(0xcf0)],Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0xcf0)]=function(){const _0x1ebd1e=_0x208a24;this[_0x1ebd1e(0x701)]()?_0x1ebd1e(0x3c5)===_0x1ebd1e(0x3c5)?VisuMZ[_0x1ebd1e(0x759)][_0x1ebd1e(0x1b7)][_0x1ebd1e(0x783)](this):(_0x140a6b['BattleCore'][_0x1ebd1e(0xac5)](),_0x464278[_0x1ebd1e(0x759)][_0x1ebd1e(0x97a)](_0x32aba2),_0x527030[_0x1ebd1e(0x759)][_0x1ebd1e(0x97a)](_0x2df1e0)):(this['_appeared']=!this[_0x1ebd1e(0xa0e)][_0x1ebd1e(0x347)](),!this[_0x1ebd1e(0xd09)]&&(this[_0x1ebd1e(0x34f)]=0x0));},VisuMZ['BattleCore']['Sprite_Enemy_updateCollapse']=Sprite_Enemy['prototype'][_0x208a24(0x21b)],Sprite_Enemy['prototype'][_0x208a24(0x21b)]=function(){const _0xa37f54=_0x208a24;if(this[_0xa37f54(0x701)]())VisuMZ[_0xa37f54(0x759)][_0xa37f54(0x403)]['call'](this);},Sprite_Enemy[_0x208a24(0xbd8)]['updateFrame']=function(){const _0x3b2eb0=_0x208a24;Sprite_Battler['prototype']['updateFrame'][_0x3b2eb0(0x783)](this);const _0x42b24f=this[_0x3b2eb0(0x4c1)]()||this;if(!_0x42b24f)return;if(!_0x42b24f['bitmap']){if(_0x3b2eb0(0x43b)===_0x3b2eb0(0x8bf)){_0x7db39f=_0x185a05[_0x3b2eb0(0x759)]['JS'][_0x794c98][_0x3b2eb0(0x783)](this,this[_0x3b2eb0(0x6a9)](),_0x37c4af,_0x44b6ea,_0x1fe6d3);if(_0x49b552)_0x333305=_0x445ae0;}else _0x42b24f[_0x3b2eb0(0x63f)]=new Bitmap(this[_0x3b2eb0(0x4fe)]||0x1,this[_0x3b2eb0(0x1fa)]||0x1);}if(this[_0x3b2eb0(0x12a)]===_0x3b2eb0(0x9a7))this[_0x3b2eb0(0x666)]['setFrame'](0x0,0x0,this['_mainSprite']['width']||0x1,this[_0x3b2eb0(0x9c0)]);else{if('LVKfL'===_0x3b2eb0(0x8ca)){let _0x5bd53e=0x1;if(_0x42b24f&&_0x42b24f[_0x3b2eb0(0x63f)])_0x5bd53e=_0x42b24f[_0x3b2eb0(0x63f)][_0x3b2eb0(0x4fe)];let _0x2fd3a0=0x1;if(this[_0x3b2eb0(0x63f)])_0x2fd3a0=this['bitmap'][_0x3b2eb0(0x1fa)];_0x42b24f[_0x3b2eb0(0x62c)](0x0,0x0,_0x5bd53e,_0x2fd3a0);}else{if(this[_0x3b2eb0(0xa4c)]&&this[_0x3b2eb0(0xa4c)]['isDead']())return![];if(this[_0x3b2eb0(0xa4c)]&&!this['_battler'][_0x3b2eb0(0x621)]())return![];return _0x4b2e62[_0x3b2eb0(0x620)]();}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x911)]=Sprite_Enemy['prototype'][_0x208a24(0x94d)],Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0x94d)]=function(){const _0x518e07=_0x208a24;if(this[_0x518e07(0x701)]())VisuMZ[_0x518e07(0x759)][_0x518e07(0x911)][_0x518e07(0x783)](this);},Sprite_Enemy[_0x208a24(0xbd8)]['isMoving']=function(){const _0x22f109=_0x208a24;return Sprite_Battler[_0x22f109(0xbd8)][_0x22f109(0x7b6)][_0x22f109(0x783)](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x116)]=Sprite_Enemy[_0x208a24(0xbd8)]['updateStateSprite'],Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0x563)]=function(){const _0x49ca57=_0x208a24;VisuMZ[_0x49ca57(0x759)]['Sprite_Enemy_updateStateSprite'][_0x49ca57(0x783)](this),this['updateStateSpriteBattleCore']();},Sprite_Enemy['prototype'][_0x208a24(0xb7b)]=function(){const _0x2aa74c=_0x208a24,_0x27a392=VisuMZ[_0x2aa74c(0x759)][_0x2aa74c(0xc39)][_0x2aa74c(0x6bd)];if(_0x27a392[_0x2aa74c(0x200)]&&!_0x27a392[_0x2aa74c(0xda)]){this['_stateIconSprite'][_0x2aa74c(0x34f)]=0x0;return;}this[_0x2aa74c(0xcab)]['x']=0x0,this[_0x2aa74c(0xcab)]['x']+=this[_0x2aa74c(0xa4c)][_0x2aa74c(0x3ee)]();let _0x3c0820=0x1;if(this[_0x2aa74c(0x63f)])_0x3c0820=this[_0x2aa74c(0x63f)][_0x2aa74c(0x1fa)];this[_0x2aa74c(0xcab)]['y']=-_0x3c0820-this[_0x2aa74c(0xcab)][_0x2aa74c(0x1fa)]-0x4,this['_stateIconSprite']['y']+=this['_battler'][_0x2aa74c(0x6c0)](),this[_0x2aa74c(0xcab)][_0x2aa74c(0x867)]['x']=0x1/(this[_0x2aa74c(0x867)]['x']||0.001),this[_0x2aa74c(0xcab)]['scale']['y']=0x1/(this[_0x2aa74c(0x867)]['y']||0.001),this[_0x2aa74c(0x814)]()&&(this['_svBattlerSprite'][_0x2aa74c(0x3e0)]['scale']['x']=-0x1/(this[_0x2aa74c(0x867)]['x']||0.001),this[_0x2aa74c(0x73b)][_0x2aa74c(0x3e0)][_0x2aa74c(0x867)]['y']=0x1/(this[_0x2aa74c(0x867)]['y']||0.001));},VisuMZ[_0x208a24(0x759)][_0x208a24(0xd26)]=Sprite_Enemy['prototype'][_0x208a24(0x861)],Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0x861)]=function(_0x53848e){const _0x43cd57=_0x208a24;VisuMZ[_0x43cd57(0x759)][_0x43cd57(0xd26)][_0x43cd57(0x783)](this,_0x53848e),this[_0x43cd57(0x32c)](_0x53848e);},Sprite_Enemy['prototype'][_0x208a24(0x32c)]=function(_0x2a0436){const _0x52f439=_0x208a24;!this[_0x52f439(0x73b)]&&(_0x52f439(0x4ca)!==_0x52f439(0x4ca)?this[_0x52f439(0xbd6)]='default':(this[_0x52f439(0x73b)]=new Sprite_SvEnemy(_0x2a0436),this[_0x52f439(0xa7f)]())),this[_0x52f439(0x73b)][_0x52f439(0x861)](_0x2a0436);},Sprite_Enemy[_0x208a24(0xbd8)][_0x208a24(0x814)]=function(){const _0x2d0ac6=_0x208a24;return this[_0x2d0ac6(0xa0e)]&&this[_0x2d0ac6(0xa0e)][_0x2d0ac6(0x814)]();},Sprite_Enemy['prototype'][_0x208a24(0x701)]=function(){const _0x295304=_0x208a24;if(this[_0x295304(0x814)]()){if(_0x295304(0xb08)===_0x295304(0xc46))this[_0x295304(0x54d)]=_0x3be09d,_0x4a5f92[_0x295304(0xbd8)][_0x295304(0x3bf)][_0x295304(0x783)](this,_0x3d03d9),this[_0x295304(0xc79)](_0x3e5229[_0x295304(0xafd)]),this[_0x295304(0x1d4)](),this['hide'](),this[_0x295304(0x82d)]();else return this[_0x295304(0xa0e)][_0x295304(0x701)]();}else return!![];},Sprite_Enemy[_0x208a24(0xbd8)]['refreshMotion']=function(){const _0x2e7d3d=_0x208a24;if(this['hasSvBattler']()){if(_0x2e7d3d(0x7ef)!==_0x2e7d3d(0x7ef))return this[_0x2e7d3d(0xc1b)]&&this[_0x2e7d3d(0xc1b)][_0x2e7d3d(0x594)]===_0x5d81ce;else this[_0x2e7d3d(0x73b)]['refreshMotion']();}},Sprite_Enemy['prototype'][_0x208a24(0xc0)]=function(_0x50f2d7){const _0x4c1ac9=_0x208a24;if(this[_0x4c1ac9(0x814)]())this[_0x4c1ac9(0x73b)][_0x4c1ac9(0xc0)](_0x50f2d7);},Sprite_Enemy[_0x208a24(0xbd8)]['forceWeaponAnimation']=function(_0x2e497d){const _0x1b6275=_0x208a24;if(this[_0x1b6275(0x814)]())this[_0x1b6275(0x73b)][_0x1b6275(0x472)](_0x2e497d);},Sprite_Enemy[_0x208a24(0xbd8)]['stepForward']=function(){const _0x32e6a6=_0x208a24,_0x13e268=VisuMZ['BattleCore'][_0x32e6a6(0xc39)][_0x32e6a6(0x9b7)],_0x32be40=_0x13e268['StepDistanceX'],_0x4d3499=_0x13e268[_0x32e6a6(0x7d9)],_0x419a22=_0x13e268[_0x32e6a6(0xbb3)];this[_0x32e6a6(0x927)](_0x32be40,_0x4d3499,_0x419a22);};function Sprite_SvEnemy(){const _0xa583ae=_0x208a24;this[_0xa583ae(0x3bf)](...arguments);}Sprite_SvEnemy[_0x208a24(0xbd8)]=Object['create'](Sprite_Actor[_0x208a24(0xbd8)]),Sprite_SvEnemy[_0x208a24(0xbd8)][_0x208a24(0x594)]=Sprite_SvEnemy,Sprite_SvEnemy['prototype'][_0x208a24(0x3bf)]=function(_0x1e2f6f){const _0x2af6ca=_0x208a24;Sprite_Actor[_0x2af6ca(0xbd8)][_0x2af6ca(0x3bf)][_0x2af6ca(0x783)](this,_0x1e2f6f),this[_0x2af6ca(0x867)]['x']=-0x1,this[_0x2af6ca(0x3e0)][_0x2af6ca(0x867)]['x']=-0x1;},Sprite_SvEnemy[_0x208a24(0xbd8)][_0x208a24(0xcf)]=function(){},Sprite_SvEnemy[_0x208a24(0xbd8)][_0x208a24(0x77b)]=function(){},Sprite_SvEnemy['prototype'][_0x208a24(0x25b)]=function(_0x1c8025){},Sprite_SvEnemy[_0x208a24(0xbd8)][_0x208a24(0x2a0)]=function(){},Sprite_SvEnemy[_0x208a24(0xbd8)][_0x208a24(0xa97)]=function(){},Sprite_SvEnemy[_0x208a24(0xbd8)][_0x208a24(0x563)]=function(){const _0x1798d4=_0x208a24;this[_0x1798d4(0x3e0)]['visible']=![];},Sprite_SvEnemy[_0x208a24(0xbd8)][_0x208a24(0xef)]=function(){const _0x20f309=_0x208a24;Sprite_Battler['prototype'][_0x20f309(0xef)][_0x20f309(0x783)](this);const _0x1c6a59=this[_0x20f309(0x302)][_0x20f309(0xb1b)]();this[_0x20f309(0x50d)]!==_0x1c6a59&&(this[_0x20f309(0x50d)]=_0x1c6a59,this[_0x20f309(0x666)][_0x20f309(0x63f)]=ImageManager[_0x20f309(0x6a8)](_0x1c6a59)),this['_mainSprite']&&this[_0x20f309(0x666)]['bitmap']&&this[_0x20f309(0xa4c)]&&(this[_0x20f309(0x666)]['bitmap'][_0x20f309(0xfe)]!==this['_battler'][_0x20f309(0xb2f)]()&&(this[_0x20f309(0x666)]['bitmap']['smooth']=this[_0x20f309(0xa4c)]['battlerSmoothImage']()));},Sprite_SvEnemy['prototype'][_0x208a24(0xb2d)]=function(){},Sprite_SvEnemy['prototype']['startMove']=function(_0x51ff46,_0x5ac4d7,_0x28c259){const _0x523f01=_0x208a24;if(this[_0x523f01(0x216)])this[_0x523f01(0x216)][_0x523f01(0x927)](_0x51ff46,_0x5ac4d7,_0x28c259);},Sprite_SvEnemy[_0x208a24(0xbd8)][_0x208a24(0x4a2)]=function(){const _0x270876=_0x208a24,_0xaa254e=this['_actor'];if(_0xaa254e){const _0x13549b=_0xaa254e[_0x270876(0xa6a)]();if(_0xaa254e[_0x270876(0x6a4)]()||_0xaa254e[_0x270876(0x830)]())this[_0x270876(0x778)](_0x270876(0x1b2));else{if(_0x13549b===0x3)this['startMotion'](_0x270876(0x2e6));else{if(_0x13549b===0x2)_0x270876(0x4c7)===_0x270876(0x4c7)?this[_0x270876(0x778)](_0x270876(0xce4)):(_0x213bdb+=_0x151c3f,_0x338c66+=_0x246479);else{if(_0xaa254e[_0x270876(0x26b)]())this['startMotion'](_0x270876(0x504));else{if(_0xaa254e[_0x270876(0x592)]()||_0xaa254e[_0x270876(0xd4b)]())this[_0x270876(0x778)](_0x270876(0xc18));else{if(_0x13549b===0x1)this[_0x270876(0x778)](_0x270876(0xab6));else{if(_0xaa254e[_0x270876(0x7c6)]())this[_0x270876(0x778)]('dying');else _0xaa254e[_0x270876(0x2f5)]()?_0x270876(0x4d7)==='FlqJQ'?this[_0x270876(0x778)]('walk'):(this['_stateSprite']['scale']['x']=0x1/(this[_0x270876(0x867)]['x']||0.001),this['_stateSprite'][_0x270876(0x867)]['y']=0x1/(this[_0x270876(0x867)]['y']||0.001)):this[_0x270876(0x778)](_0xaa254e['svBattlerData']()[_0x270876(0x245)]||_0x270876(0x1b2));}}}}}}}},Sprite_SvEnemy['prototype']['inHomePosition']=function(){const _0x1dce92=_0x208a24;return this['parent']?this[_0x1dce92(0x216)][_0x1dce92(0xb71)]===0x0&&this[_0x1dce92(0x216)][_0x1dce92(0x3a2)]===0x0:!![];},Sprite_SvEnemy['prototype'][_0x208a24(0x609)]=function(){},VisuMZ[_0x208a24(0x759)][_0x208a24(0xb8b)]=Sprite_Animation[_0x208a24(0xbd8)][_0x208a24(0xaa1)],Sprite_Animation[_0x208a24(0xbd8)][_0x208a24(0xaa1)]=function(_0x4c163d){const _0x55b6ff=_0x208a24;return _0x4c163d[_0x55b6ff(0x4b5)]?this[_0x55b6ff(0xc3b)](_0x4c163d):VisuMZ[_0x55b6ff(0x759)][_0x55b6ff(0xb8b)][_0x55b6ff(0x783)](this,_0x4c163d);},Sprite_Animation[_0x208a24(0xbd8)][_0x208a24(0xc3b)]=function(_0x351d2){const _0x194d5f=_0x208a24;let _0x647879=_0x351d2['x'],_0x570f8d=_0x351d2['y'],_0x35270b=_0x351d2[_0x194d5f(0x1fa)],_0x3d5c46=_0x351d2[_0x194d5f(0x4b5)][_0x194d5f(0x867)]['y'];_0x351d2['x']=_0x351d2[_0x194d5f(0x169)]+_0x351d2[_0x194d5f(0xc3)](),_0x351d2['y']=_0x351d2[_0x194d5f(0x832)]+_0x351d2[_0x194d5f(0xbcc)](),_0x351d2[_0x194d5f(0x1fa)]*=_0x3d5c46;let _0x4b6485=VisuMZ[_0x194d5f(0x759)]['Sprite_Animation_targetSpritePosition'][_0x194d5f(0x783)](this,_0x351d2);return _0x351d2['x']=_0x647879,_0x351d2['y']=_0x570f8d,_0x351d2['height']=_0x35270b,_0x4b6485;},VisuMZ[_0x208a24(0x759)][_0x208a24(0x9e9)]=Sprite_AnimationMV['prototype'][_0x208a24(0x295)],Sprite_AnimationMV['prototype'][_0x208a24(0x295)]=function(){const _0x569870=_0x208a24;VisuMZ[_0x569870(0x759)]['Sprite_AnimationMV_updatePosition'][_0x569870(0x783)](this);if(!SceneManager[_0x569870(0x8c3)]())return;if(this['_animation'][_0x569870(0x4c9)]===0x3)this['x']=Math['round'](Graphics[_0x569870(0xa53)]/0x2),this['y']=Math[_0x569870(0xd50)](Graphics['boxHeight']/0x2);else{if(this[_0x569870(0x528)])return;}},Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0xb29)]=function(_0x28157a){const _0x417c57=_0x208a24,_0x138749=_0x28157a[_0x417c57(0x599)]()||_0x28157a[_0x417c57(0xa19)]();if(_0x138749['missed']||_0x138749['evaded'])_0x417c57(0x551)===_0x417c57(0x740)?_0x5a4205[_0x417c57(0x2f3)]([_0x1fb4bf]):(this['_colorType']=0x0,this['createMiss']());else{if(_0x138749[_0x417c57(0x969)]){if(_0x417c57(0x7c1)!=='BCKxC')this['_colorType']=_0x138749[_0x417c57(0x364)]>=0x0?0x0:0x1,this['createDigits'](_0x138749[_0x417c57(0x364)]);else return _0x24ed2b[_0x417c57(0x4ff)]['call'](this);}else{if(_0x28157a[_0x417c57(0x97c)]()&&_0x138749[_0x417c57(0x522)]!==0x0){if(_0x417c57(0x76d)!==_0x417c57(0x107))this[_0x417c57(0xb2e)]=_0x138749[_0x417c57(0x522)]>=0x0?0x2:0x3,this[_0x417c57(0xcac)](_0x138749[_0x417c57(0x522)]);else{if(this['_skewDuration']<=0x0)return;if(!this['_distortionSprite'])return;const _0x42047e=this[_0x417c57(0x2c5)],_0x4b0540=this[_0x417c57(0x51a)],_0x443266=this[_0x417c57(0xcd8)],_0x2f4f06=this[_0x417c57(0x4b5)];_0x5ae492[_0x417c57(0x496)]?(_0x2f4f06[_0x417c57(0x227)]['x']=this[_0x417c57(0x381)](_0x2f4f06[_0x417c57(0x227)]['x'],this[_0x417c57(0xca0)],_0x42047e,_0x4b0540,_0x443266),_0x2f4f06[_0x417c57(0x227)]['y']=this[_0x417c57(0x381)](_0x2f4f06['skew']['y'],this[_0x417c57(0x52c)],_0x42047e,_0x4b0540,_0x443266)):(_0x2f4f06['skew']['x']=(_0x2f4f06[_0x417c57(0x227)]['x']*(_0x42047e-0x1)+this['_targetSkewX'])/_0x42047e,_0x2f4f06[_0x417c57(0x227)]['y']=(_0x2f4f06['skew']['y']*(_0x42047e-0x1)+this[_0x417c57(0x52c)])/_0x42047e);this[_0x417c57(0x2c5)]--;if(this[_0x417c57(0x2c5)]<=0x0)this[_0x417c57(0x2a6)]();}}}}_0x138749[_0x417c57(0x57d)]&&this[_0x417c57(0x195)]();},Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0x876)]=function(_0xa2a8b5){},Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0xcac)]=function(_0x5b0564){const _0x30f825=_0x208a24;let _0x3dfc52=this[_0x30f825(0x67b)](_0x5b0564);const _0x10bf06=this[_0x30f825(0xa48)](),_0x14d72e=Math[_0x30f825(0x479)](_0x10bf06*0.75);for(let _0x1e9e1b=0x0;_0x1e9e1b<_0x3dfc52[_0x30f825(0x1ba)];_0x1e9e1b++){const _0x143afe=this[_0x30f825(0xb90)](_0x14d72e,_0x10bf06);_0x143afe[_0x30f825(0x63f)][_0x30f825(0x10e)](_0x3dfc52[_0x1e9e1b],0x0,0x0,_0x14d72e,_0x10bf06,_0x30f825(0x1c0)),_0x143afe['x']=(_0x1e9e1b-(_0x3dfc52[_0x30f825(0x1ba)]-0x1)/0x2)*_0x14d72e,_0x143afe['dy']=-_0x1e9e1b;}},Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0x67b)]=function(_0x561d6c){const _0x2d3a5a=_0x208a24;let _0x156292=Math[_0x2d3a5a(0x7ac)](_0x561d6c)[_0x2d3a5a(0xa45)]();if(this[_0x2d3a5a(0x706)]()){if(_0x2d3a5a(0x8fd)===_0x2d3a5a(0x6a6))return _0x23f93b[_0x2d3a5a(0x759)][_0x2d3a5a(0x288)][_0x2d3a5a(0x783)](this);else _0x156292=VisuMZ[_0x2d3a5a(0x23e)](_0x156292);}const _0xdb1a69=VisuMZ[_0x2d3a5a(0x759)][_0x2d3a5a(0xc39)]['Damage'];let _0x598527='',_0x1dfeca='';switch(this[_0x2d3a5a(0xb2e)]){case 0x0:_0x598527=_0xdb1a69[_0x2d3a5a(0x583)]||_0x2d3a5a(0x37e),_0x1dfeca=TextManager['hp'];if(_0x561d6c===0x0)_0x598527='%1';break;case 0x1:_0x598527=_0xdb1a69[_0x2d3a5a(0x42e)]||_0x2d3a5a(0x37b),_0x1dfeca=TextManager['hp'];break;case 0x2:_0x598527=_0xdb1a69['mpDamageFmt']||_0x2d3a5a(0x439),_0x1dfeca=TextManager['mp'];break;case 0x3:_0x598527=_0xdb1a69[_0x2d3a5a(0x9c1)]||_0x2d3a5a(0x95e),_0x1dfeca=TextManager['mp'];break;}return _0x598527[_0x2d3a5a(0x75a)](_0x156292,_0x1dfeca)['trim']();},Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0x706)]=function(){const _0x37a7f6=_0x208a24;return Imported['VisuMZ_0_CoreEngine']?VisuMZ[_0x37a7f6(0x8e1)][_0x37a7f6(0xc39)][_0x37a7f6(0xcdf)][_0x37a7f6(0x815)]:![];},Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0x195)]=function(){const _0x3acdb3=_0x208a24,_0x19aefd=VisuMZ['BattleCore'][_0x3acdb3(0xc39)][_0x3acdb3(0x7a9)];_0x19aefd[_0x3acdb3(0x622)]=_0x19aefd['CriticalColor']||[0x0,0x0,0x0,0x0],this[_0x3acdb3(0x318)]=_0x19aefd[_0x3acdb3(0x622)][_0x3acdb3(0xa3f)](0x0),this[_0x3acdb3(0x5cb)]=_0x19aefd[_0x3acdb3(0x980)]||0x1;},Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0x98c)]=function(_0x35fd84,_0x5a2e8a){const _0x30de65=_0x208a24;this[_0x30de65(0x318)]=_0x5a2e8a['flashColor']||[0x0,0x0,0x0,0x0],this[_0x30de65(0x318)]=JsonEx['makeDeepCopy'](this[_0x30de65(0x318)]),this[_0x30de65(0x5cb)]=_0x5a2e8a[_0x30de65(0x53c)]||0x0;const _0x2f1a8f=this[_0x30de65(0xa48)](),_0x27d126=Math['floor'](_0x2f1a8f*0x1e),_0x30c58b=this['createChildSprite'](_0x27d126,_0x2f1a8f);_0x30c58b['bitmap']['textColor']=ColorManager['getColor'](_0x5a2e8a[_0x30de65(0x119)]),_0x30c58b[_0x30de65(0x63f)][_0x30de65(0x10e)](_0x35fd84,0x0,0x0,_0x27d126,_0x2f1a8f,_0x30de65(0x1c0)),_0x30c58b['dy']=0x0;},Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0x2ae)]=function(_0x1e5a7d,_0x495089,_0x4209f2){const _0x3c14a1=_0x208a24,_0x357307=Math[_0x3c14a1(0x6db)](this['fontSize'](),ImageManager[_0x3c14a1(0x60c)]),_0x50ac02=Math[_0x3c14a1(0x479)](_0x357307*0x1e),_0x252be5=this['createChildSprite'](_0x50ac02,_0x357307),_0x47b502=ImageManager[_0x3c14a1(0x808)]/0x2,_0x4c04c8=_0x252be5[_0x3c14a1(0x63f)][_0x3c14a1(0x616)](_0x495089+'\x20');_0x252be5[_0x3c14a1(0x63f)][_0x3c14a1(0x119)]=ColorManager[_0x3c14a1(0x33d)](_0x4209f2[_0x3c14a1(0x119)]),_0x252be5[_0x3c14a1(0x63f)][_0x3c14a1(0x10e)](_0x495089,_0x47b502,0x0,_0x50ac02-_0x47b502,_0x357307,'center');const _0x1f75ee=Math[_0x3c14a1(0xd50)]((_0x357307-ImageManager['iconHeight'])/0x2),_0x301215=_0x50ac02/0x2-ImageManager[_0x3c14a1(0x808)]-_0x4c04c8/0x2+_0x47b502/0x2,_0x4fe6e0=ImageManager['loadSystem'](_0x3c14a1(0xb2b)),_0x3c15d7=ImageManager['iconWidth'],_0x40f802=ImageManager[_0x3c14a1(0x60c)],_0x36646d=_0x1e5a7d%0x10*_0x3c15d7,_0x4be47e=Math[_0x3c14a1(0x479)](_0x1e5a7d/0x10)*_0x40f802;_0x252be5['bitmap'][_0x3c14a1(0xc34)](_0x4fe6e0,_0x36646d,_0x4be47e,_0x3c15d7,_0x40f802,_0x301215,_0x1f75ee),this[_0x3c14a1(0x318)]=_0x4209f2['flashColor']||[0x0,0x0,0x0,0x0],this['_flashColor']=JsonEx[_0x3c14a1(0x2bb)](this[_0x3c14a1(0x318)]),this[_0x3c14a1(0x5cb)]=_0x4209f2[_0x3c14a1(0x53c)]||0x0,_0x252be5['dy']=0x0;},VisuMZ[_0x208a24(0x759)][_0x208a24(0x307)]=Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0xb90)],Sprite_Damage[_0x208a24(0xbd8)][_0x208a24(0xb90)]=function(_0x418abc,_0x347d61){const _0x2862b2=_0x208a24;return _0x347d61=Math['round'](_0x347d61*1.2),VisuMZ['BattleCore']['Sprite_Damage_createChildSprite'][_0x2862b2(0x783)](this,_0x418abc,_0x347d61);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x539)]=Sprite_StateIcon[_0x208a24(0xbd8)]['updateFrame'],Sprite_StateIcon[_0x208a24(0xbd8)][_0x208a24(0xbd1)]=function(){const _0x91fa14=_0x208a24;VisuMZ[_0x91fa14(0x759)][_0x91fa14(0x539)][_0x91fa14(0x783)](this),this[_0x91fa14(0x34f)]=this[_0x91fa14(0x4d8)]>0x0?0xff:0x0;},VisuMZ['BattleCore'][_0x208a24(0xa82)]=Sprite_Weapon['prototype'][_0x208a24(0x845)],Sprite_Weapon[_0x208a24(0xbd8)][_0x208a24(0x845)]=function(){const _0x2bd978=_0x208a24;VisuMZ[_0x2bd978(0x759)][_0x2bd978(0xa82)][_0x2bd978(0x783)](this);if(this['bitmap']){if(_0x2bd978(0xb77)!==_0x2bd978(0x671))this[_0x2bd978(0x63f)][_0x2bd978(0xfe)]=VisuMZ[_0x2bd978(0x759)][_0x2bd978(0xc39)]['Actor']['SmoothImage'];else{if(this['_battler']&&this[_0x2bd978(0xa4c)][_0x2bd978(0x305)]){const _0xa7960a=this[_0x2bd978(0xa4c)]['_freezeMotionData'];this[_0x2bd978(0x46f)]=_0xb2358b[_0x2bd978(0x40c)][_0xa7960a[_0x2bd978(0x66a)]],this[_0x2bd978(0x25d)]=_0xa7960a[_0x2bd978(0x755)];const _0x4a415a=this[_0x2bd978(0x799)];_0x4a415a[_0x2bd978(0x6c2)](_0xa7960a[_0x2bd978(0x638)],_0xa7960a[_0x2bd978(0x755)]),this[_0x2bd978(0x50f)]();}}}},VisuMZ[_0x208a24(0x759)]['Sprite_Gauge_smoothness']=Sprite_Gauge[_0x208a24(0xbd8)]['smoothness'],Sprite_Gauge[_0x208a24(0xbd8)]['smoothness']=function(){const _0x159cda=_0x208a24;return this[_0x159cda(0xd34)]!==_0x159cda(0x726)?VisuMZ['BattleCore'][_0x159cda(0xc39)][_0x159cda(0x18b)]['AniDuration']??0x14:VisuMZ[_0x159cda(0x759)][_0x159cda(0x9fc)][_0x159cda(0x783)](this);};function Sprite_HpGauge(){const _0x124456=_0x208a24;this[_0x124456(0x3bf)](...arguments);}function _0x3675(){const _0x5de120=['onActorCancel','setBattlerFlip','PreApplyAsUserJS','setLastPluginCommandInterpreter','fBpTU','Angle','Lxhib','repositionCancelButtonBorderStyle','DSwRA','lifeSteaItem','VEDfF','children','performReflection','displayEvasion','QsIlE','CastMagical','partyCommandWindowRect','BTestBypass','MAXHP','removeChildFromUiContainer','onBattleEndBattleCore','ENEMY_OFFSET_X','setupDesaturateImpactFilter','onStaticEnemyBitmapLoad','MAXMP','EQFZh','_jumpDuration','%1Damage%2JS','Mdxsc','FaceDirection','autoMeleeSingleTargetActionSet','ueiPI','Game_Party_addActor','FDIdK','_weather','TdKei','cancelActorInput','setHue','updateKeyboardKeys','UhZYp','battleCamera','magicSkills','FlashDuration','statusWindowRect','SRcle','gQnHL','Game_Battler_onBattleEnd','KuiyW','ActSeq_Mechanics_EmulateGuardEffect','Linear','evalDamageFormulaBattleCore','Slot','dead\x20enemies','yMczs','_actorMultiTargetWindow','ActSeq_Animation_BalloonAnimation','Index','isBorderStylePortraitShown','SttTE','guard','param','disarmMpLifeSteal','_scene','ACTOR_OFFSET_Y','faceWidth','ScaleY','AS\x20TARGET','updateAngleCalculations','createMainSprite','PostEndTurnJS','PostApplyJS','gspDf','repeatTargets','FJpwA','ShowEnemyGauge','processTurn','addImmortal','ActSeq_Motion_ClearFreezeFrame','_enemyId','qISwC','xobCg','isCurrentItemEnabled','\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Declare\x20Arguments\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20user\x20=\x20arguments[0];\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20a\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20b\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20targets\x20=\x20arguments[1];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Process\x20Code\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20%1\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20($gameTemp.isPlaytest())\x20console.log(e);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Return\x20Value\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20targets\x20||\x20[];\x0a\x20\x20\x20\x20','NameOffsetX','ActSeq_Impact_ZoomBlurPoint','requestBalloon','negativeHpLifeSteal','blt','nQsRB','Window_BattleLog_performEvasion','_back2Sprite','setupShockwaveImpactFilter','Settings','_linkedSprite','targetDistortionSpritePosition','BattleManager_startBattle','VoiceLine','preemptive','CsDId','isTpbMainPhase','_enemyNameContainer','POST-','command3011','EnableSoftCap','Frame','FIAkV','isDeathStateAffected','OsEln','Game_Action_executeMpDamage','sliceMin','SHOW_BUTTON','compareEnemySprite','PostEndBattleJS','OBsez','HLikx','EnableDamageCap','sAXFF','gainBravePoints','ShowReflect','PreApply%1JS','setupZoomBlurImpactFilter','displaySubstitute','gmFbr','PmSIQ','FlinchDuration','isAnimationPlaying','setActionState','wendS','isForNotUser','createAttachedSprites','USER-DEFINED\x201','setupBattleback','updatePointAnimations','xFFkQ','makeTargetSprites','updateTargetPosition','Actor-%1-%2','hPrhF','FocusY','ItemID','VisuMZ_4_CombatLog','MoUnC','MaxLines','visualCutinPortraitHue','softDamageCapRate','aImla','NhHHo','meetsSelectFrontviewActorConditions','Game_Action_itemEffectAddAttackState','rPFWL','CheckMapBattleEventValid','ActSeq_Impact_ShockwavePoint','helpWindowRectBorderStyle','ActSeq_Animation_ActionAnimation','itemHit','PerformAction','setBackgroundType','actionSplicePoint','_cacheTextWidth','ActSeq_DB_DragonbonesTimeScale','CommandAddOptions','_forcedHomeX','CRQOd','sort','eOsXg','ActSeq_Movement_WaitForJump','Sprite_Enemy_update','bind','split','actorCommandSingleSkill','Game_Action_executeDamage','finishActorInput','finalizeScale','...','_tpbNeedsPartyCommand','performRecovery','StatusWindowSkinFilename','ActSeq_Mechanics_TextPopup','isBattlerFlipped','_battlePortrait','DistanceAdjust','ALL\x20SKILLS','AnchorY','hKSaE','negativeLifeSteal','linkSprite','Scene_Battle_onActorCancel','JumpToLabel','autoBattleAtStart','trueRandomTarget','isShownOnBattlePortrait','resizeWindowXPStyle','actorCommandWindowRect','MotionType','partyCommandWindowRectXPStyle','_targetSkewX','onDatabaseLoaded','displayBattleCoreTransitionErrorMsg','silentHomeMove','Game_Troop_expTotal','process_VisuMZ_BattleCore_jsFunctions','VisuMZ_2_BattleGridSystem','makeBattleCommand','autoBattleUseSkills','Scene_Battle_stop','ActSeq_Mechanics_AddBuffDebuff','_stateIconSprite','createDigits','isForOne','requestFauxAnimation','includes','NzOiM','QQnNa','ybBmd','ShowCritical','vTLUd','deathStateId','addOnceParallelInterpreter','battlerName','brbCt','getBattlePortraitOffsetY','VkvER','getAttackWeaponAnimationId','ActSeq_Mechanics_ActiveChainInputDisable','isJumping','LIGHT\x20BULB','applyVariance','KuDvh','EkQhW','FvhYZ','moveBattlerHomeToPoint','ActSeq_Mechanics_AddState','Turns','PNsmT','%1-%2','multiTargetWindowRect','command339','OlQiM','Window_BattleLog_popBaseLine','Window_BattleLog_performRecovery','MvYri','contents','WaitForJump','repeats','Game_Action_apply','dimColor1','_battleCoreNoElement','removeHorrorEffect','commandNameWindowCenter','ActSeq_Mechanics_EmulateItemEffect','spriteId','_skewEasing','isMagical','GGGGf','HjAtR','adjustPosition_ScaleUp','ActSeq_Element_AddElements','Game_Enemy_transform','QoL','alterChange','ActSeq_Grid_AddTriggerToNode','_executeHpDamage','CommonEventID','sleep','getItemDamageAmountTextOriginal','ySwgb','CriticalHitMultiplier','Scene_Battle_startEnemySelection','undecided','pages','occasion','in\x20order\x20for\x20Ally\x20or\x20Enemy\x20targeting\x20to\x20work\x20','collapse','CheckSkillCommandShowSwitches','skillItemWindowRectMiddle','initVisibility','Window_Options_addGeneralOptions','selectNextCommand','addActor','actorId','fnordAddedStates','addSingleSkillCommands','States','singleSkill','processEnemyModeTouchBattleCore','WIDTH','addSkillCommands','Window_BattleLog_pushBaseLine','vWIbl','ActSeq_BattleLog_DisplayAction','All\x20Enemies','_targetFloatHeight','eQMPP','_homeX','hmdOD','Game_Action_setSkill','Game_Action_setSubject','_emptyBitmap','Sprite_Battleback_adjustPosition','battler','_appeared','_totalValue','OgJvp','version\x20in\x20order\x20to\x20use\x20the\x20<Extend:\x20x>\x20function.','FlinchDistanceX','nameY','PQBHl','gainFullActionsPTB','ActionEffect','performWeaponAnimation','eMVAS','ActionEndUpdate','randomInt','pApVe','_eventId','gaThj','in\x20order\x20for\x20Taunt\x20and\x20Provoke\x20features\x20to\x20work\x20','displayType','status','MAT','playReflection','skill','AOEnr','_shakeFlinchDuration','traitSet','txHHv','shift','faceRect','isTpb','Sprite_Enemy_setBattler','FeTEk','_deathStateApplied','addEscapeCommand','XCtaZ','guardHpLifeSteal','drSkg','ORlLY','Scene_Battle_start','makeDamageValue','WsfhR','BMISA','text\x20target','updateForceAction','_statusType','Game_Map_battleback2Name','splice','jSdHj','hMvDV','applyDamageCaps','_targetGrowX','rDhLD','SaVEm','Scene_Battle_onEnemyCancel','thrust','PopupDuration','actions','hue','MQBVk','updateUiContainerPosition','onHomeMoveEnd','waitForOpacity','Post','ActSeq_Impact_Negative','shadow','Game_Battler_performMiss','clearActiveWeaponSet','isGuardWaiting','_surprise','_backAttachmentSprite','createBorderStylePortraitSprite','freezeTime','round','createEffectActionSet','battleAngle','_helpWindow','SkillItemBorderCols','createCancelButton','GxJSQ','CmdIconFight','Sprite_Actor_setActorHome','waitCount','PreStartActionJS','performSubstitute','createAllWindows','close','SBtav','FaceAway','updateEffectContainers','battleSkew','IvOYS','KkTzS','IalbG','CKPyc','updateBattlerContainer','PopupShiftY','getDamageStyle','compareBattlerSprites','CIzRY','qUEsg','weaponTypes','Game_BattlerBase_initMembers','_borderPortraitTargetX','Sprite_Enemy_setHue','UDLqo','updatePositionBattleCore','PreDamage%1JS','CTB','lbZOW','Window_BattleLog_performCounter','Tgihn','_forcedBattlers','attackMotions','registerCommand','alive\x20battlers','Scene_Boot_onDatabaseLoaded','FUNC','isLearnedSkill','forceMotion','_commonEventIDs','XzEpZ','extraPositionX','Scene_Battle_createAllWindows','Emclu','prev\x20target','zleJU','focus','GhsBg','_cursorArea','svShadow','getLastPluginCommandInterpreter','setBattleCameraPoint','setBattlerFacePoint','createShadowSprite','invokeMagicReflection','_animationSprites','playBattleVoice','removeImmortal','_active','Rate','Scene_Battle_createActorCommandWindow','base','yFLHa','callNextMethod','NameLegacy','_methods','WeaponTypeID','DisablePartyCmd','createHelpWindowBattleCore','ANGER','ConvertActionSequenceTarget','drawItemStatusXPStyle','createUIContainer','actor%1-portrait','isCharging','ActSeq_Animation_BalloonIconRange','SWEAT','_growDuration','updateMotionCount','ActSeq_Mechanics_RemoveBuffDebuff','AllEnemiesText','_shadowScaleY','WFgXV','Sprite_Battler_updateMain','updateMain','updateBitmap','HITTYPE_MAGICAL','RHWee','statusWindowRectBorderStyle','getBattlePortraitOffsetX','commandEscape','HCZmm','addShowHpGaugeCommand','processEscape','skillItemWindowRectBorderStyle','pJkCs','damageFlat','tCclp','kkWkD','okTargetSelectionVisibility','smooth','isTickBased','AnimationID','ANTI_TINT_UI','ActiveTpbOptionsMessage','AutoBattleOK','Scene_Map_initializeAfter','_hpGaugeSprite','alive\x20actors\x20not\x20target','iSOhI','setHome','Game_Action_clear','PreDamageAsUserJS','Game_Temp_requestAnimation','NNbbi','partyCommandWindowRectBorderStyle','drawText','dpbcl','forceSelect','XPActorDefaultHeight','setMoveEasingType','BattleManager_selectNextCommand','updateShadowBattleCore','rushE','Sprite_Enemy_updateStateSprite','Scene_Battle_createEnemyWindow','bARpe','textColor','StatusWindowAttachmentBackOffsetY','padding','ArRedRate','LbJmr','_flipScaleX','JS\x20%1REGENERATE','isAtbCastingState','isForFriend','getInputButtonString','showPortraits','canAddSkillCommand','Dvash','jumpBattler','uluZd','active','nmOpm','_effectType','makeHpDamageText','_additionalSprites','refreshDimmerBitmap','aTNQF','_effectsContainer','showHelpWindow','usePremadeActionSequence','performCounter','HGVCL','ActSeq_Movement_Opacity','Game_BattlerBase_canAttack','ActSeq_Animation_PlayAtCoordinate','casting','startWeaponAnimation','%1StartBattleJS','HelpAutoBattle','Variable','maxCommands','clearActiveWeaponSlot','displayItemMessage','removeStatesAuto','IGvUd','damageStyle','hjrAb','PostApplyAsUserJS','ForceExploited','TpGaugeOffsetX','lineHeight','WaitForExit','BattleLayout','ActSeq_Motion_FreezeMotionFrame','setupOversaturateImpactFilter','helpAreaHeight','substitute','CalcActionSpeedJS','ActSeq_Grid_TeleportToNode','jsOneForOne','ActSeq_Horror_NoiseCreate','RxamT','guardSkillId','OffsetY','canInput','itemLifeStealRate','uBZkP','battleCommandName','_animation','isPreviousScene','dead\x20battlers','findSymbolExt','addPartyCommand','ShowActorGauge','YcZQI','CreateCutinSettings','BleIK','createBattleBalloon','updateStatusWindowPosition','_lines','isSceneChanging','_borderPortraitDuration','updateEventMain','pointY','ItZGZ','_baseX','Window_BattleLog_displayFailure','ConfigManager_makeData','BTB','BattleManager_processVictory','_updateFilterArea','iconIndex','RDHuS','isRightInputMode','ZQsXc','getDefeatedEnemies','jEnCD','addLoadListener','message4','alive\x20battlers\x20not\x20user','actor','PostApply%1JS','visualHpGauge','SvMotionIdleMass-%1-%2','xJfqy','qdosy','SkillsStatesCore','initBattleCore','requestRefresh','frontviewSpriteY','isNextScene','ActSeq_Mechanics_VariablePopup','horzCells','qOUCl','ActSeq_Grid_PushFromTargetNode','ActSeq_Element_ForceElements','OJPwe','Osnja','performActionEndMembers','HpGauge','getBattlerFromKey','makeActionListAutoAttack','terminate','NUM','Game_BattlerBase_die','command283','processBattleCoreJS','setHorrorEffectSettings','disperseDamage','setupCriticalEffect','iwSij','needsSelection','getItemDamageAmountLabelBattleCore','%1EndTurnJS','EscapeFailureJS','Sprite_Battler_updatePosition','_angleWholeDuration','VAWKd','addCombatLogCommand','setVisibleUI','MDF','drawItem','_jumpWholeDuration','xbgwM','Window_BattleLog_performMagicEvasion','Game_Battler_clearDamagePopup','isForAliveFriendBattleCore','Spriteset_Battle_createBattleField','Window_BattleLog_performCollapse','COMBATLOG','randomTargets','IconStypeMagic','_floatWholeDuration','akCAd','redraw','Sprite_Actor_update','JaIyx','exit','walk','process_VisuMZ_BattleCore_CommonEventKeys','damageContainer','_shakeFlinchPower','VpRaU','Sprite_Enemy_initVisibility','makeActionList','updateStart','length','pfCwy','qXVLA','prepare','VisuMZ_3_WeaknessDisplay','updateActors','center','IsGsV','_shadowSprite','PostDamage%1JS','snapForBackground','DefaultHardCap','_battleField','DamageStyleList','setBattleSkew','isAutoBattleCommandEnabled','ShowMissEvasion','startShakeFlinch','IQGYS','performMiss','description','isForRandomBattleCore','piDsg','SceneManager_push','Scene_Battle_createPartyCommandWindow','TpbGaugeOffsetX','deactivate','isAnyoneChangingOpacity','BattleManager_onEncounter','getSkillTypes','ILOOw','isAutoBattle','OffsetAdjust','isFlipped','onFloatEnd','applySoftDamageCap','LlALN','CNqhY','_floatHeight','_performActionEnd','tMKBB','PreDamageJS','_battleBalloonQueue','rofdE','HpGaugeOffsetX','VisuMZ_3_FrontviewBattleUI','BattleManager_startInput','TNXSd','isPartyTpbInputtable','HbnOW','ZXbuT','MP_Rate','ActSeq_Mechanics_CtbOrder','turnCount','setBattlerBattleCore','umxhu','commandStyleCheck','mpcWa','Gsqoz','VariableID','BpFfK','alterCost','jOsaU','EndBattlePopups','height','getItemDamageAmountLabelOriginal','qxFQQ','CheckVisibleSwitchNotetags','alphabetic','addChildToUiContainer','NameAttachStateIcon','Wave','weapons','pha','Xglut','BTUyr','startFloat','Intensity','mainSpriteScaleY','endBattle','callOkHandler','CdKCu','isChangingOpacity','battleInjectAni','updateJump','context','LUK','makeTargetSelectionMoreVisible','checkSubstitute','OwMrz','Game_Action_itemEffectAddNormalState','showAnimation','parent','TimeScale','VisuMZ_1_ElementStatusCore','DestinationJS','battleCoreTpbMainPhase','updateCollapse','DwGDP','zGWAI','_currentActor','updateStyleOpacity','lineRect','MeHXS','vertCells','updateCancel','setupNegativeImpactFilter','getConfigValue','STRUCT','skew','createAttachmentSprites','addFightCommand','Game_Battler_makeSpeed','ActSeq_Animation_SkillAnimation','animationWait','autoBattleStyle','iKdal','index','create','commandSymbol','_dragonbonesSpriteContainer','ActSeq_Set_FinishAction','ActSeq_Element_Clear','isTpbCharged','createAutoBattleWindow','SMsbv','nSvuu','jcrXn','DefaultSoftScaler','isSpinning','CriticalDmgFlat','textSizeEx','GroupDigits','cOTgN','_baseTexture','ZfvlS','GRID\x20MOVE','EscapeFail','selectAll','motionIdle','agxmQ','ActSeq_Grid_ActionAnimationAtNode','isDead','meetsUsableItemConditions','forceEscapeSprite','_createCursorSprite','Scene_ItemBase_applyItem','ActSeq_Grid_AddPassiveStatesToNode','updateVisibility','Scene_Battle_startPartyCommandSelection','wPfVo','_commonEventQueue','pqsWN','isForAliveFriend','autoSelectPriority','criticalHitFlat','ActSeq_Movement_WaitForMovement','nvWaS','iSDmh','BattleManager_onEscapeFailure','Fturw','setActorHome','Game_Action_isForOne','_pattern','ActSeq_Mechanics_StbExploit','isSpriteVS8dir','damageOffsetX','neVQM','dead\x20actors','partyCommandWindowRectDefaultStyle','alive\x20friends','ActionCount','optDisplayTp','HvJBD','Game_BattlerBase_isStateResist','isSkill','yiOfu','isChanting','EIXsI','ilrDL','statusWindowRectXPStyle','VhyoC','isTurnBased','drawEnemyName','applyHardDamageCap','parallaxScrollXinvertEnemy','updateRefresh','ozrII','AddHpGaugeOption','_battleBalloonSprites','name','bitmapHeight','isEnemy','_multipliers','svActor','attackAnimationId2','onEscapeSuccess','noSimilarSTypes','_partyCommandWindow','friendsUnit','isBattleCoreTargetScope','clearFreezeMotionForWeapons','in\x20order\x20for\x20VisuMZ_1_BattleCore\x20to\x20work.','bEUCK','Gtiaq','GbqXB','Game_Action_numRepeats','displayTpDamage','ActSeq_BattleLog_PushBaseLine','xtKEK','removeDamageSprite','waitForMovement','dataId','drawItemStatusListStyle','isCommonEventReserved','Window_BattleLog_displayCurrentState','2dymguw','startGrow','RyOUL','updatePosition','#%1','JS\x20ESCAPE\x20FAILURE','JS\x20%1END\x20ACTION','Amp','_target','buffRemove','_autoBattle','alterPriority','actionEffect','dead\x20opponents','updateShadow','updateGrow','AutoBattle','ActSeq_Movement_HomeReset','PARTY','BWfTF','onSkewEnd','FrontViewSelect','SZeCO','resizeWindowBorderStyle','PUBEz','Scene_Battle_updateStatusWindowPosition','GvJvN','Uqvnh','setupIconTextPopup','KqiGp','ActionSkillMsg2','BvxME','resize','ActSeq_Movement_MoveToTarget','sortDamageSprites','zkiSS','bzCGZ','equips','eQLiz','attack','WaitForMovement','makeDeepCopy','_immortal','Text','forceAction','ActSeq_Inject_WaitForInjectAni','checkSceneBattleTransitionable','Game_Battler_forceAction','OrAcw','VoiceLineType','_forceAction','_skewDuration','Duration','Name','ActSeq_Impact_MotionTrailCreate','selectPreviousCommand','gainTp','filters','_animationContainer','setHelpWindowItem','_visualHpGauge_JustDied','prepareBorderActor','setBattleAngle','ActSeq_Movement_MoveBy','createWeather','waitForEffect','disarmLifeSteal','1:1','pgWKE','delay','requestAnimation','qRkDy','JS\x20%1APPLY\x20%2','updateCommandNameWindow','escape','makeSpeed','resetResultSwitches','drawItemImage','WtypeId','_damageContainer','ActSeq_Animation_BalloonIconSpecific','finishActionSet','applyForcedGameTroopSettingsBattleCore','hitFlat','dead','ActSeq_Movement_Scale','allowRandomSpeed','nhpJp','dXpgQ','SmoothImage','BattleManager_initMembers','BindCommonEventKeysForObj','animationBaseDelay','wFSUE','FjHys','formula','swapEnemyIDs','command119','ElSKa','isUndecided','pfnwH','logWindowRect','setStateTurns','displayRemovedStates','fmfFr','xCkoN','actorCommandCancelTPB','isAnyoneSkewing','BattleEndEvent','current\x20target','_svBattlerData','statusWindowRectDefaultStyle','_actor','isEscapeCommandEnabled','isAnyProjectilePresent','_freezeMotionData','FlashColor','Sprite_Damage_createChildSprite','updateBorderStyle','isEffecting','xGMck','_enemies','ActSeq_Mechanics_EmulateSkillEffect','SBmIi','Pxpjb','members','Shadow2','surprise','BiPVG','dXxIP','front\x20center','Esqdx','portraitIndex','_indent','_flashColor','WaitForZoom','ArPenRate','ActSeq_Mechanics_HpMpTp','JS\x20BATTLE\x20DEFEAT','BattleManager_endBattle','kJZxW','bVzLp','ActSeq_BattleVoice_PlaySpecialLine','fNCuQ','ActSeq_Motion_RefreshMotion','skewBattler','mCzem','_injectAnimationSprite','ScaleUp','ActSeqProjectiles','WrcSI','_tpbState','waitForAnimation','updateShadowVisibility','setSvBattlerSprite','string','ActSeq_Animation_ChangeBattlePortrait','AggroControlSystem','all\x20actors','process_VisuMZ_BattleCore_Action_Notetags','kcIbA','qLfAf','bitmapWidth','battleback1Name','ActSeq_Cutin_EndVisualCutinEffectType','charging','displayActionResults','brvSJ','NOTE','ZuzEs','NCfBs','getColor','688098NsrKgK','ActSeq_Grid_AnimationIDAtNode','troop','KugJm','JFsNr','NameAlwaysHidden','StatusWindowSelectableBackHide','clamp','DvYUH','isHidden','createActionSequenceProjectile','ActSeq_Mechanics_AnalyzeWeakness','PzUNn','Strength','currentExt','Sprite_Actor_updateFrame','_shadowScaleX','opacity','addChildToBack','rJMZD','performCollapse','gaugeLineHeight','targetBattlerContainerOpacity','VisuMZ_3_ActSeqCamera','AntiTintUiElements','applyTargetFilters','AEKfl','BattleManager_processDefeat','WaitForEntrance','OssgG','GJyxz','GetActionSequenceSpecialTarget','onOpacityEnd','_angleEasing','RAIpZ','ActSeq_Zoom_Scale','createKeyJS','_interpreter','hpDamage','setBattlePortrait','BJVqt','setGuard','removeChild','SvWeaponSolo-%1-%2','attackAnimationId1','NRKvV','destroyDamageSprite','JQapp','Uxzcr','ActSeq_BattleLog_WaitForNewLine','moveToStartPositionBattleCore','StyleON','portrait','uiInputPosition','PreEndActionJS','nfhsU','selectNextCommandTpb','AnchorX','parameters','changeAtbCastTime','XwNbe','+%1','ZRvJO','uUpjl','-%1','actorCommandAutoBattle','Window_BattleLog_displayMiss','applyEasing','processRandomizedData','targetsForOpponents','ActSeq_Camera_FocusTarget','9yyKbpV','setupActionSet','ActSeq_Skew_Reset','ActSeq_Grid_RemoveTriggerFromNode','skillTypes','isSkipPartyCommandWindow','globalAlpha','gainCurrentActionsFTB','list','VisualCutinEffect','xPdFN','Window_BattleActor_processTouch','Parse_Notetags_TraitObjects','startSkew','pointX','isPreviousSceneBattleTransitionable','Scene_Battle_windowAreaHeight','vGkVj','Enable','join','battleFloat','autoBattleWindowRect','KwUUc','setHandler','makeTargetsBattleCoreJS','validTargets','random','Spriteset_Battle_updateActors','sDgYj','_offsetY','RUutb','EsMeG','ReflectAnimation','battlerKey','Bxbpm','RAQiM','Reveal','EXCLAMATION','ThvUR','battlerShadowScaleY','isCustomActionSequence','ShowWeapon','JuuLY','_cache','ConfigManager_applyData','Game_Battler_startTpbTurn','visible','Game_Action_makeTargets','BattleManager_onEscapeSuccess','emulateActionEffect','Radius','Muewq','helpWindowRect','_commonEventKey','callUpdateHelp','isSTB','_borderPortraitSprite','KaLEb','initialize','isActiveTpb','update','addNewState','isFloating','isSpriteVisible','elImS','DtXLN','Window_PartyCommand_initialize','ActSeq_Impact_MotionBlurTarget','HpGaugeOffsetY','AutoBattleBgType','setLastBattleSkill','updateBattlebackBitmap1','not\x20focus','arern','jrMZm','onEncounterBattleCore','KPkUh','JSttN','BSXxC','ixcTb','CommandAddAutoBattle','commandOptions','executeMpDamage','idxQG','battleMembers','Sprite_Actor_updateBitmap','Skill-%1-%2','setWaitMode','ZGqng','jGjml','Window_BattleLog_update','_stateSprite','_targets','iconText','Window_BattleLog_performSubstitute','ActSeq_Impact_Oversaturate','_jumpHeight','gVezj','IQRLL','isBypassDamageCap','addState','_lastEnemy','Scene_Options_maxCommands','collapseType','StepDistanceX','battleUIOffsetX','setupDamagePopup','ApplyImmortal','Parse_Notetags_Action','setSkill','zoVna','ActSeq_Movement_Float','playCancel','performAction','VQXkM','setFullActionsPTB','ActSeq_Animation_WaitForAnimation','isForFriendBattleCore','setAttack','isAnyoneJumping','isFastForward','process_VisuMZ_BattleCore_DamageStyles','VAYbF','VariableHeal','StateID','autoBattle','Sprite_Enemy_updateCollapse','MfDGH','qRbqT','AsTarget','drawActorFace','ActSeq_BattleLog_Refresh','LNAJU','parseLocalizedText','toUseBoostPoints','MOTIONS','_updateCursorFilterArea','GgpVp','CheckActSeqProjectileVersion','yyAPK','_baseLineStack','compatibilityVisible','removedStateObjects','Game_Battler_performActionStart','CmdTextAutoBattle','updateCustomActionSequence','speed','LastSelected','ActSeq_Movement_Skew','jsScaleToFit','startOpacity','initMembersBattleCore','startEnemySelection','bfcwg','JLaip','command301_PreBattleEvent','MultiTarget','AKXhK','getAttackMotionSlot','_index','DTRzV','VisuMZ_2_AggroControlSystem\x20needs\x20to\x20be\x20updated\x20','TargetLocation','isOpen','rGpwb','_createEffectsContainer','flashColor','dvGEM','isItemCommandEnabled','hpHealingFmt','qvJxr','selectAllEnemies','displayCurrentState','isAlwaysVisible','JDKWV','createBattleUIOffsetY','HwiYj','reserveCommonEvent','DualWield','HIazh','-%1\x20MP','Tpvsd','fBkeI','qLpTV','oDaSb','DBAmK','nextActiveWeaponSlot','refreshBattlerMotions','Scene_Battle_commandEscape','canAlterActionCostPTB','_canLose','qIern','tpbActorSwitchConditionsMet','trim','windowskin','createInnerPortrait','enemy','hMPKd','remove','find','ParseClassNotetags','origin','dTOab','ShowPortraitsBorderStyle','CmdIconOptions','NameAlwaysSelectOnly','performFlinch','bzrAj','CorMi','ActSeq_Mechanics_StateTurnsChangeBy','PDwUd','iLXDG','updateHpGaugePosition','hWQYG','parallaxHueEnemyModifier','Actions','MotionAni','zSESy','Destination','alignBattleCoreDamageSprite','isValid','fEdEc','ActSeq_Movement_FacePoint','start','animationId','Letter','performLifeSteal','isOptionsCommandEnabled','BOaii','uiMenuStyle','_logWindow','addDamageSprite','Window_BattleLog_displayActionResults','svActorHorzCells','_motion','displayMpDamage','wholeActionSet','forceWeaponAnimation','nqDBe','loadPicture','BattleManager_inputtingAction','AsUser','filterArea','_endBattle','floor','htMsr','ActSeq_Impact_ShockwaveEachTargets','WPvBh','Game_Action_setAttack','removedBuffs','battleCameraData','Elements','NeQAV','battleProjectiles','LwmfO','addGeneralOptions','cxvWA','PreApplyAsTargetJS','updateFloat','gainHp','tYPgX','Game_Action_setItem','Window_BattleStatus_drawItemImage','VStdu','portraitFilename','basicGaugesY','addAnimationSpriteToContainer','ForceExploiter','adjustFlippedBattlefield','_skillIDs','LIGHT-BULB','_growWholeDuration','getHardDamageCap','VisuMZ_0_CoreEngine','nMwkb','createEnemyWindow','BackColor','aliveMembers','criticalHitRate','removeOnceParallelInterpreter','YYagI','drawTextEx','fYzaA','clearAllVisualCutins','onEnemyCancel','refreshMotion','vWWPF','adjustPosition','updateBattlebackBitmap','VisuMZ_3_ActSeqImpact','autoBattleStart','DamageStyles','PostStartTurnJS','BattleDefeatJS','updateSpin','updateOnceParallelInterpreters','Game_Interpreter_PluginCommand','Scene_Options','startVisualCutin','BoostPoints','ActSeq_Mechanics_OtbOrder','GetActionSequenceSpecialTargetWithFlags','displayAffectedStatus','slices','_distortionSprite','VTbnn','RequiresDefeat','mmWyp','ActSeq_Grid_TraverseToNode','isGrowing','applyGlobalCommonEventNotetags','UZAvd','fCiHi','attackSkillId','_inputting','AqWjF','mainSprite','DkXnN','Game_Interpreter_terminate','wqrEV','okButtonText','battlelog','naOXt','CounterPlayback','position','hmADN','timeScale','SUuwr','criticalDmgFlat','RPpVn','EIQkZ','setupChild','REJxX','BGQAl','commandNameWindowDrawBackground','VariableDmg','isMagicSkill','toUpperCase','FlqJQ','_iconIndex','displayHpDamage','all\x20enemies','_battlerKeyCache','process_VisuMZ_BattleCore_Notetags','RycyQ','_lineHeight','gainHalfActionsPTB','Sprite_Battler_damageOffsetY','Victory','extraPositionScaledY','rCHQX','Game_Troop_setup','ActSeq_Mechanics_EnemyEscape','TnWDg','processPostBattleCommonEvents','vCRnC','ActSeq_Animation_ItemAnimation','all\x20targets','ExtraSettings','drawItemImageListStyle','changeInputWindow','CYaVL','EscapeSuccess','clearForcedGameTroopSettingsBattleCore','makeActions','ShowPortraits','MSvRV','ConvertParams','border','abort','zkgkJ','type','skillWindowRect','eraseState','ActSeq_Impact_TimeScale','AlphaFilter','isBreakStunned','width','jsScaleDown','STYPES','yHVqO','hitType','refreshActorPortrait','chant','opponentsUnit','PzOsa','ActSeq_Grid_RemovePassiveStatesFromNode','needsSelectionBattleCore','StyleOFF','ActSeq_Grid_MoveTargetsInDirection','nnKHW','applyResultSwitches','_battlerName','addWindow','adjustWeaponSpriteOffset','_showWeapon','battleback2Name','BECyO','with\x20latest\x20version\x20of\x20VisuMZ_1_BattleCore!','HelpOptions','battleVoices','NDbFx','ShowMpDmg','growBattler','clearFreezeMotion','_skewWholeDuration','_targetOpacity','getSkillIdWithName','Window_BattleLog_performActionEnd','putActiveBattlerOnTop','replace','ALL_ENEMIES','lastFilename','mpDamage','Scene_Battle_skillWindowRect','hTmxD','addStateTurns','clearBattleCoreData','_handlers','battleStatusSprite','Window_BattleLog_displayEvasion','Game_BattlerBase_eraseState','registerDefeatedEnemy','_targetSkewY','isIncludedInEnemyWindow','createMultiTargetWindows','getChildIndex','kEyen','getMenuImage','AenRA','RRviU','_autoBattleWindow','QvxuD','mainSpriteHeight','changeCtbChargeTime','setupMotion','Sprite_StateIcon_updateFrame','emerge','Game_Battler_performEvasion','flashDuration','BattleSystemCTB','inputtingAction','processForcedAction','Egcry','EmergeText','createAnimationContainer','updateInterpreter','AGI','missle','SideviewSelect','playOnceParallelInterpreter','addWeaponSwapCommand','isETB','ParseStateNotetags','drawItemStyleIcon','GhmlZ','_forActor','updateHomeMove','isActiveTpbReady','noise','ZCsrO','regenerateAll','FJKPW','PzQEf','Sprite_Actor_setBattler','resetFontSettings','refreshRequest','_phase','DefaultDamageStyle','targetObjects','VisuMZ_2_WeaponSwapSystem','_damagePopupArray','drawSkillCost','clearDamagePopup','isClicked','displayMiss','isFrameVisible','left','updateStateSprite','ElementStatusCore','ducBs','createActorCommandWindowBattleCore','ActSeq_ChangeAngle','applyGuard','_actions','VisuMZ_2_DragonbonesUnion','_armorPenetration','skills','stypeId','_buttonText','arPenFlat','_targetBattlerKey','makeData','battleCommandIcon','Window_BattleLog_performReflection','NrWbo','_makeCursorAlpha','_angleRevertOnFinish','LDVqF','bcAeB','IYiki','portraitType','AS\x20USER','VisuMZ_2_BattleSystemCTB','critical','placeActorName','TextColor','_targetIndex','bWsyd','createTroopNote','hpDamageFmt','loop','setupHpGaugeSprite','isDuringNonLoopingMotion','fIopN','ARRAYSTR','ActSeq_Grid_PullToTargetNode','HDVbv','movement','ActSeq_Animation_CastAnimation','isCertainHit','map','_cancelButton','action','BARE\x20HANDS','isGuard','djoIM','constructor','checkAutoCustomActionSequenceNotetagEffect','ActSeq_Mechanics_PtbConvert','pjTud','VisuMZ_3_VisualCutinEffect','getNextDamagePopup','displayBuffs','jixwJ','updateBattleProcess','canSingleOrMultipleSelect','onJumpEnd','onRegeneratePlayStateAnimation','loadSystem','createBattleUIOffsetX','Balloon','AutoAddState','OvKhR','Actor','onMoveEnd','VisuMZ_4_BreakShields','filter','applyArmorModifiers','ScaleDown','SehVv','frameDelay','pUFof','FYwKr','BattleVictoryJS','pvrNg','spell','removeAnimation','anchorY','evaded','4839305eEKCns','yFlCT','isOptionsCommandAdded','addMeleeReturnActionSet','isAnimationShownOnBattlePortrait','fight','ActSeq_Grid_AnimationJsAtNode','StatusWindowAttachmentBack','CreateActionSequenceTargets','performShakeFlinch','DistanceX','sOXKi','svBattlerAnchorX','cancelMpLifeSteal','Game_Enemy_setup','createBattleFieldContainer','cancel','restore','addSkillTypeCommand','performMoveToPoint','wcJOa','setItem','_flashDuration','_skewY','pageup','oWNKz','battleEffect','_tempEquipCheck','ACTOR_OFFSET_X','jKXPT','right','disarmHpLifeSteal','GuardFormulaJS','kGhcp','criticalDmgRate','GUARD','ShowFailure','Sprite_SvEnemy','_tpbChargeTime','ShowRemovedState','reduce','aSKlW','endAction','performAttack','currentValue','uBOLC','LkUJX','pJIhb','setupWeaponAnimation','PYsix','alive\x20opponents\x20not\x20target','PartyCmd','selectLast','ActSeq_Mechanics_Multipliers','removeAnimationFromContainer','ConvertCount','ActSeq_Grid_AnimationTypeAtNode','guardMpLifeSteal','ActSeq_Set_TargetActionSet','FbTbF','DisplayAction','Scene_Battle_helpWindowRect','rec','zADeb','AttachStateOffsetX','jQBLf','getTraitSetKeys','jKmjR','startActorCommandSelection','KeGIU','refreshCursor','fumtN','ceNbo','XyLur','startPartyCommandSelection','_escapeRatio','performEvasion','DTB','WaitCount1','Height','onBattleStart','setBlendColor','VisuMZ_2_BattleSystemOTB','attackStates','updateFlip','effects','NewPopupBottom','iconHeight','ParseArmorNotetags','Sprite_Actor_updateShadow','Users','WaitForAnimation','XAAJn','ArPenFlat','VisuMZ_1_BattleCore\x20does\x20NOT\x20support\x20changing','ButtonAssist','value1','measureTextWidth','itemLineRect','min','MP_Flat','wMtgG','JGHDs','oPAEH','parallaxScrollY','ParseItemNotetags','alterType','isSideView','canBattlerMove','CriticalColor','_growY','_lastHpDamage','startHomeMove','itemEffectAddAttackState','makeActionOrders','createDistortionSprite','YZPKP','ENEMY_OFFSET_Y','calcWindowHeight','setFrame','isATB','currentClass','Scene_Battle_itemWindowRect','mainFontSize','rOhgh','Game_BattlerBase_addNewState','gYeJd','battleSpriteSkew','_tempBattler','Window_BattleEnemy_initialize','Scene_Battle_selectNextCommand','weaponImageId','battleCorePreBattleCommonEvent','ActSeq_BattleVoice_PlayCommonLine','Exploited','createCommandVisibleJS','isAnyBattleBalloonPlaying','extZN','bitmap','applyGlobal','symbol','stepBack','windowPadding','STMjz','pjeCe','inputting','updateSelectionEffect','findTargetSprite','animation','_weaponImageId','gainStoredBoostPoints','ChargeRate','_subject','ActSeq_Target_NextTarget','Game_Map_setupBattleback','VMmNM','processOk','Game_Interpreter_updateWaitMode','commandRemember','coreEngineRepositionEnemies','concat','portraitHue','IYgkZ','battleInjectPrep','Scene_Battle_commandFight','worldTransform','textBaseline','updateLink','BLadP','AutoMeleeSolo','NJqar','_uiContainer','lastBattleSkill','VKDaN','alive\x20actors','alive\x20friends\x20not\x20target','ShowCosts','_mainSprite','ShowCounter','AttachStateOffsetY','aPilR','motionType','Game_Action_isForFriend','_homeY','sideview_ui','_enemyWindowMode','_displayBattleCoreTransitionErrorMsg','battlerShadowScaleX','jRcPM','isForOneBattleCore','%1EndActionJS','activate','hambT','pRVjL','Sprite_Battler_update','statusTextAutoBattleStyle','MNHwp','performDamage','createString','ParseEnemyNotetags','isAttack','_doubleTouch','notFocusValid','mBroO','processExtendTroopMembers','BattleManager_abort','turnOrderChangeOTB','autoSelect','_enemyWindow','VisuMZ_2_BattleSystemBTB','ActorCmd','kqvFe','svBattlerShadowVisible','displayCritical','mainSpriteWidth','attackStatesRate','cutinEnter','DMEwN','Game_Battler_onTurnEnd','isAnyoneMoving','clearBattleBalloons','NameFontSize','itemTargetCandidates','JS\x20BATTLE\x20VICTORY','RfKIh','ActSeq_Mechanics_CtbSpeed','BgType','canUseItemCommand','_wtypeIDs','itemRect','applyCritical','battleCoreResumeLaunchBattle','hMqzc','recoverAll','PostEndActionJS','rgRJn','Game_Actor_equips','itemTextAlign','isDamagePopupRequested','isInputting','PgXWT','DPcgy','Sprite_Enemy_createStateIconSprite','loadSvActor','subject','Shadow','MUSIC\x20NOTE','Targets1','createSeparateDamagePopups','VarianceFormulaJS','physical','removeCurrentAction','uTDhO','currentSymbol','target','battleJump','FFKql','_reflectionTarget','dragonbonesData','ywjIK','removeBuff','playOnceParallelTroopPage','cancelTargetSelectionVisibility','ActionAnimation','Enemy','Scene_Map_initialize','ARRAYNUM','battleUIOffsetY','RJOmr','freezeFrame','flipVisualCutinVert','note','displayReflection','Game_Battler_performDamage','updateShadowScale','CmdIconEscape','ActSeq_DB_DragonbonesMotionAni','_frontAttachmentSprite','XqJMY','ActSeq_Mechanics_WaitForEffect','ezqWZ','pop','Elqkg','Game_BattlerBase_meetsUsableItemConditions','indexOf','Scene_Battle_createHelpWindow','mxVuE','onEnemyOk','portraitFlipHorz','turn','pbvon','<%1>\x5cs*([\x5cs\x5cS]*)\x5cs*<\x5c/%1>','Game_Action_executeHpDamage','ActSeq_Movement_Jump','max','Game_Action_needsSelection','pushBaseLine','_opacityEasing','attackAnimationIdSlot','isCancelled','displayCounter','ActSeq_Impact_ShockwaveCenterTargets','FUADF','commandName','initBattlePortrait','AutoBattleMsg','PortraitScaleBorderStyle','SZulr','Filename','rIUaS','Window_BattleLog_performActionStart','hide','removeState','_targetOffsetX','custom','changeCtbCastTime','czNzG','process_VisuMZ_BattleCore_PluginParams','isItem','hardDamageCap','getBattlerKeyTargets','Mirror','NextTurn','createDamageSprite','cKPlZ','Window_BattleActor_show','options','unshift','selectedBattlers','CopyCombatLog','guardLifeSteal','isBTB','allowCollapse','AutoBattleRect','adjustPosition_ScaleToFit','pUHis','equipSlots','useDigitGrouping','VisuMZ_2_BattleSystemFTB','setBattleCameraTargets','Game_Action_isForDeadFriend','_jumpMaxHeight','_homeEasing','STPFx','CmdStyle','moveBattlerToPoint','MpGaugeOffsetX','HelpEscape','JS\x20%1END\x20TURN','UZtas','svAnchorY','_attackAnimationId','kAmld','isOTB','toLowerCase','performJump','VisuMZ_2_BattleSystemETB','1100945JiFIQv','auto','battleLayoutStyle','ActSeq_Mechanics_ArmorPenetration','ANNOYED','StatusWindowAttachmentFrontOffsetY','%1RegenerateJS','Immortal','onBattleEnd','setBattlerMotionTrailData','SRxrr','alive\x20enemies','time','ChangeOrderBy','ParseSkillNotetags','BattleManager_updatePhase','textAlign','ActSeq_Mechanics_BreakShieldReset','BgpKD','switchToWeaponType','YsnKB','cameraOffsetDuration','processBorderActor','applyImmortal','addSingleSkillCommand','isAffectedByBreakShield','displayAction','gazSQ','ARRAYJSON','_defeatedEnemies','version','addChild','_waitCount','_svBattlerSprite','parallaxScrollYinvertEnemy','anchorX','displayReflectionPlayBack','Window_BattleEnemy_show','icTxf','vnHHK','showNormalAnimation','isBattleSys','chantStyle','spinBattler','isStatusAffected','uzJgK','targetActionSet','performActionEnd','Game_Action_itemHit','itemWindowRect','drawTextTopAligned','VisuMZ_3_ActSeqProjectiles','BattleGridSystem','windowAreaHeight','addCustomCommands','VuMZh','requestBattleBalloon','gainMp','battleStatusWindowAnimationContainer','pattern','AeFWU','Scene_Battle_updateBattleProcess','uxQaR','BattleCore','format','getWtypeIdWithName','repositionEnemiesByResolution','BaseTroopIDs','UDrQY','%1StartTurnJS','move','refreshStatusWindow','code','lukEffectRate','canAttack','_growX','command236','updateAction','isForAnyoneFocusFriends','Spriteset_Battle_update','updateCallMenu','DUGHB','dkeVj','UYmGd','startIcon','isBattleFlipped','cancelLifeSteal','ResetOffset','isAnyoneGrowing','rnaMN','NDeaN','processRefresh','inBattle','placeStateIcon','startMotion','lastCommandSymbol','setSTBExploited','moveToStartPosition','ShowCurrentState','xCnqu','OhwdN','qXktM','LifeStealRegExp','onAngleEnd','Dpkjb','call','ActionCenteredName','createContents','yPTuO','softDamageCap','HalfActions','_tpbSceneChangeCacheActor','BMzMu','Game_Interpreter_command301','updateSkew','SceneManager_isSceneChanging','WdUGO','front\x20base','alive\x20friends\x20not\x20user','stopInjectAnimation','DamageType%1','updateEffectsContainer','parse','PeAwD','targetsForFriends','performActionMotions','vLoup','_weaponSprite','qPbQq','RIsmn','Mechanics','QnCxG','updateStateIconSprite','clearTargetBattlerKey','CheckVisibleSkillNotetags','_homeWholeDuration','freezeMotion','StateIconOffsetY','_enemySprites','createPartyCommandWindow','_waitMode','isAutoBattleCommandAdded','battleZoom','Damage','RkNwu','sortEnemies','abs','Window_BattleLog_performAction','OffsetX','ceil','onTurnEnd','RegExp','processVictory','isStateAffected','createEnemyNameContainer','JSON','isMoving','PostDamageAsTargetJS','State-%1-%2','placeGauge','isArray','battleDisplayText','Style','ActSeq_Mechanics_EtbAction','drawIcon','apumQ','rjCio','cUhTd','BravePoints','push','CriticalHitRate','DefaultStyle','isDying','clearResult','MUSIC','popBaseLine','createTargetsJS','alive\x20opponents','pDDyI','startTurn','_homeDuration','isDisarmLifeSteal','CgNcR','itemHeight','canMove','_item','createBattleFieldBattleCore','Game_Action_setGuard','battleAnimation','process_VisuMZ_BattleCore_Failsafes','applyFreezeMotionFrames','StepDistanceY','getHalfActionsPTB','DistanceY','createEnemies','displayChangedBuffs','ULXGb','DTPjq','tjkfv','setValue','setImmortal','tpbCommandFight','adjustPosition_1for1','Game_BattlerBase_refresh','XVYho','pkqpM','jrWqy','checkExtendTroopCompatibility','wtypeId','makeCommandList','anchor','displayStartMessages','isBusy','Wnztn','drawItemStatus','StateIconOffsetX','glitch','MotionIdle','WaitCount','drawLineText','#ffffff','AbiHz','_targetOffsetY','performAttackSlot','isMeleeMultiTargetAction','_isBattlerFlipped','match','WaitForCamera','USER-DEFINED\x205','autoSelectLastSelected','wiGxK','targetObject','Direction','isSubjectValidForAnyoneSelect','attackTimesAdd','rMDOz','Window_Options_statusText','motionSpeed','iconWidth','TpbActiveChangeEnabled','PRE-','visibilityState','select','Window_BattleActor_hide','addedDebuffs','createLowerLayer','bottom','_requestRefresh','BattleManager_cancelActorInput','VisuMZ_1_SkillsStatesCore','hasSvBattler','DigitGroupingDamageSprites','power','oiPjj','SkillItemMiddleLayout','getBattlePortrait','startBattle','_forcing','_cursorSprite','hCTyu','ShakeFlinchPower','WaitForSkew','checkBattleEnd','createMultiTargetWindow','isDebuffAffected','Game_Action_makeDamageValueDisperse','ActSeq_Mechanics_EmulateAttackEffect','mlaAf','ActSeqImpact','Sprite_Battler_isMoving','maxBattleMembers','Class-%1-%2','isConfused','cVoVS','SkillID','deselect','ActSeq_Impact_TimeStop','changeWeather','isActing','_floatDuration','_baseY','boxHeight','DigitGrouping','wtQJr','BVpvw','SRfnI','lWZjW','Sprite_Actor_moveToStartPosition','_selectionEffectCount','_skewX','_growEasing','Targets','cQnwL','_battleCoreBattleStartEvent','updateAttachedSprites','_battleCoreBattleResumeAfter','closeBattleActorWindow','UfQWo','commandAutoBattle','loadBitmap','MUSICNOTE','addedBuffs','_windowLayer','PrioritySortActive','setHalfActionsPTB','RnbDH','HelpFight','_duration','actionBattleCoreJS','setEnemyWindowMode','lYGKP','ActSeq_Animation_AttackAnimation2','evalDamageFormula','paySkillCost','svAnchorX','_character','BPZJi','updateHelp','addAutoBattleCommand','zlTir','Parse_Notetags_Targets','Scene_Battle_logWindowRect','fnordRemovedStates','performTpbActiveCheckSwitch','ActSeq_Movement_WaitForFloat','HelpSkillType','ARRAYEVAL','setBattler','ActSeq_Projectile_Icon','getAttackMotion','isBorderPortraitSpriteVisible','setSubject','rhBOl','scale','isPlaytest','SRIaq','actorCommandEscape','updateBorderSprite','_updateClientArea','counterAttack','rANPf','GhhMu','cameraDuration','getBattlerKeyTargetReplacement','PyoQF','UNTITLED','shouldDisperseDamage','clearWeaponAnimation','setup','BattleManager_makeActionOrders','Sprite_Battler_startMove','_padding','StatusWindowAttachmentFront','cKDrU','gAFFw','Scene_Battle_onActorOk','forActor','_itemWindow','die','backColor','isStateResist','Skills','ShuffleArray','addOptionsCommand','cnOuy','pagedown','dPFeB','processActorCommandCancelTPB','VisuMZ_4_IconBalloons','IEIaE','CastCertain','ShowFacesListStyle','addBattleCoreAutoBattleStartupCommand','CmdIconAutoBattle','PostDamageJS','ActSeq_Movement_HomeMoveToTarget','ActionStart','_performDamageMotion','cancelHpLifeSteal','HJttf','SEpFR','applyData','isTriggered','makeSuccess','ArRedFlat','Yphpg','commandNameWindowDrawText','TerTb','1772073fHQZiT','updateEvent','startAttackWeaponAnimation','evade','ActSeq_ChangeSkew','canGuard','PreEndBattleJS','BattleManager_checkSubstitute','dhTXi','centerFrontViewSprite','SyncBuffExpire','battleSpin','contentsOpacity','_actionBattlers','battlerSprites','adjustPosition_ScaleDown','HP_Rate','WindowWidth','cutinExit','yqQnE','Targets2','executeDamage','process_VisuMZ_BattleCore_TraitObject_Notetags','applyAngleChange','VisuMZ_3_BoostAction','isNextSceneBattleTransitionable','AVfVp','isForAll','TpGaugeOffsetY','item','fUTVx','RcUjV','okjHi','xuzeY','jDLaR','Game_Actor_setup','updatePadding','isSceneBattle','itemEffectAddNormalState','MessageWait','addBattleCoreAutoBattleStyleCommand','qeqWA','hWGTO','maxItems','LVKfL','isCustomBattleScope','drain','changePaintOpacity','traitObjects','startActorSelection','YBXXF','ActSeq_BattleLog_WaitForBattleLog','createHpGaugeSprite','performMagicEvasion','UlKYW','ActSeq_Horror_TVCreate','zPMTX','ActSeq_Target_CurrentIndex','setBattleCameraOffset','_currentAngle','UxVCN','dimColor2','hpRate','canGuardBattleCore','QpYGo','AdjustRect','ESCAPE','CoreEngine','isForOpponent','\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Declare\x20Arguments\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20user\x20=\x20arguments[0];\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20skill\x20=\x20arguments[1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20a\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20b\x20=\x20user;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20visible\x20=\x20true;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Process\x20Code\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20%1\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20($gameTemp.isPlaytest())\x20console.log(e);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Return\x20Value\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20visible;\x0a\x20\x20\x20\x20','IuTXr','FDnRz','HgjsN','ActSeq_Impact_ZoomBlurTargetCenter','ActSeq_Movement_MoveToJsPoint','setTargetBattlerKey','BattleManager_startTurn','changeAtbChargeTime','open','updateAttachmentSprites','openBattleActorWindow','makeTargetsBattleCore','_endingBattle','PreRegenerateJS','isForRandom','destroy','reverse','BattleLogRectJS','ActSeq_Movement_FaceTarget','setCommonEvent','updateShakeFlinch','VisuMZ_3_ActSeqProjectiles\x20needs\x20to\x20be\x20updated\x20','WaitForSpin','_action','balloonId','KsHSs','YmWSr','removeBattleBalloon','isDrain','SLEEP','isBattleTest','rowSpacing','glpBn','value','CmdTextAlign','setActiveWeaponSet','BSdNv','updateScale','MxewL','updateOpacity','requestMotion','innerWidth','makeAutoBattleActions','revealNewWeaknesses','playEnemyDamage','Sprite_Enemy_updateBossCollapse','parallaxHue','setHelpWindow','default','nMPcg','launchBattle','ShowRemovedBuff','_actorCommandWindow','Buffs','32ryEgUu','magicReflection','setCursorRect','missed','prepareCustomActionSequence','SZgKS','AutoBattleCancel','daTeb','sJLtm','ShowAddedDebuff','VhGGL','jSdMX','FocusX','startMove','sVTDx','alive\x20enemies\x20not\x20target','PopupOffsetY','some','drawItemImagePortraitStyle','changeBattlerOpacity','ActSeq_Movement_HomeMoveToJsPoint','parseForcedGameTroopSettingsBattleCore','BattleManager_processAbort','checkTpbInputOpen','checkTpbInputClose','bgType','PortraitScale','jivHH','ActSeq_Movement_HomeMoveBy','isAppeared','Scene_Battle_onEnemyOk','Update\x20your\x20Battle\x20System\x20-\x20%1\x20to\x20the\x20latest','svBattlerData','EscapeSuccessJS','hasStaticSvBattler','processAnimationRequests','GlSFT','_flinched','aJzMx','createAnimationSprite','pause','GLGfr','ActSeq_Movement_BattleStep','Window_BattleLog_displayMpDamage','retrieveBattleBalloon','Sprite_Battler_setHome','XZUmP','BattleCmdList','BOqiI','command357','_activeWeaponSlot','updateBossCollapse','ActSeq_Cutin_WaitForExit','mhp','updateBattlebackBitmap2','ActSeq_Horror_GlitchCreate','encounterList','extendTroopMembers','_targetHomeY','user','YqnEu','ParseAllNotetags','tPFxg','DXfnP','Game_Map_encounterList','_createClientArea','ActSeq_BattleLog_AddText','ActSeq_Mechanics_BreakShieldChange','+%1\x20MP','_animationCount','endVisualCutin','animationNextDelay','TSFsz','drawItemStyleIconText','_onceParallelInterpreters','Yzhbe','setText','_battlerContainer','createCommandNameWindow','hpAffected','TpbGaugeOffsetY','ActSeq_Inject_AnimationPauseResume','DtqKZ','svBattlerAnchorY','Scene_Map_updateCallMenu','xrSUm','startJump','NlqGz','dirpi','Game_Action_isForOpponent','PostRegenerateJS','lGioc','Scene_Map_launchBattle','updateWeather','startSpin','isVisualHpGaugeDisplayed','BindCommonEventKeysForGroup','setupBattleCoreData','isAlive','cameraClamp','PQkfy','<CUSTOM\x20ACTION\x20SEQUENCE>','CriticalDuration','HjqRv','setBattleImpactTimeScale','_buttonKey','virtualClick','aRkBV','Sprite_Battler_setBattler','PointJS','Sprite_Battler_damageOffsetX','selectAllActors','\x5cI[%1]%2','aGBTK','setupTextPopup','BattleLog','plvyo','WaitCount2','getNextSubjectFromPool','qndUb','WaitForNewLine','VqjhF','Spriteset_Battle_createLowerLayer','VisuMZ_3_SideviewBattleUI','AddOption','performActionStart','playEnemyAttack','ATK','JDuTE','EasingType','mainSpriteScaleX','jump','ucVEQ','getCommonEventIdWithName','HomePosJS','addText','requestMotionRefresh','process_VisuMZ_BattleCore_BaseTroops','cVrUe','commandFight','Window_BattleLog_displayCritical','bossCollapse','BattleAI','ShowPopup','lSRIv','scope','isAnyoneInjectAniPrepping','hACvG','emulateAction','uXIZm','debuffAdd','startInjectAnimation','zwKiC','LCgjf','displayFailure','PreStartTurnJS','DamageRate','ActionSequence','value2','ReflectPlayback','frameCount','PopupShiftX','tictz','revertTpbCachedActor','Lvcmd','isActor','_effectDuration','mpHealingFmt','isForAnyone','xOgXU','PrioritySortActors','drawBackgroundRect','idiBc','SILENCE','Game_BattlerBase_canGuard','svActorVertCells','isCTB','SQdlj','addChildAt','isImmortal','isActionSelectionValid','expTotal','CastPhysical','waitForJump','lRYBg','log','loadBattleback1','alterBreakShield','Window_SkillList_maxCols','invokeAction','loadWindowskin','autoMeleeMultiTargetActionSet','angleDuration','onEncounter','setEventCallback','MKDWl','NvTZt','aPiKC','Game_Action_isForRandom','_callSceneOptions','Window_BattleLog_popupDamage','battleGrow','createHelpWindow','message1','zlSjB','HitFlat','BattleSystemSTB','Sprite_AnimationMV_updatePosition','EaOcn','isBattlerGrounded','ActSeq_Movement_WaitForSpin','popupDamage','FRUSTRATION','checkShowHideSkillNotetags','_fauxAnimationSprites','Lfcmi','showEnemyAttackAnimation','ActSeq_Horror_GlitchRemove','setupMotionBlurImpactFilter','wyXdv','FlinchDistanceY','CozKy','ParseActorNotetags','ActSeq_Camera_Offset','HyeIF','_regionBattleback1','Sprite_Gauge_smoothness','drawItemBackground','RfdvO','yOqge','Weapon-%1-%2','676948ZGxfGA','EnemyOffsetY','removeBuffsAuto','processTouch','clearHorrorEffects','Enemy-%1-%2','_opacityWholeDuration','pZblN','FullActions','moveBattlerHomeDistance','gradientFillRect','placeTimeGauge','ClearBattleLog','_enemy','isFightCommandEnabled','qDJfX','textWidth','PNjCB','damageOffsetY','VisuMZ_1_MainMenuCore','_floatEasing','damageRate','initMembers','Game_Action_itemTargetCandidates','result','head','testApply','Window_BattleLog_refresh','ActSeq_Movement_WaitForScale','_commandNameWindow','isAtbChargingState','ActSeq_Element_NullElements','_customDamageFormula','refresh','xSZWy','PopupOffsetX','ShowHide','PrzXT','WEAPON\x20SWAP','KxNdt','deadMembers','VisuMZ_3_ActiveChainSkills','xgFUQ','ActSeq_Mechanics_PtbFullHalfAction','isAnyoneInjectAnimating','Mute','isAlwaysHidden','hIDtp','lUbqs','_stypeIDs','Game_Battler_clearMotion','_motionType','DMAhk','canAttackBattleCore','crFOT','weatherPower','isSkillItemWindowsMiddle','checkShowHideBattleNotetags','ydxAP','ActSeq_Projectile_Animation','xStqO','Item-%1-%2','slice','WWwTb','fQfMm','isForDeadFriend','VisuMZ_3_BattleAI\x20needs\x20to\x20be\x20updated\x20','IytOp','toString','BattleManager_endAction','endIcon','fontSize','isPTB','hyWeP','SmTmX','_battler','PreDamageAsTargetJS','endAnimation','%1Apply%2JS','AutoNotetag','_opacityDuration','ATTACK','boxWidth','visualCutinPortraitType','isCancelLifeSteal','apply','iNTAb','unchanged','numRepeats','Interrupt','lifeStealTrait','setTroopPage','waitForNewLine','isDisplayEmergedEnemies','frontview_ui','VklkU','fqwrF','Game_Action_testApply','CommandVisible','clearOnceParallelInterpreters','addAutoBattleCommands','bmzIk','Window_ActorCommand_setup','qMcks','dJDUy','stateMotionIndex','JeJxt','floatBattler','ActSeq_Zoom_Reset','TextFmt','XZTRS','CSQpZ','stop','getDualWieldTimes','_motionSpeed','Game_Action_applyGlobal','MpGaugeOffsetY','makeEscapeRatio','CriticalDmgRate','gDlVW','useItem','Game_Action_isForAll','currentAction','oLLDU','_enemyIDs','_back1Sprite','attachSpritesToDistortionSprite','Game_Temp_requestBalloon','MeleeDistance','Sprite_Weapon_loadBitmap','ForceDeath','xoaNS','_spriteset','icon','isBattleMember','clearMotion','battleBalloon','_lastActor','lcDua','ActSeq_Horror_NoiseRemove','VisuMZ_2_HorrorEffects','AttackAnimation','hitRate','BattleManager_isTpbMainPhase','Window_BattleLog_displayTpDamage','tone','Game_Temp_initialize','_createDamageContainer','PopupPosition','maxCols','updateShadowPosition','FcpZe','Scene_Battle_update','OPLYj','LbonS','text','USER-DEFINED\x204','top','BattleManager_startAction','isPartyCommandWindowDisabled','targetSpritePosition','WaitComplete','vGXrY','animationShouldMirror','transform','aZUwn','BIhEK','fillRect','cVUfY','_lastRegenFrameCount','maxLines','TJdrC','SwitchCritical','stepForward','getBattlePortraitFilename','setBattleZoom','addDebuff','Scale','regionId','BattleManager_setup','VisuMZ_3_BattleVoices','abnormal','_lastPluginCommandInterpreter','AUdyC','special','rmxgo','AUTO\x20BATTLE','isWaiting','KJWJX','jRnQi','isSkewing','wait','onSelectAction','eTHXc','SwitchMissEvade','Window_ItemList_maxCols','CreateCommonEventKeys','ActionSkillMsg1','MANUAL','Game_Party_removeActor','JS\x20%1START\x20TURN','Game_Interpreter_command283','isSelected','BattleManager_checkBattleEnd','Armor-%1-%2','Setting','_preBattleCommonEvent','ActSeq_Inject_AnimationEnd','_damages','setActiveWeaponSlot','_createCursorArea','EVAL','ElYHe','fsemD','isMeleeSingleTargetAction','XMJTd','priority','_playTestFastMode','DamageDisplay','ALL_ACTORS','changeBattlebacks','isGuardLifeSteal','HHbYp','WaitForProjectile','hasBeenDefeatedBefore','pBqsR','dLSmn','damage','rSBrR','15042030lXxunI','stUeB','CJTyI','%1\x20is\x20missing\x20a\x20required\x20plugin.\x0aPlease\x20install\x20%2\x20into\x20the\x20Plugin\x20Manager.','_allTargets','onBattleStartOnceParallels','canEscape','_targetGrowY','Window_ActorCommand_initialize','addExtendedTroopMembers','requestDragonbonesAnimation','makeTargets','addAttackCommand','_forcedHomeY','_battlerHue','stepFlinch','ShowSubstitute','hasSkill','JS\x20%1END\x20BATTLE','isAnyoneFloating','extraHeight','charged','uVVdD','BG_TYPE','process_VisuMZ_BattleCore_PreBattleCommonEvent','BattleSystemBTB','startAction','KBglS','Scene_Battle_startActorCommandSelection','clear','performSTBExploiter','shouldHideBattleEndPopups','alterActionCostPTB','XPActorCommandLines','OWuxJ','enemyId','BattlebackScale','DefaultSoftCap','Game_Actor_makeActionList','createPartyCommandWindowBattleCore','hSYoM','processAbort','applyBattleCoreJS','_text','_skillWindow','ActionItemMsg','nGazZ','ActSeq_BattleLog_UI','createStateSprite','performCastAnimation','ActSeq_Animation_AttackAnimation','_ptbActionCost','FollowTurn','svBattlerName','ActSeq_Camera_FocusPoint','resetBreakShield','pow','isOnCurrentMap','skewDuration','isNegativeLifeSteal','messageSpeed','createStateIconSprite','lifeStealRate','ShakeFlinch','getFullActionsPTB','_namesCount','wABrF','setupBattleCore','ChantStyle','IconSet','LgCnF','retreat','_colorType','battlerSmoothImage','onEscapeFailure','RTbsn','YPvMm','BattleStartEvent','_angleDuration','Window_BattleLog_performDamage','ShowAddedState','Game_Action_evalDamageFormula','Scene_Battle_startActorSelection','PostApplyAsTargetJS','ActSeq_Movement_WaitForSkew','xnyPM','UaaPP','callOptions','show','_updateCursorArea','IconIndex','iterateBattler','ShakeFlinchDuration','float','USER-DEFINED\x203','ForceRandom','NameOffsetY','tnuge','liJik','Game_System_initialize','Sqcih','startInput','_executedValue','numTargets','bmySf','isCommandEnabled','setupBlueRedInvertImpactFilter','createActorCommandWindow','DEF','uAHHO','Sprite_Actor_createStateSprite','_dimmerSprite','STR','11gdNIhz','pUvtN','CommandWidth','regenerateAllBattleCore','ext','ActSeq_Movement_WaitForOpacity','executeHpDamage','StatusWindowSkinHide','addGuardCommand','clearBattlerMotionTrailData','onGrowEnd','lDzSg','%1Event','BULB','ActSeq_Grid_ClearPassiveStatesFromNode','hYBKB','missile','cancelButtonText','PostStartBattleJS','VisuMZ_2_BattleSystemSTB','AllActorsText','NHkMl','tMVBA','pBxfl','mQDsv','hidden','_offsetX','GvzcJ','Ofhcj','UxTJH','kGMBg','PreStartBattleJS','vOmLV','ActSeq_Mechanics_EmulateSkillCost','Sprite_Battler_initMembers','portraitFlipVert','updateStateSpriteBattleCore','COMBAT\x20LOG','_regionBattleback2','ActSeq_Impact_MotionBlurScreen','_motionCount','_actionInputIndex','createJS','STB','addCommand','qdFMG','DefeatEvent','iWxFY','gpQqG','moveBattlerDistance','swing','Game_Action_isForAliveFriend','Sprite_Animation_targetSpritePosition','rehaM','VisuMZ_3_BattleAI','drawSingleSkillCost','_list','createChildSprite','_statusWindow','_actorWindow','Scene_Battle_terminate','Action\x20Sequence\x20Impact\x20needs\x20an\x20update!','ZoKDZ','getSpecificBattlerKeyTarget','checkCacheKey','isForOpponentBattleCore','isDTB','isNonSubmenuCancel','SkewX','Scene_Battle_createCancelButton','NrDkg','KfjVd','setupBattlebackBattleCore','6038312OaldaR','uTDJY','setupRgbSplitImpactFilter','PostStartActionJS','iQzCr','aCKhz','FGYVf','setupFont','_targetHomeX','Defeat','hitIndex','mmp','StartTurnWait','_targetAngle','icons','XPSpriteYLocation','ScaleX','commandStyle','_frame','StepDuration','RevertAngle','Window_BattleStatus_initialize','doesPageHaveOnceParallelStart','_lastAction','WaitForFloat','battleMove','onActorOk','getEnemyIdWithName','expRate','iuLjY','YhmXa','UIuFn','Formula','Game_Battler_regenerateAll','drawItemImageXPStyle','eqNmy','_forcedBattleLayout','Game_Battler_onBattleStart','ParseWeaponNotetags','battleOpacity','allBattleMembers','VisuMZ_2_BattleSystemPTB','WaitForAngle','jsScaleUp','extraPositionY','updateStaticSvBattlerFrames','tUUYJ','isPhysical','%1\x20is\x20incorrectly\x20placed\x20on\x20the\x20plugin\x20list.\x0aIt\x20is\x20a\x20Tier\x20%2\x20plugin\x20placed\x20over\x20other\x20Tier\x20%3\x20plugins.\x0aPlease\x20reorder\x20the\x20plugin\x20list\x20from\x20smallest\x20to\x20largest\x20tier\x20numbers.','updateFrame','updatePhase','stbGainInstant','ShowButton','startDamagePopup','_battleLayoutStyle','ActSeq_Target_RandTarget','prototype','Override','gVTPd','createDamageContainer','Game_Map_battleback1Name'];_0x3675=function(){return _0x5de120;};return _0x3675();}function _0x5c71(_0x421770,_0x36688f){const _0x3675b4=_0x3675();return _0x5c71=function(_0x5c7145,_0x5c8c1a){_0x5c7145=_0x5c7145-0x9f;let _0x33e21b=_0x3675b4[_0x5c7145];return _0x33e21b;},_0x5c71(_0x421770,_0x36688f);}Sprite_HpGauge['prototype']=Object['create'](Sprite_Gauge[_0x208a24(0xbd8)]),Sprite_HpGauge[_0x208a24(0xbd8)][_0x208a24(0x594)]=Sprite_HpGauge,Sprite_HpGauge[_0x208a24(0xbd8)][_0x208a24(0x3bf)]=function(){const _0x18e534=_0x208a24;Sprite_Gauge[_0x18e534(0xbd8)][_0x18e534(0x3bf)][_0x18e534(0x783)](this);},Sprite_HpGauge[_0x208a24(0xbd8)]['gaugeX']=function(){return 0x0;},Sprite_HpGauge[_0x208a24(0xbd8)][_0x208a24(0x1ae)]=function(){const _0x3dc31b=_0x208a24;this['bitmap'][_0x3dc31b(0xb03)]();const _0xee3e82=this[_0x3dc31b(0x5e1)]();!isNaN(_0xee3e82)&&this['drawGauge']();};function Sprite_EnemyName(){const _0x40740e=_0x208a24;this[_0x40740e(0x3bf)](...arguments);}Sprite_EnemyName[_0x208a24(0xbd8)]=Object[_0x208a24(0x230)](Sprite_Name['prototype']),Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x594)]=Sprite_EnemyName,Sprite_EnemyName['prototype'][_0x208a24(0x3bf)]=function(){const _0x15f046=_0x208a24;Sprite_Name['prototype'][_0x15f046(0x3bf)][_0x15f046(0x783)](this),this[_0x15f046(0xc5e)]();},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0xa17)]=function(){const _0x2de1f5=_0x208a24;Sprite_Name[_0x2de1f5(0xbd8)][_0x2de1f5(0xa17)][_0x2de1f5(0x783)](this),this[_0x2de1f5(0x34f)]=0x0,this[_0x2de1f5(0xc3a)]=null,this[_0x2de1f5(0x7ec)]['x']=0.5,this['anchor']['y']=0x0;},Sprite_EnemyName['prototype'][_0x208a24(0xc5e)]=function(){const _0x4eeea2=_0x208a24;if(VisuMZ['BattleCore'][_0x4eeea2(0xc39)][_0x4eeea2(0x6bd)][_0x4eeea2(0x200)]){if(_0x4eeea2(0x246)===_0x4eeea2(0x246))this[_0x4eeea2(0xcab)]=new Sprite_StateIcon(),this['addChild'](this[_0x4eeea2(0xcab)]);else{if(!_0x33cc20['isSideView']())return;const _0x43ff22=this[_0x4eeea2(0xd08)]();if(!_0x43ff22)return;_0x43ff22[_0x4eeea2(0x293)](_0x506574,_0x111927,_0x13e2b1,_0x2be334);}}},Sprite_EnemyName['prototype'][_0x208a24(0x334)]=function(){const _0xf75a08=_0x208a24;return Graphics[_0xf75a08(0xa53)];},Sprite_EnemyName['prototype'][_0x208a24(0x279)]=function(){const _0x504536=_0x208a24;return this[_0x504536(0x4de)]=this[_0x504536(0x4de)]||Window_Base[_0x504536(0xbd8)]['lineHeight']()||0x24,this['_lineHeight']*0x4;},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0xa48)]=function(){const _0x17e56d=_0x208a24;return VisuMZ[_0x17e56d(0x759)][_0x17e56d(0xc39)][_0x17e56d(0x6bd)][_0x17e56d(0x692)]||$gameSystem[_0x17e56d(0x630)]();},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0xc96)]=function(_0x36090d){this['_linkedSprite']=_0x36090d;},Sprite_EnemyName['prototype'][_0x208a24(0x3c1)]=function(){const _0x4f1693=_0x208a24;Sprite_Name[_0x4f1693(0xbd8)][_0x4f1693(0x3c1)][_0x4f1693(0x783)](this),this[_0x4f1693(0x65c)](),this['updatePosition'](),this[_0x4f1693(0x840)](),this['updateOpacity']();},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x1ae)]=function(){const _0x471c35=_0x208a24;this[_0x471c35(0xc7b)]=undefined;const _0x4c6576=this['name'](),_0x1dcd90=this[_0x471c35(0x334)](),_0x434d1b=Window_Base[_0x471c35(0xbd8)]['lineHeight']();this[_0x471c35(0xba7)](),this[_0x471c35(0x63f)][_0x471c35(0xb03)](),this[_0x471c35(0x63f)][_0x471c35(0x10e)](_0x4c6576,0x0,0x0,_0x1dcd90,_0x434d1b,_0x471c35(0x1c0));},Sprite_EnemyName[_0x208a24(0xbd8)]['updateLink']=function(){const _0x3b3115=_0x208a24;if(!this['_linkedSprite'])return;this[_0x3b3115(0xa4c)]!==this['_linkedSprite']['_battler']&&this[_0x3b3115(0x876)](this[_0x3b3115(0xc3a)][_0x3b3115(0xa4c)]);},Sprite_EnemyName['prototype'][_0x208a24(0x295)]=function(){const _0x508751=_0x208a24;if(!this[_0x508751(0xc3a)])return;this[_0x508751(0x4de)]=this[_0x508751(0x4de)]||Window_Base[_0x508751(0xbd8)][_0x508751(0x146)](),this['x']=Math[_0x508751(0xd50)](this['_linkedSprite'][_0x508751(0x169)]),this['y']=Math['round'](this[_0x508751(0xc3a)][_0x508751(0x832)]-this[_0x508751(0x4de)]*0.5);const _0x520524=VisuMZ[_0x508751(0x759)][_0x508751(0xc39)][_0x508751(0x6bd)];this['x']+=Math[_0x508751(0xd50)](_0x520524[_0x508751(0xc30)]||0x0),this['y']+=Math[_0x508751(0xd50)](_0x520524['NameOffsetY']||0x0);},Sprite_EnemyName['prototype'][_0x208a24(0x840)]=function(){const _0x51b289=_0x208a24;this[_0x51b289(0x79e)]();},Sprite_EnemyName[_0x208a24(0xbd8)]['updateStateIconSprite']=function(){const _0x57c321=_0x208a24;if(!this[_0x57c321(0xcab)])return;this[_0x57c321(0xa4c)]!==this[_0x57c321(0xcab)][_0x57c321(0xa4c)]&&(_0x57c321(0x19d)===_0x57c321(0x19d)?this[_0x57c321(0xcab)]['setup'](this[_0x57c321(0xa4c)]):this['x']=_0x4882b2[_0x57c321(0xa53)]-this[_0x57c321(0x449)]()[_0x57c321(0xd08)]()[_0x57c321(0x169)]);const _0x4d6609=this[_0x57c321(0xa11)]();this[_0x57c321(0x4de)]=this['_lineHeight']||Window_Base[_0x57c321(0xbd8)][_0x57c321(0x146)](),this[_0x57c321(0xcab)]['x']=Math[_0x57c321(0xd50)]((_0x4d6609+ImageManager[_0x57c321(0x808)])/0x2)+0x8,this[_0x57c321(0xcab)]['y']=this[_0x57c321(0x4de)]/0x2;const _0x1dd607=VisuMZ['BattleCore']['Settings'][_0x57c321(0x6bd)];this[_0x57c321(0xcab)]['x']+=_0x1dd607[_0x57c321(0x5f5)]||0x0,this[_0x57c321(0xcab)]['y']+=_0x1dd607[_0x57c321(0x668)]||0x0;},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x90b)]=function(){const _0x2998dd=_0x208a24,_0x106ef9=this[_0x2998dd(0x80b)]();if(_0x106ef9&&this[_0x2998dd(0x34f)]<0xff)_0x2998dd(0x850)==='Komjk'?this[_0x2998dd(0x778)](_0x2998dd(0x1b2)):this[_0x2998dd(0x34f)]+=0x10;else{if(!_0x106ef9&&this[_0x2998dd(0x34f)]>0x0){if(_0x2998dd(0x458)!=='iLXDG'){const _0x1257af=this[_0x2998dd(0xd24)](_0x25abf2);this[_0x2998dd(0x407)](_0x39d4c8,_0x1257af['x'],_0x1257af['y'],_0x1257af[_0x2998dd(0x4fe)],_0x1257af[_0x2998dd(0x1fa)]);}else this['opacity']-=0x10;}}},Sprite_EnemyName['prototype'][_0x208a24(0x80b)]=function(){const _0x2164c6=_0x208a24;if(this['isAlwaysHidden']())return![];else{if(!this['_battler'])return![];else{if(this[_0x2164c6(0xa4c)][_0x2164c6(0x248)]()){if(_0x2164c6(0x435)===_0x2164c6(0x435))return![];else{if(!_0x16a763['VisuMZ_3_ActSeqImpact'])return;const _0x417776=_0x5b971c[_0x2164c6(0xc1b)][_0x2164c6(0xa85)];if(!_0x417776)return;_0x1766ee['ConvertParams'](_0x394db4,_0x47e1cc);const _0x478261=_0x21b152['X']||0x0,_0x391887=_0x49bb98['Y']||0x0,_0x245793=_0x313176[_0x2164c6(0x34b)]||0x0,_0x449791=_0x17bd54[_0x2164c6(0x3b7)]||0x0,_0x790fdc=_0x2d9788[_0x2164c6(0x2c6)]||0x1,_0x5541a9=_0x1b9dbb[_0x2164c6(0x99b)]||_0x2164c6(0xc0e);_0x417776[_0x2164c6(0xc55)](_0x245793,_0x478261,_0x391887,_0x449791,_0x790fdc,_0x5541a9);}}else{if(!this[_0x2164c6(0xa4c)][_0x2164c6(0x937)]())return![];else{if(this[_0x2164c6(0x412)]())return!![];else{if(this[_0x2164c6(0x432)]())return!![];else{if(this[_0x2164c6(0x52d)]()){if('PDwUd'===_0x2164c6(0x457))return!![];else this['isNonSubmenuCancel']()?(this[_0x2164c6(0xb91)][_0x2164c6(0xb3e)](),this['_actorWindow'][_0x2164c6(0x6ec)](),this[_0x2164c6(0x918)][_0x2164c6(0x674)]()):_0x24d22f[_0x2164c6(0x759)][_0x2164c6(0xc97)][_0x2164c6(0x783)](this),this[_0x2164c6(0x6bb)]();}else{if(this[_0x2164c6(0x34f)]>0x0)return![];}}}}}}}},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0xa2f)]=function(){const _0x45fcdd=_0x208a24;return VisuMZ['BattleCore'][_0x45fcdd(0xc39)]['Enemy'][_0x45fcdd(0x343)];},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x412)]=function(){return![];},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x432)]=function(){const _0x130140=_0x208a24;return VisuMZ[_0x130140(0x759)][_0x130140(0xc39)][_0x130140(0x6bd)]['NameAlwaysVisible'];},Sprite_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x52d)]=function(){const _0x36e62e=_0x208a24;return VisuMZ['BattleCore'][_0x36e62e(0xc39)]['Enemy'][_0x36e62e(0x452)]?this[_0x36e62e(0xa4c)][_0x36e62e(0xacb)]():SceneManager[_0x36e62e(0xc1b)][_0x36e62e(0x685)]&&SceneManager['_scene'][_0x36e62e(0x685)]['active']&&SceneManager[_0x36e62e(0xc1b)][_0x36e62e(0x685)][_0x36e62e(0x30b)][_0x36e62e(0xcaf)](this[_0x36e62e(0xa4c)]);},Sprite_EnemyName['prototype']['textWidth']=function(){const _0xa91f0=_0x208a24;if(!this[_0xa91f0(0xa4c)])return 0x0;if(this[_0xa91f0(0xc7b)])return this[_0xa91f0(0xc7b)];const _0x18815d=this[_0xa91f0(0x278)]();return this['setupFont'](),this[_0xa91f0(0xc7b)]=this[_0xa91f0(0x63f)][_0xa91f0(0x616)](_0x18815d)||0x1,this[_0xa91f0(0xc7b)];},VisuMZ[_0x208a24(0x759)][_0x208a24(0xd07)]=Sprite_Battleback[_0x208a24(0xbd8)][_0x208a24(0x4a4)],Sprite_Battleback[_0x208a24(0xbd8)][_0x208a24(0x4a4)]=function(){const _0x12580d=_0x208a24,_0x188a5e=VisuMZ[_0x12580d(0x759)][_0x12580d(0xc39)][_0x12580d(0xb0a)];if(!_0x188a5e)return VisuMZ[_0x12580d(0x759)]['Sprite_Battleback_adjustPosition']['call'](this);const _0xe58991=String(_0x188a5e[_0x12580d(0x7c5)])||'MZ';switch(_0xe58991){case'MZ':VisuMZ[_0x12580d(0x759)][_0x12580d(0xd07)][_0x12580d(0x783)](this);break;case _0x12580d(0x2d5):this[_0x12580d(0x7e4)]();break;case'ScaleToFit':this[_0x12580d(0x703)]();break;case _0x12580d(0x5aa):this[_0x12580d(0x8ad)]();break;case _0x12580d(0x326):this[_0x12580d(0xcdc)]();break;}},Sprite_Battleback[_0x208a24(0xbd8)]['adjustPosition_1for1']=function(){const _0xa155af=_0x208a24,_0x381d30=VisuMZ[_0xa155af(0x759)][_0xa155af(0xc39)]['BattlebackScale'];if(_0x381d30&&_0x381d30[_0xa155af(0x14f)]){if('bntOU'!==_0xa155af(0xc2d))return _0x381d30[_0xa155af(0x14f)][_0xa155af(0x783)](this);else{_0x4058b1[_0xa155af(0xbd8)]['updateFrame'][_0xa155af(0x783)](this);const _0x4f7f9d=this[_0xa155af(0x4c1)]()||this;if(!_0x4f7f9d)return;!_0x4f7f9d[_0xa155af(0x63f)]&&(_0x4f7f9d[_0xa155af(0x63f)]=new _0x497ba9(this[_0xa155af(0x4fe)]||0x1,this[_0xa155af(0x1fa)]||0x1));if(this[_0xa155af(0x12a)]===_0xa155af(0x9a7))this[_0xa155af(0x666)]['setFrame'](0x0,0x0,this['_mainSprite']['width']||0x1,this[_0xa155af(0x9c0)]);else{let _0x213f60=0x1;if(_0x4f7f9d&&_0x4f7f9d[_0xa155af(0x63f)])_0x213f60=_0x4f7f9d[_0xa155af(0x63f)]['width'];let _0x3db7e6=0x1;if(this[_0xa155af(0x63f)])_0x3db7e6=this[_0xa155af(0x63f)]['height'];_0x4f7f9d[_0xa155af(0x62c)](0x0,0x0,_0x213f60,_0x3db7e6);}}}this[_0xa155af(0x4fe)]=Graphics[_0xa155af(0x4fe)],this['height']=Graphics[_0xa155af(0x1fa)];const _0x3d13e5=0x1;this[_0xa155af(0x867)]['x']=_0x3d13e5,this[_0xa155af(0x867)]['y']=_0x3d13e5,this['x']=0x0,this['y']=0x0;},Sprite_Battleback[_0x208a24(0xbd8)][_0x208a24(0x703)]=function(){const _0xfaf4df=_0x208a24,_0x4d37be=VisuMZ[_0xfaf4df(0x759)][_0xfaf4df(0xc39)]['BattlebackScale'];if(_0x4d37be&&_0x4d37be[_0xfaf4df(0x41a)])return _0x4d37be[_0xfaf4df(0x41a)][_0xfaf4df(0x783)](this);this[_0xfaf4df(0x4fe)]=Graphics[_0xfaf4df(0x4fe)],this[_0xfaf4df(0x1fa)]=Graphics['height'];const _0x3d8377=this[_0xfaf4df(0x4fe)]/this[_0xfaf4df(0x63f)]['width'],_0x3efd71=this[_0xfaf4df(0x1fa)]/this['bitmap'][_0xfaf4df(0x1fa)],_0x227507=Math[_0xfaf4df(0x6db)](_0x3d8377,_0x3efd71);this[_0xfaf4df(0x867)]['x']=_0x227507,this[_0xfaf4df(0x867)]['y']=_0x227507,this['x']=(Graphics[_0xfaf4df(0x4fe)]-this['width'])/0x2,this['y']=Graphics[_0xfaf4df(0x1fa)]-this[_0xfaf4df(0x1fa)];},Sprite_Battleback[_0x208a24(0xbd8)][_0x208a24(0x8ad)]=function(){const _0x4c3f18=_0x208a24,_0x4f852e=VisuMZ[_0x4c3f18(0x759)][_0x4c3f18(0xc39)][_0x4c3f18(0xb0a)];if(_0x4f852e&&_0x4f852e['jsScaleDown']){if('XeQxa'===_0x4c3f18(0xa28))this[_0x4c3f18(0x34f)]=this[_0x4c3f18(0x51b)];else return _0x4f852e[_0x4c3f18(0x4ff)][_0x4c3f18(0x783)](this);}this[_0x4c3f18(0x4fe)]=Graphics[_0x4c3f18(0x4fe)],this[_0x4c3f18(0x1fa)]=Graphics[_0x4c3f18(0x1fa)];const _0x23f7bc=Math['min'](0x1,this['width']/this[_0x4c3f18(0x63f)][_0x4c3f18(0x4fe)]),_0x41968d=Math[_0x4c3f18(0x618)](0x1,this[_0x4c3f18(0x1fa)]/this['bitmap'][_0x4c3f18(0x1fa)]),_0x15051b=Math[_0x4c3f18(0x6db)](_0x23f7bc,_0x41968d);this['scale']['x']=_0x15051b,this[_0x4c3f18(0x867)]['y']=_0x15051b,this['x']=(Graphics[_0x4c3f18(0x4fe)]-this[_0x4c3f18(0x4fe)])/0x2,this['y']=Graphics[_0x4c3f18(0x1fa)]-this[_0x4c3f18(0x1fa)];},Sprite_Battleback['prototype'][_0x208a24(0xcdc)]=function(){const _0x1450a5=_0x208a24,_0x3f45b6=VisuMZ[_0x1450a5(0x759)]['Settings'][_0x1450a5(0xb0a)];if(_0x3f45b6&&_0x3f45b6[_0x1450a5(0xbcb)])return _0x3f45b6[_0x1450a5(0xbcb)][_0x1450a5(0x783)](this);this[_0x1450a5(0x4fe)]=Graphics[_0x1450a5(0x4fe)],this['height']=Graphics['height'];const _0x4a5598=Math['max'](0x1,this[_0x1450a5(0x4fe)]/this[_0x1450a5(0x63f)][_0x1450a5(0x4fe)]),_0x4c967d=Math[_0x1450a5(0x6db)](0x1,this[_0x1450a5(0x1fa)]/this[_0x1450a5(0x63f)]['height']),_0x5cb0a7=Math[_0x1450a5(0x6db)](_0x4a5598,_0x4c967d);this[_0x1450a5(0x867)]['x']=_0x5cb0a7,this[_0x1450a5(0x867)]['y']=_0x5cb0a7,this['x']=(Graphics[_0x1450a5(0x4fe)]-this[_0x1450a5(0x4fe)])/0x2,this['y']=Graphics[_0x1450a5(0x1fa)]-this[_0x1450a5(0x1fa)];},Spriteset_Battle[_0x208a24(0x101)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)]['BattleLayout'][_0x208a24(0x356)]??!![],Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x1db)]=function(){if(!$gameSystem['isSideView']())return![];return![];},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x2ee)]=function(){return 0x0;},Spriteset_Battle['prototype'][_0x208a24(0x961)]=function(){return 0x0;},VisuMZ['BattleCore'][_0x208a24(0x994)]=Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x80f)],Spriteset_Battle['prototype']['createLowerLayer']=function(){const _0x4158a1=_0x208a24;VisuMZ[_0x4158a1(0x759)][_0x4158a1(0x994)][_0x4158a1(0x783)](this),this[_0x4158a1(0x2d2)](),this['createEnemyNames']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x769)]=Spriteset_Battle['prototype']['update'],Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x3c1)]=function(){const _0x4232f0=_0x208a24;VisuMZ['BattleCore'][_0x4232f0(0x769)][_0x4232f0(0x783)](this),this['updateBattlerContainer'](),this[_0x4232f0(0xd43)](),this[_0x4232f0(0x977)](),this['updateBattleBalloons']();},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x2d2)]=function(){const _0x480fee=_0x208a24;this[_0x480fee(0xbff)]=new Weather(),this[_0x480fee(0x1c6)][_0x480fee(0x739)](this['_weather']);},Spriteset_Battle['prototype'][_0x208a24(0x977)]=function(){const _0x8aae3f=_0x208a24;this['_weather'][_0x8aae3f(0x4f8)]=$gameScreen['weatherType'](),this['_weather'][_0x8aae3f(0x816)]=$gameScreen[_0x8aae3f(0xa38)]();},Game_Interpreter[_0x208a24(0xbd8)][_0x208a24(0x766)]=function(_0x717234){const _0x350084=_0x208a24;$gameScreen[_0x350084(0x82f)](_0x717234[0x0],_0x717234[0x1],_0x717234[0x2]);if(_0x717234[0x3])this['wait'](_0x717234[0x2]);return!![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0xaca)]=Game_Interpreter[_0x208a24(0xbd8)][_0x208a24(0x191)],Game_Interpreter['prototype'][_0x208a24(0x191)]=function(_0x5556c0){const _0x35c173=_0x208a24;if(SceneManager['isSceneBattle']()){if(_0x35c173(0xa26)!==_0x35c173(0xb01))return SceneManager[_0x35c173(0xc1b)][_0x35c173(0xa85)][_0x35c173(0xadd)](_0x5556c0[0x0],_0x5556c0[0x1]),!![];else{if(!_0x57a4c2[_0x35c173(0x8c3)]())return;if(!_0x1ace24['VisuMZ_3_ActSeqCamera'])return;_0x2885fe[_0x35c173(0x4f4)](_0x4a57b0,_0x4f21a0);const _0x599b4c=_0x3ebbce[_0x35c173(0xcc)](),_0x25cfbf=_0x272d10['WaitForAngle'];if(!_0x599b4c)return;_0x3e72a5[_0x35c173(0x2d0)](0x0,_0x4bf3bd[_0x35c173(0x2c6)],_0x504e6c['EasingType']);if(_0x25cfbf)_0x599b4c[_0x35c173(0x3dc)](_0x35c173(0xd52));}}else{if(_0x35c173(0xc9)===_0x35c173(0x962))this[_0x35c173(0x3dc)](_0x35c173(0x649));else return VisuMZ[_0x35c173(0x759)]['Game_Interpreter_command283'][_0x35c173(0x783)](this,_0x5556c0);}},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x4a5)]=function(_0xa42c2c,_0xbbdc5e){const _0x46ba37=_0x208a24;_0xa42c2c[_0x46ba37(0x63f)]=_0xbbdc5e;},Spriteset_Battle['prototype']['changeBattlebacks']=function(_0x42f450,_0xdd5086){const _0x4501c2=_0x208a24;_0x42f450=_0x42f450||'',_0xdd5086=_0xdd5086||'';if(_0x42f450===''&&_0xdd5086===''){if(_0x4501c2(0x1b0)===_0x4501c2(0xab8))return this[_0x4501c2(0x744)]()?this[_0x4501c2(0xa7b)]()&&this['currentAction']()[_0x4501c2(0x8bb)]()&&!this[_0x4501c2(0xa7b)]()['isMagical']():this[_0x4501c2(0xa7b)]()&&this[_0x4501c2(0xa7b)]()[_0x4501c2(0x8bb)]()&&!this['currentAction']()['isMagicSkill']();else _0x42f450=this['_back1Sprite'][_0x4501c2(0x335)](),_0xdd5086=this[_0x4501c2(0xc37)]['battleback2Name']();}const _0x35af6c=ImageManager[_0x4501c2(0x9d4)](_0x42f450),_0x1cb322=ImageManager['loadBattleback2'](_0xdd5086);_0x35af6c[_0x4501c2(0x175)](this['updateBattlebackBitmap1'][_0x4501c2(0xc84)](this,this[_0x4501c2(0xa7e)],this['_back2Sprite'],_0x35af6c,_0x1cb322));},Spriteset_Battle['prototype'][_0x208a24(0x3cc)]=function(_0x53006d,_0x4e2e01,_0x614ca8,_0x45a17a){const _0x1f7923=_0x208a24;_0x45a17a[_0x1f7923(0x175)](this[_0x1f7923(0x950)][_0x1f7923(0xc84)](this,_0x53006d,_0x4e2e01,_0x614ca8,_0x45a17a));},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x950)]=function(_0x18abea,_0x1f55f0,_0x553cf7,_0x17d7a1){const _0x2b1fea=_0x208a24;_0x18abea[_0x2b1fea(0x63f)]=_0x553cf7,_0x1f55f0[_0x2b1fea(0x63f)]=_0x17d7a1,_0x18abea['adjustPosition'](),_0x1f55f0['adjustPosition']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x1a7)]=Spriteset_Battle[_0x208a24(0xbd8)]['createBattleField'],Spriteset_Battle[_0x208a24(0xbd8)]['createBattleField']=function(){const _0x21a93d=_0x208a24;VisuMZ['BattleCore'][_0x21a93d(0x1a7)][_0x21a93d(0x783)](this),this[_0x21a93d(0x7d4)]();},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x7d4)]=function(){const _0x454527=_0x208a24;this[_0x454527(0x5c4)](),this[_0x454527(0xe2)](),this['createAnimationContainer'](),this[_0x454527(0xbdb)](),this[_0x454527(0x491)]();},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x5c4)]=function(){const _0x5d58f6=_0x208a24;this[_0x5d58f6(0x967)]=new Sprite(),this['_battleField'][_0x5d58f6(0x739)](this[_0x5d58f6(0x967)]);},Spriteset_Battle['prototype']['createAnimationContainer']=function(){const _0xd7100c=_0x208a24;this['_animationContainer']=new Sprite();if(Spriteset_Battle['ANTI_TINT_UI'])this[_0xd7100c(0x739)](this['_animationContainer']);else{if('Mdxsc'!==_0xd7100c(0xbf9)){const _0x8a779a=_0x483258(_0x4e8824['$1']);_0x4470a3[_0xd7100c(0xcae)]([this],_0x8a779a,![],![]);}else this[_0xd7100c(0x1c6)][_0xd7100c(0x739)](this[_0xd7100c(0x2cc)]);}},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0xbdb)]=function(){const _0x2787ff=_0x208a24;this['_damageContainer']=new Sprite(),this['_damageContainer']['x']=this[_0x2787ff(0x1c6)]['x'],this['_damageContainer']['y']=this[_0x2787ff(0x1c6)]['y'],this[_0x2787ff(0x739)](this['_damageContainer']);},Spriteset_Battle[_0x208a24(0xbd8)]['adjustFlippedBattlefield']=function(){const _0x5674a9=_0x208a24;if(!this[_0x5674a9(0x1db)]())return;this[_0x5674a9(0x967)]['scale']['x']=-0x1,this['_battlerContainer']['x']=this[_0x5674a9(0x1c6)][_0x5674a9(0x4fe)],this[_0x5674a9(0x660)][_0x5674a9(0x867)]['x']=-0x1,this['_uiContainer']['x']=this[_0x5674a9(0x1c6)][_0x5674a9(0x4fe)],this[_0x5674a9(0x2cc)][_0x5674a9(0x867)]['x']=-0x1,this[_0x5674a9(0x2cc)]['x']=this[_0x5674a9(0x1c6)][_0x5674a9(0x4fe)],this[_0x5674a9(0x2e1)][_0x5674a9(0x867)]['x']=-0x1,this['_damageContainer']['x']=this[_0x5674a9(0x1c6)]['x']+this[_0x5674a9(0x1c6)]['width'];},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x7dc)]=function(){const _0x2aa183=_0x208a24;if(Imported[_0x2aa183(0x496)]&&this[_0x2aa183(0x654)]()){if(_0x2aa183(0x252)===_0x2aa183(0x26c))for(const _0x4ebbe5 of _0x403b5d){const _0x486cb0=_0xbeabe[_0x2aa183(0x75a)](_0x852809[_0x2aa183(0x278)](),_0x1e7865[_0x2aa183(0xc19)](_0x4ebbe5));this[_0x2aa183(0x7c3)]('popBaseLine'),this[_0x2aa183(0x7c3)](_0x2aa183(0x6dd)),this['push'](_0x2aa183(0x9a1),_0x486cb0),this[_0x2aa183(0x7c3)]('wait');}else this[_0x2aa183(0x75c)]();}const _0x4f81d8=$gameTroop['members'](),_0x4deea8=[];for(const _0x57b2c5 of _0x4f81d8){_0x4deea8[_0x2aa183(0x7c3)](new Sprite_Enemy(_0x57b2c5));}_0x4deea8['sort'](this[_0x2aa183(0xc4c)][_0x2aa183(0xc84)](this));for(const _0x4f3ae6 of _0x4deea8){this[_0x2aa183(0x967)][_0x2aa183(0x739)](_0x4f3ae6);}this[_0x2aa183(0x7a4)]=_0x4deea8;},Spriteset_Battle[_0x208a24(0xbd8)]['createActors']=function(){const _0x2dcc28=_0x208a24;this['_actorSprites']=[];for(let _0x3b9757=0x0;_0x3b9757<$gameParty[_0x2dcc28(0x828)]();_0x3b9757++){const _0x1c1882=$gameParty[_0x2dcc28(0x3d9)]()[_0x3b9757],_0x179431=new Sprite_Actor();_0x179431[_0x2dcc28(0x370)](_0x1c1882),_0x179431[_0x2dcc28(0x861)](_0x1c1882),_0x179431['update'](),this['_actorSprites'][_0x2dcc28(0x7c3)](_0x179431),this[_0x2dcc28(0x967)][_0x2dcc28(0x739)](_0x179431);}},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x941)]=function(_0x49ce2d,_0x39f49b,_0x2862ac,_0x31103e){const _0x441283=_0x208a24,_0x197ca1=this['isMVAnimation'](_0x39f49b),_0x2ff9e0=new(_0x197ca1?Sprite_AnimationMV:Sprite_Animation)(),_0x2aba71=this[_0x441283(0xc63)](_0x49ce2d);this[_0x441283(0xaa4)](_0x49ce2d[0x0])&&(_0x2862ac=!_0x2862ac),_0x2ff9e0[_0x441283(0x55a)]=_0x49ce2d,_0x2ff9e0[_0x441283(0x876)](_0x2aba71,_0x39f49b,_0x2862ac,_0x31103e),this[_0x441283(0x48f)](_0x2ff9e0);},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x48f)]=function(_0x21c6ee){const _0x4b6adc=_0x208a24;if(this[_0x4b6adc(0x5b9)](_0x21c6ee))this[_0x4b6adc(0x754)]()['addChild'](_0x21c6ee),_0x21c6ee[_0x4b6adc(0x528)]=!![];else{if('GegRQ'===_0x4b6adc(0xae5)){if(this[_0x4b6adc(0xbd6)])return this[_0x4b6adc(0xbd6)];return this['_battleLayoutStyle']=_0xbd45fb[_0x4b6adc(0xc1b)][_0x4b6adc(0x71c)](),this[_0x4b6adc(0xbd6)];}else this['_animationContainer'][_0x4b6adc(0x739)](_0x21c6ee),Spriteset_Battle['ANTI_TINT_UI']&&(this[_0x4b6adc(0x2cc)]['x']=this[_0x4b6adc(0x12f)]['x'],this[_0x4b6adc(0x2cc)]['y']=this[_0x4b6adc(0x12f)]['y']);}this[_0x4b6adc(0xd1)]['push'](_0x21c6ee);},Spriteset_Battle['prototype'][_0x208a24(0x5b9)]=function(_0x12bb04){const _0x718232=_0x208a24;if(!_0x12bb04)return![];if(!_0x12bb04[_0x718232(0x158)])return![];if(!_0x12bb04[_0x718232(0x55a)][0x0])return![];if(_0x12bb04[_0x718232(0x55a)][0x0][_0x718232(0x9bf)]&&!_0x12bb04[_0x718232(0x55a)][0x0]['isActor']())return![];if($gameSystem[_0x718232(0x620)]())return![];if(!this['battleStatusWindowAnimationContainer']())return![];if(_0x12bb04[_0x718232(0x594)]===Sprite_Animation){if(_0x718232(0xa12)!=='PNjCB'){if(!_0x16b718[_0x718232(0x620)]())return;const _0x409cb8=this[_0x718232(0xd08)]();if(!_0x409cb8)return;this['isActor']()&&(_0x405aa1*=-0x1,_0x5488b6*=-0x1),_0x409cb8[_0x718232(0x392)](_0x3a34e7,_0x4268b6,_0x3dd672,_0x511fc4);}else{if(_0x12bb04[_0x718232(0x158)][_0x718232(0xd1a)]!==0x0)return![];}}else{if(_0x12bb04[_0x718232(0x594)]===Sprite_AnimationMV){if(_0x12bb04['_animation'][_0x718232(0x4c9)]===0x3)return![];}}return!![];const _0x22f042=Window_BattleStatus[_0x718232(0xbd8)]['battleLayoutStyle']();return['xp','portrait']['contains'](_0x22f042);},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x754)]=function(){const _0x34cd4b=_0x208a24;if(!SceneManager[_0x34cd4b(0xc1b)])return null;if(!SceneManager[_0x34cd4b(0xc1b)][_0x34cd4b(0xb91)])return null;if(!SceneManager[_0x34cd4b(0xc1b)]['_statusWindow'][_0x34cd4b(0x12f)])return null;return SceneManager[_0x34cd4b(0xc1b)][_0x34cd4b(0xb91)][_0x34cd4b(0x12f)];},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x5b2)]=function(_0x7593b2){const _0x39d539=_0x208a24;this[_0x39d539(0x5eb)](_0x7593b2);for(const _0x2b15b9 of _0x7593b2['targetObjects']){_0x2b15b9[_0x39d539(0xa4e)]&&_0x2b15b9[_0x39d539(0xa4e)]();}_0x7593b2[_0x39d539(0x8f3)]();},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x5eb)]=function(_0x54b562){const _0x4d2da4=_0x208a24;if(this[_0x4d2da4(0x5b9)](_0x54b562)){if(_0x4d2da4(0x47a)!==_0x4d2da4(0x47a))return _0x32a219[_0x4d2da4(0xc1b)][_0x4d2da4(0x685)]&&_0x4ac596[_0x4d2da4(0xc1b)]['_enemyWindow'][_0x4d2da4(0x128)]&&_0x2a7b48[_0x4d2da4(0xc1b)][_0x4d2da4(0x685)][_0x4d2da4(0x30b)][_0x4d2da4(0xcaf)](this[_0x4d2da4(0xa4c)]);else this[_0x4d2da4(0x754)]()[_0x4d2da4(0x368)](_0x54b562);}else this['_animationContainer'][_0x4d2da4(0x368)](_0x54b562);this[_0x4d2da4(0x12f)][_0x4d2da4(0x368)](_0x54b562),this[_0x4d2da4(0x2cc)][_0x4d2da4(0x368)](_0x54b562),this[_0x4d2da4(0xd1)][_0x4d2da4(0x44b)](_0x54b562);if(this[_0x4d2da4(0x9f0)])this[_0x4d2da4(0x9f0)][_0x4d2da4(0x44b)](_0x54b562);},VisuMZ['BattleCore'][_0x208a24(0x3a0)]=Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x1bf)],Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x1bf)]=function(){const _0x6ec788=_0x208a24;VisuMZ['BattleCore'][_0x6ec788(0x3a0)][_0x6ec788(0x783)](this),this[_0x6ec788(0xa8)]();},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0xa8)]=function(){const _0x47e86b=_0x208a24;this[_0x47e86b(0x967)][_0x47e86b(0xbe8)]['sort'](this[_0x47e86b(0xab)]['bind'](this)),this[_0x47e86b(0x51e)]();if(!this[_0x47e86b(0x967)])return;this[_0x47e86b(0x967)]['opacity']=this[_0x47e86b(0x354)]();},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0xab)]=function(_0x4ebea3,_0xaebb2a){const _0xea1223=_0x208a24;if(VisuMZ[_0xea1223(0x759)]['Settings'][_0xea1223(0x5a5)][_0xea1223(0x9c4)]){if(_0xea1223(0xc0c)!==_0xea1223(0xc0c))this[_0xea1223(0x561)]()?_0x540b44[_0xea1223(0xbd8)][_0xea1223(0x8c2)][_0xea1223(0x783)](this):this[_0xea1223(0x11b)]=0x8;else{if(_0x4ebea3[_0xea1223(0xa4c)]&&_0xaebb2a[_0xea1223(0xa4c)]){if(_0xea1223(0x579)!=='pdRcc'){if(_0x4ebea3[_0xea1223(0xa4c)]['isActor']()&&_0xaebb2a['_battler'][_0xea1223(0x27a)]()){if(_0xea1223(0xc3f)==='FJhzx'){_0x6ee687[_0xea1223(0x759)]['Game_Battler_performActionStart'][_0xea1223(0x783)](this,_0x57744f);if(!_0x50f4a9[_0xea1223(0x592)]()){const _0x4b54da=this[_0xea1223(0xd08)]();_0x4b54da&&_0x4b54da[_0xea1223(0xaae)]();}this[_0xea1223(0xbde)](![]);}else return 0x1;}else{if(_0xaebb2a['_battler']['isActor']()&&_0x4ebea3[_0xea1223(0xa4c)][_0xea1223(0x27a)]()){if(_0xea1223(0x9dd)!==_0xea1223(0x9dd))this[_0xea1223(0x778)](_0xea1223(0xc18));else return-0x1;}}}else this[_0xea1223(0x778)](_0xea1223(0xab6));}}}return _0x4ebea3[_0xea1223(0x832)]!==_0xaebb2a[_0xea1223(0x832)]?_0x4ebea3[_0xea1223(0x832)]-_0xaebb2a[_0xea1223(0x832)]:_0xea1223(0x6a5)===_0xea1223(0x287)?this[_0xea1223(0xb98)]():_0xaebb2a[_0xea1223(0xcd7)]-_0x4ebea3['spriteId'];},Spriteset_Battle[_0x208a24(0xbd8)]['putActiveBattlerOnTop']=function(){const _0x21b239=_0x208a24;if(!VisuMZ[_0x21b239(0x759)]['Settings'][_0x21b239(0x5a5)][_0x21b239(0x849)])return;const _0x58958b=BattleManager[_0x21b239(0x64d)];if(_0x58958b){if(_0x21b239(0x75e)===_0x21b239(0xba6))this[_0x21b239(0x445)]()?this['performTpbActiveCheckSwitch']():this['processActorCommandCancelTPB']();else{if(_0x58958b[_0x21b239(0x9bf)]()&&!$gameSystem[_0x21b239(0x620)]())return;const _0xed3b30=_0x58958b[_0x21b239(0xd08)]();if(_0xed3b30&&_0x58958b[_0x21b239(0x9bf)]())this[_0x21b239(0x967)]['addChild'](_0xed3b30);}}},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0xf7)]=function(){const _0x55b4a8=_0x208a24;for(const _0x39fc29 of $gameParty['aliveMembers']()){if(!_0x39fc29)continue;if(!_0x39fc29[_0x55b4a8(0xd08)]())continue;_0x39fc29[_0x55b4a8(0xd08)]()[_0x55b4a8(0x24a)]=!![],_0x39fc29[_0x55b4a8(0xd08)]()['retreat']();}},Spriteset_Battle['prototype'][_0x208a24(0xe2)]=function(){const _0x54060c=_0x208a24;this[_0x54060c(0x660)]=new Sprite();if(Spriteset_Battle[_0x54060c(0x101)]){if('kIIye'===_0x54060c(0x5c0)){if(this['enemy']()[_0x54060c(0x6c4)][_0x54060c(0x7fc)](/<BATTLER SPRITE CANNOT MOVE>/i))return![];return _0xc31264[_0x54060c(0xbd8)][_0x54060c(0x621)][_0x54060c(0x783)](this);}else this[_0x54060c(0x739)](this[_0x54060c(0x660)]);}else this['_battleField'][_0x54060c(0x739)](this[_0x54060c(0x660)]);SceneManager[_0x54060c(0xc1b)][_0x54060c(0x660)]=this[_0x54060c(0x660)];},Spriteset_Battle['prototype']['createEnemyNames']=function(){const _0x4f96d2=_0x208a24;if(VisuMZ[_0x4f96d2(0x759)][_0x4f96d2(0xc39)]['Enemy'][_0x4f96d2(0xda)])return;this[_0x4f96d2(0xc41)]=new Sprite(),BattleManager['addChildToUiContainer'](this[_0x4f96d2(0xc41)]);for(const _0x3131a1 of this[_0x4f96d2(0x7a4)]){const _0x35e0b7=new Sprite_EnemyName();this[_0x4f96d2(0xc41)][_0x4f96d2(0x739)](_0x35e0b7),_0x35e0b7['linkSprite'](_0x3131a1);}},Spriteset_Battle[_0x208a24(0xbd8)]['updateUiContainerPosition']=function(){const _0x4a0562=_0x208a24;if(!this[_0x4a0562(0x2e1)])return;if(!this[_0x4a0562(0x660)])return;const _0x5dd8e0=Spriteset_Battle[_0x4a0562(0x101)]?this[_0x4a0562(0x2e1)]['x']:0x0,_0x2fad7d=Spriteset_Battle[_0x4a0562(0x101)]?this[_0x4a0562(0x2e1)]['y']:0x0,_0x59d25d=Imported[_0x4a0562(0x355)]?this[_0x4a0562(0x1c6)]['x']:0x0,_0x5a8b5e=Imported['VisuMZ_3_ActSeqCamera']?this[_0x4a0562(0x1c6)]['y']:0x0;this[_0x4a0562(0x660)]['x']=_0x5dd8e0+_0x59d25d,this['_uiContainer']['y']=_0x2fad7d+_0x5a8b5e;},BattleManager['addChildToUiContainer']=function(_0x1953ee){const _0x2aab16=_0x208a24;if(!SceneManager[_0x2aab16(0xc1b)]['_uiContainer'])return;SceneManager[_0x2aab16(0xc1b)][_0x2aab16(0x660)][_0x2aab16(0x739)](_0x1953ee);},BattleManager[_0x208a24(0xbf0)]=function(_0x205a6d){const _0x2aee7d=_0x208a24;if(!SceneManager['_scene'][_0x2aee7d(0x660)])return;SceneManager[_0x2aee7d(0xc1b)][_0x2aee7d(0x660)][_0x2aee7d(0x368)](_0x205a6d);},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x354)]=function(){return 0xff;},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x7ee)]=function(){return![];},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0xaf9)]=function(){const _0x39b4f8=_0x208a24;return this['battlerSprites']()['some'](_0x4ee9b9=>_0x4ee9b9[_0x39b4f8(0x3c3)]());},Spriteset_Battle[_0x208a24(0xbd8)]['isAnyoneJumping']=function(){const _0x90b8a6=_0x208a24;return this['battlerSprites']()['some'](_0x4d33f1=>_0x4d33f1[_0x90b8a6(0xcbd)]());},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x772)]=function(){const _0x3feaf9=_0x208a24;return this[_0x3feaf9(0x8ac)]()[_0x3feaf9(0x92b)](_0x552c5d=>_0x552c5d[_0x3feaf9(0x4ba)]());},Spriteset_Battle[_0x208a24(0xbd8)]['isAnyoneSkewing']=function(){const _0x4f2b4f=_0x208a24;return this[_0x4f2b4f(0x8ac)]()['some'](_0x208365=>_0x208365[_0x4f2b4f(0xabf)]());},Spriteset_Battle[_0x208a24(0xbd8)]['isAnyoneSpinning']=function(){const _0x72d2cd=_0x208a24;return this[_0x72d2cd(0x8ac)]()[_0x72d2cd(0x92b)](_0x3468fd=>_0x3468fd[_0x72d2cd(0x23b)]());},Spriteset_Battle[_0x208a24(0xbd8)][_0x208a24(0x1d5)]=function(){const _0x3c3c86=_0x208a24;return this[_0x3c3c86(0x8ac)]()[_0x3c3c86(0x92b)](_0x203932=>_0x203932[_0x3c3c86(0x20c)]());},VisuMZ[_0x208a24(0x759)][_0x208a24(0xac4)]=Window_ItemList[_0x208a24(0xbd8)][_0x208a24(0xa96)],Window_ItemList[_0x208a24(0xbd8)]['maxCols']=function(){const _0x405c84=_0x208a24;if(SceneManager[_0x405c84(0x8c3)]()){if(SceneManager[_0x405c84(0xc1b)]['battleLayoutStyle']()===_0x405c84(0x4f5)){if('SRfnI'!==_0x405c84(0x837)){_0x5c1f0b(_0x405c84(0xb94)),_0x493a96[_0x405c84(0x1b1)]();return;}else return VisuMZ[_0x405c84(0x759)]['Settings'][_0x405c84(0x148)][_0x405c84(0xd54)];}else return VisuMZ[_0x405c84(0x759)][_0x405c84(0xc39)][_0x405c84(0x148)]['SkillItemStandardCols'];}else return VisuMZ[_0x405c84(0x759)]['Window_ItemList_maxCols']['call'](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x9d6)]=Window_SkillList[_0x208a24(0xbd8)]['maxCols'],Window_SkillList[_0x208a24(0xbd8)]['maxCols']=function(){const _0x2dfbd0=_0x208a24;if(SceneManager[_0x2dfbd0(0x8c3)]()){if(SceneManager[_0x2dfbd0(0xc1b)]['battleLayoutStyle']()===_0x2dfbd0(0x4f5)){if('uBZkP'!==_0x2dfbd0(0x156)){if(_0x30570f[_0x2dfbd0(0x6c4)][_0x2dfbd0(0x7fc)](/<SWAP ENEMIES>\s*([\s\S]*)\s*<\/SWAP ENEMIES>/i)){const _0x15d832=_0x11de23(_0x495499['$1'])['split'](/[\r\n]+/)[_0x2dfbd0(0x44b)](''),_0x18c437=this[_0x2dfbd0(0x382)](_0x15d832);_0x5bb9dd=this[_0x2dfbd0(0xbbb)](_0x18c437)||_0x49dda4,_0x4e1bd1=_0x61c41[_0x2dfbd0(0x2f2)](_0xf42916);}}else return VisuMZ[_0x2dfbd0(0x759)][_0x2dfbd0(0xc39)]['BattleLayout'][_0x2dfbd0(0xd54)];}else{if(_0x2dfbd0(0xa98)!==_0x2dfbd0(0x3a1))return VisuMZ[_0x2dfbd0(0x759)][_0x2dfbd0(0xc39)]['BattleLayout']['SkillItemStandardCols'];else{const _0x2aee95=_0x35b055(_0x2b0834['$1'])[_0x2dfbd0(0xc85)](',')[_0x2dfbd0(0x58e)](_0x4ebe40=>_0x4ebe40[_0x2dfbd0(0x446)]());return[_0x26255a[_0x2dfbd0(0x4b2)](_0x2aee95)];}}}else return VisuMZ[_0x2dfbd0(0x759)][_0x2dfbd0(0x9d6)][_0x2dfbd0(0x783)](this);},VisuMZ['BattleCore']['Window_Options_addGeneralOptions']=Window_Options[_0x208a24(0xbd8)][_0x208a24(0x484)],Window_Options['prototype'][_0x208a24(0x484)]=function(){const _0x2ace7a=_0x208a24;VisuMZ[_0x2ace7a(0x759)][_0x2ace7a(0xcf1)][_0x2ace7a(0x783)](this),this['addAutoBattleCommands'](),this[_0x2ace7a(0xf6)]();},Window_Options[_0x208a24(0xbd8)][_0x208a24(0xa65)]=function(){const _0xdcfa29=_0x208a24;VisuMZ[_0xdcfa29(0x759)][_0xdcfa29(0xc39)][_0xdcfa29(0x2a2)][_0xdcfa29(0x996)]&&(this['addBattleCoreAutoBattleStartupCommand'](),this[_0xdcfa29(0x8c6)]());},Window_Options[_0x208a24(0xbd8)][_0x208a24(0xf6)]=function(){const _0x439e71=_0x208a24;if(!VisuMZ[_0x439e71(0x759)][_0x439e71(0xc39)]['HpGauge'][_0x439e71(0x276)])return;const _0x5a0616=TextManager[_0x439e71(0x17a)],_0x4d280a=_0x439e71(0x17a);this[_0x439e71(0xb83)](_0x5a0616,_0x4d280a);},Window_Options[_0x208a24(0xbd8)][_0x208a24(0x88e)]=function(){const _0x1b333b=_0x208a24,_0x81470a=TextManager[_0x1b333b(0x4a7)],_0x4043a9=_0x1b333b(0xc99);this[_0x1b333b(0xb83)](_0x81470a,_0x4043a9);},Window_Options[_0x208a24(0xbd8)][_0x208a24(0x8c6)]=function(){const _0x5cbe15=_0x208a24,_0x1a8792=TextManager[_0x5cbe15(0x22d)],_0x80632=_0x5cbe15(0xca8);this['addCommand'](_0x1a8792,_0x80632);},VisuMZ[_0x208a24(0x759)]['Window_Options_statusText']=Window_Options['prototype']['statusText'],Window_Options[_0x208a24(0xbd8)]['statusText']=function(_0x621635){const _0x55729c=_0x208a24,_0x3c0d2d=this[_0x55729c(0x231)](_0x621635);if(_0x3c0d2d===_0x55729c(0xca8))return this['statusTextAutoBattleStyle']();else{if(_0x55729c(0xae8)===_0x55729c(0xae8))return VisuMZ[_0x55729c(0x759)][_0x55729c(0x806)][_0x55729c(0x783)](this,_0x621635);else{const _0x5f53cf=_0x3c109f['actor']();if(_0x5f53cf&&_0x5f53cf[_0x55729c(0xd08)])_0x5f53cf[_0x55729c(0xd08)]()[_0x55729c(0x642)]();_0x5099ec[_0x55729c(0x759)]['Scene_Battle_selectPreviousCommand'][_0x55729c(0x783)](this);}}},Window_Options[_0x208a24(0xbd8)][_0x208a24(0x678)]=function(){const _0x2b433a=_0x208a24,_0x269a0c=VisuMZ['BattleCore']['Settings'][_0x2b433a(0x2a2)],_0x17c274=this[_0x2b433a(0x225)](_0x2b433a(0xca8));return _0x17c274?_0x269a0c[_0x2b433a(0x371)]:_0x269a0c['StyleOFF'];},Window_ShopStatus[_0x208a24(0xbd8)][_0x208a24(0x198)]=function(){const _0x47d15f=_0x208a24,_0x48c142=DataManager[_0x47d15f(0xaa)](this[_0x47d15f(0x7d3)]),_0x1597e0=VisuMZ[_0x47d15f(0x4a8)][_0x48c142];if(!_0x1597e0)return this[_0x47d15f(0x1fb)]();const _0x4f678b=_0x47d15f(0x792)[_0x47d15f(0x75a)](this[_0x47d15f(0x7d3)][_0x47d15f(0xae4)][_0x47d15f(0x4f8)]),_0x48a3b3=[null,TextManager['hp'],TextManager['mp'],TextManager['hp'],TextManager['mp'],TextManager['hp'],TextManager['mp']][this[_0x47d15f(0x7d3)][_0x47d15f(0xae4)][_0x47d15f(0x4f8)]];return _0x1597e0[_0x4f678b][_0x47d15f(0x75a)](_0x48a3b3);},Window_ShopStatus[_0x208a24(0xbd8)]['getItemDamageAmountTextBattleCore']=function(){const _0x5b3ac5=_0x208a24,_0x4caee6=DataManager['getDamageStyle'](this[_0x5b3ac5(0x7d3)]),_0x59436d=VisuMZ[_0x5b3ac5(0x4a8)][_0x4caee6];if(!_0x59436d)return this[_0x5b3ac5(0xce5)]();return _0x59436d[_0x5b3ac5(0xadb)][_0x5b3ac5(0x783)](this);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x3c7)]=Window_PartyCommand['prototype']['initialize'],Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x3bf)]=function(_0x334061){const _0x214005=_0x208a24;VisuMZ[_0x214005(0x759)]['Window_PartyCommand_initialize']['call'](this,_0x334061),this[_0x214005(0x968)](_0x334061);},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x968)]=function(_0x37e743){const _0x1f944a=_0x208a24,_0x4bb89e=new Rectangle(0x0,0x0,_0x37e743[_0x1f944a(0x4fe)],_0x37e743[_0x1f944a(0x1fa)]);this[_0x1f944a(0xa1e)]=new Window_Base(_0x4bb89e),this[_0x1f944a(0xa1e)][_0x1f944a(0x34f)]=0x0,this['addChild'](this[_0x1f944a(0xa1e)]),this[_0x1f944a(0x2db)]();},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x3bb)]=function(){const _0xdc160=_0x208a24;Window_Command['prototype']['callUpdateHelp'][_0xdc160(0x783)](this);if(this[_0xdc160(0xa1e)])this[_0xdc160(0x2db)]();},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x2db)]=function(){const _0x1d4deb=_0x208a24,_0x517a54=this[_0x1d4deb(0xa1e)];_0x517a54['contents']['clear']();const _0x3a772d=this[_0x1d4deb(0x1f2)](this[_0x1d4deb(0x22f)]());if(_0x3a772d===_0x1d4deb(0xa86)&&this['maxItems']()>0x0){const _0x363768=this['itemLineRect'](this['index']());let _0x14aa6a=this['commandName'](this[_0x1d4deb(0x22f)]());_0x14aa6a=_0x14aa6a['replace'](/\\I\[(\d+)\]/gi,''),_0x517a54['resetFontSettings'](),this[_0x1d4deb(0x4d3)](_0x14aa6a,_0x363768),this[_0x1d4deb(0x89c)](_0x14aa6a,_0x363768),this[_0x1d4deb(0xcd5)](_0x14aa6a,_0x363768);}},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x4d3)]=function(_0x177dfb,_0x12b79c){},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x89c)]=function(_0x1d3222,_0x2bf128){const _0x10392b=_0x208a24,_0x21a678=this[_0x10392b(0xa1e)];_0x21a678['drawText'](_0x1d3222,0x0,_0x2bf128['y'],_0x21a678['innerWidth'],_0x10392b(0x1c0));},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0xcd5)]=function(_0x7ba659,_0x4373ed){const _0x1b81cb=_0x208a24,_0x3e1094=this['_commandNameWindow'],_0x3bec48=$gameSystem[_0x1b81cb(0x643)](),_0x40cbe6=_0x4373ed['x']+Math[_0x1b81cb(0x479)](_0x4373ed['width']/0x2)+_0x3bec48;_0x3e1094['x']=_0x3e1094['width']/-0x2+_0x40cbe6,_0x3e1094['y']=Math[_0x1b81cb(0x479)](_0x4373ed[_0x1b81cb(0x1fa)]/0x2);},Window_PartyCommand['prototype'][_0x208a24(0x7eb)]=function(){const _0x560e7e=_0x208a24;this[_0x560e7e(0x229)](),this[_0x560e7e(0x858)](),this[_0x560e7e(0x750)](),this[_0x560e7e(0x885)](),this[_0x560e7e(0xd29)]();},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x229)]=function(){const _0x325f16=_0x208a24,_0x6ef6e=this['commandStyle'](),_0x29619d=VisuMZ[_0x325f16(0x759)][_0x325f16(0xc39)][_0x325f16(0x5e8)][_0x325f16(0xd57)],_0x5c5ce4=_0x6ef6e===_0x325f16(0xa9c)?TextManager[_0x325f16(0x5ba)]:'\x5cI[%1]%2'['format'](_0x29619d,TextManager[_0x325f16(0x5ba)]),_0x580b4c=this[_0x325f16(0xa0f)]();this['addCommand'](_0x5c5ce4,_0x325f16(0x5ba),_0x580b4c);},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0xa0f)]=function(){return!![];},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x858)]=function(){const _0x3606e0=_0x208a24;if(!this[_0x3606e0(0x7a7)]())return;const _0x33366f=this[_0x3606e0(0xbb1)](),_0x51f381=VisuMZ[_0x3606e0(0x759)]['Settings'][_0x3606e0(0x5e8)]['CmdIconAutoBattle'],_0x1bcf2b=_0x33366f===_0x3606e0(0xa9c)?TextManager[_0x3606e0(0x402)]:'\x5cI[%1]%2'['format'](_0x51f381,TextManager[_0x3606e0(0x402)]),_0x22d590=this[_0x3606e0(0x1c9)]();this[_0x3606e0(0xb83)](_0x1bcf2b,'autoBattle',_0x22d590);},Window_PartyCommand[_0x208a24(0xbd8)]['isAutoBattleCommandAdded']=function(){const _0x23014d=_0x208a24;return VisuMZ[_0x23014d(0x759)][_0x23014d(0xc39)][_0x23014d(0x5e8)][_0x23014d(0x3d5)];},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x1c9)]=function(){return!![];},Window_PartyCommand['prototype'][_0x208a24(0x750)]=function(){},Window_PartyCommand[_0x208a24(0xbd8)]['addOptionsCommand']=function(){const _0x583616=_0x208a24;if(!this[_0x583616(0x5b7)]())return;const _0x608c10=this[_0x583616(0xbb1)](),_0x526a10=VisuMZ[_0x583616(0x759)]['Settings'][_0x583616(0x5e8)][_0x583616(0x451)],_0x3a738c=_0x608c10===_0x583616(0xa9c)?TextManager['options']:_0x583616(0x98a)[_0x583616(0x75a)](_0x526a10,TextManager[_0x583616(0x6fb)]),_0xc17f09=this['isOptionsCommandEnabled']();this[_0x583616(0xb83)](_0x3a738c,'options',_0xc17f09);},Window_PartyCommand[_0x208a24(0xbd8)]['isOptionsCommandAdded']=function(){const _0x36f9a1=_0x208a24;return VisuMZ[_0x36f9a1(0x759)][_0x36f9a1(0xc39)]['PartyCmd'][_0x36f9a1(0xc7d)];},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x468)]=function(){return!![];},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0xd29)]=function(){const _0x39f677=_0x208a24,_0x9672ee=this[_0x39f677(0xbb1)](),_0x3ac207=VisuMZ[_0x39f677(0x759)][_0x39f677(0xc39)][_0x39f677(0x5e8)]['CmdIconEscape'],_0x5b0701=_0x9672ee===_0x39f677(0xa9c)?TextManager[_0x39f677(0x2dc)]:_0x39f677(0x98a)[_0x39f677(0x75a)](_0x3ac207,TextManager[_0x39f677(0x2dc)]),_0x41ad3f=this[_0x39f677(0x303)]();this[_0x39f677(0xb83)](_0x5b0701,'escape',_0x41ad3f);},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x303)]=function(){const _0x1d8826=_0x208a24;return BattleManager[_0x1d8826(0xaec)]();},Window_PartyCommand['prototype'][_0x208a24(0x6a2)]=function(){const _0xdd7701=_0x208a24;return VisuMZ[_0xdd7701(0x759)][_0xdd7701(0xc39)][_0xdd7701(0x5e8)]['CmdTextAlign'];},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x1a1)]=function(_0x1f3802){const _0x44ee5f=_0x208a24,_0x918c55=this[_0x44ee5f(0x1f2)](_0x1f3802);if(_0x918c55===_0x44ee5f(0x3e2))_0x44ee5f(0x7bf)!==_0x44ee5f(0x501)?this[_0x44ee5f(0x963)](_0x1f3802):(this[_0x44ee5f(0x811)]=![],this[_0x44ee5f(0xa22)](),this[_0x44ee5f(0x8ed)]());else _0x918c55==='icon'?this['drawItemStyleIcon'](_0x1f3802):Window_Command[_0x44ee5f(0xbd8)]['drawItem'][_0x44ee5f(0x783)](this,_0x1f3802);},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0xbb1)]=function(){const _0x508d0c=_0x208a24;return VisuMZ[_0x508d0c(0x759)][_0x508d0c(0xc39)][_0x508d0c(0x5e8)][_0x508d0c(0x70d)];},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x1f2)]=function(_0x39324c){const _0x2a69bd=_0x208a24;if(_0x39324c<0x0)return _0x2a69bd(0xa9c);const _0x184fef=this['commandStyle']();if(_0x184fef!=='auto')return _0x184fef;else{if(this['maxItems']()>0x0){if(_0x2a69bd(0x133)!==_0x2a69bd(0x15e)){const _0x332cee=this['commandName'](_0x39324c);if(_0x332cee['match'](/\\I\[(\d+)\]/i)){const _0x2b19f7=this['itemLineRect'](_0x39324c),_0x52429b=this[_0x2a69bd(0x23d)](_0x332cee)['width'];return _0x52429b<=_0x2b19f7[_0x2a69bd(0x4fe)]?'iconText':_0x2a69bd(0xa86);}}else{if(!_0x7309af[_0x2a69bd(0x8c3)]())return;_0x241ed5[_0x2a69bd(0x4f4)](_0x23ef39,_0x1d8fc9);const _0x1012cb=_0x56509d[_0x2a69bd(0xce3)];_0x40a0f5['_scene'][_0x2a69bd(0x547)](_0x1012cb);}}}return'text';},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x963)]=function(_0x48dbcf){const _0x481b48=_0x208a24,_0x12c8e4=this['itemLineRect'](_0x48dbcf),_0x354f02=this[_0x481b48(0x6e4)](_0x48dbcf),_0x27cf8a=this['textSizeEx'](_0x354f02)[_0x481b48(0x4fe)];this['changePaintOpacity'](this[_0x481b48(0xb4f)](_0x48dbcf));const _0x5368bf=this[_0x481b48(0x6a2)]();if(_0x5368bf===_0x481b48(0x5d3)){if(_0x481b48(0x6cd)===_0x481b48(0x68e)){this[_0x481b48(0x7c3)](_0x481b48(0xd5b),_0x38fdbf,_0x2d0c07);if(!_0x9cfb18[_0x481b48(0x759)][_0x481b48(0xc39)][_0x481b48(0x98d)][_0x481b48(0xaf6)])return;const _0x6a3438=_0x3cec48[_0x481b48(0x278)](),_0x204339=_0x3c8bc6['substitute'][_0x481b48(0x75a)](_0x6a3438,_0x3f905b[_0x481b48(0x278)]());this['push'](_0x481b48(0x9a1),_0x204339);}else this['drawTextEx'](_0x354f02,_0x12c8e4['x']+_0x12c8e4['width']-_0x27cf8a,_0x12c8e4['y'],_0x27cf8a);}else{if(_0x5368bf==='center'){const _0x419312=_0x12c8e4['x']+Math[_0x481b48(0x479)]((_0x12c8e4[_0x481b48(0x4fe)]-_0x27cf8a)/0x2);this[_0x481b48(0x49e)](_0x354f02,_0x419312,_0x12c8e4['y'],_0x27cf8a);}else{if(_0x481b48(0x351)===_0x481b48(0xb95)){if(!_0x14b192[_0x481b48(0x8c3)]())return;const _0x115049=_0x4a85f4['getLastPluginCommandInterpreter']();if(!_0x115049)return;_0x115049[_0x481b48(0x3dc)](_0x481b48(0x5cf));}else this[_0x481b48(0x49e)](_0x354f02,_0x12c8e4['x'],_0x12c8e4['y'],_0x27cf8a);}}},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x54b)]=function(_0x248aaa){const _0xae6e2d=_0x208a24;this[_0xae6e2d(0x6e4)](_0x248aaa)[_0xae6e2d(0x7fc)](/\\I\[(\d+)\]/i);const _0x59dcd7=Number(RegExp['$1'])||0x0,_0x5aedf8=this[_0xae6e2d(0x617)](_0x248aaa),_0xf01ffb=_0x5aedf8['x']+Math['floor']((_0x5aedf8[_0xae6e2d(0x4fe)]-ImageManager['iconWidth'])/0x2),_0x47c38c=_0x5aedf8['y']+(_0x5aedf8[_0xae6e2d(0x1fa)]-ImageManager['iconHeight'])/0x2;this[_0xae6e2d(0x7be)](_0x59dcd7,_0xf01ffb,_0x47c38c);},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x6ec)]=function(){},Window_PartyCommand[_0x208a24(0xbd8)]['activate']=function(){const _0x184206=_0x208a24;Window_Command[_0x184206(0xbd8)][_0x184206(0x674)]['call'](this);const _0x5ec3f4=this[_0x184206(0x71c)]();_0x5ec3f4==='border'&&(_0x184206(0x238)===_0x184206(0x438)?(_0x3ca506+=_0x38707b['isActor']()?-_0x2e97c2:_0x10c68d,_0x4daa54+=_0x44e558[_0x184206(0x9bf)]()?-_0x263dea:_0xe49132):this[_0x184206(0x130)]());},Window_PartyCommand[_0x208a24(0xbd8)][_0x208a24(0x71c)]=function(){const _0x3eacb1=_0x208a24;if(this[_0x3eacb1(0xbd6)])return this[_0x3eacb1(0xbd6)];return this['_battleLayoutStyle']=SceneManager[_0x3eacb1(0xc1b)][_0x3eacb1(0x71c)](),this[_0x3eacb1(0xbd6)];},Window_PartyCommand['prototype'][_0x208a24(0x857)]=function(){const _0x2241e5=_0x208a24,_0x32abfb=VisuMZ[_0x2241e5(0x759)][_0x2241e5(0xc39)]['PartyCmd'],_0x4e90d5=this['currentSymbol']();switch(_0x4e90d5){case _0x2241e5(0x5ba):this[_0x2241e5(0xd53)][_0x2241e5(0x966)](_0x32abfb[_0x2241e5(0x84c)]);break;case _0x2241e5(0x402):this[_0x2241e5(0xd53)]['setText'](_0x32abfb[_0x2241e5(0x13a)]);break;case _0x2241e5(0x6fb):this[_0x2241e5(0xd53)][_0x2241e5(0x966)](_0x32abfb[_0x2241e5(0x514)]);break;case _0x2241e5(0x2dc):this[_0x2241e5(0xd53)]['setText'](_0x32abfb[_0x2241e5(0x710)]);break;default:this[_0x2241e5(0xd53)][_0x2241e5(0x966)]('');break;}},VisuMZ[_0x208a24(0x759)]['Window_ActorCommand_initialize']=Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x3bf)],Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x3bf)]=function(_0x5899dd){const _0x37a112=_0x208a24;VisuMZ['BattleCore'][_0x37a112(0xaee)][_0x37a112(0x783)](this,_0x5899dd),this['createCommandNameWindow'](_0x5899dd);},Window_ActorCommand['prototype'][_0x208a24(0x968)]=function(_0x23ce3b){const _0x4a2d2e=_0x208a24,_0x4e4f4a=new Rectangle(0x0,0x0,_0x23ce3b[_0x4a2d2e(0x4fe)],_0x23ce3b['height']);this[_0x4a2d2e(0xa1e)]=new Window_Base(_0x4e4f4a),this['_commandNameWindow'][_0x4a2d2e(0x34f)]=0x0,this['addChild'](this['_commandNameWindow']),this[_0x4a2d2e(0x2db)]();},Window_ActorCommand[_0x208a24(0xbd8)]['callUpdateHelp']=function(){const _0x175126=_0x208a24;Window_Command[_0x175126(0xbd8)]['callUpdateHelp'][_0x175126(0x783)](this);if(this[_0x175126(0xa1e)])this[_0x175126(0x2db)]();},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x2db)]=function(){const _0x5e8cf4=_0x208a24,_0x5b7765=this['_commandNameWindow'];_0x5b7765[_0x5e8cf4(0xcce)][_0x5e8cf4(0xb03)]();const _0x3ef40c=this['commandStyleCheck'](this[_0x5e8cf4(0x22f)]());if(_0x3ef40c===_0x5e8cf4(0xa86)&&this[_0x5e8cf4(0x8c9)]()>0x0){const _0x2ee186=this[_0x5e8cf4(0x617)](this[_0x5e8cf4(0x22f)]());let _0x3c6a26=this[_0x5e8cf4(0x6e4)](this['index']());_0x3c6a26=_0x3c6a26['replace'](/\\I\[(\d+)\]/gi,''),_0x5b7765[_0x5e8cf4(0x556)](),this['commandNameWindowDrawBackground'](_0x3c6a26,_0x2ee186),this[_0x5e8cf4(0x89c)](_0x3c6a26,_0x2ee186),this[_0x5e8cf4(0xcd5)](_0x3c6a26,_0x2ee186);}},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x4d3)]=function(_0x1e40cf,_0x24682c){},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x89c)]=function(_0x6b1299,_0x956e0e){const _0x52fa6c=_0x208a24,_0x2b6d1d=this[_0x52fa6c(0xa1e)];_0x2b6d1d[_0x52fa6c(0x10e)](_0x6b1299,0x0,_0x956e0e['y'],_0x2b6d1d['innerWidth'],'center');},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0xcd5)]=function(_0x11cd23,_0x42c7a3){const _0x8547dc=_0x208a24,_0xff8279=this['_commandNameWindow'],_0x3f6164=$gameSystem[_0x8547dc(0x643)](),_0x9f9def=_0x42c7a3['x']+Math['floor'](_0x42c7a3[_0x8547dc(0x4fe)]/0x2)+_0x3f6164;_0xff8279['x']=_0xff8279['width']/-0x2+_0x9f9def,_0xff8279['y']=Math['floor'](_0x42c7a3['height']/0x2);},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x7eb)]=function(){const _0x3eeee5=_0x208a24;if(!this[_0x3eeee5(0x302)])return;const _0x1643f2=this[_0x3eeee5(0x302)]['battleCommands']();for(const _0x37f10b of _0x1643f2){if(_0x3eeee5(0x3cf)===_0x3eeee5(0x3cf))this[_0x3eeee5(0xca7)](_0x37f10b[_0x3eeee5(0x4d6)]()[_0x3eeee5(0x446)]());else{_0x501ffa[_0x3eeee5(0xbd8)]['callOkHandler'][_0x3eeee5(0x783)](this);if(this[_0x3eeee5(0x449)]()[_0x3eeee5(0x27a)]())this[_0x3eeee5(0x3ea)]=this[_0x3eeee5(0x449)]();if(this['enemy']()[_0x3eeee5(0x9bf)]())this[_0x3eeee5(0xa8a)]=this[_0x3eeee5(0x449)]();}}},Window_ActorCommand[_0x208a24(0xbd8)]['makeBattleCommand']=function(_0x3e6825){const _0x50bb95=_0x208a24;_0x3e6825===_0x50bb95(0xa52)&&(_0x50bb95(0x98b)===_0x50bb95(0x43c)?_0x2c54bd=(_0xb65351+_0x3f6785)/0x2:this[_0x50bb95(0xaf2)]());[_0x50bb95(0x500),'SKILLS'][_0x50bb95(0xcaf)](_0x3e6825)&&this[_0x50bb95(0xcfb)]();_0x3e6825===_0x50bb95(0x5d8)&&this[_0x50bb95(0xb5f)]();if(_0x3e6825==='ITEM'){if('vDqEb'===_0x50bb95(0xd56)){this['_flashColor']=_0x3c33b1[_0x50bb95(0x42b)]||[0x0,0x0,0x0,0x0],this[_0x50bb95(0x318)]=_0x589b21['makeDeepCopy'](this[_0x50bb95(0x318)]),this[_0x50bb95(0x5cb)]=_0x5f09ce[_0x50bb95(0x53c)]||0x0;const _0x52be75=this[_0x50bb95(0xa48)](),_0x35e1ae=_0x5db839[_0x50bb95(0x479)](_0x52be75*0x1e),_0x59477a=this[_0x50bb95(0xb90)](_0x35e1ae,_0x52be75);_0x59477a['bitmap']['textColor']=_0x4283cc[_0x50bb95(0x33d)](_0x326256[_0x50bb95(0x119)]),_0x59477a[_0x50bb95(0x63f)]['drawText'](_0x806f77,0x0,0x0,_0x35e1ae,_0x52be75,_0x50bb95(0x1c0)),_0x59477a['dy']=0x0;}else this['addItemCommand']();}_0x3e6825===_0x50bb95(0x8e0)&&this[_0x50bb95(0xd29)]();_0x3e6825===_0x50bb95(0xabb)&&this[_0x50bb95(0x858)]();if(_0x3e6825[_0x50bb95(0x7fc)](/STYPE: (\d+)/i)){if(_0x50bb95(0xad6)===_0x50bb95(0xb53))_0x1e883c[_0x50bb95(0x759)][_0x50bb95(0xa46)][_0x50bb95(0x783)](this);else{const _0xf44aaf=Number(RegExp['$1']);this[_0x50bb95(0x5c7)](_0xf44aaf);}}else{if(_0x3e6825[_0x50bb95(0x7fc)](/STYPE: (.*)/i)){if(_0x50bb95(0x21d)===_0x50bb95(0x21d)){const _0x15e74d=DataManager['getStypeIdWithName'](RegExp['$1']);this[_0x50bb95(0x5c7)](_0x15e74d);}else _0x528f35+=_0x32a252[_0x50bb95(0x9bf)]()?-_0x57ddf0:_0x5dddbc,_0x239990+=_0x357661['isActor']()?-_0x154775:_0x529edb;}}_0x3e6825===_0x50bb95(0xc92)&&this[_0x50bb95(0xcf6)]();if(_0x3e6825[_0x50bb95(0x7fc)](/SKILL: (\d+)/i)){const _0x2aef8b=Number(RegExp['$1']);this[_0x50bb95(0x732)]($dataSkills[_0x2aef8b]);}else{if(_0x3e6825[_0x50bb95(0x7fc)](/SKILL: (.*)/i)){const _0x30a3d6=DataManager[_0x50bb95(0x51c)](RegExp['$1']);this[_0x50bb95(0x732)]($dataSkills[_0x30a3d6]);}}_0x3e6825===_0x50bb95(0x2a4)&&Imported['VisuMZ_2_PartySystem']&&(_0x50bb95(0xf1)!==_0x50bb95(0x5e3)?this[_0x50bb95(0x15c)]():this[_0x50bb95(0x8ff)](_0x5a991c)),[_0x50bb95(0x1a9),_0x50bb95(0xb7c)]['includes'](_0x3e6825)&&Imported['VisuMZ_4_CombatLog']&&('NOKjo'==='NOKjo'?this[_0x50bb95(0x19e)]():this[_0x50bb95(0x54b)](_0x56812f)),_0x3e6825===_0x50bb95(0xa27)&&Imported[_0x50bb95(0x55b)]&&this['addWeaponSwapCommand'](!![]),_0x3e6825===_0x50bb95(0x242)&&Imported[_0x50bb95(0xca6)]&&(_0x50bb95(0x97e)!==_0x50bb95(0x97e)?_0x2c0bbf[_0x50bb95(0x6b9)](_0x4efcc3):this['addBattleGridMoveCommand']());},Window_ActorCommand[_0x208a24(0xbd8)]['addAttackCommand']=function(){const _0x509939=_0x208a24,_0x5e122f=$dataSkills[this['_actor'][_0x509939(0x4be)]()];if(!_0x5e122f)return;if(!this['canAddSkillCommand'](_0x5e122f))return;const _0x1c7502=this[_0x509939(0xbb1)](),_0x26162a=DataManager[_0x509939(0x157)](_0x5e122f),_0x46b442=DataManager['battleCommandIcon'](_0x5e122f),_0x35eb99=_0x1c7502===_0x509939(0xa9c)?_0x26162a:'\x5cI[%1]%2'[_0x509939(0x75a)](_0x46b442,_0x26162a);this[_0x509939(0xb83)](_0x35eb99,_0x509939(0x2b9),this[_0x509939(0x302)][_0x509939(0x764)]());},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0xb5f)]=function(){const _0x5f2178=_0x208a24,_0x42f844=$dataSkills[this['_actor'][_0x5f2178(0x152)]()];if(!_0x42f844)return;if(!this['canAddSkillCommand'](_0x42f844))return;const _0x13c484=this[_0x5f2178(0xbb1)](),_0x21bce8=DataManager[_0x5f2178(0x157)](_0x42f844),_0x462a3c=DataManager[_0x5f2178(0x572)](_0x42f844),_0x1ae09d=_0x13c484===_0x5f2178(0xa9c)?_0x21bce8:'\x5cI[%1]%2'[_0x5f2178(0x75a)](_0x462a3c,_0x21bce8);this[_0x5f2178(0xb83)](_0x1ae09d,'guard',this[_0x5f2178(0x302)][_0x5f2178(0x8a3)]());},Window_ActorCommand[_0x208a24(0xbd8)]['addItemCommand']=function(){const _0x3ab465=_0x208a24,_0x10b293=this[_0x3ab465(0xbb1)](),_0x5e401d=VisuMZ[_0x3ab465(0x759)][_0x3ab465(0xc39)][_0x3ab465(0x687)]['CmdIconItem'],_0x46e6f7=_0x10b293===_0x3ab465(0xa9c)?TextManager[_0x3ab465(0x8bb)]:_0x3ab465(0x98a)[_0x3ab465(0x75a)](_0x5e401d,TextManager[_0x3ab465(0x8bb)]),_0xb670db=this['isItemCommandEnabled']();this[_0x3ab465(0xb83)](_0x46e6f7,_0x3ab465(0x8bb),_0xb670db);},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x42d)]=function(){const _0x2e8267=_0x208a24;return this['_actor']&&this[_0x2e8267(0x302)][_0x2e8267(0x698)]();},Window_ActorCommand['prototype'][_0x208a24(0xcfb)]=function(){const _0x3e7281=_0x208a24,_0x3de0d3=this[_0x3e7281(0x302)][_0x3e7281(0x389)]();for(const _0x370853 of _0x3de0d3){this[_0x3e7281(0x5c7)](_0x370853);}},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x5c7)]=function(_0x4ade1f){const _0x488f98=_0x208a24;let _0x69036d=$dataSystem['skillTypes'][_0x4ade1f];if(!_0x69036d)return;let _0x51a888=_0x69036d;const _0x52707f=this[_0x488f98(0xbb1)]();if(_0x52707f==='text'){if(_0x488f98(0x553)!==_0x488f98(0x629))_0x51a888=_0x51a888[_0x488f98(0x51f)](/\x1I\[(\d+)\]/gi,''),_0x51a888=_0x51a888[_0x488f98(0x51f)](/\\I\[(\d+)\]/gi,'');else return this[_0x488f98(0xb8f)]['findIndex'](_0x34d517=>_0x34d517['symbol']===_0x5a7f4d&&_0x34d517[_0x488f98(0xb5b)]===_0x121df5);}else{if(!_0x69036d[_0x488f98(0x7fc)](/\\I\[(\d+)\]/i)){const _0x4d0d5e=Imported['VisuMZ_1_SkillsStatesCore']?VisuMZ[_0x488f98(0x17e)][_0x488f98(0xc39)][_0x488f98(0x883)]:VisuMZ[_0x488f98(0x759)][_0x488f98(0xc39)][_0x488f98(0x687)],_0x5c69d5=$dataSystem[_0x488f98(0xc06)]['includes'](_0x4ade1f),_0xcc9703=_0x5c69d5?_0x4d0d5e[_0x488f98(0x1ab)]:_0x4d0d5e['IconStypeNorm'];_0x51a888=_0x488f98(0x98a)[_0x488f98(0x75a)](_0xcc9703,_0x69036d);}}this[_0x488f98(0xb83)](_0x51a888,_0x488f98(0xd1e),!![],_0x4ade1f);},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0xcf6)]=function(){const _0x13b0ef=_0x208a24,_0x371a04=this[_0x13b0ef(0x302)][_0x13b0ef(0x389)](),_0x109ad6=this[_0x13b0ef(0x302)][_0x13b0ef(0x56c)]();for(const _0x1cc982 of _0x109ad6){if(!_0x1cc982)continue;if(Imported[_0x13b0ef(0x813)]){if(_0x13b0ef(0x5a4)===_0x13b0ef(0x1bb))return _0x1e2121[_0x13b0ef(0x759)][_0x13b0ef(0xc39)][_0x13b0ef(0x98d)][_0x13b0ef(0x8c5)];else{if(this[_0x13b0ef(0x27f)](_0x1cc982))continue;if(this['isHiddenSkill'](_0x1cc982))continue;}}else{if(!_0x371a04['includes'](_0x1cc982['stypeId']))continue;}this[_0x13b0ef(0x732)](_0x1cc982);}},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x27f)]=function(_0x8753a5){const _0x579ceb=_0x208a24,_0x11d417=this[_0x579ceb(0x302)][_0x579ceb(0x389)](),_0x3e225e=_0x11d417[_0x579ceb(0x5a8)](_0x34040c=>DataManager[_0x579ceb(0x1d7)](_0x8753a5)[_0x579ceb(0xcaf)](_0x34040c));return _0x3e225e['length']<=0x0;},Window_ActorCommand[_0x208a24(0xbd8)]['isHiddenSkill']=function(_0xb99131){const _0x402fda=_0x208a24;if(Imported['VisuMZ_1_SkillsStatesCore']){if(VisuMZ[_0x402fda(0x17e)]['version']>=1.24){if(this['_actor']){if(!VisuMZ['SkillsStatesCore']['CheckVisibleBattleNotetags'](this['_actor'],_0xb99131))return!![];if(!VisuMZ[_0x402fda(0x17e)][_0x402fda(0x1fd)](this[_0x402fda(0x302)],_0xb99131))return!![];if(!VisuMZ[_0x402fda(0x17e)][_0x402fda(0x7a0)](this[_0x402fda(0x302)],_0xb99131))return!![];}}else{if('QZItK'!=='MgIip'){if(!Window_SkillList['prototype'][_0x402fda(0xa3a)][_0x402fda(0x783)](this,_0xb99131))return!![];if(!Window_SkillList[_0x402fda(0xbd8)]['checkShowHideSwitchNotetags'][_0x402fda(0x783)](this,_0xb99131))return!![];if(!Window_SkillList['prototype'][_0x402fda(0x9ef)][_0x402fda(0x783)](this,_0xb99131))return!![];}else this[_0x402fda(0x30b)]['reverse']();}}return![];},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x732)]=function(_0x37de08){const _0xfe9c29=_0x208a24;if(!_0x37de08)return;if(!this[_0xfe9c29(0x124)](_0x37de08))return;const _0x47be26=this[_0xfe9c29(0xbb1)](),_0x1a4536=DataManager['battleCommandName'](_0x37de08),_0x10cdf2=DataManager[_0xfe9c29(0x572)](_0x37de08),_0x571752=_0x47be26===_0xfe9c29(0xa9c)?_0x1a4536:_0xfe9c29(0x98a)[_0xfe9c29(0x75a)](_0x10cdf2,_0x1a4536),_0x275c11=this['_actor']['canUse'](_0x37de08);this[_0xfe9c29(0xb83)](_0x571752,_0xfe9c29(0xcf8),_0x275c11,_0x37de08['id']);},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x124)]=function(_0x36ffc9){const _0x5e50ba=_0x208a24,_0x104b44=_0x36ffc9[_0x5e50ba(0x6c4)];if(_0x104b44[_0x5e50ba(0x7fc)](/<COMMAND REQUIRE LEARN>/i)){if(!this[_0x5e50ba(0x302)][_0x5e50ba(0xbf)](_0x36ffc9['id']))return![];}if(_0x104b44['match'](/<COMMAND REQUIRE ACCESS>/i)){if(_0x5e50ba(0x1c1)===_0x5e50ba(0x1c1)){if(!this[_0x5e50ba(0x302)][_0x5e50ba(0xaf7)](_0x36ffc9['id']))return![];}else this[_0x5e50ba(0x58f)]['x']=0x8;}const _0x5453f5=VisuMZ['BattleCore'][_0x5e50ba(0x362)](_0x36ffc9,_0x5e50ba(0xa63));if(VisuMZ[_0x5e50ba(0x759)]['JS'][_0x5453f5]){if(!VisuMZ[_0x5e50ba(0x759)]['JS'][_0x5453f5]['call'](this,this[_0x5e50ba(0x302)],_0x36ffc9))return![];}return VisuMZ[_0x5e50ba(0x759)][_0x5e50ba(0xcee)](_0x36ffc9);},VisuMZ['BattleCore'][_0x208a24(0xcee)]=function(_0x54624f){const _0x3ec743=_0x208a24,_0x5a52dd=_0x54624f[_0x3ec743(0x6c4)];if(_0x5a52dd[_0x3ec743(0x7fc)](/<COMMAND SHOW[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){if(_0x3ec743(0x859)!==_0x3ec743(0xbfe)){const _0x3adcf5=JSON['parse']('['+RegExp['$1']['match'](/\d+/g)+']');for(const _0x37d8bc of _0x3adcf5){if(!$gameSwitches[_0x3ec743(0x905)](_0x37d8bc))return![];}return!![];}else{const _0x4b91b2=_0x109491[_0x3ec743(0x6d1)](_0x575aad['toUpperCase']()[_0x3ec743(0x446)]());_0x4b91b2>=0x0&&_0x4b91b2<=0x7&&_0x31c5cc[_0x3ec743(0xab1)](_0x4b91b2,_0xfd490e);}}if(_0x5a52dd[_0x3ec743(0x7fc)](/<COMMAND SHOW ALL[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){const _0x5a663b=JSON['parse']('['+RegExp['$1'][_0x3ec743(0x7fc)](/\d+/g)+']');for(const _0x3abe4a of _0x5a663b){if('uoXqE'===_0x3ec743(0x2c2))_0x94bd28[_0x3ec743(0x2f3)]([_0x292c13]);else{if(!$gameSwitches[_0x3ec743(0x905)](_0x3abe4a))return![];}}return!![];}if(_0x5a52dd[_0x3ec743(0x7fc)](/<COMMAND SHOW ANY[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){const _0xa27862=JSON[_0x3ec743(0x794)]('['+RegExp['$1']['match'](/\d+/g)+']');for(const _0x9191c1 of _0xa27862){if($gameSwitches[_0x3ec743(0x905)](_0x9191c1))return!![];}return![];}if(_0x5a52dd[_0x3ec743(0x7fc)](/<COMMAND HIDE[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){const _0x32d73d=JSON[_0x3ec743(0x794)]('['+RegExp['$1']['match'](/\d+/g)+']');for(const _0x2fe3d3 of _0x32d73d){if(!$gameSwitches[_0x3ec743(0x905)](_0x2fe3d3))return!![];}return![];}if(_0x5a52dd[_0x3ec743(0x7fc)](/<COMMAND HIDE ALL[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){if('AFBKZ'!=='pBriN'){const _0x182b69=JSON[_0x3ec743(0x794)]('['+RegExp['$1'][_0x3ec743(0x7fc)](/\d+/g)+']');for(const _0x159ed3 of _0x182b69){if(_0x3ec743(0x644)===_0x3ec743(0x358))_0x5c0281[_0x3ec743(0x138)](0x0);else{if(!$gameSwitches[_0x3ec743(0x905)](_0x159ed3))return!![];}}return![];}else{if(!_0x22de16)return 0x0;let _0x1063c8=0x0;const _0x3abceb=_0x930e5b['note'];return _0x3abceb[_0x3ec743(0x7fc)](/<BATTLE UI OFFSET Y:[ ]([\+\-]\d+)>/i)&&(_0x1063c8+=_0x199ff9(_0xcba08a['$1'])),_0x3abceb[_0x3ec743(0x7fc)](/<BATTLE UI OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)&&(_0x1063c8+=_0x3d4c9d(_0x5335cb['$2'])),_0x1063c8;}}if(_0x5a52dd[_0x3ec743(0x7fc)](/<COMMAND HIDE ANY[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){const _0x1c5cfb=JSON[_0x3ec743(0x794)]('['+RegExp['$1']['match'](/\d+/g)+']');for(const _0x45f53a of _0x1c5cfb){if('TyAbg'==='wudiE')this[_0x3ec743(0xbc4)]=_0x3ec743(0x4f5);else{if($gameSwitches['value'](_0x45f53a))return![];}}return!![];}return!![];},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0xd29)]=function(){const _0x367705=_0x208a24,_0x538bf3=this[_0x367705(0xbb1)](),_0x450899=VisuMZ[_0x367705(0x759)]['Settings'][_0x367705(0x5e8)][_0x367705(0x6c8)],_0x660ff3=_0x538bf3==='text'?TextManager[_0x367705(0x2dc)]:_0x367705(0x98a)[_0x367705(0x75a)](_0x450899,TextManager['escape']),_0x5087b0=this[_0x367705(0x303)]();this[_0x367705(0xb83)](_0x660ff3,_0x367705(0x2dc),_0x5087b0);},Window_ActorCommand['prototype'][_0x208a24(0x303)]=function(){const _0xf13831=_0x208a24;return BattleManager[_0xf13831(0xaec)]();},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x858)]=function(){const _0x23ae63=_0x208a24,_0x532e18=this[_0x23ae63(0xbb1)](),_0x5b3ebe=VisuMZ[_0x23ae63(0x759)][_0x23ae63(0xc39)][_0x23ae63(0x5e8)][_0x23ae63(0x88f)],_0x217cd2=_0x532e18===_0x23ae63(0xa9c)?TextManager[_0x23ae63(0x402)]:_0x23ae63(0x98a)[_0x23ae63(0x75a)](_0x5b3ebe,TextManager[_0x23ae63(0x402)]),_0x4b137f=this[_0x23ae63(0x1c9)]();this[_0x23ae63(0xb83)](_0x217cd2,_0x23ae63(0x402),_0x4b137f);},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x1c9)]=function(){return!![];},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x6a2)]=function(){const _0x55dabd=_0x208a24;return VisuMZ[_0x55dabd(0x759)][_0x55dabd(0xc39)][_0x55dabd(0x687)][_0x55dabd(0x906)];},Window_ActorCommand['prototype']['drawItem']=function(_0x2c0b08){const _0x561e58=_0x208a24,_0xee6b9a=this[_0x561e58(0x1f2)](_0x2c0b08);if(_0xee6b9a===_0x561e58(0x3e2))this[_0x561e58(0x963)](_0x2c0b08);else{if(_0xee6b9a===_0x561e58(0xa86))this[_0x561e58(0x54b)](_0x2c0b08);else{if(_0x561e58(0x31f)===_0x561e58(0x31f))Window_Command[_0x561e58(0xbd8)]['drawItem'][_0x561e58(0x783)](this,_0x2c0b08);else{this['_executeHpDamage']=this[_0x561e58(0xce2)]||{};const _0x2eacff=_0x3b17be['battlerKey']();return this[_0x561e58(0xce2)][_0x2eacff]||0x0;}}}this['drawSingleSkillCost'](_0x2c0b08);},Window_ActorCommand[_0x208a24(0xbd8)]['commandStyle']=function(){const _0x8ef870=_0x208a24;return VisuMZ[_0x8ef870(0x759)][_0x8ef870(0xc39)][_0x8ef870(0x687)][_0x8ef870(0x70d)];},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x1f2)]=function(_0xd2e314){const _0x172c6f=_0x208a24;if(_0xd2e314<0x0)return _0x172c6f(0xa9c);const _0x15ea44=this['commandStyle']();if(_0x15ea44!==_0x172c6f(0x71b)){if(_0x172c6f(0xc35)===_0x172c6f(0x8d0))this[_0x172c6f(0x5e0)]();else return _0x15ea44;}else{if(this['maxItems']()>0x0){if(_0x172c6f(0x5d2)!==_0x172c6f(0x5d2))_0x381878[_0x172c6f(0x759)][_0x172c6f(0x80d)][_0x172c6f(0x783)](this),delete this[_0x172c6f(0x527)][_0x172c6f(0x5cd)],delete this[_0x172c6f(0x527)][_0x172c6f(0x887)];else{const _0x2b9add=this[_0x172c6f(0x6e4)](_0xd2e314);if(_0x2b9add[_0x172c6f(0x7fc)](/\\I\[(\d+)\]/i)){const _0x5a216c=this['itemLineRect'](_0xd2e314),_0x525508=this[_0x172c6f(0x23d)](_0x2b9add)['width'];return _0x525508<=_0x5a216c[_0x172c6f(0x4fe)]?_0x172c6f(0x3e2):'icon';}}}}return'text';},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x963)]=function(_0x4f38dd){const _0x36638e=_0x208a24,_0x4cd8a4=this['itemLineRect'](_0x4f38dd),_0x2178c5=this[_0x36638e(0x6e4)](_0x4f38dd),_0x59aeae=this[_0x36638e(0x23d)](_0x2178c5)[_0x36638e(0x4fe)];this[_0x36638e(0x8cd)](this[_0x36638e(0xb4f)](_0x4f38dd));const _0x1b8699=this[_0x36638e(0x6a2)]();if(_0x1b8699===_0x36638e(0x5d3))this[_0x36638e(0x49e)](_0x2178c5,_0x4cd8a4['x']+_0x4cd8a4[_0x36638e(0x4fe)]-_0x59aeae,_0x4cd8a4['y'],_0x59aeae);else{if(_0x1b8699==='center'){if(_0x36638e(0x7cc)==='eALln')this[_0x36638e(0xb91)]['show'](),this[_0x36638e(0xb92)][_0x36638e(0x6ec)](),this[_0x36638e(0x918)][_0x36638e(0x674)]();else{const _0x4698e3=_0x4cd8a4['x']+Math[_0x36638e(0x479)]((_0x4cd8a4[_0x36638e(0x4fe)]-_0x59aeae)/0x2);this[_0x36638e(0x49e)](_0x2178c5,_0x4698e3,_0x4cd8a4['y'],_0x59aeae);}}else this[_0x36638e(0x49e)](_0x2178c5,_0x4cd8a4['x'],_0x4cd8a4['y'],_0x59aeae);}},Window_ActorCommand[_0x208a24(0xbd8)]['drawItemStyleIcon']=function(_0x3d44d5){const _0x1e5165=_0x208a24;this[_0x1e5165(0x6e4)](_0x3d44d5)[_0x1e5165(0x7fc)](/\\I\[(\d+)\]/i);const _0x4a82b1=Number(RegExp['$1'])||0x0,_0x22fd86=this['itemLineRect'](_0x3d44d5),_0x2358d1=_0x22fd86['x']+Math['floor']((_0x22fd86['width']-ImageManager['iconWidth'])/0x2),_0x509509=_0x22fd86['y']+(_0x22fd86[_0x1e5165(0x1fa)]-ImageManager['iconHeight'])/0x2;this['drawIcon'](_0x4a82b1,_0x2358d1,_0x509509);},Window_ActorCommand['prototype'][_0x208a24(0xb8e)]=function(_0xfc9491){const _0x539906=_0x208a24;if(!(VisuMZ['BattleCore'][_0x539906(0xc39)][_0x539906(0x687)][_0x539906(0x665)]??!![]))return;const _0x29a2f8=this['commandSymbol'](_0xfc9491);if(![_0x539906(0x2b9),_0x539906(0xc18),_0x539906(0xcf8)][_0x539906(0xcaf)](_0x29a2f8))return;const _0x5e4721=this[_0x539906(0x617)](_0xfc9491);let _0x514c15=null;if(_0x29a2f8===_0x539906(0x2b9)){if(_0x539906(0x662)===_0x539906(0x751))return!![];else _0x514c15=$dataSkills[this[_0x539906(0x302)][_0x539906(0x4be)]()];}else _0x29a2f8==='guard'?_0x539906(0x533)!==_0x539906(0x533)?(!_0x50fb61[_0x539906(0x3d9)]()['includes'](this[_0x539906(0x789)])&&(this[_0x539906(0x789)]=null),this[_0x539906(0x789)]?(this[_0x539906(0x21e)]=this[_0x539906(0x789)],this[_0x539906(0x21e)]['_tpbState']=_0x539906(0xafb),this[_0x539906(0x4bf)]=!![],this['_tpbSceneChangeCacheActor']=null):(this[_0x539906(0xc01)](),this[_0x539906(0x21e)]=null,this[_0x539906(0x4bf)]=![])):_0x514c15=$dataSkills[this[_0x539906(0x302)]['guardSkillId']()]:_0x539906(0x444)===_0x539906(0x444)?_0x514c15=$dataSkills[this['_list'][_0xfc9491][_0x539906(0xb5b)]]:(_0x2139bf+=_0x37f45d[_0x539906(0x5a5)][_0x539906(0x7ae)]||0x0,_0x462050+=_0x4fab17[_0x539906(0x5a5)][_0x539906(0x153)]||0x0);this[_0x539906(0x55d)](this[_0x539906(0x302)],_0x514c15,_0x5e4721['x'],_0x5e4721['y'],_0x5e4721[_0x539906(0x4fe)]);},Window_ActorCommand[_0x208a24(0xbd8)]['drawSkillCost']=function(_0x1f07c0,_0x1d2b64,_0x4a633f,_0x21b333,_0x502c1a){const _0x456fa0=_0x208a24;if(!_0x1d2b64)return;Imported['VisuMZ_1_SkillsStatesCore']?Window_Command['prototype']['drawSkillCost'][_0x456fa0(0x783)](this,_0x1f07c0,_0x1d2b64,_0x4a633f,_0x21b333,_0x502c1a):Window_SkillList[_0x456fa0(0xbd8)]['drawSkillCost'][_0x456fa0(0x783)](this,_0x1d2b64,_0x4a633f,_0x21b333,_0x502c1a);},Window_ActorCommand['prototype']['hide']=function(){},Window_ActorCommand[_0x208a24(0xbd8)]['activate']=function(){const _0x5504d9=_0x208a24;Window_Command[_0x5504d9(0xbd8)][_0x5504d9(0x674)][_0x5504d9(0x783)](this);const _0x11bf33=this[_0x5504d9(0x71c)]();_0x11bf33===_0x5504d9(0x4f5)&&(_0x5504d9(0x328)===_0x5504d9(0x294)?(_0x3190ec[_0x5504d9(0x759)][_0x5504d9(0xd6)][_0x5504d9(0x783)](this),this['createActorCommandWindowBattleCore']()):this[_0x5504d9(0x130)]());},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x71c)]=function(){const _0x414f3d=_0x208a24;if(this[_0x414f3d(0xbd6)])return this['_battleLayoutStyle'];return this[_0x414f3d(0xbd6)]=SceneManager['_scene'][_0x414f3d(0x71c)](),this[_0x414f3d(0xbd6)];},VisuMZ[_0x208a24(0x759)][_0x208a24(0xa67)]=Window_ActorCommand['prototype'][_0x208a24(0x876)],Window_ActorCommand['prototype']['setup']=function(_0x48381a){const _0x40326c=_0x208a24,_0x5f1e82=this[_0x40326c(0x71c)]();if(_0x48381a&&['xp',_0x40326c(0x372)][_0x40326c(0xcaf)](_0x5f1e82))_0x40326c(0x96c)!==_0x40326c(0x96c)?this[_0x40326c(0x5e0)]():this[_0x40326c(0xc9c)](_0x48381a);else{if(_0x48381a&&['border'][_0x40326c(0xcaf)](_0x5f1e82)){if(_0x40326c(0x904)===_0x40326c(0xd18)){const _0x57356c=this[_0x40326c(0xa1e)];_0x57356c[_0x40326c(0x10e)](_0x149155,0x0,_0x25e6f6['y'],_0x57356c[_0x40326c(0x90d)],_0x40326c(0x1c0));}else this[_0x40326c(0x2a9)](_0x48381a),this[_0x40326c(0x130)]();}}VisuMZ[_0x40326c(0x759)][_0x40326c(0xa67)][_0x40326c(0x783)](this,_0x48381a),_0x48381a&&$gameTroop[_0x40326c(0x49a)]()[_0x40326c(0x1ba)]>0x0&&_0x48381a[_0x40326c(0xd08)]()&&_0x48381a[_0x40326c(0xd08)]()[_0x40326c(0xaae)]();},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0xc9c)]=function(_0x465640){const _0x5e5432=_0x208a24,_0x4461fe=VisuMZ['BattleCore'][_0x5e5432(0xc39)]['BattleLayout'][_0x5e5432(0xb59)],_0x42ebca=Math['round'](Graphics[_0x5e5432(0xa53)]/0x3),_0x1f73cf=Math['round'](Graphics[_0x5e5432(0xa53)]/$gameParty['battleMembers']()[_0x5e5432(0x1ba)]),_0x432125=Math[_0x5e5432(0x6db)](Math['min'](_0x42ebca,_0x1f73cf),_0x4461fe),_0x57bc4f=this['fittingHeight'](VisuMZ[_0x5e5432(0x759)][_0x5e5432(0xc39)][_0x5e5432(0x148)][_0x5e5432(0xb07)]),_0x35f29d=Math[_0x5e5432(0x479)]((Graphics[_0x5e5432(0xa53)]-Graphics[_0x5e5432(0x4fe)])/0x2),_0x50a9d8=Graphics[_0x5e5432(0xa53)]-_0x35f29d,_0x170895=(Math['round'](_0x1f73cf*_0x465640[_0x5e5432(0x22f)]())+Math[_0x5e5432(0xd50)]((_0x1f73cf-_0x432125)/0x2))[_0x5e5432(0x345)](_0x35f29d,_0x50a9d8-_0x432125),_0x38e8ba=Math['round'](SceneManager[_0x5e5432(0xc1b)][_0x5e5432(0xb91)]['y']-_0x57bc4f);this[_0x5e5432(0x760)](_0x170895,_0x38e8ba,_0x432125,_0x57bc4f),this[_0x5e5432(0x785)](),this[_0x5e5432(0xc79)](0x1);},Window_ActorCommand['prototype'][_0x208a24(0x2a9)]=function(_0x102a68){const _0x5bda2f=_0x208a24,_0xd4fbf6=SceneManager[_0x5bda2f(0xc1b)][_0x5bda2f(0x10d)]();this[_0x5bda2f(0x760)](_0xd4fbf6['x'],_0xd4fbf6['y'],_0xd4fbf6['width'],_0xd4fbf6[_0x5bda2f(0x1fa)]),this[_0x5bda2f(0x785)](),this[_0x5bda2f(0xc79)](0x0);},Window_ActorCommand[_0x208a24(0xbd8)][_0x208a24(0x12d)]=function(){const _0x4785b4=_0x208a24;if(this[_0x4785b4(0xb55)]){if('WdUGO'!==_0x4785b4(0x78e))this[_0x4785b4(0x1e0)]=this['_targetFloatHeight'];else{const _0x2acc60=this[_0x4785b4(0xb55)][_0x4785b4(0x63f)],_0x3324cd=this[_0x4785b4(0x4fe)]-0x8,_0x13f9ee=this[_0x4785b4(0x1fa)],_0xc5acfc=this['padding'],_0x8745c1=ColorManager[_0x4785b4(0xcd2)](),_0x30d07d=ColorManager['dimColor2']();this[_0x4785b4(0xb55)]['x']=0x4,_0x2acc60[_0x4785b4(0x2b2)](_0x3324cd,_0x13f9ee),_0x2acc60['gradientFillRect'](0x0,0x0,_0x3324cd,_0xc5acfc,_0x30d07d,_0x8745c1,!![]),_0x2acc60[_0x4785b4(0xaa8)](0x0,_0xc5acfc,_0x3324cd,_0x13f9ee-_0xc5acfc*0x2,_0x8745c1),_0x2acc60[_0x4785b4(0xa0b)](0x0,_0x13f9ee-_0xc5acfc,_0x3324cd,_0xc5acfc,_0x8745c1,_0x30d07d,!![]),this[_0x4785b4(0xb55)][_0x4785b4(0x62c)](0x0,0x0,_0x3324cd,_0x13f9ee);}}},Window_ActorCommand['prototype'][_0x208a24(0x857)]=function(){const _0x26b8e5=_0x208a24;if(!this[_0x26b8e5(0x302)])return;const _0x20c8cd=VisuMZ[_0x26b8e5(0x759)][_0x26b8e5(0xc39)][_0x26b8e5(0x687)],_0x2d273e=this[_0x26b8e5(0x6b2)]();switch(_0x2d273e){case _0x26b8e5(0x2b9):this[_0x26b8e5(0x2cd)]($dataSkills[this[_0x26b8e5(0x302)][_0x26b8e5(0x4be)]()]);break;case _0x26b8e5(0xc18):this[_0x26b8e5(0x2cd)]($dataSkills[this[_0x26b8e5(0x302)][_0x26b8e5(0x152)]()]);break;case _0x26b8e5(0xd1e):const _0x516777=_0x20c8cd[_0x26b8e5(0x85f)],_0x22527d=_0x516777[_0x26b8e5(0x75a)]($dataSystem[_0x26b8e5(0x389)][this[_0x26b8e5(0x34c)]()]);this[_0x26b8e5(0xd53)][_0x26b8e5(0x966)](_0x22527d);break;case'singleSkill':this[_0x26b8e5(0x2cd)]($dataSkills[this[_0x26b8e5(0x34c)]()]);break;case _0x26b8e5(0x8bb):this[_0x26b8e5(0xd53)][_0x26b8e5(0x966)](_0x20c8cd['HelpItem']);break;case'escape':this['_helpWindow'][_0x26b8e5(0x966)](_0x20c8cd[_0x26b8e5(0x710)]);break;case _0x26b8e5(0x402):this[_0x26b8e5(0xd53)][_0x26b8e5(0x966)](_0x20c8cd[_0x26b8e5(0x13a)]);break;default:this[_0x26b8e5(0xd53)]['setText']('');break;}},Window_ActorCommand['prototype'][_0x208a24(0x5e9)]=function(){const _0x14348f=_0x208a24;this[_0x14348f(0x110)](0x0);if(this[_0x14348f(0x302)]&&ConfigManager[_0x14348f(0x653)]){const _0x16771e=this[_0x14348f(0x302)][_0x14348f(0x779)]();this['selectSymbol'](_0x16771e);if(_0x16771e===_0x14348f(0xd1e)){const _0x248bac=this[_0x14348f(0x302)][_0x14348f(0x661)]();if(_0x248bac){if('WadOT'===_0x14348f(0x8fe))this[_0x14348f(0x443)]=!![];else{const _0x1b67de=this[_0x14348f(0x15b)]('skill',_0x248bac[_0x14348f(0x56d)]);this[_0x14348f(0x80c)](_0x1b67de||0x0);}}}else{if(_0x16771e===_0x14348f(0xcf8)){if(_0x14348f(0xc51)!==_0x14348f(0xc51)){const _0x54977d=this[_0x14348f(0x617)](_0x4ee87e),_0x3697e1=this[_0x14348f(0x6e4)](_0x3d2e60),_0x20c3bc=this[_0x14348f(0x23d)](_0x3697e1)['width'];this[_0x14348f(0x8cd)](this[_0x14348f(0xb4f)](_0x3849de));const _0x4a3339=this[_0x14348f(0x6a2)]();if(_0x4a3339==='right')this[_0x14348f(0x49e)](_0x3697e1,_0x54977d['x']+_0x54977d[_0x14348f(0x4fe)]-_0x20c3bc,_0x54977d['y'],_0x20c3bc);else{if(_0x4a3339==='center'){const _0x50faca=_0x54977d['x']+_0x13b1c0[_0x14348f(0x479)]((_0x54977d[_0x14348f(0x4fe)]-_0x20c3bc)/0x2);this['drawTextEx'](_0x3697e1,_0x50faca,_0x54977d['y'],_0x20c3bc);}else this[_0x14348f(0x49e)](_0x3697e1,_0x54977d['x'],_0x54977d['y'],_0x20c3bc);}}else{const _0x328e29=this['_actor'][_0x14348f(0x661)]();if(_0x328e29){const _0x5f267e=this[_0x14348f(0x15b)](_0x14348f(0xcf8),_0x328e29['id']);this[_0x14348f(0x80c)](_0x5f267e||0x0);}}}}}},Window_ActorCommand['prototype']['findSymbolExt']=function(_0x93fed8,_0x397007){const _0x489431=_0x208a24;return this[_0x489431(0xb8f)]['findIndex'](_0x89b2c=>_0x89b2c[_0x489431(0x641)]===_0x93fed8&&_0x89b2c['ext']===_0x397007);},VisuMZ[_0x208a24(0x759)]['Window_BattleStatus_initialize']=Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x3bf)],Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x3bf)]=function(_0x3ca520){const _0x264713=_0x208a24;VisuMZ['BattleCore'][_0x264713(0xbb5)][_0x264713(0x783)](this,_0x3ca520),this[_0x264713(0x17f)](),this[_0x264713(0x228)]();},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x71c)]=function(){const _0x31f421=_0x208a24;if(this[_0x31f421(0xbd6)])return this[_0x31f421(0xbd6)];return this[_0x31f421(0xbd6)]=SceneManager[_0x31f421(0xc1b)][_0x31f421(0x71c)](),this['_battleLayoutStyle'];},Window_BattleStatus['prototype'][_0x208a24(0x17f)]=function(){const _0x3e2ef8=_0x208a24;this['frameVisible']=this['isFrameVisible']();const _0xc26e37=VisuMZ[_0x3e2ef8(0x759)]['Settings'][_0x3e2ef8(0x148)];_0xc26e37[_0x3e2ef8(0xb5e)]&&(this[_0x3e2ef8(0x34f)]=0x0);},Window_BattleStatus['prototype'][_0x208a24(0x561)]=function(){const _0x221497=_0x208a24,_0x596f81=VisuMZ[_0x221497(0x759)][_0x221497(0xc39)]['BattleLayout'];if(_0x596f81['StatusWindowSkinFilename']){if('BICqx'!==_0x221497(0x241))return!![];else this[_0x221497(0x478)]=![],this['_autoBattle']=_0x36f50b['autoBattleAtStart'],this[_0x221497(0x8f0)]=![],this[_0x221497(0x192)]('PreStartBattleJS'),_0x5ab847['BattleCore']['BattleManager_startBattle']['call'](this),this[_0x221497(0x192)](_0x221497(0xb69));}const _0x2556cc=this[_0x221497(0x71c)]();switch(_0x2556cc){case _0x221497(0x38d):case _0x221497(0x4f5):return!![];break;case _0x221497(0x914):case'xp':case _0x221497(0x372):default:return![];break;}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0xafa)]=function(){const _0x365827=_0x208a24;return this[_0x365827(0x561)]()?0x0:0xa;},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0xa96)]=function(){const _0x47fc82=_0x208a24,_0x5b6759=this[_0x47fc82(0x71c)]();switch(_0x5b6759){case'list':return 0x1;break;case'xp':case _0x47fc82(0x372):return $gameParty[_0x47fc82(0x3d9)]()[_0x47fc82(0x1ba)];break;case _0x47fc82(0x914):default:return $gameParty[_0x47fc82(0x828)]();break;}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x7d1)]=function(){const _0x199066=_0x208a24,_0xf5dce9=this[_0x199066(0x71c)]();switch(_0xf5dce9){case _0x199066(0x38d):return Window_StatusBase[_0x199066(0xbd8)][_0x199066(0x7d1)][_0x199066(0x783)](this);break;case _0x199066(0x914):case'xp':case _0x199066(0x372):default:return this['innerHeight'];break;}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x903)]=function(){const _0x23d6c3=_0x208a24,_0x3c35f6=this['battleLayoutStyle']();switch(_0x3c35f6){case _0x23d6c3(0x38d):return Window_StatusBase[_0x23d6c3(0xbd8)][_0x23d6c3(0x903)][_0x23d6c3(0x783)](this);break;case _0x23d6c3(0x914):case'xp':case _0x23d6c3(0x372):default:return 0x0;break;}},Window_BattleStatus['prototype'][_0x208a24(0x8c2)]=function(){const _0x30b724=_0x208a24;if(this[_0x30b724(0x561)]()){if('MYdkV'!==_0x30b724(0x35b))Window_StatusBase[_0x30b724(0xbd8)][_0x30b724(0x8c2)][_0x30b724(0x783)](this);else{if(_0x4fcb17[_0x30b724(0xd25)]()&&this[_0x30b724(0x329)]===_0x30b724(0x137))return this['chantStyle']()?this['currentAction']()&&this[_0x30b724(0xa7b)]()[_0x30b724(0x8bb)]()&&!this[_0x30b724(0xa7b)]()[_0x30b724(0xcd9)]():this[_0x30b724(0xa7b)]()&&this[_0x30b724(0xa7b)]()['item']()&&!this['currentAction']()['isMagicSkill']();return![];}}else this['padding']=0x8;},Window_BattleStatus[_0x208a24(0xbd8)]['loadWindowskin']=function(){const _0x23f43b=_0x208a24,_0x1bf3b8=VisuMZ[_0x23f43b(0x759)][_0x23f43b(0xc39)][_0x23f43b(0x148)];if(_0x1bf3b8[_0x23f43b(0xc8d)]){if(_0x23f43b(0x956)===_0x23f43b(0x90a))return _0x4f5e08(_0x251066['$1']);else this[_0x23f43b(0x447)]=ImageManager[_0x23f43b(0x5a0)](_0x1bf3b8[_0x23f43b(0xc8d)]);}else _0x23f43b(0x6e8)!==_0x23f43b(0x6e8)?(this[_0x23f43b(0x8f0)]=!![],this[_0x23f43b(0x192)](_0x23f43b(0x5af)),_0x50f2c4[_0x23f43b(0x759)][_0x23f43b(0x16d)]['call'](this),this[_0x23f43b(0x4e7)]('Victory')):Window_StatusBase[_0x23f43b(0xbd8)][_0x23f43b(0x9d8)]['call'](this);},Window_BattleStatus[_0x208a24(0xbd8)]['drawItemBackground']=function(_0x418bbd){const _0xaca3f=_0x208a24,_0x349514=VisuMZ[_0xaca3f(0x759)][_0xaca3f(0xc39)]['BattleLayout'];if(_0x349514[_0xaca3f(0x344)])return;Window_StatusBase[_0xaca3f(0xbd8)]['drawItemBackground'][_0xaca3f(0x783)](this,_0x418bbd);},Window_BattleStatus['prototype']['requestRefresh']=function(){const _0x342bec=_0x208a24;this[_0x342bec(0x811)]=!![];},Window_BattleStatus['prototype']['update']=function(){const _0x13f509=_0x208a24;Window_StatusBase[_0x13f509(0xbd8)][_0x13f509(0x3c1)]['call'](this),this[_0x13f509(0x274)](),this[_0x13f509(0xa2)]();if(this[_0x13f509(0x71c)]()==='border')this[_0x13f509(0x308)]();},Window_BattleStatus[_0x208a24(0xbd8)]['updateRefresh']=function(){const _0x5302ae=_0x208a24;if($gameTemp['isBattleRefreshRequested']()){if('zsUKK'!==_0x5302ae(0x5fd))this['preparePartyRefresh'](),this['_requestRefresh']=![],$gameTemp['clearBattleRefreshRequest']();else{const _0x494180=this['itemLineRect'](this[_0x5302ae(0x22f)]());let _0x91903e=this[_0x5302ae(0x6e4)](this[_0x5302ae(0x22f)]());_0x91903e=_0x91903e['replace'](/\\I\[(\d+)\]/gi,''),_0x392102[_0x5302ae(0x556)](),this[_0x5302ae(0x4d3)](_0x91903e,_0x494180),this[_0x5302ae(0x89c)](_0x91903e,_0x494180),this[_0x5302ae(0xcd5)](_0x91903e,_0x494180);}}else{if(this[_0x5302ae(0x811)]){if(_0x5302ae(0x315)==='griNu')return![];else this[_0x5302ae(0x811)]=![],this[_0x5302ae(0xa22)](),this[_0x5302ae(0x8ed)]();}}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0xb3e)]=function(){const _0xc4c5b6=_0x208a24;Window_StatusBase[_0xc4c5b6(0xbd8)][_0xc4c5b6(0xb3e)]['call'](this);if(!$gameSystem[_0xc4c5b6(0x620)]())this[_0xc4c5b6(0xa22)]();},Window_BattleStatus['prototype']['hide']=function(){const _0xdacbd=_0x208a24;if(this[_0xdacbd(0x594)]===Window_BattleStatus)return;Window_StatusBase['prototype'][_0xdacbd(0x6ec)][_0xdacbd(0x783)](this);},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x9c5)]=function(_0x7630f){const _0x3920bd=_0x208a24,_0x5628b2=this[_0x3920bd(0x71c)]();switch(_0x5628b2){case'xp':case'portrait':break;case'default':case _0x3920bd(0x38d):case'border':default:return Window_StatusBase['prototype'][_0x3920bd(0x9c5)]['call'](this,_0x7630f);break;}},VisuMZ['BattleCore'][_0x208a24(0x48b)]=Window_BattleStatus[_0x208a24(0xbd8)]['drawItemImage'],Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x2df)]=function(_0x490fb3){const _0x5a578e=_0x208a24,_0x5efd7d=this['battleLayoutStyle']();switch(_0x5efd7d){case _0x5a578e(0x38d):this['drawItemImageListStyle'](_0x490fb3);break;case'xp':this[_0x5a578e(0xbc2)](_0x490fb3);break;case'portrait':this['drawItemImagePortraitStyle'](_0x490fb3);break;case _0x5a578e(0x914):case _0x5a578e(0x4f5):default:VisuMZ[_0x5a578e(0x759)][_0x5a578e(0x48b)][_0x5a578e(0x783)](this,_0x490fb3);break;}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x7f0)]=function(_0x1047b2){const _0x55b859=_0x208a24,_0x1654e9=this[_0x55b859(0x71c)]();if(!$gameSystem[_0x55b859(0x620)]())this[_0x55b859(0x8a7)](_0x1047b2);switch(_0x1654e9){case _0x55b859(0x38d):this['drawItemStatusListStyle'](_0x1047b2);break;case'xp':case _0x55b859(0x372):case _0x55b859(0x914):case _0x55b859(0x4f5):default:this[_0x55b859(0xe1)](_0x1047b2);break;}},Window_BattleStatus['prototype']['refreshCursor']=function(){const _0x2c98b8=_0x208a24,_0x89aad6=this['battleLayoutStyle']();if(['xp'][_0x2c98b8(0xcaf)](_0x89aad6)&&!$gameSystem[_0x2c98b8(0x620)]()){this[_0x2c98b8(0x91c)](0x0,0x0,0x0,0x0);return;}Window_StatusBase['prototype'][_0x2c98b8(0x5fb)][_0x2c98b8(0x783)](this);},Window_BattleStatus['prototype']['centerFrontViewSprite']=function(_0x243639){const _0x58cb98=_0x208a24,_0x4e5157=this[_0x58cb98(0x178)](_0x243639)[_0x58cb98(0xd08)]();if(!_0x4e5157)return;const _0x296914=this[_0x58cb98(0x71c)](),_0x551348=this[_0x58cb98(0x69a)](_0x243639);let _0x431c11=Math[_0x58cb98(0xd50)](_0x551348['x']+_0x551348[_0x58cb98(0x4fe)]/0x2)+this[_0x58cb98(0x11b)];[_0x58cb98(0x38d)]['includes'](_0x296914)&&(_0x431c11=_0x551348[_0x58cb98(0x4fe)]/$gameParty[_0x58cb98(0x3d9)]()[_0x58cb98(0x1ba)],_0x431c11*=_0x243639,_0x431c11+=_0x551348[_0x58cb98(0x4fe)]/$gameParty[_0x58cb98(0x3d9)]()[_0x58cb98(0x1ba)]/0x2);let _0xb68e48=Math[_0x58cb98(0xd50)](this[_0x58cb98(0x181)](_0x243639,_0x4e5157,_0x551348));_0x4e5157[_0x58cb98(0x108)](_0x431c11,_0xb68e48),this[_0x58cb98(0x9cc)](_0x4e5157,0x1),_0x4e5157[_0x58cb98(0xb3e)](),this[_0x58cb98(0x793)](),this[_0x58cb98(0x8ed)]();},Window_BattleStatus['prototype'][_0x208a24(0x181)]=function(_0x3f903b,_0x25565a,_0x27fa2b){const _0x315269=_0x208a24,_0x5e06d5=VisuMZ[_0x315269(0x759)][_0x315269(0xc39)][_0x315269(0x148)],_0x37a38f=this[_0x315269(0x71c)]();if(_0x37a38f==='xp'){const _0x5bf873=_0x5e06d5[_0x315269(0xbaf)];switch(_0x5bf873[_0x315269(0x717)]()[_0x315269(0x446)]()){case _0x315269(0x810):return _0x27fa2b[_0x315269(0x1fa)]-_0x25565a[_0x315269(0x1c2)][_0x315269(0x1fa)]/0x4;break;case _0x315269(0x1c0):const _0x31f1de=_0x5e06d5[_0x315269(0x111)];return(_0x27fa2b['height']+(_0x25565a['height']||_0x31f1de))/0x2;break;case _0x315269(0xa9e):return 0x0;case _0x315269(0x278):default:return this['nameY'](_0x27fa2b);break;}}else{if(_0x37a38f===_0x315269(0x372)){}}return _0x25565a[_0x315269(0x1fa)];},Sprite_Name[_0x208a24(0xbd8)][_0x208a24(0x279)]=function(){return 0x24;},Sprite_Name[_0x208a24(0xbd8)][_0x208a24(0x1ae)]=function(){const _0x49d646=_0x208a24,_0x564d0e=this[_0x49d646(0x278)](),_0x289f76=this[_0x49d646(0x334)](),_0x1c1be5=this[_0x49d646(0x279)]();this[_0x49d646(0xba7)](),this['bitmap'][_0x49d646(0xb03)](),this['bitmap'][_0x49d646(0x74c)](_0x564d0e,0x4,0x0,_0x289f76,_0x1c1be5,_0x49d646(0x562));},Bitmap[_0x208a24(0xbd8)][_0x208a24(0x74c)]=function(_0x49e104,_0x1324f6,_0x1659b6,_0x44e93b,_0xc9ea91,_0x3084a6){const _0x5332be=_0x208a24;if(TextManager[_0x5332be(0x40a)]){if('RTbsn'!==_0x5332be(0xb31))return![];else _0x49e104=TextManager[_0x5332be(0x40a)](_0x49e104);}const _0x6b458e=this[_0x5332be(0x20f)],_0xc2ce08=_0x6b458e[_0x5332be(0x38b)];_0x44e93b=_0x44e93b||0xffffffff;let _0x499d62=_0x1324f6,_0x1de77b=Math[_0x5332be(0xd50)](_0x1659b6+0x18/0x2+this[_0x5332be(0xa48)]*0.35);_0x3084a6==='center'&&(_0x499d62+=_0x44e93b/0x2),_0x3084a6===_0x5332be(0x5d3)&&(_0x499d62+=_0x44e93b),_0x6b458e['save'](),_0x6b458e['font']=this['_makeFontNameText'](),_0x6b458e[_0x5332be(0x72a)]=_0x3084a6,_0x6b458e[_0x5332be(0x65b)]=_0x5332be(0x1fe),_0x6b458e[_0x5332be(0x38b)]=0x1,this['_drawTextOutline'](_0x49e104,_0x499d62,_0x1de77b,_0x44e93b),_0x6b458e[_0x5332be(0x38b)]=_0xc2ce08,this['_drawTextBody'](_0x49e104,_0x499d62,_0x1de77b,_0x44e93b),_0x6b458e[_0x5332be(0x5c6)](),this[_0x5332be(0x240)][_0x5332be(0x3c1)]();},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0xd0e)]=function(_0x39d1b6){const _0x1deb7a=_0x208a24;return this[_0x1deb7a(0x48e)](_0x39d1b6)-this[_0x1deb7a(0x353)]();},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x4ec)]=function(_0x56bded){const _0x26f5df=_0x208a24;if(!VisuMZ[_0x26f5df(0x759)][_0x26f5df(0xc39)]['BattleLayout'][_0x26f5df(0x88d)])return;const _0x5a1aef=this[_0x26f5df(0x178)](_0x56bded),_0x9c56ea=this[_0x26f5df(0x69a)](_0x56bded);_0x9c56ea[_0x26f5df(0x4fe)]=ImageManager[_0x26f5df(0xc1d)],_0x9c56ea[_0x26f5df(0x1fa)]-=0x2,this[_0x26f5df(0x407)](_0x5a1aef,_0x9c56ea['x']+0x1,_0x9c56ea['y']+0x1,_0x9c56ea[_0x26f5df(0x4fe)],_0x9c56ea['height']);},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x28f)]=function(_0x227391){const _0x5c9122=_0x208a24,_0x4b1922=VisuMZ[_0x5c9122(0x759)]['Settings'][_0x5c9122(0x148)],_0x73679d=$dataSystem[_0x5c9122(0x266)]?0x4:0x3,_0x3ed880=_0x73679d*0x80+(_0x73679d-0x1)*0x8+0x4,_0x4e4593=this[_0x5c9122(0x178)](_0x227391),_0x8f5878=this[_0x5c9122(0x69a)](_0x227391);let _0x5a145d=_0x8f5878['x']+this[_0x5c9122(0x11b)];_0x4b1922['ShowFacesListStyle']?_0x5a145d=_0x8f5878['x']+ImageManager[_0x5c9122(0xc1d)]+0x8:_0x5a145d+=ImageManager['iconWidth'];const _0x3b38b7=Math[_0x5c9122(0xd50)](Math['min'](_0x8f5878['x']+_0x8f5878[_0x5c9122(0x4fe)]-_0x3ed880,_0x5a145d)),_0x20d564=Math[_0x5c9122(0xd50)](_0x8f5878['y']+(_0x8f5878[_0x5c9122(0x1fa)]-Sprite_Name[_0x5c9122(0xbd8)][_0x5c9122(0x279)]())/0x2),_0x492f65=Math[_0x5c9122(0xd50)](_0x3b38b7-ImageManager[_0x5c9122(0x808)]/0x2-0x4),_0x39bfe4=Math['round'](_0x8f5878['y']+(_0x8f5878['height']-ImageManager[_0x5c9122(0x60c)])/0x2+ImageManager['iconHeight']/0x2);let _0x21c979=_0x3b38b7+0x88;const _0x461971=_0x20d564;this['placeTimeGauge'](_0x4e4593,_0x3b38b7-0x4+(_0x4b1922['TpbGaugeOffsetX']||0x0),_0x20d564+(_0x4b1922[_0x5c9122(0x96a)]||0x0)),this[_0x5c9122(0x57e)](_0x4e4593,_0x3b38b7+(_0x4b1922[_0x5c9122(0xc30)]||0x0),_0x20d564+(_0x4b1922['NameOffsetY']||0x0)),this[_0x5c9122(0x777)](_0x4e4593,_0x492f65+(_0x4b1922[_0x5c9122(0x7f1)]||0x0),_0x39bfe4+(_0x4b1922[_0x5c9122(0x7a3)]||0x0)),this[_0x5c9122(0x7b9)](_0x4e4593,'hp',_0x21c979+0x88*0x0+(_0x4b1922[_0x5c9122(0x1e6)]||0x0),_0x461971+(_0x4b1922[_0x5c9122(0x3c9)]||0x0)),this[_0x5c9122(0x7b9)](_0x4e4593,'mp',_0x21c979+0x88*0x1+(_0x4b1922['MpGaugeOffsetX']||0x0),_0x461971+(_0x4b1922[_0x5c9122(0xa75)]||0x0)),$dataSystem[_0x5c9122(0x266)]&&this[_0x5c9122(0x7b9)](_0x4e4593,'tp',_0x21c979+0x88*0x2+(_0x4b1922[_0x5c9122(0x145)]||0x0),_0x461971+(_0x4b1922[_0x5c9122(0x8ba)]||0x0));},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0xbc2)]=function(_0x31883c){const _0x318b73=_0x208a24;if(!$gameSystem[_0x318b73(0x620)]())return;VisuMZ[_0x318b73(0x759)][_0x318b73(0x48b)][_0x318b73(0x783)](this,_0x31883c);},Window_BattleStatus[_0x208a24(0xbd8)]['drawItemStatusXPStyle']=function(_0x532952){const _0x414c24=_0x208a24,_0x13f1af=VisuMZ['BattleCore'][_0x414c24(0xc39)][_0x414c24(0x148)],_0x18c3f8=this[_0x414c24(0x178)](_0x532952),_0x2d9d3e=this['itemRect'](_0x532952),_0x2db00e=Math['round'](_0x2d9d3e['x']+(_0x2d9d3e[_0x414c24(0x4fe)]-0x80)/0x2),_0xd2ee10=this[_0x414c24(0xd0e)](_0x2d9d3e);let _0x101fbd=_0x2db00e-ImageManager['iconWidth']/0x2-0x4,_0x175e35=_0xd2ee10+ImageManager[_0x414c24(0x60c)]/0x2;if(_0x101fbd-ImageManager[_0x414c24(0x808)]/0x2<_0x2d9d3e['x']){if(_0x414c24(0x404)!==_0x414c24(0x404)){const _0x550f88=this[_0x414c24(0x6e4)](_0x78bc13);if(_0x550f88[_0x414c24(0x7fc)](/\\I\[(\d+)\]/i)){const _0x5199c2=this[_0x414c24(0x617)](_0x409c02),_0x42a9fb=this[_0x414c24(0x23d)](_0x550f88)[_0x414c24(0x4fe)];return _0x42a9fb<=_0x5199c2[_0x414c24(0x4fe)]?'iconText':_0x414c24(0xa86);}}else _0x101fbd=_0x2db00e+ImageManager[_0x414c24(0x808)]/0x2-0x4,_0x175e35=_0xd2ee10-ImageManager[_0x414c24(0x60c)]/0x2;}const _0x2db3d2=_0x2db00e,_0x4d1d07=this['basicGaugesY'](_0x2d9d3e);this[_0x414c24(0xa0c)](_0x18c3f8,_0x2db00e+(_0x13f1af[_0x414c24(0x1d3)]||0x0),_0xd2ee10+(_0x13f1af[_0x414c24(0x96a)]||0x0)),this['placeActorName'](_0x18c3f8,_0x2db00e+(_0x13f1af[_0x414c24(0xc30)]||0x0),_0xd2ee10+(_0x13f1af['NameOffsetY']||0x0)),this['placeStateIcon'](_0x18c3f8,_0x101fbd+(_0x13f1af['StateIconOffsetX']||0x0),_0x175e35+(_0x13f1af['StateIconOffsetY']||0x0)),this[_0x414c24(0x7b9)](_0x18c3f8,'hp',_0x2db3d2+(_0x13f1af[_0x414c24(0x1e6)]||0x0),_0x4d1d07+(_0x13f1af['HpGaugeOffsetY']||0x0)),this['placeGauge'](_0x18c3f8,'mp',_0x2db3d2+(_0x13f1af[_0x414c24(0x70f)]||0x0),_0x4d1d07+this[_0x414c24(0x353)]()+(_0x13f1af[_0x414c24(0xa75)]||0x0)),$dataSystem[_0x414c24(0x266)]&&this['placeGauge'](_0x18c3f8,'tp',_0x2db3d2+(_0x13f1af[_0x414c24(0x145)]||0x0),_0x4d1d07+this['gaugeLineHeight']()*0x2+(_0x13f1af[_0x414c24(0x8ba)]||0x0));},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x123)]=function(_0x2fb8df){const _0x4cb920=_0x208a24;if(!VisuMZ['BattleCore'][_0x4cb920(0xc39)][_0x4cb920(0x148)][_0x4cb920(0x4f2)])return![];if(_0x2fb8df[_0x4cb920(0x819)]())return!![];return Imported[_0x4cb920(0xa14)]&&_0x2fb8df[_0x4cb920(0x531)]();},Game_Actor[_0x208a24(0xbd8)]['getBattlePortraitOffsetX']=function(){const _0x2caf6b=_0x208a24;if(this[_0x2caf6b(0x178)]()[_0x2caf6b(0x6c4)][_0x2caf6b(0x7fc)](/<BATTLE (?:IMAGE|PORTRAIT) OFFSET X:[ ]([\+\-]\d+)>/i))return Number(RegExp['$1']);else{if(this[_0x2caf6b(0x178)]()[_0x2caf6b(0x6c4)][_0x2caf6b(0x7fc)](/<BATTLE (?:IMAGE|PORTRAIT) OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)){if(_0x2caf6b(0x3d3)===_0x2caf6b(0x3d3))return Number(RegExp['$1']);else{const _0x501442={'code':0xe6,'indent':0x0,'parameters':[0x1]},_0x311130=_0x1a9062[_0x2caf6b(0x38d)][_0x2caf6b(0x6ce)]();_0xf8eb4f['list'][_0x2caf6b(0x6fc)](_0x501442),_0x3d14e5[_0x2caf6b(0x38d)][_0x2caf6b(0x6fc)](_0x311130);}}}return 0x0;},Game_Actor[_0x208a24(0xbd8)][_0x208a24(0xcb9)]=function(){const _0x20c246=_0x208a24;if(this[_0x20c246(0x178)]()[_0x20c246(0x6c4)][_0x20c246(0x7fc)](/<BATTLE (?:IMAGE|PORTRAIT) OFFSET Y:[ ]([\+\-]\d+)>/i))return Number(RegExp['$1']);else{if(this[_0x20c246(0x178)]()[_0x20c246(0x6c4)][_0x20c246(0x7fc)](/<BATTLE (?:IMAGE|PORTRAIT) OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)){if(_0x20c246(0xad8)!==_0x20c246(0xad8))this[_0x20c246(0x90c)]('skill');else return Number(RegExp['$2']);}}return 0x0;},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x92c)]=function(_0x17f1b3){const _0x2508f7=_0x208a24,_0x57e8e3=this['actor'](_0x17f1b3);if(this[_0x2508f7(0x123)](_0x57e8e3)){if('PzfhP'!==_0x2508f7(0x2e9)){const _0x4cf8d9=_0x2508f7(0xe3)[_0x2508f7(0x75a)](_0x57e8e3[_0x2508f7(0xcf4)]()),_0x20b012=this[_0x2508f7(0x448)](_0x4cf8d9,Sprite),_0x30b803=_0x57e8e3[_0x2508f7(0xaaf)]();_0x30b803!==''?_0x20b012[_0x2508f7(0x63f)]=ImageManager[_0x2508f7(0x474)](_0x30b803):_0x20b012['bitmap']=ImageManager[_0x2508f7(0xd06)];const _0x2d2b56=this[_0x2508f7(0x69a)](_0x17f1b3);_0x20b012[_0x2508f7(0x7ec)]['x']=0.5,_0x20b012[_0x2508f7(0x7ec)]['y']=0x1;let _0x4efba2=Math[_0x2508f7(0xd50)](_0x2d2b56['x']+_0x2d2b56[_0x2508f7(0x4fe)]/0x2)+this[_0x2508f7(0x11b)];_0x4efba2+=_0x57e8e3['getBattlePortraitOffsetX']();let _0x3cfe52=Math['round'](this[_0x2508f7(0x1fa)]);_0x3cfe52+=_0x57e8e3[_0x2508f7(0xcb9)](),_0x20b012[_0x2508f7(0x760)](_0x4efba2,_0x3cfe52);const _0x579ca6=VisuMZ['BattleCore'][_0x2508f7(0xc39)][_0x2508f7(0x148)][_0x2508f7(0x934)];_0x20b012[_0x2508f7(0x867)]['x']=_0x579ca6,_0x20b012[_0x2508f7(0x867)]['y']=_0x579ca6,_0x20b012['show']();}else this[_0x2508f7(0x964)]=[];}else{const _0xad9cb6=this[_0x2508f7(0xd24)](_0x17f1b3);this['drawActorFace'](_0x57e8e3,_0xad9cb6['x'],_0xad9cb6['y'],_0xad9cb6[_0x2508f7(0x4fe)],_0xad9cb6[_0x2508f7(0x1fa)]);}},Window_BattleStatus['prototype'][_0x208a24(0x448)]=function(_0x73d516,_0x8fcbb8){const _0x100fa8=_0x208a24,_0x1a5db2=this[_0x100fa8(0x12c)];if(_0x1a5db2[_0x73d516])return _0x1a5db2[_0x73d516];else{if(_0x100fa8(0x188)!=='vduJO'){const _0x123905=new _0x8fcbb8();return _0x1a5db2[_0x73d516]=_0x123905,this[_0x100fa8(0x350)](_0x123905),this['addChildToBack'](this[_0x100fa8(0xca)]),_0x123905;}else this['_tpbNeedsPartyCommand']=![];}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x95b)]=function(){const _0x126acc=_0x208a24;this[_0x126acc(0xad3)](),this[_0x126acc(0x42a)](),Window_StatusBase[_0x126acc(0xbd8)][_0x126acc(0x95b)][_0x126acc(0x783)](this),this['_createDamageContainer']();},Window_BattleStatus['prototype'][_0x208a24(0xad3)]=function(){const _0x497640=_0x208a24;this[_0x497640(0xca)]=new Sprite(),this[_0x497640(0xca)][_0x497640(0x2cb)]=[new PIXI['filters']['AlphaFilter']()],this[_0x497640(0xca)][_0x497640(0x477)]=new Rectangle(),this[_0x497640(0xca)][_0x497640(0x760)](this[_0x497640(0x879)],this[_0x497640(0x879)]),this[_0x497640(0x739)](this['_cursorArea']);},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x42a)]=function(){const _0x97a7eb=_0x208a24;this[_0x97a7eb(0x12f)]=new Sprite(),this[_0x97a7eb(0x739)](this['_effectsContainer']);},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x793)]=function(){const _0x4db237=_0x208a24;this['_effectsContainer']&&('PyoQF'!==_0x4db237(0x872)?_0x5ed97f+=_0x340472(_0x496dbc['$2']):this[_0x4db237(0x739)](this[_0x4db237(0x12f)]));},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0xa94)]=function(){const _0x1039a3=_0x208a24;this['_damageContainer']=new Sprite(),this[_0x1039a3(0x739)](this[_0x1039a3(0x2e1)]);},Window_BattleStatus['prototype'][_0x208a24(0x24b)]=function(){const _0x5391a0=_0x208a24;this[_0x5391a0(0x81c)]=new Sprite();for(let _0xcc69c=0x0;_0xcc69c<0x9;_0xcc69c++){this[_0x5391a0(0x81c)][_0x5391a0(0x739)](new Sprite());}this[_0x5391a0(0xca)]['addChild'](this[_0x5391a0(0x81c)]);},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x86c)]=function(){const _0x390aeb=_0x208a24;Window_StatusBase[_0x390aeb(0xbd8)][_0x390aeb(0x86c)][_0x390aeb(0x783)](this),this[_0x390aeb(0xb3f)]();},Window_BattleStatus[_0x208a24(0xbd8)]['_updateCursorArea']=function(){const _0x21f4ac=_0x208a24,_0x19be9f=this[_0x21f4ac(0x879)];this[_0x21f4ac(0xca)][_0x21f4ac(0x760)](_0x19be9f,_0x19be9f),this[_0x21f4ac(0xca)]['x']=_0x19be9f-this[_0x21f4ac(0x44e)]['x'],this[_0x21f4ac(0xca)]['y']=_0x19be9f-this[_0x21f4ac(0x44e)]['y'],this['innerWidth']>0x0&&this['innerHeight']>0x0?_0x21f4ac(0xbe7)===_0x21f4ac(0x30a)?_0x4525af[_0x21f4ac(0x39c)](_0x21f4ac(0x5c5),this[_0x21f4ac(0x2fc)][_0x21f4ac(0xc84)](this)):this['_cursorArea'][_0x21f4ac(0x3b3)]=this[_0x21f4ac(0x428)]():this['_cursorArea'][_0x21f4ac(0x3b3)]=![];},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x16e)]=function(){const _0x17de48=_0x208a24;Window_StatusBase[_0x17de48(0xbd8)][_0x17de48(0x16e)][_0x17de48(0x783)](this),this[_0x17de48(0x40d)]();},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x40d)]=function(){const _0x529497=_0x208a24,_0x28934f=this[_0x529497(0xca)][_0x529497(0x65a)][_0x529497(0xa56)](new Point(0x0,0x0)),_0x5eb8ab=this[_0x529497(0xca)][_0x529497(0x477)];_0x5eb8ab['x']=_0x28934f['x']+this[_0x529497(0x44e)]['x'],_0x5eb8ab['y']=_0x28934f['y']+this[_0x529497(0x44e)]['y'],_0x5eb8ab[_0x529497(0x4fe)]=this[_0x529497(0x90d)],_0x5eb8ab[_0x529497(0x1fa)]=this['innerHeight'];},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x503)]=function(_0x53628f){const _0x20854b=_0x208a24;if(this['battleLayoutStyle']()!==_0x20854b(0x372))return;this[_0x20854b(0x92c)](_0x53628f[_0x20854b(0x22f)]());},Window_BattleStatus['prototype'][_0x208a24(0x46c)]=function(_0x32dab4,_0x1ae931){const _0x3b00dc=_0x208a24;if(!this[_0x3b00dc(0x2e1)])return;if(!_0x32dab4)return;if(!_0x1ae931)return;const _0x171b26=this['itemRect'](_0x1ae931['index']());_0x171b26['x']+=_0x171b26[_0x3b00dc(0x4fe)]/0x2+this[_0x3b00dc(0x11b)],_0x32dab4['x']=_0x171b26['x'],_0x32dab4['y']=_0x171b26['y'],this[_0x3b00dc(0x2e1)][_0x3b00dc(0x739)](_0x32dab4);},Window_BattleStatus['prototype'][_0x208a24(0x28c)]=function(_0x50b232){const _0x46b516=_0x208a24;if(!this[_0x46b516(0x2e1)])return;if(!_0x50b232)return;this[_0x46b516(0x2e1)]['removeChild'](_0x50b232);},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x308)]=function(){const _0x5431fd=_0x208a24;if(!this[_0x5431fd(0xc16)]())return;if(!this[_0x5431fd(0x3bd)])this[_0x5431fd(0xd4e)]();this[_0x5431fd(0x2cf)](),this[_0x5431fd(0x86b)]();},Window_BattleStatus['prototype'][_0x208a24(0xc16)]=function(){const _0xfef732=_0x208a24;if(this[_0xfef732(0x594)]!==Window_BattleStatus)return![];if(!SceneManager[_0xfef732(0x8c3)]())return![];return VisuMZ[_0xfef732(0x759)][_0xfef732(0xc39)][_0xfef732(0x148)][_0xfef732(0x450)];},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0xd4e)]=function(){const _0x262216=_0x208a24;this[_0x262216(0x3bd)]=new Sprite();const _0x2d03c3=SceneManager[_0x262216(0xc1b)],_0x54fab4=_0x2d03c3[_0x262216(0xbe8)][_0x262216(0x6d1)](_0x2d03c3[_0x262216(0x848)]);_0x2d03c3[_0x262216(0x9cc)](this[_0x262216(0x3bd)],_0x54fab4),this['_borderPortraitSprite']['anchor']['x']=0.5,this[_0x262216(0x3bd)][_0x262216(0x7ec)]['y']=0x1;const _0x944514=VisuMZ['BattleCore']['Settings'][_0x262216(0x148)][_0x262216(0x6e7)];this[_0x262216(0x3bd)][_0x262216(0x867)]['x']=_0x944514,this[_0x262216(0x3bd)][_0x262216(0x867)]['y']=_0x944514,this[_0x262216(0x3bd)]['y']=this['y']+this[_0x262216(0x1fa)],this[_0x262216(0x165)]=0x0;},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x864)]=function(){const _0x56bec1=_0x208a24;return BattleManager[_0x56bec1(0x6a4)]();},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x2cf)]=function(){const _0x1f9fb7=_0x208a24;this['_borderPortraitSprite'][_0x1f9fb7(0x3b3)]=this[_0x1f9fb7(0x864)]();const _0x56bc6b=BattleManager[_0x1f9fb7(0x178)](),_0x2fa26a=_0x56bc6b?_0x56bc6b[_0x1f9fb7(0xaaf)]()||'':'';if(_0x56bc6b===this[_0x1f9fb7(0x3bd)][_0x1f9fb7(0x178)]&&_0x2fa26a===this['_borderPortraitSprite'][_0x1f9fb7(0x521)])return;this[_0x1f9fb7(0x3bd)]['actor']=_0x56bc6b||this[_0x1f9fb7(0x3bd)][_0x1f9fb7(0x178)],this['_borderPortraitSprite']['lastFilename']=_0x2fa26a;if(!_0x56bc6b){if(_0x1f9fb7(0x6f1)==='czNzG')return;else this[_0x1f9fb7(0xa21)]=_0x1ceeee;}else{if(_0x2fa26a===''){if(_0x1f9fb7(0xb84)!=='qdFMG'){if(this[_0x1f9fb7(0x1ef)]()<=0x0)return;}else{this['_borderPortraitSprite'][_0x1f9fb7(0x63f)]=ImageManager[_0x1f9fb7(0xd06)],this[_0x1f9fb7(0x3bd)][_0x1f9fb7(0x521)]='';return;}}else{const _0x4daab4=ImageManager[_0x1f9fb7(0x474)](_0x2fa26a);this[_0x1f9fb7(0x3bd)][_0x1f9fb7(0x34f)]=0x0,_0x4daab4['addLoadListener'](this['processBorderActor']['bind'](this,_0x4daab4));}}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x730)]=function(_0x512f14){const _0x519dbe=_0x208a24;this[_0x519dbe(0x165)]=0x14,this[_0x519dbe(0x3bd)][_0x519dbe(0x63f)]=_0x512f14;SceneManager[_0x519dbe(0xc1b)][_0x519dbe(0x171)]()?_0x519dbe(0x257)!==_0x519dbe(0x8b1)?(this[_0x519dbe(0x3bd)]['x']=0x0,this[_0x519dbe(0xb0)]=Math[_0x519dbe(0x7af)](_0x512f14[_0x519dbe(0x4fe)]/0x2)):(_0x4f5bc4(_0x40b7c8[_0x519dbe(0x75a)]('BTB')),_0x1b9fcc['exit']()):(this[_0x519dbe(0x3bd)]['x']=this[_0x519dbe(0x4fe)],this[_0x519dbe(0xb0)]=this[_0x519dbe(0x4fe)]*0x3/0x4);this['_borderPortraitSprite']['opacity']=0x0,this['_borderPortraitSprite']['y']=this['y']+this[_0x519dbe(0x1fa)];const _0x56b574=BattleManager[_0x519dbe(0x178)]();_0x56b574&&(_0x519dbe(0xa37)!==_0x519dbe(0xa37)?_0x2dfd03[_0x519dbe(0x759)][_0x519dbe(0xb93)][_0x519dbe(0x783)](this):(this[_0x519dbe(0xb0)]+=_0x56b574[_0x519dbe(0xf3)](),this[_0x519dbe(0x3bd)]['y']+=_0x56b574[_0x519dbe(0xcb9)]()));},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x86b)]=function(){const _0x45684a=_0x208a24;if(this[_0x45684a(0x165)]>0x0){const _0x26f797=this[_0x45684a(0x165)],_0x465721=this[_0x45684a(0x3bd)];_0x465721['x']=(_0x465721['x']*(_0x26f797-0x1)+this[_0x45684a(0xb0)])/_0x26f797,_0x465721[_0x45684a(0x34f)]=(_0x465721[_0x45684a(0x34f)]*(_0x26f797-0x1)+0xff)/_0x26f797,this[_0x45684a(0x165)]--;}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0xa2)]=function(){const _0x1e55d8=_0x208a24;return;this[_0x1e55d8(0x12f)]&&(this[_0x1e55d8(0x12f)]['x']=this['x'],this[_0x1e55d8(0x12f)]['y']=this['y']);if(this[_0x1e55d8(0x2e1)]){if(_0x1e55d8(0x30d)!=='rftHW')this['_damageContainer']['x']=this['x'],this[_0x1e55d8(0x2e1)]['y']=this['y'];else return _0xd5a3d0[_0x1e55d8(0xbd8)][_0x1e55d8(0x1db)]();}},Window_BattleStatus[_0x208a24(0xbd8)][_0x208a24(0x228)]=function(){const _0x13ee17=_0x208a24,_0x22ab4a=VisuMZ[_0x13ee17(0x759)][_0x13ee17(0xc39)][_0x13ee17(0x148)];if(_0x22ab4a[_0x13ee17(0x5bc)]){if('Qobud'===_0x13ee17(0x3d1))return this[_0x13ee17(0xbc8)]()[_0x13ee17(0x5a8)](_0x16a585=>_0x16a585[_0x13ee17(0xacb)]());else{const _0x51543e=new Sprite();_0x51543e[_0x13ee17(0x63f)]=ImageManager[_0x13ee17(0x5a0)](_0x22ab4a[_0x13ee17(0x5bc)]),_0x51543e['x']=_0x22ab4a['StatusWindowAttachmentBackOffsetX']||0x0,_0x51543e['y']=_0x22ab4a['StatusWindowAttachmentBackOffsetY']||0x0,this['addChildToBack'](_0x51543e),this[_0x13ee17(0xd4d)]=_0x51543e;}}if(_0x22ab4a[_0x13ee17(0x87a)]){if('idxQG'!==_0x13ee17(0x3d8))this[_0x13ee17(0x570)]='';else{const _0x30025e=new Sprite();_0x30025e['bitmap']=ImageManager['loadSystem'](_0x22ab4a[_0x13ee17(0x87a)]),_0x30025e['x']=_0x22ab4a['StatusWindowAttachmentFrontOffsetX']||0x0,_0x30025e['y']=_0x22ab4a['StatusWindowAttachmentFrontOffsetY']||0x0,this['addChild'](_0x30025e),this['_frontAttachmentSprite']=_0x30025e;}}},Window_BattleStatus['prototype'][_0x208a24(0x8ed)]=function(){const _0x3dd15b=_0x208a24;this[_0x3dd15b(0x6ca)]&&this[_0x3dd15b(0x739)](this[_0x3dd15b(0x6ca)]),this[_0x3dd15b(0xd4d)]&&(_0x3dd15b(0x1df)===_0x3dd15b(0x1df)?this['addChildToBack'](this[_0x3dd15b(0xd4d)]):_0x2af877[_0x3dd15b(0x759)]['BattleManager_updatePhase'][_0x3dd15b(0x783)](this,_0x19eb3e));},Window_BattleActor[_0x208a24(0xbd8)][_0x208a24(0xc2e)]=function(){return this['isActionSelectionValid']();},Window_BattleActor['prototype'][_0x208a24(0x9ce)]=function(){const _0x1af907=_0x208a24,_0x3cb509=BattleManager[_0x1af907(0x53e)]();if(!_0x3cb509)return!![];if(!_0x3cb509['item']())return!![];const _0x706e9b=this[_0x1af907(0x178)](this['index']()),_0x12aa03=_0x3cb509[_0x1af907(0x8bb)]()[_0x1af907(0x6c4)];if(_0x3cb509['isForNotUser']()){if(_0x706e9b===BattleManager['actor']())return![];}if(_0x3cb509[_0x1af907(0xa42)]()){if(!_0x706e9b['isDead']())return![];}if(_0x3cb509['isForAliveFriend']()){if(!_0x706e9b['isAlive']())return![];}return!![];},Window_BattleActor['prototype'][_0x208a24(0x84f)]=function(_0x1fa740){const _0x13615d=_0x208a24;this[_0x13615d(0x66e)]=_0x1fa740;},VisuMZ[_0x208a24(0x759)][_0x208a24(0x390)]=Window_BattleActor['prototype']['processTouch'],Window_BattleActor[_0x208a24(0xbd8)][_0x208a24(0xa04)]=function(){const _0x5b2f5f=_0x208a24;Window_BattleStatus['prototype'][_0x5b2f5f(0xa04)][_0x5b2f5f(0x783)](this);if(this['_enemyWindowMode']){if(_0x5b2f5f(0x741)!==_0x5b2f5f(0x741))return _0x3e80cc[_0x5b2f5f(0x49a)]();else this['processEnemyModeTouchBattleCore']();}else _0x5b2f5f(0x78a)!==_0x5b2f5f(0x78a)?this['_stateSprite']['visible']=![]:VisuMZ[_0x5b2f5f(0x759)][_0x5b2f5f(0x390)][_0x5b2f5f(0x783)](this);},Window_BattleActor['prototype'][_0x208a24(0xcf9)]=function(){const _0x21862c=_0x208a24,_0x409803=SceneManager['_scene'][_0x21862c(0x685)];if(!_0x409803)return;this[_0x21862c(0x67e)]=![];const _0x2f036c=this['hitIndex']();if(_0x2f036c>=0x0){this[_0x21862c(0x80c)](_0x2f036c);if(TouchInput[_0x21862c(0x55f)]()){if(_0x21862c(0x869)!==_0x21862c(0x869)){let _0x27fbb8=_0x415744[_0x21862c(0x389)][_0x521d19];if(!_0x27fbb8)return;let _0x391460=_0x27fbb8;const _0x26a6e3=this[_0x21862c(0xbb1)]();if(_0x26a6e3===_0x21862c(0xa9c))_0x391460=_0x391460[_0x21862c(0x51f)](/\x1I\[(\d+)\]/gi,''),_0x391460=_0x391460['replace'](/\\I\[(\d+)\]/gi,'');else{if(!_0x27fbb8[_0x21862c(0x7fc)](/\\I\[(\d+)\]/i)){const _0x4b6ffa=_0x21aa4a[_0x21862c(0x813)]?_0x44e00a[_0x21862c(0x17e)][_0x21862c(0xc39)][_0x21862c(0x883)]:_0x4ad860[_0x21862c(0x759)][_0x21862c(0xc39)][_0x21862c(0x687)],_0x614288=_0x433a65[_0x21862c(0xc06)][_0x21862c(0xcaf)](_0x4673b8),_0x52634c=_0x614288?_0x4b6ffa['IconStypeMagic']:_0x4b6ffa['IconStypeNorm'];_0x391460=_0x21862c(0x98a)[_0x21862c(0x75a)](_0x52634c,_0x27fbb8);}}this[_0x21862c(0xb83)](_0x391460,_0x21862c(0xd1e),!![],_0x45a073);}else{const _0x339f20=$gameParty[_0x21862c(0x30f)]()[_0x2f036c],_0x388bbc=_0x409803[_0x21862c(0x30b)][_0x21862c(0x6d1)](_0x339f20);_0x388bbc>=0x0&&(_0x409803[_0x21862c(0x80c)](_0x388bbc),_0x409803[_0x21862c(0x651)]());}}}},Window_BattleActor[_0x208a24(0xbd8)]['_makeCursorAlpha']=function(){const _0x50e199=_0x208a24;if(this['_enemyWindowMode']){if(_0x50e199(0x140)!==_0x50e199(0x676))this[_0x50e199(0x95f)]++,this[_0x50e199(0x128)]=!![];else{const _0x3f06c1=_0x401d54(_0x46c457['$1'])[_0x50e199(0xc85)](/[\r\n]+/)[_0x50e199(0x44b)](''),_0x2b6d4a=_0x354f6d[_0x50e199(0x382)](_0x3f06c1);_0xc66da8[_0x50e199(0x7ea)]=_0x47b901['getWtypeIdWithName'](_0x2b6d4a);}}const _0x22d9f5=Window_BattleStatus[_0x50e199(0xbd8)][_0x50e199(0x575)]['call'](this);return this[_0x50e199(0x66e)]&&(this['active']=![]),_0x22d9f5;},VisuMZ['BattleCore'][_0x208a24(0x6fa)]=Window_BattleActor['prototype'][_0x208a24(0xb3e)],Window_BattleActor['prototype'][_0x208a24(0xb3e)]=function(){const _0x2ac87a=_0x208a24;VisuMZ[_0x2ac87a(0x759)]['Window_BattleActor_show'][_0x2ac87a(0x783)](this);const _0x1f655c=BattleManager['inputtingAction']();if(_0x1f655c){const _0x5e80ee=$gameParty[_0x2ac87a(0x49a)]();if(_0x1f655c[_0x2ac87a(0x59d)]()&&_0x5e80ee[_0x2ac87a(0x1ba)]>0x1){if(_0x2ac87a(0x7e6)===_0x2ac87a(0x12e)){if(!_0x5c8723[_0x2ac87a(0x620)]()&&this['constructor']===_0xddbe64){const _0x46701b=_0x536cef[_0x2ac87a(0xbd8)][_0x2ac87a(0x71c)]();[_0x2ac87a(0x914),_0x2ac87a(0x38d),_0x2ac87a(0x372),_0x2ac87a(0x4f5)]['includes'](_0x46701b)&&(this[_0x2ac87a(0x34f)]=0x0);}}else this[_0x2ac87a(0x39c)](_0x2ac87a(0x887),this[_0x2ac87a(0x989)][_0x2ac87a(0xc84)](this));}}},VisuMZ[_0x208a24(0x759)][_0x208a24(0x80d)]=Window_BattleActor['prototype']['hide'],Window_BattleActor[_0x208a24(0xbd8)][_0x208a24(0x6ec)]=function(){const _0x3d06e8=_0x208a24;VisuMZ['BattleCore']['Window_BattleActor_hide'][_0x3d06e8(0x783)](this),delete this[_0x3d06e8(0x527)][_0x3d06e8(0x5cd)],delete this[_0x3d06e8(0x527)][_0x3d06e8(0x887)];},Window_BattleActor[_0x208a24(0xbd8)][_0x208a24(0x989)]=function(){const _0x241728=_0x208a24,_0xedfe63=BattleManager['inputtingAction']();if(_0xedfe63)_0xedfe63[_0x241728(0x8e9)](_0x241728(0x330));this['processOk']();},VisuMZ['BattleCore'][_0x208a24(0x636)]=Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0x3bf)],Window_BattleEnemy[_0x208a24(0xbd8)]['initialize']=function(_0x327e0f){const _0x5a39bc=_0x208a24;this[_0x5a39bc(0x3ea)]=null,VisuMZ[_0x5a39bc(0x759)][_0x5a39bc(0x636)][_0x5a39bc(0x783)](this,_0x327e0f);if(Imported['VisuMZ_2_AggroControlSystem']){if(_0x5a39bc(0x9c6)===_0x5a39bc(0x4c4)){if(_0x27e5b7[_0x5a39bc(0xa4c)]['isActor']()&&_0x47255f[_0x5a39bc(0xa4c)]['isEnemy']())return 0x1;else{if(_0x40f8f3['_battler']['isActor']()&&_0x264605[_0x5a39bc(0xa4c)][_0x5a39bc(0x27a)]())return-0x1;}}else{if(VisuMZ['AggroControlSystem'][_0x5a39bc(0x738)]<1.12){let _0x5c57e1='';_0x5c57e1+=_0x5a39bc(0x426),_0x5c57e1+=_0x5a39bc(0xd19),_0x5c57e1+=_0x5a39bc(0x513),alert(_0x5c57e1),SceneManager[_0x5a39bc(0x1b1)]();}}}},Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0xa96)]=function(){const _0x1780af=_0x208a24;return this[_0x1780af(0x8c9)]();},VisuMZ['BattleCore'][_0x208a24(0x73f)]=Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0xb3e)],Window_BattleEnemy[_0x208a24(0xbd8)]['show']=function(){const _0x253dd3=_0x208a24;VisuMZ['BattleCore'][_0x253dd3(0x73f)][_0x253dd3(0x783)](this),this['y']=Graphics['height']*0xa,this[_0x253dd3(0xc70)]()&&(_0x253dd3(0xd8)!=='wgWqm'?this[_0x253dd3(0x8ee)]():(_0x36a9de[_0x253dd3(0x759)][_0x253dd3(0xa99)][_0x253dd3(0x783)](this),this[_0x253dd3(0x4ac)]()));},VisuMZ['BattleCore']['Window_BattleEnemy_hide']=Window_BattleEnemy[_0x208a24(0xbd8)]['hide'],Window_BattleEnemy[_0x208a24(0xbd8)]['hide']=function(){const _0x39aba3=_0x208a24;VisuMZ['BattleCore']['Window_BattleEnemy_hide'][_0x39aba3(0x783)](this),$gameParty[_0x39aba3(0x80c)](null),delete this[_0x39aba3(0x527)][_0x39aba3(0x5cd)],delete this[_0x39aba3(0x527)][_0x39aba3(0x887)];},Window_BattleEnemy['prototype']['validTargets']=function(){const _0x19ef1c=_0x208a24;let _0x3ffded=$gameTroop['aliveMembers']();const _0x1f2c70=BattleManager[_0x19ef1c(0x53e)]();if(_0x1f2c70){_0x1f2c70['canSingleOrMultipleSelect']()&&_0x3ffded[_0x19ef1c(0x1ba)]>0x1&&this[_0x19ef1c(0x39c)](_0x19ef1c(0x5cd),this[_0x19ef1c(0x430)][_0x19ef1c(0xc84)](this));if(_0x1f2c70[_0x19ef1c(0x9c2)]()){if(_0x19ef1c(0x7e8)!=='jrWqy'){if(this[_0x19ef1c(0x300)]!==_0x2c52b0)return this[_0x19ef1c(0x300)];return this['setupBattleCoreData'](),this[_0x19ef1c(0x300)];}else{const _0x2f5cee=$gameParty[_0x19ef1c(0x49a)]();_0x3ffded=_0x3ffded[_0x19ef1c(0x655)](_0x2f5cee),_0x1f2c70[_0x19ef1c(0x59d)]()&&_0x2f5cee['length']>0x1&&this[_0x19ef1c(0x39c)](_0x19ef1c(0x887),this[_0x19ef1c(0x989)][_0x19ef1c(0xc84)](this));}}}return _0x3ffded;},Window_BattleEnemy['prototype']['refresh']=function(){const _0x3c96c7=_0x208a24;this[_0x3c96c7(0x30b)]=this[_0x3c96c7(0x39e)](),this['sortEnemies'](),Window_Selectable[_0x3c96c7(0xbd8)]['refresh'][_0x3c96c7(0x783)](this);},Window_BattleEnemy['prototype'][_0x208a24(0x7ab)]=function(){const _0x1527e9=_0x208a24;this[_0x1527e9(0x30b)]['sort']((_0x50eebb,_0x478c16)=>{const _0x3e75c1=_0x1527e9;if(_0x50eebb[_0x3e75c1(0x9bf)]()!==_0x478c16[_0x3e75c1(0x9bf)]()){if(_0x50eebb['isEnemy']())return-0x1;if(_0x478c16[_0x3e75c1(0x27a)]())return 0x1;}if(_0x50eebb[_0x3e75c1(0x9bf)]()&&_0x478c16[_0x3e75c1(0x9bf)]())return _0x50eebb['index']()-_0x478c16['index']();if(_0x50eebb['battler']()[_0x3e75c1(0x169)]===_0x478c16[_0x3e75c1(0xd08)]()['_baseX']){if(_0x3e75c1(0x4ce)!==_0x3e75c1(0x4ce))_0x591bfe=_0x437c35>=_0x13a881?_0x1c47bb:_0x3cc13b;else return _0x50eebb[_0x3e75c1(0xd08)]()[_0x3e75c1(0x832)]-_0x478c16[_0x3e75c1(0xd08)]()[_0x3e75c1(0x832)];}else return _0x50eebb['battler']()['_baseX']-_0x478c16[_0x3e75c1(0xd08)]()[_0x3e75c1(0x169)];}),SceneManager[_0x1527e9(0x76f)]()&&this[_0x1527e9(0x30b)][_0x1527e9(0x8f4)]();},Window_BattleEnemy['prototype'][_0x208a24(0x684)]=function(){const _0x2803bc=_0x208a24,_0x132836=VisuMZ['BattleCore'][_0x2803bc(0xc39)][_0x2803bc(0x6bd)];_0x132836[_0x2803bc(0x418)]?_0x2803bc(0xcdb)===_0x2803bc(0xcdb)?this[_0x2803bc(0x7ff)]():this[_0x2803bc(0xd29)]():this[_0x2803bc(0x254)]();},Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0x7ff)]=function(){const _0x1563c3=_0x208a24,_0xefabdb=BattleManager[_0x1563c3(0x53e)]();if(_0xefabdb&&_0xefabdb[_0x1563c3(0x9c2)]()){if(_0xefabdb['isForAnyoneFocusFriends']()){if(this[_0x1563c3(0xa8a)]&&this[_0x1563c3(0x30b)][_0x1563c3(0xcaf)](this[_0x1563c3(0xa8a)])){const _0x432146=this['_enemies']['indexOf'](this[_0x1563c3(0xa8a)]);return this[_0x1563c3(0x110)](_0x432146);}else{if(_0x1563c3(0x76c)==='dkeVj')return this[_0x1563c3(0x254)]();else{this[_0x1563c3(0x165)]=0x14,this['_borderPortraitSprite'][_0x1563c3(0x63f)]=_0x2a0552;_0x1d1e5f['_scene']['isRightInputMode']()?(this[_0x1563c3(0x3bd)]['x']=0x0,this[_0x1563c3(0xb0)]=_0x216637[_0x1563c3(0x7af)](_0x56aec6['width']/0x2)):(this[_0x1563c3(0x3bd)]['x']=this[_0x1563c3(0x4fe)],this['_borderPortraitTargetX']=this[_0x1563c3(0x4fe)]*0x3/0x4);this[_0x1563c3(0x3bd)][_0x1563c3(0x34f)]=0x0,this[_0x1563c3(0x3bd)]['y']=this['y']+this['height'];const _0x5678fb=_0x1eb916[_0x1563c3(0x178)]();_0x5678fb&&(this[_0x1563c3(0xb0)]+=_0x5678fb['getBattlePortraitOffsetX'](),this[_0x1563c3(0x3bd)]['y']+=_0x5678fb['getBattlePortraitOffsetY']());}}}}if(this[_0x1563c3(0x3ea)]&&this[_0x1563c3(0x30b)][_0x1563c3(0xcaf)](this[_0x1563c3(0x3ea)])){const _0x2a32e5=this['_enemies'][_0x1563c3(0x6d1)](this['_lastEnemy']);this[_0x1563c3(0x110)](_0x2a32e5);}else this[_0x1563c3(0x254)]();},Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0x254)]=function(){const _0x11c3dc=_0x208a24,_0x3aeeb2=BattleManager[_0x11c3dc(0x53e)]();if(_0x3aeeb2&&_0x3aeeb2[_0x11c3dc(0x9c2)]()){const _0xd97247=$gameParty[_0x11c3dc(0x49a)]()[0x0];let _0x4aa069=this[_0x11c3dc(0x30b)][_0x11c3dc(0x6d1)](_0xd97247);const _0x30f5b2=_0x3aeeb2[_0x11c3dc(0x8bb)]()[_0x11c3dc(0x9ab)];if(_0x30f5b2[_0x11c3dc(0x7fc)](/(?:ALLY|FRIEND) OR (?:ENEMY|FOE)/i)){this[_0x11c3dc(0x110)](_0x4aa069);return;}else{if(_0x30f5b2[_0x11c3dc(0x7fc)](/(?:ENEMY|FOE) OR (?:ALLY|FRIEND)/i)){this[_0x11c3dc(0x110)](_0x4aa069-0x1);return;}}}const _0xdf6718=VisuMZ[_0x11c3dc(0x759)][_0x11c3dc(0xc39)][_0x11c3dc(0x6bd)];let _0x1e07cf=![];if($gameSystem[_0x11c3dc(0x620)]()){if('NzOiM'!==_0x11c3dc(0xcb0)){if(_0x544c83[_0x11c3dc(0x759)][_0x11c3dc(0xc39)][_0x11c3dc(0x7a9)][_0x11c3dc(0x1f9)]??!![])return![];return _0x43ebe7['isSceneBattle']()&&this[_0x11c3dc(0x8f0)];}else _0x1e07cf=_0xdf6718[_0x11c3dc(0x546)];}else _0x1e07cf=_0xdf6718[_0x11c3dc(0x2a7)];this[_0x11c3dc(0x110)](_0x1e07cf?this['maxItems']()-0x1:0x0);},Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0x20a)]=function(){const _0x4ad324=_0x208a24;Window_Selectable[_0x4ad324(0xbd8)][_0x4ad324(0x20a)]['call'](this);if(this[_0x4ad324(0x449)]()[_0x4ad324(0x27a)]())this[_0x4ad324(0x3ea)]=this['enemy']();if(this['enemy']()['isActor']())this[_0x4ad324(0xa8a)]=this[_0x4ad324(0x449)]();},Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0x80c)]=function(_0x289b07){const _0x569979=_0x208a24;Window_Selectable[_0x569979(0xbd8)][_0x569979(0x80c)][_0x569979(0x783)](this,_0x289b07),$gameTroop['select'](this[_0x569979(0x449)]()),$gameParty[_0x569979(0x80c)](this[_0x569979(0x449)]());if(!this[_0x569979(0x449)]())return;if(this[_0x569979(0xc70)]()){if('OQjBs'!==_0x569979(0x189)){const _0x3f8597=SceneManager[_0x569979(0xc1b)]['_actorWindow'];if(this[_0x569979(0x449)]()[_0x569979(0x9bf)]())_0x3f8597[_0x569979(0x80c)](this['enemy']()[_0x569979(0x22f)]());else{if(_0x569979(0xb6e)!=='LrsfI')_0x3f8597[_0x569979(0x82d)]();else return _0x52ac15[_0x569979(0x281)]()[_0x569979(0xa29)]();}}else{let _0x2da7bf=(_0x1e07a5[_0x569979(0x94f)]*_0x24e39c['value1']+_0x5aa0e2[_0x569979(0x9b8)])*_0x95ddc2['rec'];_0x2da7bf=this[_0x569979(0x194)](_0x2da7bf),this[_0x569979(0x6f3)]()&&(_0x2da7bf*=this[_0x569979(0x6a9)]()[_0x569979(0x203)]),_0x2da7bf=_0x2df64a['floor'](_0x2da7bf),_0x2da7bf!==0x0&&(_0x2d2e9a['gainHp'](_0x2da7bf),this[_0x569979(0x899)](_0xf6abb3));}}},Window_BattleEnemy['prototype'][_0x208a24(0xc70)]=function(){const _0x72d3fc=_0x208a24;if(!this[_0x72d3fc(0x3b3)])return![];if($gameSystem['isSideView']())return![];const _0xb19aa1=SceneManager[_0x72d3fc(0xc1b)][_0x72d3fc(0x71c)](),_0x4b01b9=[_0x72d3fc(0x914),_0x72d3fc(0x38d),'xp',_0x72d3fc(0x372),'border'];return _0x4b01b9[_0x72d3fc(0xcaf)](_0xb19aa1);},Window_BattleEnemy[_0x208a24(0xbd8)]['openBattleActorWindow']=function(){const _0x166012=_0x208a24,_0xe8c8e=SceneManager[_0x166012(0xc1b)]['_actorWindow'];_0xe8c8e[_0x166012(0xb3e)](),_0xe8c8e[_0x166012(0x84f)](!![]),_0xe8c8e['refresh'](),_0xe8c8e[_0x166012(0x82d)]();const _0x1a8254=SceneManager[_0x166012(0xc1b)][_0x166012(0x71c)](),_0x5bccd9=['xp',_0x166012(0x372),_0x166012(0x4f5)];if(_0x5bccd9[_0x166012(0xcaf)](_0x1a8254)){const _0x28bae2=SceneManager[_0x166012(0xc1b)]['_statusWindow'];_0x28bae2['scale']['y']=0x0;}},Window_BattleEnemy['prototype'][_0x208a24(0x842)]=function(){const _0x4e69ab=_0x208a24,_0x1958c9=SceneManager[_0x4e69ab(0xc1b)][_0x4e69ab(0xb92)];_0x1958c9[_0x4e69ab(0x6ec)](),_0x1958c9['setEnemyWindowMode'](![]),_0x1958c9['deselect']();const _0x3af5d0=SceneManager['_scene'][_0x4e69ab(0xb91)];_0x3af5d0[_0x4e69ab(0x867)]['y']=0x1;},Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0x430)]=function(){const _0x3e40f1=_0x208a24,_0x5b3e96=BattleManager[_0x3e40f1(0x53e)]();if(_0x5b3e96)_0x5b3e96[_0x3e40f1(0x8e9)](_0x3e40f1(0x4da));this[_0x3e40f1(0x651)]();},Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0x989)]=function(){const _0x270e3a=_0x208a24,_0x3bbc13=BattleManager[_0x270e3a(0x53e)]();if(_0x3bbc13)_0x3bbc13['setTargetBattlerKey'](_0x270e3a(0x330));this[_0x270e3a(0x651)]();},Window_BattleEnemy[_0x208a24(0xbd8)][_0x208a24(0xc2e)]=function(){const _0x4c648c=_0x208a24;return this[_0x4c648c(0x9ce)]();},Window_BattleEnemy[_0x208a24(0xbd8)]['isActionSelectionValid']=function(){const _0x54ccc6=_0x208a24,_0x5bc0c9=BattleManager[_0x54ccc6(0x53e)]();if(!_0x5bc0c9)return!![];if(!_0x5bc0c9['item']())return!![];const _0x2feccf=this['enemy'](),_0x248b82=_0x5bc0c9[_0x54ccc6(0x8bb)]()[_0x54ccc6(0x6c4)];if(_0x5bc0c9[_0x54ccc6(0xc5d)]()){if(_0x54ccc6(0xaa7)===_0x54ccc6(0xaa7)){if(_0x2feccf===BattleManager[_0x54ccc6(0x178)]())return![];}else _0x51bee2[_0x54ccc6(0xbd8)]['performMagicEvasion'][_0x54ccc6(0x783)](this),this['requestMotion'](_0x54ccc6(0x8a1));}return!![];},Window_BattleItem[_0x208a24(0xbd8)]['includes']=function(_0x2dad10){const _0x2f5b43=_0x208a24;if(!_0x2dad10)return![];return _0x2dad10[_0x2f5b43(0xceb)]===0x0||_0x2dad10['occasion']===0x1;};function Window_AutoBattleCancel(){const _0x15e186=_0x208a24;this[_0x15e186(0x3bf)](...arguments);}Window_AutoBattleCancel[_0x208a24(0xbd8)]=Object['create'](Window_Base[_0x208a24(0xbd8)]),Window_AutoBattleCancel[_0x208a24(0xbd8)][_0x208a24(0x594)]=Window_AutoBattleCancel,Window_AutoBattleCancel['prototype']['initialize']=function(_0x5ca505){const _0xd5dc52=_0x208a24;Window_Base[_0xd5dc52(0xbd8)][_0xd5dc52(0x3bf)][_0xd5dc52(0x783)](this,_0x5ca505),this[_0xd5dc52(0xc79)](this[_0xd5dc52(0x933)]()),this[_0xd5dc52(0xa22)]();},Window_AutoBattleCancel[_0x208a24(0xbd8)][_0x208a24(0x933)]=function(){const _0x1f81b9=_0x208a24;return VisuMZ[_0x1f81b9(0x759)][_0x1f81b9(0xc39)][_0x1f81b9(0x2a2)][_0x1f81b9(0x3ca)];},Window_AutoBattleCancel['prototype']['refresh']=function(){const _0x34026b=_0x208a24;this[_0x34026b(0xcce)][_0x34026b(0xb03)]();const _0x1c3568=VisuMZ['BattleCore']['Settings'][_0x34026b(0x2a2)][_0x34026b(0x6e6)],_0x52e6bf=_0x1c3568[_0x34026b(0x75a)](this[_0x34026b(0x4c5)](),this[_0x34026b(0xb68)]()),_0xc59349=this[_0x34026b(0x23d)](_0x52e6bf)['width'],_0x3be3a9=Math[_0x34026b(0x479)]((this[_0x34026b(0x90d)]-_0xc59349)/0x2);this[_0x34026b(0x49e)](_0x52e6bf,_0x3be3a9,0x0,_0xc59349);},Window_AutoBattleCancel['prototype'][_0x208a24(0x4c5)]=function(){const _0x5d7b1f=_0x208a24;if(Imported[_0x5d7b1f(0x496)]){if(_0x5d7b1f(0xc81)===_0x5d7b1f(0xc81))return TextManager[_0x5d7b1f(0x122)]('ok');else this[_0x5d7b1f(0x34f)]-=0x10;}else{if('Gkxyf'===_0x5d7b1f(0x925)){const _0x65d309=this[_0x5d7b1f(0x4b5)];_0x65d309&&(_0x65d309[_0x5d7b1f(0x867)]['x']=this['mainSpriteScaleX'](),_0x65d309[_0x5d7b1f(0x867)]['y']=this['mainSpriteScaleY']());}else return VisuMZ[_0x5d7b1f(0x759)][_0x5d7b1f(0xc39)][_0x5d7b1f(0x2a2)][_0x5d7b1f(0x103)];}},Window_AutoBattleCancel[_0x208a24(0xbd8)]['cancelButtonText']=function(){const _0x5ab6e9=_0x208a24;if(Imported[_0x5ab6e9(0x496)]){if('tictz'===_0x5ab6e9(0x9bc))return TextManager[_0x5ab6e9(0x122)](_0x5ab6e9(0x5c5));else{const _0x1cadc7=this['item']()['scope'];if(_0x1cadc7[_0x5ab6e9(0x7fc)](/(?:ALLY|FRIEND) OR (?:ENEMY|FOE)/i))return!![];}}else return VisuMZ[_0x5ab6e9(0x759)][_0x5ab6e9(0xc39)][_0x5ab6e9(0x2a2)][_0x5ab6e9(0x920)];},Window_AutoBattleCancel[_0x208a24(0xbd8)][_0x208a24(0x3c1)]=function(){const _0x3d3896=_0x208a24;Window_Base[_0x3d3896(0xbd8)][_0x3d3896(0x3c1)]['call'](this),this['updateVisibility'](),this[_0x3d3896(0x223)]();},Window_AutoBattleCancel['prototype'][_0x208a24(0x24e)]=function(){const _0x415376=_0x208a24;this[_0x415376(0x3b3)]=BattleManager[_0x415376(0x29c)];},Window_AutoBattleCancel[_0x208a24(0xbd8)][_0x208a24(0x223)]=function(){const _0x17bb59=_0x208a24;if(!BattleManager['_autoBattle'])return;(Input[_0x17bb59(0x898)]('ok')||Input[_0x17bb59(0x898)](_0x17bb59(0x5c5))||TouchInput['isClicked']()||TouchInput[_0x17bb59(0x6e0)]())&&(SoundManager[_0x17bb59(0x3f5)](),BattleManager[_0x17bb59(0x29c)]=![],Input[_0x17bb59(0xb03)](),TouchInput[_0x17bb59(0xb03)]());};function Window_EnemyName(){const _0x3440f7=_0x208a24;this[_0x3440f7(0x3bf)](...arguments);}Window_EnemyName['prototype']=Object[_0x208a24(0x230)](Window_StatusBase[_0x208a24(0xbd8)]),Window_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x594)]=Window_EnemyName,Window_EnemyName['prototype']['initialize']=function(_0x37cc09){const _0x2c5772=_0x208a24;this['_enemyID']=_0x37cc09,this[_0x2c5772(0xb11)]='';const _0x5185df=new Rectangle(0x0,0x0,Graphics[_0x2c5772(0xa53)],this[_0x2c5772(0x146)]()*0x4);Window_StatusBase[_0x2c5772(0xbd8)][_0x2c5772(0x3bf)][_0x2c5772(0x783)](this,_0x5185df),this[_0x2c5772(0xc79)](0x2),this[_0x2c5772(0x8aa)]=0x0;},Window_EnemyName[_0x208a24(0xbd8)]['updatePadding']=function(){const _0x2d6e08=_0x208a24;this[_0x2d6e08(0x11b)]=0x0;},Window_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x449)]=function(){const _0x3786dd=_0x208a24;return $gameTroop[_0x3786dd(0x30f)]()[this['_enemyID']];},Window_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x3c1)]=function(){const _0x4434b5=_0x208a24;Window_StatusBase[_0x4434b5(0xbd8)][_0x4434b5(0x3c1)][_0x4434b5(0x783)](this),this[_0x4434b5(0x449)]()&&this[_0x4434b5(0x449)]()[_0x4434b5(0x278)]()!==this['_text']&&(this[_0x4434b5(0xb11)]=this['enemy']()[_0x4434b5(0x278)](),this[_0x4434b5(0xa22)]()),this['updateOpacity'](),this[_0x4434b5(0x295)]();},Window_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x90b)]=function(){const _0x2f7044=_0x208a24;if(!this[_0x2f7044(0x449)]()){if(_0x2f7044(0x88b)!=='IEIaE'){this[_0x2f7044(0x81c)]=new _0x21e118();for(let _0x3e3a37=0x0;_0x3e3a37<0x9;_0x3e3a37++){this[_0x2f7044(0x81c)]['addChild'](new _0x868f9b());}this[_0x2f7044(0xca)][_0x2f7044(0x739)](this['_cursorSprite']);}else{if(this[_0x2f7044(0x8aa)]>0x0)this[_0x2f7044(0x8aa)]-=0x10;}}else{if(this[_0x2f7044(0x449)]()['isDead']()){if(_0x2f7044(0xa6f)===_0x2f7044(0xa8b))this[_0x2f7044(0x778)](_0x2f7044(0xab6));else{if(this[_0x2f7044(0x8aa)]>0x0)this['contentsOpacity']-=0x10;}}else{if(SceneManager[_0x2f7044(0xc1b)][_0x2f7044(0x685)]&&SceneManager['_scene'][_0x2f7044(0x685)]['active']&&SceneManager['_scene'][_0x2f7044(0x685)][_0x2f7044(0x30b)][_0x2f7044(0xcaf)](this[_0x2f7044(0x449)]())){if(_0x2f7044(0x6cb)!=='XqJMY')_0x1b99fc=_0x21d38a[_0x2f7044(0x9d0)];else{if(this[_0x2f7044(0x8aa)]<0xff)this[_0x2f7044(0x8aa)]+=0x10;}}else{if(this[_0x2f7044(0x8aa)]>0x0){if('IGckV'==='IGckV')this[_0x2f7044(0x8aa)]-=0x10;else{if(!_0x254357['BattleCore']['JS'][_0xfdb6e4][_0x2f7044(0x783)](this,this[_0x2f7044(0x302)],_0x512f94))return![];}}}}}},Window_EnemyName[_0x208a24(0xbd8)][_0x208a24(0x295)]=function(){const _0x37f780=_0x208a24;if(!this[_0x37f780(0x449)]())return;if(SceneManager['isBattleFlipped']())this['x']=Graphics[_0x37f780(0xa53)]-this['enemy']()[_0x37f780(0xd08)]()[_0x37f780(0x169)];else{if(_0x37f780(0x5f4)===_0x37f780(0x5f4))this['x']=this[_0x37f780(0x449)]()[_0x37f780(0xd08)]()[_0x37f780(0x169)];else{if(!_0x3c9500['VisuMZ_3_ActSeqImpact'])return;const _0x52e6ba=_0x22a546['_scene'][_0x37f780(0xa85)];if(!_0x52e6ba)return;_0x2c3513[_0x37f780(0x4f4)](_0x3a32a1,_0x292b5a);const _0x580915=_0x36f368['X']||0x0,_0x1ba365=_0x2ddfd8['Y']||0x0,_0x30eb22=_0x5ddb72[_0x37f780(0x299)]||0x0,_0x4de833=_0x2bd1fc[_0x37f780(0x201)]||0x0,_0x2230f7=_0x1a0d5e['Duration']||0x1;_0x52e6ba[_0x37f780(0xc38)](_0x580915,_0x1ba365,_0x30eb22,_0x4de833,_0x2230f7);}}this['x']-=Math['round'](this[_0x37f780(0x4fe)]/0x2),this['y']=this[_0x37f780(0x449)]()[_0x37f780(0xd08)]()['_baseY']-Math[_0x37f780(0xd50)](this[_0x37f780(0x146)]()*1.5);const _0x4870b2=VisuMZ[_0x37f780(0x759)][_0x37f780(0xc39)][_0x37f780(0x6bd)];this['x']+=_0x4870b2[_0x37f780(0xc30)]||0x0,this['y']+=_0x4870b2['NameOffsetY']||0x0;},Window_EnemyName[_0x208a24(0xbd8)]['resetFontSettings']=function(){const _0x20f0f3=_0x208a24;Window_Base[_0x20f0f3(0xbd8)][_0x20f0f3(0x556)][_0x20f0f3(0x783)](this),this[_0x20f0f3(0xcce)][_0x20f0f3(0xa48)]=VisuMZ['BattleCore'][_0x20f0f3(0xc39)][_0x20f0f3(0x6bd)][_0x20f0f3(0x692)];},Window_EnemyName[_0x208a24(0xbd8)][_0x208a24(0xa22)]=function(){const _0x4fe53d=_0x208a24;Window_StatusBase[_0x4fe53d(0xbd8)]['refresh'][_0x4fe53d(0x783)](this),this['contents']['clear']();if(!this[_0x4fe53d(0x449)]())return;this[_0x4fe53d(0x271)]();},Window_EnemyName['prototype']['drawEnemyName']=function(){const _0x5ebc31=_0x208a24;this[_0x5ebc31(0xb11)]=this[_0x5ebc31(0x449)]()[_0x5ebc31(0x278)]();const _0x494d5a=this['textSizeEx'](this['_text'])['width'],_0x312d1f=Math[_0x5ebc31(0xd50)]((this[_0x5ebc31(0x90d)]-_0x494d5a)/0x2);this[_0x5ebc31(0x49e)](this[_0x5ebc31(0xb11)],_0x312d1f,0x0,_0x494d5a+0x8);},Window_BattleLog['prototype'][_0x208a24(0xaab)]=function(){const _0x2c73af=_0x208a24;return VisuMZ[_0x2c73af(0x759)][_0x2c73af(0xc39)][_0x2c73af(0x98d)][_0x2c73af(0xc6b)];},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xb22)]=function(){const _0x17422e=_0x208a24;return VisuMZ['BattleCore'][_0x17422e(0xc39)]['BattleLog'][_0x17422e(0x8c5)];},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x881)]=function(){const _0x12246d=_0x208a24;return VisuMZ[_0x12246d(0x759)][_0x12246d(0xc39)]['BattleLog'][_0x12246d(0x499)];},Window_BattleLog['prototype'][_0x208a24(0x3fd)]=function(){return![];},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x29e)]=function(_0x48fc85,_0x5c3ff6){const _0x56b775=_0x208a24;this[_0x56b775(0x6fc)](_0x56b775(0xc7a)),BattleManager[_0x56b775(0x9d7)](_0x48fc85,_0x5c3ff6),this[_0x56b775(0xd9)]();},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x3b6)]=function(_0x4d304f,_0x272683,_0x4a284b){const _0x5c6df4=_0x208a24;this[_0x5c6df4(0x6fc)](_0x5c6df4(0xc7a)),BattleManager[_0x5c6df4(0x9ae)](_0x4d304f,_0x272683,_0x4a284b),this[_0x5c6df4(0xd9)]();},Window_BattleLog['prototype']['actionSplicePoint']=function(){const _0x2fd0f0=_0x208a24;this[_0x2fd0f0(0xd9)]();},Window_BattleLog[_0x208a24(0xbd8)]['push']=function(_0x2c80a0){const _0x49d23f=_0x208a24,_0x5b0315=Array[_0x49d23f(0xbd8)][_0x49d23f(0xa3f)][_0x49d23f(0x783)](arguments,0x1),_0x12db0f={'name':_0x2c80a0,'params':_0x5b0315},_0x3410fd=this['_methods'][_0x49d23f(0x58e)](_0x12834e=>_0x12834e[_0x49d23f(0x278)])[_0x49d23f(0x6d1)](_0x49d23f(0xc7a));_0x3410fd>=0x0?this[_0x49d23f(0xdb)][_0x49d23f(0xd36)](_0x3410fd,0x0,_0x12db0f):this[_0x49d23f(0xdb)]['push'](_0x12db0f);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x6fc)]=function(_0xf29f84){const _0x13fce8=_0x208a24,_0x5d27cc=Array[_0x13fce8(0xbd8)][_0x13fce8(0xa3f)]['call'](arguments,0x1);this[_0x13fce8(0xdb)][_0x13fce8(0x6fc)]({'name':_0xf29f84,'params':_0x5d27cc});},Window_BattleLog['prototype']['logActionList']=function(){const _0x398d38=_0x208a24;if(!$gameTemp[_0x398d38(0x868)]())return;console[_0x398d38(0x9d3)](this[_0x398d38(0xdb)][_0x398d38(0x58e)](_0x41ede8=>_0x41ede8[_0x398d38(0x278)])[_0x398d38(0x398)]('\x0a'));},VisuMZ[_0x208a24(0x759)]['Window_BattleLog_refresh']=Window_BattleLog['prototype'][_0x208a24(0xa22)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xa22)]=function(){this['_requestRefresh']=!![];},VisuMZ[_0x208a24(0x759)][_0x208a24(0x3df)]=Window_BattleLog['prototype']['update'],Window_BattleLog['prototype'][_0x208a24(0x3c1)]=function(){const _0x30a9b8=_0x208a24;VisuMZ[_0x30a9b8(0x759)][_0x30a9b8(0x3df)][_0x30a9b8(0x783)](this);if(this[_0x30a9b8(0x811)])this['processRefresh']();},Window_BattleLog['prototype'][_0x208a24(0x775)]=function(){const _0x2f50f6=_0x208a24;this[_0x2f50f6(0x811)]=![],VisuMZ[_0x2f50f6(0x759)][_0x2f50f6(0xa1c)][_0x2f50f6(0x783)](this);},Window_BattleLog['prototype'][_0x208a24(0x7f5)]=function(_0x5d3837){const _0x16187a=_0x208a24;let _0x54221a=VisuMZ[_0x16187a(0x759)][_0x16187a(0xc39)]['BattleLog']['TextAlign'][_0x16187a(0x717)]()[_0x16187a(0x446)](),_0x5df741=this[_0x16187a(0x163)][_0x5d3837];if(_0x5df741[_0x16187a(0x7fc)](/<LEFT>/i))_0x54221a='left';else{if(_0x5df741['match'](/<CENTER>/i))_0x54221a=_0x16187a(0x1c0);else _0x5df741[_0x16187a(0x7fc)](/<RIGHT>/i)&&(_0x16187a(0x756)!==_0x16187a(0x756)?(this['_requestRefresh']=![],_0x110f63['BattleCore'][_0x16187a(0xa1c)][_0x16187a(0x783)](this)):_0x54221a=_0x16187a(0x5d3));}_0x5df741=_0x5df741[_0x16187a(0x51f)](/<(?:LEFT|CENTER|RIGHT)>/gi,''),_0x5df741=_0x5df741[_0x16187a(0x51f)](/\\I\[0\]/gi,'');const _0x4d3923=this[_0x16187a(0x220)](_0x5d3837);this[_0x16187a(0xcce)]['clearRect'](_0x4d3923['x'],_0x4d3923['y'],_0x4d3923[_0x16187a(0x4fe)],_0x4d3923[_0x16187a(0x1fa)]);const _0x204a7a=this[_0x16187a(0x23d)](_0x5df741)[_0x16187a(0x4fe)];let _0x5a739b=_0x4d3923['x'];if(_0x54221a===_0x16187a(0x1c0))_0x16187a(0xa66)===_0x16187a(0xa66)?_0x5a739b+=(_0x4d3923[_0x16187a(0x4fe)]-_0x204a7a)/0x2:(_0x1db964[_0x16187a(0x759)][_0x16187a(0xccb)][_0x16187a(0x783)](this),this[_0x16187a(0x775)](),this[_0x16187a(0xd9)]());else _0x54221a==='right'&&(_0x16187a(0xaba)!==_0x16187a(0xaba)?_0x41afff['performCollapse']():_0x5a739b+=_0x4d3923['width']-_0x204a7a);this[_0x16187a(0x49e)](_0x5df741,_0x5a739b,_0x4d3923['y'],_0x204a7a+0x8);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x9a1)]=function(_0x5b5c62){const _0x18d3cf=_0x208a24;this[_0x18d3cf(0x163)]['push'](_0x5b5c62),this['refresh'](),this[_0x18d3cf(0xd9)]();},Window_BattleLog['prototype']['updateWaitMode']=function(){const _0x5a01ee=_0x208a24;let _0x1aafa9=![];switch(this[_0x5a01ee(0x7a6)]){case'effect':_0x1aafa9=this['_spriteset'][_0x5a01ee(0x309)]();break;case _0x5a01ee(0x58b):_0x1aafa9=this[_0x5a01ee(0xa85)][_0x5a01ee(0x690)]();break;case'animation':_0x1aafa9=this['_spriteset'][_0x5a01ee(0xc5a)]();break;case _0x5a01ee(0xb43):_0x1aafa9=this['_spriteset']['isAnyoneFloating']();break;case _0x5a01ee(0x99d):_0x1aafa9=this[_0x5a01ee(0xa85)][_0x5a01ee(0x3fc)]();break;case _0x5a01ee(0x34f):_0x1aafa9=this[_0x5a01ee(0xa85)]['isAnyoneChangingOpacity']();break;}return!_0x1aafa9&&('RUXXp'!=='RUXXp'?_0x75f039?this[_0x5a01ee(0xc29)]():this[_0x5a01ee(0xd3)]():this[_0x5a01ee(0x7a6)]=''),_0x1aafa9;},Window_BattleLog['prototype'][_0x208a24(0x32a)]=function(){this['setWaitMode']('animation');},Window_BattleLog['prototype']['waitForFloat']=function(){const _0x73f180=_0x208a24;this['setWaitMode'](_0x73f180(0xb43));},Window_BattleLog['prototype'][_0x208a24(0x9d1)]=function(){const _0x556f75=_0x208a24;this[_0x556f75(0x3dc)](_0x556f75(0x99d));},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xd45)]=function(){const _0x5eb1fa=_0x208a24;this[_0x5eb1fa(0x3dc)](_0x5eb1fa(0x34f));},Window_BattleLog[_0x208a24(0xbd8)]['startTurn']=function(){const _0x4130c9=_0x208a24,_0x5e9f13=VisuMZ[_0x4130c9(0x759)][_0x4130c9(0xc39)][_0x4130c9(0x98d)];if(!_0x5e9f13['StartTurnShow'])return;this[_0x4130c9(0x7c3)]('addText',_0x5e9f13['StartTurnMsg'][_0x4130c9(0x75a)]($gameTroop[_0x4130c9(0x1ef)]())),this['push'](_0x4130c9(0xd59),_0x5e9f13[_0x4130c9(0xbac)]),this[_0x4130c9(0x7c3)](_0x4130c9(0xb03));},Window_BattleLog[_0x208a24(0xbd8)]['startAction']=function(_0x287999,_0x5d30c1,_0x1e4590){const _0x8baa2d=_0x208a24;this['isCustomActionSequence'](_0x5d30c1)?BattleManager['prepareCustomActionSequence']():_0x8baa2d(0xcb1)===_0x8baa2d(0xa23)?_0x32bcd0[_0x8baa2d(0x7c3)](_0x8baa2d(0xd4a),_0x1c74a5):this[_0x8baa2d(0x131)](_0x287999,_0x5d30c1,_0x1e4590);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x3ad)]=function(_0x2ec44a){const _0x4dd842=_0x208a24;if(!SceneManager['isSceneBattle']())return![];if(!_0x2ec44a)return![];if(!_0x2ec44a['item']())return![];if(_0x2ec44a[_0x4dd842(0x8bb)]()[_0x4dd842(0x6c4)][_0x4dd842(0x7fc)](/<CUSTOM ACTION SEQUENCE>/i))return!![];if(DataManager[_0x4dd842(0x595)](_0x2ec44a[_0x4dd842(0x8bb)]()))return!![];return![];},Window_BattleLog[_0x208a24(0xbd8)]['usePremadeActionSequence']=function(_0x453711,_0x3fa8f8,_0x1ad72d){const _0x3a023d=_0x208a24;this['setupActionSet'](_0x453711,_0x3fa8f8,_0x1ad72d),this[_0x3a023d(0xd51)](_0x453711,_0x3fa8f8,_0x1ad72d),this[_0x3a023d(0x2e3)](_0x453711,_0x3fa8f8,_0x1ad72d);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x734)]=function(_0x5201d2,_0xd26459){const _0x201bca=_0x208a24,_0x22c4d1=VisuMZ[_0x201bca(0x759)][_0x201bca(0xc39)][_0x201bca(0x98d)];_0x22c4d1[_0x201bca(0x784)]&&this[_0x201bca(0x7c3)](_0x201bca(0x9a1),'<CENTER>%1'[_0x201bca(0x75a)](DataManager['battleDisplayText'](_0xd26459)));if(DataManager[_0x201bca(0x269)](_0xd26459)){if(_0x22c4d1[_0x201bca(0xac6)])this[_0x201bca(0x13e)](_0xd26459[_0x201bca(0x9e5)],_0x5201d2,_0xd26459);if(_0x22c4d1[_0x201bca(0x2b0)])this['displayItemMessage'](_0xd26459['message2'],_0x5201d2,_0xd26459);}else{if(_0x201bca(0x805)!=='QautA'){if(_0x22c4d1[_0x201bca(0xb13)])this[_0x201bca(0x13e)](TextManager[_0x201bca(0xa79)],_0x5201d2,_0xd26459);}else{const _0x4e3d74=new _0x4afba6(0x0,0x0,_0x21e8d8['width'],_0x25b8c0[_0x201bca(0x1fa)]);this['_commandNameWindow']=new _0x1582ed(_0x4e3d74),this['_commandNameWindow'][_0x201bca(0x34f)]=0x0,this['addChild'](this[_0x201bca(0xa1e)]),this[_0x201bca(0x2db)]();}}},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x386)]=function(_0x130c97,_0x31a508,_0x4f666a){const _0x5d4be1=_0x208a24,_0x57e3a5=_0x31a508['item']();this[_0x5d4be1(0x734)](_0x130c97,_0x57e3a5),this['push']('applyImmortal',_0x130c97,_0x4f666a,!![]),this[_0x5d4be1(0x7c3)]('performActionStart',_0x130c97,_0x31a508),this[_0x5d4be1(0x7c3)]('waitForMovement'),this[_0x5d4be1(0x7c3)]('performCastAnimation',_0x130c97,_0x31a508),this[_0x5d4be1(0x7c3)](_0x5d4be1(0x32a));},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xd51)]=function(_0x164193,_0x34f2bd,_0x24aabd){const _0x3c6ce4=_0x208a24;if(this[_0x3c6ce4(0xad7)](_0x34f2bd))this[_0x3c6ce4(0xbfb)](_0x164193,_0x34f2bd,_0x24aabd);else{if(this['isMeleeMultiTargetAction'](_0x34f2bd))this[_0x3c6ce4(0x9d9)](_0x164193,_0x34f2bd,_0x24aabd);else{if(_0x34f2bd[_0x3c6ce4(0x8f2)]())this['targetActionSet'](_0x164193,_0x34f2bd,_0x24aabd);else{if(_0x3c6ce4(0x83e)===_0x3c6ce4(0x6f9))return;else this[_0x3c6ce4(0x471)](_0x164193,_0x34f2bd,_0x24aabd);}}}},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x5b8)]=function(_0x4278c3,_0x1022a8,_0x332388,_0x4272d4){const _0x8ddbd7=_0x208a24;if(_0x1022a8){if(_0x8ddbd7(0x342)!==_0x8ddbd7(0x342))_0x15d00c[_0x8ddbd7(0x759)]['Game_Action_applyGlobal'][_0x8ddbd7(0x783)](this),this[_0x8ddbd7(0x4bb)](),this[_0x8ddbd7(0x2de)]();else{const _0x2497dc=_0x4278c3['battler']();this[_0x8ddbd7(0x7c3)](_0x8ddbd7(0x718),[_0x4278c3],_0x332388,_0x4272d4),this[_0x8ddbd7(0x7c3)](_0x8ddbd7(0x5c8),_0x4278c3,_0x2497dc[_0x8ddbd7(0xd02)],_0x2497dc[_0x8ddbd7(0x66c)],_0x4272d4,![],_0x8ddbd7(0xc0e)),this['push'](_0x8ddbd7(0x90c),[_0x4278c3],_0x8ddbd7(0x8a1)),this[_0x8ddbd7(0x7c3)](_0x8ddbd7(0x28d)),this['push'](_0x8ddbd7(0x90c),[_0x4278c3],_0x8ddbd7(0x1b2));}}},Window_BattleLog['prototype'][_0x208a24(0xad7)]=function(_0xbcb1ef){const _0x4c3fda=_0x208a24;if(!_0xbcb1ef[_0x4c3fda(0xbcf)]())return![];if(!_0xbcb1ef[_0x4c3fda(0xcad)]())return![];if(!_0xbcb1ef[_0x4c3fda(0x8e2)]())return![];return VisuMZ[_0x4c3fda(0x759)][_0x4c3fda(0xc39)][_0x4c3fda(0x9b7)][_0x4c3fda(0x65e)];},Window_BattleLog['prototype'][_0x208a24(0xbfb)]=function(_0x4087e3,_0x5d067b,_0x568a1c){const _0x39ac3d=_0x208a24,_0x105495=_0x4087e3[_0x39ac3d(0x863)]()[_0x39ac3d(0x4f8)]<0x2,_0x377811=0x14,_0xc04c6f=0x30;let _0x3769c8=!![];_0x568a1c[_0x39ac3d(0x1ba)]>0x0&&_0x4087e3[_0x39ac3d(0x9bf)]()===_0x568a1c[0x0]['isActor']()&&(_0x3769c8=![]);if(_0x105495&&_0x3769c8){if(_0x39ac3d(0xcb4)===_0x39ac3d(0xcb4))this[_0x39ac3d(0x7c3)](_0x39ac3d(0x718),[_0x4087e3],_0xc04c6f,_0x377811),this['push']('performMoveToTargets',_0x4087e3,_0x568a1c,_0x39ac3d(0x78f),_0x377811,!![],'Linear',!![]),this[_0x39ac3d(0x7c3)]('requestMotion',[_0x4087e3],_0x39ac3d(0x1b2)),this[_0x39ac3d(0x7c3)](_0x39ac3d(0x28d));else return this[_0x39ac3d(0x93a)]()[_0x39ac3d(0x5b3)];}let _0x583221=_0x5d067b[_0x39ac3d(0x67d)]()?this['getDualWieldTimes'](_0x4087e3):0x1;for(let _0x20d2d2=0x0;_0x20d2d2<_0x583221;_0x20d2d2++){if(_0x5d067b['isAttack']()&&_0x4087e3['isActor']()){if(_0x39ac3d(0x679)===_0x39ac3d(0x679))this[_0x39ac3d(0x7c3)](_0x39ac3d(0x907),_0x4087e3,_0x20d2d2);else{if(this[_0x39ac3d(0x3e8)]())return _0x55038a;return _0x442507=this[_0x39ac3d(0x1dd)](_0x5b4b92),_0x1f2679=this['applyHardDamageCap'](_0x4590de),_0x5724c3;}}_0x5d067b['item']()[_0x39ac3d(0x465)]<0x0?this[_0x39ac3d(0x748)](_0x4087e3,_0x5d067b,_0x568a1c):'Rkrhv'===_0x39ac3d(0x2aa)?_0x2e695b[_0x39ac3d(0x251)]=[]:this[_0x39ac3d(0x471)](_0x4087e3,_0x5d067b,_0x568a1c);}_0x5d067b[_0x39ac3d(0x67d)]()&&_0x4087e3[_0x39ac3d(0x9bf)]()&&(_0x39ac3d(0x497)===_0x39ac3d(0x497)?this['push'](_0x39ac3d(0xd4a),_0x4087e3):(_0x4b7e48=_0x3e3c12['filter']((_0x416616,_0x3e5354,_0x2601e5)=>_0x2601e5['indexOf'](_0x416616)===_0x3e5354),_0x3234e6[_0x39ac3d(0x8c3)]()&&_0x3fc170[_0x39ac3d(0x76f)]()&&(_0x8ed6d0=!_0x5e48a0),_0x40c5ed[_0x39ac3d(0x759)][_0x39ac3d(0x10b)][_0x39ac3d(0x783)](this,_0xb0b13b,_0x2ac1ec,_0x5221f3),_0x4c021a['isSceneBattle']()&&_0x2c54aa[_0x39ac3d(0xa85)][_0x39ac3d(0x93d)]())),this[_0x39ac3d(0x7c3)](_0x39ac3d(0x731),_0x4087e3,_0x568a1c,![]),this['addMeleeReturnActionSet'](_0x4087e3,_0x105495,_0xc04c6f,_0x377811);},Window_BattleLog['prototype'][_0x208a24(0x7fa)]=function(_0x5c114d){const _0x4ccb73=_0x208a24;if(!_0x5c114d[_0x4ccb73(0xbcf)]())return![];if(!_0x5c114d[_0x4ccb73(0x8b9)]())return![];if(!_0x5c114d['isForOpponent']())return![];return VisuMZ[_0x4ccb73(0x759)][_0x4ccb73(0xc39)][_0x4ccb73(0x9b7)]['AutoMeleeAoE'];},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x9d9)]=function(_0x2c0949,_0x548367,_0x4f24d0){const _0x5d87eb=_0x208a24,_0x377aa6=_0x2c0949[_0x5d87eb(0x863)]()[_0x5d87eb(0x4f8)]<0x2,_0x47eaee=0x14,_0x589719=0x30;if(_0x377aa6){this[_0x5d87eb(0x7c3)](_0x5d87eb(0x718),[_0x2c0949],_0x589719,_0x47eaee);const _0x88149b=_0x4f24d0['length']>0x1?_0x5d87eb(0x314):'front\x20base';this[_0x5d87eb(0x7c3)]('performMoveToTargets',_0x2c0949,_0x4f24d0,_0x88149b,_0x47eaee,!![],_0x5d87eb(0xc0e),!![]),this[_0x5d87eb(0x7c3)]('requestMotion',[_0x2c0949],'walk'),this['push'](_0x5d87eb(0x28d));}let _0x3b00a4=_0x548367['isAttack']()?this[_0x5d87eb(0xa72)](_0x2c0949):0x1;for(let _0x3e6ff6=0x0;_0x3e6ff6<_0x3b00a4;_0x3e6ff6++){if(_0x5d87eb(0x170)===_0x5d87eb(0x170)){if(_0x548367[_0x5d87eb(0x67d)]()&&_0x2c0949['isActor']()){if(_0x5d87eb(0x4cf)!==_0x5d87eb(0xadf))this[_0x5d87eb(0x7c3)](_0x5d87eb(0x907),_0x2c0949,_0x3e6ff6);else return this[_0x5d87eb(0x8bb)]()&&this[_0x5d87eb(0x8bb)]()[_0x5d87eb(0x6c4)][_0x5d87eb(0x7fc)](/<CANNOT TARGET (?:USER|SELF)>/i);}this[_0x5d87eb(0x471)](_0x2c0949,_0x548367,_0x4f24d0);}else return this[_0x5d87eb(0xa7b)]()&&this['currentAction']()[_0x5d87eb(0x8bb)]()&&!this['currentAction']()[_0x5d87eb(0x4d5)]();}_0x548367[_0x5d87eb(0x67d)]()&&_0x2c0949[_0x5d87eb(0x9bf)]()&&this[_0x5d87eb(0x7c3)]('clearActiveWeaponSet',_0x2c0949),this[_0x5d87eb(0x7c3)]('applyImmortal',_0x2c0949,_0x4f24d0,![]),this[_0x5d87eb(0x5b8)](_0x2c0949,_0x377aa6,_0x589719,_0x47eaee);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x748)]=function(_0x39423d,_0x2b0475,_0x3ab661){const _0xe22873=_0x208a24,_0x492ce7=_0x2b0475[_0xe22873(0x8bb)]();for(const _0x10e942 of _0x3ab661){if(!_0x10e942)continue;this['push']('performAction',_0x39423d,_0x2b0475),this[_0xe22873(0x7c3)]('waitCount',Sprite_Battler['_motionSpeed']),this[_0xe22873(0x7c3)](_0xe22873(0x215),_0x39423d,[_0x10e942],_0x492ce7['animationId']),this[_0xe22873(0x7c3)]('waitCount',0x18),this[_0xe22873(0x7c3)]('actionEffect',_0x39423d,_0x10e942);}},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x471)]=function(_0x4bcfb3,_0x474526,_0x591340){const _0xc1f80f=_0x208a24,_0x56171b=_0x474526['item']();let _0x17c878=_0x474526[_0xc1f80f(0x67d)]()?0x1+_0x4bcfb3[_0xc1f80f(0x804)]():0x1;while(_0x17c878--){this['push']('performAction',_0x4bcfb3,_0x474526),this[_0xc1f80f(0x7c3)]('waitCount',Sprite_Battler[_0xc1f80f(0xa73)]),this[_0xc1f80f(0x7c3)](_0xc1f80f(0x215),_0x4bcfb3,_0x591340['clone'](),_0x56171b['animationId']),this[_0xc1f80f(0x7c3)]('waitForAnimation');}for(const _0x3ffeef of _0x591340){if(!_0x3ffeef)continue;this[_0xc1f80f(0x7c3)](_0xc1f80f(0x29e),_0x4bcfb3,_0x3ffeef);}},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x2e3)]=function(_0x28fa67,_0x50bf2f,_0x111317){const _0x3703a3=_0x208a24,_0x31267d=_0x50bf2f[_0x3703a3(0x8bb)]();this[_0x3703a3(0x7c3)](_0x3703a3(0x731),_0x28fa67,_0x111317,![]),this[_0x3703a3(0x7c3)](_0x3703a3(0xa5d)),this[_0x3703a3(0x7c3)](_0x3703a3(0x2d3)),this[_0x3703a3(0x7c3)](_0x3703a3(0xb03)),this[_0x3703a3(0x7c3)](_0x3703a3(0x749),_0x28fa67),this['push']('waitForMovement');},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x5df)]=function(_0x532f0e){},VisuMZ[_0x208a24(0x759)][_0x208a24(0x291)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x431)],Window_BattleLog['prototype'][_0x208a24(0x431)]=function(_0x3d0596){const _0x141efc=_0x208a24;if(!VisuMZ[_0x141efc(0x759)][_0x141efc(0xc39)][_0x141efc(0x98d)][_0x141efc(0x77c)])return;VisuMZ[_0x141efc(0x759)][_0x141efc(0x291)][_0x141efc(0x783)](this,_0x3d0596);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x6e1)]=function(_0x580c39){const _0x4e35f7=_0x208a24;this[_0x4e35f7(0x7c3)](_0x4e35f7(0x132),_0x580c39);VisuMZ[_0x4e35f7(0x759)][_0x4e35f7(0xc39)]['ActionSequence'][_0x4e35f7(0x4c8)]&&this[_0x4e35f7(0x7c3)](_0x4e35f7(0x215),_0x580c39,[BattleManager[_0x4e35f7(0x64d)]],-0x1);if(!VisuMZ[_0x4e35f7(0x759)][_0x4e35f7(0xc39)][_0x4e35f7(0x98d)][_0x4e35f7(0x667)])return;this[_0x4e35f7(0x7c3)]('addText',TextManager[_0x4e35f7(0x86d)][_0x4e35f7(0x75a)](_0x580c39[_0x4e35f7(0x278)]()));},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x6c5)]=function(_0x3e2c3f){const _0x48baa5=_0x208a24;this['push'](_0x48baa5(0xbe9),_0x3e2c3f);if(!VisuMZ[_0x48baa5(0x759)][_0x48baa5(0xc39)][_0x48baa5(0x98d)][_0x48baa5(0xc53)])return;this['push'](_0x48baa5(0x9a1),TextManager[_0x48baa5(0x91b)][_0x48baa5(0x75a)](_0x3e2c3f['name']()));},Window_BattleLog['prototype'][_0x208a24(0x73e)]=function(_0x559655,_0x2f72c9){const _0x278827=_0x208a24;if(VisuMZ[_0x278827(0x759)][_0x278827(0xc39)][_0x278827(0x9b7)][_0x278827(0x9b9)]){const _0x5eb4b2=_0x2f72c9[_0x278827(0x8bb)]();this[_0x278827(0x7c3)]('showAnimation',_0x559655,[_0x559655],_0x5eb4b2[_0x278827(0x465)]);}},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xc56)]=function(_0x983b4f,_0x16e57b){const _0xd1cb35=_0x208a24;this['push'](_0xd1cb35(0xd5b),_0x983b4f,_0x16e57b);if(!VisuMZ[_0xd1cb35(0x759)][_0xd1cb35(0xc39)]['BattleLog']['ShowSubstitute'])return;const _0x18f138=_0x983b4f[_0xd1cb35(0x278)](),_0x227e4c=TextManager[_0xd1cb35(0x14c)][_0xd1cb35(0x75a)](_0x18f138,_0x16e57b[_0xd1cb35(0x278)]());this['push']('addText',_0x227e4c);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x46d)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x338)],Window_BattleLog['prototype'][_0x208a24(0x338)]=function(_0x3d7c51,_0x4b3eb6){const _0x500577=_0x208a24;VisuMZ[_0x500577(0x759)][_0x500577(0x46d)]['call'](this,_0x3d7c51,_0x4b3eb6);},VisuMZ[_0x208a24(0x759)]['Window_BattleLog_displayFailure']=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x9b4)],Window_BattleLog[_0x208a24(0xbd8)]['displayFailure']=function(_0x18f4e2){const _0x1acf65=_0x208a24;if(!VisuMZ[_0x1acf65(0x759)]['Settings'][_0x1acf65(0x98d)][_0x1acf65(0x5d9)])return;VisuMZ[_0x1acf65(0x759)][_0x1acf65(0x16a)][_0x1acf65(0x783)](this,_0x18f4e2);},VisuMZ[_0x208a24(0x759)]['Window_BattleLog_displayCritical']=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x68a)],Window_BattleLog['prototype'][_0x208a24(0x68a)]=function(_0x5d46ca){const _0xc9203d=_0x208a24;if(!VisuMZ['BattleCore'][_0xc9203d(0xc39)]['BattleLog'][_0xc9203d(0xcb3)])return;VisuMZ[_0xc9203d(0x759)][_0xc9203d(0x9a6)][_0xc9203d(0x783)](this,_0x5d46ca);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x380)]=Window_BattleLog['prototype'][_0x208a24(0x560)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x560)]=function(_0x312bad){const _0xd51951=_0x208a24;!VisuMZ[_0xd51951(0x759)][_0xd51951(0xc39)][_0xd51951(0x98d)][_0xd51951(0x1ca)]?this['push'](_0xd51951(0x1cd),_0x312bad):VisuMZ[_0xd51951(0x759)][_0xd51951(0x380)][_0xd51951(0x783)](this,_0x312bad);},VisuMZ[_0x208a24(0x759)][_0x208a24(0x529)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xbea)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xbea)]=function(_0x4d55eb){const _0x38ea88=_0x208a24;if(!VisuMZ[_0x38ea88(0x759)][_0x38ea88(0xc39)]['BattleLog'][_0x38ea88(0x1ca)])_0x4d55eb['result']()[_0x38ea88(0x6af)]?_0x38ea88(0x922)==='QInYQ'?this[_0x38ea88(0xd44)]():this[_0x38ea88(0x7c3)](_0x38ea88(0x601),_0x4d55eb):this[_0x38ea88(0x7c3)](_0x38ea88(0x8d3),_0x4d55eb);else{if(_0x38ea88(0x645)===_0x38ea88(0x645))VisuMZ[_0x38ea88(0x759)][_0x38ea88(0x529)][_0x38ea88(0x783)](this,_0x4d55eb);else{const _0xa498e7=_0x302da1['parse']('['+_0x3fb6fd['$1']['match'](/\d+/g)+']');for(const _0x54ad54 of _0xa498e7){if(!_0x5f36d5[_0x38ea88(0x905)](_0x54ad54))return![];}return!![];}}},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x4d9)]=function(_0x2b8aca){const _0x2db71e=_0x208a24;if(_0x2b8aca[_0x2db71e(0xa19)]()[_0x2db71e(0x969)]){if(_0x2db71e(0x5fc)!==_0x2db71e(0xc6a)){_0x2b8aca[_0x2db71e(0x624)]=0x0;_0x2b8aca[_0x2db71e(0xa19)]()['hpDamage']>0x0&&!_0x2b8aca[_0x2db71e(0xa19)]()[_0x2db71e(0x8cc)]&&(_0x2db71e(0x633)!==_0x2db71e(0x633)?_0x305c5a[_0x2db71e(0x995)]?this['_forcedBattleLayout']=_0x2db71e(0x66d):this[_0x2db71e(0xbc4)]=_0x2db71e(0x914):(_0x2b8aca[_0x2db71e(0x624)]=_0x2b8aca[_0x2db71e(0xa19)]()[_0x2db71e(0x364)],this[_0x2db71e(0x7c3)](_0x2db71e(0x67a),_0x2b8aca)));_0x2b8aca[_0x2db71e(0xa19)]()[_0x2db71e(0x364)]<0x0&&(_0x2db71e(0x151)===_0x2db71e(0x151)?this[_0x2db71e(0x7c3)](_0x2db71e(0xc8c),_0x2b8aca):(this['updateHomeMove'](),_0x530b9a[_0x2db71e(0x759)][_0x2db71e(0x19b)]['call'](this),this['updatePositionBattleCore'](),this[_0x2db71e(0x90b)]()));if(VisuMZ[_0x2db71e(0x759)]['Settings']['BattleLog']['ShowHpDmg']){if('ZGqng'!==_0x2db71e(0x3dd))return _0x2fbc79[_0x2db71e(0x5a8)](_0x40d66f=>_0x40d66f!==_0x8d2448&&!_0x56a348[_0x2db71e(0xcaf)](_0x40d66f)&&_0x40d66f[_0x2db71e(0x67f)]());else this['push'](_0x2db71e(0x9a1),this[_0x2db71e(0x12b)](_0x2b8aca));}}else{let _0x40ea27=_0x3c32cd[_0x2db71e(0x905)](_0x153a13[_0x2db71e(0x4d4)]);_0x3517e3[_0x2db71e(0x364)]>0x0&&(_0x40ea27+=_0x5253da[_0x2db71e(0x7ac)](_0x2fadbe[_0x2db71e(0x364)])),_0x4d8e9b[_0x2db71e(0x7e1)](_0x2a5290[_0x2db71e(0x4d4)],_0x40ea27);}}},VisuMZ['BattleCore'][_0x208a24(0x945)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x470)],Window_BattleLog['prototype'][_0x208a24(0x470)]=function(_0x1a1ffc){const _0x1d8a67=_0x208a24;if(!VisuMZ[_0x1d8a67(0x759)][_0x1d8a67(0xc39)][_0x1d8a67(0x98d)][_0x1d8a67(0x517)])return;VisuMZ[_0x1d8a67(0x759)][_0x1d8a67(0x945)][_0x1d8a67(0x783)](this,_0x1a1ffc);},VisuMZ[_0x208a24(0x759)][_0x208a24(0xa91)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x289)],Window_BattleLog[_0x208a24(0xbd8)]['displayTpDamage']=function(_0x264758){const _0x3c4912=_0x208a24;if(!VisuMZ[_0x3c4912(0x759)][_0x3c4912(0xc39)][_0x3c4912(0x98d)]['ShowTpDmg'])return;VisuMZ['BattleCore'][_0x3c4912(0xa91)][_0x3c4912(0x783)](this,_0x264758);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x4b3)]=function(_0x443482){const _0x244870=_0x208a24;_0x443482[_0x244870(0xa19)]()[_0x244870(0x746)]()&&(this['push'](_0x244870(0x6dd)),this['displayChangedStates'](_0x443482),this['displayChangedBuffs'](_0x443482),this[_0x244870(0x7c3)](_0x244870(0xa5d)));},Window_BattleLog[_0x208a24(0xbd8)]['displayAddedStates']=function(_0x3557fb){const _0x1e3eaf=_0x208a24,_0x3108f2=_0x3557fb[_0x1e3eaf(0xa19)](),_0xad2881=_0x3108f2['addedStateObjects']();for(const _0x56db7d of _0xad2881){const _0x4a4a01=_0x3557fb['isActor']()?_0x56db7d['message1']:_0x56db7d['message2'];_0x4a4a01&&VisuMZ[_0x1e3eaf(0x759)]['Settings'][_0x1e3eaf(0x98d)][_0x1e3eaf(0xb36)]&&(this[_0x1e3eaf(0x7c3)]('fnordAddedStates'),this[_0x1e3eaf(0x7c3)](_0x1e3eaf(0x7c9)),this['push'](_0x1e3eaf(0x6dd)),this[_0x1e3eaf(0x7c3)](_0x1e3eaf(0x9a1),_0x4a4a01[_0x1e3eaf(0x75a)](_0x3557fb[_0x1e3eaf(0x278)]())),this[_0x1e3eaf(0x7c3)]('wait')),_0x56db7d['id']===_0x3557fb[_0x1e3eaf(0xcb5)]()&&(_0x1e3eaf(0x332)!=='jdKAC'?this['push'](_0x1e3eaf(0x352),_0x3557fb):(_0x345b4f['select'](_0x5f243a),_0x12ba38[_0x1e3eaf(0x651)]()));}},Window_BattleLog['prototype'][_0x208a24(0xcf5)]=function(){},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x2f9)]=function(_0x4930d5){const _0x44f54d=_0x208a24;if(!VisuMZ[_0x44f54d(0x759)][_0x44f54d(0xc39)]['BattleLog'][_0x44f54d(0x5dc)])return;const _0x303108=_0x4930d5[_0x44f54d(0xa19)](),_0x1358fb=_0x303108[_0x44f54d(0x413)]();for(const _0x19a564 of _0x1358fb){if(_0x19a564[_0x44f54d(0x176)]){if(_0x44f54d(0xd03)===_0x44f54d(0x3a7)){if(!_0x44b228['isSceneBattle']())return;_0x3f533[_0x44f54d(0x4f4)](_0x252745,_0x4f1b6a);const _0x5ce6f8=_0x483e0a['getLastPluginCommandInterpreter'](),_0x41a5d1=_0x5525be['_subject'],_0x589fce=_0x236127[_0x44f54d(0xc98)];if(!_0x5ce6f8)return;if(!_0x41a5d1)return;_0x41a5d1&&_0x41a5d1[_0x44f54d(0x248)]()&&_0x589fce[_0x44f54d(0x4d6)]()['trim']()!==_0x44f54d(0x873)&&_0x5ce6f8[_0x44f54d(0x2f3)]([_0x589fce]);}else this['push'](_0x44f54d(0x85c)),this[_0x44f54d(0x7c3)](_0x44f54d(0x7c9)),this[_0x44f54d(0x7c3)](_0x44f54d(0x6dd)),this[_0x44f54d(0x7c3)](_0x44f54d(0x9a1),_0x19a564[_0x44f54d(0x176)][_0x44f54d(0x75a)](_0x4930d5[_0x44f54d(0x278)]())),this[_0x44f54d(0x7c3)](_0x44f54d(0xac0));}}},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x85c)]=function(){},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x7dd)]=function(_0x3ecada){const _0x1da808=_0x208a24,_0x42297e=VisuMZ[_0x1da808(0x759)][_0x1da808(0xc39)][_0x1da808(0x98d)],_0x2e705b=_0x3ecada['result']();if(_0x42297e['ShowAddedBuff'])this[_0x1da808(0x59a)](_0x3ecada,_0x2e705b[_0x1da808(0x847)],TextManager['buffAdd']);if(_0x42297e[_0x1da808(0x923)])this[_0x1da808(0x59a)](_0x3ecada,_0x2e705b[_0x1da808(0x80e)],TextManager[_0x1da808(0x9b0)]);if(_0x42297e[_0x1da808(0x917)])this[_0x1da808(0x59a)](_0x3ecada,_0x2e705b[_0x1da808(0x47e)],TextManager[_0x1da808(0x29b)]);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x59a)]=function(_0x345405,_0xd8741d,_0x18f5ea){const _0x1843fd=_0x208a24;for(const _0x1fb72e of _0xd8741d){const _0x1b58b1=_0x18f5ea[_0x1843fd(0x75a)](_0x345405[_0x1843fd(0x278)](),TextManager['param'](_0x1fb72e));this[_0x1843fd(0x7c3)](_0x1843fd(0x7c9)),this[_0x1843fd(0x7c3)](_0x1843fd(0x6dd)),this[_0x1843fd(0x7c3)](_0x1843fd(0x9a1),_0x1b58b1),this[_0x1843fd(0x7c3)](_0x1843fd(0xac0));}},VisuMZ['BattleCore']['Window_BattleLog_clear']=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xb03)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xb03)]=function(){const _0x4e928f=_0x208a24;VisuMZ[_0x4e928f(0x759)]['Window_BattleLog_clear'][_0x4e928f(0x783)](this),this[_0x4e928f(0xd9)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xcfc)]=Window_BattleLog['prototype'][_0x208a24(0x6dd)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x6dd)]=function(){const _0x754653=_0x208a24;VisuMZ['BattleCore'][_0x754653(0xcfc)][_0x754653(0x783)](this),this[_0x754653(0xd9)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xccb)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x7c9)],Window_BattleLog[_0x208a24(0xbd8)]['popBaseLine']=function(){const _0x55f911=_0x208a24;VisuMZ[_0x55f911(0x759)][_0x55f911(0xccb)][_0x55f911(0x783)](this),this[_0x55f911(0x775)](),this[_0x55f911(0xd9)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x9e2)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x9ed)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x9ed)]=function(_0x1c4ad0){const _0x2a9303=_0x208a24;VisuMZ[_0x2a9303(0x759)][_0x2a9303(0x9e2)][_0x2a9303(0x783)](this,_0x1c4ad0),this['callNextMethod']();},Window_BattleLog['prototype']['waitForNewLine']=function(){const _0x3eef0d=_0x208a24;let _0x508db6=0x0;this[_0x3eef0d(0x411)][_0x3eef0d(0x1ba)]>0x0&&('XZUmP'!==_0x3eef0d(0x948)?this[_0x3eef0d(0xbcd)]():_0x508db6=this[_0x3eef0d(0x411)][this[_0x3eef0d(0x411)]['length']-0x1]);if(this[_0x3eef0d(0x163)][_0x3eef0d(0x1ba)]>_0x508db6){if('gVTPd'===_0x3eef0d(0xbda))this[_0x3eef0d(0xac0)]();else{if(_0x4fb622[_0x3eef0d(0x47f)]()[_0x3eef0d(0x870)]>0x0)return!![];if(_0x465e67[_0x3eef0d(0x47f)]()[_0x3eef0d(0x72f)]>0x0)return!![];this[_0x3eef0d(0x7a6)]='';}}else this[_0x3eef0d(0xd9)]();},VisuMZ['BattleCore'][_0x208a24(0x6eb)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x997)],Window_BattleLog['prototype'][_0x208a24(0x997)]=function(_0x21ad23,_0x273b83){const _0x307e02=_0x208a24;VisuMZ['BattleCore'][_0x307e02(0x6eb)][_0x307e02(0x783)](this,_0x21ad23,_0x273b83),this[_0x307e02(0xd9)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x7ad)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x3f6)],Window_BattleLog[_0x208a24(0xbd8)]['performAction']=function(_0x585e9a,_0x563cb1){const _0x2b3366=_0x208a24;VisuMZ[_0x2b3366(0x759)]['Window_BattleLog_performAction']['call'](this,_0x585e9a,_0x563cb1),this[_0x2b3366(0xd9)]();},VisuMZ['BattleCore'][_0x208a24(0x51d)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x749)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x749)]=function(_0xb8df76){const _0x251ae4=_0x208a24;VisuMZ[_0x251ae4(0x759)][_0x251ae4(0x51d)]['call'](this,_0xb8df76);for(const _0x3ffa6a of BattleManager['allBattleMembers']()){if(_0x251ae4(0x506)!==_0x251ae4(0x506)){const _0x498c57=this[_0x251ae4(0x39a)]();this[_0x251ae4(0x534)]=new _0x23f493(_0x498c57),this['_autoBattleWindow'][_0x251ae4(0x6ec)](),this[_0x251ae4(0x739)](this[_0x251ae4(0x534)]);}else{if(!_0x3ffa6a)continue;if(_0x3ffa6a['isDead']())continue;_0x3ffa6a[_0x251ae4(0x18a)]();}}this[_0x251ae4(0xd9)]();},VisuMZ[_0x208a24(0x759)]['Window_BattleLog_performDamage']=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x67a)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x67a)]=function(_0x2a65fb){const _0x59606e=_0x208a24;VisuMZ[_0x59606e(0x759)][_0x59606e(0xb35)][_0x59606e(0x783)](this,_0x2a65fb),this[_0x59606e(0xd9)]();},VisuMZ[_0x208a24(0x759)]['Window_BattleLog_performMiss']=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x1cd)],Window_BattleLog[_0x208a24(0xbd8)]['performMiss']=function(_0x27a748){VisuMZ['BattleCore']['Window_BattleLog_performMiss']['call'](this,_0x27a748),this['callNextMethod']();},VisuMZ['BattleCore'][_0x208a24(0xccc)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xc8c)],Window_BattleLog['prototype'][_0x208a24(0xc8c)]=function(_0x565fc1){const _0x3a4407=_0x208a24;VisuMZ[_0x3a4407(0x759)][_0x3a4407(0xccc)]['call'](this,_0x565fc1),this['callNextMethod']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0xc36)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x601)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x601)]=function(_0x45b610){const _0x52eed2=_0x208a24;VisuMZ['BattleCore']['Window_BattleLog_performEvasion'][_0x52eed2(0x783)](this,_0x45b610),this[_0x52eed2(0xd9)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x1a4)]=Window_BattleLog['prototype'][_0x208a24(0x8d3)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x8d3)]=function(_0x3bd47e){const _0x506368=_0x208a24;VisuMZ[_0x506368(0x759)]['Window_BattleLog_performMagicEvasion']['call'](this,_0x3bd47e),this[_0x506368(0xd9)]();},VisuMZ['BattleCore'][_0x208a24(0xb7)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x132)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x132)]=function(_0x407c39){const _0x3a0fa3=_0x208a24;VisuMZ['BattleCore'][_0x3a0fa3(0xb7)][_0x3a0fa3(0x783)](this,_0x407c39),this['callNextMethod']();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x573)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xbe9)],Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xbe9)]=function(_0x351010){const _0x5c1f83=_0x208a24;VisuMZ[_0x5c1f83(0x759)][_0x5c1f83(0x573)]['call'](this,_0x351010),this[_0x5c1f83(0xd9)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x3e3)]=Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0xd5b)],Window_BattleLog['prototype'][_0x208a24(0xd5b)]=function(_0x30bfbd,_0x26aae5){const _0x22d1b7=_0x208a24;VisuMZ[_0x22d1b7(0x759)][_0x22d1b7(0x3e3)]['call'](this,_0x30bfbd,_0x26aae5),this[_0x22d1b7(0xd9)]();},VisuMZ[_0x208a24(0x759)][_0x208a24(0x1a8)]=Window_BattleLog[_0x208a24(0xbd8)]['performCollapse'],Window_BattleLog[_0x208a24(0xbd8)]['performCollapse']=function(_0x580506){const _0x276306=_0x208a24;VisuMZ['BattleCore']['Window_BattleLog_performCollapse'][_0x276306(0x783)](this,_0x580506),this[_0x276306(0xd9)]();},Window_BattleLog[_0x208a24(0xbd8)]['performCastAnimation']=function(_0x44ef5a,_0x1359ff){const _0x51ef36=_0x208a24;_0x44ef5a[_0x51ef36(0xb17)](_0x1359ff),this[_0x51ef36(0xd9)]();},Window_BattleLog['prototype'][_0x208a24(0x9f2)]=function(_0x5093cb,_0x4a3e08){const _0x2f1d73=_0x208a24,_0x41bcd6=_0x5093cb[_0x2f1d73(0x36a)]();_0x41bcd6<=0x0?_0x2f1d73(0x127)!==_0x2f1d73(0x127)?this['_cache'][_0x2f1d73(0xcb)]=![]:SoundManager[_0x2f1d73(0x998)]():this[_0x2f1d73(0x742)](_0x4a3e08,_0x41bcd6);},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x731)]=function(_0x504b88,_0x5b9205,_0x46210e){const _0xb751e1=_0x208a24,_0x6c46ff=[_0x504b88][_0xb751e1(0x655)](_0x5b9205);for(const _0x29eacb of _0x6c46ff){if(_0xb751e1(0xb86)===_0xb751e1(0xb86)){if(!_0x29eacb)continue;_0x29eacb[_0xb751e1(0x7e2)](_0x46210e);}else _0x278e87+=_0x4477fd,_0x280587+=_0x22babd;}this['callNextMethod']();},Window_BattleLog['prototype'][_0x208a24(0xd59)]=function(_0xb43d01){const _0x4540f7=_0x208a24;this[_0x4540f7(0x73a)]=_0xb43d01;},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x90c)]=function(_0x532aba,_0x5bb758){const _0x1922c3=_0x208a24;for(const _0x38022e of _0x532aba){if(!_0x38022e)continue;_0x38022e['requestMotion'](_0x5bb758);}this[_0x1922c3(0xd9)]();},Window_BattleLog[_0x208a24(0xbd8)][_0x208a24(0x5c8)]=function(_0x334143,_0x1add21,_0x2a85df,_0xf13e1a,_0x6a668e,_0x20bfd6){const _0x5da0d5=_0x208a24;_0x334143[_0x5da0d5(0x70e)](_0x1add21,_0x2a85df,_0xf13e1a,_0x6a668e,_0x20bfd6,-0x1),this[_0x5da0d5(0xd9)]();},Window_BattleLog[_0x208a24(0xbd8)]['performMoveToTargets']=function(_0x28fd6a,_0x27b967,_0x47f50b,_0x886be9,_0x46b6e8,_0x5ae4f1,_0x5683c1){const _0x3b7470=_0x208a24,_0x512756=Math[_0x3b7470(0x618)](..._0x27b967['map'](_0x23326a=>_0x23326a[_0x3b7470(0xd08)]()['_baseX']-_0x23326a[_0x3b7470(0xd08)]()[_0x3b7470(0x68b)]()/0x2)),_0xe34cca=Math['max'](..._0x27b967[_0x3b7470(0x58e)](_0x385920=>_0x385920[_0x3b7470(0xd08)]()[_0x3b7470(0x169)]+_0x385920[_0x3b7470(0xd08)]()[_0x3b7470(0x68b)]()/0x2)),_0x2c0f63=Math['min'](..._0x27b967[_0x3b7470(0x58e)](_0x2392cd=>_0x2392cd[_0x3b7470(0xd08)]()[_0x3b7470(0x832)]-_0x2392cd[_0x3b7470(0xd08)]()[_0x3b7470(0x536)]())),_0x305fd8=Math['max'](..._0x27b967[_0x3b7470(0x58e)](_0x5e9056=>_0x5e9056[_0x3b7470(0xd08)]()['_baseY'])),_0x293a1f=_0x27b967[_0x3b7470(0x5a8)](_0x660aea=>_0x660aea[_0x3b7470(0x9bf)]())['length'],_0x4797b5=_0x27b967[_0x3b7470(0x5a8)](_0x88ea37=>_0x88ea37[_0x3b7470(0x27a)]())[_0x3b7470(0x1ba)];let _0x10aa79=0x0,_0x5618a1=0x0;if(_0x47f50b[_0x3b7470(0x7fc)](/front/i))_0x3b7470(0xcc1)===_0x3b7470(0x981)?this[_0x3b7470(0x128)]=![]:_0x10aa79=_0x293a1f>=_0x4797b5?_0x512756:_0xe34cca;else{if(_0x47f50b[_0x3b7470(0x7fc)](/middle/i))_0x10aa79=(_0x512756+_0xe34cca)/0x2,_0x5683c1=-0x1;else _0x47f50b[_0x3b7470(0x7fc)](/back/i)&&(_0x10aa79=_0x293a1f>=_0x4797b5?_0xe34cca:_0x512756);}if(_0x47f50b['match'](/head/i))_0x5618a1=_0x2c0f63;else{if(_0x47f50b[_0x3b7470(0x7fc)](/center/i)){_0x5618a1=(_0x2c0f63+_0x305fd8)/0x2;if(_0x28fd6a[_0x3b7470(0xd08)]())_0x5618a1+=_0x28fd6a[_0x3b7470(0xd08)]()[_0x3b7470(0x1fa)]/0x2;}else{if(_0x47f50b[_0x3b7470(0x7fc)](/base/i)){if(_0x3b7470(0x69d)===_0x3b7470(0x69d))_0x5618a1=_0x305fd8;else return _0x4c48df[_0x3b7470(0x496)]?_0x203db7['CoreEngine'][_0x3b7470(0xc39)]['QoL'][_0x3b7470(0x815)]:![];}}}_0x28fd6a[_0x3b7470(0x70e)](_0x10aa79,_0x5618a1,_0x886be9,_0x46b6e8,_0x5ae4f1,_0x5683c1),this[_0x3b7470(0xd9)]();},Window_BattleLog[_0x208a24(0xbd8)]['performJump']=function(_0x115bf4,_0x8566d7,_0x146bfe){const _0x2f74b2=_0x208a24;for(const _0xc47c28 of _0x115bf4){if(!_0xc47c28)continue;_0xc47c28[_0x2f74b2(0x126)](_0x8566d7,_0x146bfe);}this['callNextMethod']();};function Window_BattleMultiTarget(){const _0x13d5f6=_0x208a24;this[_0x13d5f6(0x3bf)](...arguments);}Window_BattleMultiTarget['prototype']=Object[_0x208a24(0x230)](Window_Command[_0x208a24(0xbd8)]),Window_BattleMultiTarget[_0x208a24(0xbd8)]['constructor']=Window_BattleMultiTarget,VisuMZ[_0x208a24(0x759)]['Settings'][_0x208a24(0x421)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)]['MultiTarget']||{},Window_BattleMultiTarget[_0x208a24(0xcfa)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)][_0x208a24(0x421)][_0x208a24(0x8af)]??0x118,Window_BattleMultiTarget[_0x208a24(0xafd)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)][_0x208a24(0x421)][_0x208a24(0x697)]??0x2,Window_BattleMultiTarget[_0x208a24(0xc4b)]=VisuMZ[_0x208a24(0x759)]['Settings'][_0x208a24(0x421)][_0x208a24(0xbd4)]??!![],Window_BattleMultiTarget[_0x208a24(0xadc)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)][_0x208a24(0x421)][_0x208a24(0xb6b)]??'All\x20Allies',Window_BattleMultiTarget[_0x208a24(0x520)]=VisuMZ[_0x208a24(0x759)]['Settings']['MultiTarget'][_0x208a24(0xea)]??_0x208a24(0xcff),Window_BattleMultiTarget[_0x208a24(0x5d1)]=VisuMZ[_0x208a24(0x759)]['Settings'][_0x208a24(0x421)]['ActorOffsetX']??0x0,Window_BattleMultiTarget[_0x208a24(0xc1c)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)]['MultiTarget']['ActorOffsetY']??0x0,Window_BattleMultiTarget[_0x208a24(0xbf2)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)][_0x208a24(0x421)]['EnemyOffsetX']??0x0,Window_BattleMultiTarget[_0x208a24(0x62a)]=VisuMZ[_0x208a24(0x759)][_0x208a24(0xc39)][_0x208a24(0x421)][_0x208a24(0xa02)]??0x0,Window_BattleMultiTarget['prototype'][_0x208a24(0x3bf)]=function(_0x17f3ff,_0x156c9a){const _0x370829=_0x208a24;this['_forActor']=_0x156c9a,Window_Command['prototype'][_0x370829(0x3bf)]['call'](this,_0x17f3ff),this[_0x370829(0xc79)](Window_BattleMultiTarget[_0x370829(0xafd)]),this[_0x370829(0x1d4)](),this[_0x370829(0x6ec)](),this[_0x370829(0x82d)]();},Window_BattleMultiTarget[_0x208a24(0xbd8)][_0x208a24(0x87e)]=function(){const _0x26a1c0=_0x208a24;return this[_0x26a1c0(0x54d)];},Window_BattleMultiTarget[_0x208a24(0xbd8)]['makeCommandList']=function(){const _0x1a2372=_0x208a24;let _0x4997e7=this[_0x1a2372(0x87e)]()?Window_BattleMultiTarget['ALL_ACTORS']:Window_BattleMultiTarget['ALL_ENEMIES'];if(Imported['VisuMZ_0_CoreEngine']&&Window_BattleMultiTarget[_0x1a2372(0xc4b)]){if(_0x1a2372(0xbeb)!==_0x1a2372(0xbeb))this[_0x1a2372(0xbc4)]=_0x1a2372(0x66d);else{this[_0x1a2372(0x983)]=this[_0x1a2372(0x87e)]()?_0x1a2372(0x887):_0x1a2372(0x5cd),this['_buttonText']=TextManager[_0x1a2372(0x122)](this['_buttonKey']);const _0x1748da=VisuMZ[_0x1a2372(0x8e1)][_0x1a2372(0xc39)][_0x1a2372(0x614)][_0x1a2372(0xa6e)];_0x4997e7=_0x1748da['format'](this['_buttonText'],_0x4997e7);}}this[_0x1a2372(0xb83)](_0x4997e7,_0x1a2372(0x244));},Window_BattleMultiTarget['prototype'][_0x208a24(0x1a1)]=function(_0x1d2169){const _0x4a0d48=_0x208a24,_0x2235b0=this[_0x4a0d48(0x617)](_0x1d2169);this['resetTextColor'](),this[_0x4a0d48(0x8cd)](this[_0x4a0d48(0xb4f)](_0x1d2169));const _0x4c6946=this[_0x4a0d48(0x6e4)](_0x1d2169),_0x51d1da=this[_0x4a0d48(0x23d)](_0x4c6946)[_0x4a0d48(0x4fe)],_0x5cbe65=_0x2235b0['x']+Math[_0x4a0d48(0x479)]((_0x2235b0[_0x4a0d48(0x4fe)]-_0x51d1da)/0x2);this[_0x4a0d48(0x49e)](_0x4c6946,_0x5cbe65,_0x2235b0['y'],_0x2235b0[_0x4a0d48(0x4fe)]);},Window_BattleMultiTarget[_0x208a24(0xbd8)]['update']=function(){const _0x3e6f2a=_0x208a24;Window_Command[_0x3e6f2a(0xbd8)][_0x3e6f2a(0x3c1)]['call'](this),this[_0x3e6f2a(0x24e)](),this[_0x3e6f2a(0xc03)]();},Window_BattleMultiTarget[_0x208a24(0xbd8)]['updateVisibility']=function(){const _0x5d93a1=_0x208a24;this[_0x5d93a1(0x3b3)]=this[_0x5d93a1(0x80b)]();},Window_BattleMultiTarget[_0x208a24(0xbd8)][_0x208a24(0x80b)]=function(){const _0x10aa4d=_0x208a24,_0x3621f6=BattleManager[_0x10aa4d(0x53e)](),_0x55dce1=_0x3621f6&&_0x3621f6['canSingleOrMultipleSelect']();if(!_0x55dce1)return![];const _0x2c6cf6=SceneManager[_0x10aa4d(0xc1b)];if(this[_0x10aa4d(0x87e)]()){if(_0x2c6cf6[_0x10aa4d(0xb92)][_0x10aa4d(0x128)]&&_0x2c6cf6['_actorWindow']['_handlers'][_0x10aa4d(0x887)])return!![];if(_0x2c6cf6[_0x10aa4d(0x685)][_0x10aa4d(0x128)]&&_0x2c6cf6[_0x10aa4d(0x685)][_0x10aa4d(0x527)][_0x10aa4d(0x887)])return!![];}else{if(_0x2c6cf6[_0x10aa4d(0x685)][_0x10aa4d(0x128)]&&_0x2c6cf6[_0x10aa4d(0x685)][_0x10aa4d(0x527)]['pageup'])return!![];}return![];},Window_BattleMultiTarget['prototype'][_0x208a24(0xc03)]=function(){const _0x114ebc=_0x208a24;if(!Imported[_0x114ebc(0x496)])return;this[_0x114ebc(0x56e)]!==TextManager[_0x114ebc(0x122)](this[_0x114ebc(0x983)])&&this[_0x114ebc(0xa22)]();},Window_BattleMultiTarget[_0x208a24(0xbd8)][_0x208a24(0xa04)]=function(){const _0x4e6f22=_0x208a24;if(this[_0x4e6f22(0x3b3)]&&TouchInput[_0x4e6f22(0x55f)]()){if(_0x4e6f22(0x26d)===_0x4e6f22(0x26d)){const _0x191232=this[_0x4e6f22(0xbaa)]();if(_0x191232>=0x0){if(_0x4e6f22(0x40e)==='GgpVp'){const _0x377dc6=this[_0x4e6f22(0x87e)]()?_0x4e6f22(0x887):_0x4e6f22(0x5cd);Input[_0x4e6f22(0x984)](_0x377dc6);}else{if(!this['_stateIconSprite'])return;this[_0x4e6f22(0xa4c)]!==this['_stateIconSprite']['_battler']&&this[_0x4e6f22(0xcab)][_0x4e6f22(0x876)](this[_0x4e6f22(0xa4c)]);const _0x58fa4f=this['textWidth']();this['_lineHeight']=this[_0x4e6f22(0x4de)]||_0x1d46a1[_0x4e6f22(0xbd8)]['lineHeight'](),this[_0x4e6f22(0xcab)]['x']=_0x240af5[_0x4e6f22(0xd50)]((_0x58fa4f+_0x2a7fa8[_0x4e6f22(0x808)])/0x2)+0x8,this[_0x4e6f22(0xcab)]['y']=this[_0x4e6f22(0x4de)]/0x2;const _0x47a1e5=_0xd76cfb[_0x4e6f22(0x759)][_0x4e6f22(0xc39)][_0x4e6f22(0x6bd)];this['_stateIconSprite']['x']+=_0x47a1e5[_0x4e6f22(0x5f5)]||0x0,this[_0x4e6f22(0xcab)]['y']+=_0x47a1e5[_0x4e6f22(0x668)]||0x0;}}}else this[_0x4e6f22(0xd12)]();}};