//=============================================================================
// 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.60;

//=============================================================================
 /*:
 * @target MZ
 * @plugindesc [RPG Maker MZ] [Tier 1] [Version 1.60] [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.
 * - 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.
 * - 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.
 * - 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.
 *
 * ---
 *
 * === 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.
 *
 * ---
 *
 * === 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.
 *
 * ---
 *
 * <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.
 *
 * ---
 *
 * <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.
 *
 * ---
 *
 * <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.
 *
 * ---
 *
 * <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'.
 * - 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 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: 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: 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: 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 - 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 - 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: 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: 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: 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: 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 - 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: 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: 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: 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).
 * 
 *   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.
 * 
 *   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 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 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 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 project'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".
 *
 * ---
 *
 * 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 project'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".
 *
 * ---
 *
 * 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 project'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".
 *
 * ---
 * 
 * === 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 - 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.
 * 
 *   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?
 * 
 *   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:
 *   JS: 1:1:
 *   JS: 1:1:
 *   - 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: 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.
 *
 * ---
 *
 * 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
 * 
 *   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.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 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 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 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_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 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 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_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 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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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 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 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 255
 * @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 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_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 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 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_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 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 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 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_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 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 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 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 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 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 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 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 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 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 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 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 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_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 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 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 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 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 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 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_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 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 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 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 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 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 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 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 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 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 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 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_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 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 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 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 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_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 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 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 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 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 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 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 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_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 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 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 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 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 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 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 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 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 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 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 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 Battleback: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 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 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 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 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 jsScale Up: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.
 *
 */
/* ----------------------------------------------------------------------------
 * 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 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 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 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 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 project'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
 *
 */
/* ----------------------------------------------------------------------------
 * 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 project'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
 *
 */
//=============================================================================

const _0x5bdce9=_0x9b05;(function(_0x3f9866,_0x1c9533){const _0x45e538=_0x9b05,_0x5a0cc5=_0x3f9866();while(!![]){try{const _0x5c8526=-parseInt(_0x45e538(0x5cb))/0x1*(-parseInt(_0x45e538(0x885))/0x2)+-parseInt(_0x45e538(0x4d3))/0x3*(parseInt(_0x45e538(0x42a))/0x4)+parseInt(_0x45e538(0x9cf))/0x5*(-parseInt(_0x45e538(0x7c4))/0x6)+parseInt(_0x45e538(0x252))/0x7+parseInt(_0x45e538(0x9d8))/0x8+parseInt(_0x45e538(0x296))/0x9+parseInt(_0x45e538(0xb17))/0xa*(-parseInt(_0x45e538(0xaa9))/0xb);if(_0x5c8526===_0x1c9533)break;else _0x5a0cc5['push'](_0x5a0cc5['shift']());}catch(_0x2bb6fe){_0x5a0cc5['push'](_0x5a0cc5['shift']());}}}(_0x1d5c,0xeacc9));var label=_0x5bdce9(0x61c),tier=tier||0x0,dependencies=[],pluginData=$plugins[_0x5bdce9(0xb85)](function(_0x2205f9){const _0x36c36e=_0x5bdce9;return _0x2205f9[_0x36c36e(0x16e)]&&_0x2205f9[_0x36c36e(0x48c)][_0x36c36e(0x8ed)]('['+label+']');})[0x0];VisuMZ[label][_0x5bdce9(0x76e)]=VisuMZ[label][_0x5bdce9(0x76e)]||{},VisuMZ[_0x5bdce9(0x866)]=function(_0x4d3c27,_0x4a2326){const _0x534868=_0x5bdce9;for(const _0x48ee84 in _0x4a2326){if(_0x534868(0x66f)!==_0x534868(0x314)){if(_0x48ee84[_0x534868(0x16b)](/(.*):(.*)/i)){const _0x1478ff=String(RegExp['$1']),_0xda5172=String(RegExp['$2'])['toUpperCase']()['trim']();let _0x8832a3,_0x11c69d,_0x464fa6;switch(_0xda5172){case'NUM':_0x8832a3=_0x4a2326[_0x48ee84]!==''?Number(_0x4a2326[_0x48ee84]):0x0;break;case _0x534868(0x52c):_0x11c69d=_0x4a2326[_0x48ee84]!==''?JSON[_0x534868(0x6bd)](_0x4a2326[_0x48ee84]):[],_0x8832a3=_0x11c69d['map'](_0x8cae5f=>Number(_0x8cae5f));break;case'EVAL':_0x8832a3=_0x4a2326[_0x48ee84]!==''?eval(_0x4a2326[_0x48ee84]):null;break;case'ARRAYEVAL':_0x11c69d=_0x4a2326[_0x48ee84]!==''?JSON[_0x534868(0x6bd)](_0x4a2326[_0x48ee84]):[],_0x8832a3=_0x11c69d[_0x534868(0x782)](_0x1126ce=>eval(_0x1126ce));break;case _0x534868(0x7c1):_0x8832a3=_0x4a2326[_0x48ee84]!==''?JSON['parse'](_0x4a2326[_0x48ee84]):'';break;case _0x534868(0x680):_0x11c69d=_0x4a2326[_0x48ee84]!==''?JSON[_0x534868(0x6bd)](_0x4a2326[_0x48ee84]):[],_0x8832a3=_0x11c69d[_0x534868(0x782)](_0x11f3f9=>JSON[_0x534868(0x6bd)](_0x11f3f9));break;case'FUNC':_0x8832a3=_0x4a2326[_0x48ee84]!==''?new Function(JSON[_0x534868(0x6bd)](_0x4a2326[_0x48ee84])):new Function(_0x534868(0x2e3));break;case _0x534868(0x525):_0x11c69d=_0x4a2326[_0x48ee84]!==''?JSON['parse'](_0x4a2326[_0x48ee84]):[],_0x8832a3=_0x11c69d[_0x534868(0x782)](_0x325f64=>new Function(JSON[_0x534868(0x6bd)](_0x325f64)));break;case'STR':_0x8832a3=_0x4a2326[_0x48ee84]!==''?String(_0x4a2326[_0x48ee84]):'';break;case _0x534868(0x5ff):_0x11c69d=_0x4a2326[_0x48ee84]!==''?JSON['parse'](_0x4a2326[_0x48ee84]):[],_0x8832a3=_0x11c69d[_0x534868(0x782)](_0x4c721a=>String(_0x4c721a));break;case _0x534868(0x65d):_0x464fa6=_0x4a2326[_0x48ee84]!==''?JSON[_0x534868(0x6bd)](_0x4a2326[_0x48ee84]):{},_0x4d3c27[_0x1478ff]={},VisuMZ[_0x534868(0x866)](_0x4d3c27[_0x1478ff],_0x464fa6);continue;case'ARRAYSTRUCT':_0x11c69d=_0x4a2326[_0x48ee84]!==''?JSON['parse'](_0x4a2326[_0x48ee84]):[],_0x8832a3=_0x11c69d[_0x534868(0x782)](_0x1fe775=>VisuMZ[_0x534868(0x866)]({},JSON[_0x534868(0x6bd)](_0x1fe775)));break;default:continue;}_0x4d3c27[_0x1478ff]=_0x8832a3;}}else return![];}return _0x4d3c27;},(_0x44a80a=>{const _0x6bbda1=_0x5bdce9,_0xeacc34=_0x44a80a[_0x6bbda1(0x74e)];for(const _0x20ee0c of dependencies){if(_0x6bbda1(0x80b)===_0x6bbda1(0x83f))this['autoSelectPriority']();else{if(!Imported[_0x20ee0c]){alert(_0x6bbda1(0x321)[_0x6bbda1(0x824)](_0xeacc34,_0x20ee0c)),SceneManager[_0x6bbda1(0xb4b)]();break;}}}const _0x183015=_0x44a80a[_0x6bbda1(0x48c)];if(_0x183015[_0x6bbda1(0x16b)](/\[Version[ ](.*?)\]/i)){const _0x72ede6=Number(RegExp['$1']);_0x72ede6!==VisuMZ[label]['version']&&('iSaDe'===_0x6bbda1(0x400)?_0x49e005=[_0x6bbda1(0x90c),_0x6bbda1(0x81d),_0x6bbda1(0xae1)][_0x3972a9[_0x6bbda1(0x900)]]||'swing':(alert(_0x6bbda1(0x95b)[_0x6bbda1(0x824)](_0xeacc34,_0x72ede6)),SceneManager[_0x6bbda1(0xb4b)]()));}if(_0x183015['match'](/\[Tier[ ](\d+)\]/i)){if(_0x6bbda1(0x99f)===_0x6bbda1(0x99f)){const _0x1018c3=Number(RegExp['$1']);_0x1018c3<tier?(alert(_0x6bbda1(0x596)[_0x6bbda1(0x824)](_0xeacc34,_0x1018c3,tier)),SceneManager[_0x6bbda1(0xb4b)]()):tier=Math['max'](_0x1018c3,tier);}else{if(this[_0x6bbda1(0x581)]())this[_0x6bbda1(0x9dd)](_0x6bbda1(0x5d3));_0x5d9b98[_0x6bbda1(0x61c)][_0x6bbda1(0x969)][_0x6bbda1(0x4b1)](this);if(this[_0x6bbda1(0x581)]())this[_0x6bbda1(0x9dd)](_0x6bbda1(0x17c));}}VisuMZ[_0x6bbda1(0x866)](VisuMZ[label]['Settings'],_0x44a80a[_0x6bbda1(0x2f6)]);})(pluginData),VisuMZ['CreateActionSequenceTargets']=function(_0x348f03){const _0x212a51=_0x5bdce9;let _0x34f578=[];for(const _0x1960d3 of _0x348f03){_0x34f578=_0x34f578[_0x212a51(0x331)](VisuMZ['ConvertActionSequenceTarget'](_0x1960d3));}return _0x34f578['filter'](_0x1f9802=>_0x1f9802);},VisuMZ[_0x5bdce9(0xaa1)]=function(_0x501d6a){const _0x5d07c9=_0x5bdce9,_0xacafa2=BattleManager[_0x5d07c9(0x8b1)]()['filter'](_0x51473c=>_0x51473c&&_0x51473c[_0x5d07c9(0x6ed)]()),_0x44d3ab=BattleManager[_0x5d07c9(0xb40)],_0x155de2=BattleManager[_0x5d07c9(0xaa8)],_0x47e210=BattleManager[_0x5d07c9(0x8be)]?BattleManager[_0x5d07c9(0x8be)][_0x5d07c9(0x2ca)](0x0):_0xacafa2;_0x501d6a=_0x501d6a[_0x5d07c9(0x63a)]()[_0x5d07c9(0x92d)]();if(_0x501d6a===_0x5d07c9(0x30f))return[_0x44d3ab];else{if(_0x501d6a===_0x5d07c9(0x1dd))return[_0x155de2];else{if(_0x501d6a===_0x5d07c9(0xab6)){if(_0x5d07c9(0x557)===_0x5d07c9(0x679)){_0x528491=_0x355c44||'',_0x42e3d5=_0x5dd048||'';_0x541a41===''&&_0x1a0e53===''&&(_0x41db85=this[_0x5d07c9(0x41a)][_0x5d07c9(0x4e4)](),_0x483028=this[_0x5d07c9(0x2b4)][_0x5d07c9(0x908)]());const _0x5a1811=_0x44a56d[_0x5d07c9(0x34a)](_0x41c151),_0x3e19eb=_0x17f83d[_0x5d07c9(0xa54)](_0x428dc3);_0x5a1811[_0x5d07c9(0x4e9)](this['updateBattlebackBitmap1'][_0x5d07c9(0x124)](this,this[_0x5d07c9(0x41a)],this[_0x5d07c9(0x2b4)],_0x5a1811,_0x3e19eb));}else{if(_0x155de2){if(_0x5d07c9(0x860)!==_0x5d07c9(0x860))return this[_0x5d07c9(0x982)](_0x25a051);else{const _0x2b5ce7=_0x47e210['indexOf'](_0x155de2);return _0x2b5ce7>=0x0?[_0x47e210[_0x2b5ce7-0x1]||_0x155de2]:[_0x155de2];}}}}else{if(_0x501d6a===_0x5d07c9(0x556)){if(_0x5d07c9(0x1ce)===_0x5d07c9(0x1ce)){if(_0x155de2){if(_0x5d07c9(0x881)===_0x5d07c9(0x881)){const _0x34c30e=_0x47e210['indexOf'](_0x155de2);return _0x34c30e>=0x0?[_0x47e210[_0x34c30e+0x1]||_0x155de2]:[_0x155de2];}else{if(_0x307404[_0x5d07c9(0x20c)])return;this[_0x5d07c9(0x34e)](),this[_0x5d07c9(0x843)](),this[_0x5d07c9(0x13b)]();}}}else{const _0x212a86=_0x4e0dbd[_0x5d07c9(0x17b)]();_0x212a86<=0x0?_0x175cd6[_0x5d07c9(0x8e4)]():this['showNormalAnimation'](_0x4b02cf,_0x212a86);}}else{if(_0x501d6a===_0x5d07c9(0x53a)){if(_0x5d07c9(0x4fc)===_0x5d07c9(0x4fc))return _0x47e210;else{if(this['_battler']&&this[_0x5d07c9(0x976)][_0x5d07c9(0x3be)]){const _0x101bef=this[_0x5d07c9(0x976)][_0x5d07c9(0x3be)];this[_0x5d07c9(0x9eb)]=_0x582df7[_0x5d07c9(0x49d)][_0x101bef[_0x5d07c9(0x1be)]],this[_0x5d07c9(0x3b6)]=_0x101bef[_0x5d07c9(0x3ef)];const _0x1daccd=this[_0x5d07c9(0x826)];_0x1daccd['freezeFrame'](_0x101bef[_0x5d07c9(0x1dc)],_0x101bef[_0x5d07c9(0x3ef)]),this['adjustWeaponSpriteOffset']();}}}else{if(_0x501d6a===_0x5d07c9(0x8fe))return[_0x44d3ab][_0x5d07c9(0x331)](_0x47e210);else{if(_0x501d6a===_0x5d07c9(0x6a1)){if('QRMDl'!==_0x5d07c9(0x253)){if(!_0xb5eb7d[_0x5d07c9(0x9b5)](_0x356408))return!![];}else return _0xacafa2[_0x5d07c9(0xb85)](_0x672bee=>_0x672bee!==_0x44d3ab&&!_0x47e210['includes'](_0x672bee)&&_0x672bee['notFocusValid']());}}}}}}}if(_0x44d3ab){if(_0x5d07c9(0x391)===_0x5d07c9(0x136))return this[_0x5d07c9(0x71d)]()['some'](_0x55a8f4=>_0x55a8f4[_0x5d07c9(0x48a)]());else{if(_0x501d6a===_0x5d07c9(0x2b3))return _0x44d3ab['friendsUnit']()['aliveMembers']();else{if(_0x501d6a===_0x5d07c9(0xb2f))return _0x44d3ab['friendsUnit']()['aliveMembers']()[_0x5d07c9(0xb85)](_0x2a15d6=>_0x2a15d6!==_0x44d3ab);else{if(_0x501d6a==='alive\x20friends\x20not\x20target')return _0x44d3ab[_0x5d07c9(0x712)]()['aliveMembers']()['filter'](_0x100ba5=>_0x100ba5!==_0x155de2);else{if(_0x501d6a===_0x5d07c9(0xb3a))return _0x44d3ab['friendsUnit']()[_0x5d07c9(0x91b)]();else{if(_0x501d6a[_0x5d07c9(0x16b)](/FRIEND INDEX (\d+)/i)){if(_0x5d07c9(0x83c)===_0x5d07c9(0x256))_0x40ce95[_0x5d07c9(0x61c)][_0x5d07c9(0x76e)][_0x5d07c9(0xa97)]['AddOption']&&(this[_0x5d07c9(0x2c1)](),this['addBattleCoreAutoBattleStyleCommand']());else{const _0x2dccc1=Number(RegExp['$1']);return[_0x44d3ab[_0x5d07c9(0x712)]()[_0x5d07c9(0x2b7)]()[_0x2dccc1]];}}}}}}if(_0x501d6a==='alive\x20opponents')return _0x44d3ab[_0x5d07c9(0x41c)]()[_0x5d07c9(0xed)]();else{if(_0x501d6a==='alive\x20opponents\x20not\x20target')return _0x44d3ab[_0x5d07c9(0x41c)]()[_0x5d07c9(0xed)]()[_0x5d07c9(0xb85)](_0x21cf25=>_0x21cf25!==_0x155de2);else{if(_0x501d6a==='dead\x20opponents')return'CWylz'===_0x5d07c9(0x2de)?this['_lastPluginCommandInterpreter']:_0x44d3ab[_0x5d07c9(0x41c)]()[_0x5d07c9(0x91b)]();else{if(_0x501d6a[_0x5d07c9(0x16b)](/OPPONENT INDEX (\d+)/i)){const _0x5a3ee4=Number(RegExp['$1']);return[_0x44d3ab[_0x5d07c9(0x41c)]()[_0x5d07c9(0x2b7)]()[_0x5a3ee4]];}}}}}}if(_0x501d6a===_0x5d07c9(0xa9c))return $gameParty[_0x5d07c9(0xed)]();else{if(_0x501d6a==='alive\x20actors\x20not\x20user')return $gameParty[_0x5d07c9(0xed)]()[_0x5d07c9(0xb85)](_0x36ac3c=>_0x36ac3c!==_0x44d3ab);else{if(_0x501d6a===_0x5d07c9(0x362))return $gameParty[_0x5d07c9(0xed)]()[_0x5d07c9(0xb85)](_0xe346ee=>_0xe346ee!==_0x155de2);else{if(_0x501d6a===_0x5d07c9(0x8e3))return $gameParty[_0x5d07c9(0x91b)]();else{if(_0x501d6a[_0x5d07c9(0x16b)](/ACTOR INDEX (\d+)/i)){const _0xe3799e=Number(RegExp['$1']);return[$gameParty[_0x5d07c9(0x2b7)]()[_0xe3799e]];}else{if(_0x501d6a['match'](/ACTOR ID (\d+)/i)){const _0x584ce4=Number(RegExp['$1']);return[$gameActors[_0x5d07c9(0xad6)](_0x584ce4)];}}}}}}if(_0x501d6a===_0x5d07c9(0xad0))return $gameTroop[_0x5d07c9(0xed)]();else{if(_0x501d6a===_0x5d07c9(0xa2c)){if('fvtfM'===_0x5d07c9(0x628))this['isTpb']()?this[_0x5d07c9(0x798)]():_0x35cf28[_0x5d07c9(0x61c)][_0x5d07c9(0x284)]['call'](this);else return $gameTroop['aliveMembers']()[_0x5d07c9(0xb85)](_0x18983c=>_0x18983c!==_0x44d3ab);}else{if(_0x501d6a===_0x5d07c9(0x29d))return $gameTroop[_0x5d07c9(0xed)]()[_0x5d07c9(0xb85)](_0x187c71=>_0x187c71!==_0x155de2);else{if(_0x501d6a==='dead\x20enemies')return $gameTroop[_0x5d07c9(0x91b)]();else{if(_0x501d6a[_0x5d07c9(0x16b)](/ENEMY INDEX (\d+)/i)){if(_0x5d07c9(0x8e2)!=='SeHHj'){this[_0x5d07c9(0x3fa)](_0x2c3346)[_0x5d07c9(0x16b)](/\\I\[(\d+)\]/i);const _0x3a5970=_0x3633bd(_0x1b1be4['$1'])||0x0,_0x898f9a=this[_0x5d07c9(0x101)](_0x12b053),_0x5ad599=_0x898f9a['x']+_0x30d316[_0x5d07c9(0x618)]((_0x898f9a[_0x5d07c9(0x3b2)]-_0x4c0752[_0x5d07c9(0x9e1)])/0x2),_0x3a5edc=_0x898f9a['y']+(_0x898f9a[_0x5d07c9(0x3b0)]-_0x482184[_0x5d07c9(0x8a0)])/0x2;this[_0x5d07c9(0xb82)](_0x3a5970,_0x5ad599,_0x3a5edc);}else{const _0x578d9=Number(RegExp['$1']);return[$gameTroop[_0x5d07c9(0x2b7)]()[_0x578d9]];}}else{if(_0x501d6a[_0x5d07c9(0x16b)](/ENEMY ID (\d+)/i)){const _0x397797=Number(RegExp['$1']);return $gameTroop[_0x5d07c9(0xed)]()[_0x5d07c9(0xb85)](_0x42ffab=>_0x42ffab[_0x5d07c9(0x737)]()===_0x397797);}}}}}}if(_0x501d6a===_0x5d07c9(0x91c)){if(_0x5d07c9(0x48d)!=='wPHZS')return _0xacafa2[_0x5d07c9(0xb85)](_0x42c412=>_0x42c412[_0x5d07c9(0x4d2)]());else this[_0x5d07c9(0x838)](_0x5d07c9(0xa19),_0x5d07c9(0xa1d)[_0x5d07c9(0x824)](_0x3969dc[_0x5d07c9(0x416)](_0x27e9c2)));}else{if(_0x501d6a===_0x5d07c9(0x474))return _0xacafa2[_0x5d07c9(0xb85)](_0x427a08=>_0x427a08[_0x5d07c9(0x4d2)]()&&_0x427a08!==_0x44d3ab);else{if(_0x501d6a===_0x5d07c9(0x44f))return _0xacafa2[_0x5d07c9(0xb85)](_0x130f1c=>_0x130f1c[_0x5d07c9(0x4d2)]()&&_0x130f1c!==_0x155de2);else{if(_0x501d6a===_0x5d07c9(0x1bd))return _0xacafa2['filter'](_0x56f671=>_0x56f671[_0x5d07c9(0x9a3)]());}}}return[];},PluginManager['registerCommand'](pluginData['name'],'ActSeq_Set_SetupAction',_0x5741fa=>{const _0x2bd3ae=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x2bd3ae(0x866)](_0x5741fa,_0x5741fa);const _0x391d81=$gameTemp[_0x2bd3ae(0xb48)](),_0x5231b4=BattleManager['_action'],_0x3aca91=BattleManager[_0x2bd3ae(0xb40)],_0x2c987e=BattleManager[_0x2bd3ae(0x8be)]?BattleManager[_0x2bd3ae(0x8be)]['slice'](0x0):[],_0x2cb57b=BattleManager[_0x2bd3ae(0x5c4)];if(!_0x391d81||!_0x5231b4||!_0x3aca91)return;if(!_0x5231b4[_0x2bd3ae(0xa8a)]())return;if(_0x5741fa[_0x2bd3ae(0x8aa)])_0x2cb57b['displayAction'](_0x3aca91,_0x5231b4[_0x2bd3ae(0xa8a)]());_0x5741fa[_0x2bd3ae(0x281)]&&_0x2cb57b[_0x2bd3ae(0x838)](_0x2bd3ae(0x351),_0x3aca91,_0x2c987e,!![]);if(_0x5741fa[_0x2bd3ae(0x7fe)])_0x2cb57b[_0x2bd3ae(0x838)](_0x2bd3ae(0x187),_0x3aca91,_0x5231b4);if(_0x5741fa['WaitForMovement'])_0x2cb57b['push'](_0x2bd3ae(0x3ba));if(_0x5741fa[_0x2bd3ae(0x6a7)])_0x2cb57b[_0x2bd3ae(0x838)](_0x2bd3ae(0x70c),_0x3aca91,_0x5231b4);if(_0x5741fa[_0x2bd3ae(0x108)])_0x2cb57b['push']('waitForAnimation');_0x391d81['setWaitMode'](_0x2bd3ae(0x3cb));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x536),_0x589d54=>{const _0x4365a3=_0x5bdce9;if(!SceneManager[_0x4365a3(0x5ea)]())return;VisuMZ[_0x4365a3(0x866)](_0x589d54,_0x589d54);const _0x4d27f6=$gameTemp['getLastPluginCommandInterpreter'](),_0x265338=BattleManager[_0x4365a3(0x5ae)],_0x440644=BattleManager[_0x4365a3(0xb40)],_0x53078b=BattleManager[_0x4365a3(0x8be)]?BattleManager[_0x4365a3(0x8be)][_0x4365a3(0x2ca)](0x0):[],_0x3587cc=BattleManager['_logWindow'],_0x4b0ae0=_0x589d54[_0x4365a3(0xa40)]??![];if(!_0x4d27f6||!_0x265338||!_0x440644)return;if(!_0x265338[_0x4365a3(0xa8a)]())return;let _0x4086ea=_0x4b0ae0?_0x3587cc['getDualWieldTimes'](_0x440644):0x1;for(let _0x59e8a1=0x0;_0x59e8a1<_0x4086ea;_0x59e8a1++){_0x4b0ae0&&_0x440644[_0x4365a3(0x491)]()&&_0x3587cc['push'](_0x4365a3(0x96e),_0x440644,_0x59e8a1);if(_0x589d54[_0x4365a3(0xaa6)])_0x3587cc[_0x4365a3(0x838)]('performAction',_0x440644,_0x265338);if(_0x589d54[_0x4365a3(0xa2e)]>0x0)_0x3587cc['push'](_0x4365a3(0x458),_0x589d54['WaitCount']);if(_0x589d54[_0x4365a3(0x6be)])_0x3587cc['push'](_0x4365a3(0x849),_0x440644,_0x53078b,_0x265338[_0x4365a3(0xa8a)]()[_0x4365a3(0x6e3)]);if(_0x589d54[_0x4365a3(0x108)])_0x3587cc[_0x4365a3(0x838)]('waitForAnimation');for(const _0x218922 of _0x53078b){if('IOLQs'===_0x4365a3(0xa26)){const _0x3947a8=this[_0x4365a3(0x8df)];_0x3947a8[_0x4365a3(0x456)]('escape',this[_0x4365a3(0x832)]['bind'](this)),_0x3947a8[_0x4365a3(0x456)](_0x4365a3(0xa63),this[_0x4365a3(0x4e2)][_0x4365a3(0x124)](this)),_0x3947a8[_0x4365a3(0x456)]('singleSkill',this[_0x4365a3(0x615)]['bind'](this)),_0x1efcb2[_0x4365a3(0x985)]()&&(this[_0x4365a3(0x375)]()?delete _0x3947a8[_0x4365a3(0xab7)]['cancel']:_0x3947a8[_0x4365a3(0x456)](_0x4365a3(0x5c1),this[_0x4365a3(0xeb)][_0x4365a3(0x124)](this)));}else{if(!_0x218922)continue;if(_0x589d54[_0x4365a3(0x15a)])_0x3587cc['push'](_0x4365a3(0x1b9),_0x440644,_0x218922);}}}_0x4b0ae0&&_0x440644[_0x4365a3(0x491)]()&&(_0x4365a3(0x46b)!==_0x4365a3(0x215)?_0x3587cc['push'](_0x4365a3(0x496),_0x440644):_0x45968c[_0x4365a3(0xb40)]['friendsUnit']()[_0x4365a3(0x5c6)](_0x13b9a5));if(_0x589d54[_0x4365a3(0x281)])_0x3587cc['push'](_0x4365a3(0x351),_0x440644,_0x53078b,![]);_0x4d27f6[_0x4365a3(0x73c)](_0x4365a3(0x3cb));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],'ActSeq_Set_TargetActionSet',_0x755495=>{const _0x1c8288=_0x5bdce9;if(!SceneManager[_0x1c8288(0x5ea)]())return;VisuMZ[_0x1c8288(0x866)](_0x755495,_0x755495);const _0x36508c=$gameTemp[_0x1c8288(0xb48)](),_0x5a83c6=BattleManager[_0x1c8288(0x5ae)],_0x322185=BattleManager[_0x1c8288(0xb40)],_0x2e29b3=BattleManager[_0x1c8288(0x8be)]?BattleManager[_0x1c8288(0x8be)][_0x1c8288(0x2ca)](0x0):[],_0x46f9b2=BattleManager[_0x1c8288(0x5c4)],_0xd3d777=_0x755495[_0x1c8288(0xa40)]??![];if(!_0x36508c||!_0x5a83c6||!_0x322185)return;if(!_0x5a83c6[_0x1c8288(0xa8a)]())return;let _0x3b4a5e=_0xd3d777?_0x46f9b2[_0x1c8288(0xb4c)](_0x322185):0x1;for(let _0x5524b9=0x0;_0x5524b9<_0x3b4a5e;_0x5524b9++){if(_0x1c8288(0xb19)===_0x1c8288(0x413)){const _0x301310=_0x523f4c[_0x1c8288(0x345)]()?-0x1:0x1;let _0x1c02d5=this[_0x1c8288(0x8f0)];_0x1c02d5+=this[_0x1c8288(0x5e0)]();let _0x52a58f=this['_baseY'];const _0x43237d=this[_0x1c8288(0xa9b)][_0x1c8288(0x91d)]['y'];_0x52a58f+=this['extraPositionY']();const _0xe695c9=_0x2b6271[_0x1c8288(0x352)][_0x1c8288(0x3e2)];if(_0xe695c9&&this[_0x1c8288(0x80c)]===_0xe695c9){_0x1c02d5+=_0xe695c9['x']-this['damageOffsetX']();const _0x4660b8=_0xe695c9['lineHeight']()*0x3/0x4;_0x52a58f=_0xe695c9['y']+_0x4660b8,_0x52a58f=_0x1a13b0['min'](_0x52a58f,_0xe695c9['y']+this['y']-this['height']+_0x4660b8);}_0x3df5b5['x']=_0x5a0e43[_0x1c8288(0xb3f)](_0x1c02d5+this['damageOffsetX']()*_0x301310),_0x47f05c['y']=_0x489882[_0x1c8288(0xb3f)](_0x52a58f+this[_0x1c8288(0xb7d)]());}else for(const _0x523b20 of _0x2e29b3){if(!_0x523b20)continue;_0xd3d777&&_0x322185[_0x1c8288(0x491)]()&&_0x46f9b2[_0x1c8288(0x838)](_0x1c8288(0x96e),_0x322185,_0x5524b9);if(_0x755495['PerformAction'])_0x46f9b2[_0x1c8288(0x838)]('performAction',_0x322185,_0x5a83c6);if(_0x755495['WaitCount1']>0x0)_0x46f9b2[_0x1c8288(0x838)](_0x1c8288(0x458),_0x755495[_0x1c8288(0x1bf)]);if(_0x755495[_0x1c8288(0x6be)])_0x46f9b2[_0x1c8288(0x838)]('showAnimation',_0x322185,[_0x523b20],_0x5a83c6[_0x1c8288(0xa8a)]()[_0x1c8288(0x6e3)]);if(_0x755495[_0x1c8288(0x2a4)]>0x0)_0x46f9b2[_0x1c8288(0x838)](_0x1c8288(0x458),_0x755495[_0x1c8288(0x2a4)]);if(_0x755495[_0x1c8288(0x15a)])_0x46f9b2[_0x1c8288(0x838)](_0x1c8288(0x1b9),_0x322185,_0x523b20);}}_0xd3d777&&_0x322185['isActor']()&&_0x46f9b2[_0x1c8288(0x838)](_0x1c8288(0x496),_0x322185);if(_0x755495[_0x1c8288(0x281)])_0x46f9b2[_0x1c8288(0x838)](_0x1c8288(0x351),_0x322185,_0x2e29b3,![]);_0x36508c['setWaitMode'](_0x1c8288(0x3cb));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xa7f),_0x447efd=>{const _0x3f0587=_0x5bdce9;if(!SceneManager[_0x3f0587(0x5ea)]())return;VisuMZ[_0x3f0587(0x866)](_0x447efd,_0x447efd);const _0x4df39e=$gameTemp[_0x3f0587(0xb48)](),_0x15e59d=BattleManager[_0x3f0587(0x5ae)],_0x422554=BattleManager['_subject'],_0x33cbca=BattleManager['_allTargets']?BattleManager[_0x3f0587(0x8be)][_0x3f0587(0x2ca)](0x0):[],_0x161073=BattleManager['_logWindow'];if(!_0x4df39e||!_0x15e59d||!_0x422554)return;if(!_0x15e59d[_0x3f0587(0xa8a)]())return;if(_0x447efd[_0x3f0587(0x281)])_0x161073[_0x3f0587(0x838)](_0x3f0587(0x351),_0x422554,_0x33cbca,![]);if(_0x447efd[_0x3f0587(0x738)])_0x161073[_0x3f0587(0x838)](_0x3f0587(0x718));if(_0x447efd[_0x3f0587(0x95f)])_0x161073[_0x3f0587(0x838)](_0x3f0587(0x4b3));if(_0x447efd[_0x3f0587(0x917)])_0x161073[_0x3f0587(0x838)](_0x3f0587(0x89d));if(_0x447efd[_0x3f0587(0x22c)])_0x161073[_0x3f0587(0x838)](_0x3f0587(0x154),_0x422554);if(_0x447efd[_0x3f0587(0x201)])_0x161073[_0x3f0587(0x838)](_0x3f0587(0x3ba));_0x4df39e[_0x3f0587(0x73c)](_0x3f0587(0x3cb));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x7c7),_0xd18d50=>{const _0x1be89a=_0x5bdce9;if(!SceneManager[_0x1be89a(0x5ea)]())return;if(!Imported[_0x1be89a(0x27b)])return;VisuMZ[_0x1be89a(0x866)](_0xd18d50,_0xd18d50);const _0x41d33b=$gameTemp[_0x1be89a(0xb48)](),_0x30e775=_0xd18d50[_0x1be89a(0xaec)];if(!_0x41d33b)return;$gameScreen['setBattleAngle'](_0xd18d50[_0x1be89a(0x47c)],_0xd18d50[_0x1be89a(0x26c)],_0xd18d50['EasingType']);if(_0x30e775)_0x41d33b[_0x1be89a(0x73c)](_0x1be89a(0x3f5));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0xa57),_0x3b6e67=>{const _0x47525e=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x47525e(0x27b)])return;VisuMZ[_0x47525e(0x866)](_0x3b6e67,_0x3b6e67);const _0x586779=$gameTemp['getLastPluginCommandInterpreter'](),_0x1ecc23=_0x3b6e67[_0x47525e(0xaec)];if(!_0x586779)return;$gameScreen[_0x47525e(0x7ee)](0x0,_0x3b6e67[_0x47525e(0x26c)],_0x3b6e67[_0x47525e(0x752)]);if(_0x1ecc23)_0x586779['setWaitMode'](_0x47525e(0x3f5));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x2da),_0xfc1e2c=>{const _0x22e702=_0x5bdce9;if(!SceneManager[_0x22e702(0x5ea)]())return;if(!Imported[_0x22e702(0x27b)])return;const _0x103310=$gameTemp[_0x22e702(0xb48)]();if(!_0x103310)return;_0x103310[_0x22e702(0x73c)](_0x22e702(0x3f5));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x3ec),_0x4ef4bb=>{const _0x2d048f=_0x5bdce9;if(!SceneManager[_0x2d048f(0x5ea)]())return;VisuMZ[_0x2d048f(0x866)](_0x4ef4bb,_0x4ef4bb);const _0x257aaf=$gameTemp[_0x2d048f(0xb48)](),_0x1b99dc=BattleManager[_0x2d048f(0x5ae)],_0x109e6b=BattleManager[_0x2d048f(0xb40)],_0xf3060a=VisuMZ['CreateActionSequenceTargets'](_0x4ef4bb[_0x2d048f(0x637)]),_0x33e13f=_0x4ef4bb[_0x2d048f(0x5c2)],_0x49cf68=BattleManager[_0x2d048f(0x5c4)];if(!_0x257aaf||!_0x1b99dc||!_0x109e6b)return;if(!_0x1b99dc[_0x2d048f(0xa8a)]())return;let _0xa03e77=_0x1b99dc[_0x2d048f(0xa8a)]()[_0x2d048f(0x6e3)];if(_0xa03e77<0x0)_0xa03e77=_0x109e6b[_0x2d048f(0x17b)]();$gameTemp[_0x2d048f(0x905)](_0xf3060a,_0xa03e77,_0x33e13f),_0x4ef4bb[_0x2d048f(0x108)]&&_0x257aaf[_0x2d048f(0x73c)](_0x2d048f(0x9bc));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x60a),_0x1f72d4=>{const _0xa47834=_0x5bdce9;if(!SceneManager[_0xa47834(0x5ea)]())return;VisuMZ[_0xa47834(0x866)](_0x1f72d4,_0x1f72d4);const _0x8a2ced=$gameTemp[_0xa47834(0xb48)](),_0x1456f5=BattleManager['_subject'],_0x478e87=VisuMZ[_0xa47834(0x1f5)](_0x1f72d4[_0xa47834(0x637)]),_0x451f72=_0x1f72d4[_0xa47834(0x5c2)],_0x3d7f4a=BattleManager['_logWindow'];if(!_0x8a2ced||!_0x1456f5)return;const _0x268ca4=_0x1456f5[_0xa47834(0x17b)]();$gameTemp[_0xa47834(0x905)](_0x478e87,_0x268ca4,_0x451f72),_0x1f72d4['WaitForAnimation']&&_0x8a2ced[_0xa47834(0x73c)](_0xa47834(0x9bc));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x453),_0x2a5d3c=>{const _0x49b653=_0x5bdce9;if(!SceneManager[_0x49b653(0x5ea)]())return;VisuMZ[_0x49b653(0x866)](_0x2a5d3c,_0x2a5d3c);const _0x54efb9=_0x291cd4['attackAnimationIdSlot'](_0x2a5d3c[_0x49b653(0x393)]);if(_0x54efb9<=0x0)return;const _0x36db2f=$gameTemp[_0x49b653(0xb48)](),_0x291cd4=BattleManager[_0x49b653(0xb40)],_0x3b2539=VisuMZ[_0x49b653(0x1f5)](_0x2a5d3c[_0x49b653(0x637)]),_0xc08a3f=_0x2a5d3c['Mirror'],_0x339586=BattleManager[_0x49b653(0x5c4)];if(!_0x36db2f||!_0x291cd4)return;$gameTemp[_0x49b653(0x905)](_0x3b2539,_0x54efb9,_0xc08a3f),_0x2a5d3c[_0x49b653(0x108)]&&_0x36db2f['setWaitMode']('battleAnimation');}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x562),_0x20996b=>{const _0x3922a1=_0x5bdce9;if(!SceneManager[_0x3922a1(0x5ea)]())return;VisuMZ['ConvertParams'](_0x20996b,_0x20996b);const _0x569a55=$gameTemp[_0x3922a1(0xb48)](),_0x3cde99=BattleManager[_0x3922a1(0x5ae)],_0x3a127c=_0x20996b[_0x3922a1(0x5c2)],_0x53f739=VisuMZ[_0x3922a1(0x1f5)](_0x20996b['Targets']);if(!_0x569a55||!_0x3cde99)return;if(!_0x3cde99[_0x3922a1(0xa8a)]())return;for(const _0x144360 of _0x53f739){if('gIumq'==='uIoUo'){const _0x5a7205=this[_0x3922a1(0xa5b)][_0x3922a1(0x454)];if(!_0x5a7205)return;const _0x53eb00=_0x5a7205['width'];let _0xa4f605=_0x5a7205[_0x3922a1(0x3b0)];if(this['_battler'][_0x3922a1(0x9a3)]()){if(this[_0x3922a1(0x6ef)])_0xa4f605=_0x50c048[_0x3922a1(0xa5e)](0x0,this[_0x3922a1(0x6ef)][_0x3922a1(0x3b0)]-0x4);}this[_0x3922a1(0xa5b)][_0x3922a1(0x8da)](0x0,0x0,_0x53eb00,_0xa4f605),this[_0x3922a1(0x8da)](0x0,0x0,_0x53eb00,_0xa4f605);}else{if(!_0x144360)continue;_0x144360[_0x3922a1(0x70c)](_0x3cde99,_0x3a127c);}}if(_0x20996b['WaitForAnimation'])_0x569a55[_0x3922a1(0x73c)](_0x3922a1(0x9bc));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x661),_0x40af5e=>{const _0x882ee=_0x5bdce9;VisuMZ['ConvertParams'](_0x40af5e,_0x40af5e);const _0x5155dd=$gameTemp[_0x882ee(0xb48)](),_0x50b71a=VisuMZ[_0x882ee(0x1f5)](_0x40af5e[_0x882ee(0x637)]),_0x5b38ae=_0x40af5e[_0x882ee(0x35b)];if(!_0x5b38ae)return;for(const _0x11303a of _0x50b71a){if(!_0x11303a)continue;if(!_0x11303a[_0x882ee(0x491)]())continue;_0x11303a['setBattlePortrait'](_0x5b38ae);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x1cc),_0x1ae3e2=>{const _0x4b8f2a=_0x5bdce9;if(!SceneManager[_0x4b8f2a(0x352)])return;if(!SceneManager[_0x4b8f2a(0x352)][_0x4b8f2a(0x25a)])return;if(!Imported['VisuMZ_0_CoreEngine'])return;VisuMZ[_0x4b8f2a(0x866)](_0x1ae3e2,_0x1ae3e2);const _0x234f6a=$gameTemp['getLastPluginCommandInterpreter'](),_0x1dc299=Math[_0x4b8f2a(0xb3f)](_0x1ae3e2[_0x4b8f2a(0xb73)]),_0x162dc0=Math[_0x4b8f2a(0xb3f)](_0x1ae3e2[_0x4b8f2a(0xad5)]);$gameTemp['requestPointAnimation'](_0x1dc299,_0x162dc0,_0x1ae3e2['AnimationID'],_0x1ae3e2[_0x4b8f2a(0x5c2)],_0x1ae3e2[_0x4b8f2a(0xb59)]),_0x1ae3e2[_0x4b8f2a(0x13d)]&&_0x234f6a&&(SceneManager[_0x4b8f2a(0x352)]['_spriteset'][_0x4b8f2a(0x582)](),_0x234f6a['setWaitMode'](_0x4b8f2a(0x9bc)));}),PluginManager['registerCommand'](pluginData['name'],_0x5bdce9(0x7d6),_0x1f304b=>{const _0x38fc1f=_0x5bdce9;if(!SceneManager[_0x38fc1f(0x5ea)]())return;VisuMZ['ConvertParams'](_0x1f304b,_0x1f304b);const _0x92f450=$gameTemp[_0x38fc1f(0xb48)](),_0x1bc46c=VisuMZ[_0x38fc1f(0x1f5)](_0x1f304b[_0x38fc1f(0x637)]),_0x34add9=_0x1f304b['AnimationID'],_0x6b8aec=_0x1f304b[_0x38fc1f(0x5c2)];if(!_0x92f450)return;$gameTemp[_0x38fc1f(0x905)](_0x1bc46c,_0x34add9,_0x6b8aec);if(_0x1f304b['WaitForAnimation'])_0x92f450[_0x38fc1f(0x73c)]('battleAnimation');}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Animation_WaitForAnimation',_0x44d7d9=>{const _0x2f9727=_0x5bdce9;if(!SceneManager[_0x2f9727(0x5ea)]())return;const _0xb559af=$gameTemp[_0x2f9727(0xb48)]();if(!_0xb559af)return;_0xb559af[_0x2f9727(0x73c)](_0x2f9727(0x9bc));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xa55),_0x198818=>{const _0x293ab0=_0x5bdce9;if(!SceneManager[_0x293ab0(0x5ea)]())return;VisuMZ['ConvertParams'](_0x198818,_0x198818);const _0x41baca=BattleManager[_0x293ab0(0x5c4)],_0xe556fc=_0x198818[_0x293ab0(0x5a1)]&&Imported['VisuMZ_4_CombatLog'];_0x41baca[_0x293ab0(0xa19)](_0x198818['Text']),_0xe556fc&&Imported[_0x293ab0(0x99e)]&&('lDjLj'!==_0x293ab0(0x31c)?$gameSystem[_0x293ab0(0x75e)](_0x198818['Text']||'',_0x198818[_0x293ab0(0x3c3)]||0x0):(_0x15bf3f[_0x293ab0(0x61c)][_0x293ab0(0x7d9)][_0x293ab0(0x4b1)](this),this['updateBattlerContainer']()));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xf3),_0x5b167f=>{const _0x186b6e=_0x5bdce9;if(!SceneManager[_0x186b6e(0x5ea)]())return;const _0x42f2b3=BattleManager['_logWindow'];_0x42f2b3[_0x186b6e(0x89d)]();}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xb2a),_0x307456=>{const _0x179115=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;const _0x4f8ad6=$gameTemp[_0x179115(0xb48)](),_0xa8285e=BattleManager[_0x179115(0x5ae)],_0x1634a4=BattleManager[_0x179115(0xb40)],_0x306384=BattleManager['_logWindow'];if(!_0x4f8ad6||!_0xa8285e||!_0x1634a4)return;if(!_0xa8285e[_0x179115(0xa8a)]())return;_0x306384['displayAction'](_0x1634a4,_0xa8285e['item']()),_0x4f8ad6[_0x179115(0x73c)]('battlelog');}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0xb3e),_0x4739fa=>{const _0x101399=_0x5bdce9;if(!SceneManager[_0x101399(0x5ea)]())return;const _0x3050d3=BattleManager[_0x101399(0x5c4)];_0x3050d3[_0x101399(0x73f)]();}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],'ActSeq_BattleLog_PushBaseLine',_0x2457b8=>{const _0x52ba3e=_0x5bdce9;if(!SceneManager[_0x52ba3e(0x5ea)]())return;const _0x4bf2f8=BattleManager[_0x52ba3e(0x5c4)];_0x4bf2f8['pushBaseLine']();}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],'ActSeq_BattleLog_Refresh',_0x1a6a3e=>{const _0x576dfc=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;const _0x117c74=BattleManager[_0x576dfc(0x5c4)];_0x117c74['refresh']();}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x349),_0x4e9885=>{const _0x3e4010=_0x5bdce9;if(!SceneManager[_0x3e4010(0x5ea)]())return;VisuMZ[_0x3e4010(0x866)](_0x4e9885,_0x4e9885),SceneManager[_0x3e4010(0x352)][_0x3e4010(0x3f0)](_0x4e9885['ShowHide']);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_BattleLog_WaitForBattleLog',_0x23d34f=>{const _0x5d8650=_0x5bdce9;if(!SceneManager[_0x5d8650(0x5ea)]())return;const _0x2b58eb=$gameTemp[_0x5d8650(0xb48)]();_0x2b58eb[_0x5d8650(0x73c)](_0x5d8650(0x3cb));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],'ActSeq_BattleLog_WaitForNewLine',_0x2e8a65=>{const _0xda488c=_0x5bdce9;if(!SceneManager[_0xda488c(0x5ea)]())return;const _0x49632f=$gameTemp[_0xda488c(0xb48)](),_0x4d49c4=BattleManager[_0xda488c(0x5c4)];_0x4d49c4[_0xda488c(0x718)](),_0x49632f[_0xda488c(0x73c)](_0xda488c(0x3cb));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x483),_0x549a54=>{const _0x59d06d=_0x5bdce9;if(!SceneManager[_0x59d06d(0x5ea)]())return;if(!Imported[_0x59d06d(0x27b)])return;VisuMZ[_0x59d06d(0x866)](_0x549a54,_0x549a54);const _0x228824=$gameScreen[_0x59d06d(0x592)]();_0x228824[_0x59d06d(0xb04)]=_0x549a54[_0x59d06d(0x86d)];}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Camera_FocusPoint',_0x23d67b=>{const _0x238872=_0x5bdce9;if(!SceneManager[_0x238872(0x5ea)]())return;if(!Imported[_0x238872(0x27b)])return;VisuMZ[_0x238872(0x866)](_0x23d67b,_0x23d67b);const _0x24b9cb=$gameTemp[_0x238872(0xb48)](),_0x5a28e7=_0x23d67b[_0x238872(0xe4)];$gameScreen[_0x238872(0x4ce)](_0x23d67b[_0x238872(0x2fb)],_0x23d67b['FocusY'],_0x23d67b[_0x238872(0x26c)],_0x23d67b[_0x238872(0x752)]);if(_0x5a28e7)_0x24b9cb[_0x238872(0x73c)](_0x238872(0x8de));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x565),_0x3532d8=>{const _0x5cdd0c=_0x5bdce9;if(!SceneManager[_0x5cdd0c(0x5ea)]())return;if(!Imported[_0x5cdd0c(0x27b)])return;VisuMZ[_0x5cdd0c(0x866)](_0x3532d8,_0x3532d8);const _0x99ee09=$gameTemp[_0x5cdd0c(0xb48)](),_0x1bc1f4=VisuMZ['CreateActionSequenceTargets'](_0x3532d8[_0x5cdd0c(0x637)]),_0x5daaf2=_0x3532d8['WaitForCamera'];$gameScreen['setBattleCameraTargets'](_0x1bc1f4,_0x3532d8['Duration'],_0x3532d8['EasingType']);if(_0x5daaf2)_0x99ee09[_0x5cdd0c(0x73c)](_0x5cdd0c(0x8de));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x1ec),_0x4d7a8f=>{const _0x180ef3=_0x5bdce9;if(!SceneManager[_0x180ef3(0x5ea)]())return;if(!Imported['VisuMZ_3_ActSeqCamera'])return;VisuMZ[_0x180ef3(0x866)](_0x4d7a8f,_0x4d7a8f);const _0x3e490e=$gameTemp['getLastPluginCommandInterpreter'](),_0x422486=_0x4d7a8f[_0x180ef3(0xe4)];$gameScreen[_0x180ef3(0x1e2)](_0x4d7a8f[_0x180ef3(0x6b7)],_0x4d7a8f['OffsetY'],_0x4d7a8f[_0x180ef3(0x26c)],_0x4d7a8f[_0x180ef3(0x752)]);if(_0x422486)_0x3e490e['setWaitMode'](_0x180ef3(0x8de));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xec),_0x3997d8=>{const _0x305ee0=_0x5bdce9;if(!SceneManager[_0x305ee0(0x5ea)]())return;if(!Imported[_0x305ee0(0x27b)])return;VisuMZ[_0x305ee0(0x866)](_0x3997d8,_0x3997d8);const _0x5ab072=$gameTemp[_0x305ee0(0xb48)](),_0x15a862=_0x3997d8[_0x305ee0(0xb0e)],_0xa605=_0x3997d8['ResetOffset'],_0x2682b2=_0x3997d8[_0x305ee0(0xe4)];if(_0x15a862){const _0x3bd0e8=Math[_0x305ee0(0xb3f)](Graphics[_0x305ee0(0x3b2)]/0x2),_0x1cf09a=Math[_0x305ee0(0xb3f)](Graphics[_0x305ee0(0x3b0)]/0x2);$gameScreen[_0x305ee0(0x4ce)](_0x3bd0e8,_0x1cf09a,_0x3997d8['Duration'],_0x3997d8[_0x305ee0(0x752)]);}_0xa605&&$gameScreen[_0x305ee0(0x1e2)](0x0,0x0,_0x3997d8[_0x305ee0(0x26c)],_0x3997d8[_0x305ee0(0x752)]);if(_0x2682b2)_0x5ab072[_0x305ee0(0x73c)](_0x305ee0(0x8de));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x6bc),_0x106fa9=>{const _0x17bcf7=_0x5bdce9;if(!SceneManager[_0x17bcf7(0x5ea)]())return;if(!Imported[_0x17bcf7(0x27b)])return;const _0x1744a6=$gameTemp[_0x17bcf7(0xb48)]();if(!_0x1744a6)return;_0x1744a6[_0x17bcf7(0x73c)]('battleCamera');}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x196),_0x9c39fb=>{const _0x4de47d=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x4de47d(0x303)])return;VisuMZ[_0x4de47d(0x866)](_0x9c39fb,_0x9c39fb);const _0x294c49=VisuMZ[_0x4de47d(0x1f5)](_0x9c39fb[_0x4de47d(0x637)]),_0x2fdbfa=_0x9c39fb['MotionAni'][_0x4de47d(0x63a)]()['trim']();for(const _0x2c087c of _0x294c49){if(!_0x2c087c)continue;_0x2c087c[_0x4de47d(0x86b)](_0x2fdbfa);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xac0),_0x2b8327=>{const _0x4da551=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x4da551(0x303)])return;VisuMZ[_0x4da551(0x866)](_0x2b8327,_0x2b8327);const _0x20cc1a=VisuMZ['CreateActionSequenceTargets'](_0x2b8327[_0x4da551(0x637)]),_0x358bca=_0x2b8327[_0x4da551(0x486)];for(const _0x5ee1da of _0x20cc1a){if(_0x4da551(0x26d)===_0x4da551(0x26d)){if(!_0x5ee1da)continue;_0x5ee1da[_0x4da551(0x94e)]()['timeScale']=_0x358bca;}else return this[_0x4da551(0x4e7)];}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x757),_0x152623=>{const _0x10118c=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported['VisuMZ_1_ElementStatusCore'])return;VisuMZ[_0x10118c(0x866)](_0x152623,_0x152623);const _0x3ade03=BattleManager[_0x10118c(0x5ae)],_0x30fb29=_0x152623[_0x10118c(0x86a)];if(!_0x3ade03)return;_0x3ade03[_0x10118c(0x597)]=_0x30fb29;}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Element_Clear',_0x5ca6e5=>{const _0x20d22c=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x20d22c(0x238)])return;const _0x3b03e3=BattleManager[_0x20d22c(0x5ae)];if(!_0x3b03e3)return;_0x3b03e3[_0x20d22c(0x3ed)]();}),PluginManager['registerCommand'](pluginData['name'],_0x5bdce9(0x43a),_0x2f0e28=>{const _0x4a7b31=_0x5bdce9;if(!SceneManager[_0x4a7b31(0x5ea)]())return;if(!Imported['VisuMZ_1_ElementStatusCore'])return;VisuMZ[_0x4a7b31(0x866)](_0x2f0e28,_0x2f0e28);const _0x2dc92b=BattleManager[_0x4a7b31(0x5ae)],_0x11fe49=_0x2f0e28[_0x4a7b31(0x86a)];if(!_0x2dc92b)return;_0x2dc92b[_0x4a7b31(0x94d)]=_0x11fe49;}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x5ef),_0x1fa6e1=>{const _0x1363a4=_0x5bdce9;if(!SceneManager[_0x1363a4(0x5ea)]())return;if(!Imported[_0x1363a4(0x238)])return;const _0x47a20d=BattleManager[_0x1363a4(0x5ae)];if(!_0x47a20d)return;_0x47a20d[_0x1363a4(0x7e8)]=!![];}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x8c3),_0x430f9c=>{const _0x3278c9=_0x5bdce9;if(!Imported[_0x3278c9(0xb28)])return;if(!SceneManager[_0x3278c9(0x5ea)]())return;VisuMZ[_0x3278c9(0x866)](_0x430f9c,_0x430f9c);const _0xf79424=VisuMZ[_0x3278c9(0x1f5)](_0x430f9c[_0x3278c9(0x637)]);for(const _0x1e81d4 of _0xf79424){if(_0x3278c9(0x2e9)===_0x3278c9(0x2e9)){if(!_0x1e81d4)continue;_0x1e81d4[_0x3278c9(0x2bb)](_0x3278c9(0xa83)),_0x1e81d4[_0x3278c9(0x2bb)](_0x3278c9(0x81b)),_0x1e81d4[_0x3278c9(0x2bb)]('tv'),_0x1e81d4[_0x3278c9(0x7e6)]();}else this[_0x3278c9(0x197)]('sleep');}$gamePlayer[_0x3278c9(0xf7)]();}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x7a5),_0x3763aa=>{const _0x202d11=_0x5bdce9;if(!Imported[_0x202d11(0xb28)])return;if(!SceneManager[_0x202d11(0x5ea)]())return;VisuMZ[_0x202d11(0x866)](_0x3763aa,_0x3763aa);const _0x362d2b=VisuMZ[_0x202d11(0x1f5)](_0x3763aa[_0x202d11(0x637)]),_0x112dcd=_0x202d11(0x81b);_0x3763aa[_0x202d11(0x62f)]=Math[_0x202d11(0xa44)](_0x3763aa[_0x202d11(0xa42)]/0x2),_0x3763aa[_0x202d11(0xb67)]=_0x3763aa['slices'],_0x3763aa['refreshRequest']=!![];for(const _0x19c3c1 of _0x362d2b){if(_0x202d11(0x423)===_0x202d11(0x423)){if(!_0x19c3c1)continue;_0x19c3c1[_0x202d11(0xb21)](_0x112dcd,_0x3763aa);}else{_0x35b05a[_0x202d11(0x768)]['show'][_0x202d11(0x4b1)](this);if(!_0x9b8b0c[_0x202d11(0x68b)]())this['refresh']();}}$gamePlayer[_0x202d11(0xf7)]();}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x45f),_0x3521ce=>{const _0x4cab4d=_0x5bdce9;if(!Imported[_0x4cab4d(0xb28)])return;if(!SceneManager[_0x4cab4d(0x5ea)]())return;VisuMZ[_0x4cab4d(0x866)](_0x3521ce,_0x3521ce);const _0x5e6e44=VisuMZ[_0x4cab4d(0x1f5)](_0x3521ce[_0x4cab4d(0x637)]);for(const _0x11d732 of _0x5e6e44){if(!_0x11d732)continue;_0x11d732['removeHorrorEffect']('glitch');}$gamePlayer['refresh']();}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x2b0),_0x49f72e=>{const _0x1a8a46=_0x5bdce9;if(!Imported[_0x1a8a46(0xb28)])return;if(!SceneManager[_0x1a8a46(0x5ea)]())return;VisuMZ[_0x1a8a46(0x866)](_0x49f72e,_0x49f72e);const _0xf6b4c5=VisuMZ[_0x1a8a46(0x1f5)](_0x49f72e[_0x1a8a46(0x637)]),_0x2a7563=_0x1a8a46(0xa83);for(const _0x12f10e of _0xf6b4c5){if(_0x1a8a46(0x612)===_0x1a8a46(0x612)){if(!_0x12f10e)continue;_0x12f10e['setHorrorEffectSettings'](_0x2a7563,_0x49f72e);}else{const _0x246316=_0x14c270[_0x3c1c61];_0x246316&&_0x286eaa[_0x1a8a46(0x32e)](_0x448856);}}$gamePlayer['refresh']();}),PluginManager['registerCommand'](pluginData['name'],_0x5bdce9(0x24d),_0x203729=>{const _0x4854b8=_0x5bdce9;if(!Imported[_0x4854b8(0xb28)])return;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x4854b8(0x866)](_0x203729,_0x203729);const _0x31eb08=VisuMZ[_0x4854b8(0x1f5)](_0x203729['Targets']);for(const _0x160d64 of _0x31eb08){if(_0x4854b8(0x311)===_0x4854b8(0x311)){if(!_0x160d64)continue;_0x160d64[_0x4854b8(0x2bb)](_0x4854b8(0xa83));}else return this[_0x4854b8(0xa71)]()&&!this[_0x4854b8(0x4ab)]()?this[_0x4854b8(0x22e)]():_0x105ba1['BattleCore'][_0x4854b8(0x651)]['call'](this);}$gamePlayer[_0x4854b8(0xf7)]();}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x260),_0x5ee092=>{const _0x1c895f=_0x5bdce9;if(!Imported['VisuMZ_2_HorrorEffects'])return;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x1c895f(0x866)](_0x5ee092,_0x5ee092);const _0xf73756=VisuMZ[_0x1c895f(0x1f5)](_0x5ee092[_0x1c895f(0x637)]),_0x2949fb='tv';for(const _0x26b5b1 of _0xf73756){if(_0x1c895f(0x2f5)!==_0x1c895f(0x8a9)){if(!_0x26b5b1)continue;_0x26b5b1[_0x1c895f(0xb21)](_0x2949fb,_0x5ee092);}else return this[_0x1c895f(0x392)](_0xbdb167);}$gamePlayer[_0x1c895f(0xf7)]();}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],'ActSeq_Horror_TVRemove',_0x52e026=>{const _0x391dcf=_0x5bdce9;if(!Imported[_0x391dcf(0xb28)])return;if(!SceneManager[_0x391dcf(0x5ea)]())return;VisuMZ['ConvertParams'](_0x52e026,_0x52e026);const _0x43133a=VisuMZ[_0x391dcf(0x1f5)](_0x52e026[_0x391dcf(0x637)]);for(const _0x1408f7 of _0x43133a){if('SJACk'!==_0x391dcf(0xdd)){if(!_0x1408f7)continue;_0x1408f7['removeHorrorEffect']('tv');}else return!![];}$gamePlayer[_0x391dcf(0xf7)]();}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x731),_0x418e61=>{const _0x5360a9=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x5360a9(0x554)])return;const _0x4c70c6=SceneManager['_scene'][_0x5360a9(0x25a)];if(!_0x4c70c6)return;VisuMZ[_0x5360a9(0x866)](_0x418e61,_0x418e61);const _0x39d28e=_0x418e61[_0x5360a9(0x778)]||0x1,_0x4e4341=_0x418e61[_0x5360a9(0x26c)]||0x1,_0x215666=_0x418e61['EasingType']||_0x5360a9(0x32d);_0x4c70c6[_0x5360a9(0x334)](_0x39d28e,_0x4e4341,_0x215666);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Impact_MotionBlurScreen',_0x273328=>{const _0x4138a2=_0x5bdce9;if(!SceneManager[_0x4138a2(0x5ea)]())return;if(!Imported[_0x4138a2(0x554)])return;const _0x5bd9bd=SceneManager[_0x4138a2(0x352)][_0x4138a2(0x25a)];if(!_0x5bd9bd)return;VisuMZ[_0x4138a2(0x866)](_0x273328,_0x273328);const _0xd00dab=Number(_0x273328['Angle'])||0x0,_0x30028d=Number(_0x273328['Rate']),_0x246931=_0x273328[_0x4138a2(0x26c)]||0x1,_0x2bef18=_0x273328['EasingType']||_0x4138a2(0x32d);_0x5bd9bd[_0x4138a2(0x5b5)](_0xd00dab,_0x30028d,_0x246931,_0x2bef18);}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x2ec),_0x236c3b=>{const _0x57ef17=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x57ef17(0x554)])return;const _0x4631f5=SceneManager[_0x57ef17(0x352)]['_spriteset'];if(!_0x4631f5)return;VisuMZ[_0x57ef17(0x866)](_0x236c3b,_0x236c3b);const _0x3b6d54=Number(_0x236c3b[_0x57ef17(0x47c)])||0x0,_0x3b8cad=Number(_0x236c3b[_0x57ef17(0x64e)]),_0x2576c8=_0x236c3b[_0x57ef17(0x26c)]||0x1,_0x344651=_0x236c3b[_0x57ef17(0x752)]||'Linear',_0x30568c=VisuMZ['CreateActionSequenceTargets'](_0x236c3b[_0x57ef17(0x637)]);for(const _0x4c8faa of _0x30568c){if(!_0x4c8faa)continue;if(!_0x4c8faa[_0x57ef17(0xb0d)]())continue;_0x4c8faa[_0x57ef17(0xb0d)]()[_0x57ef17(0x5b5)](_0x3b6d54,_0x3b8cad,_0x2576c8,_0x344651);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x1d5),_0x3be890=>{const _0xfb69e5=_0x5bdce9;if(!SceneManager[_0xfb69e5(0x5ea)]())return;if(!Imported[_0xfb69e5(0x554)])return;VisuMZ['ConvertParams'](_0x3be890,_0x3be890);const _0x5c137d={'delay':_0x3be890[_0xfb69e5(0x310)],'duration':_0x3be890[_0xfb69e5(0x45a)],'hue':_0x3be890[_0xfb69e5(0x1eb)],'opacityStart':_0x3be890[_0xfb69e5(0xb50)],'tone':_0x3be890['tone'],'visible':!![]},_0x3d89cb=VisuMZ[_0xfb69e5(0x1f5)](_0x3be890[_0xfb69e5(0x637)]);for(const _0xf62317 of _0x3d89cb){if(!_0xf62317)continue;_0xf62317['setBattlerMotionTrailData'](_0x5c137d);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xb6b),_0x59df90=>{const _0x2ce216=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported['VisuMZ_3_ActSeqImpact'])return;VisuMZ[_0x2ce216(0x866)](_0x59df90,_0x59df90);const _0x532453=VisuMZ[_0x2ce216(0x1f5)](_0x59df90['Targets']);for(const _0x5945c3 of _0x532453){if('YOXsU'==='YOXsU'){if(!_0x5945c3)continue;_0x5945c3[_0x2ce216(0x14b)]();}else this['_onceParallelInterpreters']=[];}}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x9c5),_0x373e00=>{const _0x3de3c7=_0x5bdce9;if(!Imported['VisuMZ_3_ActSeqImpact'])return;const _0x2dd273=SceneManager[_0x3de3c7(0x352)]['_spriteset'];if(!_0x2dd273)return;VisuMZ['ConvertParams'](_0x373e00,_0x373e00);const _0x23a5c0=_0x373e00['X']||0x0,_0x59338a=_0x373e00['Y']||0x0,_0x13e442=_0x373e00[_0x3de3c7(0x1f0)]||0x0,_0x2db20f=_0x373e00[_0x3de3c7(0x12e)]||0x0,_0x47ad3d=_0x373e00[_0x3de3c7(0x26c)]||0x1;_0x2dd273['setupShockwaveImpactFilter'](_0x23a5c0,_0x59338a,_0x13e442,_0x2db20f,_0x47ad3d);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x87f),_0x5626b3=>{const _0x534cca=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x534cca(0x554)])return;const _0x10c9ef=SceneManager[_0x534cca(0x352)][_0x534cca(0x25a)];if(!_0x10c9ef)return;VisuMZ['ConvertParams'](_0x5626b3,_0x5626b3);const _0x5c7632=VisuMZ['CreateActionSequenceTargets'](_0x5626b3[_0x534cca(0x637)]),_0x379328=_0x5626b3[_0x534cca(0x909)],_0x2cbf07=_0x5626b3[_0x534cca(0x6b7)]||0x0,_0x4557d9=_0x5626b3[_0x534cca(0x4b4)]||0x0,_0x201a0a=_0x5626b3[_0x534cca(0x1f0)]||0x0,_0x520b04=_0x5626b3[_0x534cca(0x12e)]||0x0,_0x18d110=_0x5626b3['Duration']||0x1;for(const _0x13b4be of _0x5c7632){if(!_0x13b4be)continue;if(!_0x13b4be[_0x534cca(0xb0d)]())continue;const _0x1c34b6=_0x13b4be['battler']();let _0x4329e4=_0x1c34b6[_0x534cca(0x8f0)],_0xd7e68a=_0x1c34b6[_0x534cca(0x4c9)];_0x4329e4+=(Graphics[_0x534cca(0x3b2)]-Graphics[_0x534cca(0x7fb)])/0x2,_0xd7e68a+=(Graphics[_0x534cca(0x3b0)]-Graphics[_0x534cca(0x51f)])/0x2;if(_0x379328[_0x534cca(0x16b)](/front/i))_0x4329e4+=(_0x13b4be[_0x534cca(0x203)]()?0x1:-0x1)*_0x1c34b6[_0x534cca(0x1af)]()/0x2;else _0x379328[_0x534cca(0x16b)](/back/i)&&(_0x4329e4+=(_0x13b4be[_0x534cca(0x203)]()?-0x1:0x1)*_0x1c34b6[_0x534cca(0x1af)]()/0x2);if(_0x379328['match'](/head/i))_0xd7e68a-=_0x1c34b6[_0x534cca(0x1a1)]();else{if(_0x379328[_0x534cca(0x16b)](/center/i)){if(_0x534cca(0x140)!==_0x534cca(0x140)){if(!_0x2194ca['isSceneBattle']())return;if(!_0x1f5730[_0x534cca(0x27b)])return;_0x58ce3e[_0x534cca(0x866)](_0x520dc5,_0x59764f);const _0x2bb0f1=_0x1132e2[_0x534cca(0x592)]();_0x2bb0f1[_0x534cca(0xb04)]=_0x2defe0[_0x534cca(0x86d)];}else _0xd7e68a-=_0x1c34b6[_0x534cca(0x1a1)]()/0x2;}}_0x4329e4+=_0x2cbf07,_0xd7e68a+=_0x4557d9,_0x10c9ef[_0x534cca(0xa99)](_0x4329e4,_0xd7e68a,_0x201a0a,_0x520b04,_0x18d110);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],'ActSeq_Impact_ShockwaveCenterTargets',_0xe7c70e=>{const _0x39b3de=_0x5bdce9;if(!SceneManager[_0x39b3de(0x5ea)]())return;if(!Imported[_0x39b3de(0x554)])return;const _0xc7cd7=SceneManager[_0x39b3de(0x352)][_0x39b3de(0x25a)];if(!_0xc7cd7)return;VisuMZ['ConvertParams'](_0xe7c70e,_0xe7c70e);const _0x5b2428=VisuMZ[_0x39b3de(0x1f5)](_0xe7c70e['Targets']),_0x15aaa0=_0xe7c70e[_0x39b3de(0x909)],_0x3bd5f2=_0xe7c70e[_0x39b3de(0x6b7)]||0x0,_0x230bb2=_0xe7c70e['OffsetY']||0x0,_0x2d144b=_0xe7c70e['Amp']||0x0,_0x43b2a8=_0xe7c70e[_0x39b3de(0x12e)]||0x0,_0x3ff994=_0xe7c70e['Duration']||0x1,_0x158354=Math[_0x39b3de(0x339)](..._0x5b2428['map'](_0x131ad3=>_0x131ad3['battler']()[_0x39b3de(0x8f0)]-_0x131ad3[_0x39b3de(0xb0d)]()[_0x39b3de(0x1af)]()/0x2)),_0x2335bf=Math[_0x39b3de(0xa5e)](..._0x5b2428['map'](_0x204969=>_0x204969['battler']()[_0x39b3de(0x8f0)]+_0x204969[_0x39b3de(0xb0d)]()['mainSpriteWidth']()/0x2)),_0x3e53bd=Math['min'](..._0x5b2428['map'](_0x33cc08=>_0x33cc08[_0x39b3de(0xb0d)]()[_0x39b3de(0x4c9)]-_0x33cc08[_0x39b3de(0xb0d)]()['mainSpriteHeight']())),_0x40f947=Math['max'](..._0x5b2428[_0x39b3de(0x782)](_0x4a3da6=>_0x4a3da6[_0x39b3de(0xb0d)]()[_0x39b3de(0x4c9)])),_0x42f110=_0x5b2428[_0x39b3de(0xb85)](_0x2ecf0b=>_0x2ecf0b[_0x39b3de(0x491)]())[_0x39b3de(0x12d)],_0x45717d=_0x5b2428[_0x39b3de(0xb85)](_0x1355a3=>_0x1355a3[_0x39b3de(0x203)]())['length'];let _0x35a8cc=0x0,_0x112325=0x0;if(_0x15aaa0[_0x39b3de(0x16b)](/front/i))_0x35a8cc=_0x42f110>=_0x45717d?_0x158354:_0x2335bf;else{if(_0x15aaa0[_0x39b3de(0x16b)](/middle/i))_0x39b3de(0x958)!==_0x39b3de(0x958)?(_0xb30995[_0x39b3de(0x61c)][_0x39b3de(0xb11)][_0x39b3de(0x4b1)](this,_0x5ac9f0),this['createCommandNameWindow'](_0x40d596)):(_0x35a8cc=(_0x158354+_0x2335bf)/0x2,melee=-0x1);else _0x15aaa0['match'](/back/i)&&(_0x35a8cc=_0x42f110>=_0x45717d?_0x2335bf:_0x158354);}if(_0x15aaa0[_0x39b3de(0x16b)](/head/i))_0x112325=_0x3e53bd;else{if(_0x15aaa0[_0x39b3de(0x16b)](/center/i))_0x112325=(_0x3e53bd+_0x40f947)/0x2;else _0x15aaa0[_0x39b3de(0x16b)](/base/i)&&(_0x112325=_0x40f947);}_0x35a8cc+=(Graphics['width']-Graphics[_0x39b3de(0x7fb)])/0x2,_0x112325+=(Graphics['height']-Graphics[_0x39b3de(0x51f)])/0x2,_0x35a8cc+=_0x3bd5f2,_0x112325+=_0x230bb2,_0xc7cd7[_0x39b3de(0xa99)](_0x35a8cc,_0x112325,_0x2d144b,_0x43b2a8,_0x3ff994);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Impact_ZoomBlurPoint',_0x5e83a2=>{const _0x511d87=_0x5bdce9;if(!Imported['VisuMZ_3_ActSeqImpact'])return;const _0x2f0ee2=SceneManager[_0x511d87(0x352)]['_spriteset'];if(!_0x2f0ee2)return;VisuMZ['ConvertParams'](_0x5e83a2,_0x5e83a2);const _0x50a3e4=_0x5e83a2['X']||0x0,_0x4aee9d=_0x5e83a2['Y']||0x0,_0xd84175=_0x5e83a2[_0x511d87(0x652)]||0x0,_0x15049b=_0x5e83a2[_0x511d87(0xb88)]||0x0,_0x76ea1d=_0x5e83a2[_0x511d87(0x26c)]||0x1,_0x466180=_0x5e83a2['EasingType']||_0x511d87(0x32d);_0x2f0ee2[_0x511d87(0x134)](_0xd84175,_0x50a3e4,_0x4aee9d,_0x15049b,_0x76ea1d,_0x466180);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x186),_0x5eaac5=>{const _0x333bfa=_0x5bdce9;if(!Imported[_0x333bfa(0x554)])return;const _0x19f7c3=SceneManager[_0x333bfa(0x352)]['_spriteset'];if(!_0x19f7c3)return;VisuMZ['ConvertParams'](_0x5eaac5,_0x5eaac5);const _0x5a4dc5=VisuMZ[_0x333bfa(0x1f5)](_0x5eaac5[_0x333bfa(0x637)]),_0x131cfe=_0x5eaac5[_0x333bfa(0x909)],_0x16e1c0=_0x5eaac5[_0x333bfa(0x6b7)]||0x0,_0x281ee7=_0x5eaac5['OffsetY']||0x0,_0x48e4e6=_0x5eaac5[_0x333bfa(0x652)]||0x0,_0x460618=_0x5eaac5[_0x333bfa(0xb88)]||0x0,_0x1c3775=_0x5eaac5['Duration']||0x1,_0x347582=_0x5eaac5['EasingType']||_0x333bfa(0x32d),_0x2a1063=Math['min'](..._0x5a4dc5['map'](_0x1ec417=>_0x1ec417[_0x333bfa(0xb0d)]()[_0x333bfa(0x8f0)]-_0x1ec417[_0x333bfa(0xb0d)]()[_0x333bfa(0x1af)]()/0x2)),_0x399f0d=Math[_0x333bfa(0xa5e)](..._0x5a4dc5[_0x333bfa(0x782)](_0x3e9edf=>_0x3e9edf[_0x333bfa(0xb0d)]()['_baseX']+_0x3e9edf[_0x333bfa(0xb0d)]()[_0x333bfa(0x1af)]()/0x2)),_0x444eeb=Math[_0x333bfa(0x339)](..._0x5a4dc5[_0x333bfa(0x782)](_0x1445b0=>_0x1445b0['battler']()[_0x333bfa(0x4c9)]-_0x1445b0[_0x333bfa(0xb0d)]()[_0x333bfa(0x1a1)]())),_0x4c79b9=Math['max'](..._0x5a4dc5[_0x333bfa(0x782)](_0x7d6285=>_0x7d6285[_0x333bfa(0xb0d)]()['_baseY'])),_0x3c1d21=_0x5a4dc5['filter'](_0x38c2d3=>_0x38c2d3['isActor']())[_0x333bfa(0x12d)],_0x3b4d60=_0x5a4dc5['filter'](_0x17bdd9=>_0x17bdd9[_0x333bfa(0x203)]())['length'];let _0x33f925=0x0,_0x2af2b5=0x0;if(_0x131cfe[_0x333bfa(0x16b)](/front/i))_0x33f925=_0x3c1d21>=_0x3b4d60?_0x2a1063:_0x399f0d;else{if(_0x131cfe[_0x333bfa(0x16b)](/middle/i)){if(_0x333bfa(0x308)==='IbQfN'){const _0x448610=_0x48ef24[_0x333bfa(0x61c)][_0x333bfa(0x76e)][_0x333bfa(0xe6)],_0x49bdd5=this['_battler']&&this['_battler'][_0x333bfa(0x491)]()?0x1:-0x1,_0x209f41=this[_0x333bfa(0x8f0)]-this['_homeX']+_0x49bdd5*_0x448610[_0x333bfa(0x13c)],_0x1930a4=this[_0x333bfa(0x4c9)]-this[_0x333bfa(0x51a)]+_0x49bdd5*_0x448610[_0x333bfa(0x6d8)],_0x1f2228=_0x448610['FlinchDuration'];this[_0x333bfa(0x120)](_0x209f41,_0x1930a4,_0x1f2228);}else _0x33f925=(_0x2a1063+_0x399f0d)/0x2,melee=-0x1;}else _0x131cfe['match'](/back/i)&&('WIoiU'!==_0x333bfa(0x1e7)?_0x42f872[_0x333bfa(0x905)]([this],_0x59a347):_0x33f925=_0x3c1d21>=_0x3b4d60?_0x399f0d:_0x2a1063);}if(_0x131cfe[_0x333bfa(0x16b)](/head/i)){if(_0x333bfa(0x265)!==_0x333bfa(0x265)){if(!this[_0x333bfa(0x3ad)])return;if(!_0x4ffe97)return;this[_0x333bfa(0x3ad)][_0x333bfa(0x18f)](_0x24bdb0);}else _0x2af2b5=_0x444eeb;}else{if(_0x131cfe[_0x333bfa(0x16b)](/center/i))_0x2af2b5=(_0x444eeb+_0x4c79b9)/0x2;else{if(_0x131cfe[_0x333bfa(0x16b)](/base/i)){if(_0x333bfa(0xb65)===_0x333bfa(0x835)){if(this['allowCollapse']())_0x2d26b9['BattleCore']['Sprite_Enemy_updateCollapse']['call'](this);}else _0x2af2b5=_0x4c79b9;}}}_0x33f925+=(Graphics[_0x333bfa(0x3b2)]-Graphics[_0x333bfa(0x7fb)])/0x2,_0x2af2b5+=(Graphics[_0x333bfa(0x3b0)]-Graphics[_0x333bfa(0x51f)])/0x2,_0x33f925+=_0x16e1c0,_0x2af2b5+=_0x281ee7,_0x19f7c3[_0x333bfa(0x134)](_0x48e4e6,_0x33f925,_0x2af2b5,_0x460618,_0x1c3775,_0x347582);}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x20b),_0x41e049=>{const _0x24ec86=_0x5bdce9;if(!SceneManager[_0x24ec86(0x5ea)]())return;VisuMZ['ConvertParams'](_0x41e049,_0x41e049);const _0x3e274b=$gameTemp['getLastPluginCommandInterpreter'](),_0x552212=BattleManager[_0x24ec86(0x5ae)],_0x57f8ee=BattleManager[_0x24ec86(0xb40)],_0x3d54af=BattleManager[_0x24ec86(0x5c4)];if(!_0x3e274b||!_0x552212||!_0x57f8ee)return;if(!_0x552212[_0x24ec86(0xa8a)]())return;const _0x102cb6=VisuMZ['CreateActionSequenceTargets'](_0x41e049[_0x24ec86(0x637)]);for(const _0x3e2873 of _0x102cb6){if(!_0x3e2873)continue;_0x3d54af[_0x24ec86(0x838)](_0x24ec86(0x1b9),_0x57f8ee,_0x3e2873);}_0x3e274b['setWaitMode']('battlelog');}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x1d0),_0x3f220c=>{const _0x47bce3=_0x5bdce9;if(!SceneManager[_0x47bce3(0x5ea)]())return;VisuMZ['ConvertParams'](_0x3f220c,_0x3f220c);const _0x85fd80=[_0x47bce3(0x608),'MAXMP',_0x47bce3(0x37b),_0x47bce3(0x3d5),'MAT','MDF',_0x47bce3(0x204),'LUK'],_0x1882bd=_0x3f220c['Buffs'],_0x7202f9=_0x3f220c[_0x47bce3(0x24f)],_0x108a28=_0x3f220c[_0x47bce3(0x492)],_0x1f4c5d=VisuMZ['CreateActionSequenceTargets'](_0x3f220c[_0x47bce3(0x637)]);for(const _0x1bf638 of _0x1f4c5d){if(_0x47bce3(0x4ca)!==_0x47bce3(0x4ca))return this[_0x47bce3(0xa8a)]()[_0x47bce3(0x664)][_0x47bce3(0x16b)](/<JS TARGETS>/i);else{if(!_0x1bf638)continue;for(const _0x14dbd2 of _0x1882bd){if(_0x47bce3(0x993)!==_0x47bce3(0x993))_0x5e530d+='\x0a',_0x147f05+=_0x5ad0dd[_0x47bce3(0x2f6)][0x0];else{const _0x8ddec9=_0x85fd80[_0x47bce3(0x977)](_0x14dbd2[_0x47bce3(0x673)]()[_0x47bce3(0x92d)]());_0x8ddec9>=0x0&&_0x8ddec9<=0x7&&_0x1bf638[_0x47bce3(0x520)](_0x8ddec9,_0x108a28);}}for(const _0x5684c0 of _0x7202f9){const _0x5a4856=_0x85fd80[_0x47bce3(0x977)](_0x5684c0[_0x47bce3(0x673)]()[_0x47bce3(0x92d)]());if(_0x5a4856>=0x0&&_0x5a4856<=0x7){if(_0x47bce3(0x3e1)!==_0x47bce3(0x3e1))return _0x34dd0a[_0x47bce3(0x61c)]['Settings']['BattleLog']['MaxLines'];else _0x1bf638[_0x47bce3(0x199)](_0x5a4856,_0x108a28);}}}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Mechanics_AddState',_0x11956b=>{const _0x928996=_0x5bdce9;if(!SceneManager[_0x928996(0x5ea)]())return;VisuMZ[_0x928996(0x866)](_0x11956b,_0x11956b);const _0x2fd76=_0x11956b[_0x928996(0x8d2)],_0x28595c=VisuMZ[_0x928996(0x1f5)](_0x11956b[_0x928996(0x637)]);for(const _0x24290e of _0x28595c){if(!_0x24290e)continue;for(const _0x35afb5 of _0x2fd76){_0x24290e['addState'](_0x35afb5);}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Mechanics_ArmorPenetration',_0x27ed45=>{const _0x37e330=_0x5bdce9;if(!SceneManager[_0x37e330(0x5ea)]())return;VisuMZ[_0x37e330(0x866)](_0x27ed45,_0x27ed45);const _0x1de22f=BattleManager['_action'],_0x61da25={'arPenRate':_0x27ed45[_0x37e330(0x941)],'arPenFlat':_0x27ed45['ArPenFlat'],'arRedRate':_0x27ed45[_0x37e330(0x724)],'arRedFlat':_0x27ed45[_0x37e330(0xa58)]};_0x1de22f[_0x37e330(0x742)]=_0x61da25;}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x4e5),_0x5c07ba=>{const _0x2ce08e=_0x5bdce9;if(!SceneManager[_0x2ce08e(0x5ea)]())return;if(!Imported[_0x2ce08e(0x6d7)])return;VisuMZ[_0x2ce08e(0x866)](_0x5c07ba,_0x5c07ba);const _0x264539=VisuMZ[_0x2ce08e(0x1f5)](_0x5c07ba[_0x2ce08e(0x637)]),_0x81dd15=_0x5c07ba[_0x2ce08e(0x5cd)]||0x1;for(const _0x342472 of _0x264539){if(!_0x342472)continue;if(!_0x342472['isEnemy']())continue;_0x342472[_0x2ce08e(0x505)](_0x81dd15);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x1b2),_0x1d6161=>{const _0x441cd0=_0x5bdce9;if(!SceneManager[_0x441cd0(0x5ea)]())return;if(!Imported['VisuMZ_2_BattleSystemATB'])return;if(!BattleManager[_0x441cd0(0x179)]())return;VisuMZ[_0x441cd0(0x866)](_0x1d6161,_0x1d6161);const _0x39e741=VisuMZ[_0x441cd0(0x1f5)](_0x1d6161[_0x441cd0(0x637)]),_0x44e489=_0x1d6161[_0x441cd0(0x384)],_0x109127=_0x1d6161[_0x441cd0(0x384)],_0x3fe5d3=_0x1d6161[_0x441cd0(0x567)];for(const _0x52cbfb of _0x39e741){if(!_0x52cbfb)continue;if(_0x52cbfb[_0x441cd0(0xb43)]())_0x52cbfb[_0x441cd0(0x774)](_0x44e489);else{if(_0x52cbfb[_0x441cd0(0x965)]()){if(_0x441cd0(0x542)!=='FkiKZ'){if(!_0x30f014[_0x441cd0(0x68b)]())return;const _0x2c24e9=this[_0x441cd0(0xb0d)]();if(!_0x2c24e9)return;_0x3263ec=_0x57b51a||0x0;if(_0x3e32af>0x0){if(_0x2c24e9['_baseX']>_0xd2e210)_0xc1deff+=_0x2c24e9[_0x441cd0(0x3b2)]/0x2+_0x1618c0;if(_0x2c24e9['_baseX']<_0x50b899)_0xdff32d-=_0x2c24e9[_0x441cd0(0x3b2)]/0x2+_0x2686b8;}if(_0x1ecb8b)this['setBattlerFacePoint'](_0x50c2f6,_0x48cd1f,![]);_0x2c24e9['startHomeMove'](_0x273a59,_0x489e61,_0x380d87,_0x47d73b),this['_forcedHomeX']=_0x55ae1e,this[_0x441cd0(0x9fa)]=_0x2b8f41;}else{_0x52cbfb[_0x441cd0(0xa47)](_0x109127);if(_0x3fe5d3)_0x52cbfb[_0x441cd0(0x8d7)]();}}}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x5c5),_0x3ecbb1=>{const _0x3fe6a7=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported['VisuMZ_3_BoostAction'])return;VisuMZ[_0x3fe6a7(0x866)](_0x3ecbb1,_0x3ecbb1);const _0x25caa6=VisuMZ[_0x3fe6a7(0x1f5)](_0x3ecbb1['Targets']),_0xa17b30=_0x3ecbb1[_0x3fe6a7(0x1db)];for(const _0x113533 of _0x25caa6){if('xwGoC'==='xwGoC'){if(!_0x113533)continue;_0x113533[_0x3fe6a7(0x8e6)](_0xa17b30);}else!_0x14066b['battleMembers']()[_0x3fe6a7(0x8ed)](this[_0x3fe6a7(0x793)])&&(this[_0x3fe6a7(0x793)]=null);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x521),_0x368d4e=>{const _0x2dee16=_0x5bdce9;if(!SceneManager[_0x2dee16(0x5ea)]())return;if(!Imported[_0x2dee16(0x11e)])return;if(!BattleManager[_0x2dee16(0xb40)])return;VisuMZ[_0x2dee16(0x866)](_0x368d4e,_0x368d4e);const _0x2e2aaf=_0x368d4e['VariableID'];$gameVariables[_0x2dee16(0xadf)](_0x2e2aaf,BattleManager[_0x2dee16(0xb40)][_0x2dee16(0x67b)]());}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x2b2),_0x85b4cf=>{const _0x1c79d8=_0x5bdce9;if(!SceneManager[_0x1c79d8(0x5ea)]())return;if(!Imported['VisuMZ_4_BreakShields'])return;VisuMZ['ConvertParams'](_0x85b4cf,_0x85b4cf);const _0xa6ccf6=VisuMZ[_0x1c79d8(0x1f5)](_0x85b4cf[_0x1c79d8(0x637)]),_0x7345f6=_0x85b4cf[_0x1c79d8(0x827)];for(const _0x16aac3 of _0xa6ccf6){if(_0x1c79d8(0xb42)===_0x1c79d8(0xd8)){if(!_0xfbe5de[_0x1c79d8(0x352)]['_uiContainer'])return;_0x4e9428[_0x1c79d8(0x352)]['_uiContainer'][_0x1c79d8(0xa8d)](_0x5b9cc5);}else{if(!_0x16aac3)continue;if(_0x16aac3[_0x1c79d8(0x8d8)]())continue;if(!_0x16aac3[_0x1c79d8(0x9d9)]())continue;_0x16aac3[_0x1c79d8(0x646)](_0x7345f6);}}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x48f),_0x55db73=>{const _0x2ae68f=_0x5bdce9;if(!SceneManager[_0x2ae68f(0x5ea)]())return;if(!Imported[_0x2ae68f(0x66d)])return;VisuMZ[_0x2ae68f(0x866)](_0x55db73,_0x55db73);const _0x1cefbe=VisuMZ[_0x2ae68f(0x1f5)](_0x55db73['Targets']);for(const _0x2a16e2 of _0x1cefbe){if(!_0x2a16e2)continue;if(_0x2a16e2[_0x2ae68f(0x8d8)]())continue;if(!_0x2a16e2[_0x2ae68f(0x9d9)]())continue;_0x2a16e2[_0x2ae68f(0x37e)]();}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x8b9),_0x56b177=>{const _0x503e24=_0x5bdce9;if(!SceneManager[_0x503e24(0x5ea)]())return;if(!Imported[_0x503e24(0xef)])return;if(!BattleManager[_0x503e24(0x675)]())return;VisuMZ[_0x503e24(0x866)](_0x56b177,_0x56b177);const _0x19db10=VisuMZ[_0x503e24(0x1f5)](_0x56b177[_0x503e24(0x637)]),_0x4ed607=_0x56b177[_0x503e24(0xb55)];for(const _0x172abd of _0x19db10){if(!_0x172abd)continue;_0x172abd[_0x503e24(0x810)](_0x4ed607);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x58f),_0x2bab49=>{const _0x42b267=_0x5bdce9;if(!SceneManager[_0x42b267(0x5ea)]())return;VisuMZ[_0x42b267(0x866)](_0x2bab49,_0x2bab49);const _0x10d817=$gameTemp[_0x42b267(0xb48)](),_0x8b6cea=BattleManager['_action'],_0x3c43e0=BattleManager[_0x42b267(0xb40)];if(!_0x10d817||!_0x8b6cea||!_0x3c43e0)return;if(!_0x8b6cea[_0x42b267(0xa8a)]())return;const _0x78ff92=VisuMZ[_0x42b267(0x1f5)](_0x2bab49[_0x42b267(0x637)]);for(const _0x295f37 of _0x78ff92){if(!_0x295f37)continue;_0x2bab49[_0x42b267(0x92c)]&&(_0x295f37[_0x42b267(0x981)](),_0x295f37['addState'](_0x295f37[_0x42b267(0x555)]()));if(_0x295f37[_0x42b267(0x568)]()){if('BqFIy'!==_0x42b267(0x34c))_0x295f37[_0x42b267(0x418)]();else{if(_0x344784[_0x42b267(0x466)]())_0x4d0893[_0x42b267(0x68e)](_0x5be06f);return _0x57c253['BattleCore']['Game_Action_evalDamageFormula']['call'](this);}}}_0x10d817[_0x42b267(0x73c)](_0x42b267(0x497));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],'ActSeq_Mechanics_CtbOrder',_0x244477=>{const _0x5de207=_0x5bdce9;if(!SceneManager[_0x5de207(0x5ea)]())return;if(!Imported[_0x5de207(0x548)])return;if(!BattleManager[_0x5de207(0xa8e)]())return;VisuMZ[_0x5de207(0x866)](_0x244477,_0x244477);const _0x55ff91=VisuMZ['CreateActionSequenceTargets'](_0x244477['Targets']),_0x64ec2b=_0x244477[_0x5de207(0x1a3)];for(const _0x472357 of _0x55ff91){if(!_0x472357)continue;_0x472357[_0x5de207(0x422)](_0x64ec2b);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xa1f),_0x52cb19=>{const _0xdd345f=_0x5bdce9;if(!SceneManager[_0xdd345f(0x5ea)]())return;if(!Imported['VisuMZ_2_BattleSystemCTB'])return;if(!BattleManager[_0xdd345f(0xa8e)]())return;VisuMZ[_0xdd345f(0x866)](_0x52cb19,_0x52cb19);const _0x4f2cb2=VisuMZ[_0xdd345f(0x1f5)](_0x52cb19[_0xdd345f(0x637)]),_0x328104=_0x52cb19[_0xdd345f(0x384)],_0x5729d2=_0x52cb19[_0xdd345f(0x384)];for(const _0x31f4ac of _0x4f2cb2){if(_0xdd345f(0xa6e)===_0xdd345f(0xab0))return this['parent'];else{if(!_0x31f4ac)continue;if(_0x31f4ac[_0xdd345f(0x309)]===_0xdd345f(0x25e))_0x31f4ac[_0xdd345f(0x4e0)](_0x328104);else _0x31f4ac['_tpbState']===_0xdd345f(0xa17)&&('encDq'!==_0xdd345f(0xf4)?_0x1fd8ce[_0x19e1a7]===0x1&&this[_0xdd345f(0x8d9)]!==_0x4aebd0&&(_0x487870[_0x3191b7]=null):_0x31f4ac['changeCtbCastTime'](_0x5729d2));}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x84b),_0x5af8e6=>{const _0x6ecb45=_0x5bdce9;if(!SceneManager[_0x6ecb45(0x5ea)]())return;VisuMZ[_0x6ecb45(0x866)](_0x5af8e6,_0x5af8e6);const _0x61a27a=BattleManager[_0x6ecb45(0x5ae)];if(!_0x61a27a)return;let _0x297dda=_0x5af8e6[_0x6ecb45(0x586)];_0x61a27a[_0x6ecb45(0x1fe)](_0x297dda);}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x4b0),_0x4fce19=>{const _0x4dda55=_0x5bdce9;if(!SceneManager[_0x4dda55(0x5ea)]())return;VisuMZ[_0x4dda55(0x866)](_0x4fce19,_0x4fce19);const _0x3ed71e=VisuMZ['CreateActionSequenceTargets'](_0x4fce19[_0x4dda55(0x637)]);for(const _0x420651 of _0x3ed71e){if(_0x4dda55(0x5ec)==='qLmWj')return this[_0x4dda55(0xa72)]&&this[_0x4dda55(0xa72)][_0x4dda55(0xaf2)]();else{if(!_0x420651)continue;if(_0x420651[_0x4dda55(0x1e4)]())_0x420651[_0x4dda55(0x189)]();}}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x227),_0x3495cc=>{const _0x3bebef=_0x5bdce9;if(!SceneManager[_0x3bebef(0x5ea)]())return;VisuMZ[_0x3bebef(0x866)](_0x3495cc,_0x3495cc);const _0x4d44c9=$gameTemp[_0x3bebef(0xb48)](),_0x3b55dd=BattleManager[_0x3bebef(0xb40)],_0x5b96b3=_0x3495cc[_0x3bebef(0x369)];if(!_0x4d44c9)return;if(!_0x3b55dd)return;_0x3b55dd&&_0x3b55dd[_0x3bebef(0x9a3)]()&&_0x5b96b3[_0x3bebef(0x673)]()[_0x3bebef(0x92d)]()!==_0x3bebef(0xae4)&&_0x4d44c9[_0x3bebef(0x29b)]([_0x5b96b3]);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x78e),_0x39b84b=>{const _0x10c579=_0x5bdce9;if(!SceneManager[_0x10c579(0x5ea)]())return;VisuMZ[_0x10c579(0x866)](_0x39b84b,_0x39b84b);const _0x3fd988=VisuMZ['CreateActionSequenceTargets'](_0x39b84b[_0x10c579(0x637)]);for(const _0x8a5ce5 of _0x3fd988){if(!_0x8a5ce5)continue;if(!_0x8a5ce5[_0x10c579(0x203)]())continue;_0x8a5ce5[_0x10c579(0x6ec)]();}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Mechanics_EtbAction',_0x47c302=>{const _0x43af39=_0x5bdce9;if(!SceneManager[_0x43af39(0x5ea)]())return;if(!Imported['VisuMZ_2_BattleSystemETB'])return;if(!BattleManager[_0x43af39(0x9e6)]())return;VisuMZ[_0x43af39(0x866)](_0x47c302,_0x47c302);const _0x5f4dde=_0x47c302['ActionCount'];BattleManager[_0x43af39(0xb40)]&&(_0x43af39(0xa9a)!==_0x43af39(0xa9a)?this[_0x43af39(0xae3)][this[_0x43af39(0x83b)]]=_0x3f4c93:BattleManager[_0x43af39(0xb40)][_0x43af39(0x712)]()[_0x43af39(0x5c6)](_0x5f4dde));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],'ActSeq_Mechanics_FtbAction',_0x104241=>{const _0x3d4c99=_0x5bdce9;if(!SceneManager[_0x3d4c99(0x5ea)]())return;if(!Imported[_0x3d4c99(0x21e)])return;if(!BattleManager[_0x3d4c99(0x861)]())return;VisuMZ['ConvertParams'](_0x104241,_0x104241);const _0x1a858a=_0x104241['ActionCount'];BattleManager[_0x3d4c99(0xb40)]&&BattleManager[_0x3d4c99(0xb40)][_0x3d4c99(0x712)]()[_0x3d4c99(0x4cd)](_0x1a858a);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Mechanics_HpMpTp',_0x971150=>{const _0x429da9=_0x5bdce9;if(!SceneManager[_0x429da9(0x5ea)]())return;VisuMZ[_0x429da9(0x866)](_0x971150,_0x971150);const _0x5b4b98=VisuMZ['CreateActionSequenceTargets'](_0x971150[_0x429da9(0x637)]),_0x1399f7=_0x971150[_0x429da9(0x8ee)],_0xc9a40b=_0x971150[_0x429da9(0x11c)],_0x1fa693=_0x971150[_0x429da9(0x694)],_0x26a0b5=_0x971150['MP_Flat'],_0x585f0b=_0x971150[_0x429da9(0x549)],_0x4565cb=_0x971150['TP_Flat'],_0x3a7c79=_0x971150['ShowPopup'];for(const _0xe49662 of _0x5b4b98){if(_0x429da9(0x96c)!==_0x429da9(0x2c8)){if(!_0xe49662)continue;const _0x1f9ce0=_0xe49662[_0x429da9(0x4d2)](),_0x5aa8e2=Math[_0x429da9(0xb3f)](_0x1399f7*_0xe49662[_0x429da9(0x2dc)]+_0xc9a40b),_0x5ab342=Math[_0x429da9(0xb3f)](_0x1fa693*_0xe49662['mmp']+_0x26a0b5),_0x4fb46f=Math[_0x429da9(0xb3f)](_0x585f0b*_0xe49662[_0x429da9(0x51c)]()+_0x4565cb);if(_0x5aa8e2!==0x0)_0xe49662['gainHp'](_0x5aa8e2);if(_0x5ab342!==0x0)_0xe49662[_0x429da9(0x915)](_0x5ab342);if(_0x4fb46f!==0x0)_0xe49662[_0x429da9(0x312)](_0x4fb46f);if(_0x3a7c79)_0xe49662[_0x429da9(0x189)]();_0x1f9ce0&&_0xe49662[_0x429da9(0x9a3)]()&&_0xe49662[_0x429da9(0x418)]();}else this['_effectsContainer']=new _0x324b8c(),this['addChild'](this[_0x429da9(0x122)]);}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x30a),_0x40f044=>{const _0xc6e422=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0xc6e422(0x866)](_0x40f044,_0x40f044);const _0x3ba971=VisuMZ['CreateActionSequenceTargets'](_0x40f044[_0xc6e422(0x637)]);for(const _0x178f8f of _0x3ba971){if(!_0x178f8f)continue;_0x178f8f[_0xc6e422(0x78c)](_0x40f044[_0xc6e422(0xb0b)]);}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x290),_0x2d1540=>{const _0x1795ce=_0x5bdce9;if(!SceneManager[_0x1795ce(0x5ea)]())return;VisuMZ['ConvertParams'](_0x2d1540,_0x2d1540);const _0xc5b28a=BattleManager[_0x1795ce(0x5ae)],_0x41e450={'criticalHitRate':_0x2d1540[_0x1795ce(0x6ad)],'criticalHitFlat':_0x2d1540[_0x1795ce(0x526)],'criticalDmgRate':_0x2d1540['CriticalDmgRate'],'criticalDmgFlat':_0x2d1540[_0x1795ce(0x7b3)],'damageRate':_0x2d1540['DamageRate'],'damageFlat':_0x2d1540[_0x1795ce(0x90b)],'hitRate':_0x2d1540['HitRate'],'hitFlat':_0x2d1540['HitFlat']};_0xc5b28a[_0x1795ce(0x167)]=_0x41e450;}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x68d),_0x6fcbd2=>{const _0x1c25a2=_0x5bdce9;if(!SceneManager[_0x1c25a2(0x5ea)]())return;VisuMZ[_0x1c25a2(0x866)](_0x6fcbd2,_0x6fcbd2);const _0x1a8699=_0x6fcbd2[_0x1c25a2(0x663)];SceneManager[_0x1c25a2(0x352)][_0x1c25a2(0x3f8)](_0x1a8699);}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x7ba),_0x55d9dd=>{const _0x43a3ef=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x43a3ef(0x36c)])return;if(!BattleManager[_0x43a3ef(0x336)]())return;VisuMZ[_0x43a3ef(0x866)](_0x55d9dd,_0x55d9dd);const _0x322757=VisuMZ[_0x43a3ef(0x1f5)](_0x55d9dd[_0x43a3ef(0x637)]);for(const _0x4ec8a2 of _0x322757){if(!_0x4ec8a2)continue;let _0x3c23de=_0x55d9dd[_0x43a3ef(0x5e5)],_0x4b16c7=_0x55d9dd[_0x43a3ef(0xae2)],_0x53e69f=_0x55d9dd[_0x43a3ef(0x678)];if(BattleManager[_0x43a3ef(0x730)][_0x43a3ef(0x8ed)](_0x4ec8a2))_0x3c23de+=_0x53e69f;else{if('fxpkm'!==_0x43a3ef(0xb7c)){if(!_0x181567[_0x43a3ef(0x5ea)]())return;if(!_0x29039b['VisuMZ_1_ElementStatusCore'])return;const _0x161005=_0x492a03['_action'];if(!_0x161005)return;_0x161005[_0x43a3ef(0x7e8)]=!![];}else _0x4b16c7+=_0x53e69f;}BattleManager[_0x43a3ef(0x9f6)](_0x4ec8a2,-_0x3c23de,![]),BattleManager[_0x43a3ef(0x9f6)](_0x4ec8a2,-_0x4b16c7,!![]);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Mechanics_PtbAlterCost',_0xb3e811=>{const _0x13a489=_0x5bdce9;if(!SceneManager[_0x13a489(0x5ea)]())return;if(!Imported[_0x13a489(0x948)])return;if(!BattleManager['isPTB']())return;VisuMZ[_0x13a489(0x866)](_0xb3e811,_0xb3e811);const _0x537729=BattleManager[_0x13a489(0xb40)]['friendsUnit'](),_0x35e967=_0xb3e811['Override'],_0x178069=_0xb3e811[_0x13a489(0xa05)]||_0x13a489(0x1b3),_0x9f0fe=_0xb3e811['alterType']||'unchanged',_0x4fb07b=_0xb3e811[_0x13a489(0x65a)]||0x0,_0x2301dd=_0xb3e811[_0x13a489(0x5be)]||0x0;if(_0x537729[_0x13a489(0x74c)]()||_0x35e967){if(_0x35e967){if('Vjkdz'!=='Vjkdz'){const _0x176fd5=_0x3af566[_0x13a489(0xb3f)](_0x1267b4[_0x13a489(0x7fb)]/0x3),_0x45b0c8=_0x1e664b['round'](_0x281dc4['boxWidth']/_0x3b6089['battleMembers']()[_0x13a489(0x12d)]),_0x273443=_0x69a943['min'](_0x176fd5,_0x45b0c8),_0x48f815=this[_0x13a489(0x133)](_0x486445[_0x13a489(0x61c)]['Settings'][_0x13a489(0x40f)]['XPActorCommandLines']),_0x5a236f=_0x45b0c8*_0x5b778b[_0x13a489(0x1fd)]()+(_0x45b0c8-_0x273443)/0x2,_0x46c1d8=_0x514b5a[_0x13a489(0x352)][_0x13a489(0x3e2)]['y']-_0x48f815;this[_0x13a489(0x5e7)](_0x5a236f,_0x46c1d8,_0x273443,_0x48f815),this['createContents'](),this['setBackgroundType'](0x1);}else _0x537729[_0x13a489(0x8e0)]=_0x537729['_ptbActionCost']||{},_0x537729['_ptbActionCost'][_0x13a489(0x624)]=0x0;}_0x537729['alterActionCostPTB'](_0x178069,_0x9f0fe,_0x4fb07b,_0x2301dd);}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x17e),_0x2a6ee2=>{const _0x3dd8b4=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x3dd8b4(0x948)])return;if(!BattleManager[_0x3dd8b4(0x67f)]())return;VisuMZ[_0x3dd8b4(0x866)](_0x2a6ee2,_0x2a6ee2);const _0x37c777=BattleManager['_subject'][_0x3dd8b4(0x712)]();let _0x4d66ed=Math[_0x3dd8b4(0xa5e)](_0x2a6ee2[_0x3dd8b4(0x3eb)],0x0),_0x350d80=_0x37c777[_0x3dd8b4(0xa88)](),_0x32dba9=_0x37c777[_0x3dd8b4(0x81f)]();while(_0x4d66ed--){if(_0x350d80<=0x0&&_0x32dba9<=0x0)break;else _0x350d80>0x0?(_0x350d80--,_0x32dba9++):_0x3dd8b4(0x7b7)===_0x3dd8b4(0xa09)?_0x4010ad['setup'](0x0):_0x32dba9--;}_0x37c777[_0x3dd8b4(0x686)](_0x350d80),_0x37c777[_0x3dd8b4(0x8c4)](_0x32dba9);}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x350),_0x5869bb=>{const _0x1fb14b=_0x5bdce9;if(!SceneManager[_0x1fb14b(0x5ea)]())return;if(!Imported[_0x1fb14b(0x948)])return;if(!BattleManager[_0x1fb14b(0x67f)]())return;VisuMZ[_0x1fb14b(0x866)](_0x5869bb,_0x5869bb);const _0x3cb3ba=BattleManager['_subject'][_0x1fb14b(0x712)]();let _0x419875=_0x5869bb[_0x1fb14b(0xb1a)],_0x9bd0c6=_0x5869bb[_0x1fb14b(0x58e)];_0x3cb3ba[_0x1fb14b(0x759)](_0x419875),_0x3cb3ba[_0x1fb14b(0x172)](_0x9bd0c6);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x6a8),_0x360413=>{const _0x481162=_0x5bdce9;if(!SceneManager[_0x481162(0x5ea)]())return;VisuMZ[_0x481162(0x866)](_0x360413,_0x360413);const _0x89216a=[_0x481162(0x608),_0x481162(0x8f3),_0x481162(0x37b),'DEF',_0x481162(0x35a),_0x481162(0x1ee),_0x481162(0x204),_0x481162(0x35d)],_0x4c1175=_0x360413[_0x481162(0x5d2)],_0x1dc738=_0x360413[_0x481162(0x24f)],_0x5f27ea=VisuMZ[_0x481162(0x1f5)](_0x360413['Targets']);for(const _0x1353c5 of _0x5f27ea){if('djkIU'!==_0x481162(0x682)){if(!_0x35a745['isSceneBattle']())return;if(!_0x2c25dc[_0x481162(0x554)])return;const _0x1ced21=_0x4405ca[_0x481162(0x352)][_0x481162(0x25a)];if(!_0x1ced21)return;_0xd340cb[_0x481162(0x866)](_0x43d13c,_0x49b96b);const _0x15459b=_0xff837e(_0x4e9bf2[_0x481162(0x47c)])||0x0,_0x4fa2dd=_0xe5066d(_0x352510[_0x481162(0x64e)]),_0x3ae6b7=_0x29cdd7['Duration']||0x1,_0xf6a921=_0x269dfe[_0x481162(0x752)]||_0x481162(0x32d);_0x1ced21[_0x481162(0x5b5)](_0x15459b,_0x4fa2dd,_0x3ae6b7,_0xf6a921);}else{if(!_0x1353c5)continue;for(const _0x24cb64 of _0x4c1175){const _0x4249f2=_0x89216a[_0x481162(0x977)](_0x24cb64['toUpperCase']()[_0x481162(0x92d)]());if(_0x4249f2>=0x0&&_0x4249f2<=0x7&&_0x1353c5[_0x481162(0xa59)](_0x4249f2)){if(_0x481162(0x3bc)!==_0x481162(0x52b))_0x1353c5[_0x481162(0x1b8)](_0x4249f2);else{const _0x3d7d77=_0x4a6bab(_0x16893b['$1'])[_0x481162(0x673)]()[_0x481162(0x92d)]();if(_0x3d7d77===_0x481162(0x590))return _0x481162(0x590);if(_0x2a6da3[_0x481162(0xb78)][_0x3d7d77])return _0x3d7d77;}}}for(const _0x3a7671 of _0x1dc738){const _0x5ea368=_0x89216a[_0x481162(0x977)](_0x3a7671['toUpperCase']()[_0x481162(0x92d)]());_0x5ea368>=0x0&&_0x5ea368<=0x7&&_0x1353c5['isDebuffAffected'](_0x5ea368)&&_0x1353c5[_0x481162(0x1b8)](_0x5ea368);}}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x9bb),_0x584003=>{const _0x560b77=_0x5bdce9;if(!SceneManager[_0x560b77(0x5ea)]())return;VisuMZ[_0x560b77(0x866)](_0x584003,_0x584003);const _0x3fdea3=_0x584003['States'],_0x3f91dc=VisuMZ[_0x560b77(0x1f5)](_0x584003[_0x560b77(0x637)]);for(const _0x1594f9 of _0x3f91dc){if(!_0x1594f9)continue;for(const _0x193790 of _0x3fdea3){_0x1594f9[_0x560b77(0x3ea)](_0x193790);}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Mechanics_StbExploit',_0x4781a7=>{const _0x245644=_0x5bdce9;if(!SceneManager[_0x245644(0x5ea)]())return;if(!Imported['VisuMZ_2_BattleSystemSTB'])return;if(!BattleManager[_0x245644(0x346)]())return;VisuMZ[_0x245644(0x866)](_0x4781a7,_0x4781a7);const _0x3412e6=_0x4781a7[_0x245644(0x654)],_0x35e272=VisuMZ[_0x245644(0x1f5)](_0x4781a7[_0x245644(0x637)]),_0x154b7c=_0x4781a7[_0x245644(0x899)],_0x8809d8=_0x4781a7[_0x245644(0x534)],_0x5b4bde=_0x4781a7['ForceExploiter'],_0x4b99e2=BattleManager[_0x245644(0x5ae)];if(_0x3412e6)for(const _0x1a0119 of _0x35e272){if(_0x245644(0x19b)===_0x245644(0x19b)){if(!_0x1a0119)continue;if(_0x1a0119===user)continue;if(_0x154b7c)_0x1a0119[_0x245644(0x4f1)](![]);_0x1a0119['becomeSTBExploited'](BattleManager[_0x245644(0xb40)],_0x4b99e2);}else{_0x1ec5ff['BattleCore']['Scene_Battle_updateBattleProcess']['call'](this);if(this[_0x245644(0x1df)]&&!_0x1fba05[_0x245644(0xb40)])this['callOptions']();}}if(_0x8809d8&&BattleManager[_0x245644(0xb40)]){if(_0x245644(0x706)!==_0x245644(0x706))_0xf5b90c[_0x245644(0x5ee)]=![];else{if(_0x5b4bde)BattleManager[_0x245644(0xb40)][_0x245644(0x4f1)](![]);const _0x4d4af5=_0x35e272[0x0];BattleManager[_0x245644(0x99b)](_0x4d4af5,_0x4b99e2);}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xa30),_0x29c6e6=>{const _0x4ddcb3=_0x5bdce9;if(!SceneManager[_0x4ddcb3(0x5ea)]())return;if(!Imported[_0x4ddcb3(0x587)])return;if(!BattleManager['isSTB']())return;VisuMZ[_0x4ddcb3(0x866)](_0x29c6e6,_0x29c6e6);const _0x4e0ce9=_0x29c6e6[_0x4ddcb3(0x9fd)];BattleManager[_0x4ddcb3(0xb40)]&&BattleManager[_0x4ddcb3(0xb40)][_0x4ddcb3(0x9e2)](_0x4e0ce9);}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0xaf5),_0x54a278=>{const _0x2f0906=_0x5bdce9;if(!SceneManager[_0x2f0906(0x5ea)]())return;if(!Imported['VisuMZ_2_BattleSystemSTB'])return;if(!BattleManager[_0x2f0906(0x346)]())return;VisuMZ[_0x2f0906(0x866)](_0x54a278,_0x54a278);let _0x3cb443=_0x54a278[_0x2f0906(0x9fd)];if(BattleManager['_subject']){BattleManager[_0x2f0906(0xb40)][_0x2f0906(0x53e)]=BattleManager['_subject'][_0x2f0906(0x53e)]||[];while(_0x3cb443--){if(BattleManager[_0x2f0906(0xb40)][_0x2f0906(0x53e)][_0x2f0906(0x12d)]<=0x0)break;BattleManager[_0x2f0906(0xb40)]['_actions'][_0x2f0906(0x52e)]();}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x6a5),_0x53ad0f=>{const _0x2d8bb3=_0x5bdce9;if(!SceneManager[_0x2d8bb3(0x5ea)]())return;if(!Imported['VisuMZ_2_WeaponSwapSystem'])return;VisuMZ[_0x2d8bb3(0x866)](_0x53ad0f,_0x53ad0f);const _0x17190c=VisuMZ[_0x2d8bb3(0x1f5)](_0x53ad0f[_0x2d8bb3(0x637)]),_0x121ea7=_0x53ad0f[_0x2d8bb3(0x313)];for(const _0x5224a0 of _0x17190c){if(!_0x5224a0)continue;if(!_0x5224a0[_0x2d8bb3(0x491)]())continue;_0x5224a0[_0x2d8bb3(0xa51)](_0x121ea7);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x9e3),_0x121969=>{const _0x294b5d=_0x5bdce9;if(!SceneManager[_0x294b5d(0x5ea)]())return;VisuMZ[_0x294b5d(0x866)](_0x121969,_0x121969);const _0x29d758=VisuMZ[_0x294b5d(0x1f5)](_0x121969[_0x294b5d(0x637)]),_0x1c9235=_0x121969[_0x294b5d(0x995)],_0x5bb76d={'textColor':ColorManager[_0x294b5d(0x658)](_0x121969[_0x294b5d(0x428)]),'flashColor':_0x121969[_0x294b5d(0xace)],'flashDuration':_0x121969[_0x294b5d(0x7f2)]};for(const _0xb75f6c of _0x29d758){if('khWMP'!==_0x294b5d(0x43b)){let _0x516e2e=_0x1f47c9[_0x294b5d(0xa39)][_0x1e6059];if(!_0x516e2e)return;let _0x90c2ff=_0x516e2e;const _0x421cee=this[_0x294b5d(0x865)]();if(_0x421cee===_0x294b5d(0x160))_0x90c2ff=_0x90c2ff[_0x294b5d(0x3a7)](/\x1I\[(\d+)\]/gi,''),_0x90c2ff=_0x90c2ff[_0x294b5d(0x3a7)](/\\I\[(\d+)\]/gi,'');else{if(!_0x516e2e[_0x294b5d(0x16b)](/\\I\[(\d+)\]/i)){const _0x5d442a=_0x594dea[_0x294b5d(0x47a)]?_0x5d41c0[_0x294b5d(0x4e1)][_0x294b5d(0x76e)][_0x294b5d(0x494)]:_0x453718[_0x294b5d(0x61c)][_0x294b5d(0x76e)][_0x294b5d(0x59c)],_0x3252bb=_0x262c81[_0x294b5d(0x862)][_0x294b5d(0x8ed)](_0x39aa65),_0x64c8f4=_0x3252bb?_0x5d442a[_0x294b5d(0x770)]:_0x5d442a[_0x294b5d(0x341)];_0x90c2ff='\x5cI[%1]%2'[_0x294b5d(0x824)](_0x64c8f4,_0x516e2e);}}this[_0x294b5d(0x97b)](_0x90c2ff,_0x294b5d(0x895),!![],_0x4ddf06);}else{if(!_0xb75f6c)continue;_0xb75f6c[_0x294b5d(0xafa)](_0x1c9235,_0x5bb76d);}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x17d),_0x3a075d=>{const _0x2eb874=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x2eb874(0x866)](_0x3a075d,_0x3a075d);const _0x436d9f=VisuMZ['CreateActionSequenceTargets'](_0x3a075d[_0x2eb874(0x637)]);let _0x36b239=$gameVariables[_0x2eb874(0x9b5)](_0x3a075d[_0x2eb874(0x499)]);Imported['VisuMZ_0_CoreEngine']&&_0x3a075d[_0x2eb874(0x31d)]&&(_0x36b239=VisuMZ[_0x2eb874(0x57b)](_0x36b239));const _0x4a571c=String(_0x36b239),_0x4849ef={'textColor':ColorManager[_0x2eb874(0x658)](_0x3a075d['TextColor']),'flashColor':_0x3a075d['FlashColor'],'flashDuration':_0x3a075d[_0x2eb874(0x7f2)]};for(const _0x1ebba4 of _0x436d9f){if(!_0x1ebba4)continue;_0x1ebba4[_0x2eb874(0xafa)](_0x4a571c,_0x4849ef);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x3f2),_0x24f1c8=>{const _0x11474c=_0x5bdce9;if(!SceneManager[_0x11474c(0x5ea)]())return;const _0x414a7d=$gameTemp[_0x11474c(0xb48)]();if(!_0x414a7d)return;_0x414a7d[_0x11474c(0x73c)](_0x11474c(0x497));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Motion_ClearFreezeFrame',_0x1d9979=>{const _0x2e8a27=_0x5bdce9;if(!SceneManager[_0x2e8a27(0x5ea)]())return;VisuMZ[_0x2e8a27(0x866)](_0x1d9979,_0x1d9979);const _0x1343f0=VisuMZ[_0x2e8a27(0x1f5)](_0x1d9979['Targets']);for(const _0xc84d84 of _0x1343f0){if(!_0xc84d84)continue;_0xc84d84[_0x2e8a27(0x8f1)]();}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x2eb),_0x264af0=>{const _0x452307=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x452307(0x866)](_0x264af0,_0x264af0);const _0xfe4158=VisuMZ[_0x452307(0x1f5)](_0x264af0[_0x452307(0x637)]),_0x2246c6=_0x264af0['MotionType'][_0x452307(0x63a)]()[_0x452307(0x92d)]();let _0x5c5632=_0x264af0['ShowWeapon'];const _0x52a7ad=_0x264af0[_0x452307(0x27e)];!['attack',_0x452307(0x90c),_0x452307(0x81d),_0x452307(0xae1)][_0x452307(0x8ed)](_0x2246c6)&&(_0x5c5632=![]);for(const _0x5b68f6 of _0xfe4158){if(_0x452307(0x839)===_0x452307(0x5f0))this[_0x452307(0x867)]=0x0;else{if(!_0x5b68f6)continue;_0x5b68f6[_0x452307(0xb5b)](_0x2246c6,_0x5c5632,_0x52a7ad);}}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x7e1),_0x641438=>{const _0x95a875=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x95a875(0x866)](_0x641438,_0x641438);const _0x25561c=VisuMZ[_0x95a875(0x1f5)](_0x641438[_0x95a875(0x637)]),_0x4a1b57=_0x641438[_0x95a875(0x9ea)][_0x95a875(0x63a)]()['trim'](),_0x48ac98=_0x641438[_0x95a875(0xa0a)];for(const _0x551f66 of _0x25561c){if(_0x95a875(0x47d)!==_0x95a875(0x5d6)){if(!_0x551f66)continue;if(_0x4a1b57['match'](/ATTACK[ ](\d+)/i))_0x95a875(0x538)!==_0x95a875(0x382)?_0x551f66[_0x95a875(0x99c)](Number(RegExp['$1'])):(_0x59a62c['BattleCore'][_0x95a875(0xac7)][_0x95a875(0x4b1)](this),_0x1ba6eb['onBattleStartOnceParallels']());else _0x4a1b57===_0x95a875(0x33d)?_0x551f66[_0x95a875(0x722)]():_0x551f66[_0x95a875(0x319)](_0x4a1b57);if(!_0x48ac98)_0x551f66['startWeaponAnimation'](0x0);else{if(_0x48ac98&&[_0x95a875(0x90c),'swing',_0x95a875(0x2e8)][_0x95a875(0x8ed)](_0x4a1b57)){}}}else{if(_0x5290a0[_0x95a875(0x438)](_0x562cf6))return!![];return![];}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x7e7),_0x11fc50=>{const _0xc21ef2=_0x5bdce9;if(!SceneManager[_0xc21ef2(0x5ea)]())return;VisuMZ[_0xc21ef2(0x866)](_0x11fc50,_0x11fc50);const _0xab34db=BattleManager[_0xc21ef2(0x5ae)];if(!_0xab34db)return;if(!_0xab34db[_0xc21ef2(0xa8a)]())return;const _0x351224=VisuMZ[_0xc21ef2(0x1f5)](_0x11fc50[_0xc21ef2(0x637)]);for(const _0x4bbc40 of _0x351224){if(_0xc21ef2(0x800)===_0xc21ef2(0x54b)){const _0x31686e=_0x273e6c['max'](this[_0xc21ef2(0x3c7)](),_0x5ac8ad[_0xc21ef2(0x8a0)]),_0x23bf08=_0x50886e['floor'](_0x31686e*0x1e),_0x15e837=this[_0xc21ef2(0x814)](_0x23bf08,_0x31686e),_0x30485d=_0x400ae1[_0xc21ef2(0x9e1)]/0x2,_0x21f49d=_0x15e837[_0xc21ef2(0x454)][_0xc21ef2(0x84f)](_0x30e69b+'\x20');_0x15e837[_0xc21ef2(0x454)][_0xc21ef2(0x9ac)]=_0x29fcef['getColor'](_0x1b6d19[_0xc21ef2(0x9ac)]),_0x15e837[_0xc21ef2(0x454)][_0xc21ef2(0x683)](_0x431d2f,_0x30485d,0x0,_0x23bf08-_0x30485d,_0x31686e,_0xc21ef2(0x4ed));const _0x13b987=_0x68cea[_0xc21ef2(0xb3f)]((_0x31686e-_0x51d77b['iconHeight'])/0x2),_0x32cb62=_0x23bf08/0x2-_0x2fd4c9[_0xc21ef2(0x9e1)]-_0x21f49d/0x2+_0x30485d/0x2,_0x4f9df0=_0x2eea14[_0xc21ef2(0x691)]('IconSet'),_0x116912=_0x1e180a[_0xc21ef2(0x9e1)],_0x22a10b=_0x1c5a76[_0xc21ef2(0x8a0)],_0x9ffde7=_0x5939fc%0x10*_0x116912,_0x11972b=_0x5da089['floor'](_0x23adb4/0x10)*_0x22a10b;_0x15e837['bitmap'][_0xc21ef2(0x7ed)](_0x4f9df0,_0x9ffde7,_0x11972b,_0x116912,_0x22a10b,_0x32cb62,_0x13b987),this[_0xc21ef2(0x4f2)]=_0x5ea4aa[_0xc21ef2(0x65f)]||[0x0,0x0,0x0,0x0],this['_flashColor']=_0x1894db[_0xc21ef2(0x87e)](this['_flashColor']),this[_0xc21ef2(0x88c)]=_0x3a810c[_0xc21ef2(0x43e)]||0x0,_0x15e837['dy']=0x0;}else{if(!_0x4bbc40)continue;_0x4bbc40[_0xc21ef2(0x23a)](_0xab34db);}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x3ff),_0x188ad3=>{const _0x10848c=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x10848c(0x866)](_0x188ad3,_0x188ad3);const _0x311512=VisuMZ[_0x10848c(0x1f5)](_0x188ad3[_0x10848c(0x637)]);for(const _0x20de90 of _0x311512){if(!_0x20de90)continue;if(!_0x20de90[_0x10848c(0xb0d)]())continue;_0x20de90[_0x10848c(0xb0d)]()['refreshMotion']();}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x77e),_0x49a983=>{const _0x5a5b80=_0x5bdce9;if(!SceneManager[_0x5a5b80(0x5ea)]())return;VisuMZ[_0x5a5b80(0x866)](_0x49a983,_0x49a983);const _0x250a52=$gameTemp['getLastPluginCommandInterpreter'](),_0x54dab2=_0x49a983['MotionFrameWait']*Sprite_Battler[_0x5a5b80(0x2cf)];_0x250a52[_0x5a5b80(0x156)](_0x54dab2);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x667),_0x3fa5c1=>{const _0x465752=_0x5bdce9;if(!SceneManager[_0x465752(0x5ea)]())return;VisuMZ[_0x465752(0x866)](_0x3fa5c1,_0x3fa5c1);const _0x4baea4=$gameTemp[_0x465752(0xb48)](),_0x283efc=BattleManager['_action'];if(!_0x4baea4||!_0x283efc)return;if(!_0x283efc[_0x465752(0xa8a)]())return;const _0x377565=VisuMZ[_0x465752(0x1f5)](_0x3fa5c1[_0x465752(0x637)]);for(const _0x34e726 of _0x377565){if(!_0x34e726)continue;_0x34e726[_0x465752(0x187)](_0x283efc);}if(_0x3fa5c1['WaitForMovement'])_0x4baea4['setWaitMode']('battleMove');}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x8cc),_0x1dc603=>{const _0x39c751=_0x5bdce9;if(!SceneManager[_0x39c751(0x5ea)]())return;if(!$gameSystem[_0x39c751(0x68b)]())return;VisuMZ['ConvertParams'](_0x1dc603,_0x1dc603);const _0x3c9485=$gameTemp[_0x39c751(0xb48)](),_0x49df67=VisuMZ[_0x39c751(0x1f5)](_0x1dc603[_0x39c751(0x637)]),_0x498903=_0x1dc603[_0x39c751(0x961)],_0xdd2497=_0x1dc603[_0x39c751(0x6bf)],_0x2430d4=_0x1dc603[_0x39c751(0x37c)],_0x9a0d5b=_0x1dc603[_0x39c751(0x26c)],_0x12a708=_0x1dc603[_0x39c751(0x518)],_0xb02f83=_0x1dc603[_0x39c751(0x752)],_0x332ee8=_0x1dc603[_0x39c751(0x9ea)],_0x4cc0fe=_0x1dc603['WaitForMovement'];if(!_0x3c9485)return;for(const _0x58e77a of _0x49df67){if(!_0x58e77a)continue;let _0x2e1e60=_0xdd2497,_0x2b8533=_0x2430d4;if(_0x498903['match'](/horz/i))_0x2e1e60*=_0x58e77a[_0x39c751(0x491)]()?-0x1:0x1;if(_0x498903[_0x39c751(0x16b)](/vert/i))_0x2b8533*=_0x58e77a[_0x39c751(0x491)]()?-0x1:0x1;_0x58e77a[_0x39c751(0x967)](_0x2e1e60,_0x2b8533,_0x9a0d5b,_0x12a708,_0xb02f83),_0x58e77a[_0x39c751(0x319)](_0x332ee8);}if(_0x4cc0fe)_0x3c9485[_0x39c751(0x73c)](_0x39c751(0x286));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x89f),_0x2fee95=>{const _0x36c937=_0x5bdce9;if(!SceneManager[_0x36c937(0x5ea)]())return;if(!$gameSystem[_0x36c937(0x68b)]())return;VisuMZ[_0x36c937(0x866)](_0x2fee95,_0x2fee95);const _0x5d4567=$gameTemp['getLastPluginCommandInterpreter'](),_0x29124c=VisuMZ[_0x36c937(0x1f5)](_0x2fee95[_0x36c937(0x637)]),_0x513653=_0x2fee95[_0x36c937(0x23c)],_0x40a193=_0x2fee95[_0x36c937(0x39c)],_0x1e5168=_0x2fee95[_0x36c937(0x6b7)],_0x1c6063=_0x2fee95['OffsetY'],_0x358f36=_0x2fee95[_0x36c937(0x26c)],_0x78ece7=_0x2fee95[_0x36c937(0x518)],_0x5ad861=_0x2fee95[_0x36c937(0x752)],_0x30230b=_0x2fee95[_0x36c937(0x9ea)],_0x27a0de=_0x2fee95[_0x36c937(0x201)];if(!_0x5d4567)return;for(const _0x177055 of _0x29124c){if(_0x36c937(0x553)!==_0x36c937(0x553))this[_0x36c937(0xa9b)]=new _0xd1f2f9(),this[_0x36c937(0xa9b)][_0x36c937(0x887)]['x']=0.5,this[_0x36c937(0xa9b)][_0x36c937(0x887)]['y']=0.5,this['addChild'](this['_distortionSprite']);else{if(!_0x177055)continue;let _0x347501=_0x177055[_0x36c937(0xb0d)]()['_baseX'],_0x1595c1=_0x177055[_0x36c937(0xb0d)]()[_0x36c937(0x4c9)];if(_0x513653[_0x36c937(0x16b)](/home/i)){if('sVsWE'==='qwrCg')return _0x124c63[_0x36c937(0x61c)][_0x36c937(0x76e)][_0x36c937(0x40f)]['SkillItemStandardCols'];else _0x347501=_0x177055[_0x36c937(0xb0d)]()[_0x36c937(0x666)],_0x1595c1=_0x177055[_0x36c937(0xb0d)]()[_0x36c937(0x51a)];}else{if(_0x513653[_0x36c937(0x16b)](/center/i)){if(_0x36c937(0x119)===_0x36c937(0x7ca)){const _0x573d2e=_0x237dc4['battleMembers']()[_0xe3c1c4],_0x2b62a5=new _0xc26978();_0x2b62a5[_0x36c937(0x3f9)](_0x573d2e),_0x2b62a5[_0x36c937(0x23d)](_0x573d2e),_0x2b62a5[_0x36c937(0x367)](),this[_0x36c937(0xa4b)][_0x36c937(0x838)](_0x2b62a5),this[_0x36c937(0x98a)]['addChild'](_0x2b62a5);}else _0x347501=Graphics[_0x36c937(0x7fb)]/0x2,_0x1595c1=Graphics[_0x36c937(0x51f)]/0x2;}else _0x513653[_0x36c937(0x16b)](/point (\d+), (\d+)/i)&&(_0x347501=Number(RegExp['$1']),_0x1595c1=Number(RegExp['$2']));}if(_0x40a193[_0x36c937(0x16b)](/none/i))_0x347501+=_0x1e5168,_0x1595c1+=_0x1c6063;else{if(_0x40a193['match'](/horz/i)&&_0x40a193[_0x36c937(0x16b)](/vert/i))_0x36c937(0x6e7)!==_0x36c937(0x6e7)?this[_0x36c937(0xa53)](_0x1b3256,_0x2b8e8d,_0x7563dd):(_0x347501+=_0x177055['isActor']()?-_0x1e5168:_0x1e5168,_0x1595c1+=_0x177055[_0x36c937(0x491)]()?-_0x1c6063:_0x1c6063);else{if(_0x40a193[_0x36c937(0x16b)](/horz/i))_0x347501+=_0x177055[_0x36c937(0x491)]()?-_0x1e5168:_0x1e5168,_0x1595c1+=_0x1c6063;else _0x40a193[_0x36c937(0x16b)](/vert/i)&&(_0x347501+=_0x1e5168,_0x1595c1+=_0x177055[_0x36c937(0x491)]()?-_0x1c6063:_0x1c6063);}}_0x177055[_0x36c937(0x476)](_0x347501,_0x1595c1,_0x358f36,_0x78ece7,_0x5ad861,-0x1),_0x177055[_0x36c937(0x319)](_0x30230b);}}if(_0x27a0de)_0x5d4567[_0x36c937(0x73c)](_0x36c937(0x286));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x6f7),_0x8cb71e=>{const _0x1bd2d5=_0x5bdce9;if(!SceneManager[_0x1bd2d5(0x5ea)]())return;if(!$gameSystem['isSideView']())return;VisuMZ['ConvertParams'](_0x8cb71e,_0x8cb71e);const _0x80d7a2=$gameTemp[_0x1bd2d5(0xb48)](),_0x3f9cd7=VisuMZ[_0x1bd2d5(0x1f5)](_0x8cb71e[_0x1bd2d5(0x530)]),_0x381f5b=VisuMZ['CreateActionSequenceTargets'](_0x8cb71e[_0x1bd2d5(0x145)]),_0x233dd3=_0x8cb71e['TargetLocation'];let _0x4ac4d2=_0x8cb71e[_0x1bd2d5(0x621)];const _0x5b0af1=_0x8cb71e[_0x1bd2d5(0x39c)],_0x2c0fb9=_0x8cb71e[_0x1bd2d5(0x6b7)],_0x3224f3=_0x8cb71e[_0x1bd2d5(0x4b4)],_0x4b44f6=_0x8cb71e[_0x1bd2d5(0x26c)],_0x33fac5=_0x8cb71e[_0x1bd2d5(0x518)],_0x9928f9=_0x8cb71e[_0x1bd2d5(0x752)],_0x1e25c1=_0x8cb71e[_0x1bd2d5(0x9ea)],_0xb83eb7=_0x8cb71e['WaitForMovement'],_0x374bc5=Math['min'](..._0x381f5b[_0x1bd2d5(0x782)](_0x4d5485=>_0x4d5485[_0x1bd2d5(0xb0d)]()[_0x1bd2d5(0x8f0)]-_0x4d5485['battler']()[_0x1bd2d5(0x1af)]()/0x2)),_0x39607e=Math['max'](..._0x381f5b[_0x1bd2d5(0x782)](_0x1a0e85=>_0x1a0e85[_0x1bd2d5(0xb0d)]()['_baseX']+_0x1a0e85[_0x1bd2d5(0xb0d)]()[_0x1bd2d5(0x1af)]()/0x2)),_0x54a152=Math[_0x1bd2d5(0x339)](..._0x381f5b['map'](_0x319f99=>_0x319f99[_0x1bd2d5(0xb0d)]()[_0x1bd2d5(0x4c9)]-_0x319f99[_0x1bd2d5(0xb0d)]()['mainSpriteHeight']())),_0x43e3f4=Math[_0x1bd2d5(0xa5e)](..._0x381f5b['map'](_0xe6f012=>_0xe6f012[_0x1bd2d5(0xb0d)]()[_0x1bd2d5(0x4c9)])),_0x572281=_0x381f5b['filter'](_0x559f26=>_0x559f26[_0x1bd2d5(0x491)]())[_0x1bd2d5(0x12d)],_0x31ebf6=_0x381f5b[_0x1bd2d5(0xb85)](_0x4fd8c9=>_0x4fd8c9[_0x1bd2d5(0x203)]())[_0x1bd2d5(0x12d)];let _0x581c2b=0x0,_0x2aaf58=0x0;if(_0x233dd3['match'](/front/i))_0x1bd2d5(0xa1a)!==_0x1bd2d5(0x56e)?_0x581c2b=_0x572281>=_0x31ebf6?_0x374bc5:_0x39607e:(this[_0x1bd2d5(0x21f)]=new _0x59f8fc(),this['addChild'](this[_0x1bd2d5(0x21f)]));else{if(_0x233dd3[_0x1bd2d5(0x16b)](/middle/i)){if(_0x1bd2d5(0x5fa)!==_0x1bd2d5(0x6f4))_0x581c2b=(_0x374bc5+_0x39607e)/0x2,_0x4ac4d2=-0x1;else{if(this['isHidden']())return![];if(this['isAlive']()&&this['isAppeared']())return!![];if(this[_0x1bd2d5(0x203)]()&&this[_0x1bd2d5(0x3a3)]()){if(this['isDead']()&&this[_0x1bd2d5(0x4a0)]())return![];}else{if(this[_0x1bd2d5(0x9a3)]())return![];}return!![];}}else _0x233dd3['match'](/back/i)&&(_0x1bd2d5(0x7d5)!=='VgXtr'?(_0x26d559[_0x1bd2d5(0x61c)]['Window_BattleLog_pushBaseLine']['call'](this),this[_0x1bd2d5(0x670)]()):_0x581c2b=_0x572281>=_0x31ebf6?_0x39607e:_0x374bc5);}if(_0x233dd3['match'](/head/i)){if(_0x1bd2d5(0x2c7)===_0x1bd2d5(0xac4)){this[_0x1bd2d5(0x9bf)](_0x7eca);for(const _0x1e6c80 of _0x32db64[_0x1bd2d5(0x1c1)]){_0x1e6c80['endAnimation']&&_0x1e6c80[_0x1bd2d5(0xa0c)]();}_0x4b5414[_0x1bd2d5(0x7a3)]();}else _0x2aaf58=_0x54a152;}else{if(_0x233dd3[_0x1bd2d5(0x16b)](/center/i))_0x2aaf58=(_0x54a152+_0x43e3f4)/0x2;else _0x233dd3[_0x1bd2d5(0x16b)](/base/i)&&('CdVbo'!=='CdVbo'?this['drawTextEx'](_0x264b19,_0x462630['x']+_0x54fdb8[_0x1bd2d5(0x3b2)]-_0x87ee7d,_0x1869f7['y'],_0x38e663):_0x2aaf58=_0x43e3f4);}if(!_0x80d7a2)return;for(const _0xf3e936 of _0x3f9cd7){if('dmfBP'!=='dmfBP')_0x4eac50['wtypeId']=_0xedbfb6['getWtypeIdWithName'](_0x324a55['$1']);else{if(!_0xf3e936)continue;let _0x256493=_0x581c2b,_0x1b3712=_0x2aaf58;if(_0x5b0af1[_0x1bd2d5(0x16b)](/none/i)){if(_0x1bd2d5(0xf9)===_0x1bd2d5(0x715)){const _0x14f5ed=_0x41c0bb['format'](_0x55aa21[_0x1bd2d5(0x74e)](),_0x9c42d1['param'](_0x35bae2));this[_0x1bd2d5(0x838)](_0x1bd2d5(0x73f)),this['push'](_0x1bd2d5(0x6ea)),this[_0x1bd2d5(0x838)](_0x1bd2d5(0xa19),_0x14f5ed),this[_0x1bd2d5(0x838)](_0x1bd2d5(0x156));}else _0x256493+=_0x2c0fb9,_0x1b3712+=_0x3224f3;}else{if(_0x5b0af1['match'](/horz/i)&&_0x5b0af1['match'](/vert/i))_0x256493+=_0xf3e936['isActor']()?-_0x2c0fb9:_0x2c0fb9,_0x1b3712+=_0xf3e936[_0x1bd2d5(0x491)]()?-_0x3224f3:_0x3224f3;else{if(_0x5b0af1[_0x1bd2d5(0x16b)](/horz/i))_0x1bd2d5(0xa18)!==_0x1bd2d5(0x39e)?(_0x256493+=_0xf3e936[_0x1bd2d5(0x491)]()?-_0x2c0fb9:_0x2c0fb9,_0x1b3712+=_0x3224f3):_0x28aa4c=_0x3376f3;else _0x5b0af1[_0x1bd2d5(0x16b)](/vert/i)&&(_0x256493+=_0x2c0fb9,_0x1b3712+=_0xf3e936['isActor']()?-_0x3224f3:_0x3224f3);}}_0xf3e936[_0x1bd2d5(0x476)](_0x256493,_0x1b3712,_0x4b44f6,_0x33fac5,_0x9928f9,_0x4ac4d2),_0xf3e936[_0x1bd2d5(0x319)](_0x1e25c1);}}if(_0xb83eb7)_0x80d7a2[_0x1bd2d5(0x73c)](_0x1bd2d5(0x286));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x8ef),_0x5b2757=>{const _0x476d46=_0x5bdce9;if(!SceneManager[_0x476d46(0x5ea)]())return;if(!$gameSystem[_0x476d46(0x68b)]())return;VisuMZ['ConvertParams'](_0x5b2757,_0x5b2757);const _0x2333e8=VisuMZ[_0x476d46(0x1f5)](_0x5b2757[_0x476d46(0x637)]);let _0x17287d=_0x5b2757['Direction'][_0x476d46(0x16b)](/back/i);for(const _0x3801b6 of _0x2333e8){if(_0x476d46(0xa65)!=='GqQdQ'){if(!this[_0x476d46(0x976)][_0x476d46(0x3e7)]())return;const _0x3a3751=_0x20b110[_0x476d46(0x61c)][_0x476d46(0x76e)]['Damage'],_0x257c76=new _0x1162ee();_0x257c76[_0x476d46(0x388)]=_0x3a3751[_0x476d46(0x638)],this[_0x476d46(0x6fb)](_0x257c76),_0x257c76[_0x476d46(0x974)](_0x1f3368,_0x4d4c97,_0x5abdf3),this[_0x476d46(0x50b)](_0x257c76);}else{if(!_0x3801b6)continue;if(_0x5b2757[_0x476d46(0x631)][_0x476d46(0x16b)](/rand/i))_0x17287d=Math[_0x476d46(0xaf7)](0x2);_0x3801b6[_0x476d46(0x781)](!!_0x17287d);}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x385),_0x2b1434=>{const _0x337fd5=_0x5bdce9;if(!SceneManager[_0x337fd5(0x5ea)]())return;if(!$gameSystem[_0x337fd5(0x68b)]())return;VisuMZ[_0x337fd5(0x866)](_0x2b1434,_0x2b1434);const _0x2d7d1d=VisuMZ[_0x337fd5(0x1f5)](_0x2b1434[_0x337fd5(0x637)]);let _0x2e8191=_0x2b1434[_0x337fd5(0x257)];const _0x52983a=_0x2b1434[_0x337fd5(0x6b1)];for(const _0x53361c of _0x2d7d1d){if(!_0x53361c)continue;let _0x1d20cf=_0x53361c[_0x337fd5(0xb0d)]()[_0x337fd5(0x8f0)],_0x4622a1=_0x53361c[_0x337fd5(0xb0d)]()['_baseY'];if(_0x2e8191[_0x337fd5(0x16b)](/home/i)){if(_0x337fd5(0x50d)!==_0x337fd5(0x50d)){const _0x11875d=_0x26b2b8(_0x307cc3['$1']);return[_0x59d442[_0x337fd5(0xad6)](_0x11875d)];}else _0x1d20cf=_0x53361c[_0x337fd5(0xb0d)]()[_0x337fd5(0x666)],_0x4622a1=_0x53361c[_0x337fd5(0xb0d)]()['_homeY'];}else{if(_0x2e8191[_0x337fd5(0x16b)](/center/i)){if(_0x337fd5(0x3c0)===_0x337fd5(0x103))return _0x24bb80[_0x337fd5(0xed)]();else _0x1d20cf=Graphics[_0x337fd5(0x7fb)]/0x2,_0x4622a1=Graphics[_0x337fd5(0x51f)]/0x2;}else _0x2e8191['match'](/point (\d+), (\d+)/i)&&(_0x1d20cf=Number(RegExp['$1']),_0x4622a1=Number(RegExp['$2']));}_0x53361c[_0x337fd5(0xa7e)](Math['round'](_0x1d20cf),Math[_0x337fd5(0xb3f)](_0x4622a1),!!_0x52983a);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x93a),_0x423d25=>{const _0x27c44c=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!$gameSystem['isSideView']())return;VisuMZ[_0x27c44c(0x866)](_0x423d25,_0x423d25);const _0x1958f2=VisuMZ[_0x27c44c(0x1f5)](_0x423d25[_0x27c44c(0x530)]),_0x1a96d3=VisuMZ[_0x27c44c(0x1f5)](_0x423d25[_0x27c44c(0x145)]),_0x1fcb6a=_0x1a96d3[_0x27c44c(0x782)](_0x37af9a=>_0x37af9a&&_0x37af9a[_0x27c44c(0xb0d)]()?_0x37af9a[_0x27c44c(0xb0d)]()[_0x27c44c(0x8f0)]:0x0)/(_0x1a96d3['length']||0x1),_0x4848f7=_0x1a96d3['map'](_0x381155=>_0x381155&&_0x381155['battler']()?_0x381155[_0x27c44c(0xb0d)]()[_0x27c44c(0x4c9)]:0x0)/(_0x1a96d3[_0x27c44c(0x12d)]||0x1),_0x3321ea=_0x423d25['FaceAway'];for(const _0x1ca41b of _0x1958f2){if(_0x27c44c(0xa46)!=='bwUcv'){if(!_0x1ca41b)continue;_0x1ca41b[_0x27c44c(0xa7e)](Math[_0x27c44c(0xb3f)](_0x1fcb6a),Math[_0x27c44c(0xb3f)](_0x4848f7),!!_0x3321ea);}else this[_0x27c44c(0x375)]()?delete _0x53f5f8[_0x27c44c(0xab7)][_0x27c44c(0x5c1)]:_0x3f9839[_0x27c44c(0x456)](_0x27c44c(0x5c1),this['actorCommandCancelTPB'][_0x27c44c(0x124)](this));}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x470),_0x324ac9=>{const _0x1864ab=_0x5bdce9;if(!SceneManager[_0x1864ab(0x5ea)]())return;VisuMZ[_0x1864ab(0x866)](_0x324ac9,_0x324ac9);const _0x596a60=$gameTemp[_0x1864ab(0xb48)](),_0x576344=VisuMZ[_0x1864ab(0x1f5)](_0x324ac9['Targets']),_0x1d99ad=_0x324ac9[_0x1864ab(0x6ce)],_0x1c0879=_0x324ac9['Duration'],_0xe8cd35=_0x324ac9[_0x1864ab(0x752)],_0xf40073=_0x324ac9[_0x1864ab(0x848)];if(!_0x596a60)return;for(const _0x192ee6 of _0x576344){if(!_0x192ee6)continue;_0x192ee6[_0x1864ab(0xb56)](_0x1d99ad,_0x1c0879,_0xe8cd35);}if(_0xf40073)_0x596a60['setWaitMode'](_0x1864ab(0xa25));}),PluginManager['registerCommand'](pluginData['name'],'ActSeq_Movement_HomeReset',_0x676d5f=>{const _0x4a2820=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ['ConvertParams'](_0x676d5f,_0x676d5f);const _0x55c3f0=$gameTemp[_0x4a2820(0xb48)]();if(!_0x55c3f0)return;const _0x137791=VisuMZ[_0x4a2820(0x1f5)](_0x676d5f[_0x4a2820(0x637)]);for(const _0x231946 of _0x137791){if(!_0x231946)continue;_0x231946['performActionEndMembers']();}BattleManager[_0x4a2820(0xb40)]&&BattleManager[_0x4a2820(0xb40)][_0x4a2820(0x154)]();if(_0x676d5f[_0x4a2820(0x201)])_0x55c3f0['setWaitMode'](_0x4a2820(0x286));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0xab2),_0x2c64d5=>{const _0x5ca10e=_0x5bdce9;if(!SceneManager[_0x5ca10e(0x5ea)]())return;VisuMZ[_0x5ca10e(0x866)](_0x2c64d5,_0x2c64d5);const _0x4387d5=$gameTemp[_0x5ca10e(0xb48)](),_0x280106=VisuMZ['CreateActionSequenceTargets'](_0x2c64d5[_0x5ca10e(0x637)]),_0x1e0a53=_0x2c64d5[_0x5ca10e(0x6ce)],_0x28bf86=_0x2c64d5[_0x5ca10e(0x26c)],_0x5a9964=_0x2c64d5[_0x5ca10e(0x6d3)];if(!_0x4387d5)return;for(const _0x444259 of _0x280106){if(!_0x444259)continue;_0x444259[_0x5ca10e(0x4ba)](_0x1e0a53,_0x28bf86);}if(_0x5a9964)_0x4387d5[_0x5ca10e(0x73c)](_0x5ca10e(0xaf0));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],'ActSeq_Movement_MoveBy',_0x34fc54=>{const _0x1a2eea=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!$gameSystem[_0x1a2eea(0x68b)]())return;VisuMZ[_0x1a2eea(0x866)](_0x34fc54,_0x34fc54);const _0x34310a=$gameTemp[_0x1a2eea(0xb48)](),_0x5b4efc=VisuMZ[_0x1a2eea(0x1f5)](_0x34fc54[_0x1a2eea(0x637)]),_0x4df100=_0x34fc54[_0x1a2eea(0x961)],_0x647304=_0x34fc54['DistanceX'],_0x4d5115=_0x34fc54[_0x1a2eea(0x37c)],_0x1e8a8e=_0x34fc54[_0x1a2eea(0x26c)],_0x48cb65=_0x34fc54[_0x1a2eea(0x518)],_0x44b3eb=_0x34fc54[_0x1a2eea(0x752)],_0x5ead1f=_0x34fc54['MotionType'],_0x47a5e0=_0x34fc54[_0x1a2eea(0x201)];if(!_0x34310a)return;for(const _0x556f1e of _0x5b4efc){if(!_0x556f1e)continue;let _0x229fd1=_0x647304,_0x377fc2=_0x4d5115;if(_0x4df100[_0x1a2eea(0x16b)](/horz/i))_0x229fd1*=_0x556f1e['isActor']()?-0x1:0x1;if(_0x4df100[_0x1a2eea(0x16b)](/vert/i))_0x377fc2*=_0x556f1e[_0x1a2eea(0x491)]()?-0x1:0x1;_0x556f1e[_0x1a2eea(0x8a2)](_0x229fd1,_0x377fc2,_0x1e8a8e,_0x48cb65,_0x44b3eb),_0x556f1e['requestMotion'](_0x5ead1f);}if(_0x47a5e0)_0x34310a['setWaitMode'](_0x1a2eea(0x286));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],'ActSeq_Movement_MoveToPoint',_0x137710=>{const _0x16c19d=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!$gameSystem['isSideView']())return;VisuMZ[_0x16c19d(0x866)](_0x137710,_0x137710);const _0x155d2e=$gameTemp[_0x16c19d(0xb48)](),_0x58138b=VisuMZ[_0x16c19d(0x1f5)](_0x137710['Targets']),_0x58fcf3=_0x137710[_0x16c19d(0x23c)],_0x27c31c=_0x137710[_0x16c19d(0x39c)],_0x31c042=_0x137710['OffsetX'],_0x1d84c2=_0x137710[_0x16c19d(0x4b4)],_0x1d2fc4=_0x137710[_0x16c19d(0x26c)],_0x33a6a5=_0x137710['FaceDirection'],_0x163575=_0x137710[_0x16c19d(0x752)],_0x5596ed=_0x137710[_0x16c19d(0x9ea)],_0x1e37dc=_0x137710['WaitForMovement'];if(!_0x155d2e)return;for(const _0x53f5ed of _0x58138b){if(!_0x53f5ed)continue;let _0x3a4698=_0x53f5ed[_0x16c19d(0xb0d)]()[_0x16c19d(0x8f0)],_0x47179a=_0x53f5ed[_0x16c19d(0xb0d)]()[_0x16c19d(0x4c9)];if(_0x58fcf3['match'](/home/i)){if(_0x16c19d(0x527)!==_0x16c19d(0x527)){const _0x2dfa50=_0x31ae54[_0x16c19d(0xad6)]();if(_0x2dfa50&&_0x2dfa50['battler'])_0x2dfa50['battler']()[_0x16c19d(0x2d4)]();_0x1d54ff[_0x16c19d(0x61c)][_0x16c19d(0x62d)]['call'](this);}else _0x3a4698=_0x53f5ed[_0x16c19d(0xb0d)]()[_0x16c19d(0x666)],_0x47179a=_0x53f5ed[_0x16c19d(0xb0d)]()['_homeY'];}else{if(_0x58fcf3[_0x16c19d(0x16b)](/center/i))_0x3a4698=Graphics['boxWidth']/0x2,_0x47179a=Graphics[_0x16c19d(0x51f)]/0x2;else _0x58fcf3[_0x16c19d(0x16b)](/point (\d+), (\d+)/i)&&(_0x3a4698=Number(RegExp['$1']),_0x47179a=Number(RegExp['$2']));}if(_0x27c31c[_0x16c19d(0x16b)](/none/i))_0x3a4698+=_0x31c042,_0x47179a+=_0x1d84c2;else{if(_0x27c31c['match'](/horz/i)&&_0x27c31c[_0x16c19d(0x16b)](/vert/i))_0x3a4698+=_0x53f5ed[_0x16c19d(0x491)]()?-_0x31c042:_0x31c042,_0x47179a+=_0x53f5ed[_0x16c19d(0x491)]()?-_0x1d84c2:_0x1d84c2;else{if(_0x27c31c[_0x16c19d(0x16b)](/horz/i))_0x3a4698+=_0x53f5ed[_0x16c19d(0x491)]()?-_0x31c042:_0x31c042,_0x47179a+=_0x1d84c2;else _0x27c31c[_0x16c19d(0x16b)](/vert/i)&&(_0x3a4698+=_0x31c042,_0x47179a+=_0x53f5ed['isActor']()?-_0x1d84c2:_0x1d84c2);}}_0x53f5ed[_0x16c19d(0xa3e)](_0x3a4698,_0x47179a,_0x1d2fc4,_0x33a6a5,_0x163575,-0x1),_0x53f5ed['requestMotion'](_0x5596ed);}if(_0x1e37dc)_0x155d2e['setWaitMode'](_0x16c19d(0x286));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],'ActSeq_Movement_MoveToTarget',_0x431b76=>{const _0x31ae1a=_0x5bdce9;if(!SceneManager[_0x31ae1a(0x5ea)]())return;if(!$gameSystem[_0x31ae1a(0x68b)]())return;VisuMZ[_0x31ae1a(0x866)](_0x431b76,_0x431b76);const _0x28449b=$gameTemp[_0x31ae1a(0xb48)](),_0xd43d14=VisuMZ[_0x31ae1a(0x1f5)](_0x431b76[_0x31ae1a(0x530)]),_0x5df44b=VisuMZ['CreateActionSequenceTargets'](_0x431b76[_0x31ae1a(0x145)]),_0x1a2165=_0x431b76[_0x31ae1a(0x909)];let _0x5ac496=_0x431b76[_0x31ae1a(0x621)];const _0x4358cc=_0x431b76[_0x31ae1a(0x39c)],_0x195229=_0x431b76[_0x31ae1a(0x6b7)],_0x204809=_0x431b76[_0x31ae1a(0x4b4)],_0x5bf490=_0x431b76[_0x31ae1a(0x26c)],_0x541a07=_0x431b76[_0x31ae1a(0x518)],_0x147ec5=_0x431b76[_0x31ae1a(0x752)],_0x552e9f=_0x431b76['MotionType'],_0x54dba9=_0x431b76['WaitForMovement'],_0x4be5f1=Math[_0x31ae1a(0x339)](..._0x5df44b['map'](_0xaf2cb2=>_0xaf2cb2[_0x31ae1a(0xb0d)]()[_0x31ae1a(0x8f0)]-_0xaf2cb2['battler']()['mainSpriteWidth']()/0x2)),_0x50fca0=Math[_0x31ae1a(0xa5e)](..._0x5df44b[_0x31ae1a(0x782)](_0x4a1d9b=>_0x4a1d9b[_0x31ae1a(0xb0d)]()[_0x31ae1a(0x8f0)]+_0x4a1d9b[_0x31ae1a(0xb0d)]()[_0x31ae1a(0x1af)]()/0x2)),_0x184bab=Math['min'](..._0x5df44b[_0x31ae1a(0x782)](_0x24178a=>_0x24178a[_0x31ae1a(0xb0d)]()[_0x31ae1a(0x4c9)]-_0x24178a[_0x31ae1a(0xb0d)]()[_0x31ae1a(0x1a1)]())),_0x595097=Math[_0x31ae1a(0xa5e)](..._0x5df44b['map'](_0x16ad8d=>_0x16ad8d[_0x31ae1a(0xb0d)]()['_baseY'])),_0xe57109=_0x5df44b[_0x31ae1a(0xb85)](_0x21fb11=>_0x21fb11[_0x31ae1a(0x491)]())[_0x31ae1a(0x12d)],_0x5912a9=_0x5df44b['filter'](_0x4acb8e=>_0x4acb8e[_0x31ae1a(0x203)]())[_0x31ae1a(0x12d)];let _0x11a723=0x0,_0x2c8dce=0x0;if(_0x1a2165[_0x31ae1a(0x16b)](/front/i))_0x31ae1a(0x883)!==_0x31ae1a(0x883)?(this['_activeWeaponSlot']=_0x5cefd0,this['_cache']={}):_0x11a723=_0xe57109>=_0x5912a9?_0x4be5f1:_0x50fca0;else{if(_0x1a2165[_0x31ae1a(0x16b)](/middle/i))_0x31ae1a(0x3c5)==='tjDQF'?_0x160b88[_0x31ae1a(0x335)](_0x31ae1a(0x80f)):(_0x11a723=(_0x4be5f1+_0x50fca0)/0x2,_0x5ac496=-0x1);else _0x1a2165[_0x31ae1a(0x16b)](/back/i)&&('aJPtW'==='LgqSw'?(this['_text']=this['enemy']()[_0x31ae1a(0x74e)](),this['refresh']()):_0x11a723=_0xe57109>=_0x5912a9?_0x50fca0:_0x4be5f1);}if(_0x1a2165[_0x31ae1a(0x16b)](/head/i)){if('aFCjJ'===_0x31ae1a(0x38e))return _0x2f6047['isActor']()?_0x2e0192['weapons']()[_0x31ae1a(0x12d)]||0x1:0x1;else _0x2c8dce=_0x184bab;}else{if(_0x1a2165['match'](/center/i))_0x31ae1a(0x430)!=='iyDKl'?_0x59dc55=_0x15ecfa>=_0x40dbdd?_0x1b86c6:_0x2479e6:_0x2c8dce=(_0x184bab+_0x595097)/0x2;else _0x1a2165[_0x31ae1a(0x16b)](/base/i)&&('gMwcE'!==_0x31ae1a(0xb52)?this['selectNextActor']():_0x2c8dce=_0x595097);}if(!_0x28449b)return;for(const _0x4aab9a of _0xd43d14){if(!_0x4aab9a)continue;let _0x1c25c9=_0x11a723,_0x1dd7c0=_0x2c8dce;if(_0x4358cc[_0x31ae1a(0x16b)](/none/i))'EdFlt'===_0x31ae1a(0x420)?(_0x1c25c9+=_0x195229,_0x1dd7c0+=_0x204809):this['requestMotion'](_0x31ae1a(0xe9));else{if(_0x4358cc['match'](/horz/i)&&_0x4358cc['match'](/vert/i))_0x1c25c9+=_0x4aab9a[_0x31ae1a(0x491)]()?-_0x195229:_0x195229,_0x1dd7c0+=_0x4aab9a[_0x31ae1a(0x491)]()?-_0x204809:_0x204809;else{if(_0x4358cc['match'](/horz/i))_0x1c25c9+=_0x4aab9a[_0x31ae1a(0x491)]()?-_0x195229:_0x195229,_0x1dd7c0+=_0x204809;else _0x4358cc['match'](/vert/i)&&(_0x1c25c9+=_0x195229,_0x1dd7c0+=_0x4aab9a[_0x31ae1a(0x491)]()?-_0x204809:_0x204809);}}_0x4aab9a[_0x31ae1a(0xa3e)](_0x1c25c9,_0x1dd7c0,_0x5bf490,_0x541a07,_0x147ec5,_0x5ac496),_0x4aab9a[_0x31ae1a(0x319)](_0x552e9f);}if(_0x54dba9)_0x28449b[_0x31ae1a(0x73c)](_0x31ae1a(0x286));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x69b),_0x29efc6=>{const _0x371469=_0x5bdce9;if(!SceneManager[_0x371469(0x5ea)]())return;VisuMZ[_0x371469(0x866)](_0x29efc6,_0x29efc6);const _0x8a719c=$gameTemp[_0x371469(0xb48)](),_0x4251a2=VisuMZ[_0x371469(0x1f5)](_0x29efc6[_0x371469(0x637)]),_0x42bb8a=_0x29efc6[_0x371469(0x170)],_0x2c7280=_0x29efc6[_0x371469(0x26c)],_0x404eff=_0x29efc6[_0x371469(0x752)],_0x2aa58e=_0x29efc6[_0x371469(0x2a3)];if(!_0x8a719c)return;for(const _0x3ff29c of _0x4251a2){if(!_0x3ff29c)continue;_0x3ff29c[_0x371469(0x7ea)](_0x42bb8a,_0x2c7280,_0x404eff);}if(_0x2aa58e)_0x8a719c[_0x371469(0x73c)](_0x371469(0x72c));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],'ActSeq_Movement_Scale',_0x2e977c=>{const _0xaec324=_0x5bdce9;if(!SceneManager[_0xaec324(0x5ea)]())return;VisuMZ['ConvertParams'](_0x2e977c,_0x2e977c);const _0x589e41=$gameTemp[_0xaec324(0xb48)](),_0xaf7709=VisuMZ['CreateActionSequenceTargets'](_0x2e977c['Targets']),_0x9b7c20=_0x2e977c[_0xaec324(0x876)],_0x8850c6=_0x2e977c['ScaleY'],_0x2e228a=_0x2e977c['Duration'],_0x731a61=_0x2e977c['EasingType'],_0x4cc94b=_0x2e977c['WaitForScale'];if(!_0x589e41)return;for(const _0x3db517 of _0xaf7709){if(_0xaec324(0x7db)===_0xaec324(0x7db)){if(!_0x3db517)continue;_0x3db517[_0xaec324(0x547)](_0x9b7c20,_0x8850c6,_0x2e228a,_0x731a61);}else _0x2e787d['BattleCore'][_0xaec324(0x7ff)]['call'](this);}if(_0x4cc94b)_0x589e41[_0xaec324(0x73c)](_0xaec324(0x751));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x8dd),_0x26920c=>{const _0x51cdf0=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ['ConvertParams'](_0x26920c,_0x26920c);const _0x5ea0e7=$gameTemp[_0x51cdf0(0xb48)](),_0x558952=VisuMZ[_0x51cdf0(0x1f5)](_0x26920c[_0x51cdf0(0x637)]),_0x49d700=_0x26920c['SkewX'],_0xecf558=_0x26920c['SkewY'],_0x40a838=_0x26920c['Duration'],_0x465ad1=_0x26920c[_0x51cdf0(0x752)],_0x306a37=_0x26920c[_0x51cdf0(0x7a2)];if(!_0x5ea0e7)return;for(const _0x4261ee of _0x558952){if(_0x51cdf0(0x16c)===_0x51cdf0(0x285))return _0x5e3e03=_0x27e56d[_0x51cdf0(0x61c)][_0x51cdf0(0x76e)][_0x51cdf0(0x40d)][_0x51cdf0(0x8c1)][_0x51cdf0(0x4b1)](this,_0x20a12d),_0x2ccb09=this[_0x51cdf0(0x167)][_0x51cdf0(0x96b)]*_0x411600+this[_0x51cdf0(0x167)][_0x51cdf0(0x2f0)],_0x1cfa6d;else{if(!_0x4261ee)continue;_0x4261ee[_0x51cdf0(0x6f2)](_0x49d700,_0xecf558,_0x40a838,_0x465ad1);}}if(_0x306a37)_0x5ea0e7[_0x51cdf0(0x73c)]('battleSpriteSkew');}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],'ActSeq_Movement_Spin',_0x564b25=>{const _0x213887=_0x5bdce9;if(!SceneManager[_0x213887(0x5ea)]())return;VisuMZ[_0x213887(0x866)](_0x564b25,_0x564b25);const _0x4399e1=$gameTemp[_0x213887(0xb48)](),_0x5a88d5=VisuMZ[_0x213887(0x1f5)](_0x564b25[_0x213887(0x637)]),_0x43aa4c=_0x564b25[_0x213887(0x47c)],_0x5b980f=_0x564b25[_0x213887(0x26c)],_0x2fe804=_0x564b25[_0x213887(0x752)],_0x494a08=_0x564b25[_0x213887(0x87d)],_0x1529e7=_0x564b25[_0x213887(0x789)];if(!_0x4399e1)return;for(const _0x287d3c of _0x5a88d5){if(!_0x287d3c)continue;_0x287d3c[_0x213887(0x353)](_0x43aa4c,_0x5b980f,_0x2fe804,_0x494a08);}if(_0x1529e7)_0x4399e1[_0x213887(0x73c)](_0x213887(0x4fa));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Movement_WaitForFloat',_0xef9ce6=>{const _0x1f3b75=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;const _0x3a692f=$gameTemp[_0x1f3b75(0xb48)]();if(!_0x3a692f)return;_0x3a692f[_0x1f3b75(0x73c)](_0x1f3b75(0xa25));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x62a),_0x1eee39=>{const _0x4dd480=_0x5bdce9;if(!SceneManager[_0x4dd480(0x5ea)]())return;const _0x1a2f82=$gameTemp[_0x4dd480(0xb48)]();if(!_0x1a2f82)return;_0x1a2f82[_0x4dd480(0x73c)](_0x4dd480(0xaf0));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x41e),_0x5e871a=>{const _0x259a21=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;const _0x24b237=$gameTemp[_0x259a21(0xb48)]();if(!_0x24b237)return;_0x24b237[_0x259a21(0x73c)]('battleMove');}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x4a7),_0x3f3b3f=>{const _0x3cd9af=_0x5bdce9;if(!SceneManager[_0x3cd9af(0x5ea)]())return;const _0x27ac17=$gameTemp[_0x3cd9af(0xb48)]();if(!_0x27ac17)return;_0x27ac17[_0x3cd9af(0x73c)]('battleOpacity');}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x802),_0x142954=>{const _0x29de9a=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;const _0x4a8334=$gameTemp[_0x29de9a(0xb48)]();if(!_0x4a8334)return;_0x4a8334[_0x29de9a(0x73c)](_0x29de9a(0x751));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Movement_WaitForSkew',_0x380dd3=>{const _0x4cc254=_0x5bdce9;if(!SceneManager[_0x4cc254(0x5ea)]())return;const _0x2c1e10=$gameTemp[_0x4cc254(0xb48)]();if(!_0x2c1e10)return;_0x2c1e10[_0x4cc254(0x73c)](_0x4cc254(0x2ce));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x361),_0x23d24f=>{const _0x1ea53a=_0x5bdce9;if(!SceneManager[_0x1ea53a(0x5ea)]())return;const _0x4322e4=$gameTemp['getLastPluginCommandInterpreter']();if(!_0x4322e4)return;_0x4322e4[_0x1ea53a(0x73c)](_0x1ea53a(0x4fa));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x174),_0x5901a0=>{const _0x287dae=_0x5bdce9;if(!SceneManager[_0x287dae(0x5ea)]())return;if(!Imported[_0x287dae(0x684)])return;VisuMZ[_0x287dae(0x866)](_0x5901a0,_0x5901a0);const _0x3b7796=$gameTemp[_0x287dae(0xb48)](),_0x3c85a5=_0x5901a0['WaitForProjectile'];if(!_0x3b7796)return;const _0x1d382c=BattleManager[_0x287dae(0x25a)];if(!_0x1d382c)return;_0x1d382c[_0x287dae(0x3f6)](_0x5901a0);if(_0x3c85a5)_0x3b7796['setWaitMode'](_0x287dae(0xd1));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Projectile_Icon',_0x1a49c8=>{const _0x1adafa=_0x5bdce9;if(!SceneManager[_0x1adafa(0x5ea)]())return;if(!Imported[_0x1adafa(0x684)])return;VisuMZ[_0x1adafa(0x866)](_0x1a49c8,_0x1a49c8);const _0x35cbe6=$gameTemp[_0x1adafa(0xb48)](),_0x38c501=_0x1a49c8[_0x1adafa(0x404)];if(!_0x35cbe6)return;const _0x237a23=BattleManager[_0x1adafa(0x25a)];if(!_0x237a23)return;_0x237a23[_0x1adafa(0x3f6)](_0x1a49c8);if(_0x38c501)_0x35cbe6['setWaitMode'](_0x1adafa(0xd1));}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x676),_0x51fba1=>{const _0x335b5d=_0x5bdce9;if(!SceneManager[_0x335b5d(0x5ea)]())return;if(!Imported['VisuMZ_3_ActSeqProjectiles'])return;VisuMZ['ConvertParams'](_0x51fba1,_0x51fba1);const _0x5af847=$gameTemp['getLastPluginCommandInterpreter'](),_0x348582=_0x51fba1['WaitForProjectile'];if(!_0x5af847)return;const _0x453e5b=BattleManager[_0x335b5d(0x25a)];if(!_0x453e5b)return;_0x453e5b['createActionSequenceProjectile'](_0x51fba1);if(_0x348582)_0x5af847[_0x335b5d(0x73c)](_0x335b5d(0xd1));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x69f),_0x4d5fd3=>{const _0x530147=_0x5bdce9;if(!SceneManager[_0x530147(0x5ea)]())return;if(!Imported['VisuMZ_3_ActSeqCamera'])return;VisuMZ[_0x530147(0x866)](_0x4d5fd3,_0x4d5fd3);const _0x7ebe3f=$gameTemp[_0x530147(0xb48)](),_0x2db8da=_0x4d5fd3[_0x530147(0x7a2)];if(!_0x7ebe3f)return;$gameScreen['setBattleSkew'](_0x4d5fd3[_0x530147(0x208)],_0x4d5fd3[_0x530147(0x7e4)],_0x4d5fd3[_0x530147(0x26c)],_0x4d5fd3[_0x530147(0x752)]);if(_0x2db8da)_0x7ebe3f[_0x530147(0x73c)]('battleSkew');}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Skew_Reset',_0x1f5c36=>{const _0x648733=_0x5bdce9;if(!SceneManager[_0x648733(0x5ea)]())return;if(!Imported['VisuMZ_3_ActSeqCamera'])return;VisuMZ[_0x648733(0x866)](_0x1f5c36,_0x1f5c36);const _0xf2d9d2=$gameTemp[_0x648733(0xb48)](),_0x37f1e1=_0x1f5c36['WaitForSkew'];if(!_0xf2d9d2)return;$gameScreen['setBattleSkew'](0x0,0x0,_0x1f5c36[_0x648733(0x26c)],_0x1f5c36[_0x648733(0x752)]);if(_0x37f1e1)_0xf2d9d2['setWaitMode'](_0x648733(0x693));}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x43c),_0xa25bf5=>{const _0x78b19e=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x78b19e(0x27b)])return;const _0x201ab5=$gameTemp[_0x78b19e(0xb48)]();if(!_0x201ab5)return;_0x201ab5[_0x78b19e(0x73c)]('battleSkew');}),PluginManager['registerCommand'](pluginData['name'],_0x5bdce9(0xb8a),_0x352f60=>{const _0xded86b=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0xded86b(0x866)](_0x352f60,_0x352f60);const _0x57ce35=$gameTemp[_0xded86b(0xb48)](),_0x456fa7=_0x352f60[_0xded86b(0x6ae)],_0x297ccc=_0x352f60[_0xded86b(0x369)];if(!_0x57ce35)return;BattleManager[_0xded86b(0x34d)]=_0x456fa7,BattleManager[_0xded86b(0xaa8)]=BattleManager[_0xded86b(0x8be)]?BattleManager[_0xded86b(0x8be)][BattleManager[_0xded86b(0x34d)]]||null:null,BattleManager[_0xded86b(0xaa8)]&&_0x297ccc[_0xded86b(0x673)]()[_0xded86b(0x92d)]()!=='UNTITLED'&&_0x57ce35[_0xded86b(0x29b)]([_0x297ccc]);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Target_NextTarget',_0x5b2434=>{const _0x3b01e7=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;VisuMZ[_0x3b01e7(0x866)](_0x5b2434,_0x5b2434);const _0x3e653c=$gameTemp[_0x3b01e7(0xb48)](),_0x9c6b33=_0x5b2434[_0x3b01e7(0x369)];if(!_0x3e653c)return;BattleManager['_targetIndex']++,BattleManager['_target']=BattleManager[_0x3b01e7(0x8be)][BattleManager[_0x3b01e7(0x34d)]]||null;if(BattleManager[_0x3b01e7(0xaa8)]&&_0x9c6b33[_0x3b01e7(0x673)]()[_0x3b01e7(0x92d)]()!==_0x3b01e7(0xae4)){if(_0x3b01e7(0x440)===_0x3b01e7(0x440))_0x3e653c[_0x3b01e7(0x29b)]([_0x9c6b33]);else{if(this[_0x3b01e7(0xb29)]>0x0)this[_0x3b01e7(0xb29)]-=0x10;}}}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Target_PrevTarget',_0x4f1933=>{const _0x1ccc3c=_0x5bdce9;if(!SceneManager[_0x1ccc3c(0x5ea)]())return;VisuMZ[_0x1ccc3c(0x866)](_0x4f1933,_0x4f1933);const _0x340a38=$gameTemp['getLastPluginCommandInterpreter'](),_0x40d8a7=_0x4f1933[_0x1ccc3c(0x369)];if(!_0x340a38)return;BattleManager[_0x1ccc3c(0x34d)]--,BattleManager[_0x1ccc3c(0xaa8)]=BattleManager[_0x1ccc3c(0x8be)][BattleManager[_0x1ccc3c(0x34d)]]||null,BattleManager[_0x1ccc3c(0xaa8)]&&_0x40d8a7[_0x1ccc3c(0x673)]()[_0x1ccc3c(0x92d)]()!==_0x1ccc3c(0xae4)&&_0x340a38['command119']([_0x40d8a7]);}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x50e),_0x331a93=>{const _0x55310e=_0x5bdce9;if(!SceneManager[_0x55310e(0x5ea)]())return;VisuMZ[_0x55310e(0x866)](_0x331a93,_0x331a93);const _0xaa5397=$gameTemp[_0x55310e(0xb48)](),_0x510767=_0x331a93[_0x55310e(0xad2)],_0x62f127=_0x331a93[_0x55310e(0x369)];if(!_0xaa5397)return;const _0x19c77f=BattleManager[_0x55310e(0x34d)];for(;;){BattleManager[_0x55310e(0x34d)]=Math[_0x55310e(0xaf7)](BattleManager[_0x55310e(0x8be)]['length']);if(!_0x510767)break;if(BattleManager[_0x55310e(0x34d)]!==_0x19c77f)break;if(BattleManager[_0x55310e(0x8be)][_0x55310e(0x12d)]<=0x1){BattleManager[_0x55310e(0x34d)]=0x0;break;}}BattleManager['_target']=BattleManager[_0x55310e(0x8be)][BattleManager[_0x55310e(0x34d)]]||null,BattleManager[_0x55310e(0xaa8)]&&_0x62f127[_0x55310e(0x673)]()[_0x55310e(0x92d)]()!==_0x55310e(0xae4)&&_0xaa5397[_0x55310e(0x29b)]([_0x62f127]);}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x56c),_0x1fee0e=>{const _0x1d03f1=_0x5bdce9;if(!SceneManager[_0x1d03f1(0x5ea)]())return;VisuMZ[_0x1d03f1(0x866)](_0x1fee0e,_0x1fee0e);const _0x5d9cbd=VisuMZ[_0x1d03f1(0x1f5)](_0x1fee0e[_0x1d03f1(0x637)]);for(const _0x3c4ea4 of _0x5d9cbd){if(!_0x3c4ea4)continue;if(!_0x3c4ea4[_0x1d03f1(0x491)]())continue;_0x3c4ea4['clearActiveWeaponSlot']();}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],'ActSeq_Weapon_NextActiveWeapon',_0x429da0=>{const _0x8f6b9e=_0x5bdce9;if(!SceneManager[_0x8f6b9e(0x5ea)]())return;VisuMZ['ConvertParams'](_0x429da0,_0x429da0);const _0x32b426=$gameTemp[_0x8f6b9e(0xb48)]();let _0x43aca4=![];const _0x361c8a=_0x429da0[_0x8f6b9e(0x369)],_0x3bd4a5=VisuMZ[_0x8f6b9e(0x1f5)](_0x429da0[_0x8f6b9e(0x637)]);for(const _0x2652a5 of _0x3bd4a5){if(!_0x2652a5)continue;if(!_0x2652a5[_0x8f6b9e(0x491)]())continue;_0x2652a5[_0x8f6b9e(0x62e)](),_0x2652a5['weapons']()['length']>0x0?_0x43aca4=!![]:_0x2652a5[_0x8f6b9e(0x44a)]();}if(_0x43aca4&&_0x361c8a['toUpperCase']()[_0x8f6b9e(0x92d)]()!=='UNTITLED'){if('UPFnb'===_0x8f6b9e(0x79d)){const _0x373b0c=_0x369c8b[_0x8f6b9e(0x664)];if(_0x373b0c[_0x8f6b9e(0x16b)](/<SIDEVIEW SHADOW (?:SCALE|SCALE Y):[ ](\d+)([%％])>/i))return _0x5631b2(_0xe584fb['$1'])*0.01;else{if(_0x373b0c['match'](/<SIDEVIEW SHADOW (?:SCALE|SCALE Y):[ ](.*)>/i))return _0x2c2774(_0x386ed7['$1'])||0x0;}}else _0x32b426[_0x8f6b9e(0x29b)]([_0x361c8a]);}}),PluginManager['registerCommand'](pluginData[_0x5bdce9(0x74e)],'ActSeq_Weapon_SetActiveWeapon',_0x45d5e1=>{const _0x20ae31=_0x5bdce9;if(!SceneManager[_0x20ae31(0x5ea)]())return;VisuMZ[_0x20ae31(0x866)](_0x45d5e1,_0x45d5e1);let _0xc86656=_0x45d5e1['SlotID'];_0xc86656--,_0xc86656=Math[_0x20ae31(0xa5e)](_0xc86656,0x0);const _0x11c7cd=VisuMZ['CreateActionSequenceTargets'](_0x45d5e1[_0x20ae31(0x637)]);for(const _0xeac71c of _0x11c7cd){if(!_0xeac71c)continue;if(!_0xeac71c[_0x20ae31(0x491)]())continue;_0xeac71c[_0x20ae31(0x894)](_0xc86656);}}),PluginManager[_0x5bdce9(0x1b1)](pluginData['name'],_0x5bdce9(0x805),_0x314817=>{const _0x568ff9=_0x5bdce9;if(!SceneManager[_0x568ff9(0x5ea)]())return;if(!Imported[_0x568ff9(0x27b)])return;VisuMZ[_0x568ff9(0x866)](_0x314817,_0x314817);const _0x470d74=$gameTemp[_0x568ff9(0xb48)](),_0x32c535=_0x314817['WaitForZoom'];if(!_0x470d74)return;$gameScreen[_0x568ff9(0xb89)](_0x314817[_0x568ff9(0x736)],_0x314817[_0x568ff9(0x26c)],_0x314817[_0x568ff9(0x752)]);if(_0x32c535)_0x470d74[_0x568ff9(0x73c)](_0x568ff9(0xa68));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],'ActSeq_Zoom_Reset',_0x4c4471=>{const _0x173473=_0x5bdce9;if(!SceneManager[_0x173473(0x5ea)]())return;if(!Imported[_0x173473(0x27b)])return;VisuMZ['ConvertParams'](_0x4c4471,_0x4c4471);const _0x6b2c39=$gameTemp['getLastPluginCommandInterpreter'](),_0x34a965=_0x4c4471[_0x173473(0x146)];if(!_0x6b2c39)return;$gameScreen['setBattleZoom'](0x1,_0x4c4471[_0x173473(0x26c)],_0x4c4471[_0x173473(0x752)]);if(_0x34a965)_0x6b2c39['setWaitMode'](_0x173473(0xa68));}),PluginManager[_0x5bdce9(0x1b1)](pluginData[_0x5bdce9(0x74e)],_0x5bdce9(0x69c),_0x43cf43=>{const _0x4b2993=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;if(!Imported[_0x4b2993(0x27b)])return;const _0x421973=$gameTemp[_0x4b2993(0xb48)]();if(!_0x421973)return;_0x421973[_0x4b2993(0x73c)]('battleZoom');}),VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x129)]=Scene_Boot['prototype'][_0x5bdce9(0x60b)],Scene_Boot[_0x5bdce9(0x768)]['onDatabaseLoaded']=function(){const _0x5e6ced=_0x5bdce9;this['process_VisuMZ_BattleCore_Failsafes'](),this['process_VisuMZ_BattleCore_PluginParams'](),this['process_VisuMZ_BattleCore_DamageStyles'](),this['process_VisuMZ_BattleCore_CreateRegExp'](),VisuMZ[_0x5e6ced(0x61c)][_0x5e6ced(0x129)][_0x5e6ced(0x4b1)](this),this[_0x5e6ced(0x2f1)](),this[_0x5e6ced(0x8f4)](),this[_0x5e6ced(0x794)](),this['process_VisuMZ_BattleCore_CommonEventKeys']();},Scene_Boot['prototype'][_0x5bdce9(0x2f1)]=function(){const _0x37960e=_0x5bdce9;if(VisuMZ['ParseAllNotetags'])return;this['process_VisuMZ_BattleCore_Action_Notetags'](),this[_0x37960e(0x843)](),this[_0x37960e(0x13b)]();},Scene_Boot[_0x5bdce9(0x768)][_0x5bdce9(0xaac)]=function(){const _0x28438a=_0x5bdce9,_0x1c06c3=$dataSystem[_0x28438a(0x6a9)][_0x28438a(0x12d)];for(let _0x40cc7f=0x0;_0x40cc7f<_0x1c06c3;_0x40cc7f++){const _0x47c271=$dataSystem[_0x28438a(0x300)][_0x40cc7f];if(_0x47c271)continue;$dataSystem[_0x28438a(0x300)][_0x40cc7f]=JsonEx['makeDeepCopy']($dataSystem[_0x28438a(0x300)][0x0]);}},Scene_Boot['prototype'][_0x5bdce9(0x123)]=function(){const _0x4b3b6d=_0x5bdce9,_0x1f6e8b=VisuMZ[_0x4b3b6d(0x61c)][_0x4b3b6d(0x76e)];_0x1f6e8b[_0x4b3b6d(0x40d)][_0x4b3b6d(0x36f)]===undefined&&(_0x1f6e8b[_0x4b3b6d(0x40d)][_0x4b3b6d(0x36f)]='base'),_0x1f6e8b['Actor'][_0x4b3b6d(0x338)]===undefined&&('wsfpQ'!=='uZcoN'?_0x1f6e8b['Actor'][_0x4b3b6d(0x338)]=![]:_0x5bfcba[_0x4b3b6d(0x454)]=_0x4e97b7[_0x4b3b6d(0x9a5)]),_0x1f6e8b[_0x4b3b6d(0x14a)][_0x4b3b6d(0x338)]===undefined&&(_0x4b3b6d(0x6fd)===_0x4b3b6d(0x6fd)?_0x1f6e8b[_0x4b3b6d(0x14a)][_0x4b3b6d(0x338)]=!![]:(_0x74c876['prototype'][_0x4b3b6d(0x367)]['call'](this),this[_0x4b3b6d(0x9d0)](),this[_0x4b3b6d(0x2ab)]())),_0x1f6e8b[_0x4b3b6d(0xe6)][_0x4b3b6d(0x9df)]===undefined&&(_0x4b3b6d(0x19f)===_0x4b3b6d(0x19f)?_0x1f6e8b['Actor'][_0x4b3b6d(0x9df)]=![]:(this['unshift']('actionSplicePoint'),_0x599b76[_0x4b3b6d(0x8cd)](_0x51d919,_0x3dd9a1),this[_0x4b3b6d(0x670)]())),_0x1f6e8b[_0x4b3b6d(0xe6)][_0x4b3b6d(0x305)]===undefined&&(_0x1f6e8b['Actor'][_0x4b3b6d(0x305)]=!![]);},VisuMZ[_0x5bdce9(0xb78)]={},Scene_Boot['prototype'][_0x5bdce9(0x9f8)]=function(){const _0x48f35f=_0x5bdce9;for(const _0x137f9f of VisuMZ[_0x48f35f(0x61c)][_0x48f35f(0x76e)][_0x48f35f(0x40d)][_0x48f35f(0x68a)]){if(!_0x137f9f)continue;const _0x463c7c=_0x137f9f[_0x48f35f(0x9b6)]['toUpperCase']()['trim']();VisuMZ[_0x48f35f(0xb78)][_0x463c7c]=_0x137f9f;}},VisuMZ['BattleCore'][_0x5bdce9(0x3a1)]={},Scene_Boot[_0x5bdce9(0x768)][_0x5bdce9(0xa52)]=function(){const _0x5644f7=_0x5bdce9,_0x38cb52=VisuMZ[_0x5644f7(0x61c)][_0x5644f7(0x3a1)],_0x497e7a=_0x5644f7(0x611),_0x26151b=[[_0x5644f7(0x7f4),_0x5644f7(0x6e2)],[_0x5644f7(0x9c9),'POST-']],_0x489988=[[_0x5644f7(0xd5),'JS\x20%1APPLY\x20%2'],[_0x5644f7(0x531),'JS\x20%1DAMAGE\x20%2']],_0x456911=[['',''],['AsUser','AS\x20USER'],[_0x5644f7(0x53b),_0x5644f7(0x23b)]];for(const _0x38ec55 of _0x489988){if(_0x5644f7(0x57c)!==_0x5644f7(0x57c))_0x2a99b9[_0x5644f7(0x894)](_0x4c6c59);else for(const _0x159336 of _0x456911){for(const _0x1d8b93 of _0x26151b){if(_0x5644f7(0xb0a)===_0x5644f7(0xb0a)){const _0x2324fa=_0x38ec55[0x0][_0x5644f7(0x824)](_0x1d8b93[0x0],_0x159336[0x0]),_0x34368c=_0x38ec55[0x1][_0x5644f7(0x824)](_0x1d8b93[0x1],_0x159336[0x1])['trim'](),_0x2c3f73=new RegExp(_0x497e7a[_0x5644f7(0x824)](_0x34368c),'i');_0x38cb52[_0x2324fa]=_0x2c3f73;}else{const _0xa0d5a2=this['_actor'][_0x5644f7(0xa39)](),_0x18e90a=_0xa0d5a2[_0x5644f7(0xb85)](_0x21f10a=>_0x235734['getSkillTypes'](_0x2e3fa3)[_0x5644f7(0x8ed)](_0x21f10a));return _0x18e90a[_0x5644f7(0x12d)]<=0x0;}}}}const _0x63ef6a=[[_0x5644f7(0x216),_0x5644f7(0x9c1)],[_0x5644f7(0x9ab),_0x5644f7(0x31a)]];for(const _0x241005 of _0x63ef6a){if(_0x5644f7(0x1b7)!==_0x5644f7(0x690))for(const _0x227a6c of _0x26151b){const _0x235c94=_0x241005[0x0][_0x5644f7(0x824)](_0x227a6c[0x0]),_0x1eb525=_0x241005[0x1][_0x5644f7(0x824)](_0x227a6c[0x1]),_0x504b92=new RegExp(_0x497e7a[_0x5644f7(0x824)](_0x1eb525),'i');_0x38cb52[_0x235c94]=_0x504b92;}else{const _0x4beed1=_0x50e348(_0x1cc29f['$1']);return[_0x3328aa[_0x5644f7(0x2b7)]()[_0x4beed1]];}}const _0x2189da=[[_0x5644f7(0x109),_0x5644f7(0x61e)],[_0x5644f7(0x49f),_0x5644f7(0xb80)],[_0x5644f7(0x973),'JS\x20BATTLE\x20VICTORY'],['BattleDefeatJS','JS\x20BATTLE\x20DEFEAT'],[_0x5644f7(0xa1b),_0x5644f7(0x13e)],[_0x5644f7(0x662),_0x5644f7(0x7a4)],[_0x5644f7(0x54e),_0x5644f7(0x20a)],[_0x5644f7(0x669),_0x5644f7(0x8d6)],[_0x5644f7(0xa22),_0x5644f7(0x38d)]];for(const _0xaff79e of _0x2189da){if(_0x5644f7(0x435)!==_0x5644f7(0x435)){const _0x1d980a=_0x38e90e(_0x2ff962['$1'])[_0x5644f7(0x761)](/[\r\n]+/)['remove'](''),_0x136a2c=this[_0x5644f7(0x169)](_0x1d980a);_0x132dc8=this['getEnemyIdWithName'](_0x136a2c)||_0x2433e3,_0x27e0cb=_0x10e9aa[_0x5644f7(0xaee)](_0x59a9b1);}else for(const _0x264903 of _0x26151b){if(_0x5644f7(0x10e)===_0x5644f7(0x53d))this[_0x5644f7(0x475)](this[_0x5644f7(0x66b)]);else{const _0x3643ce=_0xaff79e[0x0][_0x5644f7(0x824)](_0x264903[0x0]),_0x1c534f=_0xaff79e[0x1][_0x5644f7(0x824)](_0x264903[0x1]),_0x967433=new RegExp(_0x497e7a[_0x5644f7(0x824)](_0x1c534f),'i');_0x38cb52[_0x3643ce]=_0x967433;}}}},Scene_Boot[_0x5bdce9(0x768)][_0x5bdce9(0x34e)]=function(){const _0x10e552=_0x5bdce9,_0x2ea727=$dataSkills['concat']($dataItems);for(const _0x150e85 of _0x2ea727){if(_0x10e552(0xfe)!=='uiXzx'){if(!_0x150e85)continue;VisuMZ[_0x10e552(0x61c)][_0x10e552(0x601)](_0x150e85);}else this[_0x10e552(0x9dd)](_0x10e552(0xb81)),_0x4ed51a['BattleCore'][_0x10e552(0x224)][_0x10e552(0x4b1)](this),this['processBattleCoreJS']('PostEndTurnJS');}},Scene_Boot[_0x5bdce9(0x768)][_0x5bdce9(0x843)]=function(){const _0x4abe98=_0x5bdce9,_0x9e22a1=$dataActors[_0x4abe98(0x331)]($dataClasses,$dataWeapons,$dataArmors,$dataEnemies,$dataStates);for(const _0x33412e of _0x9e22a1){if('QmuUx'!=='QmuUx')this[_0x4abe98(0xb6a)]=this['_onceParallelInterpreters']||[],this['_onceParallelInterpreters'][_0x4abe98(0x838)](_0x1de201);else{if(!_0x33412e)continue;VisuMZ['BattleCore']['Parse_Notetags_TraitObjects'](_0x33412e);}}},Scene_Boot['prototype'][_0x5bdce9(0x8f4)]=function(){const _0x2c37cc=_0x5bdce9,_0x487643=VisuMZ[_0x2c37cc(0x61c)][_0x2c37cc(0x76e)][_0x2c37cc(0x817)][_0x2c37cc(0x327)],_0x340e80=[];for(const _0xde60bf of _0x487643){const _0xf59a88=$dataTroops[_0xde60bf];if(_0xf59a88)_0x340e80[_0x2c37cc(0x838)](JsonEx[_0x2c37cc(0x87e)](_0xf59a88));}for(const _0x399b6a of $dataTroops){if(_0x2c37cc(0xd9)!=='EqsUQ'){if(!_0x399b6a)continue;for(const _0x1104cd of _0x340e80){if(_0x1104cd['id']===_0x399b6a['id'])continue;_0x399b6a['pages']=_0x399b6a[_0x2c37cc(0x4b9)][_0x2c37cc(0x331)](_0x1104cd['pages']);}}else{this[_0x2c37cc(0x9e0)]=!![];const _0x50ea9c=this[_0x2c37cc(0x8ce)]();for(let _0x3bd75a=0x0;_0x3bd75a<_0x50ea9c[_0x2c37cc(0x12d)];_0x3bd75a++){_0x50ea9c[_0x3bd75a]===0x1&&this['_activeWeaponSlot']!==_0x3bd75a&&(_0xf3c204[_0x3bd75a]=null);}this[_0x2c37cc(0x9e0)]=_0x56e239;}}},Scene_Boot[_0x5bdce9(0x768)][_0x5bdce9(0x794)]=function(){const _0x3ab5ca=_0x5bdce9,_0x4750d8=VisuMZ[_0x3ab5ca(0x61c)][_0x3ab5ca(0x76e)]['Mechanics'];if(_0x4750d8[_0x3ab5ca(0x1ac)]>0x0&&$dataCommonEvents[_0x4750d8[_0x3ab5ca(0x1ac)]]){if(_0x3ab5ca(0x389)===_0x3ab5ca(0x389)){const _0x2fbd4d=$dataCommonEvents[_0x4750d8[_0x3ab5ca(0x1ac)]],_0x9c7731=_0x2fbd4d[_0x3ab5ca(0x3cd)][_0x3ab5ca(0x12d)]-0x2,_0x22c4a5=_0x2fbd4d[_0x3ab5ca(0x3cd)][_0x9c7731];if(_0x22c4a5&&_0x22c4a5[_0x3ab5ca(0xabe)]!==0xe6){const _0x139820={'code':0xe6,'indent':0x0,'parameters':[0x1]},_0x3e59a2=_0x2fbd4d[_0x3ab5ca(0x3cd)][_0x3ab5ca(0xa49)]();_0x2fbd4d[_0x3ab5ca(0x3cd)]['unshift'](_0x139820),_0x2fbd4d[_0x3ab5ca(0x3cd)][_0x3ab5ca(0x1d2)](_0x3e59a2);}}else this[_0x3ab5ca(0x214)](),this[_0x3ab5ca(0x9dd)](_0x3ab5ca(0x8a8));}},Scene_Boot[_0x5bdce9(0x768)]['process_VisuMZ_BattleCore_CommonEventKeys']=function(){const _0x5baa67=_0x5bdce9;VisuMZ[_0x5baa67(0x61c)]['CreateCommonEventKeys'](),VisuMZ[_0x5baa67(0x61c)][_0x5baa67(0x7fa)]($dataSkills),VisuMZ[_0x5baa67(0x61c)][_0x5baa67(0x7fa)]($dataItems);},VisuMZ[_0x5bdce9(0x61c)]['CreateCommonEventKeys']=function(){const _0x3bab18=_0x5bdce9;VisuMZ[_0x3bab18(0x61c)][_0x3bab18(0x85b)]={};for(const _0x7a340b of $dataCommonEvents){if(!_0x7a340b)continue;if(_0x7a340b[_0x3bab18(0x74e)][_0x3bab18(0x16b)](/\[(.*)\]/i)){if(_0x3bab18(0xb16)!==_0x3bab18(0x87c)){let _0xadee77=String(RegExp['$1'])[_0x3bab18(0x3a7)](/,/g,'')['toUpperCase']()['trim']();VisuMZ[_0x3bab18(0x61c)][_0x3bab18(0x85b)][_0xadee77]=_0x7a340b['id'];}else{if(_0x5cc3c4===_0x3bb1f8[_0x3bab18(0xad6)]())return![];}}}},VisuMZ['BattleCore']['BindCommonEventKeysForGroup']=function(_0x550d3e){for(const _0x843061 of _0x550d3e){if(!_0x843061)continue;VisuMZ['BattleCore']['BindCommonEventKeysForObj'](_0x843061);}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x180)]=function(_0x2cc4eb){const _0x51a6ed=_0x5bdce9;if(!_0x2cc4eb)return;if(!_0x2cc4eb['effects'])return;VisuMZ[_0x51a6ed(0x61c)][_0x51a6ed(0x85b)]=VisuMZ[_0x51a6ed(0x61c)][_0x51a6ed(0x85b)]||{};const _0x43bc44=/<COMMON EVENT (?:KEY|KEYS):[ ](.*)>/gi,_0x3a32bf=/<COMMON EVENT (?:KEY|KEYS)>\s*([\s\S]*)\s*<\/COMMON EVENT (?:KEY|KEYS)>/i;let _0xd66d45=[];const _0x1c41a9=_0x2cc4eb[_0x51a6ed(0x664)][_0x51a6ed(0x16b)](_0x43bc44);if(_0x1c41a9){if(_0x51a6ed(0x2e4)===_0x51a6ed(0xac9))!_0x5d94ed[_0x51a6ed(0x61c)][_0x51a6ed(0x76e)][_0x51a6ed(0x2c4)]['ShowMissEvasion']?this[_0x51a6ed(0x838)]('performMiss',_0x138171):_0x5b46cd[_0x51a6ed(0x61c)]['Window_BattleLog_displayMiss'][_0x51a6ed(0x4b1)](this,_0x4fe559);else{for(const _0x344029 of _0x1c41a9){_0x344029[_0x51a6ed(0x16b)](_0x43bc44);const _0xad5e65=String(RegExp['$1'])[_0x51a6ed(0x761)](',')[_0x51a6ed(0x782)](_0x449f7e=>String(_0x449f7e)[_0x51a6ed(0x673)]()[_0x51a6ed(0x92d)]());_0xd66d45=_0xd66d45[_0x51a6ed(0x331)](_0xad5e65);}!_0x2cc4eb[_0x51a6ed(0x664)][_0x51a6ed(0x16b)](/<CUSTOM ACTION SEQUENCE>/i)&&(_0x2cc4eb[_0x51a6ed(0x664)]+='<CUSTOM\x20ACTION\x20SEQUENCE>');;}}if(_0x2cc4eb['note'][_0x51a6ed(0x16b)](_0x3a32bf)){if(_0x51a6ed(0x4c4)!=='qVXbw')_0x4bfbd4[_0x51a6ed(0x61c)]['ParseStateNotetags']&&_0x35b086[_0x51a6ed(0x61c)][_0x51a6ed(0x3ae)][_0x51a6ed(0x4b1)](this,_0x505ff1),_0x226609[_0x51a6ed(0x61c)][_0x51a6ed(0x57e)](_0x2f3e01);else{const _0x1d2783=String(RegExp['$1'])[_0x51a6ed(0x761)](/[\r\n]+/)[_0x51a6ed(0x782)](_0x238c6e=>String(_0x238c6e)['toUpperCase']()[_0x51a6ed(0x92d)]());_0xd66d45=_0xd66d45['concat'](_0x1d2783);!_0x2cc4eb['note'][_0x51a6ed(0x16b)](/<CUSTOM ACTION SEQUENCE>/i)&&(_0x2cc4eb[_0x51a6ed(0x664)]+=_0x51a6ed(0xb38));;}}for(const _0x35bcd2 of _0xd66d45){if(_0x51a6ed(0x190)===_0x51a6ed(0x806))this[_0x51a6ed(0xb69)]();else{if(VisuMZ['BattleCore'][_0x51a6ed(0x85b)][_0x35bcd2]){const _0xf474ba=VisuMZ[_0x51a6ed(0x61c)]['_commonEventKey'][_0x35bcd2],_0x484576={'code':0x2c,'dataId':_0xf474ba,'value1':0x1,'value2':0x0};_0x2cc4eb[_0x51a6ed(0xa4a)][_0x51a6ed(0x838)](_0x484576);}}}},Scene_Boot[_0x5bdce9(0x768)]['process_VisuMZ_BattleCore_jsFunctions']=function(){const _0x521bae=_0x5bdce9,_0x5890b9=$dataSkills[_0x521bae(0x331)]($dataItems);for(const _0x23843f of _0x5890b9){if(_0x521bae(0x14d)===_0x521bae(0x506)){_0x43478d=_0x559060||0x1,_0x5e97ef--;const _0x162468=this[_0x521bae(0xabf)](),_0x26e41d=_0x162468[_0x3868ca]?_0x162468[_0x4cee66][_0x521bae(0xa36)]:0x0;return _0x3016db['attackMotions'][_0x26e41d];}else{if(!_0x23843f)continue;VisuMZ['BattleCore']['Parse_Notetags_Targets'](_0x23843f);}}},VisuMZ['BattleCore'][_0x5bdce9(0x853)]=VisuMZ[_0x5bdce9(0x853)],VisuMZ['ParseActorNotetags']=function(_0x4ff86e){const _0x2408b3=_0x5bdce9;VisuMZ[_0x2408b3(0x61c)][_0x2408b3(0x853)]&&VisuMZ[_0x2408b3(0x61c)][_0x2408b3(0x853)][_0x2408b3(0x4b1)](this,_0x4ff86e),VisuMZ[_0x2408b3(0x61c)][_0x2408b3(0x57e)](_0x4ff86e);},VisuMZ[_0x5bdce9(0x61c)]['ParseClassNotetags']=VisuMZ['ParseClassNotetags'],VisuMZ[_0x5bdce9(0x85e)]=function(_0x5e253a){const _0x442710=_0x5bdce9;VisuMZ[_0x442710(0x61c)][_0x442710(0x85e)]&&VisuMZ[_0x442710(0x61c)]['ParseClassNotetags']['call'](this,_0x5e253a),VisuMZ['BattleCore']['Parse_Notetags_TraitObjects'](_0x5e253a);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x323)]=VisuMZ['ParseSkillNotetags'],VisuMZ[_0x5bdce9(0x323)]=function(_0x44ad88){const _0x1c3f7e=_0x5bdce9;VisuMZ[_0x1c3f7e(0x61c)][_0x1c3f7e(0x323)]&&VisuMZ[_0x1c3f7e(0x61c)][_0x1c3f7e(0x323)][_0x1c3f7e(0x4b1)](this,_0x44ad88),VisuMZ['BattleCore'][_0x1c3f7e(0x601)](_0x44ad88),VisuMZ[_0x1c3f7e(0x61c)][_0x1c3f7e(0xa80)](_0x44ad88);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x2e1)]=VisuMZ[_0x5bdce9(0x2e1)],VisuMZ[_0x5bdce9(0x2e1)]=function(_0x545abe){const _0x2b8a16=_0x5bdce9;if(VisuMZ['BattleCore']['ParseItemNotetags']){if(_0x2b8a16(0x4a8)===_0x2b8a16(0x184)){if(this[_0x2b8a16(0x1a9)]<=0x0)return;if(!this[_0x2b8a16(0xa9b)])return;const _0x27e96d=this[_0x2b8a16(0x1a9)],_0x5d2a41=this[_0x2b8a16(0x7e3)],_0x115e50=this[_0x2b8a16(0xa01)],_0x2c620f=this[_0x2b8a16(0xa9b)];_0x4eb043[_0x2b8a16(0x9f2)]?(_0x2c620f['skew']['x']=this['applyEasing'](_0x2c620f['skew']['x'],this[_0x2b8a16(0x35e)],_0x27e96d,_0x5d2a41,_0x115e50),_0x2c620f['skew']['y']=this[_0x2b8a16(0x99a)](_0x2c620f['skew']['y'],this['_targetSkewY'],_0x27e96d,_0x5d2a41,_0x115e50)):(_0x2c620f[_0x2b8a16(0x696)]['x']=(_0x2c620f[_0x2b8a16(0x696)]['x']*(_0x27e96d-0x1)+this[_0x2b8a16(0x35e)])/_0x27e96d,_0x2c620f[_0x2b8a16(0x696)]['y']=(_0x2c620f[_0x2b8a16(0x696)]['y']*(_0x27e96d-0x1)+this['_targetSkewY'])/_0x27e96d);this[_0x2b8a16(0x1a9)]--;if(this[_0x2b8a16(0x1a9)]<=0x0)this[_0x2b8a16(0xa62)]();}else VisuMZ[_0x2b8a16(0x61c)][_0x2b8a16(0x2e1)][_0x2b8a16(0x4b1)](this,_0x545abe);}VisuMZ[_0x2b8a16(0x61c)][_0x2b8a16(0x601)](_0x545abe),VisuMZ['BattleCore']['Parse_Notetags_Targets'](_0x545abe);},VisuMZ[_0x5bdce9(0x61c)]['ParseWeaponNotetags']=VisuMZ[_0x5bdce9(0xa0b)],VisuMZ['ParseWeaponNotetags']=function(_0x2d0758){const _0x443b=_0x5bdce9;if(VisuMZ[_0x443b(0x61c)][_0x443b(0xa0b)]){if('kRhUI'!==_0x443b(0xa81))return this[_0x443b(0x3d8)]>0x0;else VisuMZ[_0x443b(0x61c)][_0x443b(0xa0b)][_0x443b(0x4b1)](this,_0x2d0758);}VisuMZ['BattleCore'][_0x443b(0x57e)](_0x2d0758);},VisuMZ['BattleCore'][_0x5bdce9(0xb36)]=VisuMZ[_0x5bdce9(0xb36)],VisuMZ[_0x5bdce9(0xb36)]=function(_0x9bdff3){const _0x335324=_0x5bdce9;if(VisuMZ[_0x335324(0x61c)]['ParseArmorNotetags']){if(_0x335324(0x619)!=='qbbYH'){_0x4f72d6[_0x335324(0x9f2)]&&this[_0x335324(0x271)]()&&this[_0x335324(0x47e)]();const _0x5635be=_0x48c637[_0x335324(0x2b7)](),_0x4e1ede=[];for(const _0x24b5f4 of _0x5635be){_0x4e1ede[_0x335324(0x838)](new _0x2e497(_0x24b5f4));}_0x4e1ede[_0x335324(0xadb)](this['compareEnemySprite']['bind'](this));for(const _0x3bfcc5 of _0x4e1ede){this[_0x335324(0x98a)][_0x335324(0xa8d)](_0x3bfcc5);}this['_enemySprites']=_0x4e1ede;}else VisuMZ[_0x335324(0x61c)][_0x335324(0xb36)]['call'](this,_0x9bdff3);}VisuMZ['BattleCore'][_0x335324(0x57e)](_0x9bdff3);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xb86)]=VisuMZ[_0x5bdce9(0xb86)],VisuMZ[_0x5bdce9(0xb86)]=function(_0x18c894){const _0x546ea8=_0x5bdce9;if(VisuMZ[_0x546ea8(0x61c)][_0x546ea8(0xb86)]){if(_0x546ea8(0x6c7)!=='qOlqe')VisuMZ[_0x546ea8(0x61c)][_0x546ea8(0xb86)][_0x546ea8(0x4b1)](this,_0x18c894);else return this[_0x546ea8(0x43f)][_0x546ea8(0xa49)]();}VisuMZ['BattleCore'][_0x546ea8(0x57e)](_0x18c894);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x3ae)]=VisuMZ[_0x5bdce9(0x3ae)],VisuMZ['ParseStateNotetags']=function(_0x211f2a){const _0x145c1d=_0x5bdce9;VisuMZ['BattleCore'][_0x145c1d(0x3ae)]&&VisuMZ[_0x145c1d(0x61c)]['ParseStateNotetags'][_0x145c1d(0x4b1)](this,_0x211f2a),VisuMZ[_0x145c1d(0x61c)]['Parse_Notetags_TraitObjects'](_0x211f2a);},VisuMZ['BattleCore']['Parse_Notetags_Action']=function(_0x3bddff){const _0x29026c=_0x5bdce9,_0x183626=[_0x29026c(0x386),_0x29026c(0x552),_0x29026c(0x412),'PostDamageJS',_0x29026c(0xb15),_0x29026c(0x80f),'PreEndActionJS','PostEndActionJS'];for(const _0x543a30 of _0x183626){VisuMZ[_0x29026c(0x61c)][_0x29026c(0x240)](_0x3bddff,_0x543a30);}const _0x5730af=_0x3bddff[_0x29026c(0x664)];if(_0x5730af[_0x29026c(0x16b)](/<ALWAYS CRITICAL/i)){if('ztghs'===_0x29026c(0x897)){const _0x208da4=_0x2eaa21[_0x29026c(0x61c)]['Settings'][_0x29026c(0x817)];_0x4cb05a!==_0x29026c(0x2d9)&&_0x208da4[_0x29026c(0x355)]&&_0x58be39[_0x29026c(0x61c)][_0x29026c(0x144)](_0x208da4[_0x29026c(0x355)])&&_0x493dd0[_0x29026c(0x32e)](_0x208da4[_0x29026c(0x355)]);const _0x3a6947=_0x29026c(0x307)[_0x29026c(0x824)](_0x104c67);_0x208da4[_0x3a6947]&&_0x4d00ba[_0x29026c(0x61c)][_0x29026c(0x144)](_0x208da4[_0x3a6947])&&_0x3c6b35[_0x29026c(0x32e)](_0x208da4[_0x3a6947]);}else _0x3bddff['damage'][_0x29026c(0x580)]=!![];}_0x5730af['match'](/<(?:REPEAT|REPEATS|REPEAT HITS):[ ](\d+)/i)&&(_0x3bddff[_0x29026c(0x1f8)]=Math[_0x29026c(0xa5e)](0x1,Number(RegExp['$1']))),_0x5730af[_0x29026c(0x16b)](/<TARGET:[ ](.*)>/i)&&(_0x29026c(0x3e8)===_0x29026c(0x766)?(_0x5149ab['_scene'][_0x29026c(0x25a)][_0x29026c(0x582)](),_0x2399a2[_0x29026c(0x73c)](_0x29026c(0x9bc))):_0x3bddff[_0x29026c(0xa9f)]=String(RegExp['$1'])[_0x29026c(0x673)]()[_0x29026c(0x92d)]());},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x57e)]=function(_0x429e5e){const _0x2ef787=_0x5bdce9,_0x34c8d0=[_0x2ef787(0x2f2),'PostApplyAsUserJS',_0x2ef787(0x366),_0x2ef787(0x5eb),_0x2ef787(0x3e3),_0x2ef787(0x1fa),_0x2ef787(0x39a),_0x2ef787(0xb5e),'PreStartActionJS',_0x2ef787(0x80f),_0x2ef787(0x791),_0x2ef787(0x773),'PreStartBattleJS',_0x2ef787(0x4f7),_0x2ef787(0x5b4),_0x2ef787(0x56b),_0x2ef787(0x973),_0x2ef787(0x9ef),_0x2ef787(0xa1b),_0x2ef787(0x662),_0x2ef787(0x5d3),_0x2ef787(0x17c),'PreEndTurnJS',_0x2ef787(0x7b9),_0x2ef787(0x68f),_0x2ef787(0x8a8)];for(const _0x58aa75 of _0x34c8d0){_0x2ef787(0x603)===_0x2ef787(0xb34)?this[_0x2ef787(0x198)](_0x45567a,'tp',_0x17c35e+0x88*0x2+(_0x55dea5[_0x2ef787(0x7d2)]||0x0),_0x35a2a2+(_0x585989[_0x2ef787(0x10c)]||0x0)):VisuMZ[_0x2ef787(0x61c)][_0x2ef787(0x240)](_0x429e5e,_0x58aa75);}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xa80)]=function(_0x27a333){const _0x540845=_0x5bdce9,_0x2edb9e=_0x27a333[_0x540845(0x664)];if(_0x2edb9e[_0x540845(0x16b)](/<JS TARGETS>\s*([\s\S]*)\s*<\/JS TARGETS>/i)){if(_0x540845(0x24a)===_0x540845(0x24a)){const _0x50e7f2=String(RegExp['$1']),_0x1668bb=VisuMZ[_0x540845(0x61c)][_0x540845(0xaa5)](_0x27a333,_0x540845(0x637));VisuMZ[_0x540845(0x61c)][_0x540845(0x5b0)](_0x50e7f2,_0x1668bb);}else{const _0x4c3de3=this[_0x540845(0x87a)](_0x3b8594),_0xb8858=new(_0x4c3de3?_0x558c1f:_0x3e394c)(),_0x36d037=this[_0x540845(0x320)](_0x597490);this[_0x540845(0x919)](_0x352d87[0x0])&&(_0x30bfd9=!_0x784084),_0xb8858['targetObjects']=_0x5658ed,_0xb8858[_0x540845(0x5aa)](_0x36d037,_0x11aaf9,_0xcdd9cf,_0x30c8ee),this[_0x540845(0x1a6)](_0xb8858);}}if(_0x2edb9e['match'](/<JS COMMAND (?:VISIBLE|SHOW|HIDE)>\s*([\s\S]*)\s*<\/JS COMMAND (?:VISIBLE|SHOW|HIDE)>/i)){if('FSwrI'!==_0x540845(0x4b5)){const _0x4e8983=String(RegExp['$1']),_0x129fc9=VisuMZ[_0x540845(0x61c)][_0x540845(0xaa5)](_0x27a333,_0x540845(0x229));VisuMZ[_0x540845(0x61c)]['createCommandVisibleJS'](_0x4e8983,_0x129fc9);}else this['performCollapse'](),this[_0x540845(0xb69)]();}},VisuMZ[_0x5bdce9(0x61c)]['JS']={},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x240)]=function(_0x22753f,_0x52c416){const _0x22c6e5=_0x5bdce9,_0x25765d=_0x22753f[_0x22c6e5(0x664)];if(_0x25765d[_0x22c6e5(0x16b)](VisuMZ[_0x22c6e5(0x61c)][_0x22c6e5(0x3a1)][_0x52c416])){const _0x4df152=RegExp['$1'],_0x29ce56='\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'[_0x22c6e5(0x824)](_0x4df152),_0x3a9f6d=VisuMZ['BattleCore'][_0x22c6e5(0xaa5)](_0x22753f,_0x52c416);VisuMZ[_0x22c6e5(0x61c)]['JS'][_0x3a9f6d]=new Function(_0x29ce56);}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xaa5)]=function(_0x181c58,_0x168f18){const _0x1bda9f=_0x5bdce9;let _0x299629='';if($dataActors['includes'](_0x181c58))_0x299629=_0x1bda9f(0x632)[_0x1bda9f(0x824)](_0x181c58['id'],_0x168f18);if($dataClasses[_0x1bda9f(0x8ed)](_0x181c58))_0x299629='Class-%1-%2'['format'](_0x181c58['id'],_0x168f18);if($dataSkills['includes'](_0x181c58))_0x299629='Skill-%1-%2'[_0x1bda9f(0x824)](_0x181c58['id'],_0x168f18);if($dataItems[_0x1bda9f(0x8ed)](_0x181c58))_0x299629=_0x1bda9f(0x4e6)[_0x1bda9f(0x824)](_0x181c58['id'],_0x168f18);if($dataWeapons[_0x1bda9f(0x8ed)](_0x181c58))_0x299629='Weapon-%1-%2'[_0x1bda9f(0x824)](_0x181c58['id'],_0x168f18);if($dataArmors[_0x1bda9f(0x8ed)](_0x181c58))_0x299629=_0x1bda9f(0x9c6)[_0x1bda9f(0x824)](_0x181c58['id'],_0x168f18);if($dataEnemies[_0x1bda9f(0x8ed)](_0x181c58))_0x299629='Enemy-%1-%2'[_0x1bda9f(0x824)](_0x181c58['id'],_0x168f18);if($dataStates['includes'](_0x181c58))_0x299629='State-%1-%2'[_0x1bda9f(0x824)](_0x181c58['id'],_0x168f18);return _0x299629;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x5b0)]=function(_0x427b5a,_0x198a60){const _0x38508a=_0x5bdce9,_0x1dafca='\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'[_0x38508a(0x824)](_0x427b5a);VisuMZ[_0x38508a(0x61c)]['JS'][_0x198a60]=new Function(_0x1dafca);},VisuMZ['BattleCore'][_0x5bdce9(0x415)]=function(_0x56ee81,_0x6392a9){const _0x42dbd2=_0x5bdce9,_0x1715ea=_0x42dbd2(0xa6a)['format'](_0x56ee81);VisuMZ[_0x42dbd2(0x61c)]['JS'][_0x6392a9]=new Function(_0x1715ea);},TextManager[_0x5bdce9(0xa63)]=VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x76e)][_0x5bdce9(0x71c)][_0x5bdce9(0x60e)],TextManager['autoBattleStart']=VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x76e)][_0x5bdce9(0xa97)][_0x5bdce9(0xb58)],TextManager['autoBattleStyle']=VisuMZ['BattleCore'][_0x5bdce9(0x76e)][_0x5bdce9(0xa97)]['StyleName'],TextManager[_0x5bdce9(0xa03)]=VisuMZ['BattleCore']['Settings'][_0x5bdce9(0x9d6)]['Name'],ColorManager[_0x5bdce9(0x658)]=function(_0x44dccc){const _0x585479=_0x5bdce9;return _0x44dccc=String(_0x44dccc),_0x44dccc[_0x585479(0x16b)](/#(.*)/i)?_0x585479(0x68c)[_0x585479(0x824)](String(RegExp['$1'])):_0x585479(0x79a)!==_0x585479(0x949)?this['textColor'](Number(_0x44dccc)):_0x30eb75[_0x585479(0xed)]()[_0x585479(0xb85)](_0x105793=>_0x105793!==_0x2abdcb);},DataManager[_0x5bdce9(0x294)]=function(_0x3dfc62){const _0x40db5b=_0x5bdce9;if(_0x3dfc62['note'][_0x40db5b(0x16b)](/<DAMAGE STYLE:[ ](.*)>/i)){const _0x471e49=String(RegExp['$1'])[_0x40db5b(0x673)]()[_0x40db5b(0x92d)]();if(_0x471e49===_0x40db5b(0x590))return _0x40db5b(0x590);if(VisuMZ['DamageStyles'][_0x471e49])return _0x471e49;}const _0xfb4e86=VisuMZ[_0x40db5b(0x61c)]['Settings'][_0x40db5b(0x40d)][_0x40db5b(0xa37)]['toUpperCase']()[_0x40db5b(0x92d)]();if(VisuMZ['DamageStyles'][_0xfb4e86])return _0xfb4e86;return _0x40db5b(0x590);},DataManager[_0x5bdce9(0x31e)]=function(_0x225fb5){const _0x516594=_0x5bdce9;_0x225fb5=_0x225fb5['toUpperCase']()['trim'](),this[_0x516594(0xa79)]=this['_stypeIDs']||{};if(this['_stypeIDs'][_0x225fb5])return this[_0x516594(0xa79)][_0x225fb5];for(let _0x22b423=0x1;_0x22b423<0x64;_0x22b423++){if(!$dataSystem[_0x516594(0xa39)][_0x22b423])continue;let _0x424752=$dataSystem[_0x516594(0xa39)][_0x22b423][_0x516594(0x673)]()[_0x516594(0x92d)]();_0x424752=_0x424752[_0x516594(0x3a7)](/\x1I\[(\d+)\]/gi,''),_0x424752=_0x424752[_0x516594(0x3a7)](/\\I\[(\d+)\]/gi,''),this[_0x516594(0xa79)][_0x424752]=_0x22b423;}return this[_0x516594(0xa79)][_0x225fb5]||0x0;},DataManager[_0x5bdce9(0x5f3)]=function(_0x5af5c0){const _0x43498f=_0x5bdce9;_0x5af5c0=_0x5af5c0[_0x43498f(0x673)]()['trim'](),this[_0x43498f(0x58d)]=this['_skillIDs']||{};if(this[_0x43498f(0x58d)][_0x5af5c0])return this[_0x43498f(0x58d)][_0x5af5c0];for(const _0x7988e9 of $dataSkills){if(_0x43498f(0x213)===_0x43498f(0x2c5)){_0x5dae48[_0x43498f(0x68e)](_0x111e6f);let _0x50856e=this[_0x43498f(0x211)]();return _0x29f323[_0x43498f(0xaa0)](-_0x50856e,_0x50856e);}else{if(!_0x7988e9)continue;this[_0x43498f(0x58d)][_0x7988e9[_0x43498f(0x74e)][_0x43498f(0x673)]()[_0x43498f(0x92d)]()]=_0x7988e9['id'];}}return this['_skillIDs'][_0x5af5c0]||0x0;},DataManager['getEnemyIdWithName']=function(_0x4b3696){const _0x44de71=_0x5bdce9;_0x4b3696=_0x4b3696[_0x44de71(0x673)]()['trim'](),this[_0x44de71(0x3dc)]=this[_0x44de71(0x3dc)]||{};if(this[_0x44de71(0x3dc)][_0x4b3696])return this[_0x44de71(0x3dc)][_0x4b3696];for(const _0x351ce8 of $dataEnemies){if(!_0x351ce8)continue;this[_0x44de71(0x3dc)][_0x351ce8[_0x44de71(0x74e)]['toUpperCase']()[_0x44de71(0x92d)]()]=_0x351ce8['id'];}return this[_0x44de71(0x3dc)][_0x4b3696]||0x0;},DataManager[_0x5bdce9(0x914)]=function(_0x28442f){const _0x565c0f=_0x5bdce9;_0x28442f=_0x28442f[_0x565c0f(0x673)]()['trim'](),this[_0x565c0f(0xa96)]=this[_0x565c0f(0xa96)]||{};if(this[_0x565c0f(0xa96)][_0x28442f])return this[_0x565c0f(0xa96)][_0x28442f];for(let _0x1d888e=0x1;_0x1d888e<0x64;_0x1d888e++){if(!$dataSystem[_0x565c0f(0x6a9)][_0x1d888e])continue;let _0x20dc1e=$dataSystem[_0x565c0f(0x6a9)][_0x1d888e][_0x565c0f(0x673)]()[_0x565c0f(0x92d)]();_0x20dc1e=_0x20dc1e[_0x565c0f(0x3a7)](/\x1I\[(\d+)\]/gi,''),_0x20dc1e=_0x20dc1e[_0x565c0f(0x3a7)](/\\I\[(\d+)\]/gi,''),this[_0x565c0f(0xa96)][_0x20dc1e]=_0x1d888e;}return this[_0x565c0f(0xa96)]['BARE\x20HANDS']=0x0,this['_wtypeIDs'][_0x28442f]||0x0;},DataManager[_0x5bdce9(0x416)]=function(_0x43c0f0){const _0x356dc4=_0x5bdce9,_0x153504=_0x356dc4(0x5a6);let _0x29a118=_0x43c0f0[_0x356dc4(0x9bd)],_0x2be855=_0x43c0f0['name'];const _0x2c6815=_0x43c0f0[_0x356dc4(0x664)];return _0x2c6815['match'](/<DISPLAY ICON: (\d+)>/i)&&(_0x29a118=Number(RegExp['$1'])),_0x2c6815[_0x356dc4(0x16b)](/<DISPLAY TEXT: (.*)>/i)&&(_0x2be855=String(RegExp['$1'])),_0x153504[_0x356dc4(0x824)](_0x29a118,_0x2be855);},DataManager[_0x5bdce9(0x70f)]=function(_0x1e9682){const _0x3d274d=_0x5bdce9;if(_0x1e9682[_0x3d274d(0x664)][_0x3d274d(0x16b)](/<COMMAND TEXT: (.*)>/i)){if(_0x3d274d(0xaf8)===_0x3d274d(0x3a4)){const _0x5b9de2=_0x2b4c50['item']();this[_0x3d274d(0x563)](_0x30df60,_0x331555,_0x1a98d7),this[_0x3d274d(0x2ba)](_0x7abcb2,_0x29768f,_0x5f2952),this[_0x3d274d(0x8c7)](_0x1f42ff,_0x14acfa,_0x33e3bf);}else return String(RegExp['$1']);}else{if(_0x3d274d(0x9ff)!==_0x3d274d(0x9ff))_0x3533ec--;else return _0x1e9682[_0x3d274d(0x74e)];}},DataManager['battleCommandIcon']=function(_0x392fc1){const _0x5c97d0=_0x5bdce9;if(_0x392fc1[_0x5c97d0(0x664)]['match'](/<COMMAND ICON: (\d+)>/i))return Number(RegExp['$1']);else{if('csfPa'!=='csfPa'){if(!_0x47e9c4['isSceneBattle']())return;const _0x460138=_0x4d14d8[_0x5c97d0(0x5c4)];_0x460138[_0x5c97d0(0x6ea)]();}else return _0x392fc1[_0x5c97d0(0x9bd)];}},DataManager['swapEnemyIDs']=function(_0x2d1fd6){const _0x4ad3b4=_0x5bdce9,_0x407125=$dataEnemies[_0x2d1fd6];if(_0x407125){if(_0x407125[_0x4ad3b4(0x664)]['match'](/<SWAP ENEMIES>\s*([\s\S]*)\s*<\/SWAP ENEMIES>/i)){if(_0x4ad3b4(0x910)===_0x4ad3b4(0x910)){const _0x2f022d=String(RegExp['$1'])[_0x4ad3b4(0x761)](/[\r\n]+/)[_0x4ad3b4(0x671)](''),_0x2fd58a=this[_0x4ad3b4(0x169)](_0x2f022d);_0x2d1fd6=this[_0x4ad3b4(0x217)](_0x2fd58a)||_0x2d1fd6,_0x2d1fd6=DataManager[_0x4ad3b4(0xaee)](_0x2d1fd6);}else _0x5684d9[_0x4ad3b4(0x239)]=![];}}return _0x2d1fd6;},DataManager[_0x5bdce9(0x169)]=function(_0xcbe285){const _0x4cff9f=_0x5bdce9;let _0x27f385=0x0;const _0x37028d={};for(const _0x377f58 of _0xcbe285){if(_0x377f58[_0x4cff9f(0x16b)](/(.*):[ ](\d+)/i)){const _0x5095be=String(RegExp['$1'])['trim'](),_0x1707c8=Number(RegExp['$2']);_0x37028d[_0x5095be]=_0x1707c8,_0x27f385+=_0x1707c8;}else{if(_0x377f58[_0x4cff9f(0x16b)](/(.*):[ ](\d+\.?\d+)/i)){if(_0x4cff9f(0x11a)!==_0x4cff9f(0x11a))return this['svBattlerData']()[_0x4cff9f(0x999)];else{const _0xe98b8d=String(RegExp['$1'])[_0x4cff9f(0x92d)](),_0x15770e=Number(RegExp['$2']);_0x37028d[_0xe98b8d]=_0x15770e,_0x27f385+=_0x15770e;}}else{if(_0x377f58!==''){if(_0x4cff9f(0x4ff)===_0x4cff9f(0x516)){this[_0x4cff9f(0x730)][_0x4cff9f(0x671)](_0x44ed20);if(_0x36a839===this[_0x4cff9f(0xb40)])return;const _0x45f3ee=_0x2c0515[_0x4cff9f(0x87e)](_0x93e975[_0x4cff9f(0x76b)]());this[_0x4cff9f(0x2cd)][_0x4cff9f(0x838)]([_0x5348df,_0x45f3ee]);}else _0x37028d[_0x377f58]=0x1,_0x27f385++;}}}}if(_0x27f385<=0x0)return'';let _0x5565a7=Math['random']()*_0x27f385;for(const _0x5745c4 in _0x37028d){if('WuBbX'!==_0x4cff9f(0x2e7)){_0x5565a7-=_0x37028d[_0x5745c4];if(_0x5565a7<=0x0)return _0x5745c4;}else this['visible']=_0x3f7a8a[_0x4cff9f(0xb63)];}return'';},DataManager[_0x5bdce9(0x91f)]=function(_0x8913a){const _0xa087c2=_0x5bdce9;if(!_0x8913a)return![];if(!VisuMZ['BattleCore'][_0xa087c2(0x76e)][_0xa087c2(0x964)][_0xa087c2(0x6eb)])return![];if(_0x8913a[_0xa087c2(0x664)]['match'](/<AUTO ACTION SEQUENCE>/i))return![];if(_0x8913a[_0xa087c2(0x664)]['match'](/<COMMON (?:EVENT|EVENTS):[ ](.*)>/gi))return!![];for(const _0x1253e6 of _0x8913a[_0xa087c2(0xa4a)]){if(!_0x1253e6)continue;if(_0x1253e6[_0xa087c2(0xabe)]===Game_Action[_0xa087c2(0x358)])return!![];}return![];},DataManager[_0x5bdce9(0x649)]=function(_0x16e4b5){const _0x15ba97=_0x5bdce9,_0x176f4f=$dataTroops[_0x16e4b5];if(!_0x176f4f)return'';let _0x3fc9bc='';_0x3fc9bc+=_0x176f4f[_0x15ba97(0x74e)];for(const _0x7545a6 of _0x176f4f[_0x15ba97(0x4b9)]){if(_0x15ba97(0x82a)!==_0x15ba97(0x82a))this[_0x15ba97(0xb2d)]();else for(const _0x342740 of _0x7545a6['list']){[0x6c,0x198][_0x15ba97(0x8ed)](_0x342740['code'])&&(_0x3fc9bc+='\x0a',_0x3fc9bc+=_0x342740[_0x15ba97(0x2f6)][0x0]);}}return _0x3fc9bc;},ConfigManager[_0x5bdce9(0x40e)]=ConfigManager[_0x5bdce9(0x40e)]??![],ConfigManager[_0x5bdce9(0x25c)]=ConfigManager[_0x5bdce9(0x25c)]??![],ConfigManager[_0x5bdce9(0xa03)]=ConfigManager[_0x5bdce9(0xa03)]??!![],VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x648)]=ConfigManager['makeData'],ConfigManager[_0x5bdce9(0x162)]=function(){const _0x28b374=_0x5bdce9,_0xeb7bf=VisuMZ[_0x28b374(0x61c)][_0x28b374(0x648)]['call'](this);return _0xeb7bf['autoBattleAtStart']=this[_0x28b374(0x40e)],_0xeb7bf[_0x28b374(0x25c)]=this['autoBattleUseSkills'],_0xeb7bf[_0x28b374(0xa03)]=this[_0x28b374(0xa03)],_0xeb7bf;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x85c)]=ConfigManager[_0x5bdce9(0x4e3)],ConfigManager[_0x5bdce9(0x4e3)]=function(_0xc5940f){const _0x409b43=_0x5bdce9;VisuMZ[_0x409b43(0x61c)]['ConfigManager_applyData']['call'](this,_0xc5940f);if(_0x409b43(0x40e)in _0xc5940f)_0x409b43(0x15c)==='UEQZd'?this[_0x409b43(0x40e)]=_0xc5940f[_0x409b43(0x40e)]:this[_0x409b43(0x329)](_0x4acaa2,_0x35f8b7,_0x1de53e);else{if('DpFOa'!==_0x409b43(0x468))this['autoBattleAtStart']=![];else{if(!this['_battler'][_0x409b43(0x3e7)]())return;const _0x38792a=_0x47fe33['BattleCore']['Settings'][_0x409b43(0x40d)],_0x4dfff3=new _0x51a2a5();_0x4dfff3[_0x409b43(0x388)]=_0x38792a[_0x409b43(0x638)],this[_0x409b43(0x6fb)](_0x4dfff3),_0x4dfff3['setupTextPopup'](_0x337ac4,_0x10d694),this[_0x409b43(0x50b)](_0x4dfff3);}}_0x409b43(0x25c)in _0xc5940f?this['autoBattleUseSkills']=_0xc5940f['autoBattleUseSkills']:this['autoBattleUseSkills']=![];if(_0x409b43(0xa03)in _0xc5940f)this['visualHpGauge']=_0xc5940f[_0x409b43(0xa03)];else{if(_0x409b43(0x67a)!=='zIKaP')return _0xaba80c['Formula'][_0x409b43(0x4b1)](this,_0x25d0ae);else this[_0x409b43(0xa03)]=!![];}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x71e)]=BattleManager[_0x5bdce9(0x3b5)],BattleManager[_0x5bdce9(0x3b5)]=function(){const _0x1e086=_0x5bdce9;VisuMZ['BattleCore'][_0x1e086(0x71e)][_0x1e086(0x4b1)](this),this[_0x1e086(0x2cd)]=[];},BattleManager[_0x5bdce9(0x4eb)]=function(){const _0x4ec126=_0x5bdce9;if(!SceneManager['isSceneBattle']())return;const _0x5a0f3f=SceneManager[_0x4ec126(0x352)][_0x4ec126(0x3e2)];if(_0x5a0f3f)_0x5a0f3f[_0x4ec126(0xb13)]();},BattleManager[_0x5bdce9(0x668)]=function(){const _0x36f073=_0x5bdce9;if(BattleManager[_0x36f073(0x985)]())return _0x36f073(0x244);return _0x36f073(0x5c0);},BattleManager[_0x5bdce9(0x566)]=function(_0x3641dd){const _0x238b09=_0x5bdce9;return _0x3641dd=_0x3641dd['toUpperCase']()['trim'](),this[_0x238b09(0x668)]()===_0x3641dd;},BattleManager[_0x5bdce9(0x441)]=function(){const _0x4d8385=_0x5bdce9;return this[_0x4d8385(0x566)](_0x4d8385(0x5c0));},BattleManager[_0x5bdce9(0x581)]=function(){return this['isDTB']();},BattleManager[_0x5bdce9(0x63b)]=function(){const _0xc82018=_0x5bdce9;return!this[_0xc82018(0x581)]();},BattleManager[_0x5bdce9(0x749)]=function(){const _0x5680ed=_0x5bdce9;return!this[_0x5680ed(0x581)]()&&!this[_0x5680ed(0x63b)]();},BattleManager['processBattleCoreJS']=function(_0xe99503){const _0xa8579a=_0x5bdce9;$gameParty[_0xa8579a(0x9dd)](_0xe99503),$gameTroop[_0xa8579a(0x9dd)](_0xe99503);},VisuMZ[_0x5bdce9(0x61c)]['BattleManager_startBattle']=BattleManager[_0x5bdce9(0x828)],BattleManager[_0x5bdce9(0x828)]=function(){const _0x3a2db0=_0x5bdce9;this[_0x3a2db0(0x28c)]=![],this['_autoBattle']=ConfigManager['autoBattleAtStart'],this[_0x3a2db0(0x9dd)]('PreStartBattleJS'),VisuMZ[_0x3a2db0(0x61c)][_0x3a2db0(0x79c)]['call'](this),this[_0x3a2db0(0x9dd)](_0x3a2db0(0x4f7));},BattleManager[_0x5bdce9(0x8c0)]=function(_0x3df5e3){const _0x3ddac4=_0x5bdce9,_0x248c81=VisuMZ[_0x3ddac4(0x61c)][_0x3ddac4(0x76e)]['Mechanics'];_0x3df5e3!==_0x3ddac4(0x2d9)&&_0x248c81[_0x3ddac4(0x355)]&&VisuMZ[_0x3ddac4(0x61c)][_0x3ddac4(0x144)](_0x248c81[_0x3ddac4(0x355)])&&(_0x3ddac4(0x267)===_0x3ddac4(0xb05)?_0x2ab7d9[_0x3ddac4(0x768)]['drawSkillCost'][_0x3ddac4(0x4b1)](this,_0x439937,_0x377b12,_0x270d63,_0x3b90a5):$gameTemp[_0x3ddac4(0x32e)](_0x248c81['BattleEndEvent']));const _0xdee4a3='%1Event'['format'](_0x3df5e3);if(_0x248c81[_0xdee4a3]&&VisuMZ['BattleCore'][_0x3ddac4(0x144)](_0x248c81[_0xdee4a3])){if(_0x3ddac4(0x864)!=='VhqIf'){this[_0x3ddac4(0x47b)]=_0x397c5a,this[_0x3ddac4(0x6f5)]='';const _0x3aad67=new _0x1e55ca(0x0,0x0,_0x127c2a[_0x3ddac4(0x7fb)],this['lineHeight']()*0x4);_0x1fb4d7[_0x3ddac4(0x768)]['initialize'][_0x3ddac4(0x4b1)](this,_0x3aad67),this[_0x3ddac4(0xa69)](0x2),this[_0x3ddac4(0xb29)]=0x0;}else $gameTemp[_0x3ddac4(0x32e)](_0x248c81[_0xdee4a3]);}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x957)]=BattleManager[_0x5bdce9(0x8cb)],BattleManager[_0x5bdce9(0x8cb)]=function(){const _0xf4dcfc=_0x5bdce9;if(this[_0xf4dcfc(0x788)]==='turn'){if($gameTemp['isCommonEventReserved']())return![];}return VisuMZ[_0xf4dcfc(0x61c)]['BattleManager_checkBattleEnd'][_0xf4dcfc(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)]['BattleManager_processVictory']=BattleManager[_0x5bdce9(0x75a)],BattleManager[_0x5bdce9(0x75a)]=function(){const _0x36c9f8=_0x5bdce9;this[_0x36c9f8(0x9dd)](_0x36c9f8(0x973)),VisuMZ[_0x36c9f8(0x61c)][_0x36c9f8(0x485)][_0x36c9f8(0x4b1)](this),this[_0x36c9f8(0x8c0)](_0x36c9f8(0x42f));},VisuMZ['BattleCore']['BattleManager_processDefeat']=BattleManager[_0x5bdce9(0xa10)],BattleManager[_0x5bdce9(0xa10)]=function(){const _0x4f2c33=_0x5bdce9;this[_0x4f2c33(0x9dd)](_0x4f2c33(0x9ef)),VisuMZ[_0x4f2c33(0x61c)][_0x4f2c33(0x417)][_0x4f2c33(0x4b1)](this),this[_0x4f2c33(0x8c0)](_0x4f2c33(0x9e7));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x9a8)]=BattleManager['endBattle'],BattleManager[_0x5bdce9(0x1ff)]=function(_0xebc960){const _0x2da035=_0x5bdce9;this[_0x2da035(0x28c)]=!![],this[_0x2da035(0xb63)]=![],this['processBattleCoreJS'](_0x2da035(0x5b4)),VisuMZ['BattleCore'][_0x2da035(0x9a8)][_0x2da035(0x4b1)](this,_0xebc960),this[_0x2da035(0x9dd)](_0x2da035(0x56b));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x969)]=BattleManager['startTurn'],BattleManager[_0x5bdce9(0x61b)]=function(){const _0x341cf5=_0x5bdce9;if(this[_0x341cf5(0x581)]())this[_0x341cf5(0x9dd)](_0x341cf5(0x5d3));VisuMZ['BattleCore'][_0x341cf5(0x969)][_0x341cf5(0x4b1)](this);if(this[_0x341cf5(0x581)]())this[_0x341cf5(0x9dd)](_0x341cf5(0x17c));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x33c)]=BattleManager['startAction'],BattleManager[_0x5bdce9(0x63f)]=function(){const _0x1c2ebe=_0x5bdce9,_0x84574a=this[_0x1c2ebe(0xb40)][_0x1c2ebe(0x76b)](),_0x121067=this[_0x1c2ebe(0xb40)];if(_0x84574a&&_0x84574a['subject']()===_0x121067){if(_0x1c2ebe(0x78d)!=='GfYKA'){const _0x50c9db=_0x7c155c[0x0]['format'](_0x3b21f8[0x0]),_0x29ddee=_0x46f660[0x1][_0x1c2ebe(0x824)](_0x4c5284[0x1]),_0x4c7494=new _0xc890dd(_0x23abbc[_0x1c2ebe(0x824)](_0x29ddee),'i');_0x26ff9f[_0x50c9db]=_0x4c7494;}else _0x84574a[_0x1c2ebe(0x335)](_0x1c2ebe(0xb15));}VisuMZ[_0x1c2ebe(0x61c)]['BattleManager_startAction'][_0x1c2ebe(0x4b1)](this),_0x84574a&&_0x84574a[_0x1c2ebe(0xb83)]()===_0x121067&&(_0x1c2ebe(0x141)==='fYhIv'?(_0x5f0e48[_0x1c2ebe(0x61c)]['ParseEnemyNotetags']&&_0x34a1a5[_0x1c2ebe(0x61c)]['ParseEnemyNotetags']['call'](this,_0x4a6392),_0x2e9e70[_0x1c2ebe(0x61c)]['Parse_Notetags_TraitObjects'](_0x3dba2a)):_0x84574a[_0x1c2ebe(0x335)](_0x1c2ebe(0x80f)));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xaaa)]=BattleManager[_0x5bdce9(0x3b1)],BattleManager[_0x5bdce9(0x3b1)]=function(){const _0xb53cf7=_0x5bdce9,_0x5e26ce=this[_0xb53cf7(0x5ae)],_0x4ad572=this[_0xb53cf7(0xb40)];_0x5e26ce&&_0x5e26ce!==this[_0xb53cf7(0x5f2)]&&_0x5e26ce['subject']()===_0x4ad572&&_0x5e26ce['actionBattleCoreJS'](_0xb53cf7(0x791)),VisuMZ[_0xb53cf7(0x61c)][_0xb53cf7(0xaaa)][_0xb53cf7(0x4b1)](this),_0x5e26ce&&_0x5e26ce!==this['_lastAction']&&_0x5e26ce['subject']()===_0x4ad572&&_0x5e26ce[_0xb53cf7(0x335)]('PostEndActionJS'),this[_0xb53cf7(0x3fc)](this[_0xb53cf7(0x8b1)]()),this['_lastAction']=this[_0xb53cf7(0x5ae)];},BattleManager[_0x5bdce9(0x3fc)]=function(_0xcadb18){const _0x567b24=_0x5bdce9;for(const _0xe88d17 of _0xcadb18){if('WiPcp'!=='QiTWz'){if(!_0xe88d17)continue;if(!_0xe88d17[_0x567b24(0xb0d)]())continue;_0xe88d17[_0x567b24(0xb0d)]()['refreshMotion']();}else{const _0x31e4df=this['isAlive']();this['_immortal']=![],_0x31e4df&&this[_0x567b24(0xb87)]&&this[_0x567b24(0x31b)](),this[_0x567b24(0xb87)]=![],this[_0x567b24(0xf7)](),this['isDead']()&&_0x31e4df&&(this['performCollapse'](),this[_0x567b24(0xb69)]());}}},BattleManager[_0x5bdce9(0xa85)]=function(){const _0x23e430=_0x5bdce9;!this[_0x23e430(0x5c4)][_0x23e430(0x585)]()&&(_0x23e430(0xb7e)===_0x23e430(0xb7e)?this[_0x23e430(0x3b1)]():this['isQueueOptionsMenu']()?(this['_callSceneOptions']=!![],this[_0x23e430(0x5c4)][_0x23e430(0x838)](_0x23e430(0xa19),_0x4e4254[_0x23e430(0x61c)][_0x23e430(0x76e)][_0x23e430(0x71c)][_0x23e430(0x6ff)])):this[_0x23e430(0x745)]());},Game_Battler[_0x5bdce9(0x768)]['onAllActionsEnd']=function(){const _0x55be99=_0x5bdce9;this[_0x55be99(0xb45)]();if(Imported[_0x55be99(0x47a)]){const _0x770ae2=VisuMZ[_0x55be99(0x4e1)]['Settings'][_0x55be99(0x8d2)];_0x770ae2&&_0x770ae2[_0x55be99(0x6e4)]===![]&&(_0x55be99(0xa3b)===_0x55be99(0xa3b)?this[_0x55be99(0x8ab)](0x1):_0x204609['push'](new _0x8da723(_0x52d2e0)));}else{if('cnZoN'==='cnZoN')this[_0x55be99(0x8ab)](0x1);else return _0x12853f[_0x55be99(0x7e0)]['Settings'][_0x55be99(0x4c6)][_0x55be99(0xa3a)];}this[_0x55be99(0x3e4)]();},BattleManager[_0x5bdce9(0x9ae)]=function(){const _0x485bb9=_0x5bdce9;this[_0x485bb9(0x780)]=VisuMZ['BattleCore'][_0x485bb9(0x76e)]['Mechanics'][_0x485bb9(0x3b7)][_0x485bb9(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x952)]=BattleManager[_0x5bdce9(0x544)],BattleManager[_0x5bdce9(0x544)]=function(){const _0x381478=_0x5bdce9;this[_0x381478(0x9dd)](_0x381478(0xa1b)),BattleManager[_0x381478(0x25a)][_0x381478(0x836)](),VisuMZ[_0x381478(0x61c)][_0x381478(0x952)]['call'](this),this[_0x381478(0x8c0)](_0x381478(0x626));},VisuMZ[_0x5bdce9(0x61c)]['BattleManager_onEscapeFailure']=BattleManager[_0x5bdce9(0x577)],BattleManager[_0x5bdce9(0x577)]=function(){const _0x15c105=_0x5bdce9;this['processBattleCoreJS'](_0x15c105(0x662));const _0x559133=this['_escapeRatio'];VisuMZ['BattleCore']['BattleManager_onEscapeFailure'][_0x15c105(0x4b1)](this),this[_0x15c105(0x780)]=_0x559133+VisuMZ['BattleCore']['Settings'][_0x15c105(0x817)][_0x15c105(0xaf1)][_0x15c105(0x4b1)](this),this[_0x15c105(0x8c0)](_0x15c105(0x2d9));},BattleManager[_0x5bdce9(0x46f)]=function(){const _0x23ee27=_0x5bdce9;let _0x37c14d=![];if(this[_0x23ee27(0x6a3)]()){if(_0x23ee27(0x7a7)==='rJKOR'){const _0x184d18=this[_0x23ee27(0x301)];_0x184d18[_0x23ee27(0xb32)]['clear']();const _0x330ecc=this[_0x23ee27(0x49b)](this[_0x23ee27(0x1fd)]());if(_0x330ecc===_0x23ee27(0x98e)&&this[_0x23ee27(0x95a)]()>0x0){const _0x52a8e4=this[_0x23ee27(0x101)](this['index']());let _0x524e44=this[_0x23ee27(0x3fa)](this[_0x23ee27(0x1fd)]());_0x524e44=_0x524e44[_0x23ee27(0x3a7)](/\\I\[(\d+)\]/gi,''),_0x184d18[_0x23ee27(0x689)](),this[_0x23ee27(0x3a0)](_0x524e44,_0x52a8e4),this['commandNameWindowDrawText'](_0x524e44,_0x52a8e4),this[_0x23ee27(0x980)](_0x524e44,_0x52a8e4);}}else for(const _0x32e74e of $gameTroop[_0x23ee27(0x655)]()){this['_logWindow'][_0x23ee27(0x838)]('addText',TextManager[_0x23ee27(0x6ab)][_0x23ee27(0x824)](_0x32e74e)),this['_logWindow'][_0x23ee27(0x838)](_0x23ee27(0x156)),_0x37c14d=!![];}}if(this['_preemptive']){if('acXLG'===_0x23ee27(0x629)){const _0xebfaf=this['getAttackMotion']();return _0xebfaf?_0xebfaf[_0x23ee27(0x1dc)]:0x0;}else this['_logWindow'][_0x23ee27(0x838)](_0x23ee27(0xa19),TextManager[_0x23ee27(0x529)]['format']($gameParty['name']())),this['_logWindow']['push'](_0x23ee27(0x156));}else this[_0x23ee27(0x10f)]&&(this['_logWindow'][_0x23ee27(0x838)]('addText',TextManager[_0x23ee27(0x907)][_0x23ee27(0x824)]($gameParty[_0x23ee27(0x74e)]())),this[_0x23ee27(0x5c4)][_0x23ee27(0x838)]('wait'));_0x37c14d&&(this[_0x23ee27(0x5c4)][_0x23ee27(0x838)]('wait'),this['_logWindow'][_0x23ee27(0x838)]('clear')),this[_0x23ee27(0x985)]()&&this[_0x23ee27(0x4fe)]()&&(_0x23ee27(0xf0)!==_0x23ee27(0xf0)?(_0x5706bb[_0x23ee27(0xb63)]=!![],_0x36c3ec[_0x23ee27(0xa95)](),this[_0x23ee27(0x427)](),_0x3523aa[_0x23ee27(0x985)]()&&(_0x4727e[_0x23ee27(0x75c)]=![])):this[_0x23ee27(0x9b2)]=![]);},BattleManager[_0x5bdce9(0x6a3)]=function(){const _0x2b40de=_0x5bdce9;if(BattleManager['_autoBattle'])return![];return VisuMZ[_0x2b40de(0x61c)][_0x2b40de(0x76e)][_0x2b40de(0x14a)][_0x2b40de(0x4d0)];},VisuMZ[_0x5bdce9(0x61c)]['BattleManager_startInput']=BattleManager[_0x5bdce9(0x6dd)],BattleManager[_0x5bdce9(0x6dd)]=function(){const _0x161619=_0x5bdce9;VisuMZ[_0x161619(0x61c)][_0x161619(0x1f1)][_0x161619(0x4b1)](this),this['isDTB']()&&this[_0x161619(0x4fe)]()&&!this[_0x161619(0x10f)]&&$gameParty[_0x161619(0xe3)]()&&this[_0x161619(0x427)]();},BattleManager['isSkipPartyCommandWindow']=function(){const _0xecfabc=_0x5bdce9;return VisuMZ[_0xecfabc(0x61c)][_0xecfabc(0x76e)][_0xecfabc(0x71c)]['SkipPartyCmd'];},BattleManager[_0x5bdce9(0x5e8)]=function(){const _0x238d38=_0x5bdce9;this[_0x238d38(0x8fc)]()&&this[_0x238d38(0x427)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x533)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x46c)],Scene_Battle['prototype']['startActorCommandSelection']=function(){const _0x16f9ee=_0x5bdce9;VisuMZ[_0x16f9ee(0x61c)]['Scene_Battle_startActorCommandSelection'][_0x16f9ee(0x4b1)](this),BattleManager[_0x16f9ee(0x985)]()&&BattleManager['_tpbNeedsPartyCommand']&&(BattleManager[_0x16f9ee(0x9b2)]=![],this['actorCommandCancelTPB']());},BattleManager['invokeMagicReflection']=function(_0x111cf1,_0x9042fd){const _0x369c4c=_0x5bdce9;this[_0x369c4c(0x5ae)][_0x369c4c(0x1c9)]=_0x9042fd,this[_0x369c4c(0x5c4)][_0x369c4c(0x970)](_0x9042fd),this[_0x369c4c(0x5c4)]['displayReflectionPlayBack'](_0x111cf1,this[_0x369c4c(0x5ae)]),this[_0x369c4c(0x5ae)][_0x369c4c(0x76c)](_0x111cf1),this[_0x369c4c(0x5c4)][_0x369c4c(0x594)](_0x111cf1,_0x111cf1);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x64f)]=BattleManager[_0x5bdce9(0x872)],BattleManager['makeActionOrders']=function(){const _0x5f242d=_0x5bdce9;VisuMZ[_0x5f242d(0x61c)][_0x5f242d(0x64f)][_0x5f242d(0x4b1)](this),this['_actionBattlers']=this[_0x5f242d(0x730)][_0x5f242d(0xb85)](_0x45eb52=>_0x45eb52&&_0x45eb52[_0x5f242d(0x6ed)]());},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x469)]=BattleManager[_0x5bdce9(0x219)],BattleManager[_0x5bdce9(0x219)]=function(_0x27f4fd){const _0x418bc=_0x5bdce9;if(this['_phase']==='custom')this[_0x418bc(0x711)]();else this['_phase']===_0x418bc(0x896)?this[_0x418bc(0x1bb)]():VisuMZ[_0x418bc(0x61c)][_0x418bc(0x469)][_0x418bc(0x4b1)](this,_0x27f4fd);},BattleManager['prepareCustomActionSequence']=function(){const _0x61d37f=_0x5bdce9;this[_0x61d37f(0x8be)]=this[_0x61d37f(0x89a)][_0x61d37f(0x2ca)](0x0),this['_targetIndex']=0x0,this[_0x61d37f(0xaa8)]=this[_0x61d37f(0x8be)][0x0]||null,this[_0x61d37f(0x788)]=_0x61d37f(0x8a6);},BattleManager['updateCustomActionSequence']=function(){const _0x31393e=_0x5bdce9;if(!this[_0x31393e(0x886)]()&&!this[_0x31393e(0x5c4)][_0x31393e(0x585)]()){if(_0x31393e(0x785)!==_0x31393e(0x785))return _0x4d513a[_0x31393e(0x61c)][_0x31393e(0x76e)][_0x31393e(0x14a)][_0x31393e(0xacf)];else this['_phase']='action';}},BattleManager[_0x5bdce9(0x896)]=function(_0x40b62c){const _0x462bc7=_0x5bdce9;this[_0x462bc7(0x730)][_0x462bc7(0x671)](_0x40b62c);if(_0x40b62c===this[_0x462bc7(0xb40)])return;const _0x560b72=JsonEx['makeDeepCopy'](_0x40b62c['currentAction']());this[_0x462bc7(0x2cd)][_0x462bc7(0x838)]([_0x40b62c,_0x560b72]);},BattleManager[_0x5bdce9(0x405)]=function(){},BattleManager[_0x5bdce9(0x94c)]=function(){const _0x3204d0=_0x5bdce9;if(this[_0x3204d0(0x985)]())this[_0x3204d0(0x788)]=_0x3204d0(0x641);else this['_forcedBattlers'][_0x3204d0(0x12d)]>0x0?this[_0x3204d0(0x788)]=_0x3204d0(0x641):this['startInput']();},BattleManager['getNextSubject']=function(){const _0x35f493=_0x5bdce9,_0x168606=this[_0x35f493(0xb40)];_0x168606&&this[_0x35f493(0x985)]()&&('dDcfo'!==_0x35f493(0x35c)?_0x168606[_0x35f493(0xb5c)](_0x35f493(0x8b2)):(this[_0x35f493(0x3e2)][_0x35f493(0x243)](),this[_0x35f493(0x1ea)][_0x35f493(0x137)](),this[_0x35f493(0x8df)][_0x35f493(0x11b)]()));for(;;){const _0x59441c=this['getNextSubjectFromPool']();if(!_0x59441c)return null;if(_0x59441c[_0x35f493(0x6b3)]()&&_0x59441c[_0x35f493(0x4d2)]())return _0x59441c;}},BattleManager['getNextSubjectFromPool']=function(){const _0x2ab0f4=_0x5bdce9;if(this[_0x2ab0f4(0x2cd)][_0x2ab0f4(0x12d)]>0x0){const _0x477b9c=this[_0x2ab0f4(0x2cd)][_0x2ab0f4(0x52e)](),_0xb9ed8c=_0x477b9c[0x0];return _0xb9ed8c['_actions']=_0xb9ed8c[_0x2ab0f4(0x53e)]||[],_0xb9ed8c['_actions'][0x0]=_0x477b9c[0x1],_0xb9ed8c;}else{if('YBRUf'===_0x2ab0f4(0x5c7)){const _0x38e757=_0x488b17(_0x1b4aab['$1'])['split'](/[\r\n]+/)[_0x2ab0f4(0x671)]('');_0x54855b[_0x2ab0f4(0x74e)]=_0x2f8236['processRandomizedData'](_0x38e757);}else return this[_0x2ab0f4(0x730)][_0x2ab0f4(0x52e)]();}},VisuMZ[_0x5bdce9(0x61c)]['Game_Battler_forceAction']=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x896)],Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x896)]=function(_0xbd6985,_0x453955){const _0x7151b8=_0x5bdce9;VisuMZ['BattleCore'][_0x7151b8(0x1c3)][_0x7151b8(0x4b1)](this,_0xbd6985,_0x453955),this[_0x7151b8(0x53e)][this[_0x7151b8(0x53e)][_0x7151b8(0x12d)]-0x1][_0x7151b8(0xaf3)]=!![];},Game_Interpreter[_0x5bdce9(0x768)][_0x5bdce9(0x69d)]=function(_0x453ed7){const _0x363873=_0x5bdce9;return this[_0x363873(0x42c)](_0x453ed7[0x0],_0x453ed7[0x1],_0x5173cb=>{const _0x14bdaa=_0x363873;!_0x5173cb['isDeathStateAffected']()&&(_0x5173cb[_0x14bdaa(0x896)](_0x453ed7[0x2],_0x453ed7[0x3]),BattleManager['forceAction'](_0x5173cb));}),!![];},VisuMZ[_0x5bdce9(0x61c)]['Game_Battler_makeSpeed']=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x342)],Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x342)]=function(){const _0x34e17f=_0x5bdce9;VisuMZ['BattleCore']['Game_Battler_makeSpeed'][_0x34e17f(0x4b1)](this),this['_actions'][_0x34e17f(0x12d)]<=0x0&&(this[_0x34e17f(0x97f)]=Number[_0x34e17f(0x5da)]);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x284)]=BattleManager[_0x5bdce9(0x427)],BattleManager['selectNextCommand']=function(){const _0x4c5572=_0x5bdce9;this['isTpb']()?this[_0x4c5572(0x798)]():_0x4c5572(0x93e)==='OqdBP'?(this[_0x4c5572(0x5c4)]['push']('wait'),this[_0x4c5572(0x5c4)][_0x4c5572(0x838)]('clear')):VisuMZ['BattleCore'][_0x4c5572(0x284)][_0x4c5572(0x4b1)](this);},BattleManager[_0x5bdce9(0x798)]=function(){const _0x27a89a=_0x5bdce9;if(this[_0x27a89a(0x983)]){if(_0x27a89a(0xa98)===_0x27a89a(0xa98)){if(this[_0x27a89a(0x983)][_0x27a89a(0x427)]())return;this['finishActorInput'](),this[_0x27a89a(0xb3c)]();if(!this[_0x27a89a(0xb40)]&&!this[_0x27a89a(0x983)]){if(_0x27a89a(0xa35)===_0x27a89a(0x508)){if(!_0x3783ea[_0x27a89a(0x5ea)]())return;const _0xedb87d=_0xc259ae[_0x27a89a(0x5c4)];_0xedb87d['clear']();}else SceneManager[_0x27a89a(0x352)][_0x27a89a(0x620)]();}}else{const _0x4c76b1=_0x30dbbf[_0x4674a6];if(!_0x4c76b1)return![];if(_0x4c76b1[_0x27a89a(0x3cd)][_0x27a89a(0x12d)]<=0x1)return![];return!![];}}else!this[_0x27a89a(0xb40)]&&this[_0x27a89a(0xa9d)]();},BattleManager[_0x5bdce9(0xb3c)]=function(){const _0x5b78fc=_0x5bdce9;if(!this[_0x5b78fc(0x8fc)]()||this[_0x5b78fc(0x20d)]()){if(this[_0x5b78fc(0x793)]){if(_0x5b78fc(0x4db)!==_0x5b78fc(0x57d))!$gameParty[_0x5b78fc(0xb6f)]()[_0x5b78fc(0x8ed)](this['_tpbSceneChangeCacheActor'])&&(this[_0x5b78fc(0x793)]=null);else{if(_0x5e177f[_0x5b78fc(0x548)]&&_0x23e98f['isCTB']())return![];else{if(!_0x1e3336[_0x5b78fc(0x61c)]['TpbActiveChangeEnabled'])return![];const _0x4a40d5=_0x43e0c3[_0x5b78fc(0xed)]()['filter'](_0x2c339a=>_0x2c339a['isTpbCharged']()&&_0x2c339a[_0x5b78fc(0xe3)]());return _0x4a40d5[_0x5b78fc(0x12d)]>0x0&&_0x14fa5c[_0x5b78fc(0xad6)]()!==_0x4a40d5[_0x4a40d5[_0x5b78fc(0x12d)]-0x1];}}}if(!this['_tpbSceneChangeCacheActor'])this[_0x5b78fc(0x1ed)](),this[_0x5b78fc(0x983)]=null,this[_0x5b78fc(0x75c)]=![];else{if(_0x5b78fc(0xb7a)===_0x5b78fc(0xb7a))this[_0x5b78fc(0x343)]();else{if(_0x12355b[_0x5b78fc(0x4c3)])return;_0x11b9b5[_0x5b78fc(0x61c)][_0x5b78fc(0x8d4)][_0x5b78fc(0x4b1)](this);}}}},BattleManager[_0x5bdce9(0x343)]=function(){const _0x128ac6=_0x5bdce9;!$gameParty[_0x128ac6(0xb6f)]()[_0x128ac6(0x8ed)](this[_0x128ac6(0x793)])&&(_0x128ac6(0x522)!=='gccRs'?this[_0x128ac6(0x793)]=null:(_0x7c0fca[_0x128ac6(0x61c)][_0x128ac6(0xa87)][_0x128ac6(0x4b1)](this),this[_0x128ac6(0x699)]())),this[_0x128ac6(0x793)]?_0x128ac6(0x4b7)!==_0x128ac6(0x4b7)?(_0x43760d+=_0x52a0d0[_0x128ac6(0x14a)][_0x128ac6(0x6b7)]||0x0,_0x19d103+=_0x4f3998['Enemy'][_0x128ac6(0x4b4)]||0x0):(this[_0x128ac6(0x983)]=this[_0x128ac6(0x793)],this[_0x128ac6(0x983)][_0x128ac6(0x309)]=_0x128ac6(0x6ca),this['_inputting']=!![],this[_0x128ac6(0x793)]=null):_0x128ac6(0x387)!=='ROZln'?this['updateForceAction']():(this[_0x128ac6(0x1ed)](),this[_0x128ac6(0x983)]=null,this[_0x128ac6(0x75c)]=![]);},VisuMZ['BattleCore'][_0x5bdce9(0x659)]=BattleManager['isTpbMainPhase'],BattleManager[_0x5bdce9(0x5b2)]=function(){const _0xbe2fb5=_0x5bdce9;return this['_phase']===_0xbe2fb5(0x8a6)?_0xbe2fb5(0x9b9)===_0xbe2fb5(0x9b9)?this['battleCoreTpbMainPhase']():0x0:VisuMZ['BattleCore']['BattleManager_isTpbMainPhase'][_0xbe2fb5(0x4b1)](this);},BattleManager['battleCoreTpbMainPhase']=function(){return this['isActiveTpb']();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x465)]=BattleManager[_0x5bdce9(0x1ed)],BattleManager['cancelActorInput']=function(){const _0xd24a4=_0x5bdce9;this[_0xd24a4(0x985)]()&&this[_0xd24a4(0x788)]==='battleEnd'&&(_0xd24a4(0x7d3)===_0xd24a4(0x63e)?(this['damageContainer']()[_0xd24a4(0x18f)](_0x15c5dc),this['_damages'][_0xd24a4(0x671)](_0x3c044c),_0xf289ff[_0xd24a4(0x7a3)]()):this[_0xd24a4(0x983)]=null),VisuMZ['BattleCore'][_0xd24a4(0x465)][_0xd24a4(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xa41)]=BattleManager['inputtingAction'],BattleManager[_0x5bdce9(0x504)]=function(){const _0x5d3e7d=_0x5bdce9,_0x1211ee=this[_0x5d3e7d(0x983)];if(_0x1211ee&&!_0x1211ee[_0x5d3e7d(0x504)]()){const _0x484fc4=_0x1211ee[_0x5d3e7d(0x54c)];_0x1211ee[_0x5d3e7d(0x53e)][_0x484fc4]=new Game_Action(_0x1211ee);}return VisuMZ[_0x5d3e7d(0x61c)][_0x5d3e7d(0xa41)][_0x5d3e7d(0x4b1)](this);},VisuMZ['BattleCore']['BattleManager_checkSubstitute']=BattleManager[_0x5bdce9(0x247)],BattleManager[_0x5bdce9(0x247)]=function(_0x28da99){const _0x56d9ff=_0x5bdce9;if(this[_0x56d9ff(0x5ae)][_0x56d9ff(0xb77)]())return![];return VisuMZ[_0x56d9ff(0x61c)][_0x56d9ff(0x56f)][_0x56d9ff(0x4b1)](this,_0x28da99);},SceneManager['isSceneBattle']=function(){const _0x52f412=_0x5bdce9;return this['_scene']&&this[_0x52f412(0x352)][_0x52f412(0x56d)]===Scene_Battle;},SceneManager[_0x5bdce9(0x345)]=function(){const _0x40ecb2=_0x5bdce9;return Spriteset_Battle['prototype'][_0x40ecb2(0xb1f)]();},SceneManager[_0x5bdce9(0x8e7)]=function(){if(SceneManager['isPreviousScene'](Scene_Options))return!![];return![];},SceneManager[_0x5bdce9(0x3d9)]=function(){const _0x3ece5a=_0x5bdce9;if(SceneManager[_0x3ece5a(0x438)](Scene_Options))return!![];return![];},SceneManager['checkSceneBattleTransitionable']=function(_0x30792a){const _0x194552=_0x5bdce9;if(!SceneManager[_0x194552(0x5ea)]())return!![];const _0x57b655=[_0x194552(0x7c6),_0x194552(0x3ab)];return _0x57b655[_0x194552(0x8ed)](_0x30792a[_0x194552(0x74e)]);},VisuMZ[_0x5bdce9(0x61c)]['SceneManager_push']=SceneManager[_0x5bdce9(0x838)],SceneManager[_0x5bdce9(0x838)]=function(_0x2570cf){const _0x48292c=_0x5bdce9;if(!SceneManager[_0x48292c(0x65e)](_0x2570cf))return this[_0x48292c(0x519)](_0x2570cf);VisuMZ[_0x48292c(0x61c)][_0x48292c(0x807)]['call'](this,_0x2570cf);},SceneManager[_0x5bdce9(0x519)]=function(_0x111bb6){const _0x39dfd5=_0x5bdce9;if(!$gameTemp[_0x39dfd5(0x466)]())return;if(this[_0x39dfd5(0xb5d)])return;this['_displayBattleCoreTransitionErrorMsg']=!![];let _0x5aa0c3='';_0x5aa0c3+='VisuMZ_1_BattleCore\x20does\x20NOT\x20support\x20changing',_0x5aa0c3+='\x20to\x20%1\x20midbattle.'[_0x39dfd5(0x824)](_0x111bb6[_0x39dfd5(0x74e)]),alert(_0x5aa0c3);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xaed)]=Game_Temp[_0x5bdce9(0x768)][_0x5bdce9(0x905)],Game_Temp['prototype'][_0x5bdce9(0x905)]=function(_0x3ca3b8,_0x2f59c5,_0x24632f){const _0x121254=_0x5bdce9;_0x3ca3b8=_0x3ca3b8['filter']((_0x4968de,_0x4f1ac9,_0x63fa9b)=>_0x63fa9b[_0x121254(0x977)](_0x4968de)===_0x4f1ac9),SceneManager[_0x121254(0x5ea)]()&&SceneManager[_0x121254(0x345)]()&&(_0x24632f=!_0x24632f),VisuMZ[_0x121254(0x61c)]['Game_Temp_requestAnimation']['call'](this,_0x3ca3b8,_0x2f59c5,_0x24632f),SceneManager[_0x121254(0x5ea)]()&&(_0x121254(0x347)===_0x121254(0x347)?BattleManager[_0x121254(0x25a)]['processAnimationRequests']():_0x59e184=_0x53106b[_0x121254(0x2fd)]);},Game_Temp[_0x5bdce9(0x768)]['setLastPluginCommandInterpreter']=function(_0x134750){const _0xf7bbb1=_0x5bdce9;this[_0xf7bbb1(0x51b)]=_0x134750;},Game_Temp[_0x5bdce9(0x768)][_0x5bdce9(0xb48)]=function(){const _0x3b4afe=_0x5bdce9;return this[_0x3b4afe(0x51b)];},Game_Temp[_0x5bdce9(0x768)][_0x5bdce9(0x2e2)]=function(){const _0x1f649c=_0x5bdce9;this[_0x1f649c(0x168)]=undefined;},Game_Temp['prototype'][_0x5bdce9(0x3d4)]=function(_0x2dace4){const _0x29d4b8=_0x5bdce9;$gameMap&&$dataMap&&$dataMap[_0x29d4b8(0x664)]&&this[_0x29d4b8(0x576)]($dataMap[_0x29d4b8(0x664)]);const _0x48b13a=$dataTroops[_0x2dace4];if(_0x48b13a){let _0x55a26c=DataManager[_0x29d4b8(0x649)](_0x48b13a['id']);this[_0x29d4b8(0x576)](_0x55a26c);}},Game_Temp[_0x5bdce9(0x768)][_0x5bdce9(0x576)]=function(_0x36ed82){const _0x3322d3=_0x5bdce9;if(!_0x36ed82)return;if(_0x36ed82[_0x3322d3(0x16b)](/<(?:BATTLELAYOUT|BATTLE LAYOUT|LAYOUT):[ ](.*)>/i)){if(_0x3322d3(0x4c5)===_0x3322d3(0x17a)){if(this[_0x3322d3(0x9eb)][_0x3322d3(0x127)])this[_0x3322d3(0x3b6)]=(this['_pattern']+0x1)%0x4;else this[_0x3322d3(0x3b6)]<0x2?this[_0x3322d3(0x3b6)]++:this[_0x3322d3(0xadc)]();this[_0x3322d3(0x5f5)]=0x0;}else{const _0x28ffb5=String(RegExp['$1']);if(_0x28ffb5[_0x3322d3(0x16b)](/DEFAULT/i))this[_0x3322d3(0x168)]='default';else{if(_0x28ffb5[_0x3322d3(0x16b)](/LIST/i))this[_0x3322d3(0x168)]=_0x3322d3(0x3cd);else{if(_0x28ffb5[_0x3322d3(0x16b)](/XP/i))this[_0x3322d3(0x168)]='xp';else{if(_0x28ffb5['match'](/PORTRAIT/i)){if(_0x3322d3(0x879)!=='geLSS')this[_0x3322d3(0x168)]=_0x3322d3(0x71f);else{let _0x576764=0x0;if(this[_0x3322d3(0xa9b)]&&this[_0x3322d3(0x56d)]!==_0x2c2ead){const _0x5e4fe3=this[_0x3322d3(0xa9b)][_0x3322d3(0x91d)]['y'];_0x576764-=(_0x5e4fe3-0x1)*this['height'];}return _0x576764;}}else{if(_0x28ffb5[_0x3322d3(0x16b)](/BORDER/i)){if('OifHx'===_0x3322d3(0x4e8))this[_0x3322d3(0x168)]=_0x3322d3(0x5f1);else{if(_0x261536>_0x41d10c[_0x3322d3(0x8f0)])_0x1e925b=![];if(_0x3fb2cc<_0x4b79fc[_0x3322d3(0x8f0)])_0x40f7f3=!![];}}else{if(_0x28ffb5['match'](/(?:SIDEVIEW UI|SIDEVIEW)/i)){if(Imported[_0x3322d3(0x8fd)]){if('MfXVf'!==_0x3322d3(0x232))this[_0x3322d3(0x168)]=_0x3322d3(0x74f);else{return _0x1baf0[_0x3322d3(0x768)]['isRightInputMode'][_0x3322d3(0x4b1)](this);;}}else _0x3322d3(0x6fc)!==_0x3322d3(0x6fa)?this[_0x3322d3(0x168)]=_0x3322d3(0xa34):this[_0x3322d3(0x780)]=_0x7d57bf['BattleCore'][_0x3322d3(0x76e)][_0x3322d3(0x817)][_0x3322d3(0x3b7)][_0x3322d3(0x4b1)](this);}}}}}}}}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xa87)]=Game_System['prototype']['initialize'],Game_System[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(){const _0x3dfb61=_0x5bdce9;VisuMZ[_0x3dfb61(0x61c)][_0x3dfb61(0xa87)][_0x3dfb61(0x4b1)](this),this['initBattleCore']();},Game_System[_0x5bdce9(0x768)][_0x5bdce9(0x699)]=function(){const _0xb3974b=_0x5bdce9;this[_0xb3974b(0x406)]=this[_0xb3974b(0x406)]||[];},Game_System['prototype']['getDefeatedEnemies']=function(){const _0xfb61e2=_0x5bdce9;if(this['_defeatedEnemies']===undefined)this[_0xfb61e2(0x699)]();return this[_0xfb61e2(0x406)];},Game_System[_0x5bdce9(0x768)][_0x5bdce9(0x88a)]=function(_0x114b5e){const _0x4ed683=_0x5bdce9;if(this[_0x4ed683(0x406)]===undefined)this[_0x4ed683(0x699)]();if(!_0x114b5e)return;if(this[_0x4ed683(0x406)]['includes'](_0x114b5e))return;this['_defeatedEnemies'][_0x4ed683(0x838)](_0x114b5e),this[_0x4ed683(0x406)][_0x4ed683(0xadb)]((_0x32b37f,_0x134d92)=>_0x32b37f-_0x134d92);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x692)]=Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x972)],Game_BattlerBase[_0x5bdce9(0x768)]['addNewState']=function(_0x3f1b74){const _0x4a3b7f=_0x5bdce9,_0x368ae2=this[_0x4a3b7f(0x4d2)](),_0x230321=this[_0x4a3b7f(0xd6)]();VisuMZ[_0x4a3b7f(0x61c)]['Game_BattlerBase_addNewState']['call'](this,_0x3f1b74),this[_0x4a3b7f(0x203)]()&&_0x368ae2&&this['isDead']()&&(this[_0x4a3b7f(0x18a)]=!this['hasBeenDefeatedBefore'](),$gameSystem[_0x4a3b7f(0x88a)](this[_0x4a3b7f(0x737)]())),SceneManager[_0x4a3b7f(0x5ea)]()&&_0x230321!==this[_0x4a3b7f(0xd6)]()&&(this[_0x4a3b7f(0xb0d)]()&&this[_0x4a3b7f(0xb0d)]()[_0x4a3b7f(0xadc)]());},Game_Enemy['prototype']['hasBeenDefeatedBefore']=function(){const _0xba0144=_0x5bdce9;return $gameSystem[_0xba0144(0x913)]()[_0xba0144(0x8ed)](this[_0xba0144(0x8a7)]);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x237)]=Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x4ea)],Game_BattlerBase['prototype'][_0x5bdce9(0x4ea)]=function(_0x4601c1){const _0x5a2e1b=_0x5bdce9;VisuMZ['BattleCore']['Game_BattlerBase_eraseState']['call'](this,_0x4601c1),this[_0x5a2e1b(0x203)]()&&_0x4601c1===this[_0x5a2e1b(0x555)]()&&this[_0x5a2e1b(0x4d2)]()&&(_0x5a2e1b(0xa08)===_0x5a2e1b(0x7b2)?_0x503e77[_0x5a2e1b(0x95c)][_0x5a2e1b(0x580)]=!![]:this['_visualHpGauge_JustDied']=![]),!this[_0x5a2e1b(0x477)]&&!this['_tempBattler']&&SceneManager['isSceneBattle']()&&this[_0x5a2e1b(0xb69)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x484)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x89d)],Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x89d)]=function(){const _0x14a4c4=_0x5bdce9;VisuMZ[_0x14a4c4(0x61c)][_0x14a4c4(0x484)]['call'](this),this[_0x14a4c4(0x742)]={'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[_0x14a4c4(0x3e9)]='default';},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x7ad)]=function(_0x15bb62,_0x1baf79){const _0x4dc067=_0x5bdce9;return VisuMZ[_0x4dc067(0x61c)]['Settings'][_0x4dc067(0x40d)][_0x4dc067(0x8d5)][_0x4dc067(0x4b1)](this,_0x15bb62,_0x1baf79);},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x7d8)]=function(_0x322db4,_0x5d8f0f){const _0x1ea36f=_0x5bdce9;return VisuMZ[_0x1ea36f(0x61c)][_0x1ea36f(0x76e)]['Damage'][_0x1ea36f(0x241)]['call'](this,_0x322db4,_0x5d8f0f);},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x713)]=function(_0x3592ea,_0x5bb9c9){const _0x3dd697=_0x5bdce9;return VisuMZ[_0x3dd697(0x61c)][_0x3dd697(0x76e)][_0x3dd697(0x40d)][_0x3dd697(0x1c8)]['call'](this,_0x3592ea,_0x5bb9c9);},VisuMZ['BattleCore'][_0x5bdce9(0x776)]=Game_Action[_0x5bdce9(0x768)]['itemHit'],Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x72e)]=function(_0x6a5bd8){const _0x250bf4=_0x5bdce9,_0x141b16=this[_0x250bf4(0xa8a)]()[_0x250bf4(0x664)];if(_0x141b16[_0x250bf4(0x16b)](/<ALWAYS HIT>/i))return 0x1;else{if(_0x141b16['match'](/<ALWAYS HIT RATE: (\d+)([%％])>/i))return _0x250bf4(0xb3d)===_0x250bf4(0x677)?this[_0x250bf4(0x74a)]()[_0x250bf4(0x74e)]:Number(RegExp['$1'])/0x64;else{let _0x35000f=VisuMZ[_0x250bf4(0x61c)][_0x250bf4(0x776)][_0x250bf4(0x4b1)](this,_0x6a5bd8);return _0x35000f=this[_0x250bf4(0x167)][_0x250bf4(0x756)]*_0x35000f+this[_0x250bf4(0x167)][_0x250bf4(0x42b)],_0x35000f;}}},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x40c)]=function(_0x125947){const _0x352274=_0x5bdce9;if(!this[_0x352274(0xa8a)]()['damage'][_0x352274(0x580)])return 0x0;let _0x15cc25=VisuMZ['BattleCore'][_0x352274(0x76e)]['Damage']['CriticalHitRateJS'][_0x352274(0x4b1)](this,_0x125947);return _0x15cc25=this[_0x352274(0x167)][_0x352274(0x287)]*_0x15cc25+this['_multipliers'][_0x352274(0x6d0)],_0x15cc25;},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x41f)]=function(_0x2360e6){const _0x3f072f=_0x5bdce9;return _0x2360e6=VisuMZ[_0x3f072f(0x61c)][_0x3f072f(0x76e)][_0x3f072f(0x40d)][_0x3f072f(0x8c1)][_0x3f072f(0x4b1)](this,_0x2360e6),_0x2360e6=this[_0x3f072f(0x167)][_0x3f072f(0x96b)]*_0x2360e6+this[_0x3f072f(0x167)]['criticalDmgFlat'],_0x2360e6;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x790)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x76a)],Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x76a)]=function(_0x1f89eb){const _0xd095d7=_0x5bdce9;if(this[_0xd095d7(0x3e9)]!==_0xd095d7(0xa34))return'qNnZQ'!=='sbJXh'?this[_0xd095d7(0x7df)](_0x1f89eb):![];else{if(DataManager['getDamageStyle'](this[_0xd095d7(0xa8a)]())===_0xd095d7(0x590)){if('DITfC'==='gleub'){if(!_0x2aa799[_0xd095d7(0x5ea)]())return;_0x5b069f[_0xd095d7(0x866)](_0x49d97e,_0x514449);const _0x31ed5b=_0x46df8d[_0xd095d7(0xb48)](),_0x3d2287=_0x1478e9[_0xd095d7(0x5ae)],_0x57c422=_0x35bb92['_subject'],_0x3ed884=_0x51de74[_0xd095d7(0x1f5)](_0x3543e2['Targets']),_0x53fd2b=_0x3cb697[_0xd095d7(0x5c2)],_0x3c863b=_0x28515a[_0xd095d7(0x5c4)];if(!_0x31ed5b||!_0x3d2287||!_0x57c422)return;if(!_0x3d2287[_0xd095d7(0xa8a)]())return;let _0x2594c2=_0x3d2287[_0xd095d7(0xa8a)]()[_0xd095d7(0x6e3)];if(_0x2594c2<0x0)_0x2594c2=_0x57c422[_0xd095d7(0x17b)]();_0x7a9946[_0xd095d7(0x905)](_0x3ed884,_0x2594c2,_0x53fd2b),_0x2eed40[_0xd095d7(0x108)]&&_0x31ed5b[_0xd095d7(0x73c)](_0xd095d7(0x9bc));}else return VisuMZ[_0xd095d7(0x61c)]['Game_Action_evalDamageFormula'][_0xd095d7(0x4b1)](this,_0x1f89eb);}else return this[_0xd095d7(0x392)](_0x1f89eb);}},Game_Action[_0x5bdce9(0x768)]['setCustomDamageFormula']=function(_0x362a0d){const _0xfc2aeb=_0x5bdce9;this[_0xfc2aeb(0x3e9)]=_0x362a0d;},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x7df)]=function(_0x5ccfcb){const _0x48f2ed=_0x5bdce9,_0x4e9a46=this[_0x48f2ed(0xa8a)](),_0x690477=_0x4e9a46['damage'][_0x48f2ed(0x7b8)];_0x4e9a46['damage'][_0x48f2ed(0x7b8)]=this[_0x48f2ed(0x3e9)];let _0x3edc52=VisuMZ['BattleCore'][_0x48f2ed(0x790)][_0x48f2ed(0x4b1)](this,_0x5ccfcb);return _0x4e9a46[_0x48f2ed(0x95c)][_0x48f2ed(0x7b8)]=_0x690477,_0x3edc52;},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0xb64)]=function(){const _0x5cbd20=_0x5bdce9;if(this['item']()[_0x5cbd20(0x664)][_0x5cbd20(0x16b)](/<DAMAGE STYLE:[ ](.*)>/i)){if(_0x5cbd20(0xb30)!=='iVAKe'){if(!_0x5c75fa['isSceneBattle']())return;_0x350453[_0x5cbd20(0x866)](_0x3d675a,_0x2d91ca);const _0x2999bc=_0x2262ca[_0x5cbd20(0x663)];_0x16fbe[_0x5cbd20(0x352)][_0x5cbd20(0x3f8)](_0x2999bc);}else{const _0x449fad=String(RegExp['$1'])[_0x5cbd20(0x673)]()[_0x5cbd20(0x92d)]();return _0x449fad;}}return _0x5cbd20(0x590);},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x392)]=function(_0x341c69){const _0x694f5b=_0x5bdce9,_0x3e47ed=DataManager[_0x694f5b(0x294)](this[_0x694f5b(0xa8a)]()),_0x3f9a35=VisuMZ['DamageStyles'][_0x3e47ed];try{return _0x3f9a35['Formula'][_0x694f5b(0x4b1)](this,_0x341c69);}catch(_0x3edfb7){if('MFzEP'!==_0x694f5b(0xa6f))_0x40b026[_0x694f5b(0x32e)](_0x36d10e[_0x694f5b(0x355)]);else{if($gameTemp['isPlaytest']())console[_0x694f5b(0x68e)](_0x3edfb7);return VisuMZ[_0x694f5b(0x61c)]['Game_Action_evalDamageFormula'][_0x694f5b(0x4b1)](this);}}},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x63c)]=function(_0x58b098,_0x31b38c){const _0x3796b2=_0x5bdce9;if(this[_0x3796b2(0x38f)]())return _0x31b38c;const _0x281c53=this[_0x3796b2(0xb83)](),_0x24658e=_0x58b098;let _0xda4d2f=[],_0x48e072=[];_0xda4d2f[_0x3796b2(0x838)](this['_armorPenetration']['arPenFlat'],this[_0x3796b2(0x742)][_0x3796b2(0x841)]),_0x48e072[_0x3796b2(0x838)](this[_0x3796b2(0x742)][_0x3796b2(0x419)],this[_0x3796b2(0x742)][_0x3796b2(0x20e)]);const _0x38e2a2=this[_0x3796b2(0x5c8)]()?/<ARMOR REDUCTION:[ ](\d+\.?\d*)>/i:/<MAGIC REDUCTION:[ ](\d+\.?\d*)>/i,_0x69d5e7=this[_0x3796b2(0x5c8)]()?/<ARMOR REDUCTION:[ ](\d+\.?\d*)([%％])>/i:/<MAGIC REDUCTION:[ ](\d+\.?\d*)([%％])>/i,_0x4c4859=this['isPhysical']()?/<ARMOR PENETRATION:[ ](\d+\.?\d*)>/i:/<MAGIC PENETRATION:[ ](\d+\.?\d*)>/i,_0x389fe1=this[_0x3796b2(0x5c8)]()?/<ARMOR PENETRATION:[ ](\d+\.?\d*)([%％])>/i:/<MAGIC PENETRATION:[ ](\d+\.?\d*)([%％])>/i;return _0xda4d2f=_0xda4d2f[_0x3796b2(0x331)](_0x24658e[_0x3796b2(0xb51)]()[_0x3796b2(0x782)](_0x1db7e3=>_0x1db7e3&&_0x1db7e3[_0x3796b2(0x664)]['match'](_0x38e2a2)?Number(RegExp['$1']):0x0)),_0x48e072=_0x48e072[_0x3796b2(0x331)](_0x24658e[_0x3796b2(0xb51)]()[_0x3796b2(0x782)](_0x1ad854=>_0x1ad854&&_0x1ad854[_0x3796b2(0x664)][_0x3796b2(0x16b)](_0x69d5e7)?Number(RegExp['$1'])/0x64:0x0)),_0xda4d2f=_0xda4d2f[_0x3796b2(0x331)](_0x281c53[_0x3796b2(0xb51)]()[_0x3796b2(0x782)](_0x2f9a00=>_0x2f9a00&&_0x2f9a00['note'][_0x3796b2(0x16b)](_0x4c4859)?Number(RegExp['$1']):0x0)),_0x48e072=_0x48e072[_0x3796b2(0x331)](_0x281c53[_0x3796b2(0xb51)]()['map'](_0x42fd14=>_0x42fd14&&_0x42fd14[_0x3796b2(0x664)]['match'](_0x389fe1)?Number(RegExp['$1'])/0x64:0x0)),this[_0x3796b2(0xa8a)]()['note'][_0x3796b2(0x16b)](_0x4c4859)&&_0xda4d2f['push'](Number(RegExp['$1'])),this[_0x3796b2(0xa8a)]()[_0x3796b2(0x664)][_0x3796b2(0x16b)](_0x389fe1)&&_0x48e072['push'](Number(RegExp['$1'])),_0x31b38c=_0xda4d2f['reduce']((_0x1f8eee,_0x58db7)=>_0x1f8eee-_0x58db7,_0x31b38c),_0x31b38c>0x0&&(_0x3796b2(0x5b6)===_0x3796b2(0x5b6)?_0x31b38c=_0x48e072['reduce']((_0xfb8f88,_0x1b93a1)=>_0xfb8f88*(0x1-_0x1b93a1),_0x31b38c):_0x201489['_subject']['stbGainInstant'](_0x1f1f87)),_0x31b38c;},VisuMZ[_0x5bdce9(0x61c)]['Game_Action_executeDamage']=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0xb1c)],Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0xb1c)]=function(_0x197807,_0x1670ba){const _0xa191e3=_0x5bdce9;_0x1670ba=_0x1670ba*this[_0xa191e3(0x167)][_0xa191e3(0xa13)],_0x1670ba+=this['_multipliers']['damageFlat']*(_0x1670ba>=0x0?0x1:-0x1),_0x1670ba=this[_0xa191e3(0x459)]('PreDamage%1JS',_0x197807,_0x1670ba,![]),_0x1670ba=this[_0xa191e3(0x125)](_0x1670ba),_0x1670ba=Math['round'](_0x1670ba),this[_0xa191e3(0x507)]=_0x1670ba,this[_0xa191e3(0x9d1)]=this['_totalValue']||0x0,this['_totalValue']+=_0x1670ba,VisuMZ[_0xa191e3(0x61c)][_0xa191e3(0x57f)]['call'](this,_0x197807,_0x1670ba),this[_0xa191e3(0x459)](_0xa191e3(0x1d3),_0x197807,_0x1670ba,!![]);},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x125)]=function(_0x228c7e){const _0x380787=_0x5bdce9;if(this[_0x380787(0x8cf)]())return _0x228c7e;return _0x228c7e=this[_0x380787(0xb37)](_0x228c7e),_0x228c7e=this[_0x380787(0x815)](_0x228c7e),_0x228c7e;},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x8cf)]=function(){const _0x4f6904=_0x5bdce9,_0x50c9c5=/<BYPASS DAMAGE CAP>/i;if(this[_0x4f6904(0xa8a)]()['note'][_0x4f6904(0x16b)](_0x50c9c5))return!![];if(this[_0x4f6904(0xb83)]()[_0x4f6904(0xb51)]()['some'](_0x4a9695=>_0x4a9695&&_0x4a9695['note'][_0x4f6904(0x16b)](_0x50c9c5)))return!![];return!VisuMZ[_0x4f6904(0x61c)]['Settings'][_0x4f6904(0x40d)][_0x4f6904(0x656)];},Game_Action['prototype'][_0x5bdce9(0xb37)]=function(_0xf88889){const _0x5d2501=_0x5bdce9;if(!VisuMZ['BattleCore'][_0x5d2501(0x76e)][_0x5d2501(0x40d)][_0x5d2501(0x4ac)])return _0xf88889;const _0x281b2a=/<BYPASS SOFT DAMAGE CAP>/i;if(this['item']()[_0x5d2501(0x664)][_0x5d2501(0x16b)](_0x281b2a))return _0xf88889;if(this['subject']()[_0x5d2501(0xb51)]()[_0x5d2501(0x82d)](_0x44c3b8=>_0x44c3b8&&_0x44c3b8[_0x5d2501(0x664)]['match'](_0x281b2a)))return _0xf88889;const _0x163752=_0xf88889<0x0?-0x1:0x1;_0xf88889=Math[_0x5d2501(0x41b)](_0xf88889);let _0x57a6a1=this[_0x5d2501(0xb83)]()[_0x5d2501(0xdc)]();if(this['item']()[_0x5d2501(0x664)]['match'](/<SOFT DAMAGE CAP:[ ]([\+\-]\d+)([%％])>/i)){if('SJmjG'==='GHILY'){if(this[_0x5d2501(0x1a8)]<=0x0)return;const _0x29956e=this[_0x5d2501(0x1a8)],_0x1cce35=this[_0x5d2501(0x21a)],_0x4ec699=this[_0x5d2501(0x953)];_0x2009ec[_0x5d2501(0x9f2)]?(this[_0x5d2501(0x666)]=this[_0x5d2501(0x99a)](this[_0x5d2501(0x666)],this[_0x5d2501(0xa67)],_0x29956e,_0x1cce35,_0x4ec699),this[_0x5d2501(0x51a)]=this[_0x5d2501(0x99a)](this['_homeY'],this[_0x5d2501(0x8fb)],_0x29956e,_0x1cce35,_0x4ec699)):(this[_0x5d2501(0x666)]=(this['_homeX']*(_0x29956e-0x1)+this[_0x5d2501(0xa67)])/_0x29956e,this[_0x5d2501(0x51a)]=(this[_0x5d2501(0x51a)]*(_0x29956e-0x1)+this[_0x5d2501(0x8fb)])/_0x29956e);this['_homeDuration']--;if(this['_homeDuration']<=0x0)this[_0x5d2501(0x3af)]();}else _0x57a6a1+=Number(RegExp['$1'])/0x64;}_0x57a6a1=_0x57a6a1[_0x5d2501(0xaa0)](0.01,0x1);const _0x597ce8=this['getHardDamageCap'](),_0x30cf8e=_0x57a6a1*_0x597ce8;if(_0xf88889>_0x30cf8e&&_0x597ce8>_0x30cf8e){if(_0x5d2501(0x1b0)==='COZxm'){_0xf88889-=_0x30cf8e;const _0x44787a=VisuMZ['BattleCore']['Settings'][_0x5d2501(0x40d)][_0x5d2501(0xb62)],_0x349957=Math['max'](0x1-_0xf88889/((_0x597ce8-_0x30cf8e)*_0x44787a+_0xf88889),0.01);_0xf88889*=_0x349957,_0xf88889+=_0x30cf8e;}else{if(!_0x2c73d1[_0x5d2501(0x68b)]())return;const _0x52575e=this['battler']();if(!_0x52575e)return;this[_0x5d2501(0x491)]()&&(_0x5250ae*=-0x1,_0x404412*=-0x1),_0x52575e[_0x5d2501(0x53f)](_0x8db17b,_0x32e649,_0x2b5a27,_0x408a03);}}return _0xf88889*_0x163752;},Game_Action['prototype'][_0x5bdce9(0x211)]=function(){const _0x5c42c9=_0x5bdce9;if(this[_0x5c42c9(0xa8a)]()[_0x5c42c9(0x664)][_0x5c42c9(0x16b)](/<DAMAGE CAP:[ ](\d+)>/i))return Number(RegExp['$1']);else{if(_0x5c42c9(0xa11)===_0x5c42c9(0xa11))return this[_0x5c42c9(0xb83)]()[_0x5c42c9(0x33a)]();else this[_0x5c42c9(0x97f)]=_0x173519[_0x5c42c9(0x5da)];}},Game_Action['prototype']['applyHardDamageCap']=function(_0x54b03b){const _0x389952=_0x5bdce9;console[_0x389952(0x68e)](_0x54b03b);let _0x123bd1=this[_0x389952(0x211)]();return _0x54b03b[_0x389952(0xaa0)](-_0x123bd1,_0x123bd1);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xaae)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x76c)],Game_Action[_0x5bdce9(0x768)]['apply']=function(_0x332030){const _0x4373f1=_0x5bdce9;this['applyBattleCoreJS'](_0x4373f1(0x49a),_0x332030,0x0,!![]),VisuMZ[_0x4373f1(0x61c)][_0x4373f1(0xaae)]['call'](this,_0x332030),this[_0x4373f1(0x459)](_0x4373f1(0x7a8),_0x332030,this['_executedValue']||0x0,!![]),this['applyResultSwitches'](_0x332030);},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x459)]=function(_0x1adfae,_0x2640ed,_0x1de044,_0x328139){const _0x533411=_0x5bdce9;if(this['_tempBattler']||this[_0x533411(0x477)])return;_0x1de044=_0x1de044||0x0;const _0x3eba35=_0x1de044,_0x5d3a74=VisuMZ[_0x533411(0x61c)][_0x533411(0x76e)][_0x533411(0x817)],_0x402f0e=_0x1adfae[_0x533411(0x824)]('');if(_0x5d3a74[_0x402f0e]){if(_0x533411(0x83e)===_0x533411(0x83e)){_0x1de044=_0x5d3a74[_0x402f0e][_0x533411(0x4b1)](this,_0x1de044,_0x2640ed);if(_0x328139)_0x1de044=_0x3eba35;}else _0x27678b[_0x533411(0x61c)]['ParseWeaponNotetags']&&_0x218b4f['BattleCore'][_0x533411(0xa0b)][_0x533411(0x4b1)](this,_0x5be8b6),_0x4fc1b7[_0x533411(0x61c)][_0x533411(0x57e)](_0x8744c9);}let _0x26be3b=VisuMZ[_0x533411(0x61c)][_0x533411(0xaa5)](this[_0x533411(0xa8a)](),_0x1adfae['format'](''));if(VisuMZ[_0x533411(0x61c)]['JS'][_0x26be3b]){_0x1de044=VisuMZ[_0x533411(0x61c)]['JS'][_0x26be3b][_0x533411(0x4b1)](this,this[_0x533411(0xb83)](),_0x2640ed,this[_0x533411(0xa8a)](),_0x1de044);if(_0x328139)_0x1de044=_0x3eba35;}for(const _0x5be57c of this[_0x533411(0xb83)]()[_0x533411(0xb51)]()){if(_0x533411(0x5ed)===_0x533411(0x8a5))_0x29cf19['push'](_0x1c9925[_0x533411(0x2db)]());else{if(!_0x5be57c)continue;_0x26be3b=VisuMZ[_0x533411(0x61c)][_0x533411(0xaa5)](_0x5be57c,_0x1adfae[_0x533411(0x824)]('AsUser'));if(VisuMZ[_0x533411(0x61c)]['JS'][_0x26be3b]){_0x1de044=VisuMZ[_0x533411(0x61c)]['JS'][_0x26be3b][_0x533411(0x4b1)](this,this[_0x533411(0xb83)](),_0x2640ed,_0x5be57c,_0x1de044);if(_0x328139)_0x1de044=_0x3eba35;}}}for(const _0x12259d of _0x2640ed[_0x533411(0xb51)]()){if(!_0x12259d)continue;_0x26be3b=VisuMZ[_0x533411(0x61c)]['createKeyJS'](_0x12259d,_0x1adfae[_0x533411(0x824)](_0x533411(0x53b)));if(VisuMZ[_0x533411(0x61c)]['JS'][_0x26be3b]){_0x1de044=VisuMZ[_0x533411(0x61c)]['JS'][_0x26be3b][_0x533411(0x4b1)](this,this[_0x533411(0xb83)](),_0x2640ed,_0x12259d,_0x1de044);if(_0x328139)_0x1de044=_0x3eba35;}}return _0x1de044;},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x335)]=function(_0x12ce9c){const _0x50fd1b=_0x5bdce9,_0xa1d724=this['_totalValue']||0x0,_0x1f8e42=VisuMZ['BattleCore'][_0x50fd1b(0x76e)][_0x50fd1b(0x817)],_0x157b4e=_0x12ce9c[_0x50fd1b(0x824)]('');if(_0x1f8e42[_0x157b4e]){if(_0x50fd1b(0x540)===_0x50fd1b(0x540))_0x1f8e42[_0x157b4e][_0x50fd1b(0x4b1)](this,_0xa1d724);else{const _0x2c18a7=_0x50fd1b(0x55a)[_0x50fd1b(0x824)](_0x2c88ce['actorId']()),_0x3f1a9c=this['createInnerPortrait'](_0x2c18a7,_0x1b4a85),_0x240b37=_0xd6db7['getBattlePortraitFilename']();_0x240b37!==''?_0x3f1a9c[_0x50fd1b(0x454)]=_0x46dac8[_0x50fd1b(0x255)](_0x240b37):_0x3f1a9c[_0x50fd1b(0x454)]=_0x1f409e[_0x50fd1b(0x9a5)];const _0x37aa8b=this[_0x50fd1b(0x5c3)](_0x52c9b9);_0x3f1a9c[_0x50fd1b(0x887)]['x']=0.5,_0x3f1a9c[_0x50fd1b(0x887)]['y']=0x1;let _0x2447fd=_0x2f5c10[_0x50fd1b(0xb3f)](_0x37aa8b['x']+_0x37aa8b[_0x50fd1b(0x3b2)]/0x2)+this[_0x50fd1b(0xaff)];_0x2447fd+=_0xae2b04[_0x50fd1b(0x44e)]();let _0x37eeaf=_0x4fe032['round'](this[_0x50fd1b(0x3b0)]);_0x37eeaf+=_0x3fea12[_0x50fd1b(0x3ca)](),_0x3f1a9c[_0x50fd1b(0x5e7)](_0x2447fd,_0x37eeaf);const _0x435079=_0x3d7966['BattleCore']['Settings'][_0x50fd1b(0x40f)][_0x50fd1b(0xa89)];_0x3f1a9c[_0x50fd1b(0x91d)]['x']=_0x435079,_0x3f1a9c[_0x50fd1b(0x91d)]['y']=_0x435079,_0x3f1a9c[_0x50fd1b(0x243)]();}}let _0x465fa0=VisuMZ[_0x50fd1b(0x61c)][_0x50fd1b(0xaa5)](this[_0x50fd1b(0xa8a)](),_0x12ce9c);VisuMZ[_0x50fd1b(0x61c)]['JS'][_0x465fa0]&&VisuMZ[_0x50fd1b(0x61c)]['JS'][_0x465fa0][_0x50fd1b(0x4b1)](this,this[_0x50fd1b(0xb83)](),this[_0x50fd1b(0xb83)](),this[_0x50fd1b(0xa8a)](),_0xa1d724);for(const _0x2ddeee of this['subject']()[_0x50fd1b(0xb51)]()){if(!_0x2ddeee)continue;_0x465fa0=VisuMZ[_0x50fd1b(0x61c)][_0x50fd1b(0xaa5)](_0x2ddeee,_0x12ce9c),VisuMZ[_0x50fd1b(0x61c)]['JS'][_0x465fa0]&&VisuMZ['BattleCore']['JS'][_0x465fa0][_0x50fd1b(0x4b1)](this,this[_0x50fd1b(0xb83)](),this[_0x50fd1b(0xb83)](),_0x2ddeee,_0xa1d724);}},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x43d)]=function(){const _0x5f09b6=_0x5bdce9;return VisuMZ[_0x5f09b6(0x61c)][_0x5f09b6(0x76e)][_0x5f09b6(0x817)][_0x5f09b6(0x3ee)]['call'](this);},Game_Action[_0x5bdce9(0x768)]['allowRandomSpeed']=function(){const _0x17acd0=_0x5bdce9;return VisuMZ[_0x17acd0(0x61c)]['Settings'][_0x17acd0(0x817)][_0x17acd0(0x2a1)];},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x4ab)]=function(){const _0x4d6cbe=_0x5bdce9;return this[_0x4d6cbe(0xa8a)]()[_0x4d6cbe(0x664)][_0x4d6cbe(0x16b)](/<JS TARGETS>/i);},Game_Action['prototype']['isBattleCoreTargetScope']=function(){const _0x146d10=_0x5bdce9;if(!this[_0x146d10(0x502)]&&this['subject']()[_0x146d10(0x86e)]())return![];if(this[_0x146d10(0x4ab)]())return!![];return typeof this['item']()[_0x146d10(0xa9f)]===_0x146d10(0x60d);},VisuMZ['BattleCore'][_0x5bdce9(0x651)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0xb74)],Game_Action['prototype'][_0x5bdce9(0xb74)]=function(){const _0x3cd95b=_0x5bdce9;if(this['isBattleCoreTargetScope']()&&!this[_0x3cd95b(0x4ab)]())return this[_0x3cd95b(0x22e)]();else{if(_0x3cd95b(0x223)===_0x3cd95b(0x223))return VisuMZ[_0x3cd95b(0x61c)]['Game_Action_isForOpponent'][_0x3cd95b(0x4b1)](this);else _0x2c23b7[_0x3cd95b(0x61c)][_0x3cd95b(0x6cf)][_0x3cd95b(0x4b1)](this);}},Game_Action['prototype'][_0x5bdce9(0x22e)]=function(){const _0x4afff4=_0x5bdce9,_0x4e01d0=this[_0x4afff4(0xa8a)]()['scope'];return _0x4e01d0[_0x4afff4(0x16b)](/(?:ENEMY|ENEMIES|FOE|FOES)/i);},VisuMZ[_0x5bdce9(0x61c)]['Game_Action_isForFriend']=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0xb77)],Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0xb77)]=function(){const _0x40e040=_0x5bdce9;if(this['isBattleCoreTargetScope']()&&!this[_0x40e040(0x4ab)]()){if(_0x40e040(0x822)===_0x40e040(0x703)){let _0x1f8d76=_0x211f5f[_0x40e040(0x87e)](_0x3ef653[_0x40e040(0x61c)][_0x40e040(0x75d)][_0x40e040(0x4b1)](this));return _0x3ce7f8['BattleCore'][_0x40e040(0x90a)](_0x1f8d76);}else return this[_0x40e040(0x3c1)]();}else{if('whZQa'!=='whZQa')_0x1b7aa6=_0x1ae97f['CastPhysical'];else return VisuMZ[_0x40e040(0x61c)][_0x40e040(0x443)]['call'](this);}},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x3c1)]=function(){const _0x48b5dc=_0x5bdce9,_0x2223a5=this['item']()[_0x48b5dc(0xa9f)];return _0x2223a5[_0x48b5dc(0x16b)](/(?:ALLY|ALLIES|FRIEND|FRIENDS)/i);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xb08)]=Game_Action['prototype'][_0x5bdce9(0x642)],Game_Action['prototype'][_0x5bdce9(0x642)]=function(){const _0x34863f=_0x5bdce9;if(this[_0x34863f(0xa71)]()&&!this[_0x34863f(0x4ab)]())return this[_0x34863f(0x36e)]();else{if(_0x34863f(0x82f)===_0x34863f(0x82f))return VisuMZ['BattleCore'][_0x34863f(0xb08)]['call'](this);else{const _0x17b26a=_0x8185c4[_0x34863f(0x61c)][_0x34863f(0x76e)][_0x34863f(0x2c4)];_0x17b26a[_0x34863f(0xa20)]&&this[_0x34863f(0x838)](_0x34863f(0xa19),_0x34863f(0xa1d)['format'](_0xd1f9b5[_0x34863f(0x416)](_0x29fce7)));if(_0x2fac61[_0x34863f(0x7c3)](_0x34931e)){if(_0x17b26a['ActionSkillMsg1'])this[_0x34863f(0x25d)](_0x525f56[_0x34863f(0x8b4)],_0xbcc716,_0x3a7262);if(_0x17b26a[_0x34863f(0x551)])this[_0x34863f(0x25d)](_0x2b6566[_0x34863f(0x772)],_0x4ed289,_0x5d61a0);}else{if(_0x17b26a[_0x34863f(0x161)])this[_0x34863f(0x25d)](_0x5c41ba['useItem'],_0x3c06d3,_0x57fa00);}}}},Game_Action[_0x5bdce9(0x768)]['isForRandomBattleCore']=function(){const _0x19c11e=_0x5bdce9,_0x1715a2=this[_0x19c11e(0xa8a)]()['scope'];return _0x1715a2[_0x19c11e(0x16b)](/(?:RAND|RANDOM)/i);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x7c2)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x1cf)],Game_Action['prototype']['needsSelection']=function(){const _0x4975a9=_0x5bdce9;if(this['isBattleCoreTargetScope']()&&!this[_0x4975a9(0x4ab)]())return _0x4975a9(0x7be)==='Lgdzc'?this['needsSelectionBattleCore']():0x24;else{if(_0x4975a9(0x88b)!==_0x4975a9(0x88b)){const _0x28dc70=this['getNextSubjectFromPool']();if(!_0x28dc70)return null;if(_0x28dc70[_0x4975a9(0x6b3)]()&&_0x28dc70[_0x4975a9(0x4d2)]())return _0x28dc70;}else return VisuMZ[_0x4975a9(0x61c)][_0x4975a9(0x7c2)][_0x4975a9(0x4b1)](this);}},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x29f)]=function(){const _0xb85837=_0x5bdce9,_0x4c624f=this[_0xb85837(0xa8a)]()[_0xb85837(0xa9f)];if(_0x4c624f[_0xb85837(0x16b)](/RANDOM/i))return![];if(_0x4c624f[_0xb85837(0x16b)](/ALL (?:ALLY|ALLIES|FRIEND|FRIENDS)/i))return![];if(_0x4c624f[_0xb85837(0x16b)](/ALL (?:ENEMY|ENEMIES|FOE|FOES)/i))return![];return VisuMZ['BattleCore'][_0xb85837(0x7c2)]['call'](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x6c1)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x707)],Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x707)]=function(){const _0x36a9e9=_0x5bdce9;let _0x35b9b3=[];return this['isBattleCoreTargetScope']()?_0x35b9b3=this[_0x36a9e9(0x478)]():_0x35b9b3=VisuMZ[_0x36a9e9(0x61c)][_0x36a9e9(0x6c1)][_0x36a9e9(0x4b1)](this),_0x35b9b3=this[_0x36a9e9(0x411)](_0x35b9b3),_0x35b9b3;},Game_Action['prototype'][_0x5bdce9(0x478)]=function(){const _0x182535=_0x5bdce9;let _0x4cefb8=[];const _0x19c031=String(this[_0x182535(0xa8a)]()[_0x182535(0xa9f)]),_0x35cb86=VisuMZ[_0x182535(0x61c)][_0x182535(0xaa5)](this['item'](),_0x182535(0x637));if(VisuMZ[_0x182535(0x61c)]['JS'][_0x35cb86]){if(_0x182535(0x283)===_0x182535(0x283)){_0x4cefb8=VisuMZ[_0x182535(0x61c)][_0x182535(0x6c1)]['call'](this);const _0x1e89b7=VisuMZ['BattleCore'][_0x182535(0xaa5)](this[_0x182535(0xa8a)](),_0x182535(0x637));return _0x4cefb8=VisuMZ[_0x182535(0x61c)]['JS'][_0x1e89b7][_0x182535(0x4b1)](this,this['subject'](),_0x4cefb8),this[_0x182535(0x665)](_0x4cefb8);}else{let _0x849be6='battleUIOffsetY';if(this[_0x182535(0x17f)](_0x849be6))return this[_0x182535(0x1f3)][_0x849be6];return this[_0x182535(0x1f3)][_0x849be6]=this[_0x182535(0xf6)](this[_0x182535(0xad6)]()),this['_cache'][_0x849be6];}}if(_0x19c031[_0x182535(0x16b)](/(\d+) RANDOM ANY/i)){let _0x33fed7=Number(RegExp['$1']);while(_0x33fed7--){const _0x1aa982=Math[_0x182535(0xaf7)](0x2)===0x0?this['opponentsUnit']():this['friendsUnit']();_0x4cefb8[_0x182535(0x838)](_0x1aa982['trueRandomTarget']());}return this[_0x182535(0x665)](_0x4cefb8);}if(_0x19c031['match'](/(\d+) RANDOM (?:ENEMY|ENEMIES|FOE|FOES)/i)){if('AkrQJ'!==_0x182535(0x698)){let _0x26b6ad=Number(RegExp['$1']);while(_0x26b6ad--){_0x4cefb8[_0x182535(0x838)](this['opponentsUnit']()[_0x182535(0x2db)]());}return this[_0x182535(0x665)](_0x4cefb8);}else _0x356a45[_0x182535(0x61c)]['Window_BattleLog_performReflection'][_0x182535(0x4b1)](this,_0x3448bf),this[_0x182535(0x670)]();}if(_0x19c031[_0x182535(0x16b)](/(\d+) RANDOM (?:ALLY|ALLIES|FRIEND|FRIENDS)/i)){if(_0x182535(0x687)===_0x182535(0x18d))return this['attackAnimationId1']();else{let _0xa0de11=Number(RegExp['$1']);while(_0xa0de11--){_0x4cefb8['push'](this[_0x182535(0x712)]()[_0x182535(0x2db)]());}return this[_0x182535(0x665)](_0x4cefb8);}}if(_0x19c031[_0x182535(0x16b)](/ALL (?:ALLY|ALLIES|FRIEND|FRIENDS) (?:BUT|EXCEPT) (?:USER|SELF)/i))return _0x4cefb8[_0x182535(0x838)](...this[_0x182535(0x712)]()[_0x182535(0xed)]()[_0x182535(0xb85)](_0x3f724f=>_0x3f724f!==this[_0x182535(0xb83)]())),this['repeatTargets'](_0x4cefb8);return VisuMZ[_0x182535(0x61c)][_0x182535(0x6c1)][_0x182535(0x4b1)](this);},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x8af)]=function(_0x535f83){const _0x5e46ff=_0x5bdce9,_0x15f5d3=[];for(let _0x59d6f2=0x0;_0x59d6f2<this[_0x5e46ff(0x4cf)]();_0x59d6f2++){_0x15f5d3['push'](_0x535f83[_0x5e46ff(0x2db)]());}return _0x15f5d3;},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x411)]=function(_0x1821d4){const _0x2f9fcc=_0x5bdce9;if(!this['item']())return _0x1821d4;const _0x5b4f18=this[_0x2f9fcc(0xa8a)]()[_0x2f9fcc(0x664)];if(_0x5b4f18[_0x2f9fcc(0x16b)](/(?:BUT|EXCEPT) (?:USER|SELF)/i)){if(_0x2f9fcc(0xa48)===_0x2f9fcc(0xa48))_0x1821d4['remove'](this['subject']());else{if(_0x456b04[_0x2f9fcc(0x4c3)])return![];return _0x3c4189['BattleCore'][_0x2f9fcc(0xb00)][_0x2f9fcc(0x4b1)](this);}}return _0x1821d4;},VisuMZ['BattleCore'][_0x5bdce9(0x282)]=Game_Action['prototype']['itemEffectAddAttackState'],Game_Action['prototype'][_0x5bdce9(0x33b)]=function(_0x695b43,_0x1a051e){const _0x3fc4c9=_0x5bdce9;VisuMZ[_0x3fc4c9(0x61c)][_0x3fc4c9(0x282)][_0x3fc4c9(0x4b1)](this,_0x695b43,_0x1a051e);if(!_0x695b43[_0x3fc4c9(0x606)]())return;for(const _0x335b39 of this[_0x3fc4c9(0xb83)]()[_0x3fc4c9(0xab8)]()){if(_0x335b39===_0x695b43['deathStateId']()){if('ClUKM'===_0x3fc4c9(0x570))return;else{let _0x42c89f=_0x1a051e['value1'];_0x42c89f*=_0x695b43[_0x3fc4c9(0x5b7)](_0x335b39),_0x42c89f*=this[_0x3fc4c9(0xb83)]()['attackStatesRate'](_0x335b39),_0x42c89f*=this[_0x3fc4c9(0x2ef)](_0x695b43),Math[_0x3fc4c9(0x3df)]()<_0x42c89f&&(_0x695b43[_0x3fc4c9(0xb87)]=!![],this[_0x3fc4c9(0xa4c)](_0x695b43));}}}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x28d)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0xb79)],Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0xb79)]=function(_0x170aef,_0x38217f){const _0x1a0148=_0x5bdce9;VisuMZ[_0x1a0148(0x61c)][_0x1a0148(0x28d)][_0x1a0148(0x4b1)](this,_0x170aef,_0x38217f);if(!_0x170aef['isImmortal']())return;if(_0x38217f[_0x1a0148(0x357)]!==_0x170aef[_0x1a0148(0x555)]())return;let _0x46abe6=_0x38217f[_0x1a0148(0x2c6)];!this[_0x1a0148(0x38f)]()&&(_0x46abe6*=_0x170aef[_0x1a0148(0x5b7)](_0x38217f[_0x1a0148(0x357)]),_0x46abe6*=this['lukEffectRate'](_0x170aef)),Math[_0x1a0148(0x3df)]()<_0x46abe6&&(_0x170aef[_0x1a0148(0xb87)]=!![],this[_0x1a0148(0xa4c)](_0x170aef));},VisuMZ[_0x5bdce9(0x61c)]['Game_Action_applyGlobal']=Game_Action['prototype'][_0x5bdce9(0x1c0)],Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x1c0)]=function(){const _0x4a79d6=_0x5bdce9;VisuMZ[_0x4a79d6(0x61c)][_0x4a79d6(0x963)][_0x4a79d6(0x4b1)](this),this['applyGlobalCommonEventNotetags'](),this['resetResultSwitches']();},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x891)]=function(){const _0x4d81e7=_0x5bdce9;if(!SceneManager[_0x4d81e7(0x5ea)]())return;const _0x5e8800=/<COMMON (?:EVENT|EVENTS):[ ](.*)>/gi,_0x525678=this[_0x4d81e7(0xa8a)]()[_0x4d81e7(0x664)][_0x4d81e7(0x16b)](_0x5e8800);if(_0x525678){if(_0x4d81e7(0x3ac)===_0x4d81e7(0x9f3))_0x197169['BattleCore'][_0x4d81e7(0x2e1)][_0x4d81e7(0x4b1)](this,_0xc8db8b);else for(const _0x2c2b5c of _0x525678){if(_0x4d81e7(0x106)!=='LOYNP'){if(!this[_0x4d81e7(0xa8a)]()[_0x4d81e7(0x95c)]['critical'])return 0x0;let _0x561804=_0x3df502[_0x4d81e7(0x61c)][_0x4d81e7(0x76e)][_0x4d81e7(0x40d)][_0x4d81e7(0x143)][_0x4d81e7(0x4b1)](this,_0x9e8e21);return _0x561804=this['_multipliers']['criticalHitRate']*_0x561804+this[_0x4d81e7(0x167)][_0x4d81e7(0x6d0)],_0x561804;}else{if(!_0x2c2b5c)continue;_0x2c2b5c[_0x4d81e7(0x16b)](_0x5e8800);const _0x580988=String(RegExp['$1'])['split'](',')[_0x4d81e7(0x782)](_0x3c1dc3=>String(_0x3c1dc3)[_0x4d81e7(0x92d)]()),_0x4f03f8=_0x580988[_0x4d81e7(0x782)](_0x46a9af=>DataManager['getCommonEventIdWithName'](_0x46a9af));for(const _0x5b555f of _0x4f03f8){const _0x4063e6=$dataCommonEvents[_0x5b555f];_0x4063e6&&$gameTemp[_0x4d81e7(0x32e)](_0x5b555f);}}}}},DataManager[_0x5bdce9(0x292)]=function(_0x5de0bd){const _0x11fc76=_0x5bdce9;_0x5de0bd=_0x5de0bd[_0x11fc76(0x673)]()[_0x11fc76(0x92d)](),this[_0x11fc76(0x564)]=this['_commonEventIDs']||{};if(this['_commonEventIDs'][_0x5de0bd])return this[_0x11fc76(0x564)][_0x5de0bd];for(const _0x407376 of $dataCommonEvents){if(!_0x407376)continue;let _0x4da13a=_0x407376[_0x11fc76(0x74e)];_0x4da13a=_0x4da13a[_0x11fc76(0x3a7)](/\x1I\[(\d+)\]/gi,''),_0x4da13a=_0x4da13a['replace'](/\\I\[(\d+)\]/gi,''),this[_0x11fc76(0x564)][_0x4da13a['toUpperCase']()[_0x11fc76(0x92d)]()]=_0x407376['id'];}return this['_commonEventIDs'][_0x5de0bd]||0x0;},Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x47f)]=function(){const _0x5c523d=_0x5bdce9;if(!SceneManager[_0x5c523d(0x5ea)]())return;const _0x5d8a88=VisuMZ[_0x5c523d(0x61c)][_0x5c523d(0x76e)][_0x5c523d(0x817)];_0x5d8a88[_0x5c523d(0x5db)]&&$gameSwitches['setValue'](_0x5d8a88[_0x5c523d(0x5db)],![]);_0x5d8a88[_0x5c523d(0x463)]&&$gameSwitches[_0x5c523d(0xadf)](_0x5d8a88['SwitchMissEvade'],![]);_0x5d8a88[_0x5c523d(0x2ed)]&&(_0x5c523d(0x33f)!==_0x5c523d(0x33f)?(this['_shadowScaleX']=this[_0x5c523d(0x371)]??0x1,this['_shadowScaleY']=this['_shadowScaleY']??0x1,this[_0x5c523d(0x748)][_0x5c523d(0x91d)]['x']=this[_0x5c523d(0xa9b)]['scale']['x']*this[_0x5c523d(0x371)],this[_0x5c523d(0x748)]['scale']['y']=this[_0x5c523d(0xa9b)][_0x5c523d(0x91d)]['y']*this[_0x5c523d(0x183)]):$gameVariables[_0x5c523d(0xadf)](_0x5d8a88[_0x5c523d(0x2ed)],0x0));if(_0x5d8a88['VariableHeal']){if(_0x5c523d(0x195)===_0x5c523d(0x195))$gameVariables[_0x5c523d(0xadf)](_0x5d8a88['VariableHeal'],0x0);else return![];}},Game_Action['prototype'][_0x5bdce9(0x5af)]=function(_0x648353){const _0x16c8f2=_0x5bdce9;if(!SceneManager[_0x16c8f2(0x5ea)]())return;if(!_0x648353)return;const _0x55fea8=_0x648353[_0x16c8f2(0x2c3)](),_0x21dade=VisuMZ[_0x16c8f2(0x61c)]['Settings']['Mechanics'];_0x21dade[_0x16c8f2(0x5db)]&&_0x55fea8[_0x16c8f2(0x580)]&&(_0x16c8f2(0x2b6)!=='EDrKE'?_0x588128=_0x5a78c7['CastMagical']:$gameSwitches['setValue'](_0x21dade[_0x16c8f2(0x5db)],!![]));if(_0x21dade[_0x16c8f2(0x463)]&&(_0x55fea8[_0x16c8f2(0xaef)]||_0x55fea8[_0x16c8f2(0x728)])){if(_0x16c8f2(0x495)===_0x16c8f2(0x1c2)){if(!this['isOptionsCommandAdded']())return;const _0x2111ef=this[_0x16c8f2(0x865)](),_0x35d75f=_0x3ef2fc[_0x16c8f2(0x61c)]['Settings'][_0x16c8f2(0x71c)][_0x16c8f2(0x8f6)],_0x23c241=_0x2111ef===_0x16c8f2(0x160)?_0x280555[_0x16c8f2(0x2d5)]:_0x16c8f2(0x5a6)[_0x16c8f2(0x824)](_0x35d75f,_0x395727[_0x16c8f2(0x2d5)]),_0x5b29ea=this['isOptionsCommandEnabled']();this[_0x16c8f2(0x97b)](_0x23c241,_0x16c8f2(0x2d5),_0x5b29ea);}else $gameSwitches[_0x16c8f2(0xadf)](_0x21dade[_0x16c8f2(0x463)],!![]);}if(_0x21dade[_0x16c8f2(0x2ed)]){if(_0x16c8f2(0x743)===_0x16c8f2(0xa74)){const _0x33039a=_0x588d49[_0x16c8f2(0xb0d)]();this[_0x16c8f2(0x838)](_0x16c8f2(0x4de),[_0x244b93],_0x51aec6,_0x467ed1),this['push'](_0x16c8f2(0x6d2),_0x49e2cb,_0x33039a[_0x16c8f2(0x666)],_0x33039a[_0x16c8f2(0x51a)],_0x270249,![],'Linear'),this[_0x16c8f2(0x838)]('requestMotion',[_0x1d325a],_0x16c8f2(0x545)),this[_0x16c8f2(0x838)](_0x16c8f2(0x3ba)),this[_0x16c8f2(0x838)](_0x16c8f2(0x319),[_0x39f442],_0x16c8f2(0x6c4));}else{let _0x239216=$gameVariables[_0x16c8f2(0x9b5)](_0x21dade[_0x16c8f2(0x2ed)]);_0x55fea8[_0x16c8f2(0x78f)]>0x0&&(_0x239216+=Math['abs'](_0x55fea8[_0x16c8f2(0x78f)])),$gameVariables['setValue'](_0x21dade[_0x16c8f2(0x2ed)],_0x239216);}}if(_0x21dade[_0x16c8f2(0x235)]){if(_0x16c8f2(0x818)===_0x16c8f2(0x818)){let _0x219d7e=$gameVariables[_0x16c8f2(0x9b5)](_0x21dade[_0x16c8f2(0x235)]);_0x55fea8[_0x16c8f2(0x78f)]<0x0&&(_0x16c8f2(0x614)==='CAOnr'?(this[_0x16c8f2(0x1ed)](),this[_0x16c8f2(0x983)]=null,this[_0x16c8f2(0x75c)]=![]):_0x219d7e+=Math[_0x16c8f2(0x41b)](_0x55fea8[_0x16c8f2(0x78f)])),$gameVariables[_0x16c8f2(0xadf)](_0x21dade[_0x16c8f2(0x235)],_0x219d7e);}else{const _0x1d2c93=_0x2cbf6d[_0x16c8f2(0x664)];if(_0x1d2c93[_0x16c8f2(0x16b)](/<JS TARGETS>\s*([\s\S]*)\s*<\/JS TARGETS>/i)){const _0x43e2e8=_0x4140e7(_0x8eecdf['$1']),_0x462295=_0x2fbcad['BattleCore'][_0x16c8f2(0xaa5)](_0x1eca6b,_0x16c8f2(0x637));_0x22e1a8[_0x16c8f2(0x61c)][_0x16c8f2(0x5b0)](_0x43e2e8,_0x462295);}if(_0x1d2c93[_0x16c8f2(0x16b)](/<JS COMMAND (?:VISIBLE|SHOW|HIDE)>\s*([\s\S]*)\s*<\/JS COMMAND (?:VISIBLE|SHOW|HIDE)>/i)){const _0x4931a4=_0x5be5b4(_0x4b50a7['$1']),_0x529c91=_0x51eae['BattleCore'][_0x16c8f2(0xaa5)](_0x14d738,'CommandVisible');_0x3b9260[_0x16c8f2(0x61c)][_0x16c8f2(0x415)](_0x4931a4,_0x529c91);}}}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x9b4)]=Game_BattlerBase['prototype'][_0x5bdce9(0x3b5)],Game_BattlerBase['prototype'][_0x5bdce9(0x3b5)]=function(){const _0x172a3e=_0x5bdce9;VisuMZ['BattleCore'][_0x172a3e(0x9b4)][_0x172a3e(0x4b1)](this),this[_0x172a3e(0x858)]();},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x858)]=function(){const _0x9f7428=_0x5bdce9;this[_0x9f7428(0x87b)]=![];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x245)]=Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0xf7)],Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0xf7)]=function(){const _0x39d62c=_0x5bdce9;this[_0x39d62c(0x1f3)]={},VisuMZ['BattleCore']['Game_BattlerBase_refresh'][_0x39d62c(0x4b1)](this);},Game_BattlerBase[_0x5bdce9(0x768)]['checkCacheKey']=function(_0x186516){const _0xcae54c=_0x5bdce9;return this['_cache']=this[_0xcae54c(0x1f3)]||{},this[_0xcae54c(0x1f3)][_0x186516]!==undefined;},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x33a)]=function(){const _0x27f06d=_0x5bdce9;if(this[_0x27f06d(0x1f3)][_0x27f06d(0x33a)]!==undefined)return this[_0x27f06d(0x1f3)]['hardDamageCap'];const _0x2e62e8=/<DAMAGE CAP:[ ](\d+)>/i,_0x37b9e0=this['traitObjects']()['map'](_0x279519=>_0x279519&&_0x279519[_0x27f06d(0x664)][_0x27f06d(0x16b)](_0x2e62e8)?Number(RegExp['$1']):0x0);let _0x844f60=_0x37b9e0[_0x27f06d(0x12d)]>0x0?Math[_0x27f06d(0xa5e)](..._0x37b9e0):0x0;if(_0x844f60<=0x0)_0x844f60=VisuMZ[_0x27f06d(0x61c)][_0x27f06d(0x76e)]['Damage'][_0x27f06d(0x210)];return this[_0x27f06d(0x1f3)][_0x27f06d(0x33a)]=_0x844f60,this['_cache']['hardDamageCap'];},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0xdc)]=function(){const _0x233d36=_0x5bdce9;if(this['_cache'][_0x233d36(0x6f1)]!==undefined)return this[_0x233d36(0x1f3)][_0x233d36(0x6f1)];let _0x550efe=VisuMZ['BattleCore'][_0x233d36(0x76e)][_0x233d36(0x40d)][_0x233d36(0x4da)];const _0x412d25=/<SOFT DAMAGE CAP:[ ]([\+\-]\d+)([%％])>/i,_0x3db78c=this[_0x233d36(0xb51)]()['map'](_0x2f0ac2=>_0x2f0ac2&&_0x2f0ac2['note'][_0x233d36(0x16b)](_0x412d25)?Number(RegExp['$1'])/0x64:0x0);return _0x550efe=_0x3db78c['reduce']((_0x1b7bf1,_0xaa5da1)=>_0x1b7bf1+_0xaa5da1,_0x550efe),this[_0x233d36(0x1f3)]['softDamageCap']=_0x550efe,this[_0x233d36(0x1f3)][_0x233d36(0x6f1)][_0x233d36(0xaa0)](0.01,0x1);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x2be)]=Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x31b)],Game_BattlerBase['prototype'][_0x5bdce9(0x31b)]=function(){const _0x5ecadd=_0x5bdce9;VisuMZ[_0x5ecadd(0x61c)]['Game_BattlerBase_die'][_0x5ecadd(0x4b1)](this),SceneManager[_0x5ecadd(0x5ea)]()&&this['requestMotion'](_0x5ecadd(0x325));},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0xb0d)]=function(){const _0x7455ae=_0x5bdce9;if(!SceneManager['isSceneBattle']())return null;if(!SceneManager[_0x7455ae(0x352)][_0x7455ae(0x25a)])return null;return SceneManager[_0x7455ae(0x352)][_0x7455ae(0x25a)]['findTargetSprite'](this);},Game_BattlerBase[_0x5bdce9(0x768)]['svBattlerAnchorX']=function(){const _0x2c953c=_0x5bdce9;return VisuMZ[_0x2c953c(0x61c)]['Settings'][_0x2c953c(0xe6)][_0x2c953c(0x1e5)];},Game_BattlerBase['prototype']['svBattlerAnchorY']=function(){const _0x429b8e=_0x5bdce9;return VisuMZ[_0x429b8e(0x61c)][_0x429b8e(0x76e)]['Actor'][_0x429b8e(0x192)];},Game_BattlerBase[_0x5bdce9(0x768)]['svBattlerShadowVisible']=function(){const _0x4c05a9=_0x5bdce9;return this['isActor']&&this[_0x4c05a9(0x491)]()?VisuMZ[_0x4c05a9(0x61c)][_0x4c05a9(0x76e)][_0x4c05a9(0xe6)]['Shadow']:VisuMZ[_0x4c05a9(0x61c)][_0x4c05a9(0x76e)][_0x4c05a9(0x14a)]['Shadow'];},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x987)]=function(){return!![];},Game_BattlerBase[_0x5bdce9(0x768)]['battleUIOffsetX']=function(){return 0x0;},Game_BattlerBase[_0x5bdce9(0x768)]['battleUIOffsetY']=function(){return 0x0;},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x979)]=function(_0x426ce6){const _0xdc1e30=_0x5bdce9;if(!_0x426ce6)return 0x0;let _0x3efaea=0x0;const _0x2fdaef=_0x426ce6[_0xdc1e30(0x664)];_0x2fdaef[_0xdc1e30(0x16b)](/<BATTLE UI OFFSET X:[ ]([\+\-]\d+)>/i)&&(_0x3efaea+=Number(RegExp['$1']));if(_0x2fdaef[_0xdc1e30(0x16b)](/<BATTLE UI OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)){if(_0xdc1e30(0x2ae)!==_0xdc1e30(0x289))_0x3efaea+=Number(RegExp['$1']);else return _0x2e9067[_0xdc1e30(0x9bd)];}return _0x3efaea;},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0xf6)]=function(_0x336b33){const _0x5e2918=_0x5bdce9;if(!_0x336b33)return 0x0;let _0x161e89=0x0;const _0x5b1280=_0x336b33[_0x5e2918(0x664)];_0x5b1280[_0x5e2918(0x16b)](/<BATTLE UI OFFSET Y:[ ]([\+\-]\d+)>/i)&&(_0x161e89+=Number(RegExp['$1']));if(_0x5b1280[_0x5e2918(0x16b)](/<BATTLE UI OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)){if('sUmOO'!=='sUmOO'){if(!_0x105c06[_0x5e2918(0xa03)])return;if(this['constructor']===_0x56192c)return;const _0x2958f7=_0x500d50[_0x5e2918(0x61c)]['Settings'][_0x5e2918(0x9d6)],_0x380da4=new _0x538585();_0x380da4['anchor']['x']=_0x2958f7[_0x5e2918(0x1e5)],_0x380da4[_0x5e2918(0x887)]['y']=_0x2958f7['AnchorY'],_0x380da4[_0x5e2918(0x91d)]['x']=_0x380da4[_0x5e2918(0x91d)]['y']=_0x2958f7[_0x5e2918(0x736)],this['_hpGaugeSprite']=_0x380da4,this['addChild'](this[_0x5e2918(0x53c)]),_0xe867e[_0x5e2918(0x69e)]&&_0x768ab4[_0x5e2918(0x89c)](this[_0x5e2918(0x53c)]);}else _0x161e89+=Number(RegExp['$2']);}return _0x161e89;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x708)]=Game_BattlerBase['prototype'][_0x5bdce9(0xa73)],Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0xa73)]=function(_0x160911){const _0x4fa44a=_0x5bdce9;if(_0x160911===this[_0x4fa44a(0x555)]()&&this[_0x4fa44a(0x606)]())return!![];return VisuMZ[_0x4fa44a(0x61c)][_0x4fa44a(0x708)][_0x4fa44a(0x4b1)](this,_0x160911);},Game_BattlerBase[_0x5bdce9(0x768)]['isImmortal']=function(){const _0x372811=_0x5bdce9;return this[_0x372811(0x87b)];},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x78c)]=function(_0x440a05){const _0x2c433f=_0x5bdce9;if(_0x440a05){if('BKDHG'!==_0x2c433f(0x221)){const _0x552fd3=_0x2c433f(0x5a6);let _0x104525=_0x2048ba[_0x2c433f(0x9bd)],_0x15198c=_0xa7e49f['name'];const _0xb0e157=_0x40e4d5[_0x2c433f(0x664)];return _0xb0e157[_0x2c433f(0x16b)](/<DISPLAY ICON: (\d+)>/i)&&(_0x104525=_0x691189(_0x5c1a71['$1'])),_0xb0e157[_0x2c433f(0x16b)](/<DISPLAY TEXT: (.*)>/i)&&(_0x15198c=_0x3f5aee(_0x121073['$1'])),_0x552fd3[_0x2c433f(0x824)](_0x104525,_0x15198c);}else this[_0x2c433f(0x901)]();}else this[_0x2c433f(0x981)]();},Game_BattlerBase[_0x5bdce9(0x768)]['addImmortal']=function(){const _0x43ce3e=_0x5bdce9;if(this[_0x43ce3e(0x9a3)]())return;this['_immortal']=!![],this[_0x43ce3e(0xb87)]=![];},Game_BattlerBase[_0x5bdce9(0x768)]['removeImmortal']=function(){const _0x2a549a=_0x5bdce9,_0x4c9682=this[_0x2a549a(0x4d2)]();this['_immortal']=![];_0x4c9682&&this[_0x2a549a(0xb87)]&&this[_0x2a549a(0x31b)]();this['_deathStateApplied']=![],this[_0x2a549a(0xf7)]();if(this[_0x2a549a(0x9a3)]()&&_0x4c9682){if(_0x2a549a(0x50c)===_0x2a549a(0x7eb)){const _0x446d72=_0x1b2738[_0x2a549a(0xad6)]();_0x444681[_0x2a549a(0x61c)]['Scene_Battle_selectNextCommand'][_0x2a549a(0x4b1)](this);if(_0x446d72){if(_0x446d72===_0x214eb3[_0x2a549a(0xad6)]())return;if(_0x446d72===_0x6c420f[_0x2a549a(0xb40)])return;if(_0x446d72[_0x2a549a(0xb0d)]())_0x446d72[_0x2a549a(0xb0d)]()['stepBack']();}}else this['performCollapse'](),this[_0x2a549a(0xb69)]();}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x4bb)]=Game_Action[_0x5bdce9(0x768)]['numRepeats'],Game_Action['prototype'][_0x5bdce9(0x4bd)]=function(){const _0x165027=_0x5bdce9;return this[_0x165027(0xa8a)]()?VisuMZ['BattleCore'][_0x165027(0x4bb)][_0x165027(0x4b1)](this):0x0;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x7ff)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x39f)],Game_Action[_0x5bdce9(0x768)]['setAttack']=function(){const _0x24fd8a=_0x5bdce9;this['subject']()&&this[_0x24fd8a(0xb83)]()[_0x24fd8a(0x9fc)]()?VisuMZ['BattleCore'][_0x24fd8a(0x7ff)][_0x24fd8a(0x4b1)](this):this['clear']();},VisuMZ[_0x5bdce9(0x61c)]['Game_BattlerBase_canAttack']=Game_BattlerBase['prototype'][_0x5bdce9(0x9fc)],Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x9fc)]=function(){const _0x3b011a=_0x5bdce9;if(!this[_0x3b011a(0x6b8)]())return![];return VisuMZ[_0x3b011a(0x61c)]['Game_BattlerBase_canAttack'][_0x3b011a(0x4b1)](this);},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x6b8)]=function(){const _0x5bb136=_0x5bdce9;for(const _0x962fc4 of this[_0x5bb136(0xb51)]()){if('RzRNn'!==_0x5bb136(0x7ac)){if(!_0x962fc4)continue;if(_0x962fc4[_0x5bb136(0x664)]['match'](/<(?:ATTACK SEAL|SEAL ATTACK)>/i))return![];}else _0x3e65be[_0x5bb136(0x61c)][_0x5bb136(0x85e)]&&_0x4680f9[_0x5bb136(0x61c)][_0x5bb136(0x85e)][_0x5bb136(0x4b1)](this,_0xf44140),_0x252d62['BattleCore'][_0x5bb136(0x57e)](_0x2dc174);}return!![];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x609)]=Game_Action[_0x5bdce9(0x768)][_0x5bdce9(0x464)],Game_Action[_0x5bdce9(0x768)]['setGuard']=function(){const _0x22b2a5=_0x5bdce9;this[_0x22b2a5(0xb83)]()['canGuard']()&&VisuMZ[_0x22b2a5(0x61c)]['Game_Action_setGuard'][_0x22b2a5(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x3c8)]=Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x277)],Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x277)]=function(){const _0xb4110c=_0x5bdce9;if(!this['canGuardBattleCore']())return![];return VisuMZ[_0xb4110c(0x61c)][_0xb4110c(0x3c8)][_0xb4110c(0x4b1)](this);},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x9d2)]=function(){const _0x2f25cf=_0x5bdce9;for(const _0x256554 of this[_0x2f25cf(0xb51)]()){if(!_0x256554)continue;if(_0x256554['note'][_0x2f25cf(0x16b)](/<(?:GUARD SEAL|SEAL GUARD)>/i))return![];}return!![];},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0xaf2)]=function(){const _0x3551ec=_0x5bdce9;for(const _0x4fb62a of this[_0x3551ec(0xb51)]()){if(_0x3551ec(0x89e)!==_0x3551ec(0x89e)){if(!_0x5834bd[_0x3551ec(0x9f2)])return;if(!_0x108a74[_0x3551ec(0x5ea)]())return;if(this[_0x3551ec(0x9a3)]())return;if(this['isHidden']())return;if(_0x5b07e4[_0x3551ec(0x664)]['match'](/<(?:REGENERATE|REGEN|DEGEN|DOT|SLIP)[ ]ANIMATION:[ ](\d+)>/i)){const _0xbf9c2a=_0x62066b(_0x26315a['$1']);_0x4bd93c[_0x3551ec(0x9b3)]([this],_0xbf9c2a,![],![]);}}else{if(!_0x4fb62a)continue;if(_0x4fb62a[_0x3551ec(0x664)][_0x3551ec(0x16b)](/<(?:ITEM SEAL|SEAL ITEM|SEAL ITEMS)>/i))return![];}}return!![];},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x390)]=function(){const _0x124f43=_0x5bdce9;return VisuMZ[_0x124f43(0x61c)]['Settings'][_0x124f43(0x817)][_0x124f43(0x2a1)];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x9cb)]=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x4d4)],Game_Battler['prototype'][_0x5bdce9(0x4d4)]=function(){const _0x44d6f5=_0x5bdce9;if(SceneManager[_0x44d6f5(0x5ea)]()){if('uuFdZ'!=='WzJEc'){if(BattleManager['isTpb']()){if(this[_0x44d6f5(0x7a0)]()<=0x0)return;}else{if($gameTroop[_0x44d6f5(0x7a0)]()<=0x0)return;}}else _0x4a4f93[_0x44d6f5(0x61c)][_0x44d6f5(0x20f)][_0x44d6f5(0x4b1)](this,_0x1e8b58),this[_0x44d6f5(0x670)]();}if(SceneManager[_0x44d6f5(0x5ea)]()&&BattleManager[_0x44d6f5(0x985)]()&&this[_0x44d6f5(0x873)]===Graphics[_0x44d6f5(0x2bc)])return;this[_0x44d6f5(0x873)]=Graphics['frameCount'];SceneManager['isSceneBattle']()&&this[_0x44d6f5(0x9dd)](_0x44d6f5(0x68f));VisuMZ['BattleCore']['Game_Battler_regenerateAll'][_0x44d6f5(0x4b1)](this);if(SceneManager[_0x44d6f5(0x5ea)]()){if(_0x44d6f5(0x775)===_0x44d6f5(0x775))this[_0x44d6f5(0x214)](),this[_0x44d6f5(0x9dd)](_0x44d6f5(0x8a8));else return _0x38508d['BattleCore']['Settings']['AutoBattle'][_0x44d6f5(0x990)];}},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x214)]=function(){const _0x2ef559=_0x5bdce9;if(SceneManager[_0x2ef559(0x5ea)]())for(const _0x791f4b of this[_0x2ef559(0xb51)]()){if(!_0x791f4b)continue;this['onRegeneratePlayStateAnimation'](_0x791f4b);}},Game_Battler['prototype'][_0x5bdce9(0x4a5)]=function(_0x27a6f8){const _0x38d7b5=_0x5bdce9;if(!Imported['VisuMZ_0_CoreEngine'])return;if(!SceneManager[_0x38d7b5(0x5ea)]())return;if(this[_0x38d7b5(0x9a3)]())return;if(this[_0x38d7b5(0x90e)]())return;if(_0x27a6f8[_0x38d7b5(0x664)][_0x38d7b5(0x16b)](/<(?:REGENERATE|REGEN|DEGEN|DOT|SLIP)[ ]ANIMATION:[ ](\d+)>/i)){const _0x2063bd=Number(RegExp['$1']);$gameTemp['requestFauxAnimation']([this],_0x2063bd,![],![]);}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x1f2)]=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x21c)],Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x21c)]=function(){const _0x5491e2=_0x5bdce9;this[_0x5491e2(0x9dd)]('PreStartTurnJS'),VisuMZ[_0x5491e2(0x61c)][_0x5491e2(0x1f2)][_0x5491e2(0x4b1)](this),this[_0x5491e2(0x9dd)](_0x5491e2(0x17c));},VisuMZ['BattleCore'][_0x5bdce9(0x224)]=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x45b)],Game_Battler['prototype'][_0x5bdce9(0x45b)]=function(){const _0x212149=_0x5bdce9;this[_0x212149(0x9dd)](_0x212149(0xb81)),VisuMZ[_0x212149(0x61c)][_0x212149(0x224)][_0x212149(0x4b1)](this),this[_0x212149(0x9dd)](_0x212149(0x7b9));},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x9dd)]=function(_0x2107cd){const _0x12d14d=_0x5bdce9;if(this['_tempBattler']||this['_tempActor'])return;const _0x507f62=VisuMZ['BattleCore'][_0x12d14d(0x76e)][_0x12d14d(0x817)];if(_0x507f62[_0x2107cd])_0x507f62[_0x2107cd][_0x12d14d(0x4b1)](this);for(const _0x286171 of this[_0x12d14d(0xb51)]()){if(!_0x286171)continue;key=VisuMZ[_0x12d14d(0x61c)][_0x12d14d(0xaa5)](_0x286171,_0x2107cd),VisuMZ[_0x12d14d(0x61c)]['JS'][key]&&VisuMZ[_0x12d14d(0x61c)]['JS'][key][_0x12d14d(0x4b1)](this,this,this,_0x286171,0x0);}},Game_Battler[_0x5bdce9(0x768)]['chantStyle']=function(){const _0x470194=_0x5bdce9;return VisuMZ[_0x470194(0x61c)][_0x470194(0x76e)][_0x470194(0xe6)][_0x470194(0x97d)]||![];},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x6cb)]=function(){const _0x2a8178=_0x5bdce9;if(this['isWaiting']()){if(this[_0x2a8178(0x191)]()){if(this['_actions']['some'](_0x3a2ec7=>_0x3a2ec7[_0x2a8178(0xa8a)]()&&_0x3a2ec7[_0x2a8178(0xfb)]())){if(_0x2a8178(0x986)==='fkWij')this[_0x2a8178(0xaff)]=0x8;else return!![];}}else{if(this[_0x2a8178(0x53e)][_0x2a8178(0x82d)](_0x5c884f=>_0x5c884f[_0x2a8178(0xa8a)]()&&_0x5c884f[_0x2a8178(0xe7)]()))return!![];}}if(BattleManager[_0x2a8178(0x985)]()&&this['_tpbState']==='casting'){if(this[_0x2a8178(0x191)]()){if(_0x2a8178(0x268)!==_0x2a8178(0x851))return this[_0x2a8178(0x76b)]()&&this[_0x2a8178(0x76b)]()['item']()&&this[_0x2a8178(0x76b)]()[_0x2a8178(0xfb)]();else{if(!_0x27db5f[_0x2a8178(0x5ea)]())return;if(!_0x20c8f9[_0x2a8178(0x27b)])return;_0x5a294c[_0x2a8178(0x866)](_0x1d339c,_0x4272c1);const _0x349c3b=_0x56201d[_0x2a8178(0xb48)](),_0x3600b4=_0x50b05a[_0x2a8178(0xaec)];if(!_0x349c3b)return;_0x25fdc2[_0x2a8178(0x7ee)](0x0,_0x55aac5['Duration'],_0x5316e3['EasingType']);if(_0x3600b4)_0x349c3b[_0x2a8178(0x73c)](_0x2a8178(0x3f5));}}else return _0x2a8178(0x8dc)===_0x2a8178(0x259)?this[_0x2a8178(0x3b2)]*this[_0x2a8178(0x6ee)]():this[_0x2a8178(0x76b)]()&&this['currentAction']()[_0x2a8178(0xa8a)]()&&this[_0x2a8178(0x76b)]()['isMagicSkill']();}return![];},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0xb31)]=function(){const _0x2e9a86=_0x5bdce9;if(BattleManager[_0x2e9a86(0x985)]()&&this[_0x2e9a86(0x309)]===_0x2e9a86(0xa17)){if(this['chantStyle']())return this[_0x2e9a86(0x76b)]()&&this[_0x2e9a86(0x76b)]()['item']()&&!this[_0x2e9a86(0x76b)]()[_0x2e9a86(0xfb)]();else{if(_0x2e9a86(0x18e)!=='WSyhV'){_0x29c142[_0x2e9a86(0x768)][_0x2e9a86(0x11b)][_0x2e9a86(0x4b1)](this);const _0x21c22c=this[_0x2e9a86(0x19d)]();_0x21c22c===_0x2e9a86(0x5f1)&&this[_0x2e9a86(0xafd)]();}else return this['currentAction']()&&this[_0x2e9a86(0x76b)]()[_0x2e9a86(0xa8a)]()&&!this[_0x2e9a86(0x76b)]()[_0x2e9a86(0xe7)]();}}return![];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x6c9)]=Game_Battler['prototype'][_0x5bdce9(0x403)],Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x403)]=function(){const _0x1ca140=_0x5bdce9;VisuMZ[_0x1ca140(0x61c)][_0x1ca140(0x6c9)][_0x1ca140(0x4b1)](this),this[_0x1ca140(0x43f)]=[];},Game_Battler['prototype'][_0x5bdce9(0x968)]=function(){const _0x31ea1d=_0x5bdce9;if(!this[_0x31ea1d(0x43f)])this[_0x31ea1d(0x403)]();return this['_damagePopupArray'][_0x31ea1d(0x12d)]>0x0;},Game_Battler['prototype'][_0x5bdce9(0x189)]=function(){const _0x252e83=_0x5bdce9;if(!SceneManager[_0x252e83(0x5ea)]())return;if(!this[_0x252e83(0x43f)])this['clearDamagePopup']();this[_0x252e83(0x51d)]();const _0x3cb71e=this['battler']();if(_0x3cb71e)_0x3cb71e['setupDamagePopup']();},Game_Battler['prototype'][_0x5bdce9(0x51d)]=function(){const _0xd7dbd2=_0x5bdce9,_0x2fd142=this[_0xd7dbd2(0x2c3)]();if(_0x2fd142['missed']||_0x2fd142[_0xd7dbd2(0x728)]){if('bnIby'===_0xd7dbd2(0x59d))this[_0xd7dbd2(0x16a)]=this[_0xd7dbd2(0x99a)](this[_0xd7dbd2(0x16a)],this[_0xd7dbd2(0x3ce)],_0x2669cd,_0x137fdb,_0x4fe8bc);else{const _0x91fd70=JsonEx[_0xd7dbd2(0x87e)](_0x2fd142);_0x91fd70[_0xd7dbd2(0x825)]=![],_0x91fd70[_0xd7dbd2(0x9c0)]=0x0,this['_damagePopupArray']['push'](_0x91fd70);}}if(_0x2fd142['hpAffected']){const _0x445141=JsonEx[_0xd7dbd2(0x87e)](_0x2fd142);_0x445141['missed']=![],_0x445141['evaded']=![],_0x445141[_0xd7dbd2(0x9c0)]=0x0,this['_damagePopupArray'][_0xd7dbd2(0x838)](_0x445141);}if(_0x2fd142[_0xd7dbd2(0x9c0)]!==0x0){const _0x572b59=JsonEx['makeDeepCopy'](_0x2fd142);_0x572b59[_0xd7dbd2(0xaef)]=![],_0x572b59[_0xd7dbd2(0x728)]=![],_0x572b59[_0xd7dbd2(0x825)]=![],this['_damagePopupArray'][_0xd7dbd2(0x838)](_0x572b59);}},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x30e)]=function(){const _0x5d193f=_0x5bdce9;if(!this['_damagePopupArray'])this['clearDamagePopup']();return VisuMZ[_0x5d193f(0x61c)][_0x5d193f(0x76e)][_0x5d193f(0x40d)]['NewPopupBottom']?this['_damagePopupArray'][_0x5d193f(0x52e)]():this[_0x5d193f(0x43f)][_0x5d193f(0xa49)]();},Game_Battler[_0x5bdce9(0x768)]['setupTextPopup']=function(_0x19dbe8,_0x295ec5){const _0x59a774=_0x5bdce9;if(!SceneManager[_0x59a774(0x5ea)]())return;if(!this[_0x59a774(0xb0d)]())return;if(_0x19dbe8[_0x59a774(0x12d)]<=0x0)return;_0x295ec5=_0x295ec5||{},_0x295ec5[_0x59a774(0x9ac)]=_0x295ec5['textColor']||_0x59a774(0xaf6),_0x295ec5[_0x59a774(0x65f)]=_0x295ec5[_0x59a774(0x65f)]||[0x0,0x0,0x0,0x0],_0x295ec5[_0x59a774(0x43e)]=_0x295ec5['flashDuration']||0x0,this[_0x59a774(0xb0d)]()[_0x59a774(0xafa)](_0x19dbe8,_0x295ec5);},Game_Battler['prototype']['setupIconTextPopup']=function(_0x34c1dc,_0x4cea77,_0x4d30e9){const _0x2f2052=_0x5bdce9;if(!SceneManager[_0x2f2052(0x5ea)]())return;if(!this[_0x2f2052(0xb0d)]())return;if(_0x4cea77[_0x2f2052(0x12d)]<=0x0)return;_0x4d30e9=_0x4d30e9||{},_0x4d30e9[_0x2f2052(0x9ac)]=_0x4d30e9[_0x2f2052(0x9ac)]||'#ffffff',_0x4d30e9['flashColor']=_0x4d30e9[_0x2f2052(0x65f)]||[0x0,0x0,0x0,0x0],_0x4d30e9[_0x2f2052(0x43e)]=_0x4d30e9[_0x2f2052(0x43e)]||0x0,this['battler']()[_0x2f2052(0x974)](_0x34c1dc,_0x4cea77,_0x4d30e9);},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x66a)]=function(){const _0x406099=_0x5bdce9;if(this['isHidden']())return![];if(this[_0x406099(0x4d2)]()&&this[_0x406099(0x6ed)]())return!![];if(this[_0x406099(0x203)]()&&this[_0x406099(0x3a3)]()){if(this[_0x406099(0x9a3)]()&&this[_0x406099(0x4a0)]())return![];}else{if(this[_0x406099(0x9a3)]())return![];}return!![];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x647)]=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x593)],Game_Battler['prototype']['clearMotion']=function(){const _0x21ddb8=_0x5bdce9;VisuMZ[_0x21ddb8(0x61c)][_0x21ddb8(0x647)]['call'](this),this[_0x21ddb8(0x8f1)]();},Game_Battler[_0x5bdce9(0x768)]['canBattlerMove']=function(){return!![];},Game_Battler['prototype'][_0x5bdce9(0x5c9)]=function(){return![];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xad8)]=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x81c)],Game_Battler['prototype'][_0x5bdce9(0x81c)]=function(_0x18ac90){const _0x40d77c=_0x5bdce9;VisuMZ[_0x40d77c(0x61c)][_0x40d77c(0xad8)][_0x40d77c(0x4b1)](this,_0x18ac90),this[_0x40d77c(0x821)](_0x18ac90);},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x821)]=function(_0x38011c){const _0x1a028b=_0x5bdce9;this[_0x1a028b(0x781)](![]),this[_0x1a028b(0x185)]=undefined,this[_0x1a028b(0x9fa)]=undefined;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x912)]=Game_Battler['prototype'][_0x5bdce9(0x9d5)],Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x9d5)]=function(){const _0x501265=_0x5bdce9;VisuMZ[_0x501265(0x61c)][_0x501265(0x912)][_0x501265(0x4b1)](this),this[_0x501265(0x3db)]();},Game_Battler[_0x5bdce9(0x768)]['onBattleEndBattleCore']=function(){const _0x4663a5=_0x5bdce9;this['_forcedHomeX']=undefined,this[_0x4663a5(0x9fa)]=undefined;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x3f7)]=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x187)],Game_Battler['prototype']['performActionStart']=function(_0x1e98f8){const _0x43c83d=_0x5bdce9;VisuMZ[_0x43c83d(0x61c)]['Game_Battler_performActionStart'][_0x43c83d(0x4b1)](this,_0x1e98f8);if(!_0x1e98f8[_0x43c83d(0x8b8)]()){if('soIVQ'===_0x43c83d(0x157)){const _0x5e1ddf=this[_0x43c83d(0xb0d)]();_0x5e1ddf&&_0x5e1ddf[_0x43c83d(0x373)]();}else{if(!_0x295ba4[_0x43c83d(0x5ea)]())return![];if(!_0x366c3a)return![];if(!_0x3a117b[_0x43c83d(0xa8a)]())return![];if(_0x39ef70[_0x43c83d(0xa8a)]()['note']['match'](/<CUSTOM ACTION SEQUENCE>/i))return!![];if(_0xde127f[_0x43c83d(0x91f)](_0x4339c5[_0x43c83d(0xa8a)]()))return!![];return![];}}this['setBattlerFlip'](![]);},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x27c)]=function(){const _0x40a192=_0x5bdce9,_0xb675ed=this[_0x40a192(0x5a8)];this[_0x40a192(0x5a8)]=![];if(BattleManager['isActiveTpb']()&&this['isInputting']()){const _0x5f38c5=this[_0x40a192(0xb0d)]();if(_0x5f38c5&&_0xb675ed)_0x5f38c5[_0x40a192(0x373)]();return;}const _0x4e8913=this[_0x40a192(0xb0d)]();if(_0x4e8913)_0x4e8913['stepBack']();this[_0x40a192(0x781)](![]),this[_0x40a192(0xb69)]();},Game_Battler[_0x5bdce9(0x768)]['performActionMotions']=function(_0x358321){const _0x3721f7=_0x5bdce9;if(_0x358321[_0x3721f7(0x514)]()){if('JeQAJ'==='JeQAJ')this['performAttack']();else return _0x208ef5[_0x3721f7(0x61c)]['Game_Interpreter_command301']['call'](this,_0x127c60),_0x28e4c9['setEventCallback'](_0x468056=>{const _0x40962a=_0x3721f7;this['_branch'][this[_0x40962a(0x83b)]]=_0x468056;}),!![];}else{if(_0x358321[_0x3721f7(0x8b8)]()){if(_0x3721f7(0x446)!==_0x3721f7(0x446)){if(_0x37a898['_battler']&&_0xeae511[_0x3721f7(0x976)]){if(_0x4fc07d[_0x3721f7(0x976)][_0x3721f7(0x491)]()&&_0x2583c4['_battler'][_0x3721f7(0x203)]())return 0x1;else{if(_0x566373[_0x3721f7(0x976)][_0x3721f7(0x491)]()&&_0x2ad4da[_0x3721f7(0x976)][_0x3721f7(0x203)]())return-0x1;}}}else this[_0x3721f7(0x319)](_0x3721f7(0xe9));}else{if(_0x358321['isMagical']())this[_0x3721f7(0x319)](_0x3721f7(0x293));else{if(_0x358321['isSkill']()){if(_0x358321[_0x3721f7(0xa8a)]()[_0x3721f7(0x95c)][_0x3721f7(0x900)]>0x0){if(_0x3721f7(0xb2b)!=='gJgto')this[_0x3721f7(0x722)]();else return this['isBattleCoreTargetScope']()&&!this[_0x3721f7(0x4ab)]()?this[_0x3721f7(0x36e)]():_0x31de42[_0x3721f7(0x61c)][_0x3721f7(0xb08)][_0x3721f7(0x4b1)](this);}else this[_0x3721f7(0x319)](_0x3721f7(0x895));}else _0x358321[_0x3721f7(0x846)]()&&this['requestMotion']('item');}}}},Game_Battler['prototype'][_0x5bdce9(0xacd)]=function(){const _0x274796=_0x5bdce9;return $dataSystem[_0x274796(0x300)][0x0];},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x870)]=function(){const _0x488907=_0x5bdce9,_0x19d70b=this[_0x488907(0xacd)]();return _0x19d70b?_0x19d70b[_0x488907(0x1dc)]:0x0;},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0xaeb)]=function(_0x21c789){const _0x29e31e=_0x5bdce9;if(!$gameSystem[_0x29e31e(0x68b)]())return;const _0x2f5ff3=this[_0x29e31e(0xb0d)](),_0x5b0bc2=_0x21c789[_0x29e31e(0xb0d)]();if(!_0x2f5ff3||!_0x5b0bc2)return;const _0x316244=_0x5b0bc2[_0x29e31e(0x8f0)],_0x3ab4fc=_0x5b0bc2['_baseY'];this[_0x29e31e(0xa3e)](_0x316244,_0x3ab4fc,0x0,![],'Linear',-0x1),_0x2f5ff3['updatePosition']();const _0x32c118=VisuMZ[_0x29e31e(0x61c)][_0x29e31e(0x76e)][_0x29e31e(0x964)];let _0x5a9a15=(_0x5b0bc2[_0x29e31e(0x3b2)]+_0x2f5ff3[_0x29e31e(0x3b2)])/0x2;_0x5a9a15*=this['isActor']()?0x1:-0x1;let _0x426e49=_0x32c118[_0x29e31e(0xa5a)]*(this[_0x29e31e(0x491)]()?0x1:-0x1);_0x21c789[_0x29e31e(0x8a2)](_0x5a9a15,_0x426e49,0x0,![],'Linear'),_0x5b0bc2[_0x29e31e(0x37f)]();},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x319)]=function(_0x1de9ed){const _0x3d7f5b=_0x5bdce9;if(SceneManager['isSceneBattle']()){const _0x6658c1=this[_0x3d7f5b(0xb0d)]();if(_0x6658c1){_0x6658c1[_0x3d7f5b(0xae5)](_0x1de9ed);if([_0x3d7f5b(0x81d),'thrust','missile'][_0x3d7f5b(0x8ed)](_0x1de9ed)){if(_0x3d7f5b(0x5d7)!==_0x3d7f5b(0x5d7))return 0x0;else this[_0x3d7f5b(0xb2e)]();}}}this[_0x3d7f5b(0x8f1)]();},Game_Battler['prototype'][_0x5bdce9(0xb2e)]=function(){},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x2d6)]=function(_0x49654c){const _0x1c3eaa=_0x5bdce9;if(SceneManager[_0x1c3eaa(0x5ea)]()){const _0x367be0=this[_0x1c3eaa(0xb0d)]();if(_0x367be0)_0x367be0[_0x1c3eaa(0x460)](_0x49654c);}},Game_Battler[_0x5bdce9(0x768)]['startAttackWeaponAnimation']=function(){const _0x2ad80d=_0x5bdce9;if(SceneManager[_0x2ad80d(0x5ea)]()){const _0x4b128a=this[_0x2ad80d(0x870)]();this[_0x2ad80d(0x2d6)](_0x4b128a);}},Game_Battler['prototype']['performCastAnimation']=function(_0x2a231b,_0x11ffc3){const _0x4e5aa9=_0x5bdce9;if(!_0x2a231b)return;if(!_0x2a231b['item']())return;if(_0x2a231b[_0x4e5aa9(0x514)]())return;if(_0x2a231b[_0x4e5aa9(0x8b8)]())return;if(_0x2a231b[_0x4e5aa9(0x846)]())return;let _0x298f25=0x0;const _0x2311b9=VisuMZ['BattleCore']['Settings'][_0x4e5aa9(0x964)],_0x34b11f=_0x2a231b[_0x4e5aa9(0xa8a)]()[_0x4e5aa9(0x664)];if(_0x34b11f['match'](/<CAST ANIMATION: (\d+)>/i))_0x298f25=Number(RegExp['$1']);else{if(_0x34b11f[_0x4e5aa9(0x16b)](/<NO CAST ANIMATION>/i))return;else{if(_0x2a231b['isCertainHit']()){if(_0x4e5aa9(0xa0d)!==_0x4e5aa9(0xa0d)){if(!_0x241afb[_0x4e5aa9(0x5ea)]())return;if(!_0x35d606[_0x4e5aa9(0x27b)])return;_0x130267[_0x4e5aa9(0x866)](_0x2f5d83,_0x525d69);const _0x3a13ee=_0x487360['getLastPluginCommandInterpreter'](),_0xf9f1a0=_0x21ff3d[_0x4e5aa9(0xaec)];if(!_0x3a13ee)return;_0x3fdf74[_0x4e5aa9(0x7ee)](_0x48b658[_0x4e5aa9(0x47c)],_0x574677['Duration'],_0x309a75[_0x4e5aa9(0x752)]);if(_0xf9f1a0)_0x3a13ee[_0x4e5aa9(0x73c)](_0x4e5aa9(0x3f5));}else _0x298f25=_0x2311b9[_0x4e5aa9(0x80a)];}else{if(_0x2a231b[_0x4e5aa9(0x5c8)]())_0x298f25=_0x2311b9[_0x4e5aa9(0x142)];else _0x2a231b[_0x4e5aa9(0xfb)]()&&(_0x298f25=_0x2311b9[_0x4e5aa9(0x5fe)]);}}}if(_0x298f25>0x0){if(_0x4e5aa9(0x380)!==_0x4e5aa9(0x380))return this[_0x4e5aa9(0x74a)]()['anchorY'];else $gameTemp['requestAnimation']([this],_0x298f25,!!_0x11ffc3);}},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x8a3)]=function(){const _0x2263aa=_0x5bdce9;SoundManager[_0x2263aa(0x151)]();let _0x1841f1=VisuMZ[_0x2263aa(0x61c)]['Settings']['ActionSequence'][_0x2263aa(0x2bd)];if(_0x1841f1>0x0){if(Imported[_0x2263aa(0x9f2)])$gameTemp[_0x2263aa(0x9b3)]([this],_0x1841f1);else{if(_0x2263aa(0x1d1)!=='baMiF')$gameTemp['requestAnimation']([this],_0x1841f1);else{if(this[_0x2263aa(0x94f)]<=0x0)return;const _0x46d842=this[_0x2263aa(0xa07)]-this['_jumpDuration'],_0x3897d4=this['_jumpWholeDuration']/0x2,_0x23c1c9=this['_jumpMaxHeight'],_0x36cad9=-_0x23c1c9/_0x4d5573[_0x2263aa(0x710)](_0x3897d4,0x2);this[_0x2263aa(0x80d)]=_0x36cad9*_0x2e32f0[_0x2263aa(0x710)](_0x46d842-_0x3897d4,0x2)+_0x23c1c9,this[_0x2263aa(0x94f)]--;if(this['_jumpDuration']<=0x0)return this[_0x2263aa(0x644)]();}}}},VisuMZ['BattleCore'][_0x5bdce9(0x5bb)]=Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x15f)],Game_Battler['prototype'][_0x5bdce9(0x15f)]=function(){const _0x3d7004=_0x5bdce9;VisuMZ[_0x3d7004(0x61c)][_0x3d7004(0x5bb)]['call'](this),this[_0x3d7004(0x779)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x451)]=Game_Battler[_0x5bdce9(0x768)]['performMiss'],Game_Battler['prototype'][_0x5bdce9(0x960)]=function(){const _0x31af90=_0x5bdce9;VisuMZ[_0x31af90(0x61c)][_0x31af90(0x451)][_0x31af90(0x4b1)](this),this[_0x31af90(0x779)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x445)]=Game_Battler[_0x5bdce9(0x768)]['performEvasion'],Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x2d8)]=function(){const _0x13a18a=_0x5bdce9;VisuMZ[_0x13a18a(0x61c)]['Game_Battler_performEvasion'][_0x13a18a(0x4b1)](this),this['performFlinch']();},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x779)]=function(){const _0x1565bb=_0x5bdce9;if(!$gameSystem[_0x1565bb(0x68b)]())return;if(this[_0x1565bb(0x5a8)])return;this[_0x1565bb(0x5a8)]=!![];const _0x3a4551=this[_0x1565bb(0xb0d)]();if(_0x3a4551)_0x3a4551[_0x1565bb(0x135)]();},Game_Battler[_0x5bdce9(0x768)]['requestMotionRefresh']=function(){const _0x1c0529=_0x5bdce9;if(this['isDead']()&&this[_0x1c0529(0xad4)]!=='dead'){this[_0x1c0529(0x319)](_0x1c0529(0x325));return;}if(this[_0x1c0529(0x9a3)]()&&this[_0x1c0529(0xad4)]===_0x1c0529(0x325))return;if(!!this[_0x1c0529(0x3be)])return;if(this[_0x1c0529(0x203)]()){if(_0x1c0529(0x610)===_0x1c0529(0x37a))_0x50cde3['command119']([_0xf18e]);else{if(!this[_0x1c0529(0x925)]()&&this!==BattleManager['_subject']){if(this['battler']())this[_0x1c0529(0xb0d)]()['refreshMotion']();}this[_0x1c0529(0x8f1)]();return;}}if(this[_0x1c0529(0xad4)]==='victory')return;if(this[_0x1c0529(0xad4)]===_0x1c0529(0x6ec)&&!BattleManager['isInputting']())return;if(this[_0x1c0529(0xad4)]===_0x1c0529(0xe9)&&!BattleManager[_0x1c0529(0x923)]())return;this[_0x1c0529(0x593)]();if(this[_0x1c0529(0xb0d)]()&&BattleManager[_0x1c0529(0x923)]()){this[_0x1c0529(0xb0d)]()[_0x1c0529(0xadc)](),this['clearFreezeMotion']();return;}},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x925)]=function(){const _0x5a016b=_0x5bdce9;if(!this[_0x5a016b(0x3a3)]())return![];const _0x5c041b=this[_0x5a016b(0xb0d)]();if(!_0x5c041b)return![];const _0x47a955=_0x5c041b[_0x5a016b(0x3d6)];if(!_0x47a955)return![];const _0x24989e=_0x47a955[_0x5a016b(0x9eb)];return _0x24989e&&!_0x24989e['loop'];},Game_Battler[_0x5bdce9(0x768)]['isBattlerFlipped']=function(){const _0x1098b5=_0x5bdce9;return this[_0x1098b5(0x6e1)];},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x781)]=function(_0x45f97b){const _0xb44d14=_0x5bdce9;if(!$gameSystem[_0xb44d14(0x68b)]())return;this[_0xb44d14(0x6e1)]=_0x45f97b;const _0x2b2a93=this[_0xb44d14(0xb0d)]();if(_0x2b2a93)_0x2b2a93[_0xb44d14(0x700)]();},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0xa7e)]=function(_0x17730b,_0x480eeb,_0x14af0c){const _0x5bacae=_0x5bdce9;if(!$gameSystem[_0x5bacae(0x68b)]())return;const _0x49c9c6=this[_0x5bacae(0xb0d)]();if(!_0x49c9c6)return;if(_0x17730b===_0x49c9c6[_0x5bacae(0x8f0)])return;let _0x5acddf=![];if(this[_0x5bacae(0x491)]()){if(_0x5bacae(0x7f5)==='zbXkO'){if(_0x17730b>_0x49c9c6[_0x5bacae(0x8f0)])_0x5acddf=!![];if(_0x17730b<_0x49c9c6['_baseX'])_0x5acddf=![];}else _0x518049[_0x5bacae(0x29b)]([_0x4fcf04]);}else{if(this['isEnemy']()){if(_0x17730b>_0x49c9c6[_0x5bacae(0x8f0)])_0x5acddf=![];if(_0x17730b<_0x49c9c6[_0x5bacae(0x8f0)])_0x5acddf=!![];}};this[_0x5bacae(0x781)](_0x14af0c?!_0x5acddf:_0x5acddf),_0x49c9c6[_0x5bacae(0x700)]();},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x8a2)]=function(_0x2232c7,_0xd5df8c,_0x54b935,_0x1d6aa7,_0x54eca9){const _0x5a12f2=_0x5bdce9;if(!$gameSystem[_0x5a12f2(0x68b)]())return;const _0x724ea6=this[_0x5a12f2(0xb0d)]();if(!_0x724ea6)return;if(_0x1d6aa7)this[_0x5a12f2(0xa7e)](_0x2232c7+_0x724ea6[_0x5a12f2(0x8f0)],_0xd5df8c+_0x724ea6['_baseY'],![]);_0x2232c7+=_0x724ea6[_0x5a12f2(0x8f0)]-_0x724ea6[_0x5a12f2(0x666)],_0xd5df8c+=_0x724ea6[_0x5a12f2(0x4c9)]-_0x724ea6['_homeY'],_0x724ea6[_0x5a12f2(0x120)](_0x2232c7,_0xd5df8c,_0x54b935);if(Imported[_0x5a12f2(0x9f2)])_0x724ea6['setMoveEasingType'](_0x54eca9||_0x5a12f2(0x32d));},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0xa3e)]=function(_0x17ae7c,_0x587f30,_0x54ea43,_0x287a9f,_0x5a5330,_0x15a46d){const _0x5cc3cb=_0x5bdce9;if(!$gameSystem[_0x5cc3cb(0x68b)]())return;const _0x1ab613=this[_0x5cc3cb(0xb0d)]();if(!_0x1ab613)return;if(_0x17ae7c===Infinity||_0x587f30===Infinity)return;if(isNaN(_0x17ae7c)||isNaN(_0x587f30))return;_0x15a46d=_0x15a46d||0x0;if(_0x15a46d>0x0){if(_0x1ab613[_0x5cc3cb(0x8f0)]>_0x17ae7c)_0x17ae7c+=_0x1ab613[_0x5cc3cb(0x3b2)]/0x2+_0x15a46d;if(_0x1ab613[_0x5cc3cb(0x8f0)]<_0x17ae7c)_0x17ae7c-=_0x1ab613[_0x5cc3cb(0x3b2)]/0x2+_0x15a46d;}if(_0x287a9f)this['setBattlerFacePoint'](_0x17ae7c,_0x587f30,![]);_0x17ae7c-=_0x1ab613[_0x5cc3cb(0x666)],_0x587f30-=_0x1ab613[_0x5cc3cb(0x51a)],_0x1ab613[_0x5cc3cb(0x120)](_0x17ae7c,_0x587f30,_0x54ea43);if(Imported[_0x5cc3cb(0x9f2)])_0x1ab613[_0x5cc3cb(0x6e5)](_0x5a5330||'Linear');},Game_Battler['prototype']['moveBattlerHomeDistance']=function(_0x1d6e7a,_0x3c20dd,_0x194dd6,_0xd2acc4,_0x730ce1){const _0x465de5=_0x5bdce9;if(!$gameSystem[_0x465de5(0x68b)]())return;const _0x43259e=this[_0x465de5(0xb0d)]();if(!_0x43259e)return;if(_0xd2acc4)this[_0x465de5(0xa7e)](_0x1d6e7a+_0x43259e['_baseX'],_0x3c20dd+_0x43259e['_baseY'],![]);_0x1d6e7a+=_0x43259e['_homeX'],_0x3c20dd+=_0x43259e[_0x465de5(0x51a)],_0x43259e['startHomeMove'](_0x1d6e7a,_0x3c20dd,_0x194dd6,_0x730ce1),this[_0x465de5(0x185)]=_0x1d6e7a,this[_0x465de5(0x9fa)]=_0x3c20dd;},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x476)]=function(_0x559a55,_0x2f5827,_0x155c87,_0x12444b,_0x903e92,_0x44e62c){const _0x2bf42a=_0x5bdce9;if(!$gameSystem['isSideView']())return;const _0x509d74=this['battler']();if(!_0x509d74)return;_0x44e62c=_0x44e62c||0x0;if(_0x44e62c>0x0){if(_0x2bf42a(0x6f8)===_0x2bf42a(0x6f8)){if(_0x509d74[_0x2bf42a(0x8f0)]>_0x559a55)_0x559a55+=_0x509d74[_0x2bf42a(0x3b2)]/0x2+_0x44e62c;if(_0x509d74[_0x2bf42a(0x8f0)]<_0x559a55)_0x559a55-=_0x509d74[_0x2bf42a(0x3b2)]/0x2+_0x44e62c;}else return 0x1;}if(_0x12444b)this[_0x2bf42a(0xa7e)](_0x559a55,_0x2f5827,![]);_0x509d74[_0x2bf42a(0x8b7)](_0x559a55,_0x2f5827,_0x155c87,_0x903e92),this[_0x2bf42a(0x185)]=_0x559a55,this[_0x2bf42a(0x9fa)]=_0x2f5827;},Game_Battler['prototype'][_0x5bdce9(0xb56)]=function(_0x2eeef0,_0x5ba980,_0x19224c){const _0x20cbf0=_0x5bdce9;if(!$gameSystem[_0x20cbf0(0x68b)]())return;const _0x545ed6=this[_0x20cbf0(0xb0d)]();if(!_0x545ed6)return;_0x545ed6['startFloat'](_0x2eeef0,_0x5ba980,_0x19224c);},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x4ba)]=function(_0xd38539,_0x151e54){const _0x19c790=_0x5bdce9;if(!$gameSystem[_0x19c790(0x68b)]())return;const _0x1a9740=this[_0x19c790(0xb0d)]();if(!_0x1a9740)return;_0x1a9740[_0x19c790(0x275)](_0xd38539,_0x151e54);},Game_Battler['prototype'][_0x5bdce9(0x353)]=function(_0xf08d3e,_0x381cdf,_0x26217d,_0x258f10){const _0x342be1=_0x5bdce9;if(!$gameSystem[_0x342be1(0x68b)]())return;const _0x60d7cc=this[_0x342be1(0xb0d)]();if(!_0x60d7cc)return;_0x60d7cc[_0x342be1(0x501)](_0xf08d3e,_0x381cdf,_0x26217d,_0x258f10);},Game_Battler['prototype'][_0x5bdce9(0x6f2)]=function(_0x5638f3,_0x382e14,_0x467b70,_0x467ae5){const _0x35a826=_0x5bdce9;if(!$gameSystem[_0x35a826(0x68b)]())return;const _0x2ae1cb=this[_0x35a826(0xb0d)]();if(!_0x2ae1cb)return;this[_0x35a826(0x491)]()&&(_0x5638f3*=-0x1,_0x382e14*=-0x1),_0x2ae1cb[_0x35a826(0x53f)](_0x5638f3,_0x382e14,_0x467b70,_0x467ae5);},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x547)]=function(_0x282c52,_0x154b92,_0x30ea84,_0x18de07){const _0x281dba=_0x5bdce9;if(!$gameSystem[_0x281dba(0x68b)]())return;const _0x177687=this[_0x281dba(0xb0d)]();if(!_0x177687)return;_0x177687[_0x281dba(0x3c2)](_0x282c52,_0x154b92,_0x30ea84,_0x18de07);},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x7ea)]=function(_0x5b793f,_0x522978,_0x169b36){const _0x56beaa=_0x5bdce9;if(!$gameSystem[_0x56beaa(0x68b)]())return;const _0x58d9d7=this[_0x56beaa(0xb0d)]();if(!_0x58d9d7)return;_0x58d9d7[_0x56beaa(0x462)](_0x5b793f,_0x522978,_0x169b36);},Game_Battler[_0x5bdce9(0x768)]['clearFreezeMotion']=function(){const _0x51cf72=_0x5bdce9,_0x2d7e4e=!!this[_0x51cf72(0x3be)];this[_0x51cf72(0x3be)]=undefined,_0x2d7e4e&&(this[_0x51cf72(0xb69)](),this[_0x51cf72(0x34b)]());},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x34b)]=function(){const _0x118af5=_0x5bdce9;if(!SceneManager[_0x118af5(0x5ea)]())return;const _0x14eba2=this[_0x118af5(0xb0d)]();if(!_0x14eba2)return;let _0x359d3a=this[_0x118af5(0x491)]()?_0x14eba2[_0x118af5(0x826)]:_0x14eba2[_0x118af5(0x3d6)][_0x118af5(0x826)];_0x359d3a&&_0x359d3a[_0x118af5(0x5aa)](0x0);},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0xb5b)]=function(_0x347328,_0x4efdf8,_0x55107b){const _0x3c37a7=_0x5bdce9;if(this['isEnemy']()&&!this['hasSvBattler']())return;let _0xf95000=0x0,_0x2cbd45=0x0;_0x347328['match'](/ATTACK[ ](\d+)/i)&&(_0x2cbd45=Number(RegExp['$1']),_0x2cbd45--);if(this['isActor']()){const _0x12907d=this['weapons']();_0xf95000=_0x12907d[_0x2cbd45]?_0x12907d[_0x2cbd45][_0x3c37a7(0xa36)]:0x0;}else this[_0x3c37a7(0x203)]()&&(_0x3c37a7(0x4cb)===_0x3c37a7(0x844)?_0x1d10d0=_0x2968ca(_0x487b27['$1']):_0xf95000=this[_0x3c37a7(0x74a)]()[_0x3c37a7(0xa36)]||0x0);const _0xbcaa43=$dataSystem[_0x3c37a7(0x300)][_0xf95000];_0x347328[_0x3c37a7(0x16b)](/attack/i)&&(_0x347328=[_0x3c37a7(0x90c),'swing',_0x3c37a7(0xae1)][_0xbcaa43[_0x3c37a7(0x900)]]||'swing'),this[_0x3c37a7(0x3be)]={'motionType':_0x347328,'weaponImageId':_0x4efdf8?_0xbcaa43['weaponImageId']:0x0,'pattern':_0x55107b};},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x8c8)]=function(_0x3191f9){const _0x290dc7=_0x5bdce9;if(!_0x3191f9)return![];return _0x3191f9[_0x290dc7(0x712)]()===this[_0x290dc7(0x712)]();},Game_Battler[_0x5bdce9(0x768)]['isOpponent']=function(_0x2fbec6){const _0x5eba9f=_0x5bdce9;if(!_0x2fbec6)return![];return _0x2fbec6[_0x5eba9f(0x41c)]()===this[_0x5eba9f(0x712)]();},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x8bc)]=function(){return![];},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x8bc)]=function(){const _0x30c215=_0x5bdce9;return this[_0x30c215(0xb8b)]()['match'](/\$/i);},Game_Enemy[_0x5bdce9(0x768)]['hasStaticSvBattler']=function(){const _0x2ba968=_0x5bdce9;return this[_0x2ba968(0x3a3)]()&&this[_0x2ba968(0x269)]()[_0x2ba968(0x16b)](/\$/i);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x14e)]=Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x5aa)],Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x5aa)]=function(_0x4cc833){const _0xe4147d=_0x5bdce9;VisuMZ['BattleCore'][_0xe4147d(0x14e)][_0xe4147d(0x4b1)](this,_0x4cc833),this[_0xe4147d(0x6b4)]();},Game_Actor['prototype'][_0x5bdce9(0x6b4)]=function(){const _0x501876=_0x5bdce9;this[_0x501876(0xff)]='',this[_0x501876(0xad6)]()&&this[_0x501876(0xad6)]()['note']['match'](/<BATTLE (?:IMAGE|PORTRAIT):[ ](.*)>/i)&&(this[_0x501876(0xff)]=String(RegExp['$1']));},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x4cc)]=function(){const _0x2806d8=_0x5bdce9;if(this['getBattlePortrait']()!=='')return this[_0x2806d8(0x67d)]();else{if(Imported['VisuMZ_1_MainMenuCore']&&this[_0x2806d8(0x3e6)]()!==''){if(_0x2806d8(0x754)!==_0x2806d8(0x754))this[_0x2806d8(0x80d)]=0x0;else return this[_0x2806d8(0x3e6)]();}}return'';},Game_Actor[_0x5bdce9(0x768)]['getBattlePortrait']=function(){const _0x58f21c=_0x5bdce9;if(this[_0x58f21c(0xff)]===undefined)this[_0x58f21c(0x6b4)]();return this[_0x58f21c(0xff)];},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x7fc)]=function(_0x2119d0){const _0x37344f=_0x5bdce9;if(this['_battlePortrait']===undefined)this[_0x37344f(0x6b4)]();this['_battlePortrait']=_0x2119d0;if(SceneManager[_0x37344f(0x5ea)]()&&$gameParty['battleMembers']()[_0x37344f(0x8ed)](this)){if(_0x37344f(0x829)===_0x37344f(0x732))return this['isForOpponentBattleCore']();else{const _0x30be48=SceneManager['_scene'][_0x37344f(0x3e2)];if(_0x30be48)_0x30be48['refreshActorPortrait'](this);}}},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x3e7)]=function(){return!![];},Game_Actor['prototype'][_0x5bdce9(0x777)]=function(){const _0x3e10bc=_0x5bdce9;if(!this['isConfused']()&&BattleManager['_autoBattle'])return!![];return Game_Battler[_0x3e10bc(0x768)][_0x3e10bc(0x777)][_0x3e10bc(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x3a5)]=Game_Actor['prototype']['makeActionList'],Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x811)]=function(){const _0x155da1=_0x5bdce9;if(BattleManager[_0x155da1(0xb63)]&&!ConfigManager[_0x155da1(0x25c)])return _0x155da1(0xaab)!==_0x155da1(0xa7d)?this['makeActionListAutoAttack']():_0x1f565d[_0x155da1(0x61c)][_0x155da1(0x76e)][_0x155da1(0x40d)]['VarianceFormulaJS'][_0x155da1(0x4b1)](this,_0x1ef7ae,_0x40c597);else{return VisuMZ[_0x155da1(0x61c)]['Game_Actor_makeActionList'][_0x155da1(0x4b1)](this);;}},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x1f9)]=function(){const _0x15b6a5=_0x5bdce9,_0x504b05=[],_0x4f128e=new Game_Action(this);return _0x4f128e[_0x15b6a5(0x39f)](),_0x504b05['push'](_0x4f128e),_0x504b05;},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x877)]=function(){const _0x279cfa=_0x5bdce9;if(this['currentClass']()[_0x279cfa(0x664)][_0x279cfa(0x16b)](/<BATTLE COMMANDS>\s*([\s\S]*)\s*<\/BATTLE COMMANDS>/i))return String(RegExp['$1'])[_0x279cfa(0x761)](/[\r\n]+/);else{if(_0x279cfa(0x5d5)!==_0x279cfa(0x5d5))this['_baseX']=0x0,this[_0x279cfa(0x4c9)]=0x0,this[_0x279cfa(0x16a)]=0x0,this[_0x279cfa(0x3ce)]=0x0,this[_0x279cfa(0x91e)]=0x0,this[_0x279cfa(0x8ff)]=0x0,this[_0x279cfa(0x7aa)]=_0x279cfa(0x32d),this[_0x279cfa(0x80d)]=0x0,this['_jumpMaxHeight']=0x0,this[_0x279cfa(0x94f)]=0x0,this['_jumpWholeDuration']=0x0,this[_0x279cfa(0x546)]=0xff,this[_0x279cfa(0x65b)]=0x0,this[_0x279cfa(0x5d0)]=0x0,this['_opacityEasing']='Linear',this[_0x279cfa(0xa60)]=0x0,this[_0x279cfa(0xaea)]=0x0,this['_angleDuration']=0x0,this['_angleWholeDuration']=0x0,this[_0x279cfa(0x1da)]=_0x279cfa(0x32d),this['_angleRevertOnFinish']=!![],this[_0x279cfa(0xa23)]=0x0,this[_0x279cfa(0x1c7)]=0x0,this[_0x279cfa(0x35e)]=0x0,this[_0x279cfa(0x69a)]=0x0,this['_skewDuration']=0x0,this['_skewWholeDuration']=0x0,this['_skewEasing']=_0x279cfa(0x32d),this[_0x279cfa(0x326)]=0x1,this[_0x279cfa(0x461)]=0x1,this[_0x279cfa(0x4a9)]=0x1,this[_0x279cfa(0x739)]=0x1,this['_growDuration']=0x0,this[_0x279cfa(0xaf4)]=0x0,this[_0x279cfa(0x729)]='Linear',this[_0x279cfa(0x7b1)]=0x1,this[_0x279cfa(0xa67)]=0x0,this[_0x279cfa(0x8fb)]=0x0,this[_0x279cfa(0x1a8)]=0x0,this[_0x279cfa(0x21a)]=0x0,this[_0x279cfa(0x953)]=_0x279cfa(0x32d);else return VisuMZ['BattleCore'][_0x279cfa(0x76e)][_0x279cfa(0x59c)][_0x279cfa(0x2a2)];}},Game_Actor['prototype']['svBattlerAnchorX']=function(){const _0x311fa3=_0x5bdce9;if(this['_cache'][_0x311fa3(0x1f4)]!==undefined)return this['_cache'][_0x311fa3(0x1f4)];if(this[_0x311fa3(0xad6)]()['note'][_0x311fa3(0x16b)](/<SIDEVIEW ANCHOR: (.*), (.*)>/i)){if(_0x311fa3(0x19c)===_0x311fa3(0x4f3))return _0x346736[_0x311fa3(0x61c)][_0x311fa3(0x76e)][_0x311fa3(0x817)][_0x311fa3(0x2a1)];else this[_0x311fa3(0x1f3)][_0x311fa3(0x1f4)]=eval(RegExp['$1']),this[_0x311fa3(0x1f3)]['svAnchorY']=eval(RegExp['$2']);}else this[_0x311fa3(0x1f3)][_0x311fa3(0x1f4)]=Game_Battler[_0x311fa3(0x768)][_0x311fa3(0x90f)][_0x311fa3(0x4b1)](this);return this[_0x311fa3(0x1f3)]['svAnchorX'];},Game_Actor[_0x5bdce9(0x768)]['svBattlerAnchorY']=function(){const _0x414324=_0x5bdce9;if(this[_0x414324(0x1f3)][_0x414324(0xa70)]!==undefined)return this['_cache'][_0x414324(0xa70)];return this['actor']()[_0x414324(0x664)][_0x414324(0x16b)](/<SIDEVIEW ANCHOR: (.*), (.*)>/i)?(this['_cache'][_0x414324(0x1f4)]=eval(RegExp['$1']),this[_0x414324(0x1f3)][_0x414324(0xa70)]=eval(RegExp['$2'])):this['_cache'][_0x414324(0xa70)]=Game_Battler[_0x414324(0x768)]['svBattlerAnchorY'][_0x414324(0x4b1)](this),this['_cache']['svAnchorY'];},Game_Actor['prototype'][_0x5bdce9(0x892)]=function(){const _0x1f13f9=_0x5bdce9;if(this[_0x1f13f9(0x1f3)]['svShadow']!==undefined)return this[_0x1f13f9(0x1f3)][_0x1f13f9(0x1ba)];if(this[_0x1f13f9(0xad6)]()[_0x1f13f9(0x664)][_0x1f13f9(0x16b)](/<SIDEVIEW SHOW SHADOW>/i))this[_0x1f13f9(0x1f3)][_0x1f13f9(0x1ba)]=!![];else this['actor']()[_0x1f13f9(0x664)][_0x1f13f9(0x16b)](/<SIDEVIEW HIDE SHADOW>/i)?'KnHlB'!==_0x1f13f9(0x337)?(_0x1bbca6[_0x1f13f9(0x61c)][_0x1f13f9(0x71e)]['call'](this),this[_0x1f13f9(0x2cd)]=[]):this[_0x1f13f9(0x1f3)][_0x1f13f9(0x1ba)]=![]:this[_0x1f13f9(0x1f3)][_0x1f13f9(0x1ba)]=Game_Battler[_0x1f13f9(0x768)][_0x1f13f9(0x892)]['call'](this);return this[_0x1f13f9(0x1f3)][_0x1f13f9(0x1ba)];},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x987)]=function(){const _0x2d03c7=_0x5bdce9;return VisuMZ[_0x2d03c7(0x61c)][_0x2d03c7(0x76e)][_0x2d03c7(0xe6)][_0x2d03c7(0x338)];},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0xb2e)]=function(){const _0x51c39c=_0x5bdce9,_0x5ea14c=this[_0x51c39c(0xabf)](),_0x2b4b71=_0x5ea14c[0x0]?_0x5ea14c[0x0][_0x51c39c(0xa36)]:0x0,_0x346c26=$dataSystem[_0x51c39c(0x300)][_0x2b4b71];if(_0x346c26){if(_0x51c39c(0x84a)!==_0x51c39c(0x513))this[_0x51c39c(0x2d6)](_0x346c26[_0x51c39c(0x1dc)]);else return _0x5af071[_0x51c39c(0x61c)][_0x51c39c(0x76e)][_0x51c39c(0x14a)][_0x51c39c(0x295)]?this['_battler'][_0x51c39c(0x24b)]():_0x46e498[_0x51c39c(0x352)][_0x51c39c(0x22b)]&&_0x4bdbe2[_0x51c39c(0x352)]['_enemyWindow']['active']&&_0x3f4414[_0x51c39c(0x352)][_0x51c39c(0x22b)][_0x51c39c(0xa38)]['includes'](this[_0x51c39c(0x976)]);}},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x23a)]=function(_0x46dc70){const _0xa994db=_0x5bdce9;Game_Battler[_0xa994db(0x768)][_0xa994db(0x23a)][_0xa994db(0x4b1)](this,_0x46dc70),this[_0xa994db(0x924)](_0x46dc70);},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0xacd)]=function(){const _0x2c77c6=_0x5bdce9,_0x1c552f=this[_0x2c77c6(0xabf)](),_0x475e4e=_0x1c552f[0x0]?_0x1c552f[0x0][_0x2c77c6(0xa36)]:0x0;return $dataSystem['attackMotions'][_0x475e4e];},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0xab3)]=function(_0x392b15){const _0x47b9fd=_0x5bdce9;_0x392b15=_0x392b15||0x1,_0x392b15--;const _0x25ca0b=this[_0x47b9fd(0xabf)]();return _0x25ca0b[_0x392b15]?_0x25ca0b[_0x392b15][_0x47b9fd(0x6e3)]:0x0;},Game_Actor['prototype'][_0x5bdce9(0x41d)]=function(_0x10b9c2){const _0xce60c4=_0x5bdce9;_0x10b9c2=_0x10b9c2||0x1,_0x10b9c2--;const _0x33d8ff=this[_0xce60c4(0xabf)](),_0x486dc7=_0x33d8ff[_0x10b9c2]?_0x33d8ff[_0x10b9c2][_0xce60c4(0xa36)]:0x0;return $dataSystem[_0xce60c4(0x300)][_0x486dc7];},Game_Actor[_0x5bdce9(0x768)]['performAttackSlot']=function(_0xaa541d){const _0x9cb5a7=_0x5bdce9;_0xaa541d=_0xaa541d||0x1,_0xaa541d--;const _0x56a7ce=this[_0x9cb5a7(0xabf)](),_0x48044a=_0x56a7ce[_0xaa541d]?_0x56a7ce[_0xaa541d][_0x9cb5a7(0xa36)]:0x0,_0x47ecf3=$dataSystem[_0x9cb5a7(0x300)][_0x48044a];if(_0x47ecf3){if(_0x47ecf3[_0x9cb5a7(0x900)]===0x0)this[_0x9cb5a7(0x319)](_0x9cb5a7(0x90c));else{if(_0x47ecf3[_0x9cb5a7(0x900)]===0x1)this[_0x9cb5a7(0x319)](_0x9cb5a7(0x81d));else _0x47ecf3['type']===0x2&&this[_0x9cb5a7(0x319)](_0x9cb5a7(0xae1));}this[_0x9cb5a7(0x2d6)](_0x47ecf3['weaponImageId']);}},Game_Battler['prototype'][_0x5bdce9(0x894)]=function(_0x33a595){const _0x4ca674=_0x5bdce9;this[_0x4ca674(0x8d9)]=_0x33a595||0x0,this['_cache']={};},Game_Battler['prototype'][_0x5bdce9(0x62e)]=function(){const _0x34a46f=_0x5bdce9;this[_0x34a46f(0x8d9)]=this[_0x34a46f(0x8d9)]||0x0,this[_0x34a46f(0x8d9)]++,this['_cache']={};},Game_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x44a)]=function(){const _0x3eae3d=_0x5bdce9;this[_0x3eae3d(0x8d9)]=undefined,this['_cache']={};},VisuMZ[_0x5bdce9(0x61c)]['Game_Actor_equips']=Game_Actor['prototype'][_0x5bdce9(0xb12)],Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0xb12)]=function(){const _0x43f5c0=_0x5bdce9;let _0x173d0b=VisuMZ[_0x43f5c0(0x61c)][_0x43f5c0(0x306)][_0x43f5c0(0x4b1)](this);if(this[_0x43f5c0(0x9e0)])return _0x173d0b;if(this[_0x43f5c0(0x8d9)]!==undefined){this['_tempEquipCheck']=!![];const _0x4d82a6=this[_0x43f5c0(0x8ce)]();for(let _0x3def86=0x0;_0x3def86<_0x4d82a6[_0x43f5c0(0x12d)];_0x3def86++){_0x4d82a6[_0x3def86]===0x1&&this['_activeWeaponSlot']!==_0x3def86&&(_0x173d0b[_0x3def86]=null);}this['_tempEquipCheck']=undefined;}return _0x173d0b;},Window_BattleLog['prototype'][_0x5bdce9(0xb4c)]=function(_0x1a7255){const _0x51da36=_0x5bdce9;return _0x1a7255[_0x51da36(0x491)]()?_0x1a7255[_0x51da36(0xabf)]()[_0x51da36(0x12d)]||0x1:0x1;},Window_BattleLog[_0x5bdce9(0x768)]['setActiveWeaponSet']=function(_0x92e87e,_0xff2d0b){const _0x20b8a4=_0x5bdce9;_0x92e87e&&_0x92e87e[_0x20b8a4(0x491)]()&&_0x92e87e[_0x20b8a4(0x894)](_0xff2d0b),this[_0x20b8a4(0x670)]();},Window_BattleLog['prototype'][_0x5bdce9(0x496)]=function(_0x4d7c45){const _0x209867=_0x5bdce9;if(_0x4d7c45&&_0x4d7c45[_0x209867(0x491)]()){if(_0x209867(0x437)!==_0x209867(0x437))return;else _0x4d7c45[_0x209867(0x44a)]();}this['callNextMethod']();},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x5d1)]=function(){const _0x49d7f7=_0x5bdce9;let _0xafb108=_0x49d7f7(0x5d1);if(this['checkCacheKey'](_0xafb108))return this[_0x49d7f7(0x1f3)][_0xafb108];return this['_cache'][_0xafb108]=this[_0x49d7f7(0x979)](this[_0x49d7f7(0xad6)]()),this[_0x49d7f7(0x1f3)][_0xafb108];},Game_Actor[_0x5bdce9(0x768)]['battleUIOffsetY']=function(){const _0x24542f=_0x5bdce9;let _0x4bf8ef=_0x24542f(0xb18);if(this[_0x24542f(0x17f)](_0x4bf8ef))return this[_0x24542f(0x1f3)][_0x4bf8ef];return this['_cache'][_0x4bf8ef]=this['createBattleUIOffsetY'](this[_0x24542f(0xad6)]()),this['_cache'][_0x4bf8ef];},VisuMZ['BattleCore'][_0x5bdce9(0xaad)]=Game_Enemy['prototype'][_0x5bdce9(0x5aa)],Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x5aa)]=function(_0x4cd04b,_0x5ae31b,_0x2bb1dd){const _0x500000=_0x5bdce9;_0x4cd04b=DataManager[_0x500000(0xaee)](_0x4cd04b),VisuMZ['BattleCore'][_0x500000(0xaad)][_0x500000(0x4b1)](this,_0x4cd04b,_0x5ae31b,_0x2bb1dd),Imported[_0x500000(0x238)]&&this['initElementStatusCore'](),this[_0x500000(0x7b6)](),this[_0x500000(0x933)](),Imported[_0x500000(0x238)]&&this[_0x500000(0x56a)]();},Game_Enemy[_0x5bdce9(0x768)]['clearBattleCoreData']=function(){const _0x42a862=_0x5bdce9,_0x381d60=VisuMZ['BattleCore'][_0x42a862(0x76e)]['Enemy'];this['_attackAnimationId']=_0x381d60[_0x42a862(0x117)],this['_svBattlerData']={};},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x933)]=function(){const _0x10a17a=_0x5bdce9,_0x3c6f89=VisuMZ[_0x10a17a(0x61c)][_0x10a17a(0x76e)][_0x10a17a(0x14a)],_0x143a9a=this[_0x10a17a(0x1fc)]()['note'];this[_0x10a17a(0x4d9)]={'name':'','wtypeId':_0x3c6f89['WtypeId'],'collapse':_0x3c6f89['AllowCollapse'],'motionIdle':_0x3c6f89[_0x10a17a(0x50f)],'width':_0x3c6f89[_0x10a17a(0x97a)]||0x40,'height':_0x3c6f89[_0x10a17a(0x6ce)]||0x40,'anchorX':_0x3c6f89['AnchorX']||0x0,'anchorY':_0x3c6f89[_0x10a17a(0x192)]||0x0,'shadow':_0x3c6f89['Shadow']};_0x143a9a[_0x10a17a(0x16b)](/<ATTACK ANIMATION:[ ](\d+)>/i)&&(this[_0x10a17a(0x48b)]=Number(RegExp['$1']));const _0x3ad2f8=this[_0x10a17a(0x4d9)];if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW BATTLER: (.*)>/i))_0x3ad2f8[_0x10a17a(0x74e)]=String(RegExp['$1']);else{if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW BATTLERS>\s*([\s\S]*)\s*<\/SIDEVIEW BATTLERS>/i)){if(_0x10a17a(0x784)===_0x10a17a(0x863))this[_0x10a17a(0x793)]=null;else{const _0x390bb=String(RegExp['$1'])[_0x10a17a(0x761)](/[\r\n]+/)[_0x10a17a(0x671)]('');_0x3ad2f8['name']=DataManager[_0x10a17a(0x169)](_0x390bb);}}}_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW ANCHOR: (.*), (.*)>/i)&&(_0x3ad2f8['anchorX']=eval(RegExp['$1']),_0x3ad2f8['anchorY']=eval(RegExp['$2']));if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW COLLAPSE>/i))_0x10a17a(0x4d8)===_0x10a17a(0x4d8)?_0x3ad2f8['collapse']=!![]:this[_0x10a17a(0x2b8)]();else _0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW NO COLLAPSE>/i)&&(_0x3ad2f8[_0x10a17a(0x5ee)]=![]);if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW SHOW SHADOW>/i))_0x3ad2f8[_0x10a17a(0x239)]=!![];else _0x143a9a['match'](/<SIDEVIEW HIDE SHADOW>/i)&&(_0x3ad2f8[_0x10a17a(0x239)]=![]);if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW IDLE MOTION: (.*)>/i))_0x3ad2f8['motionIdle']=String(RegExp['$1'])[_0x10a17a(0x63a)]()[_0x10a17a(0x92d)]();else{if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW IDLE MOTIONS>\s*([\s\S]*)\s*<\/SIDEVIEW IDLE MOTIONS>/i)){const _0x5961fb=String(RegExp['$1'])[_0x10a17a(0x761)](/[\r\n]+/)[_0x10a17a(0x671)]('');_0x3ad2f8[_0x10a17a(0x220)]=DataManager['processRandomizedData'](_0x5961fb);}}if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW SIZE: (\d+), (\d+)>/i)){if('nYySz'!==_0x10a17a(0x40a))_0x3ad2f8[_0x10a17a(0x3b2)]=Number(RegExp['$1']),_0x3ad2f8[_0x10a17a(0x3b0)]=Number(RegExp['$2']);else{const _0x3a8cb8=_0x4826fc['round'](_0x1247e6[_0x10a17a(0x3b2)]/0x2),_0x39accc=_0x3dd8f9[_0x10a17a(0xb3f)](_0x5ec3a3['height']/0x2);_0x505e57[_0x10a17a(0x4ce)](_0x3a8cb8,_0x39accc,_0x212dc8['Duration'],_0xb944a5[_0x10a17a(0x752)]);}}if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW WEAPON: (.*)>/i)){if(_0x10a17a(0x77a)===_0x10a17a(0x77a))_0x3ad2f8[_0x10a17a(0xa36)]=DataManager['getWtypeIdWithName'](RegExp['$1']);else{if(!this[_0x10a17a(0x3a3)]())return![];const _0x343525=this['battler']();if(!_0x343525)return![];const _0x21ef0f=_0x343525[_0x10a17a(0x3d6)];if(!_0x21ef0f)return![];const _0x1f281c=_0x21ef0f['_motion'];return _0x1f281c&&!_0x1f281c[_0x10a17a(0x127)];}}else{if(_0x143a9a[_0x10a17a(0x16b)](/<SIDEVIEW WEAPONS>\s*([\s\S]*)\s*<\/SIDEVIEW WEAPONS>/i)){const _0xd1ad30=String(RegExp['$1'])[_0x10a17a(0x761)](/[\r\n]+/)[_0x10a17a(0x671)](''),_0x51a008=DataManager[_0x10a17a(0x169)](_0xd1ad30);_0x3ad2f8['wtypeId']=DataManager[_0x10a17a(0x914)](_0x51a008);}}if(Imported[_0x10a17a(0x238)]){const _0x3258e0=this['getTraitSetKeys']();for(const _0x10c57a of _0x3258e0){const _0x3429b8=this[_0x10a17a(0x9af)](_0x10c57a)['Name'][_0x10a17a(0x673)]()[_0x10a17a(0x92d)](),_0x476bc0=_0x10c57a['toUpperCase']()[_0x10a17a(0x92d)]();if(_0x143a9a[_0x10a17a(0x16b)](VisuMZ['ElementStatusCore']['RegExp'][_0x10a17a(0xb6e)['format'](_0x476bc0,_0x3429b8)]))_0x10a17a(0x956)!=='bKIft'?this[_0x10a17a(0x319)](_0x10a17a(0x895)):_0x3ad2f8[_0x10a17a(0x74e)]=String(RegExp['$1']);else{if(_0x143a9a[_0x10a17a(0x16b)](VisuMZ[_0x10a17a(0x5e2)][_0x10a17a(0x3a1)]['SvBattlerMass-%1-%2'[_0x10a17a(0x824)](_0x476bc0,_0x3429b8)])){const _0x109e96=String(RegExp['$1'])['split'](/[\r\n]+/)[_0x10a17a(0x671)]('');_0x3ad2f8['name']=DataManager['processRandomizedData'](_0x109e96);}}if(_0x143a9a[_0x10a17a(0x16b)](VisuMZ[_0x10a17a(0x5e2)]['RegExp'][_0x10a17a(0x88e)[_0x10a17a(0x824)](_0x476bc0,_0x3429b8)])){if(_0x10a17a(0x72f)==='UCqRj')_0x3ad2f8['wtypeId']=DataManager['getWtypeIdWithName'](RegExp['$1']);else{const _0x34945e=_0x362513[0x0]['format'](_0x168fef[0x0]),_0x3a1c6d=_0x30f4b2[0x1][_0x10a17a(0x824)](_0x3a2b3c[0x1]),_0x5c2cad=new _0x15f555(_0x4e71f2['format'](_0x3a1c6d),'i');_0x2d6e2b[_0x34945e]=_0x5c2cad;}}else{if(_0x143a9a[_0x10a17a(0x16b)](VisuMZ[_0x10a17a(0x5e2)]['RegExp'][_0x10a17a(0x1b4)['format'](_0x476bc0,_0x3429b8)])){const _0x2e521f=String(RegExp['$1'])['split'](/[\r\n]+/)['remove'](''),_0x22dfdd=DataManager[_0x10a17a(0x169)](_0x2e521f);_0x3ad2f8['wtypeId']=DataManager[_0x10a17a(0x914)](_0x22dfdd);}}if(_0x143a9a[_0x10a17a(0x16b)](VisuMZ[_0x10a17a(0x5e2)][_0x10a17a(0x3a1)][_0x10a17a(0x6aa)[_0x10a17a(0x824)](_0x476bc0,_0x3429b8)]))_0x3ad2f8[_0x10a17a(0x220)]=String(RegExp['$1'])[_0x10a17a(0x63a)]()[_0x10a17a(0x92d)]();else{if(_0x143a9a[_0x10a17a(0x16b)](VisuMZ[_0x10a17a(0x5e2)][_0x10a17a(0x3a1)][_0x10a17a(0x634)[_0x10a17a(0x824)](_0x476bc0,_0x3429b8)])){const _0x58635e=String(RegExp['$1'])[_0x10a17a(0x761)](/[\r\n]+/)[_0x10a17a(0x671)]('');_0x3ad2f8[_0x10a17a(0x220)]=DataManager[_0x10a17a(0x169)](_0x58635e);}}}}},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x17b)]=function(){const _0x2704ea=_0x5bdce9;return this[_0x2704ea(0x48b)]||0x0;},Game_Enemy['prototype'][_0x5bdce9(0x559)]=function(){const _0x3ed24e=_0x5bdce9;return this[_0x3ed24e(0x17b)]();},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0xab3)]=function(_0x142d4f){const _0x2df720=_0x5bdce9;return this[_0x2df720(0x17b)]();},Game_Enemy['prototype'][_0x5bdce9(0x270)]=function(){const _0x47df8a=_0x5bdce9;if(this[_0x47df8a(0x1fc)]()[_0x47df8a(0x664)]['match'](/<BATTLER SPRITE CANNOT MOVE>/i))return![];return Game_Battler['prototype'][_0x47df8a(0x270)][_0x47df8a(0x4b1)](this);},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x5c9)]=function(){const _0x56f3ef=_0x5bdce9;if(this[_0x56f3ef(0x1fc)]()[_0x56f3ef(0x664)][_0x56f3ef(0x16b)](/<BATTLER SPRITE GROUNDED>/i))return!![];return![];},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x5f9)]=function(){const _0x26e9c3=_0x5bdce9,_0x1efc6c=[];for(const _0x359607 of this['enemy']()[_0x26e9c3(0xb20)]){const _0x22b3d5=$dataSkills[_0x359607['skillId']];if(_0x22b3d5&&!_0x1efc6c[_0x26e9c3(0x8ed)](_0x22b3d5))_0x1efc6c[_0x26e9c3(0x838)](_0x22b3d5);}return _0x1efc6c;},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x5d1)]=function(){const _0x2c03a8=_0x5bdce9;let _0x468add=_0x2c03a8(0x5d1);if(this['checkCacheKey'](_0x468add))return this[_0x2c03a8(0x1f3)][_0x468add];return this[_0x2c03a8(0x1f3)][_0x468add]=this['createBattleUIOffsetX'](this['enemy']()),this[_0x2c03a8(0x1f3)][_0x468add];},Game_Enemy['prototype']['battleUIOffsetY']=function(){const _0xaee289=_0x5bdce9;let _0xf041eb=_0xaee289(0xb18);if(this[_0xaee289(0x17f)](_0xf041eb))return this['_cache'][_0xf041eb];return this['_cache'][_0xf041eb]=this['createBattleUIOffsetY'](this[_0xaee289(0x1fc)]()),this[_0xaee289(0x1f3)][_0xf041eb];},Game_Enemy[_0x5bdce9(0x768)]['svBattlerData']=function(){const _0x4a5f31=_0x5bdce9;if(this['_svBattlerData']!==undefined)return this[_0x4a5f31(0x4d9)];return this['setupBattleCoreData'](),this[_0x4a5f31(0x4d9)];},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x3a3)]=function(){const _0x102d59=_0x5bdce9;return this['svBattlerData']()[_0x102d59(0x74e)]!=='';},Game_Enemy['prototype'][_0x5bdce9(0x269)]=function(){const _0x855944=_0x5bdce9;return this[_0x855944(0x74a)]()[_0x855944(0x74e)];},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x987)]=function(){const _0x2a1d7b=_0x5bdce9;return this[_0x2a1d7b(0x3a3)]()?VisuMZ[_0x2a1d7b(0x61c)]['Settings']['Actor'][_0x2a1d7b(0x338)]:VisuMZ[_0x2a1d7b(0x61c)][_0x2a1d7b(0x76e)][_0x2a1d7b(0x14a)]['SmoothImage'];},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x23a)]=function(_0x278714){const _0x2c7404=_0x5bdce9;Game_Battler[_0x2c7404(0x768)][_0x2c7404(0x23a)]['call'](this,_0x278714);if(this['hasSvBattler']())this[_0x2c7404(0x924)](_0x278714);},Game_Enemy[_0x5bdce9(0x768)]['performAttack']=function(){const _0xfd7eac=_0x5bdce9,_0x7a4972=this['svBattlerData']()[_0xfd7eac(0xa36)]||0x0,_0x39e36c=$dataSystem[_0xfd7eac(0x300)][_0x7a4972];if(_0x39e36c){if(_0x39e36c[_0xfd7eac(0x900)]===0x0)this[_0xfd7eac(0x319)](_0xfd7eac(0x90c));else{if(_0x39e36c[_0xfd7eac(0x900)]===0x1)this[_0xfd7eac(0x319)]('swing');else _0x39e36c[_0xfd7eac(0x900)]===0x2&&(_0xfd7eac(0x73e)!==_0xfd7eac(0x73e)?this[_0xfd7eac(0x197)](_0xfd7eac(0x177)):this['requestMotion'](_0xfd7eac(0xae1)));}}},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0xb2e)]=function(){const _0x7a7915=_0x5bdce9,_0x4308ee=this[_0x7a7915(0x74a)]()['wtypeId']||0x0,_0x173787=$dataSystem[_0x7a7915(0x300)][_0x4308ee];_0x173787&&this[_0x7a7915(0x2d6)](_0x173787[_0x7a7915(0x1dc)]);},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0xacd)]=function(){const _0x211d74=_0x5bdce9,_0x5af85f=this[_0x211d74(0x74a)]()[_0x211d74(0xa36)]||0x0;return $dataSystem[_0x211d74(0x300)][_0x5af85f];},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x41d)]=function(_0x9c3009){const _0x50a004=_0x5bdce9;return this[_0x50a004(0xacd)]();},Game_Enemy['prototype']['performDamage']=function(){const _0x233f95=_0x5bdce9;Game_Battler[_0x233f95(0x768)][_0x233f95(0x15f)][_0x233f95(0x4b1)](this),this[_0x233f95(0x3e7)]()&&this[_0x233f95(0x3a3)]()&&this[_0x233f95(0x319)](_0x233f95(0x95c)),SoundManager[_0x233f95(0xd0)]();},Game_Enemy[_0x5bdce9(0x768)]['performEvasion']=function(){const _0x4ab437=_0x5bdce9;Game_Battler[_0x4ab437(0x768)][_0x4ab437(0x2d8)][_0x4ab437(0x4b1)](this),this['requestMotion']('evade');},Game_Enemy[_0x5bdce9(0x768)]['performMagicEvasion']=function(){const _0x3a57c4=_0x5bdce9;Game_Battler[_0x3a57c4(0x768)][_0x3a57c4(0xb24)][_0x3a57c4(0x4b1)](this),this[_0x3a57c4(0x319)](_0x3a57c4(0x545));},Game_Enemy['prototype'][_0x5bdce9(0x3bb)]=function(){const _0x214253=_0x5bdce9;Game_Battler['prototype'][_0x214253(0x3bb)][_0x214253(0x4b1)](this),this[_0x214253(0x722)]();},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x4a0)]=function(){const _0x539414=_0x5bdce9;if(this['hasSvBattler']()){if(_0x539414(0x8ac)!==_0x539414(0x8ac)){this[_0x539414(0x6f5)]=this[_0x539414(0x1fc)]()[_0x539414(0x74e)]();const _0x1d38a5=this[_0x539414(0xa5d)](this[_0x539414(0x6f5)])[_0x539414(0x3b2)],_0x20869b=_0x134813[_0x539414(0xb3f)]((this[_0x539414(0x1fb)]-_0x1d38a5)/0x2);this['drawTextEx'](this[_0x539414(0x6f5)],_0x20869b,0x0,_0x1d38a5+0x8);}else{if(this[_0x539414(0x3c9)]()>=0x1)return!![];return this[_0x539414(0x74a)]()[_0x539414(0x5ee)];}}else{if(_0x539414(0x744)!==_0x539414(0x744)){const _0x5e9700=_0x3b5149['BattleCore'][_0x539414(0x76e)][_0x539414(0x40f)];_0x5e9700[_0x539414(0x18b)]?this[_0x539414(0x856)]=_0x283aad[_0x539414(0x691)](_0x5e9700[_0x539414(0x18b)]):_0x4bfd80[_0x539414(0x768)][_0x539414(0x942)][_0x539414(0x4b1)](this);}else return!![];}},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x90f)]=function(){const _0x541dfd=_0x5bdce9;return this[_0x541dfd(0x74a)]()[_0x541dfd(0x999)];},Game_Enemy['prototype'][_0x5bdce9(0xa3f)]=function(){const _0x1cd049=_0x5bdce9;return this[_0x1cd049(0x74a)]()[_0x1cd049(0x561)];},Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x892)]=function(){const _0x154447=_0x5bdce9;return this[_0x154447(0x74a)]()[_0x154447(0x239)];},VisuMZ['BattleCore'][_0x5bdce9(0x4b2)]=Game_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x113)],Game_Enemy['prototype']['transform']=function(_0x4109e5){const _0x59abe9=_0x5bdce9;VisuMZ[_0x59abe9(0x61c)][_0x59abe9(0x4b2)]['call'](this,_0x4109e5),this['clearBattleCoreData'](),this[_0x59abe9(0x933)]();const _0x5566cb=this[_0x59abe9(0xb0d)]();if(_0x5566cb)_0x5566cb[_0x59abe9(0x23d)](this);},Game_Unit[_0x5bdce9(0x768)]['processBattleCoreJS']=function(_0x3ca91e){const _0x17ee6c=_0x5bdce9;for(const _0x45c159 of this[_0x17ee6c(0x2b7)]()){if(_0x45c159)_0x45c159[_0x17ee6c(0x9dd)](_0x3ca91e);}},Game_Unit['prototype']['trueRandomTarget']=function(){const _0x17ddb5=_0x5bdce9,_0x3a2998=this[_0x17ddb5(0xed)]();return _0x3a2998[Math[_0x17ddb5(0xaf7)](_0x3a2998[_0x17ddb5(0x12d)])];},VisuMZ[_0x5bdce9(0x61c)]['Game_Party_addActor']=Game_Party[_0x5bdce9(0x768)][_0x5bdce9(0x5a5)],Game_Party[_0x5bdce9(0x768)][_0x5bdce9(0x5a5)]=function(_0x4b669e){const _0x292d36=_0x5bdce9;VisuMZ[_0x292d36(0x61c)]['Game_Party_addActor'][_0x292d36(0x4b1)](this,_0x4b669e),BattleManager['refreshStatusWindow']();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x10d)]=Game_Party[_0x5bdce9(0x768)][_0x5bdce9(0xa00)],Game_Party[_0x5bdce9(0x768)]['removeActor']=function(_0x1e4e94){const _0x4b1d9a=_0x5bdce9;VisuMZ['BattleCore'][_0x4b1d9a(0x10d)]['call'](this,_0x1e4e94),BattleManager[_0x4b1d9a(0x4eb)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xa16)]=Game_Troop[_0x5bdce9(0x768)]['setup'],Game_Troop['prototype'][_0x5bdce9(0x5aa)]=function(_0x1aa20f){const _0x4624ab=_0x5bdce9;$gameTemp[_0x4624ab(0x2e2)](),$gameTemp[_0x4624ab(0x3d4)](_0x1aa20f),VisuMZ[_0x4624ab(0x61c)][_0x4624ab(0xa16)][_0x4624ab(0x4b1)](this,_0x1aa20f);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x604)]=Game_Troop[_0x5bdce9(0x768)][_0x5bdce9(0x77f)],Game_Troop[_0x5bdce9(0x768)]['expTotal']=function(){const _0x15ad3f=_0x5bdce9;let _0x4d7f4f=VisuMZ['BattleCore'][_0x15ad3f(0x604)][_0x15ad3f(0x4b1)](this);return this[_0x15ad3f(0x55f)]&&(_0x4d7f4f*=this[_0x15ad3f(0x55f)]()),Math[_0x15ad3f(0xa44)](_0x4d7f4f);},Game_Troop['prototype'][_0x5bdce9(0x55f)]=function(){return 0x1;},VisuMZ['BattleCore'][_0x5bdce9(0x46a)]=Game_Map['prototype']['setupBattleback'],Game_Map['prototype'][_0x5bdce9(0x9cc)]=function(){const _0x4d4c17=_0x5bdce9;VisuMZ[_0x4d4c17(0x61c)][_0x4d4c17(0x46a)]['call'](this),this['setupBattlebackBattleCore']();},Game_Map[_0x5bdce9(0x768)][_0x5bdce9(0x6d4)]=function(){const _0x33e19b=_0x5bdce9;this['_regionBattleback1']={},this[_0x33e19b(0x685)]={};if(!$dataMap)return;const _0x31e1fb=$dataMap[_0x33e19b(0x664)];if(!_0x31e1fb)return;const _0xadd5d2=_0x31e1fb['match'](/<REGION (\d+) BATTLEBACK(\d+): (.*)>/gi);if(_0xadd5d2)for(const _0x371863 of _0xadd5d2){_0x371863['match'](/<REGION (\d+) BATTLEBACK(\d+): (.*)>/i);const _0x3db1c1=Number(RegExp['$1']),_0x1e05a7=Number(RegExp['$2']),_0x4d2ab1=_0x1e05a7===0x1?this[_0x33e19b(0x175)]:this[_0x33e19b(0x685)],_0x481a2c=String(RegExp['$3']);_0x4d2ab1[_0x3db1c1]=_0x481a2c;}},VisuMZ['BattleCore'][_0x5bdce9(0x81a)]=Game_Map[_0x5bdce9(0x768)][_0x5bdce9(0x4e4)],Game_Map[_0x5bdce9(0x768)][_0x5bdce9(0x4e4)]=function(){const _0xbb438b=_0x5bdce9;if(!BattleManager[_0xbb438b(0x1b6)]()){const _0x2dd129=$gamePlayer['regionId']($gamePlayer['x'],$gamePlayer['y']);if(this[_0xbb438b(0x175)]&&this[_0xbb438b(0x175)][_0x2dd129])return this['_regionBattleback1'][_0x2dd129];}return VisuMZ[_0xbb438b(0x61c)]['Game_Map_battleback1Name']['call'](this);},VisuMZ['BattleCore'][_0x5bdce9(0x25f)]=Game_Map[_0x5bdce9(0x768)][_0x5bdce9(0x908)],Game_Map[_0x5bdce9(0x768)][_0x5bdce9(0x908)]=function(){const _0x105bb0=_0x5bdce9;if(!BattleManager[_0x105bb0(0x1b6)]()){const _0x22ad2d=$gamePlayer[_0x105bb0(0x40b)]($gamePlayer['x'],$gamePlayer['y']);if(this[_0x105bb0(0x175)]&&this['_regionBattleback2'][_0x22ad2d])return this[_0x105bb0(0x685)][_0x22ad2d];}return VisuMZ[_0x105bb0(0x61c)]['Game_Map_battleback2Name'][_0x105bb0(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)]['Game_Map_encounterList']=Game_Map[_0x5bdce9(0x768)]['encounterList'],Game_Map['prototype']['encounterList']=function(){const _0x51025e=_0x5bdce9;let _0x3a824b=JsonEx[_0x51025e(0x87e)](VisuMZ[_0x51025e(0x61c)][_0x51025e(0x75d)][_0x51025e(0x4b1)](this));return VisuMZ[_0x51025e(0x61c)][_0x51025e(0x90a)](_0x3a824b);},VisuMZ['BattleCore'][_0x5bdce9(0x90a)]=function(_0x3a1f89){const _0x1dcb8f=_0x5bdce9;var _0x1d8c50,_0x283c34,_0x1ccc3d;for(_0x1ccc3d=_0x3a1f89[_0x1dcb8f(0x12d)]-0x1;_0x1ccc3d>0x0;_0x1ccc3d--){_0x1d8c50=Math[_0x1dcb8f(0x618)](Math[_0x1dcb8f(0x3df)]()*(_0x1ccc3d+0x1)),_0x283c34=_0x3a1f89[_0x1ccc3d],_0x3a1f89[_0x1ccc3d]=_0x3a1f89[_0x1d8c50],_0x3a1f89[_0x1d8c50]=_0x283c34;}return _0x3a1f89;},VisuMZ[_0x5bdce9(0x61c)]['Game_Interpreter_PluginCommand']=Game_Interpreter[_0x5bdce9(0x768)][_0x5bdce9(0x511)],Game_Interpreter[_0x5bdce9(0x768)][_0x5bdce9(0x511)]=function(_0x4818c2){const _0x2ce4da=_0x5bdce9;return $gameTemp['setLastPluginCommandInterpreter'](this),VisuMZ['BattleCore'][_0x2ce4da(0x6b5)][_0x2ce4da(0x4b1)](this,_0x4818c2);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x929)]=Game_Interpreter[_0x5bdce9(0x768)]['updateWaitMode'],Game_Interpreter[_0x5bdce9(0x768)]['updateWaitMode']=function(){const _0x567444=_0x5bdce9;if(SceneManager['isSceneBattle']()){if(_0x567444(0x288)==='qcYtt'){if(this[_0x567444(0xb29)]>0x0)this['contentsOpacity']-=0x10;}else switch(this[_0x567444(0x29a)]){case _0x567444(0x3f5):if(Imported[_0x567444(0x27b)]){if(_0x567444(0x248)==='JoscD'){if($gameScreen[_0x567444(0x592)]()[_0x567444(0x222)]>0x0)return!![];this[_0x567444(0x29a)]='';}else _0x94c8b1[_0x567444(0x418)]();}break;case _0x567444(0x9bc):if(BattleManager[_0x567444(0x25a)][_0x567444(0x660)]())return!![];this[_0x567444(0x29a)]='';break;case'battleCamera':if(Imported[_0x567444(0x27b)]){if($gameScreen['battleCameraData']()[_0x567444(0x717)]>0x0)return!![];if($gameScreen[_0x567444(0x592)]()[_0x567444(0x926)]>0x0)return!![];this[_0x567444(0x29a)]='';}break;case _0x567444(0x497):if(BattleManager['_spriteset']['isEffecting']())return!![];this[_0x567444(0x29a)]='';break;case _0x567444(0xa25):if(BattleManager[_0x567444(0x25a)][_0x567444(0x15d)]())return!![];this[_0x567444(0x29a)]='';break;case'battleJump':if(BattleManager[_0x567444(0x25a)]['isAnyoneJumping']())return!![];this[_0x567444(0x29a)]='';break;case'battlelog':if(BattleManager[_0x567444(0x5c4)][_0x567444(0x585)]())return!![];this[_0x567444(0x29a)]='';break;case _0x567444(0x286):if(BattleManager['_spriteset'][_0x567444(0x12a)]())return!![];this[_0x567444(0x29a)]='';break;case'battleOpacity':if(BattleManager[_0x567444(0x25a)][_0x567444(0x52f)]())return!![];this[_0x567444(0x29a)]='';break;case _0x567444(0x751):if(BattleManager[_0x567444(0x25a)][_0x567444(0x64a)]())return!![];this['_waitMode']='';break;case _0x567444(0x2ce):if(BattleManager[_0x567444(0x25a)][_0x567444(0xaa3)]())return!![];this[_0x567444(0x29a)]='';break;case'battleProjectiles':if(Imported[_0x567444(0x684)]){if(BattleManager[_0x567444(0x25a)][_0x567444(0x2d7)]())return!![];this[_0x567444(0x29a)]='';}break;case'battleSkew':if(Imported[_0x567444(0x27b)]){if('GlbCc'===_0x567444(0x2c0)){if($gameScreen[_0x567444(0x592)]()[_0x567444(0x904)]>0x0)return!![];this[_0x567444(0x29a)]='';}else{let _0x32cf1f=_0x5c5e39(_0xf56daa['$1']);while(_0x32cf1f--){_0x3f8f61[_0x567444(0x838)](this['opponentsUnit']()['trueRandomTarget']());}return this['repeatTargets'](_0x3ee6b1);}}break;case _0x567444(0x4fa):if(BattleManager[_0x567444(0x25a)]['isAnyoneSpinning']())return!![];this[_0x567444(0x29a)]='';break;case _0x567444(0xa68):if(Imported[_0x567444(0x27b)]){if(_0x567444(0x6d6)!=='DIZeE'){if($gameScreen[_0x567444(0x592)]()[_0x567444(0xb66)]>0x0)return!![];this[_0x567444(0x29a)]='';}else return this[_0x567444(0x7ef)]()[_0x567444(0x664)][_0x567444(0x16b)](/<BATTLE COMMANDS>\s*([\s\S]*)\s*<\/BATTLE COMMANDS>/i)?_0x1b0682(_0x63c8a['$1'])[_0x567444(0x761)](/[\r\n]+/):_0x2ae090[_0x567444(0x61c)][_0x567444(0x76e)][_0x567444(0x59c)][_0x567444(0x2a2)];}break;}}return VisuMZ['BattleCore'][_0x567444(0x929)][_0x567444(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x59b)]=Game_Interpreter['prototype'][_0x5bdce9(0x3d2)],Game_Interpreter['prototype'][_0x5bdce9(0x3d2)]=function(_0x297b34){const _0x5b6b70=_0x5bdce9;return!$gameParty[_0x5b6b70(0xa04)]()?this['command301_PreBattleEvent'](_0x297b34):VisuMZ[_0x5b6b70(0x61c)]['Game_Interpreter_command301']['call'](this,_0x297b34);},Game_Interpreter[_0x5bdce9(0x768)][_0x5bdce9(0x8ec)]=function(_0xf3afdb){const _0x5d75a3=_0x5bdce9;return VisuMZ['BattleCore'][_0x5d75a3(0x59b)][_0x5d75a3(0x4b1)](this,_0xf3afdb),BattleManager[_0x5d75a3(0x439)](_0xf43f74=>{this['_branch'][this['_indent']]=_0xf43f74;}),!![];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x144)]=function(_0x5c8e44){const _0x5601c0=_0x5bdce9,_0x388486=$dataCommonEvents[_0x5c8e44];if(!_0x388486)return![];if(_0x388486[_0x5601c0(0x3cd)][_0x5601c0(0x12d)]<=0x1)return![];return!![];},Game_Interpreter[_0x5bdce9(0x768)][_0x5bdce9(0x982)]=function(_0x253e89){const _0x3c4cd3=_0x5bdce9,_0x4ebdd8=VisuMZ[_0x3c4cd3(0x61c)][_0x3c4cd3(0x76e)][_0x3c4cd3(0x817)],_0x20cc69=_0x4ebdd8[_0x3c4cd3(0x1ac)],_0x298ca0=$dataCommonEvents[_0x20cc69];if(_0x298ca0&&VisuMZ[_0x3c4cd3(0x61c)]['CheckMapBattleEventValid'](_0x20cc69)){const _0x57cd37=this[_0x3c4cd3(0x2a9)]()?this[_0x3c4cd3(0x812)]:0x0,_0x4ca299=_0x298ca0[_0x3c4cd3(0x3cd)];this[_0x3c4cd3(0xa77)](_0x4ca299,_0x57cd37),this[_0x3c4cd3(0x27d)]=JsonEx[_0x3c4cd3(0x87e)](this[_0x3c4cd3(0x27d)]);const _0x130f6c={'code':0xbc3,'indent':this['_indent'],'parameters':JsonEx[_0x3c4cd3(0x87e)](_0x253e89)};return this[_0x3c4cd3(0x27d)][_0x3c4cd3(0x532)](this[_0x3c4cd3(0x365)]+0x1,0x0,_0x130f6c),!![];}else return VisuMZ[_0x3c4cd3(0x61c)][_0x3c4cd3(0x59b)]['call'](this,_0x253e89);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xa56)]=BattleManager[_0x5bdce9(0x449)],BattleManager[_0x5bdce9(0x449)]=function(){const _0x5d8f27=_0x5bdce9;VisuMZ[_0x5d8f27(0x61c)][_0x5d8f27(0xa56)]['call'](this),this[_0x5d8f27(0x86f)]();},BattleManager[_0x5bdce9(0x86f)]=function(){const _0x5e2848=_0x5bdce9,_0x54d993=VisuMZ[_0x5e2848(0x61c)][_0x5e2848(0x76e)][_0x5e2848(0x817)],_0x100a86=_0x54d993['BattleStartEvent'];_0x100a86&&VisuMZ[_0x5e2848(0x61c)][_0x5e2848(0x144)](_0x100a86)&&(this[_0x5e2848(0x4c3)]=!![],$gameTemp[_0x5e2848(0x32e)](_0x54d993[_0x5e2848(0x1ac)]),$gameMap['updateInterpreter'](),$gameMap[_0x5e2848(0x9e5)][_0x5e2848(0x9d4)]=!![]);if(_0x54d993[_0x5e2848(0x262)]>0x0){if(_0x5e2848(0x359)!==_0x5e2848(0x359))return this[_0x5e2848(0x3c1)]();else this[_0x5e2848(0x720)]=!![];}},VisuMZ[_0x5bdce9(0x61c)]['Scene_Map_updateCallMenu']=Scene_Map[_0x5bdce9(0x768)][_0x5bdce9(0x18c)],Scene_Map[_0x5bdce9(0x768)][_0x5bdce9(0x18c)]=function(){const _0x3ba5b0=_0x5bdce9;if(BattleManager[_0x3ba5b0(0x4c3)])return;VisuMZ[_0x3ba5b0(0x61c)]['Scene_Map_updateCallMenu'][_0x3ba5b0(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)]['Scene_Map_launchBattle']=Scene_Map[_0x5bdce9(0x768)][_0x5bdce9(0x8e9)],Scene_Map['prototype'][_0x5bdce9(0x8e9)]=function(){const _0x22508d=_0x5bdce9;if(BattleManager['_battleCoreBattleStartEvent'])this[_0x22508d(0x61a)]();else{if(_0x22508d(0x250)===_0x22508d(0xa82))return _0x1a5ce5[_0x22508d(0xb0d)]()[_0x22508d(0x8f0)]-_0x1556e4[_0x22508d(0xb0d)]()['_baseX'];else VisuMZ[_0x22508d(0x61c)][_0x22508d(0x6f6)]['call'](this);}},Scene_Map[_0x5bdce9(0x768)][_0x5bdce9(0x61a)]=function(){const _0x46ff3e=_0x5bdce9;this[_0x46ff3e(0x8fa)]=!![];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xb00)]=SceneManager['isSceneChanging'],SceneManager[_0x5bdce9(0x8b5)]=function(){const _0x4b2cc3=_0x5bdce9;if(BattleManager[_0x4b2cc3(0x4c3)])return![];return VisuMZ[_0x4b2cc3(0x61c)][_0x4b2cc3(0xb00)]['call'](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x3d7)]=Game_Interpreter['prototype']['terminate'],Game_Interpreter['prototype']['terminate']=function(){const _0x2133a3=_0x5bdce9;VisuMZ[_0x2133a3(0x61c)][_0x2133a3(0x3d7)][_0x2133a3(0x4b1)](this);if(this[_0x2133a3(0x9d4)]){if(_0x2133a3(0x852)!==_0x2133a3(0x852)){this[_0x2133a3(0x9dd)](_0x2133a3(0x662));const _0x3654bd=this[_0x2133a3(0x780)];_0x2edc11['BattleCore'][_0x2133a3(0xdb)][_0x2133a3(0x4b1)](this),this[_0x2133a3(0x780)]=_0x3654bd+_0x36a986[_0x2133a3(0x61c)][_0x2133a3(0x76e)][_0x2133a3(0x817)][_0x2133a3(0xaf1)][_0x2133a3(0x4b1)](this),this[_0x2133a3(0x8c0)](_0x2133a3(0x2d9));}else this[_0x2133a3(0x9d4)]=undefined,SceneManager[_0x2133a3(0x352)]['battleCoreResumeLaunchBattle']();}},Scene_Map[_0x5bdce9(0x768)][_0x5bdce9(0x1ae)]=function(){const _0x503132=_0x5bdce9;BattleManager[_0x503132(0x4c3)]=undefined,BattleManager[_0x503132(0xb25)]=!![],this['stop']();},VisuMZ['BattleCore'][_0x5bdce9(0x4ec)]=Scene_Map['prototype'][_0x5bdce9(0x490)],Scene_Map[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(){const _0x7f60db=_0x5bdce9;VisuMZ[_0x7f60db(0x61c)][_0x7f60db(0x4ec)][_0x7f60db(0x4b1)](this),BattleManager[_0x7f60db(0xb25)]&&(this['_active']=!![],BattleManager[_0x7f60db(0xb25)]=undefined);},VisuMZ[_0x5bdce9(0x61c)]['Scene_Map_initialize']=Scene_Map[_0x5bdce9(0x768)]['initialize'],Scene_Map[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(){const _0x9fc64d=_0x5bdce9;VisuMZ['BattleCore'][_0x9fc64d(0xf2)][_0x9fc64d(0x4b1)](this),$gameTemp['clearForcedGameTroopSettingsBattleCore']();},VisuMZ[_0x5bdce9(0x61c)]['Scene_ItemBase_applyItem']=Scene_ItemBase[_0x5bdce9(0x768)][_0x5bdce9(0xa5f)],Scene_ItemBase[_0x5bdce9(0x768)][_0x5bdce9(0xa5f)]=function(){const _0x2467b9=_0x5bdce9;VisuMZ[_0x2467b9(0x61c)][_0x2467b9(0x6af)]['call'](this);if(this[_0x2467b9(0xa8a)]()[_0x2467b9(0x664)][_0x2467b9(0x16b)](/<BYPASS AUTO ACTION SEQUENCE>/i))return;this[_0x2467b9(0xa8a)]()['note'][_0x2467b9(0x16b)](/<CUSTOM ACTION SEQUENCE>/i)&&($gameTemp[_0x2467b9(0xa32)]=[]),DataManager[_0x2467b9(0x91f)](this[_0x2467b9(0xa8a)]())&&($gameTemp['_commonEventQueue']=[]);},VisuMZ[_0x5bdce9(0x61c)]['Scene_Options_maxCommands']=Scene_Options[_0x5bdce9(0x768)][_0x5bdce9(0x674)],Scene_Options['prototype'][_0x5bdce9(0x674)]=function(){const _0x2b3b41=_0x5bdce9;let _0x26d68c=VisuMZ[_0x2b3b41(0x61c)][_0x2b3b41(0x173)][_0x2b3b41(0x4b1)](this);const _0x16a319=VisuMZ['BattleCore']['Settings'];if(_0x16a319['AutoBattle'][_0x2b3b41(0x2e0)]&&_0x16a319[_0x2b3b41(0xa97)]['AdjustRect'])_0x26d68c+=0x2;if(_0x16a319[_0x2b3b41(0x9d6)]['AddOption']&&_0x16a319['HpGauge'][_0x2b3b41(0x4a6)])_0x26d68c+=0x1;return _0x26d68c;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x26e)]=Scene_Battle[_0x5bdce9(0x768)]['initialize'],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(){const _0x3aa428=_0x5bdce9;VisuMZ[_0x3aa428(0x61c)][_0x3aa428(0x26e)][_0x3aa428(0x4b1)](this),this[_0x3aa428(0x98d)]();},VisuMZ[_0x5bdce9(0x61c)]['Scene_Battle_start']=Scene_Battle[_0x5bdce9(0x768)]['start'],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xade)]=function(){const _0x62780b=_0x5bdce9;if(SceneManager['isPreviousSceneBattleTransitionable']()){Scene_Message[_0x62780b(0x768)][_0x62780b(0xade)][_0x62780b(0x4b1)](this);this[_0x62780b(0x25a)]&&(_0x62780b(0x8c5)===_0x62780b(0x8c5)?this[_0x62780b(0x25a)]['update']():_0x3b66e5+=_0x2f1673(_0x5d8c79['$1'])/0x64);if(BattleManager['_tpbSceneChangeCacheActor']){if(_0x62780b(0x7d4)===_0x62780b(0x7d4))BattleManager[_0x62780b(0x343)]();else return this[_0x62780b(0x44b)]=this[_0x62780b(0x44b)]||_0x556cd3[_0x62780b(0x768)]['lineHeight']()||0x24,this[_0x62780b(0x44b)]*0x4;}}else VisuMZ[_0x62780b(0x61c)][_0x62780b(0xac7)][_0x62780b(0x4b1)](this),$gameTroop[_0x62780b(0x38b)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xb35)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x73d)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x73d)]=function(){const _0x2ba991=_0x5bdce9;SceneManager[_0x2ba991(0x3d9)]()?Scene_Message['prototype']['stop']['call'](this):VisuMZ[_0x2ba991(0x61c)][_0x2ba991(0xb35)][_0x2ba991(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x5bd)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x6b2)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x6b2)]=function(){const _0x52d1e7=_0x5bdce9;SceneManager[_0x52d1e7(0x3d9)]()?Scene_Message[_0x52d1e7(0x768)][_0x52d1e7(0x6b2)][_0x52d1e7(0x4b1)](this):VisuMZ['BattleCore'][_0x52d1e7(0x5bd)][_0x52d1e7(0x4b1)](this),this[_0x52d1e7(0x98d)]();},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x396)]=function(){const _0x1bf530=_0x5bdce9;if(ConfigManager[_0x1bf530(0x3c4)]&&ConfigManager[_0x1bf530(0x36b)]!==undefined)return _0x1bf530(0x188)!=='SLUNO'?this['_regionBattleback1'][_0x17e2e6]:ConfigManager[_0x1bf530(0x36b)];else{if(this[_0x1bf530(0x19d)]()===_0x1bf530(0x5f1))return![];else{return Scene_Message[_0x1bf530(0x768)][_0x1bf530(0x396)][_0x1bf530(0x4b1)](this);;}}},VisuMZ['BattleCore'][_0x5bdce9(0x28b)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x263)],Scene_Battle['prototype'][_0x5bdce9(0x263)]=function(){const _0x569c31=_0x5bdce9;this['createEnemyNameContainer'](),VisuMZ['BattleCore'][_0x569c31(0x28b)][_0x569c31(0x4b1)](this),this[_0x569c31(0x8bf)]();},VisuMZ['BattleCore'][_0x5bdce9(0x234)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x73b)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x73b)]=function(){const _0x5e1347=_0x5bdce9;VisuMZ['BattleCore'][_0x5e1347(0x234)][_0x5e1347(0x4b1)](this),this['battleLayoutStyle']()===_0x5e1347(0x5f1)&&this[_0x5e1347(0x424)]();},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x3f0)]=function(_0x3b7951){const _0x526a25=_0x5bdce9;_0x3b7951?(this[_0x526a25(0xb84)]['x']=(Graphics['width']-Graphics[_0x526a25(0x7fb)])/0x2,this[_0x526a25(0xb84)]['y']=(Graphics[_0x526a25(0x3b0)]-Graphics[_0x526a25(0x51f)])/0x2):(this[_0x526a25(0xb84)]['x']=Graphics[_0x526a25(0x3b2)]*0xa,this[_0x526a25(0xb84)]['y']=Graphics['height']*0xa);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x7b5)]=Scene_Battle['prototype'][_0x5bdce9(0x427)],Scene_Battle['prototype'][_0x5bdce9(0x427)]=function(){const _0x52129c=_0x5bdce9,_0x5e6c33=BattleManager[_0x52129c(0xad6)]();VisuMZ[_0x52129c(0x61c)]['Scene_Battle_selectNextCommand'][_0x52129c(0x4b1)](this);if(_0x5e6c33){if(_0x5e6c33===BattleManager['actor']())return;if(_0x5e6c33===BattleManager['_subject'])return;if(_0x5e6c33[_0x52129c(0xb0d)]())_0x5e6c33['battler']()[_0x52129c(0x2d4)]();}},VisuMZ[_0x5bdce9(0x61c)]['Scene_Battle_selectPreviousCommand']=Scene_Battle['prototype'][_0x5bdce9(0x8c2)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x8c2)]=function(){const _0x55fe37=_0x5bdce9,_0x188909=BattleManager[_0x55fe37(0xad6)]();if(_0x188909&&_0x188909[_0x55fe37(0xb0d)])_0x188909[_0x55fe37(0xb0d)]()['stepBack']();VisuMZ[_0x55fe37(0x61c)]['Scene_Battle_selectPreviousCommand'][_0x55fe37(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x9c2)]=Scene_Battle['prototype'][_0x5bdce9(0x6d5)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x6d5)]=function(){const _0x53d1a3=_0x5bdce9;if(VisuMZ['BattleCore'][_0x53d1a3(0x76e)][_0x53d1a3(0x2c4)]['BattleLogRectJS'])return VisuMZ[_0x53d1a3(0x61c)]['Settings'][_0x53d1a3(0x2c4)][_0x53d1a3(0x630)][_0x53d1a3(0x4b1)](this);return VisuMZ['BattleCore'][_0x53d1a3(0x9c2)][_0x53d1a3(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x943)]=Scene_Battle[_0x5bdce9(0x768)]['createPartyCommandWindow'],Scene_Battle[_0x5bdce9(0x768)]['createPartyCommandWindow']=function(){const _0x58650c=_0x5bdce9;VisuMZ[_0x58650c(0x61c)]['Scene_Battle_createPartyCommandWindow'][_0x58650c(0x4b1)](this),this[_0x58650c(0x9ce)]();},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x9ce)]=function(){const _0x8c4f41=_0x5bdce9,_0x501367=this[_0x8c4f41(0x95e)];_0x501367[_0x8c4f41(0x456)](_0x8c4f41(0xa63),this[_0x8c4f41(0x657)][_0x8c4f41(0x124)](this)),_0x501367[_0x8c4f41(0x456)]('options',this[_0x8c4f41(0xa2f)]['bind'](this));const _0xf17cee=this[_0x8c4f41(0x19d)]();switch(_0xf17cee){case'xp':case'portrait':return this['_partyCommandWindow'][_0x8c4f41(0xa69)](0x1);break;}},Scene_Battle['prototype'][_0x5bdce9(0x657)]=function(){const _0xaf0307=_0x5bdce9;BattleManager['_autoBattle']=!![],$gameParty[_0xaf0307(0xa95)](),this[_0xaf0307(0x427)]();if(BattleManager[_0xaf0307(0x985)]()){if(_0xaf0307(0xa7a)!==_0xaf0307(0xacc))BattleManager['_inputting']=![];else{if(this[_0xaf0307(0x2c2)]>0x0){const _0x1dde0f=this[_0xaf0307(0x2c2)],_0x323f62=this[_0xaf0307(0x65c)];_0x323f62['x']=(_0x323f62['x']*(_0x1dde0f-0x1)+this[_0xaf0307(0x5fb)])/_0x1dde0f,_0x323f62['opacity']=(_0x323f62['opacity']*(_0x1dde0f-0x1)+0xff)/_0x1dde0f,this[_0xaf0307(0x2c2)]--;}}}},Scene_Battle['prototype'][_0x5bdce9(0xa2f)]=function(){const _0x45e5b6=_0x5bdce9;if(this[_0x45e5b6(0xab1)]())_0x45e5b6(0x9b7)!==_0x45e5b6(0x9b7)?(_0x10c3a5['BattleCore']['Sprite_Enemy_updateStateSprite']['call'](this),this[_0x45e5b6(0x401)]()):(this[_0x45e5b6(0x1df)]=!![],this['_logWindow'][_0x45e5b6(0x838)]('addText',VisuMZ[_0x45e5b6(0x61c)]['Settings']['PartyCmd'][_0x45e5b6(0x6ff)]));else{if(_0x45e5b6(0x225)!==_0x45e5b6(0x42e))this[_0x45e5b6(0x745)]();else{if(!_0x591ed2[_0x45e5b6(0x61c)]['TpbActiveChangeEnabled'])return;if(_0x5239e2[_0x45e5b6(0x548)]&&_0x498cd8['isCTB']())return;const _0x58d60a=_0x7ddb8a[_0x45e5b6(0xed)]()[_0x45e5b6(0xb85)](_0x5dbf09=>_0x5dbf09['isTpbCharged']()&&_0x5dbf09[_0x45e5b6(0xe3)]());_0x4a9caa[_0x45e5b6(0x983)]=_0x58d60a[0x0]||null,_0x207079[_0x45e5b6(0x983)]&&_0x440cff[_0x45e5b6(0x983)][_0x45e5b6(0xb5c)](_0x45e5b6(0x9f7));}}},Scene_Battle[_0x5bdce9(0x768)]['isQueueOptionsMenu']=function(){const _0x5bfdf5=_0x5bdce9;return BattleManager[_0x5bfdf5(0x6e9)]();},Scene_Battle['prototype']['callOptions']=function(){const _0x14350d=_0x5bdce9;this['_callSceneOptions']=![],this[_0x14350d(0x25a)]['update'](),this[_0x14350d(0xb84)][_0x14350d(0x8e1)]=![];if(BattleManager[_0x14350d(0x1b6)]()){if(_0x14350d(0x1cd)===_0x14350d(0x7bd))this[_0x14350d(0x8ab)](0x1);else{if($dataSystem[_0x14350d(0x4e4)]||$dataSystem[_0x14350d(0x908)]){if(_0x14350d(0x7e5)===_0x14350d(0x7e5))SceneManager[_0x14350d(0x3c6)]();else return this[_0x14350d(0x471)][_0x14350d(0x4a0)]();}}}else($gameMap['battleback1Name']()||$gameMap[_0x14350d(0x908)]())&&SceneManager['snapForBackground']();SceneManager['push'](Scene_Options),BattleManager[_0x14350d(0x985)]()&&(BattleManager[_0x14350d(0x793)]=BattleManager[_0x14350d(0xad6)]());},VisuMZ['BattleCore'][_0x5bdce9(0x354)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x620)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x620)]=function(){const _0x470b19=_0x5bdce9;VisuMZ[_0x470b19(0x61c)][_0x470b19(0x354)][_0x470b19(0x4b1)](this);if(this[_0x470b19(0x1df)]&&!BattleManager[_0x470b19(0xb40)])this['callOptions']();},VisuMZ[_0x5bdce9(0x61c)]['Scene_Battle_update']=Scene_Battle[_0x5bdce9(0x768)]['update'],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x367)]=function(){const _0x4367fa=_0x5bdce9;VisuMZ[_0x4367fa(0x61c)][_0x4367fa(0x79b)][_0x4367fa(0x4b1)](this),this[_0x4367fa(0x14c)]();},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x8bf)]=function(){const _0x4c126d=_0x5bdce9,_0xf65454=this[_0x4c126d(0x8ba)]();this[_0x4c126d(0x9c4)]=new Window_AutoBattleCancel(_0xf65454),this[_0x4c126d(0x9c4)][_0x4c126d(0x137)](),this['addChild'](this[_0x4c126d(0x9c4)]);},Scene_Battle['prototype']['autoBattleWindowRect']=function(){const _0x2967e8=_0x5bdce9;return VisuMZ[_0x2967e8(0x61c)][_0x2967e8(0x76e)][_0x2967e8(0xa97)]['AutoBattleRect'][_0x2967e8(0x4b1)](this);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x98d)]=function(){const _0x3c1279=_0x5bdce9;this[_0x3c1279(0xb6a)]=[];},Scene_Battle[_0x5bdce9(0x768)]['updateOnceParallelInterpreters']=function(){const _0x493902=_0x5bdce9;if(!this[_0x493902(0xb6a)])return;for(const _0x1458bd of this['_onceParallelInterpreters']){_0x1458bd&&_0x1458bd[_0x493902(0x367)]();}},Scene_Battle['prototype'][_0x5bdce9(0x3f8)]=function(_0x346281){const _0x54eedf=$dataCommonEvents[_0x346281];if(!_0x54eedf)return;const _0x1d770e=new Game_BattleOnceParallelInterpreter();this['addOnceParallelInterpreter'](_0x1d770e),_0x1d770e['setCommonEvent'](_0x346281);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x5cc)]=function(_0x371eca){const _0x5b9c17=_0x5bdce9;this[_0x5b9c17(0xb6a)]=this[_0x5b9c17(0xb6a)]||[],this['_onceParallelInterpreters'][_0x5b9c17(0x838)](_0x371eca);},Scene_Battle['prototype']['removeOnceParallelInterpreter']=function(_0x3a5ad7){const _0x2ea5bf=_0x5bdce9;this['_onceParallelInterpreters']=this[_0x2ea5bf(0xb6a)]||[],this[_0x2ea5bf(0xb6a)]['remove'](_0x3a5ad7);},Game_Troop[_0x5bdce9(0x768)]['onBattleStartOnceParallels']=function(){const _0x62c047=_0x5bdce9;for(const _0xb78636 of this['troop']()['pages']){if(_0x62c047(0x64b)===_0x62c047(0xa0e))_0x24bed9[_0x62c047(0x29b)]([_0x203428]);else{if(!this[_0x62c047(0xa2a)](_0xb78636))continue;SceneManager[_0x62c047(0x352)][_0x62c047(0xae9)](_0xb78636);}}},Game_Troop[_0x5bdce9(0x768)][_0x5bdce9(0xa2a)]=function(_0x52a39f){const _0x56a667=_0x5bdce9;if(!_0x52a39f)return;for(const _0x25ed0e of _0x52a39f[_0x56a667(0x3cd)]){if([0x6c,0x198][_0x56a667(0x8ed)](_0x25ed0e[_0x56a667(0xabe)])){if(_0x56a667(0x322)!==_0x56a667(0x322))return this[_0x56a667(0x9ee)]();else{const _0x31e000=_0x25ed0e['parameters'][0x0];if(_0x31e000['match'](/<ONCE PARALLEL WHEN START BATTLE>/i))return!![];}}}return![];},Scene_Battle['prototype']['playOnceParallelTroopPage']=function(_0x70f15a){const _0x56a312=_0x5bdce9;if(!_0x70f15a)return;const _0x49b407=new Game_BattleOnceParallelInterpreter();this[_0x56a312(0x5cc)](_0x49b407),_0x49b407[_0x56a312(0x8e8)](_0x70f15a);};function Game_BattleOnceParallelInterpreter(){const _0x1e8610=_0x5bdce9;this[_0x1e8610(0x490)](...arguments);}Game_BattleOnceParallelInterpreter[_0x5bdce9(0x768)]=Object[_0x5bdce9(0xdf)](Game_Interpreter[_0x5bdce9(0x768)]),Game_BattleOnceParallelInterpreter['prototype']['constructor']=Game_BattleOnceParallelInterpreter,Game_BattleOnceParallelInterpreter[_0x5bdce9(0x768)]['setCommonEvent']=function(_0x2dc558){const _0x2d152b=_0x5bdce9,_0x242aaa=$dataCommonEvents[_0x2dc558];if(_0x242aaa)this['setup'](_0x242aaa[_0x2d152b(0x3cd)],0x0);else{if(_0x2d152b(0x421)===_0x2d152b(0x421))this[_0x2d152b(0x6b2)]();else{if(_0xc9b602)_0x15f2d7['processBattleCoreJS'](_0x1c8a67);}}},Game_BattleOnceParallelInterpreter[_0x5bdce9(0x768)][_0x5bdce9(0x6b2)]=function(){const _0xed12ce=_0x5bdce9;if(!SceneManager[_0xed12ce(0x5ea)]())return;SceneManager[_0xed12ce(0x352)][_0xed12ce(0x7f8)](this),Game_Interpreter['prototype'][_0xed12ce(0x6b2)][_0xed12ce(0x4b1)](this);},Game_BattleOnceParallelInterpreter[_0x5bdce9(0x768)]['setTroopPage']=function(_0x1af84e){const _0x37e8a1=_0x5bdce9;_0x1af84e?this[_0x37e8a1(0x5aa)](_0x1af84e['list'],0x0):this['terminate']();},Scene_Battle[_0x5bdce9(0x768)]['isPartyCommandWindowDisabled']=function(){const _0x41e488=_0x5bdce9;return VisuMZ[_0x41e488(0x61c)][_0x41e488(0x76e)][_0x41e488(0x71c)][_0x41e488(0x4c7)];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x398)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x316)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x316)]=function(){const _0x2b8636=_0x5bdce9;this[_0x2b8636(0x375)]()?this[_0x2b8636(0x5f7)]():VisuMZ[_0x2b8636(0x61c)][_0x2b8636(0x398)][_0x2b8636(0x4b1)](this);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x5f7)]=function(){const _0x22d96b=_0x5bdce9;if(BattleManager['isDTB']())this[_0x22d96b(0x427)]();else BattleManager[_0x22d96b(0x985)]()&&VisuMZ['BattleCore'][_0x22d96b(0x398)][_0x22d96b(0x4b1)](this);},VisuMZ['BattleCore'][_0x5bdce9(0x902)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xb47)],Scene_Battle['prototype']['commandFight']=function(){const _0x5434da=_0x5bdce9;BattleManager[_0x5434da(0x985)]()?(this[_0x5434da(0x7ae)](),this[_0x5434da(0x46c)]()):VisuMZ[_0x5434da(0x61c)]['Scene_Battle_commandFight'][_0x5434da(0x4b1)](this);},Scene_Battle['prototype'][_0x5bdce9(0x7ae)]=function(){const _0x352682=_0x5bdce9;if(!VisuMZ[_0x352682(0x61c)][_0x352682(0xe0)])return;if(Imported[_0x352682(0x548)]&&BattleManager[_0x352682(0xa8e)]())return;const _0x49c1be=$gameParty[_0x352682(0xed)]()['filter'](_0x12422a=>_0x12422a[_0x352682(0x9c8)]()&&_0x12422a[_0x352682(0xe3)]());BattleManager[_0x352682(0x983)]=_0x49c1be[0x0]||null,BattleManager[_0x352682(0x983)]&&BattleManager[_0x352682(0x983)][_0x352682(0xb5c)](_0x352682(0x9f7));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x2a7)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x6ba)],Scene_Battle['prototype'][_0x5bdce9(0x6ba)]=function(){const _0x34c2f6=_0x5bdce9;VisuMZ['BattleCore'][_0x34c2f6(0x2a7)][_0x34c2f6(0x4b1)](this),this[_0x34c2f6(0x906)]();},Scene_Battle['prototype']['createActorCommandWindowBattleCore']=function(){const _0x4d8c94=_0x5bdce9,_0x15358b=this[_0x4d8c94(0x8df)];_0x15358b[_0x4d8c94(0x456)](_0x4d8c94(0x6ec),this[_0x4d8c94(0x832)]['bind'](this)),_0x15358b[_0x4d8c94(0x456)](_0x4d8c94(0xa63),this[_0x4d8c94(0x4e2)][_0x4d8c94(0x124)](this)),_0x15358b[_0x4d8c94(0x456)]('singleSkill',this[_0x4d8c94(0x615)]['bind'](this));if(BattleManager['isTpb']()){if(this[_0x4d8c94(0x375)]())delete _0x15358b['_handlers'][_0x4d8c94(0x5c1)];else{if(_0x4d8c94(0x767)!=='UOWtr')_0x15358b[_0x4d8c94(0x456)](_0x4d8c94(0x5c1),this[_0x4d8c94(0xeb)]['bind'](this));else{if(this['enemy']()[_0x4d8c94(0x664)][_0x4d8c94(0x16b)](/<BATTLER SPRITE CANNOT MOVE>/i))return![];return _0x598d39['prototype'][_0x4d8c94(0x270)][_0x4d8c94(0x4b1)](this);}}}},Scene_Battle['prototype'][_0x5bdce9(0x832)]=function(){const _0x5d405c=_0x5bdce9;this[_0x5d405c(0x112)]();},Scene_Battle['prototype'][_0x5bdce9(0x4e2)]=function(){const _0x544bda=_0x5bdce9;BattleManager[_0x544bda(0xad6)]()[_0x544bda(0x49c)](),BattleManager['finishActorInput'](),BattleManager[_0x544bda(0xa9d)](),this[_0x544bda(0xaaf)]();},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x615)]=function(){const _0x491f2c=_0x5bdce9,_0x3e52f4=BattleManager[_0x491f2c(0x504)]();_0x3e52f4[_0x491f2c(0x5ab)](this['_actorCommandWindow'][_0x491f2c(0x3fd)]()),this[_0x491f2c(0xd7)]();},Scene_Battle['prototype'][_0x5bdce9(0xeb)]=function(){const _0x30e586=_0x5bdce9;if(this['tpbActorSwitchConditionsMet']())this['performTpbActiveCheckSwitch']();else{if('nXWek'!==_0x30e586(0x55d))return _0x4aca12[_0x30e586(0x61c)][_0x30e586(0x76e)][_0x30e586(0x71c)]['CommandAddAutoBattle'];else this[_0x30e586(0x8d1)]();}},VisuMZ['BattleCore'][_0x5bdce9(0xe0)]=![],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x4fb)]=function(){const _0x4fe09b=_0x5bdce9;if(Imported['VisuMZ_2_BattleSystemCTB']&&BattleManager['isCTB']())return![];else{if(_0x4fe09b(0x194)!=='VapOc')_0x10a594=_0x1045f0*this[_0x4fe09b(0x167)][_0x4fe09b(0xa13)],_0x2cb8c0+=this[_0x4fe09b(0x167)]['damageFlat']*(_0xb2b806>=0x0?0x1:-0x1),_0x1b4c0a=this[_0x4fe09b(0x459)](_0x4fe09b(0x4a1),_0x2d0877,_0x4dbbec,![]),_0x2e61f5=this[_0x4fe09b(0x125)](_0x3da8b1),_0x5141a7=_0x821c13[_0x4fe09b(0xb3f)](_0x45a39f),this[_0x4fe09b(0x507)]=_0x1ff58b,this['_totalValue']=this[_0x4fe09b(0x9d1)]||0x0,this[_0x4fe09b(0x9d1)]+=_0x210743,_0x22fde4[_0x4fe09b(0x61c)]['Game_Action_executeDamage'][_0x4fe09b(0x4b1)](this,_0x216a4f,_0x567399),this[_0x4fe09b(0x459)](_0x4fe09b(0x1d3),_0x318fb3,_0x734dd4,!![]);else{if(!VisuMZ[_0x4fe09b(0x61c)][_0x4fe09b(0xe0)])return![];const _0x248168=$gameParty[_0x4fe09b(0xed)]()[_0x4fe09b(0xb85)](_0x28cfe5=>_0x28cfe5[_0x4fe09b(0x9c8)]()&&_0x28cfe5['canInput']());return _0x248168['length']>0x0&&BattleManager[_0x4fe09b(0xad6)]()!==_0x248168[_0x248168[_0x4fe09b(0x12d)]-0x1];}}},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x378)]=function(){const _0x30e98e=_0x5bdce9,_0x1d6758=BattleManager[_0x30e98e(0xad6)](),_0x505e60=_0x1d6758[_0x30e98e(0xb0d)]();if(_0x505e60)_0x505e60[_0x30e98e(0x2d4)]();const _0x2e0464=$gameParty[_0x30e98e(0xed)]()[_0x30e98e(0xb85)](_0x4f64d7=>_0x4f64d7[_0x30e98e(0x9c8)]()&&_0x4f64d7[_0x30e98e(0xe3)]()),_0x5e5f52=_0x2e0464[_0x30e98e(0x977)](_0x1d6758),_0x28e2be=_0x2e0464[_0x5e5f52+0x1];BattleManager[_0x30e98e(0x983)]=_0x28e2be||null;if(_0x28e2be)_0x28e2be[_0x30e98e(0xb5c)](_0x30e98e(0x9f7));_0x1d6758[_0x30e98e(0xb5c)](_0x30e98e(0x8b2)),this[_0x30e98e(0xaaf)]();},Scene_Battle['prototype'][_0x5bdce9(0x8d1)]=function(){const _0x18e745=_0x5bdce9;this[_0x18e745(0x95e)]['setup'](),this[_0x18e745(0x8df)][_0x18e745(0x6de)]();if(!VisuMZ[_0x18e745(0x61c)]['TpbActiveChangeEnabled'])return;if(Imported[_0x18e745(0x548)]&&BattleManager[_0x18e745(0xa8e)]())return;if(BattleManager[_0x18e745(0x983)]){if(_0x18e745(0x605)===_0x18e745(0x605)){BattleManager[_0x18e745(0x983)][_0x18e745(0xb5c)]('undecided');const _0x94f4b2=BattleManager[_0x18e745(0x983)][_0x18e745(0xb0d)]();if(_0x94f4b2)_0x94f4b2[_0x18e745(0x2d4)]();}else this['performAttack']();}BattleManager[_0x18e745(0x983)]=null;},VisuMZ['BattleCore']['Scene_Battle_createHelpWindow']=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x1e0)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x1e0)]=function(){const _0x22423c=_0x5bdce9;VisuMZ[_0x22423c(0x61c)][_0x22423c(0x431)][_0x22423c(0x4b1)](this),this[_0x22423c(0x2df)]();},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x2df)]=function(){const _0x112867=_0x5bdce9;this[_0x112867(0x8df)][_0x112867(0x797)](this[_0x112867(0xa0f)]),this[_0x112867(0x95e)][_0x112867(0x797)](this[_0x112867(0xa0f)]);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x19d)]=function(){const _0x4cf37c=_0x5bdce9;if($gameTemp['_forcedBattleLayout']!==undefined)return $gameTemp['_forcedBattleLayout'];if(this[_0x4cf37c(0x4e7)])return this[_0x4cf37c(0x4e7)];return this['_battleLayoutStyle']=VisuMZ[_0x4cf37c(0x61c)][_0x4cf37c(0x76e)][_0x4cf37c(0x40f)]['Style'][_0x4cf37c(0x63a)]()[_0x4cf37c(0x92d)](),this[_0x4cf37c(0x4e7)]===_0x4cf37c(0x74f)&&!Imported[_0x4cf37c(0x8fd)]&&(this['_battleLayoutStyle']=_0x4cf37c(0xa34)),this[_0x4cf37c(0x4e7)];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x200)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x578)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x578)]=function(){const _0x44d576=_0x5bdce9,_0x32f663=this['battleLayoutStyle']();switch(_0x32f663){case'list':return this[_0x44d576(0x599)](Math[_0x44d576(0xa5e)](0x1,$gameParty[_0x44d576(0x535)]()),!![]);break;default:return VisuMZ['BattleCore'][_0x44d576(0x200)][_0x44d576(0x4b1)](this);break;}},VisuMZ['BattleCore']['Scene_Battle_helpWindowRect']=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x5bc)],Scene_Battle[_0x5bdce9(0x768)]['helpWindowRect']=function(){const _0x3ee74f=_0x5bdce9,_0xec2b74=this[_0x3ee74f(0x19d)]();switch(_0xec2b74){case _0x3ee74f(0x5f1):return this[_0x3ee74f(0x831)]();break;case'default':case _0x3ee74f(0x3cd):case'xp':case _0x3ee74f(0x71f):default:return VisuMZ[_0x3ee74f(0x61c)][_0x3ee74f(0xa43)][_0x3ee74f(0x4b1)](this);break;}},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x97e)]=function(){const _0x3fc704=_0x5bdce9,_0x436bb1=this[_0x3fc704(0x19d)]();switch(_0x436bb1){case'xp':case'portrait':return this[_0x3fc704(0x182)]();break;case _0x3fc704(0x5f1):return this[_0x3fc704(0x6c6)]();break;case'default':case _0x3fc704(0x3cd):default:return this[_0x3fc704(0xa64)]();break;}},VisuMZ[_0x5bdce9(0x61c)]['Scene_Battle_partyCommandWindowRect']=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x7d1)],Scene_Battle['prototype'][_0x5bdce9(0x7d1)]=function(){const _0x10193f=_0x5bdce9,_0x49e196=this[_0x10193f(0x19d)]();switch(_0x49e196){case'xp':case'portrait':return this[_0x10193f(0x30b)]();break;case'border':return this[_0x10193f(0xb39)]();case _0x10193f(0xa34):case _0x10193f(0x3cd):default:return this[_0x10193f(0x550)]();break;}},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x550)]=function(){const _0x5431d8=_0x5bdce9,_0x59c171=VisuMZ[_0x5431d8(0x61c)][_0x5431d8(0x76e)][_0x5431d8(0x40f)],_0x3f5acb=_0x59c171['CommandWidth']||0xc0,_0x27997b=this[_0x5431d8(0x578)](),_0x3b1811=this[_0x5431d8(0x396)]()?Graphics['boxWidth']-_0x3f5acb:0x0,_0x7ae3aa=Graphics[_0x5431d8(0x51f)]-_0x27997b;return new Rectangle(_0x3b1811,_0x7ae3aa,_0x3f5acb,_0x27997b);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x1a2)]=function(){const _0x6afd93=_0x5bdce9;return this[_0x6afd93(0x7d1)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x163)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x59e)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x59e)]=function(){const _0x146d2c=_0x5bdce9,_0x33d5d5=this[_0x146d2c(0x19d)]();switch(_0x33d5d5){case'xp':case _0x146d2c(0x71f):case _0x146d2c(0x5f1):break;case _0x146d2c(0xa34):case _0x146d2c(0x3cd):default:VisuMZ[_0x146d2c(0x61c)]['Scene_Battle_updateStatusWindowPosition'][_0x146d2c(0x4b1)](this);break;}},VisuMZ['BattleCore'][_0x5bdce9(0x1b5)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x64c)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x64c)]=function(){const _0x4e9eb5=_0x5bdce9;VisuMZ[_0x4e9eb5(0x61c)][_0x4e9eb5(0x1b5)][_0x4e9eb5(0x4b1)](this),this[_0x4e9eb5(0x176)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x52d)]=Scene_Battle[_0x5bdce9(0x768)]['startEnemySelection'],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x1ef)]=function(){const _0x53978b=_0x5bdce9;VisuMZ['BattleCore']['Scene_Battle_startEnemySelection'][_0x53978b(0x4b1)](this),this[_0x53978b(0x22b)]['autoSelect'](),this[_0x53978b(0x176)]();},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x176)]=function(){const _0x407ce0=_0x5bdce9,_0x3b322d=this[_0x407ce0(0x19d)]();['xp',_0x407ce0(0x71f),_0x407ce0(0x5f1)]['includes'](_0x3b322d)&&this[_0x407ce0(0x8df)]['close'](),(_0x3b322d===_0x407ce0(0x5f1)||this['isSkillItemWindowsMiddle']())&&('HNiem'==='UkRHH'?(_0x29d125=_0x38de07[_0x407ce0(0x3a7)](/\x1I\[(\d+)\]/gi,''),_0x5e81a1=_0x2b4e47['replace'](/\\I\[(\d+)\]/gi,'')):(this[_0x407ce0(0xa94)][_0x407ce0(0x6de)](),this['_itemWindow'][_0x407ce0(0x6de)]()));},VisuMZ[_0x5bdce9(0x61c)]['Scene_Battle_onActorOk']=Scene_Battle[_0x5bdce9(0x768)]['onActorOk'],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x4ae)]=function(){const _0x12e24e=_0x5bdce9;VisuMZ[_0x12e24e(0x61c)]['Scene_Battle_onActorOk'][_0x12e24e(0x4b1)](this),this[_0x12e24e(0x3f3)]();},Scene_Battle['prototype'][_0x5bdce9(0x771)]=function(){const _0x48e3ff=_0x5bdce9;return['attack',_0x48e3ff(0xe9),_0x48e3ff(0x9b0)][_0x48e3ff(0x8ed)](this['_actorCommandWindow'][_0x48e3ff(0x733)]());},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x4c8)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x927)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x927)]=function(){const _0x5dbf7f=_0x5bdce9;this['isNonSubmenuCancel']()?(this['_statusWindow'][_0x5dbf7f(0x243)](),this[_0x5dbf7f(0x1ea)][_0x5dbf7f(0x137)](),this[_0x5dbf7f(0x8df)][_0x5dbf7f(0x11b)]()):VisuMZ['BattleCore'][_0x5dbf7f(0x4c8)][_0x5dbf7f(0x4b1)](this),this[_0x5dbf7f(0x2ad)]();},VisuMZ['BattleCore'][_0x5bdce9(0x3a2)]=Scene_Battle[_0x5bdce9(0x768)]['onEnemyOk'],Scene_Battle['prototype']['onEnemyOk']=function(){const _0x1dcde6=_0x5bdce9;VisuMZ[_0x1dcde6(0x61c)]['Scene_Battle_onEnemyOk'][_0x1dcde6(0x4b1)](this),this[_0x1dcde6(0x3f3)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x6cf)]=Scene_Battle['prototype'][_0x5bdce9(0x890)],Scene_Battle[_0x5bdce9(0x768)]['onEnemyCancel']=function(){const _0x227e49=_0x5bdce9;this[_0x227e49(0x771)]()?(this[_0x227e49(0x3e2)]['show'](),this[_0x227e49(0x22b)][_0x227e49(0x137)](),this[_0x227e49(0x8df)][_0x227e49(0x11b)]()):VisuMZ[_0x227e49(0x61c)][_0x227e49(0x6cf)][_0x227e49(0x4b1)](this),this['cancelTargetSelectionVisibility']();},Scene_Battle['prototype']['okTargetSelectionVisibility']=function(){const _0x2ef62b=_0x5bdce9,_0x23b785=this[_0x2ef62b(0x19d)]();if(_0x23b785===_0x2ef62b(0x5f1)||this[_0x2ef62b(0x493)]()){if(_0x2ef62b(0x799)!==_0x2ef62b(0x946)){this[_0x2ef62b(0xa94)][_0x2ef62b(0x9a0)]();if(this[_0x2ef62b(0xa94)][_0x2ef62b(0x672)]){if('Azayx'===_0x2ef62b(0x6c8))this[_0x2ef62b(0xa94)][_0x2ef62b(0x243)]();else{if(_0x50611e[_0x2ef62b(0x976)][_0x2ef62b(0x491)]()&&_0x19451e[_0x2ef62b(0x976)][_0x2ef62b(0x203)]())return 0x1;else{if(_0x38f6fd[_0x2ef62b(0x976)][_0x2ef62b(0x491)]()&&_0x3fe30f[_0x2ef62b(0x976)][_0x2ef62b(0x203)]())return-0x1;}}}this['_itemWindow'][_0x2ef62b(0x9a0)]();if(this['_itemWindow']['active']){if(_0x2ef62b(0xb01)!==_0x2ef62b(0xb01)){_0x2213e2[_0x2ef62b(0x983)][_0x2ef62b(0xb5c)](_0x2ef62b(0x8b2));const _0x5e9f85=_0x257074['_currentActor']['battler']();if(_0x5e9f85)_0x5e9f85[_0x2ef62b(0x2d4)]();}else this[_0x2ef62b(0x855)][_0x2ef62b(0x243)]();}}else this[_0x2ef62b(0x168)]=_0x2ef62b(0x71f);}},Scene_Battle['prototype'][_0x5bdce9(0x2ad)]=function(){const _0x5ebb1c=_0x5bdce9,_0x4b08a5=this['battleLayoutStyle']();['xp',_0x5ebb1c(0x71f),_0x5ebb1c(0x5f1)][_0x5ebb1c(0x8ed)](_0x4b08a5)&&this['_actorCommandWindow'][_0x5ebb1c(0x9a0)](),this['okTargetSelectionVisibility']();},Scene_Battle['prototype'][_0x5bdce9(0xa64)]=function(){const _0x4b2b47=_0x5bdce9,_0x3a43a7=VisuMZ['BattleCore'][_0x4b2b47(0x76e)][_0x4b2b47(0x40f)],_0x491506=Window_BattleStatus['prototype'][_0x4b2b47(0xaa7)](),_0x298c2c=Graphics[_0x4b2b47(0x7fb)]-(_0x3a43a7['CommandWidth']||0xc0),_0x1bff27=this['windowAreaHeight']()+_0x491506,_0x245753=this[_0x4b2b47(0x396)]()?0x0:Graphics['boxWidth']-_0x298c2c,_0x373e45=Graphics[_0x4b2b47(0x51f)]-_0x1bff27+_0x491506;return new Rectangle(_0x245753,_0x373e45,_0x298c2c,_0x1bff27);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x182)]=function(){const _0x3c2d3a=_0x5bdce9,_0x37eefe=Window_BattleStatus[_0x3c2d3a(0x768)][_0x3c2d3a(0xaa7)](),_0x5ab41a=Graphics[_0x3c2d3a(0x7fb)],_0x342960=this[_0x3c2d3a(0x578)]()+_0x37eefe,_0x21bfec=0x0,_0x5c17e3=Graphics[_0x3c2d3a(0x51f)]-_0x342960+_0x37eefe;return new Rectangle(_0x21bfec,_0x5c17e3,_0x5ab41a,_0x342960);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x30b)]=function(){const _0x5b8e79=_0x5bdce9,_0x2de93a=Graphics[_0x5b8e79(0x7fb)]/0x2,_0x34a395=this[_0x5b8e79(0x599)](VisuMZ[_0x5b8e79(0x61c)][_0x5b8e79(0x76e)]['BattleLayout'][_0x5b8e79(0x997)],!![]),_0x11e29a=Math[_0x5b8e79(0xb3f)]((Graphics[_0x5b8e79(0x7fb)]-_0x2de93a)/0x2),_0x2cf94b=Graphics[_0x5b8e79(0x51f)]-_0x34a395-this['statusWindowRectXPStyle']()[_0x5b8e79(0x3b0)];return new Rectangle(_0x11e29a,_0x2cf94b,_0x2de93a,_0x34a395);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x831)]=function(){const _0x485040=_0x5bdce9,_0x4c2aed=Graphics[_0x485040(0x3b2)],_0x40794b=Math[_0x485040(0xb3f)]((Graphics['boxWidth']-_0x4c2aed)/0x2),_0x59d368=this[_0x485040(0x714)](),_0x2036ce=(Graphics[_0x485040(0x3b0)]-Graphics[_0x485040(0x51f)])/-0x2;return new Rectangle(_0x40794b,_0x2036ce,_0x4c2aed,_0x59d368);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x6c6)]=function(){const _0x9cde46=_0x5bdce9,_0x369c36=Graphics[_0x9cde46(0x3b2)],_0xd0b0d6=Math[_0x9cde46(0xb3f)]((Graphics[_0x9cde46(0x7fb)]-_0x369c36)/0x2),_0x553054=this['calcWindowHeight'](0x4,!![]),_0x1c99de=Graphics[_0x9cde46(0x51f)]-_0x553054+(Graphics['height']-Graphics[_0x9cde46(0x51f)])/0x2;return new Rectangle(_0xd0b0d6,_0x1c99de,_0x369c36,_0x553054);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xb39)]=function(){const _0x33f0bd=_0x5bdce9,_0x390029=Math['floor'](Graphics[_0x33f0bd(0x3b2)]/0x3),_0x8695d0=this['isRightInputMode']()?(Graphics[_0x33f0bd(0x3b2)]+Graphics['boxWidth'])/0x2-_0x390029:(Graphics[_0x33f0bd(0x3b2)]-Graphics[_0x33f0bd(0x7fb)])/-0x2,_0x516b26=this[_0x33f0bd(0x831)](),_0x3bc05d=_0x516b26['y']+_0x516b26[_0x33f0bd(0x3b0)],_0x11ea77=this[_0x33f0bd(0x6c6)](),_0x329f8e=_0x11ea77['y']-_0x3bc05d;return new Rectangle(_0x8695d0,_0x3bc05d,_0x390029,_0x329f8e);},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x9ee)]=function(){const _0x46168e=_0x5bdce9,_0x33e579=Math[_0x46168e(0xa44)](Graphics[_0x46168e(0x3b2)]/0x3),_0x438ef0=Math['round']((Graphics['boxWidth']-_0x33e579)/0x2),_0x2c3c3c=this[_0x46168e(0xb39)](),_0x306540=_0x2c3c3c['y'],_0xcc8941=_0x2c3c3c[_0x46168e(0x3b0)];return new Rectangle(_0x438ef0,_0x306540,_0x33e579,_0xcc8941);},Scene_Battle[_0x5bdce9(0x768)]['repositionCancelButtonBorderStyle']=function(){const _0x21a268=_0x5bdce9;this[_0x21a268(0x4a2)]['y']=this['_helpWindow']['y']+this[_0x21a268(0xa0f)][_0x21a268(0x3b0)];if(this[_0x21a268(0x396)]()){if(this[_0x21a268(0x19d)]()===_0x21a268(0x5f1)){if(_0x21a268(0x9c7)!=='jmnck')this[_0x21a268(0x4a2)]['x']=0x8;else{if(!_0x4d935a[_0x21a268(0x5ea)]())return;const _0x516bdf=_0x50cddf['getLastPluginCommandInterpreter']();if(!_0x516bdf)return;_0x516bdf[_0x21a268(0x73c)]('battleGrow');}}else this[_0x21a268(0x4a2)]['x']=-this['_cancelButton'][_0x21a268(0x3b2)]-0x4;}else{if(_0x21a268(0x425)!==_0x21a268(0x425)){const _0x3527cc=_0x21a268(0x5d4)[_0x21a268(0x824)](_0x343290);_0x1c48cf[_0x21a268(0x61c)]['JS'][_0x1117f5]=new _0x5cadc1(_0x3527cc);}else this[_0x21a268(0x4a2)]['x']=Graphics[_0x21a268(0x3b2)]-(Graphics[_0x21a268(0x3b2)]-Graphics[_0x21a268(0x7fb)])/0x2-this[_0x21a268(0x4a2)][_0x21a268(0x3b2)]-0x4;}},VisuMZ[_0x5bdce9(0x61c)]['Scene_Battle_skillWindowRect']=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xabb)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xabb)]=function(){const _0x53cebe=_0x5bdce9;if(this[_0x53cebe(0x19d)]()===_0x53cebe(0x5f1)){if(_0x53cebe(0xb75)===_0x53cebe(0x76d))this['startWeaponAnimation'](_0x2c4460[_0x53cebe(0x1dc)]);else return this[_0x53cebe(0x9ee)]();}else{if(this['isSkillItemWindowsMiddle']()){if(_0x53cebe(0xb27)!==_0x53cebe(0x63d))return this['skillItemWindowRectMiddle']();else _0x264b55[_0x53cebe(0x61c)][_0x53cebe(0x853)][_0x53cebe(0x4b1)](this,_0x578f7b);}else{if(_0x53cebe(0x21b)!==_0x53cebe(0x21b)){if(!_0x90003a[_0x53cebe(0x68b)]())return;const _0x5879a5=this[_0x53cebe(0xb0d)]();if(!_0x5879a5)return;_0x5879a5[_0x53cebe(0x3c2)](_0x3950c4,_0x555f67,_0x1f9ab9,_0x1f4198);}else return VisuMZ[_0x53cebe(0x61c)][_0x53cebe(0xea)]['call'](this);}}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x5e6)]=Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x291)],Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x291)]=function(){const _0x20cf44=_0x5bdce9;if(this[_0x20cf44(0x19d)]()==='border')return this[_0x20cf44(0x9ee)]();else{if(this[_0x20cf44(0x493)]()){if('rYgWx'!=='rYgWx'){const _0x105710=_0x1f5017(_0x58368['$1'])[_0x20cf44(0x761)](/[\r\n]+/)[_0x20cf44(0x671)]('');_0x25844d['motionIdle']=_0x47d07c['processRandomizedData'](_0x105710);}else return this['skillItemWindowRectMiddle']();}else return VisuMZ[_0x20cf44(0x61c)][_0x20cf44(0x5e6)][_0x20cf44(0x4b1)](this);}},Scene_Battle[_0x5bdce9(0x768)]['isSkillItemWindowsMiddle']=function(){const _0x1f7c64=_0x5bdce9;return VisuMZ['BattleCore'][_0x1f7c64(0x76e)][_0x1f7c64(0x40f)][_0x1f7c64(0x5df)];},Scene_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x394)]=function(){const _0x2fbdcb=_0x5bdce9,_0x4b8dad=Sprite_Button[_0x2fbdcb(0x768)][_0x2fbdcb(0x16d)]()*0x2+0x4;let _0x43a3b3=Graphics[_0x2fbdcb(0x7fb)]-_0x4b8dad;if(Imported['VisuMZ_0_CoreEngine']&&SceneManager[_0x2fbdcb(0xa33)]()){if(_0x2fbdcb(0x395)==='ccsal')return _0xb4661b[_0x2fbdcb(0x61c)][_0x2fbdcb(0x76e)][_0x2fbdcb(0x14a)][_0x2fbdcb(0x996)];else _0x43a3b3+=_0x4b8dad;}const _0x276c91=this[_0x2fbdcb(0x882)](),_0x21128d=Graphics[_0x2fbdcb(0x51f)]-_0x276c91-this[_0x2fbdcb(0x97e)]()[_0x2fbdcb(0x3b0)]+Window_BattleStatus[_0x2fbdcb(0x768)]['extraHeight'](),_0x5e50d2=0x0;return new Rectangle(_0x5e50d2,_0x276c91,_0x43a3b3,_0x21128d);},Scene_Battle['prototype'][_0x5bdce9(0x8f8)]=function(){const _0x3890d7=_0x5bdce9;if(!VisuMZ[_0x3890d7(0x61c)]['Settings']['Enemy'][_0x3890d7(0xb57)])return;this['_enemyNameContainer']=new Sprite(),this['_enemyNameContainer']['x']=this[_0x3890d7(0xb84)]['x'],this[_0x3890d7(0x763)]['y']=this[_0x3890d7(0xb84)]['y'];const _0x5cc77f=this[_0x3890d7(0x317)][_0x3890d7(0x977)](this[_0x3890d7(0xb84)]);this[_0x3890d7(0x783)](this['_enemyNameContainer'],_0x5cc77f);for(let _0x25d80e=0x0;_0x25d80e<0x8;_0x25d80e++){if(_0x3890d7(0x7b4)==='pIJQp'){_0x1e4854[_0x3890d7(0x61c)][_0x3890d7(0x282)][_0x3890d7(0x4b1)](this,_0x5a0b0f,_0x2a22ba);if(!_0x317e97[_0x3890d7(0x606)]())return;for(const _0x23ec19 of this[_0x3890d7(0xb83)]()[_0x3890d7(0xab8)]()){if(_0x23ec19===_0x24db46[_0x3890d7(0x555)]()){let _0x40cdc4=_0x15cd28['value1'];_0x40cdc4*=_0x1b0107[_0x3890d7(0x5b7)](_0x23ec19),_0x40cdc4*=this[_0x3890d7(0xb83)]()[_0x3890d7(0x5e3)](_0x23ec19),_0x40cdc4*=this[_0x3890d7(0x2ef)](_0x3237db),_0x27204d[_0x3890d7(0x3df)]()<_0x40cdc4&&(_0x20ce2b[_0x3890d7(0xb87)]=!![],this[_0x3890d7(0xa4c)](_0x265382));}}}else{const _0x69c5d2=new Window_EnemyName(_0x25d80e);this[_0x3890d7(0x763)]['addChild'](_0x69c5d2);}}},Sprite_Battler[_0x5bdce9(0x2cf)]=VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x76e)][_0x5bdce9(0xe6)][_0x5bdce9(0x61f)],VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xad7)]=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3b5)],Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3b5)]=function(){const _0x535f33=_0x5bdce9;VisuMZ[_0x535f33(0x61c)][_0x535f33(0xad7)][_0x535f33(0x4b1)](this),this['initMembersBattleCore']();if(this[_0x535f33(0x56d)]===Sprite_Enemy)this[_0x535f33(0x598)]();this[_0x535f33(0xa91)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x858)]=function(){const _0xa5ddda=_0x5bdce9;this[_0xa5ddda(0x8f0)]=0x0,this[_0xa5ddda(0x4c9)]=0x0,this[_0xa5ddda(0x16a)]=0x0,this['_targetFloatHeight']=0x0,this['_floatDuration']=0x0,this[_0xa5ddda(0x8ff)]=0x0,this[_0xa5ddda(0x7aa)]='Linear',this['_jumpHeight']=0x0,this['_jumpMaxHeight']=0x0,this['_jumpDuration']=0x0,this[_0xa5ddda(0xa07)]=0x0,this[_0xa5ddda(0x546)]=0xff,this[_0xa5ddda(0x65b)]=0x0,this[_0xa5ddda(0x5d0)]=0x0,this[_0xa5ddda(0xa21)]=_0xa5ddda(0x32d),this[_0xa5ddda(0xa60)]=0x0,this['_targetAngle']=0x0,this['_angleDuration']=0x0,this[_0xa5ddda(0x7f0)]=0x0,this['_angleEasing']=_0xa5ddda(0x32d),this['_angleRevertOnFinish']=!![],this[_0xa5ddda(0xa23)]=0x0,this[_0xa5ddda(0x1c7)]=0x0,this[_0xa5ddda(0x35e)]=0x0,this[_0xa5ddda(0x69a)]=0x0,this[_0xa5ddda(0x1a9)]=0x0,this['_skewWholeDuration']=0x0,this['_skewEasing']=_0xa5ddda(0x32d),this[_0xa5ddda(0x326)]=0x1,this[_0xa5ddda(0x461)]=0x1,this['_targetGrowX']=0x1,this[_0xa5ddda(0x739)]=0x1,this['_growDuration']=0x0,this['_growWholeDuration']=0x0,this[_0xa5ddda(0x729)]='Linear',this[_0xa5ddda(0x7b1)]=0x1,this['_targetHomeX']=0x0,this[_0xa5ddda(0x8fb)]=0x0,this[_0xa5ddda(0x1a8)]=0x0,this[_0xa5ddda(0x21a)]=0x0,this['_homeEasing']=_0xa5ddda(0x32d);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x598)]=function(){const _0x37ceab=_0x5bdce9;this[_0x37ceab(0x748)]=new Sprite(),this[_0x37ceab(0x748)]['bitmap']=ImageManager[_0x37ceab(0x691)]('Shadow2'),this['_shadowSprite'][_0x37ceab(0x454)][_0x37ceab(0x302)]=VisuMZ['BattleCore']['Settings'][_0x37ceab(0xe6)][_0x37ceab(0x338)],this[_0x37ceab(0x748)][_0x37ceab(0x887)]['x']=0.5,this[_0x37ceab(0x748)][_0x37ceab(0x887)]['y']=0.5,this[_0x37ceab(0x748)]['y']=-0x2,this[_0x37ceab(0x748)]['visible']=![],this[_0x37ceab(0xa8d)](this[_0x37ceab(0x748)]);},Sprite_Battler[_0x5bdce9(0x768)]['createDistortionSprite']=function(){const _0x59b836=_0x5bdce9;this[_0x59b836(0xa9b)]=new Sprite(),this[_0x59b836(0xa9b)][_0x59b836(0x887)]['x']=0.5,this[_0x59b836(0xa9b)][_0x59b836(0x887)]['y']=0.5,this[_0x59b836(0xa8d)](this[_0x59b836(0xa9b)]);},Sprite_Battler[_0x5bdce9(0x768)]['attachSpritesToDistortionSprite']=function(){const _0x5d3383=_0x5bdce9;if(!this[_0x5d3383(0xa9b)])return;if(this[_0x5d3383(0x748)]){if(_0x5d3383(0xa84)===_0x5d3383(0xa4e)){if(!_0x1b8a94)return;for(const _0x5830bb of _0x17f545[_0x5d3383(0x3cd)]){if([0x6c,0x198][_0x5d3383(0x8ed)](_0x5830bb[_0x5d3383(0xabe)])){const _0xa2b992=_0x5830bb[_0x5d3383(0x2f6)][0x0];if(_0xa2b992[_0x5d3383(0x16b)](/<ONCE PARALLEL WHEN START BATTLE>/i))return!![];}}return![];}else{const _0x34c668=this[_0x5d3383(0xd4)](this[_0x5d3383(0xa9b)]);this['addChildAt'](this[_0x5d3383(0x748)],_0x34c668),this[_0x5d3383(0x643)]();}}this[_0x5d3383(0x3d6)]&&this[_0x5d3383(0xa9b)][_0x5d3383(0xa8d)](this[_0x5d3383(0x3d6)]);if(this[_0x5d3383(0x826)]){if(_0x5d3383(0x82c)!==_0x5d3383(0x82c)){const _0x5d5edf=_0x1bd849[_0x5d3383(0x61c)][_0x5d3383(0x76e)][_0x5d3383(0x2c4)];if(!_0x5d5edf[_0x5d3383(0x356)])return;this[_0x5d3383(0x838)]('addText',_0x5d5edf[_0x5d3383(0x804)]['format'](_0x2f7343[_0x5d3383(0x7a0)]())),this[_0x5d3383(0x838)]('waitCount',_0x5d5edf[_0x5d3383(0xac5)]),this['push'](_0x5d3383(0x89d));}else this[_0x5d3383(0xa9b)][_0x5d3383(0xa8d)](this[_0x5d3383(0x826)]);}this['_mainSprite']&&this['_distortionSprite'][_0x5d3383(0xa8d)](this[_0x5d3383(0xa5b)]);if(this[_0x5d3383(0x30c)]){if(_0x5d3383(0x3e5)==='CCBjF')this[_0x5d3383(0xa9b)][_0x5d3383(0xa8d)](this[_0x5d3383(0x30c)]);else return 0x0;}},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x643)]=function(){const _0x15cb77=_0x5bdce9;if(!this['_shadowSprite'])return;if(this['_battler']&&this[_0x15cb77(0x976)]['svBattlerShadowVisible']()){const _0x291b7d=this[_0x15cb77(0x748)][_0x15cb77(0x454)];this[_0x15cb77(0x748)]['setFrame'](0x0,0x0,_0x291b7d[_0x15cb77(0x3b2)],_0x291b7d[_0x15cb77(0x3b0)]);}else this[_0x15cb77(0x748)][_0x15cb77(0x8da)](0x0,0x0,0x0,0x0);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x32f)]=function(){const _0x40eaed=_0x5bdce9;if(SceneManager[_0x40eaed(0x5ea)]())return'ezSrJ'===_0x40eaed(0x888)?SceneManager['_scene'][_0x40eaed(0x25a)][_0x40eaed(0x3ad)]:_0x155723['BattleCore'][_0x40eaed(0x76e)][_0x40eaed(0x59c)]['CmdTextAlign'];else{if('XYcIb'!==_0x40eaed(0x242))return this[_0x40eaed(0x80c)];else _0x4cf8e8[_0x40eaed(0x4c3)]=_0x34d663,_0x59b33f[_0x40eaed(0xb25)]=!![],this[_0x40eaed(0x73d)]();}},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0xafa)]=function(_0x537f4a,_0x25b53e){const _0x15f518=_0x5bdce9;if(!this['_battler'][_0x15f518(0x3e7)]())return;const _0xd929ea=VisuMZ[_0x15f518(0x61c)][_0x15f518(0x76e)][_0x15f518(0x40d)],_0x154cb6=new Sprite_Damage();_0x154cb6[_0x15f518(0x388)]=_0xd929ea[_0x15f518(0x638)],this[_0x15f518(0x6fb)](_0x154cb6),_0x154cb6['setupTextPopup'](_0x537f4a,_0x25b53e),this[_0x15f518(0x50b)](_0x154cb6);},Sprite_Battler['prototype']['setupIconTextPopup']=function(_0x367a9f,_0x590cc0,_0x1fb31d){const _0x46702d=_0x5bdce9;if(!this['_battler'][_0x46702d(0x3e7)]())return;const _0x49a7a2=VisuMZ['BattleCore'][_0x46702d(0x76e)][_0x46702d(0x40d)],_0x45b4e3=new Sprite_Damage();_0x45b4e3['_duration']=_0x49a7a2[_0x46702d(0x638)],this[_0x46702d(0x6fb)](_0x45b4e3),_0x45b4e3[_0x46702d(0x974)](_0x367a9f,_0x590cc0,_0x1fb31d),this[_0x46702d(0x50b)](_0x45b4e3);},Sprite_Battler['prototype'][_0x5bdce9(0x8b0)]=function(){const _0x1f0e23=_0x5bdce9;if(!this['_battler'][_0x1f0e23(0x968)]())return;while(this['_battler']['isDamagePopupRequested']()){if(this[_0x1f0e23(0x976)]['isSpriteVisible']()){if(_0x1f0e23(0xac2)==='NeTSQ')this[_0x1f0e23(0x1d7)]();else return _0x2989be[_0x1f0e23(0xb0d)]()['_baseX']===_0x2abcda['battler']()['_baseX']?_0x4e38f5[_0x1f0e23(0xb0d)]()[_0x1f0e23(0x4c9)]-_0x488bdf[_0x1f0e23(0xb0d)]()[_0x1f0e23(0x4c9)]:_0x1aa837[_0x1f0e23(0xb0d)]()[_0x1f0e23(0x8f0)]-_0x59255e[_0x1f0e23(0xb0d)]()[_0x1f0e23(0x8f0)];}}this[_0x1f0e23(0x976)][_0x1f0e23(0x403)](),this[_0x1f0e23(0x976)]['clearResult']();},Sprite_Battler[_0x5bdce9(0x768)]['createDamageSprite']=function(){const _0x58a48f=_0x5bdce9,_0x437721=VisuMZ[_0x58a48f(0x61c)][_0x58a48f(0x76e)][_0x58a48f(0x40d)],_0x774f11=new Sprite_Damage();_0x774f11[_0x58a48f(0x388)]=_0x437721['PopupDuration'],this[_0x58a48f(0x6fb)](_0x774f11),_0x774f11[_0x58a48f(0x5aa)](this[_0x58a48f(0x976)]),_0x774f11[_0x58a48f(0x10b)](this[_0x58a48f(0x976)]),this[_0x58a48f(0x50b)](_0x774f11);},Sprite_Battler[_0x5bdce9(0x768)]['addDamageSprite']=function(_0x405f11){const _0x415c83=_0x5bdce9;this['_damages'][_0x415c83(0x838)](_0x405f11);if(this[_0x415c83(0x8bd)]())_0x415c83(0x8bb)===_0x415c83(0x55b)?(this[_0x415c83(0x8f0)]=this['x'],this['_baseY']=this['y'],this[_0x415c83(0x1e3)](),this[_0x415c83(0x39b)](),this['x']+=this[_0x415c83(0x5e0)](),this['y']+=this[_0x415c83(0x640)](),this['y']+=this[_0x415c83(0x3cf)](),this['x']=_0x558547['floor'](this['x']),this['y']=_0x52cb03[_0x415c83(0x618)](this['y'])):SceneManager[_0x415c83(0x352)][_0x415c83(0x3e2)][_0x415c83(0x50b)](_0x405f11,this[_0x415c83(0x976)]);else{this[_0x415c83(0x32f)]()[_0x415c83(0xa8d)](_0x405f11);if(SceneManager['isBattleFlipped']())_0x405f11[_0x415c83(0x91d)]['x']=-0x1;}},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x8bd)]=function(){const _0x41a541=_0x5bdce9;return!$gameSystem[_0x41a541(0x68b)]()&&this['_battler']&&this[_0x41a541(0x976)][_0x41a541(0x491)]();},Sprite_Battler['prototype']['sortDamageSprites']=function(_0x3dcf9a){const _0x2a31b5=_0x5bdce9;this[_0x2a31b5(0x7cd)](_0x3dcf9a,!![]);const _0x37bb5d=VisuMZ['BattleCore'][_0x2a31b5(0x76e)][_0x2a31b5(0x40d)],_0x241fa9=SceneManager['isBattleFlipped']()?-0x1:0x1;if(_0x37bb5d[_0x2a31b5(0xa29)])for(const _0x16206f of this[_0x2a31b5(0x104)]){_0x16206f['x']+=_0x37bb5d[_0x2a31b5(0x808)]*_0x241fa9,_0x16206f['y']+=_0x37bb5d[_0x2a31b5(0x9aa)];}else{const _0x51a8cf=this['_damages'][this['_damages'][_0x2a31b5(0x12d)]-0x1];_0x51a8cf&&(_0x3dcf9a['x']=_0x51a8cf['x']+_0x37bb5d[_0x2a31b5(0x808)]*_0x241fa9,_0x3dcf9a['y']=_0x51a8cf['y']+_0x37bb5d[_0x2a31b5(0x9aa)]);}},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x7cd)]=function(_0x48f5fb,_0x9b11f6){const _0x29ea85=_0x5bdce9,_0x1adcdf=SceneManager[_0x29ea85(0x345)]()?-0x1:0x1;let _0x11fa1a=this[_0x29ea85(0x8f0)];_0x11fa1a+=this[_0x29ea85(0x5e0)]();let _0x186f8b=this[_0x29ea85(0x4c9)];const _0x48f919=this['_distortionSprite']['scale']['y'];_0x186f8b+=this[_0x29ea85(0x640)]();const _0x51d2e8=SceneManager[_0x29ea85(0x352)][_0x29ea85(0x3e2)];if(_0x51d2e8&&this['parent']===_0x51d2e8){_0x11fa1a+=_0x51d2e8['x']-this[_0x29ea85(0x3e0)]();const _0x377d63=_0x51d2e8[_0x29ea85(0x429)]()*0x3/0x4;_0x186f8b=_0x51d2e8['y']+_0x377d63,_0x186f8b=Math[_0x29ea85(0x339)](_0x186f8b,_0x51d2e8['y']+this['y']-this[_0x29ea85(0x3b0)]+_0x377d63);}_0x48f5fb['x']=Math[_0x29ea85(0xb3f)](_0x11fa1a+this[_0x29ea85(0x3e0)]()*_0x1adcdf),_0x48f5fb['y']=Math[_0x29ea85(0xb3f)](_0x186f8b+this[_0x29ea85(0xb7d)]());},VisuMZ['BattleCore'][_0x5bdce9(0x820)]=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3e0)],Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3e0)]=function(){const _0x53ec94=_0x5bdce9;let _0x4b03e2=VisuMZ['BattleCore'][_0x53ec94(0x820)]['call'](this),_0x372e5d=VisuMZ[_0x53ec94(0x61c)][_0x53ec94(0x76e)][_0x53ec94(0x40d)][_0x53ec94(0x82b)]||0x0;return Math['round'](_0x4b03e2+_0x372e5d);},VisuMZ[_0x5bdce9(0x61c)]['Sprite_Battler_damageOffsetY']=Sprite_Battler['prototype'][_0x5bdce9(0xb7d)],Sprite_Battler[_0x5bdce9(0x768)]['damageOffsetY']=function(){const _0xda5299=_0x5bdce9;let _0x52f898=VisuMZ[_0xda5299(0x61c)][_0xda5299(0x8c6)]['call'](this);switch(VisuMZ['BattleCore'][_0xda5299(0x76e)][_0xda5299(0x40d)][_0xda5299(0x36f)]){case'head':_0x52f898-=this[_0xda5299(0x3b0)]*this[_0xda5299(0x91d)]['y'];break;case _0xda5299(0x4ed):_0x52f898-=this[_0xda5299(0x3b0)]*this['scale']['y']*0.5;break;}let _0x5a6281=VisuMZ[_0xda5299(0x61c)][_0xda5299(0x76e)][_0xda5299(0x40d)][_0xda5299(0x489)]||0x0;return Math[_0xda5299(0xb3f)](_0x52f898+_0x5a6281);},Sprite_Actor[_0x5bdce9(0x768)]['damageOffsetX']=function(){const _0x145679=_0x5bdce9;return Sprite_Battler[_0x145679(0x768)][_0x145679(0x3e0)][_0x145679(0x4b1)](this);},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0xb7d)]=function(){const _0xfe70ba=_0x5bdce9;return Sprite_Battler['prototype']['damageOffsetY'][_0xfe70ba(0x4b1)](this);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x747)]=function(_0xe8a641){const _0x2f6d5b=_0x5bdce9;if(this[_0x2f6d5b(0x8bd)]())SceneManager[_0x2f6d5b(0x352)][_0x2f6d5b(0x3e2)]['removeDamageSprite'](_0xe8a641);else{if('cKNpZ'!==_0x2f6d5b(0xb72)){if(!_0x1bbc30[_0x2f6d5b(0x768)][_0x2f6d5b(0xb41)][_0x2f6d5b(0x4b1)](this,_0x38f1f9))return!![];if(!_0x5eeef9[_0x2f6d5b(0x768)][_0x2f6d5b(0x315)][_0x2f6d5b(0x4b1)](this,_0x1a1187))return!![];if(!_0x218c67[_0x2f6d5b(0x768)][_0x2f6d5b(0x6a6)][_0x2f6d5b(0x4b1)](this,_0x51ae2a))return!![];return![];}else this[_0x2f6d5b(0x32f)]()[_0x2f6d5b(0x18f)](_0xe8a641),this[_0x2f6d5b(0x104)][_0x2f6d5b(0x671)](_0xe8a641),_0xe8a641['destroy']();}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x966)]=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x273)],Sprite_Battler['prototype'][_0x5bdce9(0x273)]=function(_0xf897ef,_0x3d0f51){const _0x2a2d60=_0x5bdce9,_0x2aa2cf=VisuMZ[_0x2a2d60(0x61c)][_0x2a2d60(0x76e)];if(this[_0x2a2d60(0x56d)]===Sprite_Actor)_0xf897ef+=_0x2aa2cf['Actor']['OffsetX']||0x0,_0x3d0f51+=_0x2aa2cf[_0x2a2d60(0xe6)][_0x2a2d60(0x4b4)]||0x0;else this[_0x2a2d60(0x56d)]===Sprite_Enemy&&(_0xf897ef+=_0x2aa2cf[_0x2a2d60(0x14a)][_0x2a2d60(0x6b7)]||0x0,_0x3d0f51+=_0x2aa2cf[_0x2a2d60(0x14a)][_0x2a2d60(0x4b4)]||0x0);this[_0x2a2d60(0x976)]&&(_0xf897ef=this[_0x2a2d60(0x976)]['_forcedHomeX']??_0xf897ef,_0x3d0f51=this[_0x2a2d60(0x976)][_0x2a2d60(0x9fa)]??_0x3d0f51),VisuMZ[_0x2a2d60(0x61c)][_0x2a2d60(0x966)][_0x2a2d60(0x4b1)](this,_0xf897ef,_0x3d0f51),this['_targetHomeX']=this[_0x2a2d60(0x666)],this[_0x2a2d60(0x8fb)]=this[_0x2a2d60(0x51a)],this['_homeDuration']=0x0,this[_0x2a2d60(0x21a)]=0x0,this['_homeEasing']=_0x2a2d60(0x32d);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x5a2)]=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x367)],Sprite_Battler['prototype'][_0x5bdce9(0x367)]=function(){const _0x36d97b=_0x5bdce9;VisuMZ[_0x36d97b(0x61c)][_0x36d97b(0x5a2)]['call'](this),!this[_0x36d97b(0x976)]&&this[_0x36d97b(0x53c)]&&(this[_0x36d97b(0x53c)][_0x36d97b(0x8e1)]=![]);},VisuMZ['BattleCore'][_0x5bdce9(0x432)]=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x650)],Sprite_Battler['prototype'][_0x5bdce9(0x650)]=function(){const _0x5191ca=_0x5bdce9;this[_0x5191ca(0x9fb)](),this[_0x5191ca(0x467)](),this[_0x5191ca(0x3b4)](),this[_0x5191ca(0x700)](),this[_0x5191ca(0xee)](),VisuMZ[_0x5191ca(0x61c)]['Sprite_Battler_updateMain']['call'](this);if(this['constructor']===Sprite_Enemy)this[_0x5191ca(0x837)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x76f)]=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x37f)],Sprite_Battler[_0x5bdce9(0x768)]['updatePosition']=function(){const _0x84deb=_0x5bdce9;this[_0x84deb(0x36a)](),VisuMZ[_0x84deb(0x61c)][_0x84deb(0x76f)][_0x84deb(0x4b1)](this),this[_0x84deb(0x32b)](),this['updateOpacity']();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x8b7)]=function(_0x30bb16,_0x27df79,_0x4d53c6,_0x26c5a0){const _0x1152ac=_0x5bdce9;(this[_0x1152ac(0xa67)]!==_0x30bb16||this[_0x1152ac(0x8fb)]!==_0x27df79)&&(_0x1152ac(0x932)===_0x1152ac(0x206)?(_0x4d0598[_0x1152ac(0x768)][_0x1152ac(0x367)]['call'](this),this[_0x1152ac(0x1fc)]()&&this[_0x1152ac(0x1fc)]()[_0x1152ac(0x74e)]()!==this[_0x1152ac(0x6f5)]&&(this[_0x1152ac(0x6f5)]=this[_0x1152ac(0x1fc)]()[_0x1152ac(0x74e)](),this[_0x1152ac(0xf7)]()),this[_0x1152ac(0x4f8)](),this[_0x1152ac(0x37f)]()):(this[_0x1152ac(0xa67)]=_0x30bb16,this['_targetHomeY']=_0x27df79,this[_0x1152ac(0x1a8)]=_0x4d53c6,this[_0x1152ac(0x21a)]=_0x4d53c6,this['_homeEasing']=_0x26c5a0,_0x4d53c6<=0x0&&this[_0x1152ac(0x3af)]()));},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x36a)]=function(){const _0x33fc02=_0x5bdce9;if(this[_0x33fc02(0x1a8)]<=0x0)return;const _0x360a34=this[_0x33fc02(0x1a8)],_0x34df07=this[_0x33fc02(0x21a)],_0x2c4075=this[_0x33fc02(0x953)];Imported[_0x33fc02(0x9f2)]?(this[_0x33fc02(0x666)]=this['applyEasing'](this['_homeX'],this[_0x33fc02(0xa67)],_0x360a34,_0x34df07,_0x2c4075),this[_0x33fc02(0x51a)]=this[_0x33fc02(0x99a)](this[_0x33fc02(0x51a)],this[_0x33fc02(0x8fb)],_0x360a34,_0x34df07,_0x2c4075)):(this['_homeX']=(this[_0x33fc02(0x666)]*(_0x360a34-0x1)+this[_0x33fc02(0xa67)])/_0x360a34,this[_0x33fc02(0x51a)]=(this[_0x33fc02(0x51a)]*(_0x360a34-0x1)+this[_0x33fc02(0x8fb)])/_0x360a34);this[_0x33fc02(0x1a8)]--;if(this[_0x33fc02(0x1a8)]<=0x0)this[_0x33fc02(0x3af)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3af)]=function(){const _0x553fab=_0x5bdce9;this['_homeX']=this[_0x553fab(0xa67)],this['_homeY']=this[_0x553fab(0x8fb)];},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x32b)]=function(){const _0x43207c=_0x5bdce9;this[_0x43207c(0x8f0)]=this['x'],this[_0x43207c(0x4c9)]=this['y'],this[_0x43207c(0x1e3)](),this['updateJump'](),this['x']+=this[_0x43207c(0x5e0)](),this['y']+=this['extraPositionY'](),this['y']+=this[_0x43207c(0x3cf)](),this['x']=Math[_0x43207c(0x618)](this['x']),this['y']=Math[_0x43207c(0x618)](this['y']);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x5e0)]=function(){let _0x34ae75=0x0;return _0x34ae75;},Sprite_Battler[_0x5bdce9(0x768)]['extraPositionY']=function(){const _0x2c280e=_0x5bdce9;let _0x1eaea4=0x0;return this['_battler']&&!this[_0x2c280e(0x976)][_0x2c280e(0x5c9)]()&&(_0x2c280e(0x84e)!==_0x2c280e(0x84e)?_0x4dd5c0[_0x2c280e(0x61c)][_0x2c280e(0x5bd)][_0x2c280e(0x4b1)](this):(_0x1eaea4-=this['_floatHeight'],_0x1eaea4-=this[_0x2c280e(0x80d)])),_0x1eaea4;},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3cf)]=function(){const _0x29acb7=_0x5bdce9;let _0x523a72=0x0;if(this[_0x29acb7(0xa9b)]&&this[_0x29acb7(0x56d)]!==Sprite_SvEnemy){const _0x1162bf=this[_0x29acb7(0xa9b)][_0x29acb7(0x91d)]['y'];_0x523a72-=(_0x1162bf-0x1)*this[_0x29acb7(0x3b0)];}return _0x523a72;},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x700)]=function(){const _0x1f03f8=_0x5bdce9,_0x555aed=this[_0x1f03f8(0x976)]&&this[_0x1f03f8(0x976)]['isBattlerFlipped']();this[_0x1f03f8(0x7b1)]=(_0x555aed?-0x1:0x1)*Math[_0x1f03f8(0x41b)](this[_0x1f03f8(0x91d)]['x']);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x758)]=function(_0x15f4ad,_0x4af22f,_0x1c2e86){const _0x11ea43=_0x5bdce9;if(!this[_0x11ea43(0x524)]())return;if(this['_targetFloatHeight']===_0x15f4ad)return;this['_targetFloatHeight']=_0x15f4ad,this['_floatDuration']=_0x4af22f,this['_floatWholeDuration']=_0x4af22f,this['_floatEasing']=_0x1c2e86||_0x11ea43(0x32d);if(_0x4af22f<=0x0)this[_0x11ea43(0x16a)]=_0x15f4ad;},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x1e3)]=function(){const _0x56ae96=_0x5bdce9;if(this[_0x56ae96(0x91e)]<=0x0)return;const _0x11e75e=this[_0x56ae96(0x91e)],_0x251f8e=this[_0x56ae96(0x8ff)],_0x3c162c=this[_0x56ae96(0x7aa)];Imported[_0x56ae96(0x9f2)]?_0x56ae96(0x3fe)!=='AtgjB'?this[_0x56ae96(0x16a)]=this['applyEasing'](this['_floatHeight'],this[_0x56ae96(0x3ce)],_0x11e75e,_0x251f8e,_0x3c162c):_0x28599c=_0x316c38:this[_0x56ae96(0x16a)]=(this[_0x56ae96(0x16a)]*(_0x11e75e-0x1)+this['_targetFloatHeight'])/_0x11e75e;this[_0x56ae96(0x91e)]--;if(this[_0x56ae96(0x91e)]<=0x0)this[_0x56ae96(0x1c6)]();},Sprite_Battler['prototype'][_0x5bdce9(0x1c6)]=function(){const _0x5441d4=_0x5bdce9;this[_0x5441d4(0x16a)]=this[_0x5441d4(0x3ce)];},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x4d6)]=function(){return this['_floatDuration']>0x0;},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x275)]=function(_0x351554,_0x2400cf){const _0x320689=_0x5bdce9;if(!this[_0x320689(0x524)]())return;if(_0x2400cf<=0x0)return;this[_0x320689(0x7f9)]=_0x351554,this[_0x320689(0x94f)]=_0x2400cf,this['_jumpWholeDuration']=_0x2400cf;},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x39b)]=function(){const _0x26fa4c=_0x5bdce9;if(this['_jumpDuration']<=0x0)return;const _0x81dd34=this['_jumpWholeDuration']-this[_0x26fa4c(0x94f)],_0x268727=this[_0x26fa4c(0xa07)]/0x2,_0x560342=this[_0x26fa4c(0x7f9)],_0x321ef7=-_0x560342/Math['pow'](_0x268727,0x2);this['_jumpHeight']=_0x321ef7*Math[_0x26fa4c(0x710)](_0x81dd34-_0x268727,0x2)+_0x560342,this['_jumpDuration']--;if(this[_0x26fa4c(0x94f)]<=0x0)return this[_0x26fa4c(0x644)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x644)]=function(){const _0x2d7438=_0x5bdce9;this[_0x2d7438(0x80d)]=0x0;},Sprite_Battler['prototype']['isJumping']=function(){const _0x479b61=_0x5bdce9;return this[_0x479b61(0x94f)]>0x0;},Sprite_Battler[_0x5bdce9(0x768)]['startOpacity']=function(_0x327d03,_0x3e3cff,_0x1dd019){const _0x13985c=_0x5bdce9;if(this[_0x13985c(0x546)]===_0x327d03)return;this[_0x13985c(0x546)]=_0x327d03,this['_opacityDuration']=_0x3e3cff,this[_0x13985c(0x5d0)]=_0x3e3cff,this[_0x13985c(0xa21)]=_0x1dd019||_0x13985c(0x32d);if(_0x3e3cff<=0x0)this[_0x13985c(0x867)]=_0x327d03;},Sprite_Battler['prototype'][_0x5bdce9(0x4f8)]=function(){const _0xbe82b0=_0x5bdce9;if(this[_0xbe82b0(0x56d)][_0xbe82b0(0x74e)]==='Sprite_SvEnemy')return;if(this[_0xbe82b0(0x65b)]<=0x0)return;const _0x20f1a1=this[_0xbe82b0(0x65b)],_0x1d015d=this[_0xbe82b0(0x5d0)],_0x588fa7=this[_0xbe82b0(0xa21)];if(Imported[_0xbe82b0(0x9f2)])this[_0xbe82b0(0x867)]=this[_0xbe82b0(0x99a)](this[_0xbe82b0(0x867)],this[_0xbe82b0(0x546)],_0x20f1a1,_0x1d015d,_0x588fa7);else{if(_0xbe82b0(0x114)===_0xbe82b0(0x52a))return this[_0xbe82b0(0x491)]&&this['isActor']()?_0x13585b[_0xbe82b0(0x61c)]['Settings']['Actor'][_0xbe82b0(0x996)]:_0x5468d1[_0xbe82b0(0x61c)][_0xbe82b0(0x76e)][_0xbe82b0(0x14a)][_0xbe82b0(0x996)];else this[_0xbe82b0(0x867)]=(this[_0xbe82b0(0x867)]*(_0x20f1a1-0x1)+this[_0xbe82b0(0x546)])/_0x20f1a1;}this[_0xbe82b0(0x65b)]--;if(this[_0xbe82b0(0x65b)]<=0x0)this[_0xbe82b0(0x9a9)]();},Sprite_Battler['prototype'][_0x5bdce9(0x9a9)]=function(){const _0x4b4fb3=_0x5bdce9;this['opacity']=this[_0x4b4fb3(0x546)];},Sprite_Battler['prototype'][_0x5bdce9(0x727)]=function(){return this['_opacityDuration']>0x0;},Sprite_Battler['prototype'][_0x5bdce9(0x837)]=function(){const _0x13a2df=_0x5bdce9;this[_0x13a2df(0x748)][_0x13a2df(0x8e1)]=this[_0x13a2df(0x976)][_0x13a2df(0x3a3)](),this[_0x13a2df(0x3b9)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3b9)]=function(){const _0x5c7b88=_0x5bdce9;if(!this[_0x5c7b88(0x748)])return;this[_0x5c7b88(0x748)]['y']=this['_baseY']-this['y']-0x2;},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x251)]=function(){const _0x15569a=_0x5bdce9;if(!this[_0x15569a(0x976)])return;this[_0x15569a(0x371)]=this[_0x15569a(0x976)][_0x15569a(0x503)](),this[_0x15569a(0x183)]=this['_battler']['battlerShadowScaleY']();},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0x503)]=function(){const _0x1ca612=_0x5bdce9,_0x1fcd93=this[_0x1ca612(0x491)]()?this['actor']():this[_0x1ca612(0x1fc)]();if(_0x1fcd93){if('tvAIm'!==_0x1ca612(0x845)){const _0x209cc7=_0x130736[_0x1ca612(0x61c)][_0x1ca612(0x76e)][_0x1ca612(0x817)],_0x44f604=_0x209cc7[_0x1ca612(0x1ac)],_0x25a6ca=_0x2c8155[_0x44f604];if(_0x25a6ca&&_0x382c48[_0x1ca612(0x61c)][_0x1ca612(0x144)](_0x44f604)){const _0x457a48=this[_0x1ca612(0x2a9)]()?this[_0x1ca612(0x812)]:0x0,_0x46e227=_0x25a6ca[_0x1ca612(0x3cd)];this[_0x1ca612(0xa77)](_0x46e227,_0x457a48),this['_list']=_0x6f153[_0x1ca612(0x87e)](this[_0x1ca612(0x27d)]);const _0x4ee55c={'code':0xbc3,'indent':this[_0x1ca612(0x83b)],'parameters':_0x49188b['makeDeepCopy'](_0x237284)};return this[_0x1ca612(0x27d)][_0x1ca612(0x532)](this[_0x1ca612(0x365)]+0x1,0x0,_0x4ee55c),!![];}else return _0x41e3c6[_0x1ca612(0x61c)]['Game_Interpreter_command301'][_0x1ca612(0x4b1)](this,_0x4c185c);}else{const _0xe467aa=_0x1fcd93[_0x1ca612(0x664)];if(_0xe467aa[_0x1ca612(0x16b)](/<SIDEVIEW SHADOW (?:SCALE|SCALE X):[ ](\d+)([%％])>/i)){if(_0x1ca612(0xa90)!=='RZSXB')return Number(RegExp['$1'])*0.01;else _0x300bfb=_0x157a08[_0x1ca612(0x7cc)]((_0x211ea6,_0xcadb74)=>_0x211ea6*(0x1-_0xcadb74),_0x39d5c4);}else{if(_0xe467aa[_0x1ca612(0x16b)](/<SIDEVIEW SHADOW (?:SCALE|SCALE X):[ ](.*)>/i))return Number(RegExp['$1'])||0x0;}}}return 0x1;},Game_BattlerBase[_0x5bdce9(0x768)][_0x5bdce9(0xb14)]=function(){const _0x4b7559=_0x5bdce9,_0x5c544f=this[_0x4b7559(0x491)]()?this[_0x4b7559(0xad6)]():this[_0x4b7559(0x1fc)]();if(_0x5c544f){if(_0x4b7559(0x1e6)!==_0x4b7559(0x15e)){const _0x4f434e=_0x5c544f['note'];if(_0x4f434e[_0x4b7559(0x16b)](/<SIDEVIEW SHADOW (?:SCALE|SCALE Y):[ ](\d+)([%％])>/i)){if(_0x4b7559(0xe5)==='vthMB')return Number(RegExp['$1'])*0.01;else this[_0x4b7559(0x951)](),this[_0x4b7559(0x12f)](),_0x1ba10a[_0x4b7559(0x768)][_0x4b7559(0x719)][_0x4b7559(0x4b1)](this),this['_createDamageContainer']();}else{if(_0x4f434e[_0x4b7559(0x16b)](/<SIDEVIEW SHADOW (?:SCALE|SCALE Y):[ ](.*)>/i))return Number(RegExp['$1'])||0x0;}}else _0x1e73ec=_0x362640[this[_0x4b7559(0x27d)][_0x102671][_0x4b7559(0x3fb)]];}return 0x1;},Sprite_Battler['prototype'][_0x5bdce9(0x9fb)]=function(){const _0x1aa35c=_0x5bdce9;if(this[_0x1aa35c(0x56d)]===Sprite_SvEnemy)return;this[_0x1aa35c(0x4f4)](),this[_0x1aa35c(0x75f)]();},Sprite_Battler['prototype'][_0x5bdce9(0x75f)]=function(){const _0x8f1c59=_0x5bdce9,_0x3c34e2=this[_0x8f1c59(0xa9b)];_0x3c34e2&&(_0x3c34e2['scale']['x']=this[_0x8f1c59(0x6ee)](),_0x3c34e2[_0x8f1c59(0x91d)]['y']=this['mainSpriteScaleY']());},Sprite_Battler['prototype']['mainSpriteScaleX']=function(){const _0x5cc914=_0x5bdce9;let _0xbbf923=0x1;return _0xbbf923*=this['_flipScaleX'],_0xbbf923*=this[_0x5cc914(0x326)],_0xbbf923;},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x809)]=function(){const _0x3ae030=_0x5bdce9;return 0x1*this[_0x3ae030(0x461)];},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x1af)]=function(){const _0x39ea7f=_0x5bdce9;return this[_0x39ea7f(0x3b2)]*this['mainSpriteScaleX']();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x1a1)]=function(){const _0x3c85df=_0x5bdce9;return this[_0x3c85df(0x3b0)]*this[_0x3c85df(0x809)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3c2)]=function(_0x1f45bf,_0x4162fb,_0x13e86b,_0x124631){const _0x18ce03=_0x5bdce9;if(!this['canMove']())return;if(!this['_distortionSprite'])return;if(this[_0x18ce03(0x4a9)]===_0x1f45bf&&this[_0x18ce03(0x739)]===_0x4162fb)return;this[_0x18ce03(0x4a9)]=_0x1f45bf,this[_0x18ce03(0x739)]=_0x4162fb,this[_0x18ce03(0x9ba)]=_0x13e86b,this['_growWholeDuration']=_0x13e86b,this[_0x18ce03(0x729)]=_0x124631||'Linear';if(_0x13e86b<=0x0){if(_0x18ce03(0x928)===_0x18ce03(0x45c)){if(!_0x3f301f[_0x18ce03(0x68b)]())return;const _0x12b64a=this[_0x18ce03(0xb0d)]();if(!_0x12b64a)return;_0x12b64a['startOpacity'](_0x5e6c0b,_0x2048fb,_0x4f2ee9);}else this['_growX']=this[_0x18ce03(0x4a9)],this[_0x18ce03(0x461)]=this[_0x18ce03(0x739)];}},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x4f4)]=function(){const _0x9990f7=_0x5bdce9;if(this[_0x9990f7(0x9ba)]<=0x0)return;if(!this[_0x9990f7(0xa9b)])return;const _0x18df76=this[_0x9990f7(0x9ba)],_0x58f7ca=this[_0x9990f7(0xaf4)],_0xcc06ff=this[_0x9990f7(0x729)];if(Imported['VisuMZ_0_CoreEngine']){if(_0x9990f7(0x58b)==='nTBUa'){if(!_0x33f1c4[_0x9990f7(0x5ea)]())return;_0x46e8da[_0x9990f7(0x866)](_0x56c905,_0x147c66);const _0x25a0a1=_0x14d600[_0x9990f7(0x5ae)];if(!_0x25a0a1)return;let _0x4326f2=_0x5661d0[_0x9990f7(0x586)];_0x25a0a1[_0x9990f7(0x1fe)](_0x4326f2);}else this[_0x9990f7(0x326)]=this['applyEasing'](this[_0x9990f7(0x326)],this[_0x9990f7(0x4a9)],_0x18df76,_0x58f7ca,_0xcc06ff),this[_0x9990f7(0x461)]=this[_0x9990f7(0x99a)](this[_0x9990f7(0x461)],this[_0x9990f7(0x739)],_0x18df76,_0x58f7ca,_0xcc06ff);}else this[_0x9990f7(0x326)]=(this['_growX']*(_0x18df76-0x1)+this[_0x9990f7(0x4a9)])/_0x18df76,this['_growY']=(this[_0x9990f7(0x461)]*(_0x18df76-0x1)+this['_targetGrowY'])/_0x18df76;this[_0x9990f7(0x9ba)]--;if(this[_0x9990f7(0x9ba)]<=0x0)this[_0x9990f7(0x4bc)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x4bc)]=function(){const _0x93e6d9=_0x5bdce9;this[_0x93e6d9(0x326)]=this[_0x93e6d9(0x4a9)],this[_0x93e6d9(0x461)]=this[_0x93e6d9(0x739)];},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x48a)]=function(){const _0x3a2500=_0x5bdce9;return this[_0x3a2500(0x9ba)]>0x0;},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x53f)]=function(_0x9fbad9,_0x4ca21d,_0x5e9ff3,_0x8cc8a6){const _0x3ba1bf=_0x5bdce9;if(!this['canMove']())return;if(!this[_0x3ba1bf(0xa9b)])return;if(this[_0x3ba1bf(0x35e)]===_0x9fbad9&&this[_0x3ba1bf(0x69a)]===_0x4ca21d)return;this[_0x3ba1bf(0x35e)]=_0x9fbad9,this[_0x3ba1bf(0x69a)]=_0x4ca21d,this[_0x3ba1bf(0x1a9)]=_0x5e9ff3,this['_skewWholeDuration']=_0x5e9ff3,this[_0x3ba1bf(0xa01)]=_0x8cc8a6||_0x3ba1bf(0x32d),_0x5e9ff3<=0x0&&(this[_0x3ba1bf(0xa9b)][_0x3ba1bf(0x696)]['x']=this[_0x3ba1bf(0x35e)],this[_0x3ba1bf(0xa9b)][_0x3ba1bf(0x696)]['y']=this[_0x3ba1bf(0x69a)]);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x467)]=function(){const _0x34ed09=_0x5bdce9;if(this[_0x34ed09(0x1a9)]<=0x0)return;if(!this['_distortionSprite'])return;const _0x2fbda1=this[_0x34ed09(0x1a9)],_0x5ac3f2=this[_0x34ed09(0x7e3)],_0x4108bc=this['_skewEasing'],_0x44755c=this[_0x34ed09(0xa9b)];if(Imported[_0x34ed09(0x9f2)]){if(_0x34ed09(0x102)!==_0x34ed09(0xa02))_0x44755c[_0x34ed09(0x696)]['x']=this['applyEasing'](_0x44755c[_0x34ed09(0x696)]['x'],this[_0x34ed09(0x35e)],_0x2fbda1,_0x5ac3f2,_0x4108bc),_0x44755c[_0x34ed09(0x696)]['y']=this[_0x34ed09(0x99a)](_0x44755c[_0x34ed09(0x696)]['y'],this['_targetSkewY'],_0x2fbda1,_0x5ac3f2,_0x4108bc);else{if(!_0x13b5de[_0x34ed09(0x5ea)]())return;if(!_0x70cc48[_0x34ed09(0x27b)])return;_0x1431cf[_0x34ed09(0x866)](_0x340a07,_0x3a610c);const _0x3962bb=_0x2d8049[_0x34ed09(0xb48)](),_0x27967f=_0x4d4d92[_0x34ed09(0x7a2)];if(!_0x3962bb)return;_0x539619[_0x34ed09(0x8a4)](0x0,0x0,_0x48d7ab[_0x34ed09(0x26c)],_0x4e62ec[_0x34ed09(0x752)]);if(_0x27967f)_0x3962bb[_0x34ed09(0x73c)](_0x34ed09(0x693));}}else _0x44755c[_0x34ed09(0x696)]['x']=(_0x44755c[_0x34ed09(0x696)]['x']*(_0x2fbda1-0x1)+this[_0x34ed09(0x35e)])/_0x2fbda1,_0x44755c[_0x34ed09(0x696)]['y']=(_0x44755c[_0x34ed09(0x696)]['y']*(_0x2fbda1-0x1)+this['_targetSkewY'])/_0x2fbda1;this[_0x34ed09(0x1a9)]--;if(this['_skewDuration']<=0x0)this[_0x34ed09(0xa62)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0xa62)]=function(){const _0x534977=_0x5bdce9;this[_0x534977(0xa9b)][_0x534977(0x696)]['x']=this[_0x534977(0x35e)],this[_0x534977(0xa9b)]['skew']['y']=this[_0x534977(0x69a)];},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x35f)]=function(){const _0x5343a1=_0x5bdce9;return this[_0x5343a1(0x1a9)]>0x0;},Sprite_Battler['prototype']['startSpin']=function(_0x26b026,_0x12ee7a,_0x21e506,_0x415672){const _0xe488af=_0x5bdce9;if(!this[_0xe488af(0x524)]())return;if(!this[_0xe488af(0xa9b)])return;if(this[_0xe488af(0xaea)]===_0x26b026)return;this[_0xe488af(0xaea)]=_0x26b026,this[_0xe488af(0x3d8)]=_0x12ee7a,this[_0xe488af(0x7f0)]=_0x12ee7a,this[_0xe488af(0x1da)]=_0x21e506||_0xe488af(0x32d),this['_angleRevertOnFinish']=_0x415672,this[_0xe488af(0xa8c)]===undefined&&('sQOtE'!==_0xe488af(0xa6d)?_0x3de689[_0xe488af(0x61c)][_0xe488af(0x76e)][_0xe488af(0x14a)][_0xe488af(0x854)]&&(this[_0xe488af(0x21f)]=new _0xc1f9b2(),this[_0xe488af(0xa8d)](this['_stateIconSprite'])):this[_0xe488af(0xa8c)]=!![]),_0x12ee7a<=0x0&&('aguRV'===_0xe488af(0x209)?(this[_0xe488af(0xa60)]=_0x26b026,this[_0xe488af(0xa8c)]&&(this[_0xe488af(0xaea)]=0x0,this['_currentAngle']=0x0)):this[_0xe488af(0x981)]());},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3b4)]=function(){const _0xdfc0d5=_0x5bdce9;this[_0xdfc0d5(0x8b3)](),this['applyAngleChange']();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x8b3)]=function(){const _0x39f057=_0x5bdce9;if(this[_0x39f057(0x3d8)]<=0x0)return;const _0x2c599f=this['_angleDuration'],_0x158aea=this['_angleWholeDuration'],_0xcd8ef2=this[_0x39f057(0x1da)];if(Imported[_0x39f057(0x9f2)])this[_0x39f057(0xa60)]=this[_0x39f057(0x99a)](this[_0x39f057(0xa60)],this['_targetAngle'],_0x2c599f,_0x158aea,_0xcd8ef2);else{if(_0x39f057(0x5bf)!==_0x39f057(0x5bf)){if(!_0x48d67c['isSceneBattle']())return;_0x31498f['ConvertParams'](_0x246f4c,_0x2caac8);const _0x21763f=_0x48b3d4[_0x39f057(0xb48)](),_0x134724=_0x4c696d[_0x39f057(0x369)];if(!_0x21763f)return;_0x152670[_0x39f057(0x34d)]++,_0x4922bc[_0x39f057(0xaa8)]=_0x5ca05d['_allTargets'][_0x4748f9[_0x39f057(0x34d)]]||null,_0x49e7b4[_0x39f057(0xaa8)]&&_0x134724[_0x39f057(0x673)]()[_0x39f057(0x92d)]()!=='UNTITLED'&&_0x21763f[_0x39f057(0x29b)]([_0x134724]);}else this[_0x39f057(0xa60)]=(this[_0x39f057(0xa60)]*(_0x2c599f-0x1)+this[_0x39f057(0xaea)])/_0x2c599f;}this[_0x39f057(0x3d8)]--;if(this[_0x39f057(0x3d8)]<=0x0)this[_0x39f057(0x3cc)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3cc)]=function(){const _0x17224a=_0x5bdce9;this[_0x17224a(0xa60)]=this[_0x17224a(0xaea)],this['_angleRevertOnFinish']&&(this[_0x17224a(0xaea)]=0x0,this['_currentAngle']=0x0);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x86c)]=function(){const _0x3d60d9=_0x5bdce9;return this[_0x3d60d9(0x3d8)]>0x0;},Sprite_Battler[_0x5bdce9(0x768)]['applyAngleChange']=function(){const _0x4262c6=_0x5bdce9;if(!this[_0x4262c6(0xa9b)])return;const _0x415b7c=this['_currentAngle'],_0x240309=this[_0x4262c6(0x91d)]['x'],_0x30320e=this[_0x4262c6(0x976)][_0x4262c6(0x491)]()?-0x1:0x1;this[_0x4262c6(0xa9b)][_0x4262c6(0x697)]=_0x415b7c*_0x240309*_0x30320e;const _0x3066be=this[_0x4262c6(0xa9b)]['scale']['y'];this[_0x4262c6(0xa9b)]['y']=this[_0x4262c6(0x3b0)]*-0.5*(0x2-_0x3066be),this['_distortionSprite']['y']=Math[_0x4262c6(0xa44)](this[_0x4262c6(0xa9b)]['y']);const _0x280699=[this[_0x4262c6(0xa5b)],this[_0x4262c6(0x3d6)],this[_0x4262c6(0x30c)]];for(const _0x5b3cef of _0x280699){if(!_0x5b3cef)continue;_0x5b3cef['y']=this[_0x4262c6(0x3b0)]*0.5;}this[_0x4262c6(0x748)]&&('nmcLn'===_0x4262c6(0x7c9)?(this[_0x4262c6(0x371)]=this[_0x4262c6(0x371)]??0x1,this[_0x4262c6(0x183)]=this[_0x4262c6(0x183)]??0x1,this[_0x4262c6(0x748)][_0x4262c6(0x91d)]['x']=this[_0x4262c6(0xa9b)][_0x4262c6(0x91d)]['x']*this['_shadowScaleX'],this[_0x4262c6(0x748)][_0x4262c6(0x91d)]['y']=this[_0x4262c6(0xa9b)][_0x4262c6(0x91d)]['y']*this[_0x4262c6(0x183)]):this['_distortionSprite'][_0x4262c6(0xa8d)](this[_0x4262c6(0x30c)]));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x930)]=Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x813)],Sprite_Actor['prototype'][_0x5bdce9(0x813)]=function(){const _0x27c94a=_0x5bdce9;VisuMZ[_0x27c94a(0x61c)][_0x27c94a(0x930)][_0x27c94a(0x4b1)](this),VisuMZ[_0x27c94a(0x61c)]['Settings']['HpGauge'][_0x27c94a(0x984)]&&this[_0x27c94a(0x2b8)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x6e0)]=Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x9d7)],Sprite_Enemy[_0x5bdce9(0x768)]['createStateIconSprite']=function(){const _0x234660=_0x5bdce9;VisuMZ[_0x234660(0x61c)][_0x234660(0x76e)][_0x234660(0x9d6)][_0x234660(0x16f)]&&this[_0x234660(0x2b8)](),VisuMZ['BattleCore'][_0x234660(0x6e0)][_0x234660(0x4b1)](this);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x2b8)]=function(){const _0x1ad223=_0x5bdce9;if(!ConfigManager['visualHpGauge'])return;if(this[_0x1ad223(0x56d)]===Sprite_SvEnemy)return;const _0x549524=VisuMZ[_0x1ad223(0x61c)][_0x1ad223(0x76e)]['HpGauge'],_0x27bb83=new Sprite_HpGauge();_0x27bb83['anchor']['x']=_0x549524['AnchorX'],_0x27bb83[_0x1ad223(0x887)]['y']=_0x549524[_0x1ad223(0x192)],_0x27bb83[_0x1ad223(0x91d)]['x']=_0x27bb83['scale']['y']=_0x549524['Scale'],this[_0x1ad223(0x53c)]=_0x27bb83,this[_0x1ad223(0xa8d)](this['_hpGaugeSprite']),Spriteset_Battle[_0x1ad223(0x69e)]&&BattleManager['addChildToUiContainer'](this[_0x1ad223(0x53c)]);},VisuMZ[_0x5bdce9(0x61c)]['Sprite_Battler_setBattler']=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x23d)],Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x23d)]=function(_0x23fec2){const _0x3a3843=_0x5bdce9,_0x3ae940=this[_0x3a3843(0x976)];VisuMZ[_0x3a3843(0x61c)][_0x3a3843(0x79e)][_0x3a3843(0x4b1)](this,_0x23fec2),this[_0x3a3843(0x5fc)](_0x23fec2);if(_0x3ae940!==_0x23fec2)this[_0x3a3843(0x251)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x5fc)]=function(_0x5d8d46){const _0x2b4a9b=_0x5bdce9;if(!_0x5d8d46)return;if(!this['_hpGaugeSprite'])return;if(_0x5d8d46[_0x2b4a9b(0x491)]()){}else{if(_0x5d8d46[_0x2b4a9b(0x203)]()){if(this['constructor']===Sprite_SvEnemy&&!_0x5d8d46[_0x2b4a9b(0x3a3)]())return;}}this['_hpGaugeSprite'][_0x2b4a9b(0x5aa)](_0x5d8d46,'hp');},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x8bc)]=function(){const _0x2fe285=_0x5bdce9;return this[_0x2fe285(0x976)]&&this[_0x2fe285(0x976)][_0x2fe285(0x8bc)]();},Sprite_Battler['prototype']['updateStaticSvBattlerFrames']=function(){const _0x2b75f2=_0x5bdce9,_0x16f885=this[_0x2b75f2(0xa5b)]['bitmap'];if(!_0x16f885)return;const _0x486e0b=_0x16f885[_0x2b75f2(0x3b2)];let _0xb4271e=_0x16f885[_0x2b75f2(0x3b0)];if(this[_0x2b75f2(0x976)][_0x2b75f2(0x9a3)]()){if(_0x2b75f2(0x1d8)==='MBscq'){if(_0xb24273>_0x222bae['_baseX'])_0xe17f2a=!![];if(_0x1943fc<_0x5de8fa['_baseX'])_0x4527c5=![];}else{if(this[_0x2b75f2(0x6ef)])_0xb4271e=Math['max'](0x0,this[_0x2b75f2(0x6ef)][_0x2b75f2(0x3b0)]-0x4);}}this[_0x2b75f2(0xa5b)][_0x2b75f2(0x8da)](0x0,0x0,_0x486e0b,_0xb4271e),this[_0x2b75f2(0x8da)](0x0,0x0,_0x486e0b,_0xb4271e);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0xee)]=function(){const _0x1ee7c9=_0x5bdce9;if(!this[_0x1ee7c9(0x976)])return;if(!this['_hpGaugeSprite'])return;const _0x3cf12=VisuMZ['BattleCore'][_0x1ee7c9(0x76e)][_0x1ee7c9(0x9d6)],_0x21e806=this[_0x1ee7c9(0x53c)];_0x21e806[_0x1ee7c9(0x8e1)]=this[_0x1ee7c9(0x528)]();const _0x4943cb=_0x3cf12['OffsetX'],_0x581f5a=_0x3cf12['OffsetY'];_0x21e806['x']=_0x4943cb,_0x21e806['x']+=this[_0x1ee7c9(0x976)][_0x1ee7c9(0x5d1)](),_0x21e806['y']=-this['height']+_0x581f5a,_0x21e806['y']+=this['_battler'][_0x1ee7c9(0xb18)](),Spriteset_Battle[_0x1ee7c9(0x69e)]&&SceneManager[_0x1ee7c9(0x352)][_0x1ee7c9(0x25a)]&&(_0x21e806['x']+=this['x'],_0x21e806['y']+=this['y']);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x528)]=function(){const _0x505cfd=_0x5bdce9;if(!this[_0x505cfd(0x976)])return![];if(this['_battler'][_0x505cfd(0x491)]())return!![];if(this['_battler']['isHidden']())return![];if(this[_0x505cfd(0x867)]<=0x0)return![];const _0x1a353d=this[_0x505cfd(0x976)][_0x505cfd(0x1fc)]()[_0x505cfd(0x664)];if(_0x1a353d['match'](/<SHOW HP GAUGE>/i))return!![];if(_0x1a353d[_0x505cfd(0x16b)](/<HIDE HP GAUGE>/i))return![];const _0x3e56f5=VisuMZ['BattleCore'][_0x505cfd(0x76e)][_0x505cfd(0x9d6)];if(_0x3e56f5[_0x505cfd(0x78a)]){if('wXMfy'==='ZZvcx')return 0x1;else{if(_0x3e56f5['BTestBypass']&&BattleManager[_0x505cfd(0x1b6)]())return!![];if(this[_0x505cfd(0x976)]['_visualHpGauge_JustDied'])return![];return this[_0x505cfd(0x976)][_0x505cfd(0x7da)]();}}return!![];},VisuMZ['BattleCore']['Sprite_Battler_isMoving']=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3a8)],Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x3a8)]=function(){const _0x2fe080=_0x5bdce9;if(!this[_0x2fe080(0x976)])return![];if(this[_0x2fe080(0x1a8)]>0x0)return!![];return VisuMZ[_0x2fe080(0x61c)][_0x2fe080(0x5ca)][_0x2fe080(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x786)]=Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x120)],Sprite_Battler['prototype'][_0x5bdce9(0x120)]=function(_0x32f515,_0x3747e7,_0x349a02){const _0x4d1bd6=_0x5bdce9;this['canMove']()&&VisuMZ['BattleCore']['Sprite_Battler_startMove'][_0x4d1bd6(0x4b1)](this,_0x32f515,_0x3747e7,_0x349a02);},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x524)]=function(){const _0x791b38=_0x5bdce9;if(this[_0x791b38(0x976)]&&this[_0x791b38(0x976)][_0x791b38(0x9a3)]())return![];if(this[_0x791b38(0x976)]&&!this[_0x791b38(0x976)][_0x791b38(0x270)]())return![];return $gameSystem[_0x791b38(0x68b)]();},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x373)]=function(){},Sprite_Battler['prototype']['stepBack']=function(){const _0x2c65d1=_0x5bdce9;this[_0x2c65d1(0x120)](0x0,0x0,0xc);},Sprite_Battler['prototype'][_0x5bdce9(0x5d8)]=function(){},Sprite_Battler[_0x5bdce9(0x768)][_0x5bdce9(0x135)]=function(){const _0x30c0bf=_0x5bdce9,_0x448a3e=VisuMZ[_0x30c0bf(0x61c)][_0x30c0bf(0x76e)][_0x30c0bf(0xe6)],_0x550e04=this['_battler']&&this[_0x30c0bf(0x976)][_0x30c0bf(0x491)]()?0x1:-0x1,_0xe03ce6=this[_0x30c0bf(0x8f0)]-this[_0x30c0bf(0x666)]+_0x550e04*_0x448a3e[_0x30c0bf(0x13c)],_0x472bcc=this[_0x30c0bf(0x4c9)]-this[_0x30c0bf(0x51a)]+_0x550e04*_0x448a3e[_0x30c0bf(0x6d8)],_0x34944a=_0x448a3e['FlinchDuration'];this['startMove'](_0xe03ce6,_0x472bcc,_0x34944a);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xb70)]=Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x3b5)],Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x3b5)]=function(){const _0x48b974=_0x5bdce9;VisuMZ[_0x48b974(0x61c)]['Sprite_Actor_initMembers']['call'](this),this['attachSpritesToDistortionSprite']();},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x878)]=function(){const _0x298bf5=_0x5bdce9;return this[_0x298bf5(0xa9b)]||this['_mainSprite']||this;},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x1ab)]=Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0xaba)],Sprite_Actor['prototype'][_0x5bdce9(0xaba)]=function(){},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x3f9)]=function(_0x5260ee){const _0xd745ba=_0x5bdce9;if(SceneManager[_0xd745ba(0x8e7)]())return;if(!_0x5260ee)return;if(!_0x5260ee[_0xd745ba(0x524)]())return;VisuMZ[_0xd745ba(0x61c)][_0xd745ba(0x1ab)][_0xd745ba(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x231)]=Sprite_Actor['prototype'][_0x5bdce9(0x2d2)],Sprite_Actor['prototype']['setActorHome']=function(_0x39288f){const _0x238794=_0x5bdce9;if(VisuMZ[_0x238794(0x61c)][_0x238794(0x76e)][_0x238794(0xe6)]['HomePosJS']){if(_0x238794(0x397)!==_0x238794(0x397)){if(!this[_0x238794(0x524)]())return;if(!this['_distortionSprite'])return;if(this[_0x238794(0x4a9)]===_0x403e4c&&this[_0x238794(0x739)]===_0x3291c9)return;this[_0x238794(0x4a9)]=_0x5e055d,this[_0x238794(0x739)]=_0x57dc0e,this[_0x238794(0x9ba)]=_0x31511d,this[_0x238794(0xaf4)]=_0x1157f1,this['_growEasing']=_0x3d3d21||_0x238794(0x32d),_0x2b8b2a<=0x0&&(this['_growX']=this[_0x238794(0x4a9)],this['_growY']=this[_0x238794(0x739)]);}else VisuMZ[_0x238794(0x61c)]['Settings'][_0x238794(0xe6)][_0x238794(0x181)][_0x238794(0x4b1)](this,_0x39288f);}else VisuMZ[_0x238794(0x61c)][_0x238794(0x231)][_0x238794(0x4b1)](this,_0x39288f);},VisuMZ['BattleCore'][_0x5bdce9(0x8ad)]=Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x23d)],Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x23d)]=function(_0x2f5a26){const _0x45364a=_0x5bdce9;VisuMZ[_0x45364a(0x61c)][_0x45364a(0x8ad)][_0x45364a(0x4b1)](this,_0x2f5a26),this[_0x45364a(0x9e4)](_0x2f5a26);},Sprite_Actor[_0x5bdce9(0x768)]['setBattlerBattleCore']=function(_0x55978d){const _0x5ba260=_0x5bdce9;if(!_0x55978d)return;if(!this[_0x5ba260(0xa5b)])return;this[_0x5ba260(0xa5b)][_0x5ba260(0x887)]['x']=this[_0x5ba260(0xa72)][_0x5ba260(0x90f)](),this[_0x5ba260(0xa5b)]['anchor']['y']=this['_actor'][_0x5ba260(0xa3f)](),this[_0x5ba260(0x643)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x583)]=Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x367)],Sprite_Actor['prototype']['update']=function(){const _0x495271=_0x5bdce9;VisuMZ[_0x495271(0x61c)][_0x495271(0x583)]['call'](this),this[_0x495271(0xa72)]&&(this[_0x495271(0x898)](),this[_0x495271(0x410)]());},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x750)]=Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x575)],Sprite_Actor[_0x5bdce9(0x768)]['updateBitmap']=function(){const _0x386bcd=_0x5bdce9;VisuMZ[_0x386bcd(0x61c)]['Sprite_Actor_updateBitmap'][_0x386bcd(0x4b1)](this),this[_0x386bcd(0xa5b)]&&this[_0x386bcd(0xa5b)]['bitmap']&&this['_battler']&&(this[_0x386bcd(0xa5b)][_0x386bcd(0x454)][_0x386bcd(0x302)]!==this[_0x386bcd(0x976)][_0x386bcd(0x987)]()&&(this['_mainSprite'][_0x386bcd(0x454)][_0x386bcd(0x302)]=this[_0x386bcd(0x976)][_0x386bcd(0x987)]()));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x8eb)]=Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x837)],Sprite_Actor[_0x5bdce9(0x768)]['updateShadow']=function(){const _0xcc5623=_0x5bdce9;VisuMZ[_0xcc5623(0x61c)][_0xcc5623(0x8eb)][_0xcc5623(0x4b1)](this),this['updateShadowBattleCore']();},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x875)]=function(){const _0x52fc5c=_0x5bdce9;if(!this[_0x52fc5c(0xa5b)])return;if(!this[_0x52fc5c(0x748)])return;this[_0x52fc5c(0x643)](),this[_0x52fc5c(0x3b9)]();},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x898)]=function(){const _0x3ac359=_0x5bdce9;this[_0x3ac359(0x569)][_0x3ac359(0x91d)]['x']=0x1/(this[_0x3ac359(0x91d)]['x']||0.001),this[_0x3ac359(0x569)][_0x3ac359(0x91d)]['y']=0x1/(this[_0x3ac359(0x91d)]['y']||0.001);},Sprite_Actor['prototype']['updateStyleOpacity']=function(){const _0x218bd8=_0x5bdce9;if(!$gameSystem['isSideView']()&&this[_0x218bd8(0x56d)]===Sprite_Actor){const _0x4bdd24=Scene_Battle['prototype'][_0x218bd8(0x19d)]();[_0x218bd8(0xa34),_0x218bd8(0x3cd),_0x218bd8(0x71f),_0x218bd8(0x5f1)][_0x218bd8(0x8ed)](_0x4bdd24)&&(this[_0x218bd8(0x867)]=0x0);}},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0xadc)]=function(){const _0x3a34b3=_0x5bdce9,_0x20b348=this[_0x3a34b3(0xa72)];if(_0x20b348){if('XtftK'===_0x3a34b3(0x7ab))this[_0x3a34b3(0x838)]('fnordRemovedStates'),this[_0x3a34b3(0x838)](_0x3a34b3(0x73f)),this[_0x3a34b3(0x838)]('pushBaseLine'),this[_0x3a34b3(0x838)](_0x3a34b3(0xa19),_0x48d8cf[_0x3a34b3(0x2d1)][_0x3a34b3(0x824)](_0x33f4c6[_0x3a34b3(0x74e)]())),this[_0x3a34b3(0x838)]('wait');else{const _0x5992cd=_0x20b348[_0x3a34b3(0xd6)]();if(_0x20b348[_0x3a34b3(0x923)]()||_0x20b348['isActing']()){if('nlJjG'!=='Ozkof')this[_0x3a34b3(0x197)](_0x3a34b3(0x6c4));else{if(!_0x375cca)return 0x0;let _0x6771ac=0x0;const _0x438b49=_0x26f245['note'];return _0x438b49[_0x3a34b3(0x16b)](/<BATTLE UI OFFSET Y:[ ]([\+\-]\d+)>/i)&&(_0x6771ac+=_0x10e5ba(_0x46256f['$1'])),_0x438b49[_0x3a34b3(0x16b)](/<BATTLE UI OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)&&(_0x6771ac+=_0x3d21a2(_0x3f6c44['$2'])),_0x6771ac;}}else{if(_0x5992cd===0x3)this['startMotion'](_0x3a34b3(0x325));else{if(_0x5992cd===0x2)_0x3a34b3(0xab9)!==_0x3a34b3(0x50a)?this[_0x3a34b3(0x197)](_0x3a34b3(0x70d)):this[_0x3a34b3(0x378)]();else{if(this['forceEscapeSprite'])this[_0x3a34b3(0x197)](_0x3a34b3(0x6ec));else{if(_0x20b348[_0x3a34b3(0xb31)]())this[_0x3a34b3(0x197)](_0x3a34b3(0x156));else{if(_0x20b348[_0x3a34b3(0x6cb)]())_0x3a34b3(0xadd)===_0x3a34b3(0x130)?(_0x1bb475=(_0x39b8d3+_0xe859a2)/0x2,_0x55d4b0=-0x1):this[_0x3a34b3(0x197)](_0x3a34b3(0x177));else{if(_0x20b348[_0x3a34b3(0x8b8)]()||_0x20b348[_0x3a34b3(0x447)]())this[_0x3a34b3(0x197)](_0x3a34b3(0xe9));else{if(_0x5992cd===0x1)'ynrRS'!==_0x3a34b3(0x1ca)?this[_0x3a34b3(0x197)]('abnormal'):(_0x483553['BattleCore'][_0x3a34b3(0x76e)][_0x3a34b3(0x9d6)]['ShowEnemyGauge']&&this[_0x3a34b3(0x2b8)](),_0x31e5c1[_0x3a34b3(0x61c)][_0x3a34b3(0x6e0)][_0x3a34b3(0x4b1)](this));else{if(_0x20b348['isDying']())this[_0x3a34b3(0x197)]('dying');else{if(_0x20b348['isUndecided']())_0x3a34b3(0xa12)!==_0x3a34b3(0xa12)?(_0x37cf84=(_0x47ad2f+_0x1a14d5)/0x2,_0x3f04ba=-0x1):this['startMotion']('walk');else _0x20b348['currentAction']()?_0x3a34b3(0x71a)===_0x3a34b3(0x6b0)?(_0x27d880*=_0x35f04e[_0x3a34b3(0x5b7)](_0x38fac9[_0x3a34b3(0x357)]),_0x3f9b9a*=this[_0x3a34b3(0x2ef)](_0x4928ae)):this[_0x3a34b3(0x197)](_0x3a34b3(0x156)):this[_0x3a34b3(0x197)](_0x3a34b3(0x6c4));}}}}}}}}}}}},Sprite_Actor[_0x5bdce9(0x768)]['retreat']=function(){const _0x45886d=_0x5bdce9,_0x3b8269=0xa,_0x387983=0x12c*_0x3b8269,_0x5e012b=0x1e*_0x3b8269;this[_0x45886d(0x120)](_0x387983,0x0,_0x5e012b);},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x1d9)]=function(){const _0x4ebac1=_0x5bdce9;Sprite_Battler[_0x4ebac1(0x768)]['onMoveEnd']['call'](this);},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x297)]=function(){return Sprite_Battler['_motionSpeed'];},Sprite_Weapon[_0x5bdce9(0x768)][_0x5bdce9(0x370)]=function(){return Sprite_Battler['_motionSpeed'];},Sprite_Actor[_0x5bdce9(0x768)]['setupMotion']=function(){},Sprite_Actor[_0x5bdce9(0x768)]['setupWeaponAnimation']=function(){},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x911)]=function(){const _0x54d638=_0x5bdce9;if(this[_0x54d638(0x9eb)]&&++this[_0x54d638(0x5f5)]>=this[_0x54d638(0x297)]()){if(this[_0x54d638(0x9eb)][_0x54d638(0x127)])'OOpVU'===_0x54d638(0x762)?this[_0x54d638(0x3b6)]=(this['_pattern']+0x1)%0x4:_0x53c463[_0x54d638(0x2d6)](0x0);else this['_pattern']<0x2?_0x54d638(0x280)!=='LOcYq'?this['_pattern']++:this['_cancelButton']['x']=-this[_0x54d638(0x4a2)][_0x54d638(0x3b2)]-0x4:this[_0x54d638(0xadc)]();this[_0x54d638(0x5f5)]=0x0;}},Sprite_Actor['prototype'][_0x5bdce9(0xae5)]=function(_0x37f21d){const _0x12b3a3=_0x5bdce9;if(_0x37f21d===_0x12b3a3(0x55c))this[_0x12b3a3(0x42d)]=!![];if(this[_0x12b3a3(0x976)]&&this['_battler'][_0x12b3a3(0x9a3)]()){if(_0x12b3a3(0x442)===_0x12b3a3(0xda)){let _0x12ed74=[];for(const _0x34b42f of _0xf68dbd){_0x12ed74=_0x12ed74[_0x12b3a3(0x331)](_0x415f92[_0x12b3a3(0xaa1)](_0x34b42f));}return _0x12ed74[_0x12b3a3(0xb85)](_0x35fe01=>_0x35fe01);}else{this[_0x12b3a3(0x9eb)]=Sprite_Actor[_0x12b3a3(0x49d)][_0x12b3a3(0x325)];return;}}const _0x1aa48e=Sprite_Actor[_0x12b3a3(0x49d)][_0x37f21d];this[_0x12b3a3(0x9eb)]=_0x1aa48e,this[_0x12b3a3(0x5f5)]=0x0,this[_0x12b3a3(0x3b6)]=0x0;},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x460)]=function(_0x41806e){const _0xf803ce=_0x5bdce9;if(this[_0xf803ce(0x8bc)]())return;this['adjustWeaponSpriteOffset'](),this['_weaponSprite'][_0xf803ce(0x5aa)](_0x41806e),this[_0xf803ce(0xa72)][_0xf803ce(0x816)]();},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x5ba)]=function(){const _0x3b2f6d=_0x5bdce9;let _0x499f71=-0x10,_0x65398f=this[_0x3b2f6d(0x3b0)]*0.5;const _0x3c0478=/<SIDEVIEW WEAPON OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i,_0x5c9046=this[_0x3b2f6d(0x976)][_0x3b2f6d(0xb51)]()[_0x3b2f6d(0x782)](_0x208dcb=>_0x208dcb&&_0x208dcb['note'][_0x3b2f6d(0x16b)](_0x3c0478)?Number(RegExp['$1']):0x0),_0x351a8e=this[_0x3b2f6d(0x976)][_0x3b2f6d(0xb51)]()[_0x3b2f6d(0x782)](_0x56b413=>_0x56b413&&_0x56b413[_0x3b2f6d(0x664)][_0x3b2f6d(0x16b)](_0x3c0478)?Number(RegExp['$2']):0x0);_0x499f71=_0x5c9046[_0x3b2f6d(0x7cc)]((_0x2e9fb1,_0x1b265b)=>_0x2e9fb1+_0x1b265b,_0x499f71),_0x65398f=_0x351a8e[_0x3b2f6d(0x7cc)]((_0x438825,_0x5c3c50)=>_0x438825+_0x5c3c50,_0x65398f),this[_0x3b2f6d(0x826)]['x']=_0x499f71,this[_0x3b2f6d(0x826)]['y']=_0x65398f,this[_0x3b2f6d(0x826)][_0x3b2f6d(0x367)]();},Sprite_Weapon[_0x5bdce9(0x768)][_0x5bdce9(0x5aa)]=function(_0x363506){const _0x38e5ee=_0x5bdce9;this[_0x38e5ee(0x765)]=_0x363506,this[_0x38e5ee(0x92a)]=-0x1,this['_pattern']=0x0,this[_0x38e5ee(0x2f4)](),this[_0x38e5ee(0x46d)]();},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x4af)]=function(){},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x373)]=function(){const _0x127586=_0x5bdce9,_0x55d258=VisuMZ['BattleCore'][_0x127586(0x76e)]['ActionSequence'],_0x13eeee=_0x55d258[_0x127586(0x436)],_0x199a82=_0x55d258['StepDistanceY'],_0x4e32c9=_0x55d258['StepDuration'];this[_0x127586(0x120)](-_0x13eeee,-_0x199a82,_0x4e32c9);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xb6c)]=Sprite_Actor[_0x5bdce9(0x768)]['updateFrame'],Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x46d)]=function(){const _0x352a92=_0x5bdce9;if(this[_0x352a92(0x8bc)]()){if(_0x352a92(0x8d0)===_0x352a92(0xb2c))return this[_0x352a92(0x73a)]()?0x0:0xa;else this['updateStaticSvBattlerFrames']();}else this[_0x352a92(0x746)](),VisuMZ['BattleCore'][_0x352a92(0xb6c)]['call'](this);},Sprite_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x746)]=function(){const _0x43ee46=_0x5bdce9;if(this[_0x43ee46(0x976)]&&this[_0x43ee46(0x976)][_0x43ee46(0x3be)]){const _0x1342fb=this[_0x43ee46(0x976)]['_freezeMotionData'];this['_motion']=Sprite_Actor[_0x43ee46(0x49d)][_0x1342fb[_0x43ee46(0x1be)]],this['_pattern']=_0x1342fb[_0x43ee46(0x3ef)];const _0x3422f6=this[_0x43ee46(0x826)];_0x3422f6[_0x43ee46(0x236)](_0x1342fb[_0x43ee46(0x1dc)],_0x1342fb[_0x43ee46(0x3ef)]),this[_0x43ee46(0x5ba)]();}},Sprite_Weapon['prototype'][_0x5bdce9(0x236)]=function(_0x4a9cac,_0x339987){const _0x38e426=_0x5bdce9;this['_weaponImageId']=_0x4a9cac,this[_0x38e426(0x92a)]=-Infinity,this[_0x38e426(0x3b6)]=_0x339987,this[_0x38e426(0x2f4)](),this[_0x38e426(0x46d)]();},Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x3b5)]=function(){const _0x46a241=_0x5bdce9;Sprite_Battler[_0x46a241(0x768)][_0x46a241(0x3b5)]['call'](this),this[_0x46a241(0x471)]=null,this['_appeared']=![],this[_0x46a241(0xa1c)]='',this[_0x46a241(0x2ee)]=0x0,this[_0x46a241(0x409)]=null,this[_0x46a241(0x100)]=0x0,this['_shake']=0x0,this[_0x46a241(0x7ce)](),this[_0x46a241(0x9d7)]();},VisuMZ[_0x5bdce9(0x61c)]['Sprite_Enemy_update']=Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x367)],Sprite_Enemy['prototype'][_0x5bdce9(0x367)]=function(){const _0x114c73=_0x5bdce9;VisuMZ[_0x114c73(0x61c)][_0x114c73(0x91a)][_0x114c73(0x4b1)](this),this[_0x114c73(0x643)]();},Sprite_Enemy['prototype'][_0x5bdce9(0x7ce)]=function(){const _0x5c084a=_0x5bdce9;this[_0x5c084a(0xa5b)]=new Sprite(),this[_0x5c084a(0xa5b)][_0x5c084a(0x887)]['x']=0.5,this[_0x5c084a(0xa5b)][_0x5c084a(0x887)]['y']=0x1,this[_0x5c084a(0xa8d)](this['_mainSprite']),this[_0x5c084a(0x12b)]();},Sprite_Enemy[_0x5bdce9(0x768)]['mainSprite']=function(){const _0x3e4402=_0x5bdce9;return this['_distortionSprite']||this[_0x3e4402(0xa5b)]||this;},Sprite_Enemy['prototype'][_0x5bdce9(0x2f4)]=function(_0x45a09c){const _0x337b68=_0x5bdce9;this['bitmap']=new Bitmap(0x1,0x1);if(this[_0x337b68(0x3a3)]()){if(_0x337b68(0xab5)!==_0x337b68(0xab5)){if(!_0x1bbd91['isSceneBattle']())return;if(!_0x50a619[_0x337b68(0x27b)])return;_0xc1af29[_0x337b68(0x866)](_0x4d0251,_0x511b44);const _0x41306a=_0x5cc7b2[_0x337b68(0xb48)](),_0x3e5474=_0x3251ac[_0x337b68(0x146)];if(!_0x41306a)return;_0x278f9c[_0x337b68(0xb89)](0x1,_0x84d343['Duration'],_0x46180d[_0x337b68(0x752)]);if(_0x3e5474)_0x41306a[_0x337b68(0x73c)](_0x337b68(0xa68));}else{const _0x38b3a9=this[_0x337b68(0x471)][_0x337b68(0x74a)]();this[_0x337b68(0x454)]=new Bitmap(_0x38b3a9['width'],_0x38b3a9[_0x337b68(0x3b0)]),this[_0x337b68(0xa5b)]['bitmap']=new Bitmap(0x1,0x1);}}else $gameSystem[_0x337b68(0x68b)]()?(this[_0x337b68(0xa5b)][_0x337b68(0x454)]=ImageManager[_0x337b68(0x3f1)](_0x45a09c),this['_mainSprite'][_0x337b68(0x454)]['addLoadListener'](this[_0x337b68(0x3d1)]['bind'](this))):(this[_0x337b68(0xa5b)][_0x337b68(0x454)]=ImageManager[_0x337b68(0x121)](_0x45a09c),this['_mainSprite'][_0x337b68(0x454)][_0x337b68(0x4e9)](this[_0x337b68(0x3d1)]['bind'](this)));},Sprite_Enemy['prototype'][_0x5bdce9(0x3d1)]=function(){const _0x4ef1f4=_0x5bdce9,_0x4abb35=this[_0x4ef1f4(0xa5b)]['bitmap'];_0x4abb35&&(this['bitmap']=new Bitmap(_0x4abb35[_0x4ef1f4(0x3b2)],_0x4abb35[_0x4ef1f4(0x3b0)]));},VisuMZ['BattleCore']['Sprite_Enemy_setHue']=Sprite_Enemy[_0x5bdce9(0x768)]['setHue'],Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x44d)]=function(_0x251a23){const _0x3f4dc4=_0x5bdce9;if(this[_0x3f4dc4(0xa5b)]){if(_0x3f4dc4(0x869)!=='GHZVN')this[_0x3f4dc4(0xa5b)][_0x3f4dc4(0x44d)](_0x251a23);else{const _0x1a6b25=_0x5a18d3[_0x3f4dc4(0x977)](_0x14bf6b);return _0x1a6b25>=0x0?[_0x2da863[_0x1a6b25+0x1]||_0x5f528b]:[_0x18d7f2];}}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x8ca)]=Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x1a7)],Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x1a7)]=function(){const _0x4916d9=_0x5bdce9;this['allowCollapse']()?VisuMZ[_0x4916d9(0x61c)][_0x4916d9(0x8ca)][_0x4916d9(0x4b1)](this):(this[_0x4916d9(0xb7f)]=!this[_0x4916d9(0x471)]['isHidden'](),!this[_0x4916d9(0xb7f)]&&('WGpLC'!=='WGpLC'?(_0x2d8fd3=_0x11d3f6(_0x1a70f2['$1']),_0x24b9e7=_0x4f26f3(_0x4e4f20['$2'])):this['opacity']=0x0));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x1e1)]=Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x9db)],Sprite_Enemy[_0x5bdce9(0x768)]['updateCollapse']=function(){const _0x27fc0b=_0x5bdce9;if(this[_0x27fc0b(0x4a0)]())VisuMZ['BattleCore'][_0x27fc0b(0x1e1)][_0x27fc0b(0x4b1)](this);},Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x46d)]=function(){const _0xe50e16=_0x5bdce9;Sprite_Battler['prototype'][_0xe50e16(0x46d)][_0xe50e16(0x4b1)](this);const _0xd52e7b=this[_0xe50e16(0x878)]()||this;if(!_0xd52e7b)return;if(!_0xd52e7b[_0xe50e16(0x454)]){if(_0xe50e16(0xac6)!==_0xe50e16(0x12c))_0xd52e7b[_0xe50e16(0x454)]=new Bitmap(this['width'],this[_0xe50e16(0x3b0)]);else return!![];}this[_0xe50e16(0x409)]===_0xe50e16(0x31f)?this['_mainSprite']['setFrame'](0x0,0x0,this[_0xe50e16(0xa5b)][_0xe50e16(0x3b2)],this['_effectDuration']):_0xd52e7b['setFrame'](0x0,0x0,_0xd52e7b[_0xe50e16(0x454)][_0xe50e16(0x3b2)],this['bitmap']['height']);},VisuMZ['BattleCore'][_0x5bdce9(0x702)]=Sprite_Enemy[_0x5bdce9(0x768)]['updateBossCollapse'],Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x340)]=function(){const _0x2505fb=_0x5bdce9;if(this[_0x2505fb(0x4a0)]())VisuMZ[_0x2505fb(0x61c)][_0x2505fb(0x702)]['call'](this);},Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x3a8)]=function(){const _0x1088e7=_0x5bdce9;return Sprite_Battler[_0x1088e7(0x768)]['isMoving'][_0x1088e7(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x272)]=Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x898)],Sprite_Enemy[_0x5bdce9(0x768)]['updateStateSprite']=function(){const _0x4f9e95=_0x5bdce9;VisuMZ['BattleCore'][_0x4f9e95(0x272)]['call'](this),this[_0x4f9e95(0x401)]();},Sprite_Enemy[_0x5bdce9(0x768)]['updateStateSpriteBattleCore']=function(){const _0xab0e65=_0x5bdce9,_0x57e40c=VisuMZ[_0xab0e65(0x61c)][_0xab0e65(0x76e)][_0xab0e65(0x14a)];if(_0x57e40c[_0xab0e65(0x854)]&&!_0x57e40c['NameLegacy']){this[_0xab0e65(0x21f)]['opacity']=0x0;return;}this[_0xab0e65(0x21f)]['x']=0x0,this[_0xab0e65(0x21f)]['x']+=this[_0xab0e65(0x976)][_0xab0e65(0x5d1)](),this[_0xab0e65(0x21f)]['y']=-this[_0xab0e65(0x454)]['height']-this[_0xab0e65(0x21f)][_0xab0e65(0x3b0)]-0x4,this[_0xab0e65(0x21f)]['y']+=this[_0xab0e65(0x976)]['battleUIOffsetY'](),this['_stateIconSprite'][_0xab0e65(0x91d)]['x']=0x1/(this['scale']['x']||0.001),this[_0xab0e65(0x21f)][_0xab0e65(0x91d)]['y']=0x1/(this[_0xab0e65(0x91d)]['y']||0.001),this[_0xab0e65(0x3a3)]()&&(this[_0xab0e65(0x3d6)][_0xab0e65(0x569)]['scale']['x']=-0x1/(this[_0xab0e65(0x91d)]['x']||0.001),this[_0xab0e65(0x3d6)][_0xab0e65(0x569)]['scale']['y']=0x1/(this['scale']['y']||0.001));},VisuMZ[_0x5bdce9(0x61c)]['Sprite_Enemy_setBattler']=Sprite_Enemy[_0x5bdce9(0x768)]['setBattler'],Sprite_Enemy['prototype']['setBattler']=function(_0x5370c8){const _0x362b7a=_0x5bdce9;VisuMZ['BattleCore'][_0x362b7a(0x19a)]['call'](this,_0x5370c8),this[_0x362b7a(0x318)](_0x5370c8);},Sprite_Enemy['prototype'][_0x5bdce9(0x318)]=function(_0x71803a){const _0x2b185e=_0x5bdce9;!this['_svBattlerSprite']&&(this[_0x2b185e(0x3d6)]=new Sprite_SvEnemy(_0x71803a),this[_0x2b185e(0x12b)]()),this[_0x2b185e(0x3d6)][_0x2b185e(0x23d)](_0x71803a);},Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x3a3)]=function(){const _0x4f7d5c=_0x5bdce9;return this[_0x4f7d5c(0x471)]&&this[_0x4f7d5c(0x471)][_0x4f7d5c(0x3a3)]();},Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x4a0)]=function(){const _0x488a15=_0x5bdce9;if(this[_0x488a15(0x3a3)]()){if(_0x488a15(0x9d3)===_0x488a15(0x937))this['_battler'][_0x488a15(0x3e7)]()&&this[_0x488a15(0x1d7)]();else return this['_enemy'][_0x488a15(0x4a0)]();}else{if('BPTyp'!==_0x488a15(0x45d)){const _0x3fa630=this[_0x488a15(0x814)](_0x293696,_0x596cf7);_0x3fa630[_0x488a15(0x454)][_0x488a15(0x683)](_0x575c31[_0x1c5213],0x0,0x0,_0x3517e4,_0x595cb5,_0x488a15(0x4ed)),_0x3fa630['x']=(_0x5ba8e4-(_0x2b21d9[_0x488a15(0x12d)]-0x1)/0x2)*_0x308bce,_0x3fa630['dy']=-_0x202416;}else return!![];}},Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0xadc)]=function(){const _0x19c665=_0x5bdce9;if(this['hasSvBattler']()){if('PZcCx'===_0x19c665(0x7a1))return _0x6cf823[_0x19c665(0x61c)][_0x19c665(0x4bb)][_0x19c665(0x4b1)](this);else this[_0x19c665(0x3d6)][_0x19c665(0xadc)]();}},Sprite_Enemy['prototype'][_0x5bdce9(0xae5)]=function(_0x2cbd99){const _0x424430=_0x5bdce9;if(this[_0x424430(0x3a3)]())this[_0x424430(0x3d6)]['forceMotion'](_0x2cbd99);},Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x460)]=function(_0x28c1d4){const _0x22aa8f=_0x5bdce9;if(this[_0x22aa8f(0x3a3)]())this['_svBattlerSprite']['forceWeaponAnimation'](_0x28c1d4);},Sprite_Enemy[_0x5bdce9(0x768)][_0x5bdce9(0x373)]=function(){const _0x481b0d=_0x5bdce9,_0x30a36d=VisuMZ[_0x481b0d(0x61c)]['Settings']['ActionSequence'],_0x5f130a=_0x30a36d[_0x481b0d(0x436)],_0x982234=_0x30a36d[_0x481b0d(0xa5a)],_0x2f59b3=_0x30a36d[_0x481b0d(0x998)];this['startMove'](_0x5f130a,_0x982234,_0x2f59b3);};function Sprite_SvEnemy(){const _0x4b433f=_0x5bdce9;this[_0x4b433f(0x490)](...arguments);}function _0x9b05(_0x24cb6e,_0x85ea33){const _0x1d5cd8=_0x1d5c();return _0x9b05=function(_0x9b052e,_0x536643){_0x9b052e=_0x9b052e-0xd0;let _0x21d8db=_0x1d5cd8[_0x9b052e];return _0x21d8db;},_0x9b05(_0x24cb6e,_0x85ea33);}Sprite_SvEnemy['prototype']=Object[_0x5bdce9(0xdf)](Sprite_Actor[_0x5bdce9(0x768)]),Sprite_SvEnemy[_0x5bdce9(0x768)]['constructor']=Sprite_SvEnemy,Sprite_SvEnemy[_0x5bdce9(0x768)]['initialize']=function(_0x3c6d21){const _0x13bac7=_0x5bdce9;Sprite_Actor['prototype']['initialize'][_0x13bac7(0x4b1)](this,_0x3c6d21),this[_0x13bac7(0x91d)]['x']=-0x1,this['_stateSprite'][_0x13bac7(0x91d)]['x']=-0x1;},Sprite_SvEnemy[_0x5bdce9(0x768)][_0x5bdce9(0x598)]=function(){},Sprite_SvEnemy['prototype'][_0x5bdce9(0xaba)]=function(){},Sprite_SvEnemy[_0x5bdce9(0x768)]['setActorHome']=function(_0x4ab5b5){},Sprite_SvEnemy[_0x5bdce9(0x768)][_0x5bdce9(0x837)]=function(){},Sprite_SvEnemy['prototype'][_0x5bdce9(0x3b9)]=function(){},Sprite_SvEnemy[_0x5bdce9(0x768)][_0x5bdce9(0x898)]=function(){const _0x194b21=_0x5bdce9;this['_stateSprite'][_0x194b21(0x8e1)]=![];},Sprite_SvEnemy['prototype']['updateBitmap']=function(){const _0x3248da=_0x5bdce9;Sprite_Battler[_0x3248da(0x768)][_0x3248da(0x575)]['call'](this);const _0x31d754=this[_0x3248da(0xa72)]['svBattlerName']();this[_0x3248da(0xa1c)]!==_0x31d754&&(this[_0x3248da(0xa1c)]=_0x31d754,this[_0x3248da(0xa5b)][_0x3248da(0x454)]=ImageManager['loadSvActor'](_0x31d754));if(this[_0x3248da(0xa5b)]&&this[_0x3248da(0xa5b)][_0x3248da(0x454)]&&this[_0x3248da(0x976)]){if(_0x3248da(0x4c1)===_0x3248da(0x4c1)){if(this[_0x3248da(0xa5b)]['bitmap'][_0x3248da(0x302)]!==this['_battler'][_0x3248da(0x987)]()){if(_0x3248da(0xa78)!==_0x3248da(0x635))this[_0x3248da(0xa5b)][_0x3248da(0x454)][_0x3248da(0x302)]=this[_0x3248da(0x976)]['battlerSmoothImage']();else{if(!_0x3d0e67['BattleCore'][_0x3248da(0x76e)][_0x3248da(0x40f)][_0x3248da(0x2d0)])return;const _0x38459d=this[_0x3248da(0xad6)](_0x39689c),_0x273fb4=this[_0x3248da(0x5c3)](_0x55ed58);_0x273fb4[_0x3248da(0x3b2)]=_0x326268[_0x3248da(0x2a8)],_0x273fb4[_0x3248da(0x3b0)]-=0x2,this['drawActorFace'](_0x38459d,_0x273fb4['x']+0x1,_0x273fb4['y']+0x1,_0x273fb4[_0x3248da(0x3b2)],_0x273fb4[_0x3248da(0x3b0)]);}}}else _0x1e521f['repeats']=_0x5db449[_0x3248da(0xa5e)](0x1,_0x11b01c(_0x319c6d['$1']));}},Sprite_SvEnemy[_0x5bdce9(0x768)]['retreat']=function(){},Sprite_SvEnemy[_0x5bdce9(0x768)]['startMove']=function(_0xbfc499,_0x339855,_0x25d53e){const _0x52320e=_0x5bdce9;if(this[_0x52320e(0x80c)])this['parent'][_0x52320e(0x120)](_0xbfc499,_0x339855,_0x25d53e);},Sprite_SvEnemy[_0x5bdce9(0x768)][_0x5bdce9(0xadc)]=function(){const _0x5f05c9=_0x5bdce9,_0x1da2ad=this[_0x5f05c9(0xa72)];if(_0x1da2ad){const _0x39f144=_0x1da2ad['stateMotionIndex']();if(_0x1da2ad[_0x5f05c9(0x923)]()||_0x1da2ad['isActing']())this[_0x5f05c9(0x197)](_0x5f05c9(0x6c4));else{if(_0x39f144===0x3)this[_0x5f05c9(0x197)](_0x5f05c9(0x325));else{if(_0x39f144===0x2)this[_0x5f05c9(0x197)](_0x5f05c9(0x70d));else{if(_0x1da2ad[_0x5f05c9(0x6cb)]())'FLyAf'==='FLyAf'?this[_0x5f05c9(0x197)](_0x5f05c9(0x177)):this[_0x5f05c9(0x197)](_0x5f05c9(0x156));else{if(_0x1da2ad[_0x5f05c9(0x8b8)]()||_0x1da2ad['isGuardWaiting']())this[_0x5f05c9(0x197)](_0x5f05c9(0xe9));else{if(_0x39f144===0x1)this[_0x5f05c9(0x197)]('abnormal');else{if(_0x1da2ad[_0x5f05c9(0x152)]())this[_0x5f05c9(0x197)](_0x5f05c9(0x58c));else{if(_0x1da2ad[_0x5f05c9(0x98b)]()){if('PPRvn'!==_0x5f05c9(0x333))this[_0x5f05c9(0x197)](_0x5f05c9(0x6c4));else return-0x1;}else this[_0x5f05c9(0x197)](_0x1da2ad[_0x5f05c9(0x74a)]()[_0x5f05c9(0x220)]||_0x5f05c9(0x6c4));}}}}}}}}},Sprite_SvEnemy[_0x5bdce9(0x768)][_0x5bdce9(0x9a2)]=function(){const _0x6cfd31=_0x5bdce9;return this['parent']?this['parent'][_0x6cfd31(0x2a5)]===0x0&&this[_0x6cfd31(0x80c)][_0x6cfd31(0x7bb)]===0x0:!![];},Sprite_SvEnemy[_0x5bdce9(0x768)][_0x5bdce9(0x700)]=function(){},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xa28)]=Sprite_Animation[_0x5bdce9(0x768)]['targetSpritePosition'],Sprite_Animation['prototype'][_0x5bdce9(0xb4f)]=function(_0x23755f){const _0x342745=_0x5bdce9;if(_0x23755f[_0x342745(0xa9b)]){if(_0x342745(0x510)!==_0x342745(0x8ae))return this[_0x342745(0x4f5)](_0x23755f);else _0x173172=_0x414a13[_0x342745(0xb0d)]()[_0x342745(0x666)],_0x2f0c9b=_0x3e22f4[_0x342745(0xb0d)]()['_homeY'];}else{if(_0x342745(0x787)!=='kvjCM')return VisuMZ[_0x342745(0x61c)]['Sprite_Animation_targetSpritePosition']['call'](this,_0x23755f);else{const _0x46a37f=this[_0x342745(0x104)][this['_damages']['length']-0x1];_0x46a37f&&(_0x5d6390['x']=_0x46a37f['x']+_0x580cf9[_0x342745(0x808)]*_0x36591e,_0x4ea1ca['y']=_0x46a37f['y']+_0x1c14e3[_0x342745(0x9aa)]);}}},Sprite_Animation['prototype'][_0x5bdce9(0x4f5)]=function(_0x57b00c){const _0x397374=_0x5bdce9;let _0x99189f=_0x57b00c['x'],_0x27c0f1=_0x57b00c['y'],_0x520030=_0x57b00c['height'],_0x19e8a6=_0x57b00c[_0x397374(0xa9b)][_0x397374(0x91d)]['y'];_0x57b00c['x']=_0x57b00c[_0x397374(0x8f0)]+_0x57b00c[_0x397374(0x5e0)](),_0x57b00c['y']=_0x57b00c[_0x397374(0x4c9)]+_0x57b00c['extraPositionY'](),_0x57b00c[_0x397374(0x3b0)]*=_0x19e8a6;let _0x344ece=VisuMZ[_0x397374(0x61c)][_0x397374(0xa28)][_0x397374(0x4b1)](this,_0x57b00c);return _0x57b00c['x']=_0x99189f,_0x57b00c['y']=_0x27c0f1,_0x57b00c[_0x397374(0x3b0)]=_0x520030,_0x344ece;},VisuMZ[_0x5bdce9(0x61c)]['Sprite_AnimationMV_updatePosition']=Sprite_AnimationMV[_0x5bdce9(0x768)]['updatePosition'],Sprite_AnimationMV[_0x5bdce9(0x768)]['updatePosition']=function(){const _0x5a0808=_0x5bdce9;VisuMZ[_0x5a0808(0x61c)][_0x5a0808(0x734)]['call'](this);if(this[_0x5a0808(0x274)][_0x5a0808(0x32a)]===0x3){if(this['x']===0x0)this['x']=Math['round'](Graphics[_0x5a0808(0x3b2)]/0x2);if(this['y']===0x0)this['y']=Math[_0x5a0808(0xb3f)](Graphics[_0x5a0808(0x3b0)]/0x2);}},Sprite_Damage[_0x5bdce9(0x768)][_0x5bdce9(0x10b)]=function(_0x355af1){const _0x48e88a=_0x5bdce9,_0x575ee2=_0x355af1[_0x48e88a(0x30e)]()||_0x355af1[_0x48e88a(0x2c3)]();if(_0x575ee2[_0x48e88a(0xaef)]||_0x575ee2[_0x48e88a(0x728)])this[_0x48e88a(0xa31)]=0x0,this[_0x48e88a(0xaf9)]();else{if(_0x575ee2[_0x48e88a(0x825)])this[_0x48e88a(0xa31)]=_0x575ee2[_0x48e88a(0x78f)]>=0x0?0x0:0x1,this[_0x48e88a(0x3bd)](_0x575ee2[_0x48e88a(0x78f)]);else{if(_0x355af1[_0x48e88a(0x4d2)]()&&_0x575ee2[_0x48e88a(0x9c0)]!==0x0){if(_0x48e88a(0x5e4)!==_0x48e88a(0xaa2))this[_0x48e88a(0xa31)]=_0x575ee2[_0x48e88a(0x9c0)]>=0x0?0x2:0x3,this[_0x48e88a(0x3bd)](_0x575ee2['mpDamage']);else{if(!_0xaa72e9)return![];return _0x1146c8[_0x48e88a(0x712)]()===this[_0x48e88a(0x712)]();}}}}if(_0x575ee2[_0x48e88a(0x580)]){if(_0x48e88a(0x131)!==_0x48e88a(0x72b))this[_0x48e88a(0x29c)]();else{const _0x4cf0a7=this['_additionalSprites'];if(_0x4cf0a7[_0x3fa9df])return _0x4cf0a7[_0x509b6d];else{const _0x79d764=new _0x20ef11();return _0x4cf0a7[_0x538227]=_0x79d764,this[_0x48e88a(0x475)](_0x79d764),this[_0x48e88a(0x475)](this['_cursorArea']),_0x79d764;}}}},Sprite_Damage['prototype'][_0x5bdce9(0x5aa)]=function(_0x104774){},Sprite_Damage['prototype']['createDigits']=function(_0x5da418){const _0x2b1405=_0x5bdce9;let _0x53782d=this['createString'](_0x5da418);const _0x3ade3e=this[_0x2b1405(0x3c7)](),_0x268bbe=Math[_0x2b1405(0x618)](_0x3ade3e*0.75);for(let _0x44d06c=0x0;_0x44d06c<_0x53782d['length'];_0x44d06c++){const _0x18ab5a=this[_0x2b1405(0x814)](_0x268bbe,_0x3ade3e);_0x18ab5a[_0x2b1405(0x454)]['drawText'](_0x53782d[_0x44d06c],0x0,0x0,_0x268bbe,_0x3ade3e,_0x2b1405(0x4ed)),_0x18ab5a['x']=(_0x44d06c-(_0x53782d[_0x2b1405(0x12d)]-0x1)/0x2)*_0x268bbe,_0x18ab5a['dy']=-_0x44d06c;}},Sprite_Damage[_0x5bdce9(0x768)][_0x5bdce9(0x3de)]=function(_0xd51489){const _0x1bc42f=_0x5bdce9;let _0x203e21=Math[_0x1bc42f(0x41b)](_0xd51489)[_0x1bc42f(0x515)]();this['useDigitGrouping']()&&(_0x203e21=VisuMZ[_0x1bc42f(0x57b)](_0x203e21));const _0x5876fb=VisuMZ['BattleCore'][_0x1bc42f(0x76e)][_0x1bc42f(0x40d)];let _0x3e5477='',_0x54002a='';switch(this[_0x1bc42f(0xa31)]){case 0x0:_0x3e5477=_0x5876fb[_0x1bc42f(0x7f3)]||'-%1',_0x54002a=TextManager['hp'];if(_0xd51489===0x0)_0x3e5477='%1';break;case 0x1:_0x3e5477=_0x5876fb[_0x1bc42f(0x193)]||_0x1bc42f(0x85f),_0x54002a=TextManager['hp'];break;case 0x2:_0x3e5477=_0x5876fb['mpDamageFmt']||_0x1bc42f(0x9de),_0x54002a=TextManager['mp'];break;case 0x3:_0x3e5477=_0x5876fb[_0x1bc42f(0xafe)]||_0x1bc42f(0x645),_0x54002a=TextManager['mp'];break;}return _0x3e5477[_0x1bc42f(0x824)](_0x203e21,_0x54002a)[_0x1bc42f(0x92d)]();},Sprite_Damage['prototype'][_0x5bdce9(0x328)]=function(){const _0x187fba=_0x5bdce9;return Imported['VisuMZ_0_CoreEngine']?VisuMZ['CoreEngine'][_0x187fba(0x76e)][_0x187fba(0x4c6)]['DigitGroupingDamageSprites']:![];},Sprite_Damage[_0x5bdce9(0x768)][_0x5bdce9(0x29c)]=function(){const _0x2baf20=_0x5bdce9,_0x1a1a2c=VisuMZ[_0x2baf20(0x61c)][_0x2baf20(0x76e)][_0x2baf20(0x40d)];this[_0x2baf20(0x4f2)]=_0x1a1a2c[_0x2baf20(0x607)]['slice'](0x0),this[_0x2baf20(0x88c)]=_0x1a1a2c[_0x2baf20(0x5a7)];},Sprite_Damage[_0x5bdce9(0x768)][_0x5bdce9(0xafa)]=function(_0x1fc42a,_0x1bcf39){const _0xee7b69=_0x5bdce9;this['_flashColor']=_0x1bcf39[_0xee7b69(0x65f)]||[0x0,0x0,0x0,0x0],this[_0xee7b69(0x4f2)]=JsonEx[_0xee7b69(0x87e)](this[_0xee7b69(0x4f2)]),this[_0xee7b69(0x88c)]=_0x1bcf39[_0xee7b69(0x43e)]||0x0;const _0x513141=this[_0xee7b69(0x3c7)](),_0x4be798=Math[_0xee7b69(0x618)](_0x513141*0x1e),_0x2c88a7=this[_0xee7b69(0x814)](_0x4be798,_0x513141);_0x2c88a7[_0xee7b69(0x454)][_0xee7b69(0x9ac)]=ColorManager['getColor'](_0x1bcf39[_0xee7b69(0x9ac)]),_0x2c88a7[_0xee7b69(0x454)]['drawText'](_0x1fc42a,0x0,0x0,_0x4be798,_0x513141,_0xee7b69(0x4ed)),_0x2c88a7['dy']=0x0;},Sprite_Damage[_0x5bdce9(0x768)][_0x5bdce9(0x974)]=function(_0x41a38a,_0x58a121,_0x1ccfe7){const _0x5b8179=_0x5bdce9,_0x2c195c=Math['max'](this[_0x5b8179(0x3c7)](),ImageManager['iconHeight']),_0xc66edf=Math['floor'](_0x2c195c*0x1e),_0x1972be=this['createChildSprite'](_0xc66edf,_0x2c195c),_0x56c6c3=ImageManager[_0x5b8179(0x9e1)]/0x2,_0x5b4257=_0x1972be[_0x5b8179(0x454)]['measureTextWidth'](_0x58a121+'\x20');_0x1972be['bitmap'][_0x5b8179(0x9ac)]=ColorManager[_0x5b8179(0x658)](_0x1ccfe7[_0x5b8179(0x9ac)]),_0x1972be['bitmap'][_0x5b8179(0x683)](_0x58a121,_0x56c6c3,0x0,_0xc66edf-_0x56c6c3,_0x2c195c,_0x5b8179(0x4ed));const _0x117386=Math['round']((_0x2c195c-ImageManager[_0x5b8179(0x8a0)])/0x2),_0x5e7f0a=_0xc66edf/0x2-ImageManager[_0x5b8179(0x9e1)]-_0x5b4257/0x2+_0x56c6c3/0x2,_0x32bed8=ImageManager[_0x5b8179(0x691)](_0x5b8179(0x695)),_0x13dfc1=ImageManager[_0x5b8179(0x9e1)],_0x203a6b=ImageManager[_0x5b8179(0x8a0)],_0x4f0e2a=_0x41a38a%0x10*_0x13dfc1,_0x27369b=Math['floor'](_0x41a38a/0x10)*_0x203a6b;_0x1972be[_0x5b8179(0x454)]['blt'](_0x32bed8,_0x4f0e2a,_0x27369b,_0x13dfc1,_0x203a6b,_0x5e7f0a,_0x117386),this['_flashColor']=_0x1ccfe7['flashColor']||[0x0,0x0,0x0,0x0],this[_0x5b8179(0x4f2)]=JsonEx[_0x5b8179(0x87e)](this[_0x5b8179(0x4f2)]),this[_0x5b8179(0x88c)]=_0x1ccfe7[_0x5b8179(0x43e)]||0x0,_0x1972be['dy']=0x0;},VisuMZ['BattleCore'][_0x5bdce9(0xb54)]=Sprite_Damage['prototype'][_0x5bdce9(0x814)],Sprite_Damage[_0x5bdce9(0x768)][_0x5bdce9(0x814)]=function(_0x3e3ca0,_0x2536e4){const _0x28651c=_0x5bdce9;return _0x2536e4=Math['round'](_0x2536e4*1.2),VisuMZ[_0x28651c(0x61c)][_0x28651c(0xb54)][_0x28651c(0x4b1)](this,_0x3e3ca0,_0x2536e4);},VisuMZ[_0x5bdce9(0x61c)]['Sprite_StateIcon_updateFrame']=Sprite_StateIcon[_0x5bdce9(0x768)][_0x5bdce9(0x46d)],Sprite_StateIcon[_0x5bdce9(0x768)]['updateFrame']=function(){const _0x413984=_0x5bdce9;VisuMZ[_0x413984(0x61c)]['Sprite_StateIcon_updateFrame'][_0x413984(0x4b1)](this),this[_0x413984(0x867)]=this[_0x413984(0xe2)]>0x0?0xff:0x0;},VisuMZ['BattleCore'][_0x5bdce9(0x4f6)]=Sprite_Weapon[_0x5bdce9(0x768)][_0x5bdce9(0x2f4)],Sprite_Weapon[_0x5bdce9(0x768)][_0x5bdce9(0x2f4)]=function(){const _0x104ba6=_0x5bdce9;VisuMZ['BattleCore']['Sprite_Weapon_loadBitmap'][_0x104ba6(0x4b1)](this),this[_0x104ba6(0x454)]&&(this['bitmap'][_0x104ba6(0x302)]=VisuMZ[_0x104ba6(0x61c)][_0x104ba6(0x76e)][_0x104ba6(0xe6)][_0x104ba6(0x338)]);};function Sprite_HpGauge(){const _0x1ea59f=_0x5bdce9;this[_0x1ea59f(0x490)](...arguments);}function _0x1d5c(){const _0x370576=['UNTITLED','forceMotion','drain','MhYTk','dgmWT','playOnceParallelTroopPage','_targetAngle','performSubstitute','WaitForAngle','Game_Temp_requestAnimation','swapEnemyIDs','missed','battleJump','CalcEscapeRaiseJS','canUseItemCommand','_forceAction','_growWholeDuration','ActSeq_Mechanics_StbRemoveExcessActions','#ffffff','randomInt','DvVTZ','createMiss','setupTextPopup','ShowCritical','dimColor1','showHelpWindow','mpHealingFmt','padding','SceneManager_isSceneChanging','ngGlN','drawItemImageListStyle','autoSelectPriority','cameraClamp','hHMkj','alphabetic','HelpEscape','Game_Action_isForRandom','drawSkillCost','qJlpK','Immortal','dimColor2','battler','ResetFocus','getItemDamageAmountLabelOriginal','addedStateObjects','Window_PartyCommand_initialize','equips','requestRefresh','battlerShadowScaleY','PreStartActionJS','KecFr','23909530fHkoYT','battleUIOffsetY','FhHLn','FullActions','processRefresh','executeDamage','float','resizeWindowBorderStyle','isFlipped','actions','setHorrorEffectSettings','displayMiss','displayAddedStates','performMagicEvasion','_battleCoreBattleResumeAfter','XPSpriteYLocation','cDFwj','VisuMZ_2_HorrorEffects','contentsOpacity','ActSeq_BattleLog_DisplayAction','WvWAo','jOmOe','addPartyCommand','performWeaponAnimation','alive\x20friends\x20not\x20user','iVAKe','isCharging','contents','displayEvasion','PAxzX','Scene_Battle_stop','ParseArmorNotetags','applySoftDamageCap','<CUSTOM\x20ACTION\x20SEQUENCE>','partyCommandWindowRectBorderStyle','dead\x20friends','GhUoy','checkTpbInputClose','NJHaT','ActSeq_BattleLog_PopBaseLine','round','_subject','checkShowHideBattleNotetags','BHjNM','isAtbChargingState','BackColor','clearResult','canAddSkillCommand','commandFight','getLastPluginCommandInterpreter','setCursorRect','Window_BattleLog_performActionEnd','exit','getDualWieldTimes','setHelpWindowItem','movement','targetSpritePosition','opacityStart','traitObjects','gMwcE','ELOrc','Sprite_Damage_createChildSprite','BravePoints','floatBattler','NameLegacy','StartName','Mute','weatherPower','freezeMotion','setActionState','_displayBattleCoreTransitionErrorMsg','PostDamageAsTargetJS','_updateClientArea','changePaintOpacity','isFastForward','DefaultSoftScaler','_autoBattle','damageStyle','jYwOe','zoomDuration','sliceMax','nWfbn','requestMotionRefresh','_onceParallelInterpreters','ActSeq_Impact_MotionTrailRemove','Sprite_Actor_updateFrame','addEscapeCommand','SvBattlerSolo-%1-%2','battleMembers','Sprite_Actor_initMembers','fnJTt','cKNpZ','pointX','isForOpponent','NlhdI','AutoMeleeAoE','isForFriend','DamageStyles','itemEffectAddNormalState','zxjOH','command236','fxpkm','damageOffsetY','qiPGw','_appeared','JS\x20%1END\x20BATTLE','PreEndTurnJS','drawIcon','subject','_windowLayer','filter','ParseEnemyNotetags','_deathStateApplied','Radius','setBattleZoom','ActSeq_Target_CurrentIndex','battlerName','playEnemyDamage','battleProjectiles','usePremadeActionSequence','autoSelectLastSelected','getChildIndex','%1Apply%2JS','stateMotionIndex','onSelectAction','oVjKY','ddYtP','OYMfa','BattleManager_onEscapeFailure','softDamageCapRate','bufxG','Window_BattleLog_displayActionResults','create','TpbActiveChangeEnabled','updateBattlebackBitmap2','_iconIndex','canInput','WaitForCamera','vthMB','Actor','isMagicSkill','fillRect','guard','Scene_Battle_skillWindowRect','actorCommandCancelTPB','ActSeq_Camera_Reset','aliveMembers','updateHpGaugePosition','VisuMZ_2_BattleSystemBTB','scpnO','skillId','Scene_Map_initialize','ActSeq_BattleLog_Clear','encDq','isOptionsCommandEnabled','createBattleUIOffsetY','refresh','adjustPosition_ScaleUp','ECehX','AttdG','isMagical','CTGdi','isBorderStylePortraitShown','CNPbV','_battlePortrait','_effectDuration','itemLineRect','KibLH','Ubmso','_damages','logActionList','LOYNP','updateRefresh','WaitForAnimation','%1StartBattleJS','isActionSelectionValid','setupBattleCore','TpGaugeOffsetY','Game_Party_removeActor','wXvhN','_surprise','left','GUARD','commandEscape','transform','ZrnGt','putActiveBattlerOnTop','addSingleSkillCommands','AttackAnimation','xICOH','vXSWp','yHSym','activate','HP_Flat','placeActorName','VisuMZ_3_BoostAction','Window_BattleStatus_initialize','startMove','loadEnemy','_effectsContainer','process_VisuMZ_BattleCore_PluginParams','bind','applyDamageCaps','CmdIconFight','loop','isBattleRefreshRequested','Scene_Boot_onDatabaseLoaded','isAnyoneMoving','attachSpritesToDistortionSprite','lRwOb','length','Wave','_createEffectsContainer','HAEKV','jPKMf','statusTextAutoBattleStyle','fittingHeight','setupZoomBlurImpactFilter','stepFlinch','kkzRg','hide','MpGaugeOffsetY','StatusWindowAttachmentBackOffsetX','changeWeather','process_VisuMZ_BattleCore_jsFunctions','FlinchDistanceX','WaitComplete','JS\x20ESCAPE\x20SUCCESS','LhWBP','aVKnR','TGCku','CastPhysical','CriticalHitRateJS','CheckMapBattleEventValid','Targets2','WaitForZoom','displayReflectionPlayBack','ATTACK','windowPadding','Enemy','clearBattlerMotionTrailData','updateOnceParallelInterpreters','FMwaH','Game_Actor_setup','EDhZb','makeBattleCommand','playReflection','isDying','updateEffectContainers','performActionEnd','linkSprite','wait','soIVQ','Style','_cursorArea','ActionEffect','siGUy','UEQZd','isAnyoneFloating','Oppiz','performDamage','text','ActionItemMsg','makeData','Scene_Battle_updateStatusWindowPosition','pJaXE','drawGauge','pbrjp','_multipliers','_forcedBattleLayout','processRandomizedData','_floatHeight','match','KmIJs','blockWidth','status','ShowEnemyGauge','Opacity','attackSkillId','gainHalfActionsPTB','Scene_Options_maxCommands','ActSeq_Projectile_Animation','_regionBattleback1','makeTargetSelectionMoreVisible','chant','drawItemStyleIconText','isATB','CdHQS','attackAnimationId1','PostStartTurnJS','ActSeq_Mechanics_VariablePopup','ActSeq_Mechanics_PtbConvert','checkCacheKey','BindCommonEventKeysForObj','HomePosJS','statusWindowRectXPStyle','_shadowScaleY','GMJwV','_forcedHomeX','ActSeq_Impact_ZoomBlurTargetCenter','performActionStart','SLUNO','startDamagePopup','_visualHpGauge_JustDied','StatusWindowSkinFilename','updateCallMenu','wxFvi','WSyhV','removeChild','Ipnxb','chantStyle','AnchorY','hpHealingFmt','VapOc','VNWbH','ActSeq_DB_DragonbonesMotionAni','startMotion','placeGauge','addDebuff','Sprite_Enemy_setBattler','ninRk','dmMzP','battleLayoutStyle','actorId','ejsCz','isJumping','mainSpriteHeight','actorCommandWindowRect','ChangeOrderBy','addOptionsCommand','updateAttachmentSprites','addAnimationSpriteToContainer','initVisibility','_homeDuration','_skewDuration','klrRk','Sprite_Actor_moveToStartPosition','BattleStartEvent','drawEnemyName','battleCoreResumeLaunchBattle','mainSpriteWidth','COZxm','registerCommand','ActSeq_Mechanics_AtbGauge','unchanged','SvWeaponMass-%1-%2','Scene_Battle_startActorSelection','isBattleTest','flDsC','removeBuff','actionEffect','svShadow','updateForceAction','bSMsI','dead\x20battlers','motionType','WaitCount1','applyGlobal','targetObjects','NzEPI','Game_Battler_forceAction','ShowHpDmg','adjustPosition_1for1','onFloatEnd','_skewY','GuardFormulaJS','_reflectionTarget','OtBdi','SzczT','ActSeq_Animation_PlayAtCoordinate','InivH','TiAoQ','needsSelection','ActSeq_Mechanics_AddBuffDebuff','hjKEg','unshift','PostDamage%1JS','Window_BattleLog_performCollapse','ActSeq_Impact_MotionTrailCreate','maxCols','createDamageSprite','nkyix','onMoveEnd','_angleEasing','BoostPoints','weaponImageId','current\x20target','noSimilarSTypes','_callSceneOptions','createHelpWindow','Sprite_Enemy_updateCollapse','setBattleCameraOffset','updateFloat','shouldPopupDamage','AnchorX','dhLDy','WIoiU','isClicked','isAnyoneSpinning','_actorWindow','hue','ActSeq_Camera_Offset','cancelActorInput','MDF','startEnemySelection','Amp','BattleManager_startInput','Game_Battler_startTpbTurn','_cache','svAnchorX','CreateActionSequenceTargets','_item','preparePartyRefresh','repeats','makeActionListAutoAttack','PostApplyAsTargetJS','innerWidth','enemy','index','setCustomDamageFormula','endBattle','Scene_Battle_windowAreaHeight','WaitForMovement','rowSpacing','isEnemy','AGI','GALNN','ivvLa','ErzPu','SkewX','aguRV','JS\x20%1START\x20TURN','ActSeq_Mechanics_ActionEffect','ParseAllNotetags','needsActorInputCancel','arRedRate','Window_BattleLog_performMagicEvasion','DefaultHardCap','getHardDamageCap','dqoUe','xnQiQ','regenerateAllBattleCore','KqEGa','%1StartActionJS','getEnemyIdWithName','addCustomCommands','updatePhase','_homeWholeDuration','rsnEM','startTpbTurn','NameAlwaysHidden','VisuMZ_2_BattleSystemFTB','_stateIconSprite','motionIdle','BKDHG','angleDuration','zWMJX','Game_Battler_onTurnEnd','nDcvG','clNcw','ActSeq_Mechanics_DeathBreak','forceSelect','CommandVisible','SideviewSelect','_enemyWindow','ActionEnd','okmaH','isForOpponentBattleCore','_updateCursorArea','OROoP','Sprite_Actor_setActorHome','JYTbf','addShowHpGaugeCommand','Scene_Battle_createCancelButton','VariableHeal','freezeFrame','Game_BattlerBase_eraseState','VisuMZ_1_ElementStatusCore','shadow','performAction','AS\x20TARGET','Destination','setBattler','SXGGa','isLearnedSkill','createJS','VarianceFormulaJS','wzJBu','show','TPB','Game_BattlerBase_refresh','GZUrh','checkSubstitute','JoscD','magicReflection','pjpBu','isSelected','createBattleFieldBattleCore','ActSeq_Horror_NoiseRemove','lineRect','Debuffs','GncZG','updateShadowScale','2845598LgVLRO','QRMDl','_linkedSprite','loadPicture','qnthe','Point','Window_BattleLog_pushBaseLine','kCqnw','_spriteset','filters','autoBattleUseSkills','displayItemMessage','charging','Game_Map_battleback2Name','ActSeq_Horror_TVCreate','MessageWait','DefeatEvent','createAllWindows','LnpQW','dwUjh','ydbNy','PxXLK','STUqN','svBattlerName','fnordRemovedStates','addBattleCoreAutoBattleStyleCommand','Duration','jqemV','Scene_Battle_initialize','DamageDisplay','canBattlerMove','coreEngineRepositionEnemies','Sprite_Enemy_updateStateSprite','setHome','_animation','startJump','textWidth','canGuard','displayAction','playCancel','placeStateIcon','VisuMZ_3_ActSeqCamera','performActionEndMembers','_list','Frame','displayMpDamage','felZn','ApplyImmortal','Game_Action_itemEffectAddAttackState','nOZQa','BattleManager_selectNextCommand','GKkap','battleMove','criticalHitRate','BOGGa','VTyUy','_createCursorSprite','Scene_Battle_createAllWindows','_endBattle','Game_Action_itemEffectAddNormalState','validTargets','getItemDamageAmountTextBattleCore','ActSeq_Mechanics_Multipliers','itemWindowRect','getCommonEventIdWithName','spell','getDamageStyle','NameAlwaysSelectOnly','11888721gokcCI','motionSpeed','WROpU','_waitCount','_waitMode','command119','setupCriticalEffect','alive\x20enemies\x20not\x20target','noaeU','needsSelectionBattleCore','prepareCustomActionSequence','AllowRandomSpeed','BattleCmdList','WaitForOpacity','WaitCount2','_offsetX','drawItem','Scene_Battle_createActorCommandWindow','faceWidth','isOnCurrentMap','Window_BattleLog_performReflection','updateCancel','ShowCosts','cancelTargetSelectionVisibility','kkhdV','njMkL','ActSeq_Horror_NoiseCreate','battleStatusWindowAnimationContainer','ActSeq_Mechanics_BreakShieldChange','alive\x20friends','_back2Sprite','drawItemImageXPStyle','EDrKE','members','createHpGaugeSprite','StateIconOffsetX','createEffectActionSet','removeHorrorEffect','frameCount','ReflectAnimation','Game_BattlerBase_die','CmdStyle','GlbCc','addBattleCoreAutoBattleStartupCommand','_borderPortraitDuration','result','BattleLog','UxZxR','value1','JfdXD','LzKqI','removedBuffs','slice','oIlnX','Spriteset_Battle_createBattleField','_forcedBattlers','battleSpriteSkew','_motionSpeed','ShowFacesListStyle','message4','setActorHome','Window_BattleEnemy_initialize','stepBack','options','startWeaponAnimation','isAnyProjectilePresent','performEvasion','EscapeFail','ActSeq_Angle_WaitForAngle','trueRandomTarget','mhp','nQGQx','cVGgv','createHelpWindowBattleCore','AddOption','ParseItemNotetags','clearForcedGameTroopSettingsBattleCore','return\x200','RuZLA','updateBorderSprite','isFightCommandEnabled','qNKyr','missle','Ekeeh','createEnemyNames','ActSeq_Motion_FreezeMotionFrame','ActSeq_Impact_MotionBlurTarget','VariableDmg','_battlerHue','lukEffectRate','criticalDmgFlat','process_VisuMZ_BattleCore_Notetags','PreApplyAsUserJS','createActors','loadBitmap','WadxZ','parameters','resizeWindowXPStyle','GWrVM','ScaleUp','stypeId','FocusX','AdhXf','FrontViewSelect','Window_ActorCommand_initialize','Xgjtc','attackMotions','_commandNameWindow','smooth','VisuMZ_2_DragonbonesUnion','ShowAddedDebuff','PrioritySortActors','Game_Actor_equips','%1Event','AMuGw','_tpbState','ActSeq_Mechanics_Immortal','partyCommandWindowRectXPStyle','_dragonbonesSpriteContainer','front\x20base','getNextDamagePopup','user','delay','Nkmrn','gainTp','WeaponTypeID','JGGCO','checkShowHideSwitchNotetags','startPartyCommandSelection','children','setSvBattlerSprite','requestMotion','JS\x20%1END\x20ACTION','die','yIBVF','DigitGrouping','getStypeIdWithName','bossCollapse','makeTargetSprites','%1\x20is\x20missing\x20a\x20required\x20plugin.\x0aPlease\x20install\x20%2\x20into\x20the\x20Plugin\x20Manager.','HzQsN','ParseSkillNotetags','CWDQT','dead','_growX','BaseTroopIDs','useDigitGrouping','wholeActionSet','position','updatePositionBattleCore','Window_BattleLog_displayMiss','Linear','reserveCommonEvent','damageContainer','iJXDb','concat','StatusWindowAttachmentBack','lHWEH','setupRgbSplitImpactFilter','actionBattleCoreJS','isOTB','KnHlB','SmoothImage','min','hardDamageCap','itemEffectAddAttackState','BattleManager_startAction','attack','EWQfx','aWNwn','updateBossCollapse','IconStypeNorm','makeSpeed','revertTpbCachedActor','Window_Options_addGeneralOptions','isBattleFlipped','isSTB','KcpkH','VKtPr','ActSeq_BattleLog_UI','loadBattleback1','clearFreezeMotionForWeapons','EKdEJ','_targetIndex','process_VisuMZ_BattleCore_Action_Notetags','hEVie','ActSeq_Mechanics_PtbFullHalfAction','applyImmortal','_scene','spinBattler','Scene_Battle_updateBattleProcess','BattleEndEvent','StartTurnShow','dataId','EFFECT_COMMON_EVENT','XfKGN','MAT','Filename','vQRLa','LUK','_targetSkewX','isSkewing','createLowerLayer','ActSeq_Movement_WaitForSpin','alive\x20actors\x20not\x20target','CmdIconEscape','HoHej','_index','PreDamageAsUserJS','update','removeDamageSprite','JumpToLabel','updateHomeMove','uiInputPosition','VisuMZ_2_BattleSystemOTB','itemHeight','isForRandomBattleCore','PopupPosition','animationWait','_shadowScaleX','updateHelp','stepForward','addedBuffs','isPartyCommandWindowDisabled','addGuardCommand','ActionSkillMsg1','performTpbActiveCheckSwitch','Window_ActorCommand_setup','BEafY','ATK','DistanceY','_battleField','resetBreakShield','updatePosition','QOflf','compareEnemySprite','cjZaa','AddHpGaugeOption','ChargeRate','ActSeq_Movement_FacePoint','PreApplyJS','ROZln','_duration','RtcWd','updateLink','onBattleStartOnceParallels','itemTextAlign','JS\x20%1REGENERATE','yhdvl','isCertainHit','allowRandomSpeed','UIUDn','evalDamageFormulaBattleCore','Slot','skillItemWindowRectMiddle','mdVyh','isRightInputMode','UhXqX','Scene_Battle_startPartyCommandSelection','_animationSprites','PreDamageAsTargetJS','updateJump','OffsetAdjust','adVHG','oPMnD','setAttack','commandNameWindowDrawBackground','RegExp','Scene_Battle_onEnemyOk','hasSvBattler','oUWfk','Game_Actor_makeActionList','VisuMZ_2_WeaponSwapSystem','replace','isMoving','buffRemove','Window_BattleLog_performDamage','Scene_Party','RySQi','_damageContainer','ParseStateNotetags','onHomeMoveEnd','height','endAction','width','HpGaugeOffsetY','updateSpin','initMembers','_pattern','CalcEscapeRatioJS','fight','updateShadowPosition','waitForMovement','performCounter','MJZQk','createDigits','_freezeMotionData','Window_BattleLog_performSubstitute','nxpKx','isForFriendBattleCore','startGrow','CombatLogIcon','uiMenuStyle','BlJRx','snapForBackground','fontSize','Game_BattlerBase_canGuard','collapseType','getBattlePortraitOffsetY','battlelog','onAngleEnd','list','_targetFloatHeight','extraPositionScaledY','iAFna','createEmptyBitmap','command301','1:1','applyForcedGameTroopSettingsBattleCore','DEF','_svBattlerSprite','Game_Interpreter_terminate','_angleDuration','isNextSceneBattleTransitionable','CheckSkillCommandShowSwitches','onBattleEndBattleCore','_enemyIDs','adjustPosition','createString','random','damageOffsetX','NkSWk','_statusWindow','PreApplyAsTargetJS','removeBuffsAuto','CCBjF','getMenuImage','isSpriteVisible','nxXPB','_customDamageFormula','removeState','ConvertCount','ActSeq_Animation_ActionAnimation','clearElementChanges','CalcActionSpeedJS','pattern','setVisibleUI','loadSvEnemy','ActSeq_Mechanics_WaitForEffect','okTargetSelectionVisibility','refreshDimmerBitmap','battleAngle','createActionSequenceProjectile','Game_Battler_performActionStart','playOnceParallelInterpreter','moveToStartPositionBattleCore','commandName','ext','refreshBattlerMotions','currentExt','XXLlc','ActSeq_Motion_RefreshMotion','ptHgY','updateStateSpriteBattleCore','Nxbgr','clearDamagePopup','WaitForProjectile','processForcedAction','_defeatedEnemies','makeHpDamageText','Window_BattleStatus_drawItemImage','_effectType','gFYZw','regionId','itemCri','Damage','autoBattleAtStart','BattleLayout','updateStyleOpacity','applyTargetFilters','PreDamageJS','VuWzD','hasSkill','createCommandVisibleJS','battleDisplayText','BattleManager_processDefeat','performCollapse','arPenRate','_back1Sprite','abs','opponentsUnit','getAttackMotionSlot','ActSeq_Movement_WaitForMovement','applyCritical','EdFlt','tKLvg','changeTurnOrderByCTB','foZor','repositionCancelButtonBorderStyle','bIhaS','isMeleeSingleTargetAction','selectNextCommand','TextColor','lineHeight','12856vqovJn','hitFlat','iterateBattler','_checkOn','tjCbD','Victory','iyDKl','Scene_Battle_createHelpWindow','Sprite_Battler_updateMain','TeSDn','VisuMZ_2_BattleSystemETB','Iauev','StepDistanceX','aHXyG','isNextScene','setEventCallback','ActSeq_Element_ForceElements','khWMP','ActSeq_Skew_WaitForSkew','speed','flashDuration','_damagePopupArray','olTPy','isDTB','QakuE','Game_Action_isForFriend','drawItemBackground','Game_Battler_performEvasion','vRAIv','isGuardWaiting','cancelButtonText','onEncounter','clearActiveWeaponSlot','_lineHeight','VisuMZ_1_MainMenuCore','setHue','getBattlePortraitOffsetX','alive\x20battlers\x20not\x20target','Window_BattleLog_popBaseLine','Game_Battler_performMiss','showNormalAnimation','ActSeq_Animation_AttackAnimation2','bitmap','iRvZi','setHandler','filterArea','waitCount','applyBattleCoreJS','duration','onTurnEnd','lYjfc','BPTyp','restore','ActSeq_Horror_GlitchRemove','forceWeaponAnimation','_growY','startOpacity','SwitchMissEvade','setGuard','BattleManager_cancelActorInput','isPlaytest','updateSkew','NntJt','BattleManager_updatePhase','Game_Map_setupBattleback','bIFWI','startActorCommandSelection','updateFrame','vIfre','displayStartMessages','ActSeq_Movement_Float','_enemy','command283','qfXmX','alive\x20battlers\x20not\x20user','addChildToBack','moveBattlerHomeToPoint','_tempActor','makeTargetsBattleCore','frontviewSpriteY','VisuMZ_1_SkillsStatesCore','_enemyID','Angle','CmHCH','repositionEnemiesByResolution','resetResultSwitches','updateBattlerContainer','createAttachedSprites','HjBUo','ActSeq_Camera_Clamp','Game_Action_clear','BattleManager_processVictory','TimeScale','Window_BattleLog_displayMpDamage','_updateCursorFilterArea','PopupOffsetY','isGrowing','_attackAnimationId','description','sQohB','bottom','ActSeq_Mechanics_BreakShieldReset','initialize','isActor','Turns','isSkillItemWindowsMiddle','Skills','nYQTC','clearActiveWeaponSet','battleEffect','isCustomActionSequence','Variable','PreApply%1JS','commandStyleCheck','makeAutoBattleActions','MOTIONS','compareBattlerSprites','%1EndBattleJS','allowCollapse','PreDamage%1JS','_cancelButton','Zokbu','ShowMissEvasion','onRegeneratePlayStateAnimation','AdjustRect','ActSeq_Movement_WaitForOpacity','PssEu','_targetGrowX','mBieX','isCustomBattleScope','EnableSoftCap','addSkillTypeCommand','onActorOk','updateTargetPosition','ActSeq_Mechanics_DamagePopup','call','Game_Enemy_transform','waitForEffect','OffsetY','nOTsi','_createDamageContainer','ihMqI','refreshActorPortrait','pages','jumpBattler','Game_Action_numRepeats','onGrowEnd','numRepeats','CmdTextAlign','Window_BattleLog_displayEvasion','addAutoBattleCommand','HCSlN','CekhY','_battleCoreBattleStartEvent','qVXbw','SRVNn','QoL','DisablePartyCmd','Scene_Battle_onActorCancel','_baseY','DxwSg','EUixf','getBattlePortraitFilename','gainCurrentActionsFTB','setBattleCameraPoint','numTargets','EmergeText','displayType','isAlive','528mkNTWJ','regenerateAll','useItem','isFloating','cVOCG','DmMaO','_svBattlerData','DefaultSoftCap','yFzbq','auto','waitForFloat','performJump','_lines','changeCtbChargeTime','SkillsStatesCore','actorCommandAutoBattle','applyData','battleback1Name','ActSeq_Mechanics_AnalyzeWeakness','Item-%1-%2','_battleLayoutStyle','OifHx','addLoadListener','eraseState','refreshStatusWindow','Scene_Map_initializeAfter','center','MQqbh','basicGaugesY','DefaultStyle','setSTBExploited','_flashColor','SdscM','updateGrow','targetDistortionSpritePosition','Sprite_Weapon_loadBitmap','PostStartBattleJS','updateOpacity','AutoBattleBgType','battleSpin','tpbActorSwitchConditionsMet','vcpQp','Eblrj','isSkipPartyCommandWindow','wCPeF','StatusWindowAttachmentFrontOffsetY','startSpin','_forcing','battlerShadowScaleX','inputtingAction','revealNewWeaknesses','NzaRz','_executedValue','omRQB','callUpdateHelp','PmJUN','addDamageSprite','EzBmr','siwEF','ActSeq_Target_RandTarget','MotionIdle','kxgbM','command357','OUqDt','hHyXO','isAttack','toString','gmMCy','occasion','FaceDirection','displayBattleCoreTransitionErrorMsg','_homeY','_lastPluginCommandInterpreter','maxTp','createSeparateDamagePopups','targetActionSet','boxHeight','addBuff','ActSeq_Mechanics_BoostPointsStoreData','ZoTyY','ShowAddedState','canMove','ARRAYFUNC','CriticalHitFlat','JYlDk','isVisualHpGaugeDisplayed','preemptive','mVYeA','glJtP','ARRAYNUM','Scene_Battle_startEnemySelection','shift','isAnyoneChangingOpacity','Targets1','%1Damage%2JS','splice','Scene_Battle_startActorCommandSelection','Exploiter','maxBattleMembers','ActSeq_Set_WholeActionSet','globalAlpha','VYQtF','StateIconOffsetY','all\x20targets','AsTarget','_hpGaugeSprite','kiWVi','_actions','startSkew','JHiVj','bitmapWidth','FkiKZ','ScnIJ','onEscapeSuccess','evade','_targetOpacity','growBattler','VisuMZ_2_BattleSystemCTB','TP_Rate','VFQnB','rqWik','_actionInputIndex','changeBattlebacks','%1StartTurnJS','iSWZc','partyCommandWindowRectDefaultStyle','ActionSkillMsg2','PostApplyJS','kfURB','VisuMZ_3_ActSeqImpact','deathStateId','text\x20target','nPnuV','CmdIconAutoBattle','attackAnimationId2','actor%1-portrait','PDVWy','victory','nXWek','Window_BattleLog_performEvasion','expRate','esAhs','anchorY','ActSeq_Animation_CastAnimation','setupActionSet','_commonEventIDs','ActSeq_Camera_FocusTarget','isBattleSys','Interrupt','isDeathStateAffected','_stateSprite','recoverAll','PostEndBattleJS','ActSeq_Weapon_ClearActiveWeapon','constructor','FPKhw','BattleManager_checkSubstitute','KxaNR','canUse','popupDamage','Window_BattleLog_performRecovery','maxLines','updateBitmap','parseForcedGameTroopSettingsBattleCore','onEscapeFailure','windowAreaHeight','effect','currentValue','GroupDigits','Jcdco','KWkjY','Parse_Notetags_TraitObjects','Game_Action_executeDamage','critical','isTurnBased','updatePointAnimations','Sprite_Actor_update','StatusWindowAttachmentFrontOffsetX','isBusy','Formula','VisuMZ_2_BattleSystemSTB','isForAll','ICBvu','param','zdwLX','dying','_skillIDs','HalfActions','ActSeq_Mechanics_Collapse','MANUAL','Spriteset_Battle_createLowerLayer','battleCameraData','clearMotion','displayActionResults','waitForOpacity','%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.','_battleCoreAddedElements','createShadowSprite','calcWindowHeight','PEXUc','Game_Interpreter_command301','ActorCmd','DDfGm','updateStatusWindowPosition','addWeaponSwapCommand','updateBattlebackBitmap1','CopyCombatLog','Sprite_Battler_update','BuCxF','callOkHandler','addActor','\x5cI[%1]%2','CriticalDuration','_flinched','Battleback','setup','setSkill','ulkZD','commandNameWindowDrawText','_action','applyResultSwitches','createTargetsJS','iconText','isTpbMainPhase','jUodN','PreEndBattleJS','setupMotionBlurImpactFilter','APmym','stateRate','hnTSe','AutoBattleCancel','adjustWeaponSpriteOffset','Game_Battler_performDamage','helpWindowRect','Scene_Battle_terminate','alterPriority','YhjsZ','DTB','cancel','Mirror','itemRect','_logWindow','ActSeq_Mechanics_BoostPointsChange','gainCurrentActionsETB','Inxms','isPhysical','isBattlerGrounded','Sprite_Battler_isMoving','1WLnTIk','addOnceParallelInterpreter','Reveal','ScaleToFit','optDisplayTp','_opacityWholeDuration','battleUIOffsetX','Buffs','PreStartTurnJS','\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','RxkOf','DYaLf','FLMKH','retreat','isAlwaysHidden','MIN_SAFE_INTEGER','SwitchCritical','Window_BattleLog_performActionStart','gqlqR','isTriggered','SkillItemMiddleLayout','extraPositionX','displayChangedBuffs','ElementStatusCore','attackStatesRate','Jjmyw','CurrentTurn','Scene_Battle_itemWindowRect','move','checkTpbInputOpen','updateWaitMode','isSceneBattle','PostDamageAsUserJS','xuKGH','gniHR','collapse','ActSeq_Element_NullElements','OFClF','border','_lastAction','getSkillIdWithName','createCommandNameWindow','_motionCount','frameVisible','onDisabledPartyCommandSelection','createAttachmentSprites','skills','ubMca','_borderPortraitTargetX','setupHpGaugeSprite','redraw','CastMagical','ARRAYSTR','ShowCurrentState','Parse_Notetags_Action','_padding','kZdVs','Game_Troop_expTotal','fnPva','isImmortal','CriticalColor','MAXHP','Game_Action_setGuard','ActSeq_Animation_AttackAnimation','onDatabaseLoaded','BCNBx','string','CmdTextAutoBattle','MgvBm','ZTPtp','<%1>\x5cs*([\x5cs\x5cS]*)\x5cs*<\x5c/%1>','cCcWu','HelpAutoBattle','OspPH','actorCommandSingleSkill','Window_BattleLog_update','HelpSkillType','floor','qbbYH','battleCorePreBattleCommonEvent','startTurn','BattleCore','placeTimeGauge','JS\x20%1START\x20BATTLE','MotionSpeed','updateBattleProcess','MeleeDistance','ZQgZl','NameOffsetX','priority','removedStateObjects','EscapeSuccess','dGyUD','SoMgN','MMzso','ActSeq_Movement_WaitForJump','isAlwaysVisible','_cursorSprite','Scene_Battle_selectPreviousCommand','nextActiveWeaponSlot','sliceMin','BattleLogRectJS','Direction','Actor-%1-%2','performMoveToTargets','SvMotionIdleMass-%1-%2','sDEKJ','displayFailure','Targets','PopupDuration','displayCritical','toLowerCase','isTickBased','applyArmorModifiers','MMGcd','eethH','startAction','extraPositionY','turn','isForRandom','updateShadowVisibility','onJumpEnd','+%1\x20MP','alterBreakShield','Game_Battler_clearMotion','ConfigManager_makeData','createTroopNote','isAnyoneGrowing','DDrmz','startActorSelection','power','Rate','BattleManager_makeActionOrders','updateMain','Game_Action_isForOpponent','Strength','isOkEnabled','Exploited','enemyNames','EnableDamageCap','commandAutoBattle','getColor','BattleManager_isTpbMainPhase','alterCost','_opacityDuration','_borderPortraitSprite','STRUCT','checkSceneBattleTransitionable','flashColor','isAnimationPlaying','ActSeq_Animation_ChangeBattlePortrait','EscapeFailureJS','CommonEventID','note','repeatTargets','_homeX','ActSeq_Movement_BattleStep','battleSys','%1EndTurnJS','notFocusValid','_backAttachmentSprite','XdQvo','VisuMZ_4_BreakShields','createBattleFieldContainer','gEOBg','callNextMethod','remove','active','toUpperCase','maxCommands','isBTB','ActSeq_Projectile_Picture','kvgxH','FollowTurn','LnnUy','zIKaP','toUseBoostPoints','getInputButtonString','getBattlePortrait','isEscapeCommandEnabled','isPTB','ARRAYJSON','Window_BattleLog_refresh','djkIU','drawText','VisuMZ_3_ActSeqProjectiles','_regionBattleback2','setFullActionsPTB','JqBtK','isMeleeMultiTargetAction','resetFontSettings','DamageStyleList','isSideView','#%1','ActSeq_Mechanics_OnceParallel','log','PreRegenerateJS','mijni','loadSystem','Game_BattlerBase_addNewState','battleSkew','MP_Rate','IconSet','skew','angle','HdGHH','initBattleCore','_targetSkewY','ActSeq_Movement_Opacity','ActSeq_Zoom_WaitForZoom','command339','ANTI_TINT_UI','ActSeq_ChangeSkew','removeAnimation','not\x20focus','LtONb','isDisplayEmergedEnemies','NjyPq','ActSeq_Mechanics_SwapWeapon','checkShowHideSkillNotetags','CastAnimation','ActSeq_Mechanics_RemoveBuffDebuff','weaponTypes','SvMotionIdleSolo-%1-%2','emerge','Window_BattleLog_performCounter','CriticalHitRate','Index','Scene_ItemBase_applyItem','wUIZQ','FaceAway','terminate','isBattleMember','initBattlePortrait','Game_Interpreter_PluginCommand','ShowCounter','OffsetX','canAttackBattleCore','Window_BattleEnemy_show','createActorCommandWindow','HelpFight','ActSeq_Camera_WaitForCamera','parse','ActionAnimation','DistanceX','makeCommandList','Game_Action_makeTargets','getItemDamageAmountTextOriginal','ZYteD','walk','_makeFontNameText','statusWindowRectBorderStyle','pkaBD','Azayx','Game_Battler_clearDamagePopup','charged','isChanting','isAnimationShownOnBattlePortrait','statusText','Height','Scene_Battle_onEnemyCancel','criticalHitFlat','Game_Interpreter_command283','performMoveToPoint','WaitForJump','setupBattlebackBattleCore','logWindowRect','gKhAJ','VisuMZ_3_WeaknessDisplay','FlinchDistanceY','Hhyja','guardSkillId','COMBATLOG','createContents','startInput','close','nameY','Sprite_Enemy_createStateIconSprite','_isBattlerFlipped','PRE-','animationId','ActionEndUpdate','setMoveEasingType','Window_BattleLog_popupDamage','hZeuN','compatibilityVisible','isActiveTpb','pushBaseLine','AutoNotetag','escape','isAppeared','mainSpriteScaleX','_frame','performRecovery','softDamageCap','skewBattler','CCHzZ','VhAnN','_text','Scene_Map_launchBattle','ActSeq_Movement_HomeMoveToTarget','osiIq','weatherType','XfXsW','sortDamageSprites','xsKiV','fkXVH','edKtj','ActiveTpbOptionsMessage','updateFlip','drawItemStyleIcon','Sprite_Enemy_updateBossCollapse','wzZjf','ShowRemovedState','AutoMeleeSolo','IyYsA','makeTargets','Game_BattlerBase_isStateResist','RkvjS','front\x20center','createAnimationSprite','performCastAnimation','sleep','mainFontSize','battleCommandName','pow','updateCustomActionSequence','friendsUnit','applyGuard','helpAreaHeight','lDYMv','WIXku','cameraDuration','waitForNewLine','_createClientArea','HDiND','ESCAPE','PartyCmd','battlerSprites','BattleManager_initMembers','portrait','_canLose','processBorderActor','performAttack','drawTextEx','ArRedRate','Rvofe','ITEM','isChangingOpacity','evaded','_growEasing','clearBattleRefreshRequest','tvAWZ','battleOpacity','addAutoBattleCommands','itemHit','UCqRj','_actionBattlers','ActSeq_Impact_ColorBreak','kkpJV','currentSymbol','Sprite_AnimationMV_updatePosition','AntiTintUiElements','Scale','enemyId','WaitForNewLine','_targetGrowY','isFrameVisible','createCancelButton','setWaitMode','stop','qkePu','popBaseLine','isCommandEnabled','autoSelect','_armorPenetration','hjySL','dPimh','callOptions','applyFreezeMotionFrames','destroyDamageSprite','_shadowSprite','isTeamBased','svBattlerData','physical','canAlterActionCostPTB','ShowAddedBuff','name','sideview_ui','Sprite_Actor_updateBitmap','battleGrow','EasingType','actionSplicePoint','YNnyJ','aVDoF','hitRate','ActSeq_Element_AddElements','startFloat','gainFullActionsPTB','processVictory','updateStateIconSprite','_inputting','Game_Map_encounterList','addTextToCombatLog','finalizeScale','NameFontSize','split','OOpVU','_enemyNameContainer','_requestRefresh','_weaponImageId','vaCFl','BSjHM','prototype','CUhla','evalDamageFormula','currentAction','apply','BllVt','Settings','Sprite_Battler_updatePosition','IconStypeMagic','isNonSubmenuCancel','message2','PostEndActionJS','changeAtbChargeTime','HtYjb','Game_Action_itemHit','isAutoBattle','Intensity','performFlinch','clUEp','displayRemovedStates','CommandAddOptions','Sprite_Battleback_adjustPosition','ActSeq_Motion_WaitMotionFrame','expTotal','_escapeRatio','setBattlerFlip','map','addChildAt','krxmm','dzRDP','Sprite_Battler_startMove','GRgrf','_phase','WaitForSpin','RequiresDefeat','_baseTexture','setImmortal','GfYKA','ActSeq_Mechanics_EnemyEscape','hpDamage','Game_Action_evalDamageFormula','PreEndActionJS','clearRect','_tpbSceneChangeCacheActor','process_VisuMZ_BattleCore_PreBattleCommonEvent','spriteId','iBzBr','setHelpWindow','selectNextCommandTpb','ARjmR','jrLOj','Scene_Battle_update','BattleManager_startBattle','ApRAB','Sprite_Battler_setBattler','jump','turnCount','WCYwV','WaitForSkew','destroy','JS\x20ESCAPE\x20FAILURE','ActSeq_Horror_GlitchCreate','BZSvM','tQVgO','PostApply%1JS','waitForAnimation','_floatEasing','CXybL','JoWDn','makeDamageValue','tpbCommandFight','displayCounter','addedDebuffs','_flipScaleX','qPoTf','CriticalDmgFlat','xSoTK','Scene_Battle_selectNextCommand','clearBattleCoreData','VIHvm','formula','PostEndTurnJS','ActSeq_Mechanics_OtbOrder','_offsetY','updateWeather','fPMGw','Lgdzc','finishActorInput','isCancelled','JSON','Game_Action_needsSelection','isSkill','12QgOHMH','lIvRx','Scene_Options','ActSeq_ChangeAngle','displayBuffs','nmcLn','ECphz','_updateFilterArea','reduce','alignBattleCoreDamageSprite','createMainSprite','CmdIconItem','TpbGaugeOffsetX','partyCommandWindowRect','TpGaugeOffsetX','fzVaK','idHns','VgXtr','ActSeq_Animation_ShowAnimation','updateCommandNameWindow','applyVariance','Spriteset_Battle_updateActors','hasBeenDefeatedBefore','qWGnR','ornfT','PsFQG','yZKUG','customDamageFormula','CoreEngine','ActSeq_Motion_MotionType','_baseLineStack','_skewWholeDuration','SkewY','CjeMC','clearHorrorEffects','ActSeq_Motion_PerformAction','_battleCoreNoElement','_drawTextOutline','changeBattlerOpacity','hnFcm','ALL\x20SKILLS','blt','setBattleAngle','currentClass','_angleWholeDuration','LzTeo','FlashDuration','hpDamageFmt','Pre','zbXkO','reverse','updateAttachedSprites','removeOnceParallelInterpreter','_jumpMaxHeight','BindCommonEventKeysForGroup','boxWidth','setBattlePortrait','ytEsB','ActionStart','Game_Action_setAttack','GiuYW','autoBattleStyle','ActSeq_Movement_WaitForScale','createInnerPortrait','StartTurnMsg','ActSeq_Zoom_Scale','CJglQ','SceneManager_push','PopupShiftX','mainSpriteScaleY','CastCertain','HYwvp','parent','_jumpHeight','MpGaugeOffsetX','PostStartActionJS','gainBravePoints','makeActionList','_eventId','createStateSprite','createChildSprite','applyHardDamageCap','clearWeaponAnimation','Mechanics','LnaGS','prepareBorderActor','Game_Map_battleback1Name','glitch','onBattleStart','swing','MuHdy','getHalfActionsPTB','Sprite_Battler_damageOffsetX','onBattleStartBattleCore','itHjn','TzIUq','format','hpAffected','_weaponSprite','BreakShields','startBattle','WRKGQ','QGKTq','PopupOffsetX','gMSMl','some','adjustFlippedBattlefield','MygOL','StatusWindowAttachmentFront','helpWindowRectBorderStyle','actorCommandEscape','GIAkU','drawLineText','UDJVR','processEscape','updateShadow','push','cpHiq','visibilityState','_indent','vjGHm','_additionalSprites','kazzK','wwpAH','displayTpDamage','arRedFlat','Spriteset_Battle_update','process_VisuMZ_BattleCore_TraitObject_Notetags','iwnRq','tvAIm','isItem','vPtHE','WaitForFloat','showAnimation','VxmcB','ActSeq_Mechanics_CustomDmgFormula','updateEffectsContainer','isHiddenSkill','rqRPe','measureTextWidth','refreshCursor','xesau','QZlNa','ParseActorNotetags','NameAttachStateIcon','_itemWindow','windowskin','uuffc','initMembersBattleCore','updateUiContainerPosition','Sprite_StateIcon_updateFrame','_commonEventKey','ConfigManager_applyData','adjustPosition_ScaleToFit','ParseClassNotetags','+%1','glSdq','isFTB','magicSkills','QVcYV','VhqIf','commandStyle','ConvertParams','opacity','setText','Ebkmh','Elements','requestDragonbonesAnimation','isSpinning','Setting','isConfused','onEncounterBattleCore','getAttackWeaponAnimationId','RQTKM','makeActionOrders','_lastRegenFrameCount','addAttackCommand','updateShadowBattleCore','ScaleX','battleCommands','mainSprite','pqpAO','isMVAnimation','_immortal','SvrWm','RevertAngle','makeDeepCopy','ActSeq_Impact_ShockwaveEachTargets','Scene_Battle_onActorOk','YfduC','helpAreaBottom','eFQgx','createWeather','3198462hlhGZl','updateEventMain','anchor','ezSrJ','Window_BattleLog_displayCritical','registerDefeatedEnemy','seJDW','_flashDuration','createUIContainer','SvWeaponSolo-%1-%2','qXSgB','onEnemyCancel','applyGlobalCommonEventNotetags','svBattlerShadowVisible','Window_BattleLog_clear','setActiveWeaponSlot','skill','forceAction','dWPhK','updateStateSprite','ForceExploited','_targets','isItemCommandEnabled','addChildToUiContainer','clear','ecQDF','ActSeq_Movement_HomeMoveToPoint','iconHeight','battleCommandIcon','moveBattlerDistance','performReflection','setBattleSkew','SIWLy','custom','_enemyId','PostRegenerateJS','CpYuJ','DisplayAction','removeStatesAuto','buoqC','Sprite_Actor_setBattler','fnSwC','randomTargets','setupDamagePopup','allBattleMembers','undecided','updateAngleCalculations','message1','isSceneChanging','YkSMI','startHomeMove','isGuard','ActSeq_Mechanics_BtbGain','autoBattleWindowRect','vBDCG','hasStaticSvBattler','isShownOnBattlePortrait','_allTargets','createAutoBattleWindow','processPostBattleCommonEvents','CriticalHitMultiplier','selectPreviousCommand','ActSeq_Horror_Clear','setHalfActionsPTB','dMpRT','Sprite_Battler_damageOffsetY','finishActionSet','isFriendly','xOBxo','Sprite_Enemy_initVisibility','checkBattleEnd','ActSeq_Movement_HomeMoveBy','invokeAction','equipSlots','isBypassDamageCap','srZyW','processActorCommandCancelTPB','States','drawItemImagePortraitStyle','Scene_Map_updateCallMenu','OverallFormulaJS','JS\x20%1END\x20TURN','atbInterrupt','isBreakStunned','_activeWeaponSlot','setFrame','bitmapHeight','Hzgjp','ActSeq_Movement_Skew','battleCamera','_actorCommandWindow','_ptbActionCost','visible','SeHHj','dead\x20actors','playEnemyAttack','drawItemStatusXPStyle','gainStoredBoostPoints','isPreviousSceneBattleTransitionable','setTroopPage','launchBattle','UVLSP','Sprite_Actor_updateShadow','command3011','includes','HP_Rate','ActSeq_Movement_FaceDirection','_baseX','clearFreezeMotion','StyleON','MAXMP','process_VisuMZ_BattleCore_BaseTroops','ONkGv','CmdIconOptions','COMBAT\x20LOG','createEnemyNameContainer','YIaXZ','_active','_targetHomeY','isPartyTpbInputtable','VisuMZ_3_SideviewBattleUI','focus','_floatWholeDuration','type','addImmortal','Scene_Battle_commandFight','displaySubstitute','skewDuration','requestAnimation','createActorCommandWindowBattleCore','surprise','battleback2Name','TargetLocation','ShuffleArray','DamageFlat','thrust','StatusWindowSkinHide','isHidden','svBattlerAnchorX','RMorV','updateMotionCount','Game_Battler_onBattleEnd','getDefeatedEnemies','getWtypeIdWithName','gainMp','EzbJx','ClearBattleLog','_uiContainer','animationShouldMirror','Sprite_Enemy_update','deadMembers','alive\x20battlers','scale','_floatDuration','checkAutoCustomActionSequenceNotetagEffect','addFightCommand','Window_BattleLog_performMiss','_animationContainer','isInputting','performActionMotions','isDuringNonLoopingMotion','cameraOffsetDuration','onActorCancel','RNbKa','Game_Interpreter_updateWaitMode','_animationCount','HelpOptions','ForceDeath','trim','drawSingleSkillCost','vOemx','Sprite_Actor_createStateSprite','isOpen','bNJAo','setupBattleCoreData','setupFont','isAnyoneJumping','gradientFillRect','FfybF','worldTransform','dOFVs','ActSeq_Movement_FaceTarget','dVPbY','MaxLines','RJkMO','uldCa','LkHuK','isOptionsCommandAdded','ArPenRate','loadWindowskin','Scene_Battle_createPartyCommandWindow','drawItemStatus','Window_BattleLog_displayTpDamage','xooWO','gDyNs','VisuMZ_2_BattleSystemPTB','ZTlkm','displayHpDamage','messageSpeed','updateStart','_battleCoreForcedElements','dragonbonesData','_jumpDuration','mEfkT','_createCursorArea','BattleManager_onEscapeSuccess','_homeEasing','gqopE','context','bKIft','BattleManager_checkBattleEnd','MMxej','guPEV','maxItems','%1\x27s\x20version\x20does\x20not\x20match\x20plugin\x27s.\x20Please\x20update\x20it\x20in\x20the\x20Plugin\x20Manager.','damage','UTGkA','_partyCommandWindow','WaitForEffect','performMiss','DistanceAdjust','uuceH','Game_Action_applyGlobal','ActionSequence','isAtbCastingState','Sprite_Battler_setHome','moveBattlerHomeDistance','isDamagePopupRequested','BattleManager_startTurn','addSingleSkillCommand','criticalDmgRate','KEPbf','TpbGaugeOffsetY','setActiveWeaponSet','contains','displayReflection','MsXOm','addNewState','BattleVictoryJS','setupIconTextPopup','DxAcg','_battler','indexOf','_dimmerSprite','createBattleUIOffsetX','Width','addCommand','drawItemStatusListStyle','ChantStyle','statusWindowRect','_speed','commandNameWindowCenter','removeImmortal','command301_PreBattleEvent','_currentActor','ShowActorGauge','isTpb','zjJbZ','battlerSmoothImage','forceEscapeSprite','getConfigValue','_battlerContainer','isUndecided','addGeneralOptions','clearOnceParallelInterpreters','icon','innerHeight','AutoBattleOK','clone','commandSymbol','SRKKW','right','Text','Shadow','XPActorCommandLines','StepDuration','anchorX','applyEasing','performSTBExploiter','performAttackSlot','showEnemyAttackAnimation','VisuMZ_4_CombatLog','CANQV','open','sortEnemies','inHomePosition','isDead','kIbIB','_emptyBitmap','CNHDP','yxQlN','BattleManager_endBattle','onOpacityEnd','PopupShiftY','%1EndActionJS','textColor','jXVHV','makeEscapeRatio','traitSet','singleSkill','wMliA','_tpbNeedsPartyCommand','requestFauxAnimation','Game_BattlerBase_initMembers','value','Name','dETAG','drawTextTopAligned','tEujn','_growDuration','ActSeq_Mechanics_RemoveState','battleAnimation','iconIndex','join','removeAnimationFromContainer','mpDamage','JS\x20%1START\x20ACTION','Scene_Battle_logWindowRect','ShowSubstitute','_autoBattleWindow','ActSeq_Impact_ShockwavePoint','Armor-%1-%2','vhNmB','isTpbCharged','Post','Window_BattleLog_displayCurrentState','Game_Battler_regenerateAll','setupBattleback','updateBorderStyle','createPartyCommandWindowBattleCore','759955sdHFZK','updateVisibility','_totalValue','canGuardBattleCore','dlvCN','_preBattleCommonEvent','onBattleEnd','HpGauge','createStateIconSprite','7164976pZGAmJ','isAffectedByBreakShield','createEnemies','updateCollapse','_lastEnemy','processBattleCoreJS','-%1\x20MP','PrioritySortActive','_tempEquipCheck','iconWidth','stbGainInstant','ActSeq_Mechanics_TextPopup','setBattlerBattleCore','_interpreter','isETB','Defeat','Window_ItemList_maxCols','XlYEd','MotionType','_motion','BvhXr','centerFrontViewSprite','skillItemWindowRectBorderStyle','BattleDefeatJS','displayAffectedStatus','_enemySprites','VisuMZ_0_CoreEngine','ZHlIQ','updatePadding','STYPES','turnOrderChangeOTB','inputting','process_VisuMZ_BattleCore_DamageStyles','AttachStateOffsetX','_forcedHomeY','updateScale','canAttack','Actions','StatusWindowSelectableBackHide','KIPWb','removeActor','_skewEasing','OJtOL','visualHpGauge','inBattle','alterChange','isAutoBattleCommandEnabled','_jumpWholeDuration','OlOHX','NYYBC','ShowWeapon','ParseWeaponNotetags','endAnimation','WeyfK','rsuNO','_helpWindow','processDefeat','imlvJ','ztKMk','damageRate','KULFs','SkillItemBorderCols','Game_Troop_setup','casting','aJmIC','addText','VUVjQ','EscapeSuccessJS','_battlerName','<CENTER>%1','Window_BattleLog_performAction','ActSeq_Mechanics_CtbSpeed','ActionCenteredName','_opacityEasing','%1RegenerateJS','_skewX','Chfle','battleFloat','aadJL','autoBattleStart','Sprite_Animation_targetSpritePosition','NewPopupBottom','doesPageHaveOnceParallelStart','_methods','alive\x20enemies\x20not\x20user','isIncludedInEnemyWindow','WaitCount','commandOptions','ActSeq_Mechanics_StbExtraAction','_colorType','_commonEventQueue','isSideButtonLayout','default','cLICQ','wtypeId','DefaultDamageStyle','_enemies','skillTypes','DigitGroupingDamageSprites','VCEwM','GFdyY','createAnimationContainer','moveBattlerToPoint','svBattlerAnchorY','DualWield','BattleManager_inputtingAction','slices','Scene_Battle_helpWindowRect','ceil','StyleOFF','dMGpN','changeAtbCastTime','nOArr','pop','effects','_actorSprites','makeSuccess','isAutoBattleCommandAdded','eEyfD','PARTY','ScaleDown','switchToWeaponType','process_VisuMZ_BattleCore_CreateRegExp','autoMeleeSingleTargetActionSet','loadBattleback2','ActSeq_BattleLog_AddText','BattleManager_onEncounter','ActSeq_Angle_Reset','ArRedFlat','isBuffAffected','StepDistanceY','_mainSprite','addSkillCommands','textSizeEx','max','applyItem','_currentAngle','isForOne','onSkewEnd','autoBattle','statusWindowRectDefaultStyle','GqQdQ','GLVsm','_targetHomeX','battleZoom','setBackgroundType','\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','origin','MtonW','sQOtE','feuUy','MFzEP','svAnchorY','isBattleCoreTargetScope','_actor','isStateResist','xKFBL','jVfWJ','_cacheTextWidth','setupChild','jVYdD','_stypeIDs','KnmHH','_weather','ShowFailure','xXAgS','setBattlerFacePoint','ActSeq_Set_FinishAction','Parse_Notetags_Targets','kRhUI','XveKp','noise','pXEJt','updateAction','waitForJump','Game_System_initialize','getFullActionsPTB','PortraitScale','item','NameOffsetY','_angleRevertOnFinish','addChild','isCTB','ShowRemovedBuff','IAZaK','createDistortionSprite','bgType','isEffecting','_skillWindow','makeActions','_wtypeIDs','AutoBattle','Nyldi','setupShockwaveImpactFilter','cHWLS','_distortionSprite','alive\x20actors','selectNextActor','textAlign','scope','clamp','ConvertActionSequenceTarget','gRgfl','isAnyoneSkewing','dneln','createKeyJS','PerformAction','extraHeight','_target','11zEcFKE','BattleManager_endAction','oPJrN','process_VisuMZ_BattleCore_Failsafes','Game_Enemy_setup','Game_Action_apply','changeInputWindow','aEwKo','isQueueOptionsMenu','ActSeq_Movement_Jump','attackAnimationIdSlot','createDamageContainer','eBGfb','prev\x20target','_handlers','attackStates','LKghf','moveToStartPosition','skillWindowRect','createBorderStylePortraitSprite','createBattleField','code','weapons','ActSeq_DB_DragonbonesTimeScale','okButtonText','NeTSQ','gaugeLineHeight','bBQge','StartTurnWait','cctjZ','Scene_Battle_start','HJOxm','AbQTG','UVAGr','Window_BattleLog_displayFailure','GxDRp','getAttackMotion','FlashColor','NameAlwaysVisible','alive\x20enemies','resize','ForceRandom','ShowMpDmg','_motionType','pointY','actor','Sprite_Battler_initMembers','Game_Battler_onBattleStart','_frontAttachmentSprite','ZfEoB','sort','refreshMotion','uRLcM','start','setValue','Window_Options_statusText','missile','NextTurn','_branch'];_0x1d5c=function(){return _0x370576;};return _0x1d5c();}Sprite_HpGauge[_0x5bdce9(0x768)]=Object[_0x5bdce9(0xdf)](Sprite_Gauge[_0x5bdce9(0x768)]),Sprite_HpGauge[_0x5bdce9(0x768)][_0x5bdce9(0x56d)]=Sprite_HpGauge,Sprite_HpGauge[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(){const _0x5bdcbb=_0x5bdce9;Sprite_Gauge[_0x5bdcbb(0x768)][_0x5bdcbb(0x490)][_0x5bdcbb(0x4b1)](this);},Sprite_HpGauge[_0x5bdce9(0x768)]['gaugeX']=function(){return 0x0;},Sprite_HpGauge[_0x5bdce9(0x768)][_0x5bdce9(0x5fd)]=function(){const _0x5f2690=_0x5bdce9;this[_0x5f2690(0x454)]['clear']();const _0x3eee02=this[_0x5f2690(0x57a)]();!isNaN(_0x3eee02)&&this['drawGauge']();};function Sprite_EnemyName(){this['initialize'](...arguments);}Sprite_EnemyName[_0x5bdce9(0x768)]=Object[_0x5bdce9(0xdf)](Sprite_Name['prototype']),Sprite_EnemyName['prototype'][_0x5bdce9(0x56d)]=Sprite_EnemyName,Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(){const _0x3ebdbf=_0x5bdce9;Sprite_Name[_0x3ebdbf(0x768)]['initialize'][_0x3ebdbf(0x4b1)](this),this[_0x3ebdbf(0x481)]();},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x3b5)]=function(){const _0xcafdc9=_0x5bdce9;Sprite_Name['prototype']['initMembers'][_0xcafdc9(0x4b1)](this),this['opacity']=0x0,this['_linkedSprite']=null,this['anchor']['x']=0.5,this[_0xcafdc9(0x887)]['y']=0x0;},Sprite_EnemyName['prototype'][_0x5bdce9(0x481)]=function(){const _0x3a1c74=_0x5bdce9;VisuMZ[_0x3a1c74(0x61c)][_0x3a1c74(0x76e)][_0x3a1c74(0x14a)]['NameAttachStateIcon']&&('qfXmX'!==_0x3a1c74(0x473)?this[_0x3a1c74(0x197)](_0x3a1c74(0xe9)):(this[_0x3a1c74(0x21f)]=new Sprite_StateIcon(),this[_0x3a1c74(0xa8d)](this['_stateIconSprite'])));},Sprite_EnemyName[_0x5bdce9(0x768)]['bitmapWidth']=function(){const _0x47223c=_0x5bdce9;return Graphics[_0x47223c(0x7fb)];},Sprite_EnemyName[_0x5bdce9(0x768)]['bitmapHeight']=function(){const _0xe96add=_0x5bdce9;return this[_0xe96add(0x44b)]=this[_0xe96add(0x44b)]||Window_Base[_0xe96add(0x768)][_0xe96add(0x429)]()||0x24,this[_0xe96add(0x44b)]*0x4;},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x3c7)]=function(){const _0x4235e0=_0x5bdce9;return VisuMZ[_0x4235e0(0x61c)][_0x4235e0(0x76e)][_0x4235e0(0x14a)]['NameFontSize']||$gameSystem[_0x4235e0(0x70e)]();},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x155)]=function(_0x4ebf63){const _0x228e6f=_0x5bdce9;this[_0x228e6f(0x254)]=_0x4ebf63;},Sprite_EnemyName['prototype'][_0x5bdce9(0x367)]=function(){const _0x57c4a5=_0x5bdce9;Sprite_Name[_0x57c4a5(0x768)][_0x57c4a5(0x367)]['call'](this),this[_0x57c4a5(0x38a)](),this[_0x57c4a5(0x37f)](),this['updateAttachedSprites'](),this[_0x57c4a5(0x4f8)]();},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x5fd)]=function(){const _0x49e86f=_0x5bdce9;this[_0x49e86f(0xa76)]=undefined;const _0x24b959=this[_0x49e86f(0x74e)](),_0x464678=this[_0x49e86f(0x541)](),_0x45c44b=Window_Base[_0x49e86f(0x768)][_0x49e86f(0x429)]();this[_0x49e86f(0x934)](),this['bitmap'][_0x49e86f(0x89d)](),this[_0x49e86f(0x454)][_0x49e86f(0x683)](_0x24b959,0x0,0x0,_0x464678,_0x45c44b,_0x49e86f(0x4ed));},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x38a)]=function(){const _0x3f19a4=_0x5bdce9;if(!this['_linkedSprite'])return;this[_0x3f19a4(0x976)]!==this[_0x3f19a4(0x254)][_0x3f19a4(0x976)]&&this[_0x3f19a4(0x5aa)](this[_0x3f19a4(0x254)][_0x3f19a4(0x976)]);},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x37f)]=function(){const _0xd0ac19=_0x5bdce9;if(!this['_linkedSprite'])return;this[_0xd0ac19(0x44b)]=this['_lineHeight']||Window_Base[_0xd0ac19(0x768)][_0xd0ac19(0x429)](),this['x']=this[_0xd0ac19(0x254)]['_baseX'],this['y']=this[_0xd0ac19(0x254)]['_baseY']-this[_0xd0ac19(0x44b)]*0.5;const _0x12c2d7=VisuMZ[_0xd0ac19(0x61c)][_0xd0ac19(0x76e)]['Enemy'];this['x']+=_0x12c2d7['NameOffsetX']||0x0,this['y']+=_0x12c2d7[_0xd0ac19(0xa8b)]||0x0;},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x7f7)]=function(){const _0xa9bd00=_0x5bdce9;this[_0xa9bd00(0x75b)]();},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x75b)]=function(){const _0x41c2bc=_0x5bdce9;if(!this[_0x41c2bc(0x21f)])return;this[_0x41c2bc(0x976)]!==this[_0x41c2bc(0x21f)][_0x41c2bc(0x976)]&&(_0x41c2bc(0x455)!=='vNxbI'?this[_0x41c2bc(0x21f)][_0x41c2bc(0x5aa)](this[_0x41c2bc(0x976)]):_0x1ef8cd=_0x597540[_0x41c2bc(0x22a)]);const _0x11645a=this[_0x41c2bc(0x276)]();this['_lineHeight']=this[_0x41c2bc(0x44b)]||Window_Base[_0x41c2bc(0x768)][_0x41c2bc(0x429)](),this['_stateIconSprite']['x']=Math['round']((_0x11645a+ImageManager['iconWidth'])/0x2)+0x8,this[_0x41c2bc(0x21f)]['y']=this['_lineHeight']/0x2;const _0x1bc539=VisuMZ['BattleCore'][_0x41c2bc(0x76e)]['Enemy'];this[_0x41c2bc(0x21f)]['x']+=_0x1bc539[_0x41c2bc(0x9f9)]||0x0,this[_0x41c2bc(0x21f)]['y']+=_0x1bc539['AttachStateOffsetY']||0x0;},Sprite_EnemyName[_0x5bdce9(0x768)]['updateOpacity']=function(){const _0x279cab=_0x5bdce9,_0x54b351=this[_0x279cab(0x83a)]();if(_0x54b351&&this[_0x279cab(0x867)]<0xff)this['opacity']+=0x10;else!_0x54b351&&this[_0x279cab(0x867)]>0x0&&(_0x279cab(0x6fe)==='edKtj'?this[_0x279cab(0x867)]-=0x10:this['autoMeleeMultiTargetActionSet'](_0x5eafb4,_0x577582,_0x68400f));},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x83a)]=function(){const _0x677bec=_0x5bdce9;if(this[_0x677bec(0x5d9)]())return![];else{if(!this[_0x677bec(0x976)]){if(_0x677bec(0x54f)!=='iSWZc'){const _0x5e54b6=_0x36eb90[_0x677bec(0x61c)][_0x677bec(0x76e)]['BattleLayout'],_0x57336b=this[_0x677bec(0xad6)](_0x21e59a),_0x48895f=this['itemRect'](_0x12b860),_0x3e7171=_0x1e71c6[_0x677bec(0xb3f)](_0x48895f['x']+(_0x48895f[_0x677bec(0x3b2)]-0x80)/0x2),_0x5da758=this['nameY'](_0x48895f);let _0x4fa56a=_0x3e7171-_0x57bcbc[_0x677bec(0x9e1)]/0x2-0x4,_0x32b701=_0x5da758+_0x42c738[_0x677bec(0x8a0)]/0x2;_0x4fa56a-_0x178a05[_0x677bec(0x9e1)]/0x2<_0x48895f['x']&&(_0x4fa56a=_0x3e7171+_0x475904[_0x677bec(0x9e1)]/0x2-0x4,_0x32b701=_0x5da758-_0x4b9406[_0x677bec(0x8a0)]/0x2);const _0x13a2fd=_0x3e7171,_0x41386f=this[_0x677bec(0x4ef)](_0x48895f);this[_0x677bec(0x61d)](_0x57336b,_0x3e7171+(_0x5e54b6[_0x677bec(0x7d0)]||0x0),_0x5da758+(_0x5e54b6[_0x677bec(0x96d)]||0x0)),this[_0x677bec(0x11d)](_0x57336b,_0x3e7171+(_0x5e54b6['NameOffsetX']||0x0),_0x5da758+(_0x5e54b6[_0x677bec(0xa8b)]||0x0)),this[_0x677bec(0x27a)](_0x57336b,_0x4fa56a+(_0x5e54b6['StateIconOffsetX']||0x0),_0x32b701+(_0x5e54b6[_0x677bec(0x539)]||0x0)),this['placeGauge'](_0x57336b,'hp',_0x13a2fd+(_0x5e54b6['HpGaugeOffsetX']||0x0),_0x41386f+(_0x5e54b6[_0x677bec(0x3b3)]||0x0)),this[_0x677bec(0x198)](_0x57336b,'mp',_0x13a2fd+(_0x5e54b6['MpGaugeOffsetX']||0x0),_0x41386f+this[_0x677bec(0xac3)]()+(_0x5e54b6[_0x677bec(0x138)]||0x0)),_0x31286a[_0x677bec(0x5cf)]&&this[_0x677bec(0x198)](_0x57336b,'tp',_0x13a2fd+(_0x5e54b6[_0x677bec(0x7d2)]||0x0),_0x41386f+this[_0x677bec(0xac3)]()*0x2+(_0x5e54b6['TpGaugeOffsetY']||0x0));}else return![];}else{if(this[_0x677bec(0x976)][_0x677bec(0x9a3)]()){if(_0x677bec(0x962)===_0x677bec(0x939)){let _0x55f22b=this[_0x677bec(0x3de)](_0x43e73a);const _0x2167f9=this[_0x677bec(0x3c7)](),_0x15f1cf=_0x581099[_0x677bec(0x618)](_0x2167f9*0.75);for(let _0x4f3b72=0x0;_0x4f3b72<_0x55f22b['length'];_0x4f3b72++){const _0x588692=this[_0x677bec(0x814)](_0x15f1cf,_0x2167f9);_0x588692[_0x677bec(0x454)][_0x677bec(0x683)](_0x55f22b[_0x4f3b72],0x0,0x0,_0x15f1cf,_0x2167f9,'center'),_0x588692['x']=(_0x4f3b72-(_0x55f22b[_0x677bec(0x12d)]-0x1)/0x2)*_0x15f1cf,_0x588692['dy']=-_0x4f3b72;}}else return![];}else{if(!this[_0x677bec(0x976)][_0x677bec(0x6ed)]())return![];else{if(this[_0x677bec(0x6e8)]())return!![];else{if(this[_0x677bec(0x62b)]())return!![];else{if(this[_0x677bec(0xa2d)]())return!![];else{if(this['opacity']>0x0)return![];}}}}}}}},Sprite_EnemyName['prototype'][_0x5bdce9(0x5d9)]=function(){const _0x21955c=_0x5bdce9;return VisuMZ[_0x21955c(0x61c)]['Settings'][_0x21955c(0x14a)][_0x21955c(0x21d)];},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x6e8)]=function(){return![];},Sprite_EnemyName[_0x5bdce9(0x768)]['isAlwaysVisible']=function(){const _0x38d5d9=_0x5bdce9;return VisuMZ[_0x38d5d9(0x61c)][_0x38d5d9(0x76e)][_0x38d5d9(0x14a)][_0x38d5d9(0xacf)];},Sprite_EnemyName[_0x5bdce9(0x768)]['isIncludedInEnemyWindow']=function(){const _0x2f452b=_0x5bdce9;return VisuMZ[_0x2f452b(0x61c)][_0x2f452b(0x76e)]['Enemy']['NameAlwaysSelectOnly']?this[_0x2f452b(0x976)][_0x2f452b(0x24b)]():SceneManager[_0x2f452b(0x352)][_0x2f452b(0x22b)]&&SceneManager['_scene']['_enemyWindow']['active']&&SceneManager[_0x2f452b(0x352)][_0x2f452b(0x22b)][_0x2f452b(0xa38)][_0x2f452b(0x8ed)](this[_0x2f452b(0x976)]);},Sprite_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x276)]=function(){const _0x42c896=_0x5bdce9;if(!this[_0x42c896(0x976)])return 0x0;if(this[_0x42c896(0xa76)])return this[_0x42c896(0xa76)];const _0x33be77=this['name']();return this[_0x42c896(0x934)](),this[_0x42c896(0xa76)]=this['bitmap'][_0x42c896(0x84f)](_0x33be77)||0x1,this[_0x42c896(0xa76)];},VisuMZ[_0x5bdce9(0x61c)]['Sprite_Battleback_adjustPosition']=Sprite_Battleback[_0x5bdce9(0x768)]['adjustPosition'],Sprite_Battleback[_0x5bdce9(0x768)]['adjustPosition']=function(){const _0x425401=_0x5bdce9,_0x202963=VisuMZ['BattleCore']['Settings'][_0x425401(0x5a9)];if(!_0x202963)return VisuMZ[_0x425401(0x61c)][_0x425401(0x77d)][_0x425401(0x4b1)](this);const _0x45292f=String(_0x202963[_0x425401(0x4f0)])||'MZ';switch(_0x45292f){case'MZ':VisuMZ[_0x425401(0x61c)][_0x425401(0x77d)]['call'](this);break;case _0x425401(0x3d3):this['adjustPosition_1for1']();break;case _0x425401(0x5ce):this[_0x425401(0x85d)]();break;case _0x425401(0xa50):this['adjustPosition_ScaleDown']();break;case _0x425401(0x2f9):this[_0x425401(0xf8)]();break;}},Sprite_Battleback[_0x5bdce9(0x768)][_0x5bdce9(0x1c5)]=function(){const _0x32f9e8=_0x5bdce9;this[_0x32f9e8(0x3b2)]=Graphics['width'],this[_0x32f9e8(0x3b0)]=Graphics[_0x32f9e8(0x3b0)];const _0x279247=0x1;this['scale']['x']=_0x279247,this['scale']['y']=_0x279247,this['x']=0x0,this['y']=0x0;},Sprite_Battleback[_0x5bdce9(0x768)][_0x5bdce9(0x85d)]=function(){const _0x2a3199=_0x5bdce9;this[_0x2a3199(0x3b2)]=Graphics[_0x2a3199(0x3b2)],this[_0x2a3199(0x3b0)]=Graphics[_0x2a3199(0x3b0)];const _0x575900=this[_0x2a3199(0x3b2)]/this['bitmap'][_0x2a3199(0x3b2)],_0x483972=this['height']/this[_0x2a3199(0x454)]['height'],_0x84bde8=Math['max'](_0x575900,_0x483972);this[_0x2a3199(0x91d)]['x']=_0x84bde8,this[_0x2a3199(0x91d)]['y']=_0x84bde8,this['x']=(Graphics['width']-this[_0x2a3199(0x3b2)])/0x2,this['y']=Graphics[_0x2a3199(0x3b0)]-this['height'];},Sprite_Battleback[_0x5bdce9(0x768)]['adjustPosition_ScaleDown']=function(){const _0x32a764=_0x5bdce9;this[_0x32a764(0x3b2)]=Graphics['width'],this[_0x32a764(0x3b0)]=Graphics['height'];const _0x498c01=Math[_0x32a764(0x339)](0x1,this['width']/this[_0x32a764(0x454)][_0x32a764(0x3b2)]),_0x2d86b5=Math[_0x32a764(0x339)](0x1,this[_0x32a764(0x3b0)]/this[_0x32a764(0x454)][_0x32a764(0x3b0)]),_0x263e60=Math[_0x32a764(0xa5e)](_0x498c01,_0x2d86b5);this['scale']['x']=_0x263e60,this[_0x32a764(0x91d)]['y']=_0x263e60,this['x']=(Graphics[_0x32a764(0x3b2)]-this['width'])/0x2,this['y']=Graphics[_0x32a764(0x3b0)]-this['height'];},Sprite_Battleback[_0x5bdce9(0x768)][_0x5bdce9(0xf8)]=function(){const _0x446e22=_0x5bdce9;this[_0x446e22(0x3b2)]=Graphics[_0x446e22(0x3b2)],this[_0x446e22(0x3b0)]=Graphics[_0x446e22(0x3b0)];const _0x196419=Math[_0x446e22(0xa5e)](0x1,this['width']/this[_0x446e22(0x454)][_0x446e22(0x3b2)]),_0xe892a=Math[_0x446e22(0xa5e)](0x1,this[_0x446e22(0x3b0)]/this[_0x446e22(0x454)][_0x446e22(0x3b0)]),_0x39bc13=Math['max'](_0x196419,_0xe892a);this[_0x446e22(0x91d)]['x']=_0x39bc13,this['scale']['y']=_0x39bc13,this['x']=(Graphics['width']-this[_0x446e22(0x3b2)])/0x2,this['y']=Graphics[_0x446e22(0x3b0)]-this[_0x446e22(0x3b0)];},Spriteset_Battle[_0x5bdce9(0x69e)]=VisuMZ[_0x5bdce9(0x61c)]['Settings'][_0x5bdce9(0x40f)][_0x5bdce9(0x735)]??!![],Spriteset_Battle['prototype'][_0x5bdce9(0xb1f)]=function(){const _0x316925=_0x5bdce9;if(!$gameSystem[_0x316925(0x68b)]())return![];return![];},Spriteset_Battle['prototype']['animationBaseDelay']=function(){return 0x0;},Spriteset_Battle[_0x5bdce9(0x768)]['animationNextDelay']=function(){return 0x0;},VisuMZ[_0x5bdce9(0x61c)]['Spriteset_Battle_createLowerLayer']=Spriteset_Battle['prototype'][_0x5bdce9(0x360)],Spriteset_Battle['prototype'][_0x5bdce9(0x360)]=function(){const _0x40b9c0=_0x5bdce9;VisuMZ[_0x40b9c0(0x61c)][_0x40b9c0(0x591)][_0x40b9c0(0x4b1)](this),this[_0x40b9c0(0x884)](),this[_0x40b9c0(0x2ea)]();},VisuMZ['BattleCore'][_0x5bdce9(0x842)]=Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x367)],Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x367)]=function(){const _0x2e9c34=_0x5bdce9;VisuMZ['BattleCore'][_0x2e9c34(0x842)][_0x2e9c34(0x4b1)](this),this['updateUiContainerPosition'](),this['updateWeather']();},Spriteset_Battle[_0x5bdce9(0x768)]['createWeather']=function(){const _0x8c0c23=_0x5bdce9;this['_weather']=new Weather(),this[_0x8c0c23(0x37d)][_0x8c0c23(0xa8d)](this[_0x8c0c23(0xa7b)]);},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x7bc)]=function(){const _0x104247=_0x5bdce9;this[_0x104247(0xa7b)][_0x104247(0x900)]=$gameScreen[_0x104247(0x6f9)](),this[_0x104247(0xa7b)][_0x104247(0x64d)]=$gameScreen['weatherPower']();},Game_Interpreter[_0x5bdce9(0x768)][_0x5bdce9(0xb7b)]=function(_0x561b29){const _0x1b7358=_0x5bdce9;$gameScreen[_0x1b7358(0x13a)](_0x561b29[0x0],_0x561b29[0x1],_0x561b29[0x2]);if(_0x561b29[0x3])this[_0x1b7358(0x156)](_0x561b29[0x2]);return!![];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x6d1)]=Game_Interpreter[_0x5bdce9(0x768)][_0x5bdce9(0x472)],Game_Interpreter[_0x5bdce9(0x768)][_0x5bdce9(0x472)]=function(_0x201709){const _0x3ec35c=_0x5bdce9;return SceneManager[_0x3ec35c(0x5ea)]()?(SceneManager['_scene'][_0x3ec35c(0x25a)][_0x3ec35c(0x54d)](_0x201709[0x0],_0x201709[0x1]),!![]):VisuMZ['BattleCore'][_0x3ec35c(0x6d1)][_0x3ec35c(0x4b1)](this,_0x201709);},Spriteset_Battle[_0x5bdce9(0x768)]['updateBattlebackBitmap']=function(_0x1c78ca,_0x3a70b6){const _0x1db9ff=_0x5bdce9;_0x1c78ca[_0x1db9ff(0x454)]=_0x3a70b6;},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x54d)]=function(_0x4b1754,_0x576812){const _0x57c473=_0x5bdce9;_0x4b1754=_0x4b1754||'',_0x576812=_0x576812||'';if(_0x4b1754===''&&_0x576812===''){if(_0x57c473(0x93b)===_0x57c473(0xae7)){const _0x4d34b3=_0x3c5902['BattleCore']['ConfigManager_makeData'][_0x57c473(0x4b1)](this);return _0x4d34b3[_0x57c473(0x40e)]=this[_0x57c473(0x40e)],_0x4d34b3[_0x57c473(0x25c)]=this[_0x57c473(0x25c)],_0x4d34b3[_0x57c473(0xa03)]=this[_0x57c473(0xa03)],_0x4d34b3;}else _0x4b1754=this['_back1Sprite'][_0x57c473(0x4e4)](),_0x576812=this[_0x57c473(0x2b4)][_0x57c473(0x908)]();}const _0x4e81a8=ImageManager[_0x57c473(0x34a)](_0x4b1754),_0x2d68ec=ImageManager[_0x57c473(0xa54)](_0x576812);_0x4e81a8['addLoadListener'](this[_0x57c473(0x5a0)][_0x57c473(0x124)](this,this[_0x57c473(0x41a)],this['_back2Sprite'],_0x4e81a8,_0x2d68ec));},Spriteset_Battle[_0x5bdce9(0x768)]['updateBattlebackBitmap1']=function(_0x146a2b,_0x562091,_0x356d64,_0x856c13){const _0x239d3f=_0x5bdce9;_0x856c13[_0x239d3f(0x4e9)](this['updateBattlebackBitmap2'][_0x239d3f(0x124)](this,_0x146a2b,_0x562091,_0x356d64,_0x856c13));},Spriteset_Battle['prototype'][_0x5bdce9(0xe1)]=function(_0x161062,_0x8e254f,_0x892fa1,_0x33e38b){const _0x8abdb2=_0x5bdce9;_0x161062[_0x8abdb2(0x454)]=_0x892fa1,_0x8e254f['bitmap']=_0x33e38b,_0x161062[_0x8abdb2(0x3dd)](),_0x8e254f[_0x8abdb2(0x3dd)]();},VisuMZ['BattleCore'][_0x5bdce9(0x2cc)]=Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xabd)],Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xabd)]=function(){const _0x548450=_0x5bdce9;VisuMZ['BattleCore']['Spriteset_Battle_createBattleField'][_0x548450(0x4b1)](this),this['createBattleFieldBattleCore']();},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x24c)]=function(){const _0x51b1c1=_0x5bdce9;this[_0x51b1c1(0x66e)](),this[_0x51b1c1(0x88d)](),this[_0x51b1c1(0xa3d)](),this['createDamageContainer'](),this[_0x51b1c1(0x82e)]();},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x66e)]=function(){const _0x46bdcb=_0x5bdce9;this['_battlerContainer']=new Sprite(),this[_0x46bdcb(0x37d)][_0x46bdcb(0xa8d)](this['_battlerContainer']);},Spriteset_Battle[_0x5bdce9(0x768)]['createAnimationContainer']=function(){const _0x57dbe6=_0x5bdce9;this[_0x57dbe6(0x922)]=new Sprite(),Spriteset_Battle[_0x57dbe6(0x69e)]?'PFrgi'!=='aZBUF'?this[_0x57dbe6(0xa8d)](this[_0x57dbe6(0x922)]):_0x12c809=this[_0x57dbe6(0x7e2)][this[_0x57dbe6(0x7e2)][_0x57dbe6(0x12d)]-0x1]:this['_battleField']['addChild'](this[_0x57dbe6(0x922)]);},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xab4)]=function(){const _0x53c237=_0x5bdce9;this[_0x53c237(0x3ad)]=new Sprite(),this[_0x53c237(0x3ad)]['x']=this[_0x53c237(0x37d)]['x'],this['_damageContainer']['y']=this[_0x53c237(0x37d)]['y'],this[_0x53c237(0xa8d)](this[_0x53c237(0x3ad)]);},Spriteset_Battle[_0x5bdce9(0x768)]['adjustFlippedBattlefield']=function(){const _0x319933=_0x5bdce9;if(!this[_0x319933(0xb1f)]())return;this[_0x319933(0x98a)][_0x319933(0x91d)]['x']=-0x1,this['_battlerContainer']['x']=this[_0x319933(0x37d)][_0x319933(0x3b2)],this['_uiContainer'][_0x319933(0x91d)]['x']=-0x1,this[_0x319933(0x918)]['x']=this[_0x319933(0x37d)][_0x319933(0x3b2)],this[_0x319933(0x922)]['scale']['x']=-0x1,this['_animationContainer']['x']=this[_0x319933(0x37d)][_0x319933(0x3b2)],this['_damageContainer'][_0x319933(0x91d)]['x']=-0x1,this[_0x319933(0x3ad)]['x']=this[_0x319933(0x37d)]['x']+this[_0x319933(0x37d)][_0x319933(0x3b2)];},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x9da)]=function(){const _0x3545cd=_0x5bdce9;Imported[_0x3545cd(0x9f2)]&&this[_0x3545cd(0x271)]()&&(_0x3545cd(0x6a4)===_0x3545cd(0x6a4)?this[_0x3545cd(0x47e)]():this[_0x3545cd(0x8bd)]()?_0xfc671e[_0x3545cd(0x352)]['_statusWindow'][_0x3545cd(0x368)](_0x21b9c8):(this['damageContainer']()['removeChild'](_0x1a804f),this[_0x3545cd(0x104)][_0x3545cd(0x671)](_0x366eaa),_0x20655b[_0x3545cd(0x7a3)]()));const _0x260d83=$gameTroop[_0x3545cd(0x2b7)](),_0x233f92=[];for(const _0x4485e9 of _0x260d83){if(_0x3545cd(0x364)===_0x3545cd(0x364))_0x233f92[_0x3545cd(0x838)](new Sprite_Enemy(_0x4485e9));else{if(!_0x1ec735[_0x3545cd(0x5ea)]())return;_0x31f747['ConvertParams'](_0x252262,_0x4231b5);const _0x4c9a58=_0x541f06[_0x3545cd(0xb48)](),_0x1a080d=_0x207ec7[_0x3545cd(0xb40)],_0x134076=_0x3887b0['JumpToLabel'];if(!_0x4c9a58)return;if(!_0x1a080d)return;_0x1a080d&&_0x1a080d[_0x3545cd(0x9a3)]()&&_0x134076[_0x3545cd(0x673)]()[_0x3545cd(0x92d)]()!==_0x3545cd(0xae4)&&_0x4c9a58['command119']([_0x134076]);}}_0x233f92[_0x3545cd(0xadb)](this[_0x3545cd(0x381)]['bind'](this));for(const _0x2195d9 of _0x233f92){this[_0x3545cd(0x98a)][_0x3545cd(0xa8d)](_0x2195d9);}this[_0x3545cd(0x9f1)]=_0x233f92;},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x2f3)]=function(){const _0x5738bc=_0x5bdce9;this[_0x5738bc(0xa4b)]=[];for(let _0x8bf274=0x0;_0x8bf274<$gameParty['maxBattleMembers']();_0x8bf274++){const _0x5997b5=$gameParty['battleMembers']()[_0x8bf274],_0x74f0cf=new Sprite_Actor();_0x74f0cf['moveToStartPositionBattleCore'](_0x5997b5),_0x74f0cf['setBattler'](_0x5997b5),_0x74f0cf['update'](),this[_0x5738bc(0xa4b)]['push'](_0x74f0cf),this['_battlerContainer'][_0x5738bc(0xa8d)](_0x74f0cf);}},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x70b)]=function(_0x4957dd,_0x217d61,_0x5f0f85,_0x3e6809){const _0x3876b9=_0x5bdce9,_0x3d21c6=this[_0x3876b9(0x87a)](_0x217d61),_0x533b84=new(_0x3d21c6?Sprite_AnimationMV:Sprite_Animation)(),_0x5cc023=this['makeTargetSprites'](_0x4957dd);this[_0x3876b9(0x919)](_0x4957dd[0x0])&&(_0x5f0f85=!_0x5f0f85),_0x533b84[_0x3876b9(0x1c1)]=_0x4957dd,_0x533b84['setup'](_0x5cc023,_0x217d61,_0x5f0f85,_0x3e6809),this[_0x3876b9(0x1a6)](_0x533b84);},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x1a6)]=function(_0x239a6e){const _0x4dc19d=_0x5bdce9;this['isAnimationShownOnBattlePortrait'](_0x239a6e)?this[_0x4dc19d(0x2b1)]()[_0x4dc19d(0xa8d)](_0x239a6e):this[_0x4dc19d(0x922)][_0x4dc19d(0xa8d)](_0x239a6e),this[_0x4dc19d(0x399)][_0x4dc19d(0x838)](_0x239a6e);},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x6cc)]=function(_0x28b50b){const _0xc23001=_0x5bdce9;if(!_0x28b50b)return![];if(!_0x28b50b['_animation'])return![];if(!_0x28b50b['targetObjects'][0x0])return![];if(_0x28b50b[_0xc23001(0x1c1)][0x0][_0xc23001(0x491)]&&!_0x28b50b['targetObjects'][0x0][_0xc23001(0x491)]())return![];if($gameSystem[_0xc23001(0x68b)]())return![];if(!this['battleStatusWindowAnimationContainer']())return![];if(_0x28b50b[_0xc23001(0x56d)]===Sprite_Animation){if(_0x28b50b['_animation'][_0xc23001(0x4d1)]!==0x0)return![];}else{if(_0x28b50b[_0xc23001(0x56d)]===Sprite_AnimationMV){if(_0x28b50b['_animation'][_0xc23001(0x32a)]===0x3)return![];}}return!![];const _0x3418c3=Window_BattleStatus[_0xc23001(0x768)][_0xc23001(0x19d)]();return['xp',_0xc23001(0x71f)][_0xc23001(0x96f)](_0x3418c3);},Spriteset_Battle[_0x5bdce9(0x768)]['battleStatusWindowAnimationContainer']=function(){const _0x57c797=_0x5bdce9;if(!SceneManager['_scene'])return null;if(!SceneManager[_0x57c797(0x352)]['_statusWindow'])return null;if(!SceneManager['_scene'][_0x57c797(0x3e2)][_0x57c797(0x122)])return null;return SceneManager[_0x57c797(0x352)]['_statusWindow'][_0x57c797(0x122)];},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x6a0)]=function(_0x6b7655){const _0x33fe9b=_0x5bdce9;this[_0x33fe9b(0x9bf)](_0x6b7655);for(const _0x5198ed of _0x6b7655[_0x33fe9b(0x1c1)]){_0x5198ed['endAnimation']&&_0x5198ed['endAnimation']();}_0x6b7655[_0x33fe9b(0x7a3)]();},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x9bf)]=function(_0x49790f){const _0x3ff67d=_0x5bdce9;this[_0x3ff67d(0x399)][_0x3ff67d(0x671)](_0x49790f),this[_0x3ff67d(0x6cc)](_0x49790f)?this[_0x3ff67d(0x2b1)]()[_0x3ff67d(0x18f)](_0x49790f):this[_0x3ff67d(0x922)][_0x3ff67d(0x18f)](_0x49790f);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x7d9)]=Spriteset_Battle['prototype']['updateActors'],Spriteset_Battle[_0x5bdce9(0x768)]['updateActors']=function(){const _0x4ab254=_0x5bdce9;VisuMZ['BattleCore'][_0x4ab254(0x7d9)][_0x4ab254(0x4b1)](this),this['updateBattlerContainer']();},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x480)]=function(){const _0x5917fc=_0x5bdce9;this[_0x5917fc(0x98a)]['children'][_0x5917fc(0xadb)](this[_0x5917fc(0x49e)][_0x5917fc(0x124)](this)),this[_0x5917fc(0x115)]();},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x49e)]=function(_0x1b1b1f,_0x25667a){const _0xf8106c=_0x5bdce9;if(VisuMZ[_0xf8106c(0x61c)][_0xf8106c(0x76e)]['Actor'][_0xf8106c(0x305)]){if(_0x1b1b1f['_battler']&&_0x25667a[_0xf8106c(0x976)]){if(_0x1b1b1f[_0xf8106c(0x976)][_0xf8106c(0x491)]()&&_0x25667a[_0xf8106c(0x976)][_0xf8106c(0x203)]())return 0x1;else{if(_0x25667a[_0xf8106c(0x976)][_0xf8106c(0x491)]()&&_0x1b1b1f['_battler'][_0xf8106c(0x203)]())return-0x1;}}}return _0x1b1b1f[_0xf8106c(0x4c9)]!==_0x25667a[_0xf8106c(0x4c9)]?_0x1b1b1f[_0xf8106c(0x4c9)]-_0x25667a[_0xf8106c(0x4c9)]:_0x25667a[_0xf8106c(0x795)]-_0x1b1b1f[_0xf8106c(0x795)];},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x115)]=function(){const _0x2d913d=_0x5bdce9;if(!VisuMZ[_0x2d913d(0x61c)][_0x2d913d(0x76e)]['Actor'][_0x2d913d(0x9df)])return;const _0x4da73c=BattleManager['_subject'];if(_0x4da73c){if(_0x4da73c[_0x2d913d(0x491)]()&&!$gameSystem[_0x2d913d(0x68b)]())return;const _0xc3d64=_0x4da73c['battler']();if(_0xc3d64&&_0x4da73c[_0x2d913d(0x491)]())this[_0x2d913d(0x98a)][_0x2d913d(0xa8d)](_0xc3d64);}},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x836)]=function(){const _0x2b939b=_0x5bdce9;for(const _0x3e1c91 of $gameParty[_0x2b939b(0xed)]()){if(!_0x3e1c91)continue;if(!_0x3e1c91[_0x2b939b(0xb0d)]())continue;_0x3e1c91[_0x2b939b(0xb0d)]()[_0x2b939b(0x988)]=!![],_0x3e1c91['battler']()[_0x2b939b(0x5d8)]();}},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x88d)]=function(){const _0xde24a0=_0x5bdce9;this['_uiContainer']=new Sprite();if(Spriteset_Battle[_0xde24a0(0x69e)]){if('xOBxo'!==_0xde24a0(0x8c9)){if(this['_cache'][_0xde24a0(0x33a)]!==_0x4fe2ad)return this[_0xde24a0(0x1f3)][_0xde24a0(0x33a)];const _0x1ace66=/<DAMAGE CAP:[ ](\d+)>/i,_0xb5c6a1=this[_0xde24a0(0xb51)]()['map'](_0xdb2765=>_0xdb2765&&_0xdb2765[_0xde24a0(0x664)][_0xde24a0(0x16b)](_0x1ace66)?_0x7d41a9(_0x500085['$1']):0x0);let _0x616334=_0xb5c6a1[_0xde24a0(0x12d)]>0x0?_0x37365a[_0xde24a0(0xa5e)](..._0xb5c6a1):0x0;if(_0x616334<=0x0)_0x616334=_0xb46049[_0xde24a0(0x61c)][_0xde24a0(0x76e)][_0xde24a0(0x40d)][_0xde24a0(0x210)];return this[_0xde24a0(0x1f3)]['hardDamageCap']=_0x616334,this[_0xde24a0(0x1f3)][_0xde24a0(0x33a)];}else this[_0xde24a0(0xa8d)](this[_0xde24a0(0x918)]);}else this[_0xde24a0(0x37d)][_0xde24a0(0xa8d)](this['_uiContainer']);SceneManager[_0xde24a0(0x352)][_0xde24a0(0x918)]=this[_0xde24a0(0x918)];},Spriteset_Battle[_0x5bdce9(0x768)]['createEnemyNames']=function(){const _0x20acd5=_0x5bdce9;if(VisuMZ[_0x20acd5(0x61c)][_0x20acd5(0x76e)][_0x20acd5(0x14a)][_0x20acd5(0xb57)])return;this['_enemyNameContainer']=new Sprite(),BattleManager[_0x20acd5(0x89c)](this[_0x20acd5(0x763)]);for(const _0x2325a1 of this[_0x20acd5(0x9f1)]){if(_0x20acd5(0xb3b)===_0x20acd5(0x716))this[_0x20acd5(0x98a)][_0x20acd5(0x317)][_0x20acd5(0xadb)](this[_0x20acd5(0x49e)]['bind'](this)),this[_0x20acd5(0x115)]();else{const _0x4998a0=new Sprite_EnemyName();this[_0x20acd5(0x763)][_0x20acd5(0xa8d)](_0x4998a0),_0x4998a0[_0x20acd5(0x155)](_0x2325a1);}}},Spriteset_Battle['prototype'][_0x5bdce9(0x859)]=function(){const _0x1d8621=_0x5bdce9;if(!this[_0x1d8621(0x3ad)])return;if(!this[_0x1d8621(0x918)])return;const _0x2f0946=Spriteset_Battle['ANTI_TINT_UI']?this[_0x1d8621(0x3ad)]['x']:0x0,_0x591459=Spriteset_Battle[_0x1d8621(0x69e)]?this[_0x1d8621(0x3ad)]['y']:0x0,_0x5bee57=Imported[_0x1d8621(0x27b)]?this[_0x1d8621(0x37d)]['x']:0x0,_0xfd0d92=Imported[_0x1d8621(0x27b)]?this[_0x1d8621(0x37d)]['y']:0x0;this[_0x1d8621(0x918)]['x']=_0x2f0946+_0x5bee57,this[_0x1d8621(0x918)]['y']=_0x591459+_0xfd0d92;},BattleManager['addChildToUiContainer']=function(_0x2cd26b){const _0x311440=_0x5bdce9;if(!SceneManager[_0x311440(0x352)][_0x311440(0x918)])return;SceneManager[_0x311440(0x352)]['_uiContainer'][_0x311440(0xa8d)](_0x2cd26b);},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x585)]=function(){return![];},Spriteset_Battle['prototype'][_0x5bdce9(0x15d)]=function(){const _0x3cb2d0=_0x5bdce9;return this[_0x3cb2d0(0x71d)]()[_0x3cb2d0(0x82d)](_0x16740a=>_0x16740a[_0x3cb2d0(0x4d6)]());},Spriteset_Battle['prototype'][_0x5bdce9(0x935)]=function(){const _0x18db19=_0x5bdce9;return this[_0x18db19(0x71d)]()[_0x18db19(0x82d)](_0x59ba01=>_0x59ba01[_0x18db19(0x1a0)]());},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0x64a)]=function(){const _0x583850=_0x5bdce9;return this[_0x583850(0x71d)]()[_0x583850(0x82d)](_0x401093=>_0x401093[_0x583850(0x48a)]());},Spriteset_Battle[_0x5bdce9(0x768)][_0x5bdce9(0xaa3)]=function(){const _0x2ee818=_0x5bdce9;return this['battlerSprites']()[_0x2ee818(0x82d)](_0x18ef58=>_0x18ef58[_0x2ee818(0x35f)]());},Spriteset_Battle['prototype'][_0x5bdce9(0x1e9)]=function(){const _0x5c4238=_0x5bdce9;return this[_0x5c4238(0x71d)]()['some'](_0x55fdfb=>_0x55fdfb[_0x5c4238(0x86c)]());},Spriteset_Battle[_0x5bdce9(0x768)]['isAnyoneChangingOpacity']=function(){const _0x43d56e=_0x5bdce9;return this[_0x43d56e(0x71d)]()['some'](_0x36f523=>_0x36f523[_0x43d56e(0x727)]());},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x9e8)]=Window_ItemList['prototype'][_0x5bdce9(0x1d6)],Window_ItemList[_0x5bdce9(0x768)][_0x5bdce9(0x1d6)]=function(){const _0x521c93=_0x5bdce9;if(SceneManager['isSceneBattle']()){if(_0x521c93(0x950)!=='MVxiu'){if(SceneManager[_0x521c93(0x352)][_0x521c93(0x19d)]()===_0x521c93(0x5f1)){if('YcQQQ'!=='YcQQQ')_0x3e2ad9[_0x521c93(0x61c)][_0x521c93(0x85a)][_0x521c93(0x4b1)](this),this[_0x521c93(0x867)]=this[_0x521c93(0xe2)]>0x0?0xff:0x0;else return VisuMZ[_0x521c93(0x61c)]['Settings']['BattleLayout'][_0x521c93(0xa15)];}else{if(_0x521c93(0x847)!=='dZxXY')return VisuMZ[_0x521c93(0x61c)][_0x521c93(0x76e)]['BattleLayout']['SkillItemStandardCols'];else{this[_0x521c93(0x21f)][_0x521c93(0x867)]=0x0;return;}}}else _0x3faf55[_0x521c93(0xadf)](_0x10ea24[_0x521c93(0x235)],0x0);}else{if(_0x521c93(0xb68)!=='KHdWi')return VisuMZ[_0x521c93(0x61c)][_0x521c93(0x9e8)][_0x521c93(0x4b1)](this);else{if(this['battler']())this[_0x521c93(0xb0d)]()['refreshMotion']();}}},VisuMZ['BattleCore']['Window_SkillList_maxCols']=Window_SkillList['prototype'][_0x5bdce9(0x1d6)],Window_SkillList[_0x5bdce9(0x768)][_0x5bdce9(0x1d6)]=function(){const _0x3853a4=_0x5bdce9;return SceneManager[_0x3853a4(0x5ea)]()?SceneManager['_scene'][_0x3853a4(0x19d)]()==='border'?_0x3853a4(0x622)!==_0x3853a4(0x622)?_0x17ab28['BattleCore'][_0x3853a4(0xae0)][_0x3853a4(0x4b1)](this,_0x5c1edb):VisuMZ[_0x3853a4(0x61c)][_0x3853a4(0x76e)][_0x3853a4(0x40f)]['SkillItemBorderCols']:VisuMZ['BattleCore'][_0x3853a4(0x76e)][_0x3853a4(0x40f)]['SkillItemStandardCols']:VisuMZ['BattleCore']['Window_SkillList_maxCols']['call'](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x344)]=Window_Options[_0x5bdce9(0x768)]['addGeneralOptions'],Window_Options[_0x5bdce9(0x768)][_0x5bdce9(0x98c)]=function(){const _0x2201b9=_0x5bdce9;VisuMZ[_0x2201b9(0x61c)][_0x2201b9(0x344)][_0x2201b9(0x4b1)](this),this[_0x2201b9(0x72d)](),this[_0x2201b9(0x233)]();},Window_Options[_0x5bdce9(0x768)][_0x5bdce9(0x72d)]=function(){const _0x15613a=_0x5bdce9;VisuMZ[_0x15613a(0x61c)][_0x15613a(0x76e)]['AutoBattle']['AddOption']&&(_0x15613a(0x7f1)==='LzTeo'?(this['addBattleCoreAutoBattleStartupCommand'](),this[_0x15613a(0x26b)]()):this[_0x15613a(0x720)]=!![]);},Window_Options[_0x5bdce9(0x768)][_0x5bdce9(0x233)]=function(){const _0x24375c=_0x5bdce9;if(!VisuMZ['BattleCore']['Settings'][_0x24375c(0x9d6)][_0x24375c(0x383)])return;const _0x3fd171=TextManager['visualHpGauge'],_0x4c7160=_0x24375c(0xa03);this['addCommand'](_0x3fd171,_0x4c7160);},Window_Options[_0x5bdce9(0x768)][_0x5bdce9(0x2c1)]=function(){const _0x57f647=_0x5bdce9,_0x258775=TextManager[_0x57f647(0xa27)],_0x58a242=_0x57f647(0x40e);this[_0x57f647(0x97b)](_0x258775,_0x58a242);},Window_Options[_0x5bdce9(0x768)]['addBattleCoreAutoBattleStyleCommand']=function(){const _0x1c9284=_0x5bdce9,_0x49e306=TextManager[_0x1c9284(0x801)],_0x4ad953='autoBattleUseSkills';this[_0x1c9284(0x97b)](_0x49e306,_0x4ad953);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xae0)]=Window_Options[_0x5bdce9(0x768)][_0x5bdce9(0x6cd)],Window_Options[_0x5bdce9(0x768)][_0x5bdce9(0x6cd)]=function(_0x47dbe6){const _0x21d645=_0x5bdce9,_0x4be480=this[_0x21d645(0x992)](_0x47dbe6);if(_0x4be480===_0x21d645(0x25c)){if(_0x21d645(0x4d7)!==_0x21d645(0x4d7))_0x1527d1['BattleCore']['Window_BattleLog_popupDamage'][_0x21d645(0x4b1)](this,_0x2b3786),this[_0x21d645(0x670)]();else return this[_0x21d645(0x132)]();}else return VisuMZ['BattleCore'][_0x21d645(0xae0)][_0x21d645(0x4b1)](this,_0x47dbe6);},Window_Options[_0x5bdce9(0x768)][_0x5bdce9(0x132)]=function(){const _0x53ca50=_0x5bdce9,_0x4cbd0d=VisuMZ['BattleCore'][_0x53ca50(0x76e)][_0x53ca50(0xa97)],_0x3476c4=this[_0x53ca50(0x989)]('autoBattleUseSkills');return _0x3476c4?_0x4cbd0d[_0x53ca50(0x8f2)]:_0x4cbd0d[_0x53ca50(0xa45)];},Window_ShopStatus[_0x5bdce9(0x768)]['getItemDamageAmountLabelBattleCore']=function(){const _0x1c107e=_0x5bdce9,_0x350656=DataManager[_0x1c107e(0x294)](this[_0x1c107e(0x1f6)]),_0x229a71=VisuMZ[_0x1c107e(0xb78)][_0x350656];if(!_0x229a71)return this[_0x1c107e(0xb0f)]();const _0x5144ac='DamageType%1'[_0x1c107e(0x824)](this[_0x1c107e(0x1f6)][_0x1c107e(0x95c)]['type']),_0x13654c=[null,TextManager['hp'],TextManager['mp'],TextManager['hp'],TextManager['mp'],TextManager['hp'],TextManager['mp']][this['_item']['damage'][_0x1c107e(0x900)]];return _0x229a71[_0x5144ac][_0x1c107e(0x824)](_0x13654c);},Window_ShopStatus[_0x5bdce9(0x768)][_0x5bdce9(0x28f)]=function(){const _0x3b5638=_0x5bdce9,_0x43ba70=DataManager[_0x3b5638(0x294)](this[_0x3b5638(0x1f6)]),_0xd04f2c=VisuMZ[_0x3b5638(0xb78)][_0x43ba70];if(!_0xd04f2c)return this[_0x3b5638(0x6c2)]();return _0xd04f2c[_0x3b5638(0x26f)][_0x3b5638(0x4b1)](this);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xb11)]=Window_PartyCommand['prototype'][_0x5bdce9(0x490)],Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(_0x2aa01f){const _0x2c6902=_0x5bdce9;VisuMZ[_0x2c6902(0x61c)][_0x2c6902(0xb11)][_0x2c6902(0x4b1)](this,_0x2aa01f),this['createCommandNameWindow'](_0x2aa01f);},Window_PartyCommand['prototype'][_0x5bdce9(0x5f4)]=function(_0x429cd7){const _0x13f90b=_0x5bdce9,_0x487350=new Rectangle(0x0,0x0,_0x429cd7[_0x13f90b(0x3b2)],_0x429cd7[_0x13f90b(0x3b0)]);this[_0x13f90b(0x301)]=new Window_Base(_0x487350),this[_0x13f90b(0x301)][_0x13f90b(0x867)]=0x0,this['addChild'](this[_0x13f90b(0x301)]),this[_0x13f90b(0x7d7)]();},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x509)]=function(){const _0x1ba28a=_0x5bdce9;Window_Command[_0x1ba28a(0x768)]['callUpdateHelp'][_0x1ba28a(0x4b1)](this);if(this['_commandNameWindow'])this['updateCommandNameWindow']();},Window_PartyCommand[_0x5bdce9(0x768)]['updateCommandNameWindow']=function(){const _0x115337=_0x5bdce9,_0x50a65b=this[_0x115337(0x301)];_0x50a65b['contents'][_0x115337(0x89d)]();const _0x103b29=this['commandStyleCheck'](this['index']());if(_0x103b29===_0x115337(0x98e)&&this[_0x115337(0x95a)]()>0x0){const _0x4534e2=this[_0x115337(0x101)](this[_0x115337(0x1fd)]());let _0x413c28=this['commandName'](this[_0x115337(0x1fd)]());_0x413c28=_0x413c28[_0x115337(0x3a7)](/\\I\[(\d+)\]/gi,''),_0x50a65b[_0x115337(0x689)](),this[_0x115337(0x3a0)](_0x413c28,_0x4534e2),this[_0x115337(0x5ad)](_0x413c28,_0x4534e2),this[_0x115337(0x980)](_0x413c28,_0x4534e2);}},Window_PartyCommand['prototype'][_0x5bdce9(0x3a0)]=function(_0x5c6888,_0x46db08){},Window_PartyCommand[_0x5bdce9(0x768)]['commandNameWindowDrawText']=function(_0x3cb958,_0x5bed9d){const _0x373ba7=_0x5bdce9,_0x167cc=this[_0x373ba7(0x301)];_0x167cc[_0x373ba7(0x683)](_0x3cb958,0x0,_0x5bed9d['y'],_0x167cc[_0x373ba7(0x1fb)],_0x373ba7(0x4ed));},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x980)]=function(_0x3e03df,_0x18f9a0){const _0xd792bc=_0x5bdce9,_0x74cef4=this[_0xd792bc(0x301)],_0x17cbbc=$gameSystem[_0xd792bc(0x149)](),_0x4930f0=_0x18f9a0['x']+Math['floor'](_0x18f9a0[_0xd792bc(0x3b2)]/0x2)+_0x17cbbc;_0x74cef4['x']=_0x74cef4[_0xd792bc(0x3b2)]/-0x2+_0x4930f0,_0x74cef4['y']=Math[_0xd792bc(0x618)](_0x18f9a0[_0xd792bc(0x3b0)]/0x2);},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x6c0)]=function(){const _0x499d32=_0x5bdce9;this[_0x499d32(0x920)](),this['addAutoBattleCommand'](),this[_0x499d32(0x218)](),this[_0x499d32(0x1a4)](),this[_0x499d32(0xb6d)]();},Window_PartyCommand['prototype'][_0x5bdce9(0x920)]=function(){const _0x1a2910=_0x5bdce9,_0x3c4e2a=this[_0x1a2910(0x865)](),_0x371e26=VisuMZ[_0x1a2910(0x61c)]['Settings'][_0x1a2910(0x71c)][_0x1a2910(0x126)],_0x4fa260=_0x3c4e2a===_0x1a2910(0x160)?TextManager[_0x1a2910(0x3b8)]:'\x5cI[%1]%2'[_0x1a2910(0x824)](_0x371e26,TextManager[_0x1a2910(0x3b8)]),_0x3d79f5=this[_0x1a2910(0x2e6)]();this['addCommand'](_0x4fa260,'fight',_0x3d79f5);},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x2e6)]=function(){return!![];},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x4c0)]=function(){const _0x5ea721=_0x5bdce9;if(!this[_0x5ea721(0xa4d)]())return;const _0x5960b6=this[_0x5ea721(0x865)](),_0xa765e1=VisuMZ[_0x5ea721(0x61c)][_0x5ea721(0x76e)][_0x5ea721(0x71c)]['CmdIconAutoBattle'],_0x3623d4=_0x5960b6===_0x5ea721(0x160)?TextManager['autoBattle']:_0x5ea721(0x5a6)[_0x5ea721(0x824)](_0xa765e1,TextManager[_0x5ea721(0xa63)]),_0x4afdd7=this['isAutoBattleCommandEnabled']();this[_0x5ea721(0x97b)](_0x3623d4,'autoBattle',_0x4afdd7);},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0xa4d)]=function(){const _0x1cd506=_0x5bdce9;return VisuMZ['BattleCore']['Settings'][_0x1cd506(0x71c)]['CommandAddAutoBattle'];},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0xa06)]=function(){return!![];},Window_PartyCommand['prototype'][_0x5bdce9(0x218)]=function(){},Window_PartyCommand['prototype'][_0x5bdce9(0x1a4)]=function(){const _0x3212a9=_0x5bdce9;if(!this['isOptionsCommandAdded']())return;const _0x2c9116=this['commandStyle'](),_0x215927=VisuMZ[_0x3212a9(0x61c)][_0x3212a9(0x76e)][_0x3212a9(0x71c)][_0x3212a9(0x8f6)],_0x4a8b54=_0x2c9116===_0x3212a9(0x160)?TextManager[_0x3212a9(0x2d5)]:_0x3212a9(0x5a6)[_0x3212a9(0x824)](_0x215927,TextManager[_0x3212a9(0x2d5)]),_0x167f66=this[_0x3212a9(0xf5)]();this['addCommand'](_0x4a8b54,_0x3212a9(0x2d5),_0x167f66);},Window_PartyCommand['prototype'][_0x5bdce9(0x940)]=function(){const _0x259da7=_0x5bdce9;return VisuMZ[_0x259da7(0x61c)][_0x259da7(0x76e)][_0x259da7(0x71c)][_0x259da7(0x77c)];},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0xf5)]=function(){return!![];},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0xb6d)]=function(){const _0x56c8a6=_0x5bdce9,_0x114d8c=this['commandStyle'](),_0x319052=VisuMZ['BattleCore'][_0x56c8a6(0x76e)]['PartyCmd'][_0x56c8a6(0x363)],_0x4a01ac=_0x114d8c===_0x56c8a6(0x160)?TextManager[_0x56c8a6(0x6ec)]:_0x56c8a6(0x5a6)[_0x56c8a6(0x824)](_0x319052,TextManager[_0x56c8a6(0x6ec)]),_0x379728=this[_0x56c8a6(0x67e)]();this[_0x56c8a6(0x97b)](_0x4a01ac,_0x56c8a6(0x6ec),_0x379728);},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x67e)]=function(){return BattleManager['canEscape']();},Window_PartyCommand[_0x5bdce9(0x768)]['itemTextAlign']=function(){const _0x540bc9=_0x5bdce9;return VisuMZ[_0x540bc9(0x61c)][_0x540bc9(0x76e)][_0x540bc9(0x71c)][_0x540bc9(0x4be)];},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x2a6)]=function(_0x557c3d){const _0x2423d6=_0x5bdce9,_0x5d120b=this[_0x2423d6(0x49b)](_0x557c3d);if(_0x5d120b==='iconText')this['drawItemStyleIconText'](_0x557c3d);else _0x5d120b===_0x2423d6(0x98e)?this[_0x2423d6(0x701)](_0x557c3d):Window_Command['prototype'][_0x2423d6(0x2a6)][_0x2423d6(0x4b1)](this,_0x557c3d);},Window_PartyCommand['prototype'][_0x5bdce9(0x865)]=function(){const _0x10d565=_0x5bdce9;return VisuMZ[_0x10d565(0x61c)][_0x10d565(0x76e)][_0x10d565(0x71c)][_0x10d565(0x2bf)];},Window_PartyCommand['prototype'][_0x5bdce9(0x49b)]=function(_0x3f6651){const _0x8e5ebb=_0x5bdce9;if(_0x3f6651<0x0)return'text';const _0x55c77c=this['commandStyle']();if(_0x55c77c!==_0x8e5ebb(0x4dc)){if(_0x8e5ebb(0x205)===_0x8e5ebb(0x324))this[_0x8e5ebb(0x9dd)](_0x8e5ebb(0x9ef)),_0x46c124['BattleCore'][_0x8e5ebb(0x417)][_0x8e5ebb(0x4b1)](this),this['processPostBattleCommonEvents']('Defeat');else return _0x55c77c;}else{if(this['maxItems']()>0x0){if(_0x8e5ebb(0x971)===_0x8e5ebb(0x971)){const _0x5368ca=this[_0x8e5ebb(0x3fa)](_0x3f6651);if(_0x5368ca[_0x8e5ebb(0x16b)](/\\I\[(\d+)\]/i)){if('EDhZb'===_0x8e5ebb(0x14f)){const _0x1707f4=this[_0x8e5ebb(0x101)](_0x3f6651),_0x3286bd=this[_0x8e5ebb(0xa5d)](_0x5368ca)[_0x8e5ebb(0x3b2)];if(_0x3286bd<=_0x1707f4['width'])return _0x8e5ebb(0x5b1);else{if(_0x8e5ebb(0x3d0)!==_0x8e5ebb(0x3d0))this[_0x8e5ebb(0x4a0)]()?_0x578a02['BattleCore'][_0x8e5ebb(0x8ca)][_0x8e5ebb(0x4b1)](this):(this[_0x8e5ebb(0xb7f)]=!this[_0x8e5ebb(0x471)][_0x8e5ebb(0x90e)](),!this['_appeared']&&(this[_0x8e5ebb(0x867)]=0x0));else return _0x8e5ebb(0x98e);}}else this[_0x8e5ebb(0x4a2)]['x']=_0x488589[_0x8e5ebb(0x3b2)]-(_0x25a558[_0x8e5ebb(0x3b2)]-_0x5b7dfc[_0x8e5ebb(0x7fb)])/0x2-this[_0x8e5ebb(0x4a2)]['width']-0x4;}}else{let _0x1ebf8d=[];return this[_0x8e5ebb(0xa71)]()?_0x1ebf8d=this['makeTargetsBattleCore']():_0x1ebf8d=_0x36447d[_0x8e5ebb(0x61c)][_0x8e5ebb(0x6c1)][_0x8e5ebb(0x4b1)](this),_0x1ebf8d=this[_0x8e5ebb(0x411)](_0x1ebf8d),_0x1ebf8d;}}}return'text';},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x178)]=function(_0x56d0a4){const _0x4a5312=_0x5bdce9,_0x518408=this[_0x4a5312(0x101)](_0x56d0a4),_0x3960b1=this[_0x4a5312(0x3fa)](_0x56d0a4),_0x27d595=this[_0x4a5312(0xa5d)](_0x3960b1)['width'];this[_0x4a5312(0xb60)](this[_0x4a5312(0x740)](_0x56d0a4));const _0x540362=this[_0x4a5312(0x38c)]();if(_0x540362===_0x4a5312(0x994))this[_0x4a5312(0x723)](_0x3960b1,_0x518408['x']+_0x518408[_0x4a5312(0x3b2)]-_0x27d595,_0x518408['y'],_0x27d595);else{if(_0x540362===_0x4a5312(0x4ed)){if(_0x4a5312(0xae8)===_0x4a5312(0xae8)){const _0x15203a=_0x518408['x']+Math[_0x4a5312(0x618)]((_0x518408[_0x4a5312(0x3b2)]-_0x27d595)/0x2);this['drawTextEx'](_0x3960b1,_0x15203a,_0x518408['y'],_0x27d595);}else{if(this[_0x4a5312(0x38f)]())return _0x4bad3b;const _0x3afaff=this[_0x4a5312(0xb83)](),_0x13307c=_0x33d3f6;let _0x490ae4=[],_0x410e6f=[];_0x490ae4['push'](this[_0x4a5312(0x742)]['arPenFlat'],this[_0x4a5312(0x742)]['arRedFlat']),_0x410e6f[_0x4a5312(0x838)](this[_0x4a5312(0x742)]['arPenRate'],this[_0x4a5312(0x742)]['arRedRate']);const _0x599941=this[_0x4a5312(0x5c8)]()?/<ARMOR REDUCTION:[ ](\d+\.?\d*)>/i:/<MAGIC REDUCTION:[ ](\d+\.?\d*)>/i,_0x5d6796=this[_0x4a5312(0x5c8)]()?/<ARMOR REDUCTION:[ ](\d+\.?\d*)([%％])>/i:/<MAGIC REDUCTION:[ ](\d+\.?\d*)([%％])>/i,_0x37e40b=this[_0x4a5312(0x5c8)]()?/<ARMOR PENETRATION:[ ](\d+\.?\d*)>/i:/<MAGIC PENETRATION:[ ](\d+\.?\d*)>/i,_0x53d00a=this[_0x4a5312(0x5c8)]()?/<ARMOR PENETRATION:[ ](\d+\.?\d*)([%％])>/i:/<MAGIC PENETRATION:[ ](\d+\.?\d*)([%％])>/i;return _0x490ae4=_0x490ae4[_0x4a5312(0x331)](_0x13307c['traitObjects']()[_0x4a5312(0x782)](_0x553372=>_0x553372&&_0x553372[_0x4a5312(0x664)][_0x4a5312(0x16b)](_0x599941)?_0x37365e(_0x54c8f3['$1']):0x0)),_0x410e6f=_0x410e6f[_0x4a5312(0x331)](_0x13307c['traitObjects']()[_0x4a5312(0x782)](_0x38d8a4=>_0x38d8a4&&_0x38d8a4[_0x4a5312(0x664)][_0x4a5312(0x16b)](_0x5d6796)?_0x31a51a(_0x50afdc['$1'])/0x64:0x0)),_0x490ae4=_0x490ae4[_0x4a5312(0x331)](_0x3afaff[_0x4a5312(0xb51)]()[_0x4a5312(0x782)](_0x19975a=>_0x19975a&&_0x19975a['note'][_0x4a5312(0x16b)](_0x37e40b)?_0x4643dc(_0x18b0d1['$1']):0x0)),_0x410e6f=_0x410e6f[_0x4a5312(0x331)](_0x3afaff['traitObjects']()[_0x4a5312(0x782)](_0x234479=>_0x234479&&_0x234479['note']['match'](_0x53d00a)?_0x15a533(_0x168289['$1'])/0x64:0x0)),this['item']()[_0x4a5312(0x664)][_0x4a5312(0x16b)](_0x37e40b)&&_0x490ae4[_0x4a5312(0x838)](_0x5cfb5f(_0x3894ed['$1'])),this['item']()[_0x4a5312(0x664)]['match'](_0x53d00a)&&_0x410e6f[_0x4a5312(0x838)](_0x27f435(_0x426835['$1'])),_0x24f38d=_0x490ae4['reduce']((_0x3b516a,_0x5ea1f5)=>_0x3b516a-_0x5ea1f5,_0x16d0fd),_0x50f567>0x0&&(_0x40529c=_0x410e6f[_0x4a5312(0x7cc)]((_0x25cc1f,_0x38781d)=>_0x25cc1f*(0x1-_0x38781d),_0x4e8c4f)),_0x6463ae;}}else _0x4a5312(0x60f)!==_0x4a5312(0xa14)?this['drawTextEx'](_0x3960b1,_0x518408['x'],_0x518408['y'],_0x27d595):_0x2c37a7[_0x4a5312(0x768)][_0x4a5312(0x9f4)][_0x4a5312(0x4b1)](this);}},Window_PartyCommand['prototype'][_0x5bdce9(0x701)]=function(_0x23f32b){const _0x283594=_0x5bdce9;this[_0x283594(0x3fa)](_0x23f32b)[_0x283594(0x16b)](/\\I\[(\d+)\]/i);const _0x6bae4f=Number(RegExp['$1'])||0x0,_0x34f544=this[_0x283594(0x101)](_0x23f32b),_0x47df19=_0x34f544['x']+Math[_0x283594(0x618)]((_0x34f544[_0x283594(0x3b2)]-ImageManager[_0x283594(0x9e1)])/0x2),_0x3db4ad=_0x34f544['y']+(_0x34f544[_0x283594(0x3b0)]-ImageManager[_0x283594(0x8a0)])/0x2;this[_0x283594(0xb82)](_0x6bae4f,_0x47df19,_0x3db4ad);},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x137)]=function(){},Window_PartyCommand[_0x5bdce9(0x768)]['activate']=function(){const _0x163155=_0x5bdce9;Window_Command['prototype'][_0x163155(0x11b)][_0x163155(0x4b1)](this);const _0x19cb1a=this['battleLayoutStyle']();if(_0x19cb1a===_0x163155(0x5f1)){if(_0x163155(0x34f)!=='EPkwo')this[_0x163155(0xafd)]();else return _0x489f2f['BattleCore']['Settings'][_0x163155(0x817)][_0x163155(0x2a1)];}},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x19d)]=function(){const _0x105640=_0x5bdce9;if(this['_battleLayoutStyle'])return this[_0x105640(0x4e7)];return this[_0x105640(0x4e7)]=SceneManager['_scene'][_0x105640(0x19d)](),this[_0x105640(0x4e7)];},Window_PartyCommand[_0x5bdce9(0x768)][_0x5bdce9(0x372)]=function(){const _0x39ca90=_0x5bdce9,_0x312c18=VisuMZ['BattleCore']['Settings'][_0x39ca90(0x71c)],_0x2e31cc=this[_0x39ca90(0x733)]();switch(_0x2e31cc){case _0x39ca90(0x3b8):this[_0x39ca90(0xa0f)][_0x39ca90(0x868)](_0x312c18[_0x39ca90(0x6bb)]);break;case _0x39ca90(0xa63):this['_helpWindow'][_0x39ca90(0x868)](_0x312c18['HelpAutoBattle']);break;case'options':this[_0x39ca90(0xa0f)][_0x39ca90(0x868)](_0x312c18[_0x39ca90(0x92b)]);break;case _0x39ca90(0x6ec):this[_0x39ca90(0xa0f)][_0x39ca90(0x868)](_0x312c18[_0x39ca90(0xb07)]);break;default:this[_0x39ca90(0xa0f)]['setText']('');break;}},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x2fe)]=Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x490)],Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(_0x48c8cf){const _0x23d5a3=_0x5bdce9;VisuMZ['BattleCore'][_0x23d5a3(0x2fe)][_0x23d5a3(0x4b1)](this,_0x48c8cf),this[_0x23d5a3(0x5f4)](_0x48c8cf);},Window_ActorCommand[_0x5bdce9(0x768)]['createCommandNameWindow']=function(_0x2e98a0){const _0x398e21=_0x5bdce9,_0x108795=new Rectangle(0x0,0x0,_0x2e98a0['width'],_0x2e98a0[_0x398e21(0x3b0)]);this['_commandNameWindow']=new Window_Base(_0x108795),this[_0x398e21(0x301)][_0x398e21(0x867)]=0x0,this[_0x398e21(0xa8d)](this[_0x398e21(0x301)]),this[_0x398e21(0x7d7)]();},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x509)]=function(){const _0x4b96d0=_0x5bdce9;Window_Command[_0x4b96d0(0x768)][_0x4b96d0(0x509)][_0x4b96d0(0x4b1)](this);if(this[_0x4b96d0(0x301)])this[_0x4b96d0(0x7d7)]();},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x7d7)]=function(){const _0x94713=_0x5bdce9,_0x34e109=this['_commandNameWindow'];_0x34e109[_0x94713(0xb32)][_0x94713(0x89d)]();const _0x20f09c=this['commandStyleCheck'](this[_0x94713(0x1fd)]());if(_0x20f09c===_0x94713(0x98e)&&this[_0x94713(0x95a)]()>0x0){const _0x7b5203=this[_0x94713(0x101)](this[_0x94713(0x1fd)]());let _0x49fb95=this[_0x94713(0x3fa)](this[_0x94713(0x1fd)]());_0x49fb95=_0x49fb95[_0x94713(0x3a7)](/\\I\[(\d+)\]/gi,''),_0x34e109[_0x94713(0x689)](),this[_0x94713(0x3a0)](_0x49fb95,_0x7b5203),this['commandNameWindowDrawText'](_0x49fb95,_0x7b5203),this[_0x94713(0x980)](_0x49fb95,_0x7b5203);}},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x3a0)]=function(_0x1d6058,_0x49fae1){},Window_ActorCommand['prototype'][_0x5bdce9(0x5ad)]=function(_0x13d036,_0x2be759){const _0x56060c=_0x5bdce9,_0xcccde0=this['_commandNameWindow'];_0xcccde0['drawText'](_0x13d036,0x0,_0x2be759['y'],_0xcccde0[_0x56060c(0x1fb)],_0x56060c(0x4ed));},Window_ActorCommand[_0x5bdce9(0x768)]['commandNameWindowCenter']=function(_0x3ed49a,_0x5c1eec){const _0x46afa9=_0x5bdce9,_0x3a790f=this['_commandNameWindow'],_0x40f8b5=$gameSystem[_0x46afa9(0x149)](),_0x3e777b=_0x5c1eec['x']+Math[_0x46afa9(0x618)](_0x5c1eec[_0x46afa9(0x3b2)]/0x2)+_0x40f8b5;_0x3a790f['x']=_0x3a790f[_0x46afa9(0x3b2)]/-0x2+_0x3e777b,_0x3a790f['y']=Math[_0x46afa9(0x618)](_0x5c1eec['height']/0x2);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x6c0)]=function(){const _0x48a54f=_0x5bdce9;if(!this[_0x48a54f(0xa72)])return;const _0x474a90=this['_actor'][_0x48a54f(0x877)]();for(const _0x2f0350 of _0x474a90){this[_0x48a54f(0x150)](_0x2f0350['toUpperCase']()[_0x48a54f(0x92d)]());}},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x150)]=function(_0x9866d4){const _0xf94acf=_0x5bdce9;_0x9866d4===_0xf94acf(0x148)&&this[_0xf94acf(0x874)]();[_0xf94acf(0x9f5),'SKILLS'][_0xf94acf(0x8ed)](_0x9866d4)&&this[_0xf94acf(0xa5c)]();_0x9866d4===_0xf94acf(0x111)&&this[_0xf94acf(0x376)]();_0x9866d4===_0xf94acf(0x726)&&this['addItemCommand']();if(_0x9866d4===_0xf94acf(0x71b)){if('BCNBx'!==_0xf94acf(0x60c))for(const _0x20c260 of _0x5ddb95){const _0x5e67bf=_0x2d6f77[0x0]['format'](_0x20c260[0x0]),_0x1016e1=_0x100125[0x1][_0xf94acf(0x824)](_0x20c260[0x1]),_0x59ef73=new _0x546648(_0x36d1fa[_0xf94acf(0x824)](_0x1016e1),'i');_0x31f9b6[_0x5e67bf]=_0x59ef73;}else this[_0xf94acf(0xb6d)]();}_0x9866d4==='AUTO\x20BATTLE'&&this['addAutoBattleCommand']();if(_0x9866d4['match'](/STYPE: (\d+)/i)){if(_0xf94acf(0x6c3)!=='nAnOW'){const _0x1fd4d4=Number(RegExp['$1']);this['addSkillTypeCommand'](_0x1fd4d4);}else _0x198b5e['prototype'][_0xf94acf(0x490)][_0xf94acf(0x4b1)](this),this[_0xf94acf(0x481)]();}else{if(_0x9866d4['match'](/STYPE: (.*)/i)){if(_0xf94acf(0xb71)!==_0xf94acf(0xb71))return _0xaca350['BattleCore'][_0xf94acf(0x9e8)][_0xf94acf(0x4b1)](this);else{const _0x7b3e0b=DataManager[_0xf94acf(0x31e)](RegExp['$1']);this[_0xf94acf(0x4ad)](_0x7b3e0b);}}}if(_0x9866d4===_0xf94acf(0x7ec)){if(_0xf94acf(0x88f)!==_0xf94acf(0x88f)){const _0x2b943c=this[_0xf94acf(0x19d)]();['xp',_0xf94acf(0x71f),'border']['includes'](_0x2b943c)&&this[_0xf94acf(0x8df)]['close'](),(_0x2b943c===_0xf94acf(0x5f1)||this[_0xf94acf(0x493)]())&&(this[_0xf94acf(0xa94)][_0xf94acf(0x6de)](),this[_0xf94acf(0x855)]['close']());}else this[_0xf94acf(0x116)]();}if(_0x9866d4[_0xf94acf(0x16b)](/SKILL: (\d+)/i)){const _0x2d7368=Number(RegExp['$1']);this[_0xf94acf(0x96a)]($dataSkills[_0x2d7368]);}else{if(_0x9866d4[_0xf94acf(0x16b)](/SKILL: (.*)/i)){if(_0xf94acf(0x7dd)==='PsFQG'){const _0x301b1b=DataManager[_0xf94acf(0x5f3)](RegExp['$1']);this[_0xf94acf(0x96a)]($dataSkills[_0x301b1b]);}else _0x44699e[_0xf94acf(0x61c)]['Sprite_Enemy_update'][_0xf94acf(0x4b1)](this),this['updateShadowVisibility']();}}_0x9866d4===_0xf94acf(0xa4f)&&Imported['VisuMZ_2_PartySystem']&&this[_0xf94acf(0xb2d)]();[_0xf94acf(0x6db),_0xf94acf(0x8f7)]['includes'](_0x9866d4)&&Imported[_0xf94acf(0x99e)]&&(_0xf94acf(0x230)===_0xf94acf(0x755)?_0x5b7a39[_0xf94acf(0x774)](_0x52e463):this['addCombatLogCommand']());if(_0x9866d4==='WEAPON\x20SWAP'&&Imported[_0xf94acf(0x3a6)]){if(_0xf94acf(0x725)==='Rvofe')this[_0xf94acf(0x59f)](!![]);else return this[_0xf94acf(0x71d)]()[_0xf94acf(0x82d)](_0x9ab644=>_0x9ab644[_0xf94acf(0x86c)]());}},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x874)]=function(){const _0x41c303=_0x5bdce9,_0x19cfdf=$dataSkills[this['_actor'][_0x41c303(0x171)]()];if(!_0x19cfdf)return;if(!this[_0x41c303(0xb46)](_0x19cfdf))return;const _0xb2197f=this[_0x41c303(0x865)](),_0x5013f4=DataManager['battleCommandName'](_0x19cfdf),_0x29bb06=DataManager[_0x41c303(0x8a1)](_0x19cfdf),_0x5075c0=_0xb2197f==='text'?_0x5013f4:_0x41c303(0x5a6)[_0x41c303(0x824)](_0x29bb06,_0x5013f4);this[_0x41c303(0x97b)](_0x5075c0,_0x41c303(0x33d),this[_0x41c303(0xa72)][_0x41c303(0x9fc)]());},Window_ActorCommand['prototype']['addGuardCommand']=function(){const _0x54676d=_0x5bdce9,_0x257794=$dataSkills[this[_0x54676d(0xa72)]['guardSkillId']()];if(!_0x257794)return;if(!this[_0x54676d(0xb46)](_0x257794))return;const _0x35ee10=this[_0x54676d(0x865)](),_0x541f47=DataManager['battleCommandName'](_0x257794),_0x356fcd=DataManager['battleCommandIcon'](_0x257794),_0x405c37=_0x35ee10===_0x54676d(0x160)?_0x541f47:_0x54676d(0x5a6)[_0x54676d(0x824)](_0x356fcd,_0x541f47);this[_0x54676d(0x97b)](_0x405c37,_0x54676d(0xe9),this[_0x54676d(0xa72)][_0x54676d(0x277)]());},Window_ActorCommand[_0x5bdce9(0x768)]['addItemCommand']=function(){const _0x23d9d6=_0x5bdce9,_0x35d193=this[_0x23d9d6(0x865)](),_0x6535aa=VisuMZ[_0x23d9d6(0x61c)][_0x23d9d6(0x76e)][_0x23d9d6(0x59c)][_0x23d9d6(0x7cf)],_0x4723f3=_0x35d193===_0x23d9d6(0x160)?TextManager['item']:'\x5cI[%1]%2'['format'](_0x6535aa,TextManager[_0x23d9d6(0xa8a)]),_0x5444bf=this[_0x23d9d6(0x89b)]();this[_0x23d9d6(0x97b)](_0x4723f3,_0x23d9d6(0xa8a),_0x5444bf);},Window_ActorCommand['prototype']['isItemCommandEnabled']=function(){const _0x4356f1=_0x5bdce9;return this['_actor']&&this['_actor'][_0x4356f1(0xaf2)]();},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0xa5c)]=function(){const _0x333bbd=_0x5bdce9,_0x4f92a3=this[_0x333bbd(0xa72)][_0x333bbd(0xa39)]();for(const _0x53202a of _0x4f92a3){this[_0x333bbd(0x4ad)](_0x53202a);}},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x4ad)]=function(_0x139a7d){const _0x5db976=_0x5bdce9;let _0x5432c9=$dataSystem[_0x5db976(0xa39)][_0x139a7d];if(!_0x5432c9)return;let _0x14acbe=_0x5432c9;const _0x2899a4=this[_0x5db976(0x865)]();if(_0x2899a4==='text')_0x14acbe=_0x14acbe[_0x5db976(0x3a7)](/\x1I\[(\d+)\]/gi,''),_0x14acbe=_0x14acbe[_0x5db976(0x3a7)](/\\I\[(\d+)\]/gi,'');else{if(!_0x5432c9[_0x5db976(0x16b)](/\\I\[(\d+)\]/i)){const _0x1fd051=Imported[_0x5db976(0x47a)]?VisuMZ[_0x5db976(0x4e1)]['Settings'][_0x5db976(0x494)]:VisuMZ[_0x5db976(0x61c)]['Settings'][_0x5db976(0x59c)],_0x41a7a2=$dataSystem[_0x5db976(0x862)][_0x5db976(0x8ed)](_0x139a7d),_0x3ecf49=_0x41a7a2?_0x1fd051[_0x5db976(0x770)]:_0x1fd051[_0x5db976(0x341)];_0x14acbe=_0x5db976(0x5a6)[_0x5db976(0x824)](_0x3ecf49,_0x5432c9);}}this[_0x5db976(0x97b)](_0x14acbe,'skill',!![],_0x139a7d);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x116)]=function(){const _0xf10b12=_0x5bdce9,_0x56d329=this['_actor']['skillTypes'](),_0x56f144=this[_0xf10b12(0xa72)][_0xf10b12(0x5f9)]();for(const _0x32f836 of _0x56f144){if(!_0x32f836)continue;if(Imported['VisuMZ_1_SkillsStatesCore']){if('Exvjf'===_0xf10b12(0x9a7))_0x50eae8+=_0x14656f,_0x5f0bf3+=_0x5ea949[_0xf10b12(0x491)]()?-_0x57e93a:_0x38046c;else{if(this['noSimilarSTypes'](_0x32f836))continue;if(this['isHiddenSkill'](_0x32f836))continue;}}else{if(!_0x56d329[_0xf10b12(0x8ed)](_0x32f836[_0xf10b12(0x2fa)])){if(_0xf10b12(0x1aa)===_0xf10b12(0x857))return _0x9ab8a0[_0xf10b12(0x61c)][_0xf10b12(0x76e)][_0xf10b12(0x2c4)][_0xf10b12(0x261)];else continue;}}this[_0xf10b12(0x96a)](_0x32f836);}},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x1de)]=function(_0x562797){const _0x1a20f1=_0x5bdce9,_0x57c3d3=this[_0x1a20f1(0xa72)][_0x1a20f1(0xa39)](),_0x439ce9=_0x57c3d3[_0x1a20f1(0xb85)](_0xb92148=>DataManager['getSkillTypes'](_0x562797)[_0x1a20f1(0x8ed)](_0xb92148));return _0x439ce9['length']<=0x0;},Window_ActorCommand['prototype'][_0x5bdce9(0x84d)]=function(_0x2caf5b){const _0x1496d7=_0x5bdce9;if(!Window_SkillList[_0x1496d7(0x768)][_0x1496d7(0xb41)][_0x1496d7(0x4b1)](this,_0x2caf5b))return!![];if(!Window_SkillList[_0x1496d7(0x768)][_0x1496d7(0x315)]['call'](this,_0x2caf5b))return!![];if(!Window_SkillList[_0x1496d7(0x768)]['checkShowHideSkillNotetags'][_0x1496d7(0x4b1)](this,_0x2caf5b))return!![];return![];},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x96a)]=function(_0x139cbb){const _0x4b43c1=_0x5bdce9;if(!_0x139cbb)return;if(!this[_0x4b43c1(0xb46)](_0x139cbb))return;const _0x539b7a=this['commandStyle'](),_0x2c824d=DataManager[_0x4b43c1(0x70f)](_0x139cbb),_0xd89759=DataManager[_0x4b43c1(0x8a1)](_0x139cbb),_0x1d403b=_0x539b7a==='text'?_0x2c824d:_0x4b43c1(0x5a6)[_0x4b43c1(0x824)](_0xd89759,_0x2c824d),_0x2cbf6e=this['_actor'][_0x4b43c1(0x571)](_0x139cbb);this[_0x4b43c1(0x97b)](_0x1d403b,_0x4b43c1(0x9b0),_0x2cbf6e,_0x139cbb['id']);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0xb46)]=function(_0x17220e){const _0x3c768c=_0x5bdce9,_0x2de698=_0x17220e[_0x3c768c(0x664)];if(_0x2de698['match'](/<COMMAND REQUIRE LEARN>/i)){if('aimnY'!==_0x3c768c(0x833)){if(!this[_0x3c768c(0xa72)][_0x3c768c(0x23f)](_0x17220e['id']))return![];}else this[_0x3c768c(0xb2e)]();}if(_0x2de698[_0x3c768c(0x16b)](/<COMMAND REQUIRE ACCESS>/i)){if(!this[_0x3c768c(0xa72)][_0x3c768c(0x414)](_0x17220e['id']))return![];}const _0x1b08b7=VisuMZ[_0x3c768c(0x61c)][_0x3c768c(0xaa5)](_0x17220e,_0x3c768c(0x229));if(VisuMZ[_0x3c768c(0x61c)]['JS'][_0x1b08b7]){if(!VisuMZ[_0x3c768c(0x61c)]['JS'][_0x1b08b7]['call'](this,this[_0x3c768c(0xa72)],_0x17220e))return![];}return VisuMZ[_0x3c768c(0x61c)][_0x3c768c(0x3da)](_0x17220e);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x3da)]=function(_0x2cc186){const _0x1d809a=_0x5bdce9,_0xa259f6=_0x2cc186[_0x1d809a(0x664)];if(_0xa259f6[_0x1d809a(0x16b)](/<COMMAND SHOW[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){const _0x42bf0f=JSON[_0x1d809a(0x6bd)]('['+RegExp['$1'][_0x1d809a(0x16b)](/\d+/g)+']');for(const _0x5406f0 of _0x42bf0f){if('BZSvM'!==_0x1d809a(0x7a6)){const _0x1b3649=[];for(const _0x2c25ff of this[_0x1d809a(0x1fc)]()[_0x1d809a(0xb20)]){const _0x51a2e9=_0x4c6f4a[_0x2c25ff[_0x1d809a(0xf1)]];if(_0x51a2e9&&!_0x1b3649['includes'](_0x51a2e9))_0x1b3649[_0x1d809a(0x838)](_0x51a2e9);}return _0x1b3649;}else{if(!$gameSwitches[_0x1d809a(0x9b5)](_0x5406f0))return![];}}return!![];}if(_0xa259f6[_0x1d809a(0x16b)](/<COMMAND SHOW ALL[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){if(_0x1d809a(0xfa)!==_0x1d809a(0x871)){const _0x4f623a=JSON[_0x1d809a(0x6bd)]('['+RegExp['$1'][_0x1d809a(0x16b)](/\d+/g)+']');for(const _0xf5289b of _0x4f623a){if(_0x1d809a(0x947)===_0x1d809a(0x947)){if(!$gameSwitches[_0x1d809a(0x9b5)](_0xf5289b))return![];}else{if(this[_0x1d809a(0xb29)]<0xff)this[_0x1d809a(0xb29)]+=0x10;}}return!![];}else _0x576a88=this[_0x1d809a(0x976)]['_forcedHomeX']??_0x57589d,_0x30c4bb=this['_battler']['_forcedHomeY']??_0x4687f7;}if(_0xa259f6[_0x1d809a(0x16b)](/<COMMAND SHOW ANY[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){if(_0x1d809a(0x29e)===_0x1d809a(0x5dd))_0x4ac9b9[_0x1d809a(0xb40)][_0x1d809a(0x154)]();else{const _0xb91597=JSON[_0x1d809a(0x6bd)]('['+RegExp['$1'][_0x1d809a(0x16b)](/\d+/g)+']');for(const _0x1a07d0 of _0xb91597){if(_0x1d809a(0x769)===_0x1d809a(0x769)){if($gameSwitches[_0x1d809a(0x9b5)](_0x1a07d0))return!![];}else this['setup'](_0x1d98b6['list'],0x0);}return![];}}if(_0xa259f6[_0x1d809a(0x16b)](/<COMMAND HIDE[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){const _0x1160c2=JSON[_0x1d809a(0x6bd)]('['+RegExp['$1'][_0x1d809a(0x16b)](/\d+/g)+']');for(const _0x512629 of _0x1160c2){if(_0x1d809a(0x264)===_0x1d809a(0x264)){if(!$gameSwitches[_0x1d809a(0x9b5)](_0x512629))return!![];}else return null;}return![];}if(_0xa259f6[_0x1d809a(0x16b)](/<COMMAND HIDE ALL[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){const _0x352650=JSON[_0x1d809a(0x6bd)]('['+RegExp['$1'][_0x1d809a(0x16b)](/\d+/g)+']');for(const _0x4234de of _0x352650){if(_0x1d809a(0x2af)===_0x1d809a(0x2af)){if(!$gameSwitches[_0x1d809a(0x9b5)](_0x4234de))return!![];}else this[_0x1d809a(0x326)]=this[_0x1d809a(0x99a)](this[_0x1d809a(0x326)],this[_0x1d809a(0x4a9)],_0x229cce,_0xe826c1,_0x162a97),this[_0x1d809a(0x461)]=this[_0x1d809a(0x99a)](this['_growY'],this[_0x1d809a(0x739)],_0x441b1e,_0x37468d,_0x57769b);}return![];}if(_0xa259f6[_0x1d809a(0x16b)](/<COMMAND HIDE ANY[ ](?:SW|SWITCH|SWITCHES):[ ]*(\d+(?:\s*,\s*\d+)*)>/i)){const _0x5ddc44=JSON[_0x1d809a(0x6bd)]('['+RegExp['$1'][_0x1d809a(0x16b)](/\d+/g)+']');for(const _0x2d2583 of _0x5ddc44){if(_0x1d809a(0x589)===_0x1d809a(0x589)){if($gameSwitches[_0x1d809a(0x9b5)](_0x2d2583))return![];}else _0x39ed12=_0x1204e9[_0x1d809a(0x618)](_0x16d84c[_0x1d809a(0x3df)]()*(_0x5ea8e7+0x1)),_0x4ae782=_0x5d2b0d[_0x140925],_0x169879[_0x312ffa]=_0x3ba356[_0x202de2],_0x220bed[_0x464165]=_0x556083;}return!![];}return!![];},Window_ActorCommand[_0x5bdce9(0x768)]['addEscapeCommand']=function(){const _0x14a4b2=_0x5bdce9,_0x1bf077=this[_0x14a4b2(0x865)](),_0x3173d8=VisuMZ[_0x14a4b2(0x61c)]['Settings'][_0x14a4b2(0x71c)][_0x14a4b2(0x363)],_0x2cd3ec=_0x1bf077==='text'?TextManager[_0x14a4b2(0x6ec)]:_0x14a4b2(0x5a6)[_0x14a4b2(0x824)](_0x3173d8,TextManager[_0x14a4b2(0x6ec)]),_0x2eabca=this['isEscapeCommandEnabled']();this['addCommand'](_0x2cd3ec,'escape',_0x2eabca);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x67e)]=function(){return BattleManager['canEscape']();},Window_ActorCommand['prototype'][_0x5bdce9(0x4c0)]=function(){const _0x2716e2=_0x5bdce9,_0xa07af6=this[_0x2716e2(0x865)](),_0x5524d8=VisuMZ[_0x2716e2(0x61c)][_0x2716e2(0x76e)][_0x2716e2(0x71c)]['CmdIconAutoBattle'],_0x8c4a72=_0xa07af6===_0x2716e2(0x160)?TextManager[_0x2716e2(0xa63)]:_0x2716e2(0x5a6)[_0x2716e2(0x824)](_0x5524d8,TextManager[_0x2716e2(0xa63)]),_0x5d644c=this[_0x2716e2(0xa06)]();this[_0x2716e2(0x97b)](_0x8c4a72,_0x2716e2(0xa63),_0x5d644c);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0xa06)]=function(){return!![];},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x38c)]=function(){const _0x335aa3=_0x5bdce9;return VisuMZ[_0x335aa3(0x61c)][_0x335aa3(0x76e)][_0x335aa3(0x59c)][_0x335aa3(0x4be)];},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x2a6)]=function(_0x2a9215){const _0x14f0e5=_0x5bdce9,_0x5ed3bd=this['commandStyleCheck'](_0x2a9215);if(_0x5ed3bd===_0x14f0e5(0x5b1))this['drawItemStyleIconText'](_0x2a9215);else _0x5ed3bd===_0x14f0e5(0x98e)?this['drawItemStyleIcon'](_0x2a9215):Window_Command['prototype'][_0x14f0e5(0x2a6)][_0x14f0e5(0x4b1)](this,_0x2a9215);this[_0x14f0e5(0x92e)](_0x2a9215);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x865)]=function(){const _0x28c923=_0x5bdce9;return VisuMZ[_0x28c923(0x61c)][_0x28c923(0x76e)]['ActorCmd'][_0x28c923(0x2bf)];},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x49b)]=function(_0x362217){const _0x3d2994=_0x5bdce9;if(_0x362217<0x0)return'text';const _0x4da4ec=this[_0x3d2994(0x865)]();if(_0x4da4ec!=='auto')return _0x4da4ec;else{if(this[_0x3d2994(0x95a)]()>0x0){const _0x523b63=this[_0x3d2994(0x3fa)](_0x362217);if(_0x523b63['match'](/\\I\[(\d+)\]/i)){if(_0x3d2994(0x975)!=='DxAcg')return _0x343207[_0x3d2994(0x61c)]['Settings'][_0x3d2994(0x59c)][_0x3d2994(0x2bf)];else{const _0x18ce58=this[_0x3d2994(0x101)](_0x362217),_0x573fbc=this[_0x3d2994(0xa5d)](_0x523b63)[_0x3d2994(0x3b2)];if(_0x573fbc<=_0x18ce58['width']){if(_0x3d2994(0x8f5)===_0x3d2994(0x5b8)){if(!_0x271b20[_0x3d2994(0xb63)])return;(_0x55a3ca[_0x3d2994(0x5de)]('ok')||_0x78a428['isTriggered'](_0x3d2994(0x5c1))||_0x5d1f79[_0x3d2994(0x1e8)]()||_0x224ce8[_0x3d2994(0x7c0)]())&&(_0x393166[_0x3d2994(0x279)](),_0x5fe0f8['_autoBattle']=![],_0x93c349[_0x3d2994(0x89d)](),_0x4aa519[_0x3d2994(0x89d)]());}else return'iconText';}else{if('IZwpQ'==='IZwpQ')return _0x3d2994(0x98e);else _0xf9c693[_0x3d2994(0xae5)](_0x575ab8),[_0x3d2994(0x81d),_0x3d2994(0x90c),'missile'][_0x3d2994(0x8ed)](_0x440033)&&this[_0x3d2994(0xb2e)]();}}}}}return _0x3d2994(0x160);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x178)]=function(_0x4aacb8){const _0x44fa64=_0x5bdce9,_0x2c1452=this[_0x44fa64(0x101)](_0x4aacb8),_0x3fe628=this['commandName'](_0x4aacb8),_0x4c1a9e=this[_0x44fa64(0xa5d)](_0x3fe628)[_0x44fa64(0x3b2)];this[_0x44fa64(0xb60)](this[_0x44fa64(0x740)](_0x4aacb8));const _0x59f614=this[_0x44fa64(0x38c)]();if(_0x59f614==='right'){if(_0x44fa64(0x433)===_0x44fa64(0x433))this[_0x44fa64(0x723)](_0x3fe628,_0x2c1452['x']+_0x2c1452[_0x44fa64(0x3b2)]-_0x4c1a9e,_0x2c1452['y'],_0x4c1a9e);else return![];}else{if(_0x59f614===_0x44fa64(0x4ed)){if(_0x44fa64(0x23e)!=='vnchP'){const _0x4fa696=_0x2c1452['x']+Math[_0x44fa64(0x618)]((_0x2c1452['width']-_0x4c1a9e)/0x2);this[_0x44fa64(0x723)](_0x3fe628,_0x4fa696,_0x2c1452['y'],_0x4c1a9e);}else{if(!this[_0x44fa64(0x524)]())return;if(_0x293a16<=0x0)return;this[_0x44fa64(0x7f9)]=_0x14dd81,this[_0x44fa64(0x94f)]=_0x250183,this[_0x44fa64(0xa07)]=_0x2e333d;}}else{if('tsLRr'!=='tsLRr')return 0x1*this['_growY'];else this['drawTextEx'](_0x3fe628,_0x2c1452['x'],_0x2c1452['y'],_0x4c1a9e);}}},Window_ActorCommand['prototype'][_0x5bdce9(0x701)]=function(_0x908c33){const _0x1cfccf=_0x5bdce9;this[_0x1cfccf(0x3fa)](_0x908c33)[_0x1cfccf(0x16b)](/\\I\[(\d+)\]/i);const _0x1d21e0=Number(RegExp['$1'])||0x0,_0x56d056=this[_0x1cfccf(0x101)](_0x908c33),_0x36758c=_0x56d056['x']+Math[_0x1cfccf(0x618)]((_0x56d056['width']-ImageManager['iconWidth'])/0x2),_0x9fce2a=_0x56d056['y']+(_0x56d056['height']-ImageManager[_0x1cfccf(0x8a0)])/0x2;this['drawIcon'](_0x1d21e0,_0x36758c,_0x9fce2a);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x92e)]=function(_0x7bca9f){const _0x38e6f7=_0x5bdce9;if(!(VisuMZ[_0x38e6f7(0x61c)][_0x38e6f7(0x76e)]['ActorCmd'][_0x38e6f7(0x2ac)]??!![]))return;const _0x9bbd75=this[_0x38e6f7(0x992)](_0x7bca9f);if(![_0x38e6f7(0x33d),_0x38e6f7(0xe9),'singleSkill']['includes'](_0x9bbd75))return;const _0x12dc75=this[_0x38e6f7(0x101)](_0x7bca9f);let _0x3b8302=null;if(_0x9bbd75===_0x38e6f7(0x33d))_0x3b8302=$dataSkills[this[_0x38e6f7(0xa72)][_0x38e6f7(0x171)]()];else _0x9bbd75===_0x38e6f7(0xe9)?_0x3b8302=$dataSkills[this[_0x38e6f7(0xa72)][_0x38e6f7(0x6da)]()]:_0x38e6f7(0x118)==='xICOH'?_0x3b8302=$dataSkills[this[_0x38e6f7(0x27d)][_0x7bca9f][_0x38e6f7(0x3fb)]]:_0x4467b2['wtypeId']=_0x422669['getWtypeIdWithName'](_0x3a2edf['$1']);this[_0x38e6f7(0xb09)](this['_actor'],_0x3b8302,_0x12dc75['x'],_0x12dc75['y'],_0x12dc75[_0x38e6f7(0x3b2)]);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0xb09)]=function(_0x4d72a9,_0xe8b787,_0x5c3faf,_0xd75add,_0x33679a){const _0x3445cb=_0x5bdce9;if(!_0xe8b787)return;Imported[_0x3445cb(0x47a)]?Window_Command[_0x3445cb(0x768)][_0x3445cb(0xb09)][_0x3445cb(0x4b1)](this,_0x4d72a9,_0xe8b787,_0x5c3faf,_0xd75add,_0x33679a):Window_SkillList[_0x3445cb(0x768)][_0x3445cb(0xb09)][_0x3445cb(0x4b1)](this,_0xe8b787,_0x5c3faf,_0xd75add,_0x33679a);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x137)]=function(){},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x11b)]=function(){const _0x584f81=_0x5bdce9;Window_Command['prototype'][_0x584f81(0x11b)][_0x584f81(0x4b1)](this);const _0x2125d2=this[_0x584f81(0x19d)]();_0x2125d2===_0x584f81(0x5f1)&&this[_0x584f81(0xafd)]();},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x19d)]=function(){const _0x285087=_0x5bdce9;if(this[_0x285087(0x4e7)])return this['_battleLayoutStyle'];return this[_0x285087(0x4e7)]=SceneManager[_0x285087(0x352)]['battleLayoutStyle'](),this[_0x285087(0x4e7)];},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x379)]=Window_ActorCommand['prototype'][_0x5bdce9(0x5aa)],Window_ActorCommand[_0x5bdce9(0x768)]['setup']=function(_0xc75009){const _0x1e003=_0x5bdce9,_0x3c12ee=this[_0x1e003(0x19d)]();if(_0xc75009&&['xp','portrait'][_0x1e003(0x8ed)](_0x3c12ee)){if(_0x1e003(0xa3c)===_0x1e003(0x4aa)){if(_0xa951da[_0x1e003(0x377)])this['displayItemMessage'](_0x52c9e4[_0x1e003(0x8b4)],_0x1648d4,_0x2928d4);if(_0x36f5e4[_0x1e003(0x551)])this[_0x1e003(0x25d)](_0x3fe3f1[_0x1e003(0x772)],_0x2f84ae,_0x567c6f);}else this[_0x1e003(0x2f7)](_0xc75009);}else _0xc75009&&[_0x1e003(0x5f1)][_0x1e003(0x8ed)](_0x3c12ee)&&(this['resizeWindowBorderStyle'](_0xc75009),this[_0x1e003(0xafd)]());VisuMZ[_0x1e003(0x61c)][_0x1e003(0x379)]['call'](this,_0xc75009),_0xc75009&&$gameTroop[_0x1e003(0xed)]()[_0x1e003(0x12d)]>0x0&&_0xc75009['battler']()&&_0xc75009['battler']()[_0x1e003(0x373)]();},Window_ActorCommand['prototype']['resizeWindowXPStyle']=function(_0x3bb0ad){const _0x2db5a4=_0x5bdce9,_0x442143=Math[_0x2db5a4(0xb3f)](Graphics[_0x2db5a4(0x7fb)]/0x3),_0xde6c0=Math[_0x2db5a4(0xb3f)](Graphics['boxWidth']/$gameParty[_0x2db5a4(0xb6f)]()['length']),_0x236144=Math['min'](_0x442143,_0xde6c0),_0x3c8b3d=this[_0x2db5a4(0x133)](VisuMZ[_0x2db5a4(0x61c)]['Settings']['BattleLayout'][_0x2db5a4(0x997)]),_0x3f3e78=_0xde6c0*_0x3bb0ad['index']()+(_0xde6c0-_0x236144)/0x2,_0x1a4be4=SceneManager[_0x2db5a4(0x352)][_0x2db5a4(0x3e2)]['y']-_0x3c8b3d;this[_0x2db5a4(0x5e7)](_0x3f3e78,_0x1a4be4,_0x236144,_0x3c8b3d),this['createContents'](),this[_0x2db5a4(0xa69)](0x1);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0xb1e)]=function(_0x1a96f3){const _0x5ed86c=_0x5bdce9,_0x5070bb=SceneManager['_scene'][_0x5ed86c(0xb39)]();this[_0x5ed86c(0x5e7)](_0x5070bb['x'],_0x5070bb['y'],_0x5070bb[_0x5ed86c(0x3b2)],_0x5070bb[_0x5ed86c(0x3b0)]),this[_0x5ed86c(0x6dc)](),this[_0x5ed86c(0xa69)](0x0);},Window_ActorCommand[_0x5bdce9(0x768)][_0x5bdce9(0x3f4)]=function(){const _0x578c66=_0x5bdce9;if(this['_dimmerSprite']){if('WVCmn'==='WVCmn'){const _0xf01ae2=this[_0x578c66(0x978)]['bitmap'],_0x238501=this[_0x578c66(0x3b2)]-0x8,_0x8afa73=this[_0x578c66(0x3b0)],_0x1838c0=this[_0x578c66(0xaff)],_0xcbe26e=ColorManager[_0x578c66(0xafc)](),_0x48de3c=ColorManager[_0x578c66(0xb0c)]();this['_dimmerSprite']['x']=0x4,_0xf01ae2[_0x578c66(0xad1)](_0x238501,_0x8afa73),_0xf01ae2[_0x578c66(0x936)](0x0,0x0,_0x238501,_0x1838c0,_0x48de3c,_0xcbe26e,!![]),_0xf01ae2[_0x578c66(0xe8)](0x0,_0x1838c0,_0x238501,_0x8afa73-_0x1838c0*0x2,_0xcbe26e),_0xf01ae2[_0x578c66(0x936)](0x0,_0x8afa73-_0x1838c0,_0x238501,_0x1838c0,_0xcbe26e,_0x48de3c,!![]),this[_0x578c66(0x978)][_0x578c66(0x8da)](0x0,0x0,_0x238501,_0x8afa73);}else{let _0x3c5fbe='battleUIOffsetX';if(this[_0x578c66(0x17f)](_0x3c5fbe))return this[_0x578c66(0x1f3)][_0x3c5fbe];return this[_0x578c66(0x1f3)][_0x3c5fbe]=this[_0x578c66(0x979)](this[_0x578c66(0x1fc)]()),this['_cache'][_0x3c5fbe];}}},Window_ActorCommand['prototype'][_0x5bdce9(0x372)]=function(){const _0x52ff26=_0x5bdce9;if(!this['_actor'])return;const _0x4a44bb=VisuMZ[_0x52ff26(0x61c)][_0x52ff26(0x76e)][_0x52ff26(0x59c)],_0x2a932b=this[_0x52ff26(0x733)]();switch(_0x2a932b){case _0x52ff26(0x33d):this[_0x52ff26(0xb4d)]($dataSkills[this['_actor'][_0x52ff26(0x171)]()]);break;case'guard':this[_0x52ff26(0xb4d)]($dataSkills[this[_0x52ff26(0xa72)]['guardSkillId']()]);break;case'skill':const _0x7b9cf=_0x4a44bb[_0x52ff26(0x617)],_0x4527da=_0x7b9cf[_0x52ff26(0x824)]($dataSystem[_0x52ff26(0xa39)][this[_0x52ff26(0x3fd)]()]);this[_0x52ff26(0xa0f)]['setText'](_0x4527da);break;case'singleSkill':this[_0x52ff26(0xb4d)]($dataSkills[this[_0x52ff26(0x3fd)]()]);break;case _0x52ff26(0xa8a):this[_0x52ff26(0xa0f)]['setText'](_0x4a44bb['HelpItem']);break;case _0x52ff26(0x6ec):this['_helpWindow'][_0x52ff26(0x868)](_0x4a44bb[_0x52ff26(0xb07)]);break;case _0x52ff26(0xa63):this['_helpWindow']['setText'](_0x4a44bb[_0x52ff26(0x613)]);break;default:this[_0x52ff26(0xa0f)]['setText']('');break;}},VisuMZ['BattleCore']['Window_BattleStatus_initialize']=Window_BattleStatus['prototype'][_0x5bdce9(0x490)],Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x490)]=function(_0x7ac895){const _0x259b9f=_0x5bdce9;VisuMZ[_0x259b9f(0x61c)][_0x259b9f(0x11f)]['call'](this,_0x7ac895),this['initBattleCore'](),this['createAttachmentSprites']();},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x19d)]=function(){const _0xd1b86b=_0x5bdce9;if(this[_0xd1b86b(0x4e7)])return this[_0xd1b86b(0x4e7)];return this[_0xd1b86b(0x4e7)]=SceneManager['_scene']['battleLayoutStyle'](),this[_0xd1b86b(0x4e7)];},Window_BattleStatus[_0x5bdce9(0x768)]['initBattleCore']=function(){const _0x3068e7=_0x5bdce9;this[_0x3068e7(0x5f6)]=this[_0x3068e7(0x73a)]();const _0x1009ce=VisuMZ[_0x3068e7(0x61c)][_0x3068e7(0x76e)][_0x3068e7(0x40f)];_0x1009ce[_0x3068e7(0x90d)]&&(_0x3068e7(0xfc)!=='CEZUE'?this[_0x3068e7(0x867)]=0x0:(this[_0x3068e7(0x9d4)]=_0x459015,_0x1d5f7d[_0x3068e7(0x352)][_0x3068e7(0x1ae)]()));},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x73a)]=function(){const _0x2b5741=_0x5bdce9,_0x2b70af=VisuMZ[_0x2b5741(0x61c)][_0x2b5741(0x76e)]['BattleLayout'];if(_0x2b70af[_0x2b5741(0x18b)]){if(_0x2b5741(0x9a6)!=='CNHDP')_0x362278[_0x2b5741(0xb87)]=!![],this[_0x2b5741(0xa4c)](_0x2dda8c);else return!![];}const _0xe974cd=this[_0x2b5741(0x19d)]();switch(_0xe974cd){case'list':case _0x2b5741(0x5f1):return!![];break;case'default':case'xp':case _0x2b5741(0x71f):default:return![];break;}},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0xaa7)]=function(){const _0x5b8402=_0x5bdce9;return this[_0x5b8402(0x73a)]()?0x0:0xa;},Window_BattleStatus['prototype']['maxCols']=function(){const _0x2b3467=_0x5bdce9,_0x568e2c=this[_0x2b3467(0x19d)]();switch(_0x568e2c){case _0x2b3467(0x3cd):return 0x1;break;case'xp':case _0x2b3467(0x71f):return $gameParty['battleMembers']()[_0x2b3467(0x12d)];break;case'default':default:return $gameParty[_0x2b3467(0x535)]();break;}},Window_BattleStatus[_0x5bdce9(0x768)]['itemHeight']=function(){const _0x3340c0=_0x5bdce9,_0x4d7739=this[_0x3340c0(0x19d)]();switch(_0x4d7739){case _0x3340c0(0x3cd):return Window_StatusBase[_0x3340c0(0x768)][_0x3340c0(0x36d)][_0x3340c0(0x4b1)](this);break;case _0x3340c0(0xa34):case'xp':case _0x3340c0(0x71f):default:return this[_0x3340c0(0x98f)];break;}},Window_BattleStatus['prototype'][_0x5bdce9(0x202)]=function(){const _0x56eb54=_0x5bdce9,_0x3bd23c=this['battleLayoutStyle']();switch(_0x3bd23c){case _0x56eb54(0x3cd):return Window_StatusBase[_0x56eb54(0x768)][_0x56eb54(0x202)]['call'](this);break;case _0x56eb54(0xa34):case'xp':case _0x56eb54(0x71f):default:return 0x0;break;}},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x9f4)]=function(){const _0x4b391d=_0x5bdce9;if(this['isFrameVisible']()){if(_0x4b391d(0x9ad)===_0x4b391d(0x9ad))Window_StatusBase[_0x4b391d(0x768)][_0x4b391d(0x9f4)]['call'](this);else{if(this[_0x4b391d(0x56d)]===_0x3bc01b)return;this[_0x4b391d(0x4f4)](),this[_0x4b391d(0x75f)]();}}else this[_0x4b391d(0xaff)]=0x8;},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x942)]=function(){const _0x61ad66=_0x5bdce9,_0x4cd188=VisuMZ['BattleCore']['Settings'][_0x61ad66(0x40f)];_0x4cd188[_0x61ad66(0x18b)]?this[_0x61ad66(0x856)]=ImageManager[_0x61ad66(0x691)](_0x4cd188[_0x61ad66(0x18b)]):Window_StatusBase[_0x61ad66(0x768)][_0x61ad66(0x942)]['call'](this);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x444)]=function(_0x9b5296){const _0x478b52=_0x5bdce9,_0x1e96e1=VisuMZ[_0x478b52(0x61c)]['Settings'][_0x478b52(0x40f)];if(_0x1e96e1[_0x478b52(0x9fe)])return;Window_StatusBase[_0x478b52(0x768)]['drawItemBackground'][_0x478b52(0x4b1)](this,_0x9b5296);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0xb13)]=function(){const _0x59f974=_0x5bdce9;this[_0x59f974(0x764)]=!![];},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x367)]=function(){const _0x3ada82=_0x5bdce9;Window_StatusBase[_0x3ada82(0x768)][_0x3ada82(0x367)][_0x3ada82(0x4b1)](this),this[_0x3ada82(0x107)](),this[_0x3ada82(0x153)]();if(this[_0x3ada82(0x19d)]()===_0x3ada82(0x5f1))this[_0x3ada82(0x9cd)]();},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x107)]=function(){const _0x3828bc=_0x5bdce9;if($gameTemp[_0x3828bc(0x128)]())this[_0x3828bc(0x1f7)](),this[_0x3828bc(0x764)]=![],$gameTemp[_0x3828bc(0x72a)]();else{if(this[_0x3828bc(0x764)]){if('lbqDc'!==_0x3828bc(0x33e))this['_requestRefresh']=![],this['refresh'](),this[_0x3828bc(0x1a5)]();else{if(this[_0x3828bc(0x406)]===_0x13ccf3)this[_0x3828bc(0x699)]();if(!_0x2ad2f6)return;if(this[_0x3828bc(0x406)][_0x3828bc(0x8ed)](_0x2ba171))return;this[_0x3828bc(0x406)][_0x3828bc(0x838)](_0x3e8f9e),this['_defeatedEnemies']['sort']((_0x31a5f7,_0x591844)=>_0x31a5f7-_0x591844);}}}},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x243)]=function(){const _0x2219d1=_0x5bdce9;Window_StatusBase[_0x2219d1(0x768)][_0x2219d1(0x243)][_0x2219d1(0x4b1)](this);if(!$gameSystem[_0x2219d1(0x68b)]())this[_0x2219d1(0xf7)]();},Window_BattleStatus[_0x5bdce9(0x768)]['hide']=function(){const _0x48ad4d=_0x5bdce9;if(this[_0x48ad4d(0x56d)]===Window_BattleStatus)return;Window_StatusBase['prototype']['hide'][_0x48ad4d(0x4b1)](this);},Window_BattleStatus[_0x5bdce9(0x768)]['drawBackgroundRect']=function(_0x4c9688){const _0xd4b5a=_0x5bdce9,_0x482247=this[_0xd4b5a(0x19d)]();switch(_0x482247){case'xp':case _0xd4b5a(0x71f):break;case'default':case'list':case _0xd4b5a(0x5f1):default:return Window_StatusBase[_0xd4b5a(0x768)]['drawBackgroundRect'][_0xd4b5a(0x4b1)](this,_0x4c9688);break;}},VisuMZ[_0x5bdce9(0x61c)]['Window_BattleStatus_drawItemImage']=Window_BattleStatus['prototype']['drawItemImage'],Window_BattleStatus[_0x5bdce9(0x768)]['drawItemImage']=function(_0x44df68){const _0x427a56=_0x5bdce9,_0x475b93=this[_0x427a56(0x19d)]();switch(_0x475b93){case _0x427a56(0x3cd):this[_0x427a56(0xb02)](_0x44df68);break;case'xp':this[_0x427a56(0x2b5)](_0x44df68);break;case _0x427a56(0x71f):this[_0x427a56(0x8d3)](_0x44df68);break;case _0x427a56(0xa34):case _0x427a56(0x5f1):default:VisuMZ[_0x427a56(0x61c)]['Window_BattleStatus_drawItemImage'][_0x427a56(0x4b1)](this,_0x44df68);break;}},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x944)]=function(_0x50c920){const _0x465b9b=_0x5bdce9,_0x47e227=this[_0x465b9b(0x19d)]();if(!$gameSystem[_0x465b9b(0x68b)]())this[_0x465b9b(0x9ed)](_0x50c920);switch(_0x47e227){case'list':this['drawItemStatusListStyle'](_0x50c920);break;case'xp':case _0x465b9b(0x71f):case _0x465b9b(0xa34):case _0x465b9b(0x5f1):default:this['drawItemStatusXPStyle'](_0x50c920);break;}},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x850)]=function(){const _0x3bb90e=_0x5bdce9,_0x2d6b37=this[_0x3bb90e(0x19d)]();if(['xp'][_0x3bb90e(0x8ed)](_0x2d6b37)&&!$gameSystem[_0x3bb90e(0x68b)]()){if('gXZVe'===_0x3bb90e(0x226)){if(this['_currentActor'][_0x3bb90e(0x427)]())return;this[_0x3bb90e(0x7bf)](),this[_0x3bb90e(0xb3c)](),!this['_subject']&&!this[_0x3bb90e(0x983)]&&_0x36d7bb['_scene'][_0x3bb90e(0x620)]();}else{this[_0x3bb90e(0xb49)](0x0,0x0,0x0,0x0);return;}}Window_StatusBase['prototype'][_0x3bb90e(0x850)][_0x3bb90e(0x4b1)](this);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x9ed)]=function(_0x4b4f0){const _0x4fbaa2=_0x5bdce9,_0x3b3787=this['actor'](_0x4b4f0)[_0x4fbaa2(0xb0d)]();if(!_0x3b3787)return;const _0x4bae44=this[_0x4fbaa2(0x19d)](),_0x3e0025=this['itemRect'](_0x4b4f0);let _0x21b701=Math[_0x4fbaa2(0xb3f)](_0x3e0025['x']+_0x3e0025[_0x4fbaa2(0x3b2)]/0x2)+this[_0x4fbaa2(0xaff)];['list'][_0x4fbaa2(0x8ed)](_0x4bae44)&&(_0x21b701=_0x3e0025[_0x4fbaa2(0x3b2)]/$gameParty[_0x4fbaa2(0xb6f)]()[_0x4fbaa2(0x12d)],_0x21b701*=_0x4b4f0,_0x21b701+=_0x3e0025[_0x4fbaa2(0x3b2)]/$gameParty[_0x4fbaa2(0xb6f)]()[_0x4fbaa2(0x12d)]/0x2);let _0x6e309d=Math['round'](this[_0x4fbaa2(0x479)](_0x4b4f0,_0x3b3787,_0x3e0025));_0x3b3787[_0x4fbaa2(0x273)](_0x21b701,_0x6e309d),this[_0x4fbaa2(0x783)](_0x3b3787,0x1),_0x3b3787['show'](),this[_0x4fbaa2(0x84c)](),this[_0x4fbaa2(0x1a5)]();},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x479)]=function(_0x1eff90,_0x3f1361,_0x2886cf){const _0x584440=_0x5bdce9,_0x1b67b2=VisuMZ['BattleCore'][_0x584440(0x76e)][_0x584440(0x40f)],_0x57adb8=this[_0x584440(0x19d)]();if(_0x57adb8==='xp'){const _0x4ad75c=_0x1b67b2[_0x584440(0xb26)];switch(_0x4ad75c[_0x584440(0x63a)]()[_0x584440(0x92d)]()){case _0x584440(0x48e):return _0x2886cf[_0x584440(0x3b0)]-_0x3f1361[_0x584440(0x748)][_0x584440(0x3b0)]/0x4;break;case _0x584440(0x4ed):const _0x5b8de0=_0x1b67b2['XPActorDefaultHeight'];return(_0x2886cf[_0x584440(0x3b0)]+(_0x3f1361[_0x584440(0x3b0)]||_0x5b8de0))/0x2;break;case'top':return 0x0;case _0x584440(0x74e):default:return this[_0x584440(0x6df)](_0x2886cf);break;}}else{if(_0x57adb8===_0x584440(0x71f)){}}return _0x3f1361['height'];},Sprite_Name[_0x5bdce9(0x768)][_0x5bdce9(0x8db)]=function(){return 0x24;},Sprite_Name[_0x5bdce9(0x768)][_0x5bdce9(0x5fd)]=function(){const _0x409d00=_0x5bdce9,_0x35556f=this[_0x409d00(0x74e)](),_0x344048=this[_0x409d00(0x541)](),_0x5d4817=this[_0x409d00(0x8db)]();this[_0x409d00(0x934)](),this[_0x409d00(0x454)]['clear'](),this[_0x409d00(0x454)][_0x409d00(0x9b8)](_0x35556f,0x0,0x0,_0x344048,_0x5d4817,_0x409d00(0x110));},Bitmap[_0x5bdce9(0x768)][_0x5bdce9(0x9b8)]=function(_0x3f652e,_0x34b619,_0x25c301,_0x4ace75,_0x7c357,_0x57f211){const _0x4ba133=_0x5bdce9,_0x1306a9=this[_0x4ba133(0x955)],_0x314248=_0x1306a9['globalAlpha'];_0x4ace75=_0x4ace75||0xffffffff;let _0x2b3254=_0x34b619,_0x25fd19=Math[_0x4ba133(0xb3f)](_0x25c301+0x18/0x2+this['fontSize']*0.35);_0x57f211==='center'&&(_0x2b3254+=_0x4ace75/0x2);if(_0x57f211==='right'){if('wGAYx'!=='wGAYx'){if(this['_floatDuration']<=0x0)return;const _0xb14a0b=this['_floatDuration'],_0x3d5fa6=this[_0x4ba133(0x8ff)],_0x3a7139=this[_0x4ba133(0x7aa)];_0xd7a265[_0x4ba133(0x9f2)]?this['_floatHeight']=this[_0x4ba133(0x99a)](this[_0x4ba133(0x16a)],this[_0x4ba133(0x3ce)],_0xb14a0b,_0x3d5fa6,_0x3a7139):this[_0x4ba133(0x16a)]=(this[_0x4ba133(0x16a)]*(_0xb14a0b-0x1)+this[_0x4ba133(0x3ce)])/_0xb14a0b;this[_0x4ba133(0x91e)]--;if(this['_floatDuration']<=0x0)this['onFloatEnd']();}else _0x2b3254+=_0x4ace75;}_0x1306a9['save'](),_0x1306a9['font']=this[_0x4ba133(0x6c5)](),_0x1306a9[_0x4ba133(0xa9e)]=_0x57f211,_0x1306a9['textBaseline']=_0x4ba133(0xb06),_0x1306a9[_0x4ba133(0x537)]=0x1,this[_0x4ba133(0x7e9)](_0x3f652e,_0x2b3254,_0x25fd19,_0x4ace75),_0x1306a9['globalAlpha']=_0x314248,this['_drawTextBody'](_0x3f652e,_0x2b3254,_0x25fd19,_0x4ace75),_0x1306a9[_0x4ba133(0x45e)](),this[_0x4ba133(0x78b)][_0x4ba133(0x367)]();},Window_BattleStatus['prototype'][_0x5bdce9(0x6df)]=function(_0x10f4cb){const _0x2540a5=_0x5bdce9;return this[_0x2540a5(0x4ef)](_0x10f4cb)-this[_0x2540a5(0xac3)]();},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0xb02)]=function(_0x14ff26){const _0x5dce67=_0x5bdce9;if(!VisuMZ[_0x5dce67(0x61c)]['Settings'][_0x5dce67(0x40f)][_0x5dce67(0x2d0)])return;const _0x1fc57f=this[_0x5dce67(0xad6)](_0x14ff26),_0x5dd3c2=this[_0x5dce67(0x5c3)](_0x14ff26);_0x5dd3c2['width']=ImageManager[_0x5dce67(0x2a8)],_0x5dd3c2[_0x5dce67(0x3b0)]-=0x2,this['drawActorFace'](_0x1fc57f,_0x5dd3c2['x']+0x1,_0x5dd3c2['y']+0x1,_0x5dd3c2[_0x5dce67(0x3b2)],_0x5dd3c2[_0x5dce67(0x3b0)]);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x97c)]=function(_0x4d5918){const _0x2420ec=_0x5bdce9,_0x8ec7b0=VisuMZ[_0x2420ec(0x61c)][_0x2420ec(0x76e)][_0x2420ec(0x40f)],_0xccd63b=$dataSystem[_0x2420ec(0x5cf)]?0x4:0x3,_0x59bd1e=_0xccd63b*0x80+(_0xccd63b-0x1)*0x8+0x4,_0x3b2efb=this[_0x2420ec(0xad6)](_0x4d5918),_0x19b8fb=this['itemRect'](_0x4d5918);let _0xbab5d4=_0x19b8fb['x']+this[_0x2420ec(0xaff)];if(_0x8ec7b0[_0x2420ec(0x2d0)]){if(_0x2420ec(0x543)==='ScnIJ')_0xbab5d4=_0x19b8fb['x']+ImageManager[_0x2420ec(0x2a8)]+0x8;else{if(this[_0x2420ec(0x1f3)][_0x2420ec(0x1ba)]!==_0x17902a)return this[_0x2420ec(0x1f3)][_0x2420ec(0x1ba)];if(this[_0x2420ec(0xad6)]()[_0x2420ec(0x664)][_0x2420ec(0x16b)](/<SIDEVIEW SHOW SHADOW>/i))this[_0x2420ec(0x1f3)][_0x2420ec(0x1ba)]=!![];else this[_0x2420ec(0xad6)]()[_0x2420ec(0x664)][_0x2420ec(0x16b)](/<SIDEVIEW HIDE SHADOW>/i)?this[_0x2420ec(0x1f3)][_0x2420ec(0x1ba)]=![]:this[_0x2420ec(0x1f3)][_0x2420ec(0x1ba)]=_0x1005dc[_0x2420ec(0x768)][_0x2420ec(0x892)][_0x2420ec(0x4b1)](this);return this[_0x2420ec(0x1f3)]['svShadow'];}}else _0xbab5d4+=ImageManager[_0x2420ec(0x9e1)];const _0x4d5a58=Math[_0x2420ec(0xb3f)](Math['min'](_0x19b8fb['x']+_0x19b8fb['width']-_0x59bd1e,_0xbab5d4)),_0x1b4f5e=Math[_0x2420ec(0xb3f)](_0x19b8fb['y']+(_0x19b8fb[_0x2420ec(0x3b0)]-Sprite_Name[_0x2420ec(0x768)][_0x2420ec(0x8db)]())/0x2),_0x533364=Math[_0x2420ec(0xb3f)](_0x4d5a58-ImageManager[_0x2420ec(0x9e1)]/0x2-0x4),_0x40abc6=Math['round'](_0x19b8fb['y']+(_0x19b8fb[_0x2420ec(0x3b0)]-ImageManager[_0x2420ec(0x8a0)])/0x2+ImageManager['iconHeight']/0x2);let _0x4d78cb=_0x4d5a58+0x88;const _0x32150a=_0x1b4f5e;this[_0x2420ec(0x61d)](_0x3b2efb,_0x4d5a58-0x4+(_0x8ec7b0['TpbGaugeOffsetX']||0x0),_0x1b4f5e+(_0x8ec7b0[_0x2420ec(0x96d)]||0x0)),this[_0x2420ec(0x11d)](_0x3b2efb,_0x4d5a58+(_0x8ec7b0[_0x2420ec(0x623)]||0x0),_0x1b4f5e+(_0x8ec7b0[_0x2420ec(0xa8b)]||0x0)),this[_0x2420ec(0x27a)](_0x3b2efb,_0x533364+(_0x8ec7b0[_0x2420ec(0x2b9)]||0x0),_0x40abc6+(_0x8ec7b0[_0x2420ec(0x539)]||0x0)),this[_0x2420ec(0x198)](_0x3b2efb,'hp',_0x4d78cb+0x88*0x0+(_0x8ec7b0['HpGaugeOffsetX']||0x0),_0x32150a+(_0x8ec7b0[_0x2420ec(0x3b3)]||0x0)),this[_0x2420ec(0x198)](_0x3b2efb,'mp',_0x4d78cb+0x88*0x1+(_0x8ec7b0['MpGaugeOffsetX']||0x0),_0x32150a+(_0x8ec7b0[_0x2420ec(0x138)]||0x0)),$dataSystem[_0x2420ec(0x5cf)]&&(_0x2420ec(0x6f3)!=='CCHzZ'?(_0x4332f2[_0x2420ec(0x70c)](_0x3a86dd),this['callNextMethod']()):this[_0x2420ec(0x198)](_0x3b2efb,'tp',_0x4d78cb+0x88*0x2+(_0x8ec7b0['TpGaugeOffsetX']||0x0),_0x32150a+(_0x8ec7b0[_0x2420ec(0x10c)]||0x0)));},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x2b5)]=function(_0x11bf8e){const _0x5d7139=_0x5bdce9;if(!$gameSystem['isSideView']())return;VisuMZ[_0x5d7139(0x61c)][_0x5d7139(0x408)][_0x5d7139(0x4b1)](this,_0x11bf8e);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x8e5)]=function(_0x34cabc){const _0x3dcb9a=_0x5bdce9,_0x236d16=VisuMZ[_0x3dcb9a(0x61c)][_0x3dcb9a(0x76e)][_0x3dcb9a(0x40f)],_0x4138bb=this[_0x3dcb9a(0xad6)](_0x34cabc),_0x2e5824=this[_0x3dcb9a(0x5c3)](_0x34cabc),_0x1482a2=Math[_0x3dcb9a(0xb3f)](_0x2e5824['x']+(_0x2e5824[_0x3dcb9a(0x3b2)]-0x80)/0x2),_0x2dea7d=this[_0x3dcb9a(0x6df)](_0x2e5824);let _0x37e902=_0x1482a2-ImageManager[_0x3dcb9a(0x9e1)]/0x2-0x4,_0x462409=_0x2dea7d+ImageManager[_0x3dcb9a(0x8a0)]/0x2;_0x37e902-ImageManager[_0x3dcb9a(0x9e1)]/0x2<_0x2e5824['x']&&(_0x37e902=_0x1482a2+ImageManager[_0x3dcb9a(0x9e1)]/0x2-0x4,_0x462409=_0x2dea7d-ImageManager[_0x3dcb9a(0x8a0)]/0x2);const _0x2ab9a4=_0x1482a2,_0x338df5=this[_0x3dcb9a(0x4ef)](_0x2e5824);this[_0x3dcb9a(0x61d)](_0x4138bb,_0x1482a2+(_0x236d16[_0x3dcb9a(0x7d0)]||0x0),_0x2dea7d+(_0x236d16[_0x3dcb9a(0x96d)]||0x0)),this['placeActorName'](_0x4138bb,_0x1482a2+(_0x236d16['NameOffsetX']||0x0),_0x2dea7d+(_0x236d16[_0x3dcb9a(0xa8b)]||0x0)),this[_0x3dcb9a(0x27a)](_0x4138bb,_0x37e902+(_0x236d16['StateIconOffsetX']||0x0),_0x462409+(_0x236d16[_0x3dcb9a(0x539)]||0x0)),this[_0x3dcb9a(0x198)](_0x4138bb,'hp',_0x2ab9a4+(_0x236d16['HpGaugeOffsetX']||0x0),_0x338df5+(_0x236d16['HpGaugeOffsetY']||0x0)),this[_0x3dcb9a(0x198)](_0x4138bb,'mp',_0x2ab9a4+(_0x236d16[_0x3dcb9a(0x80e)]||0x0),_0x338df5+this[_0x3dcb9a(0xac3)]()+(_0x236d16['MpGaugeOffsetY']||0x0)),$dataSystem[_0x3dcb9a(0x5cf)]&&this[_0x3dcb9a(0x198)](_0x4138bb,'tp',_0x2ab9a4+(_0x236d16[_0x3dcb9a(0x7d2)]||0x0),_0x338df5+this['gaugeLineHeight']()*0x2+(_0x236d16['TpGaugeOffsetY']||0x0));},Window_BattleStatus[_0x5bdce9(0x768)]['showPortraits']=function(_0x193a2a){const _0x55ae75=_0x5bdce9;if(!VisuMZ[_0x55ae75(0x61c)][_0x55ae75(0x76e)]['BattleLayout']['ShowPortraits'])return![];if(_0x193a2a[_0x55ae75(0x67d)]())return!![];return Imported[_0x55ae75(0x44c)]&&_0x193a2a[_0x55ae75(0x3e6)]();},Game_Actor[_0x5bdce9(0x768)][_0x5bdce9(0x44e)]=function(){const _0x5396d4=_0x5bdce9;if(this['actor']()[_0x5396d4(0x664)][_0x5396d4(0x16b)](/<BATTLE (?:IMAGE|PORTRAIT) OFFSET X:[ ]([\+\-]\d+)>/i))return Number(RegExp['$1']);else{if(this[_0x5396d4(0xad6)]()[_0x5396d4(0x664)][_0x5396d4(0x16b)](/<BATTLE (?:IMAGE|PORTRAIT) OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i)){if('gqVFW'!=='sXTxj')return Number(RegExp['$1']);else _0x4cae9b[_0x5396d4(0x61c)][_0x5396d4(0x3aa)]['call'](this,_0x42205b),this[_0x5396d4(0x670)]();}}return 0x0;},Game_Actor[_0x5bdce9(0x768)]['getBattlePortraitOffsetY']=function(){const _0x1abc85=_0x5bdce9;if(this['actor']()[_0x1abc85(0x664)][_0x1abc85(0x16b)](/<BATTLE (?:IMAGE|PORTRAIT) OFFSET Y:[ ]([\+\-]\d+)>/i))return Number(RegExp['$1']);else{if(this[_0x1abc85(0xad6)]()[_0x1abc85(0x664)][_0x1abc85(0x16b)](/<BATTLE (?:IMAGE|PORTRAIT) OFFSET:[ ]([\+\-]\d+),[ ]([\+\-]\d+)>/i))return Number(RegExp['$2']);}return 0x0;},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x8d3)]=function(_0x5122ef){const _0x340257=_0x5bdce9,_0x4dc2d6=this[_0x340257(0xad6)](_0x5122ef);if(this['showPortraits'](_0x4dc2d6)){const _0x2b48a7=_0x340257(0x55a)[_0x340257(0x824)](_0x4dc2d6[_0x340257(0x19e)]()),_0xc12381=this[_0x340257(0x803)](_0x2b48a7,Sprite),_0x2a1e12=_0x4dc2d6[_0x340257(0x4cc)]();if(_0x2a1e12!==''){if(_0x340257(0x9e9)!==_0x340257(0x482))_0xc12381[_0x340257(0x454)]=ImageManager['loadPicture'](_0x2a1e12);else{if(!_0x3b6159[_0x340257(0x5ea)]())return;if(!_0x391243[_0x340257(0x27b)])return;const _0x188a8f=_0x106276[_0x340257(0xb48)]();if(!_0x188a8f)return;_0x188a8f['setWaitMode']('battleSkew');}}else _0xc12381[_0x340257(0x454)]=ImageManager[_0x340257(0x9a5)];const _0x143cc7=this['itemRect'](_0x5122ef);_0xc12381['anchor']['x']=0.5,_0xc12381[_0x340257(0x887)]['y']=0x1;let _0x3015e7=Math[_0x340257(0xb3f)](_0x143cc7['x']+_0x143cc7['width']/0x2)+this[_0x340257(0xaff)];_0x3015e7+=_0x4dc2d6[_0x340257(0x44e)]();let _0x54495a=Math[_0x340257(0xb3f)](this[_0x340257(0x3b0)]);_0x54495a+=_0x4dc2d6[_0x340257(0x3ca)](),_0xc12381['move'](_0x3015e7,_0x54495a);const _0x10fbd6=VisuMZ[_0x340257(0x61c)][_0x340257(0x76e)][_0x340257(0x40f)][_0x340257(0xa89)];_0xc12381[_0x340257(0x91d)]['x']=_0x10fbd6,_0xc12381[_0x340257(0x91d)]['y']=_0x10fbd6,_0xc12381[_0x340257(0x243)]();}else{const _0x484feb=this['faceRect'](_0x5122ef);this['drawActorFace'](_0x4dc2d6,_0x484feb['x'],_0x484feb['y'],_0x484feb[_0x340257(0x3b2)],_0x484feb[_0x340257(0x3b0)]);}},Window_BattleStatus['prototype']['createInnerPortrait']=function(_0x3fc6d7,_0x992ccd){const _0x44c251=_0x5bdce9,_0x444567=this[_0x44c251(0x83d)];if(_0x444567[_0x3fc6d7])return _0x444567[_0x3fc6d7];else{if(_0x44c251(0x402)!=='bdlXn'){const _0x551715=new _0x992ccd();return _0x444567[_0x3fc6d7]=_0x551715,this[_0x44c251(0x475)](_0x551715),this[_0x44c251(0x475)](this['_cursorArea']),_0x551715;}else _0x439019[_0x44c251(0x61c)][_0x44c251(0xde)][_0x44c251(0x4b1)](this,_0x195a9b,_0xc7864e);}},Window_BattleStatus['prototype']['_createClientArea']=function(){const _0x477b1a=_0x5bdce9;this[_0x477b1a(0x951)](),this['_createEffectsContainer'](),Window_StatusBase[_0x477b1a(0x768)][_0x477b1a(0x719)]['call'](this),this['_createDamageContainer']();},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x951)]=function(){const _0x5435a0=_0x5bdce9;this[_0x5435a0(0x159)]=new Sprite(),this[_0x5435a0(0x159)][_0x5435a0(0x25b)]=[new PIXI[(_0x5435a0(0x25b))]['AlphaFilter']()],this[_0x5435a0(0x159)][_0x5435a0(0x457)]=new Rectangle(),this[_0x5435a0(0x159)]['move'](this[_0x5435a0(0x602)],this[_0x5435a0(0x602)]),this['addChild'](this[_0x5435a0(0x159)]);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x12f)]=function(){const _0x594029=_0x5bdce9;this[_0x594029(0x122)]=new Sprite(),this['addChild'](this[_0x594029(0x122)]);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x84c)]=function(){const _0x223eec=_0x5bdce9;this[_0x223eec(0x122)]&&(_0x223eec(0xada)!==_0x223eec(0xada)?_0x451981[_0x223eec(0x61c)]['Settings'][_0x223eec(0xe6)]['HomePosJS'][_0x223eec(0x4b1)](this,_0x14846d):this[_0x223eec(0xa8d)](this[_0x223eec(0x122)]));},Window_BattleStatus['prototype'][_0x5bdce9(0x4b6)]=function(){const _0x1ff1b8=_0x5bdce9;this[_0x1ff1b8(0x3ad)]=new Sprite(),this['addChild'](this['_damageContainer']);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x28a)]=function(){const _0x5181ef=_0x5bdce9;this[_0x5181ef(0x62c)]=new Sprite();for(let _0x46bb9c=0x0;_0x46bb9c<0x9;_0x46bb9c++){this[_0x5181ef(0x62c)]['addChild'](new Sprite());}this[_0x5181ef(0x159)][_0x5181ef(0xa8d)](this[_0x5181ef(0x62c)]);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0xb5f)]=function(){const _0x449d5e=_0x5bdce9;Window_StatusBase[_0x449d5e(0x768)]['_updateClientArea'][_0x449d5e(0x4b1)](this),this['_updateCursorArea']();},Window_BattleStatus['prototype'][_0x5bdce9(0x22f)]=function(){const _0x3c1d02=_0x5bdce9,_0x3649aa=this[_0x3c1d02(0x602)];this[_0x3c1d02(0x159)]['move'](_0x3649aa,_0x3649aa),this['_cursorArea']['x']=_0x3649aa-this[_0x3c1d02(0xa6b)]['x'],this[_0x3c1d02(0x159)]['y']=_0x3649aa-this[_0x3c1d02(0xa6b)]['y'],this[_0x3c1d02(0x1fb)]>0x0&&this[_0x3c1d02(0x98f)]>0x0?this[_0x3c1d02(0x159)][_0x3c1d02(0x8e1)]=this[_0x3c1d02(0x931)]():this[_0x3c1d02(0x159)][_0x3c1d02(0x8e1)]=![];},Window_BattleStatus['prototype']['_updateFilterArea']=function(){const _0x1ffecb=_0x5bdce9;Window_StatusBase[_0x1ffecb(0x768)][_0x1ffecb(0x7cb)]['call'](this),this[_0x1ffecb(0x488)]();},Window_BattleStatus['prototype'][_0x5bdce9(0x488)]=function(){const _0x3b2455=_0x5bdce9,_0x33d138=this[_0x3b2455(0x159)][_0x3b2455(0x938)]['apply'](new Point(0x0,0x0)),_0x29f85e=this[_0x3b2455(0x159)][_0x3b2455(0x457)];_0x29f85e['x']=_0x33d138['x']+this[_0x3b2455(0xa6b)]['x'],_0x29f85e['y']=_0x33d138['y']+this[_0x3b2455(0xa6b)]['y'],_0x29f85e['width']=this[_0x3b2455(0x1fb)],_0x29f85e['height']=this[_0x3b2455(0x98f)];},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x4b8)]=function(_0x5aba2e){const _0x5f062c=_0x5bdce9;if(this[_0x5f062c(0x19d)]()!==_0x5f062c(0x71f))return;this[_0x5f062c(0x8d3)](_0x5aba2e['index']());},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x50b)]=function(_0xba96d9,_0x285463){const _0x41ab43=_0x5bdce9;if(!this[_0x41ab43(0x3ad)])return;if(!_0xba96d9)return;if(!_0x285463)return;const _0x2e37fe=this[_0x41ab43(0x5c3)](_0x285463[_0x41ab43(0x1fd)]());_0x2e37fe['x']+=_0x2e37fe[_0x41ab43(0x3b2)]/0x2+this[_0x41ab43(0xaff)],_0xba96d9['x']=_0x2e37fe['x'],_0xba96d9['y']=_0x2e37fe['y'],this[_0x41ab43(0x3ad)][_0x41ab43(0xa8d)](_0xba96d9);},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x368)]=function(_0x48f8e6){const _0x9ef6a1=_0x5bdce9;if(!this['_damageContainer'])return;if(!_0x48f8e6)return;this[_0x9ef6a1(0x3ad)][_0x9ef6a1(0x18f)](_0x48f8e6);},Window_BattleStatus['prototype']['updateBorderStyle']=function(){const _0x20b200=_0x5bdce9;if(!this[_0x20b200(0xfd)]())return;if(!this[_0x20b200(0x65c)])this['createBorderStylePortraitSprite']();this[_0x20b200(0x819)](),this[_0x20b200(0x2e5)]();},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0xfd)]=function(){const _0x5348dc=_0x5bdce9;if(this[_0x5348dc(0x56d)]!==Window_BattleStatus)return![];if(!SceneManager[_0x5348dc(0x5ea)]())return![];return VisuMZ[_0x5348dc(0x61c)][_0x5348dc(0x76e)][_0x5348dc(0x40f)]['ShowPortraitsBorderStyle'];},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0xabc)]=function(){const _0x4c074b=_0x5bdce9;this[_0x4c074b(0x65c)]=new Sprite();const _0x4b5a97=SceneManager[_0x4c074b(0x352)],_0x37f68b=_0x4b5a97[_0x4c074b(0x317)][_0x4c074b(0x977)](_0x4b5a97[_0x4c074b(0xb84)]);_0x4b5a97['addChildAt'](this[_0x4c074b(0x65c)],_0x37f68b),this['_borderPortraitSprite']['anchor']['x']=0.5,this[_0x4c074b(0x65c)]['anchor']['y']=0x1;const _0xed99be=VisuMZ[_0x4c074b(0x61c)][_0x4c074b(0x76e)][_0x4c074b(0x40f)]['PortraitScaleBorderStyle'];this[_0x4c074b(0x65c)][_0x4c074b(0x91d)]['x']=_0xed99be,this[_0x4c074b(0x65c)][_0x4c074b(0x91d)]['y']=_0xed99be,this[_0x4c074b(0x65c)]['y']=this['y']+this[_0x4c074b(0x3b0)],this[_0x4c074b(0x2c2)]=0x0;},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x819)]=function(){const _0x1a2ed8=_0x5bdce9;this[_0x1a2ed8(0x65c)][_0x1a2ed8(0x8e1)]=BattleManager[_0x1a2ed8(0x923)]();const _0x3ee298=BattleManager[_0x1a2ed8(0xad6)]();if(_0x3ee298===this[_0x1a2ed8(0x65c)][_0x1a2ed8(0xad6)])return;this[_0x1a2ed8(0x65c)]['actor']=_0x3ee298||this['_borderPortraitSprite'][_0x1a2ed8(0xad6)];if(!_0x3ee298)return;else{if(_0x3ee298[_0x1a2ed8(0x4cc)]()===''){this[_0x1a2ed8(0x65c)]['bitmap']=ImageManager[_0x1a2ed8(0x9a5)];return;}else{const _0x1c5320=ImageManager[_0x1a2ed8(0x255)](_0x3ee298[_0x1a2ed8(0x4cc)]());_0x1c5320[_0x1a2ed8(0x4e9)](this[_0x1a2ed8(0x721)][_0x1a2ed8(0x124)](this,_0x1c5320));}}},Window_BattleStatus['prototype'][_0x5bdce9(0x721)]=function(_0x1ce56e){const _0x146d80=_0x5bdce9;this[_0x146d80(0x2c2)]=0x14,this[_0x146d80(0x65c)][_0x146d80(0x454)]=_0x1ce56e;if(SceneManager[_0x146d80(0x352)][_0x146d80(0x396)]())this[_0x146d80(0x65c)]['x']=0x0,this[_0x146d80(0x5fb)]=Math[_0x146d80(0xa44)](_0x1ce56e[_0x146d80(0x3b2)]/0x2);else{if(_0x146d80(0x298)===_0x146d80(0x298))this[_0x146d80(0x65c)]['x']=this['width'],this[_0x146d80(0x5fb)]=this[_0x146d80(0x3b2)]*0x3/0x4;else for(const _0x5debb6 of _0x20f94f){_0x5debb6[_0x146d80(0x16b)](/<REGION (\d+) BATTLEBACK(\d+): (.*)>/i);const _0x2ef515=_0x9aa17a(_0x357c94['$1']),_0xb5f275=_0x46cc51(_0x1a7bd2['$2']),_0x45301f=_0xb5f275===0x1?this['_regionBattleback1']:this['_regionBattleback2'],_0x3e89e0=_0x4589c9(_0x294aa7['$3']);_0x45301f[_0x2ef515]=_0x3e89e0;}}this[_0x146d80(0x65c)][_0x146d80(0x867)]=0x0,this[_0x146d80(0x65c)]['y']=this['y']+this[_0x146d80(0x3b0)];const _0x5e4558=BattleManager[_0x146d80(0xad6)]();if(_0x5e4558){if(_0x146d80(0x627)==='dGyUD')this['_borderPortraitTargetX']+=_0x5e4558[_0x146d80(0x44e)](),this[_0x146d80(0x65c)]['y']+=_0x5e4558[_0x146d80(0x3ca)]();else{const _0x4660ff=this[_0x146d80(0x301)];_0x4660ff['drawText'](_0x59d213,0x0,_0x15a78a['y'],_0x4660ff[_0x146d80(0x1fb)],_0x146d80(0x4ed));}}},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x2e5)]=function(){const _0x57e36b=_0x5bdce9;if(this[_0x57e36b(0x2c2)]>0x0){const _0x17c7a2=this[_0x57e36b(0x2c2)],_0x2bc875=this[_0x57e36b(0x65c)];_0x2bc875['x']=(_0x2bc875['x']*(_0x17c7a2-0x1)+this[_0x57e36b(0x5fb)])/_0x17c7a2,_0x2bc875[_0x57e36b(0x867)]=(_0x2bc875[_0x57e36b(0x867)]*(_0x17c7a2-0x1)+0xff)/_0x17c7a2,this[_0x57e36b(0x2c2)]--;}},Window_BattleStatus['prototype'][_0x5bdce9(0x153)]=function(){const _0x57a778=_0x5bdce9;return;this[_0x57a778(0x122)]&&(this['_effectsContainer']['x']=this['x'],this[_0x57a778(0x122)]['y']=this['y']);if(this[_0x57a778(0x3ad)]){if('SbvDz'!==_0x57a778(0x15b))this['_damageContainer']['x']=this['x'],this[_0x57a778(0x3ad)]['y']=this['y'];else{const _0x2649aa=0xa,_0x689285=0x12c*_0x2649aa,_0x330aaa=0x1e*_0x2649aa;this[_0x57a778(0x120)](_0x689285,0x0,_0x330aaa);}}},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x5f8)]=function(){const _0x2319a8=_0x5bdce9,_0x2a0b38=VisuMZ[_0x2319a8(0x61c)][_0x2319a8(0x76e)]['BattleLayout'];if(_0x2a0b38[_0x2319a8(0x332)]){const _0x731cb2=new Sprite();_0x731cb2[_0x2319a8(0x454)]=ImageManager['loadSystem'](_0x2a0b38['StatusWindowAttachmentBack']),_0x731cb2['x']=_0x2a0b38[_0x2319a8(0x139)]||0x0,_0x731cb2['y']=_0x2a0b38['StatusWindowAttachmentBackOffsetY']||0x0,this[_0x2319a8(0x475)](_0x731cb2),this['_backAttachmentSprite']=_0x731cb2;}if(_0x2a0b38[_0x2319a8(0x830)]){if(_0x2319a8(0x5a3)===_0x2319a8(0x5a3)){const _0x166351=new Sprite();_0x166351[_0x2319a8(0x454)]=ImageManager[_0x2319a8(0x691)](_0x2a0b38['StatusWindowAttachmentFront']),_0x166351['x']=_0x2a0b38[_0x2319a8(0x584)]||0x0,_0x166351['y']=_0x2a0b38[_0x2319a8(0x500)]||0x0,this[_0x2319a8(0xa8d)](_0x166351),this[_0x2319a8(0xad9)]=_0x166351;}else _0x240821[_0x2319a8(0x61c)]['Scene_Battle_createPartyCommandWindow']['call'](this),this[_0x2319a8(0x9ce)]();}},Window_BattleStatus[_0x5bdce9(0x768)][_0x5bdce9(0x1a5)]=function(){const _0x1cd739=_0x5bdce9;this['_frontAttachmentSprite']&&this[_0x1cd739(0xa8d)](this[_0x1cd739(0xad9)]),this[_0x1cd739(0x66b)]&&this[_0x1cd739(0x475)](this[_0x1cd739(0x66b)]);},Window_BattleActor[_0x5bdce9(0x768)]['isOkEnabled']=function(){const _0x4fde5d=_0x5bdce9;return Window_BattleStatus[_0x4fde5d(0x768)][_0x4fde5d(0x653)][_0x4fde5d(0x4b1)](this)&&this['isActionSelectionValid']();},Window_BattleActor[_0x5bdce9(0x768)][_0x5bdce9(0x10a)]=function(){const _0x530664=_0x5bdce9,_0x404094=BattleManager['inputtingAction'](),_0x30a696=this[_0x530664(0xad6)](this['index']());if(!_0x404094)return!![];if(!_0x404094['item']())return!![];const _0x5d231f=_0x404094[_0x530664(0xa8a)]()[_0x530664(0x664)];if(_0x5d231f['match'](/<CANNOT TARGET (?:USER|SELF)>/i)){if('wrSbl'!=='bOOLy'){if(_0x30a696===BattleManager['actor']())return![];}else{const _0x442b54=this[_0x530664(0x101)](_0x1073e2),_0x372f7e=this['textSizeEx'](_0x3f4e5e)[_0x530664(0x3b2)];return _0x372f7e<=_0x442b54[_0x530664(0x3b2)]?_0x530664(0x5b1):_0x530664(0x98e);}}return!![];},VisuMZ['BattleCore']['Window_BattleEnemy_initialize']=Window_BattleEnemy['prototype'][_0x5bdce9(0x490)],Window_BattleEnemy['prototype']['initialize']=function(_0x3963dd){const _0x171538=_0x5bdce9;this['_lastEnemy']=null,VisuMZ['BattleCore'][_0x171538(0x2d3)][_0x171538(0x4b1)](this,_0x3963dd);},Window_BattleEnemy[_0x5bdce9(0x768)]['maxCols']=function(){const _0x443b70=_0x5bdce9;return this[_0x443b70(0x95a)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x6b9)]=Window_BattleEnemy[_0x5bdce9(0x768)]['show'],Window_BattleEnemy['prototype'][_0x5bdce9(0x243)]=function(){const _0x1270c9=_0x5bdce9;VisuMZ[_0x1270c9(0x61c)][_0x1270c9(0x6b9)][_0x1270c9(0x4b1)](this),this['y']=Graphics['height']*0xa;},Window_BattleEnemy[_0x5bdce9(0x768)][_0x5bdce9(0x28e)]=function(){const _0x44171f=_0x5bdce9;return $gameTroop[_0x44171f(0xed)]()['slice'](0x0);},Window_BattleEnemy['prototype']['refresh']=function(){const _0xf1987a=_0x5bdce9;this['_enemies']=this[_0xf1987a(0x28e)](),this[_0xf1987a(0x9a1)](),Window_Selectable[_0xf1987a(0x768)][_0xf1987a(0xf7)][_0xf1987a(0x4b1)](this);},Window_BattleEnemy[_0x5bdce9(0x768)]['sortEnemies']=function(){const _0x5dedc4=_0x5bdce9;this['_enemies'][_0x5dedc4(0xadb)]((_0x941882,_0x584579)=>{const _0x2248b7=_0x5dedc4;if('jVfWJ'===_0x2248b7(0xa75)){if(_0x941882[_0x2248b7(0xb0d)]()['_baseX']===_0x584579['battler']()['_baseX'])return _0x941882[_0x2248b7(0xb0d)]()['_baseY']-_0x584579['battler']()[_0x2248b7(0x4c9)];else{if(_0x2248b7(0xa66)==='GLVsm')return _0x941882[_0x2248b7(0xb0d)]()[_0x2248b7(0x8f0)]-_0x584579[_0x2248b7(0xb0d)]()['_baseX'];else this[_0x2248b7(0x6b2)]();}}else return this[_0x2248b7(0x29f)]();});if(SceneManager[_0x5dedc4(0x345)]()){if(_0x5dedc4(0x7de)===_0x5dedc4(0x1bc))return this[_0x5dedc4(0x87b)];else this[_0x5dedc4(0xa38)][_0x5dedc4(0x7f6)]();}},Window_BattleEnemy[_0x5bdce9(0x768)][_0x5bdce9(0x741)]=function(){const _0x509cb1=_0x5bdce9,_0x2e293c=VisuMZ['BattleCore']['Settings'][_0x509cb1(0x14a)];_0x2e293c['LastSelected']?this[_0x509cb1(0xd3)]():_0x509cb1(0x8b6)==='YkSMI'?this['autoSelectPriority']():this[_0x509cb1(0x120)](0x0,0x0,0xc);},Window_BattleEnemy[_0x5bdce9(0x768)][_0x5bdce9(0xd3)]=function(){const _0x55b253=_0x5bdce9;if(this[_0x55b253(0x9dc)]&&this[_0x55b253(0xa38)][_0x55b253(0x8ed)](this[_0x55b253(0x9dc)])){if(_0x55b253(0x9b1)==='qDOqr')this[_0x55b253(0x178)](_0x35b18e);else{const _0x2d0566=this[_0x55b253(0xa38)]['indexOf'](this[_0x55b253(0x9dc)]);this[_0x55b253(0x228)](_0x2d0566);}}else this['autoSelectPriority']();},Window_BattleEnemy[_0x5bdce9(0x768)][_0x5bdce9(0xb03)]=function(){const _0x2b6e47=_0x5bdce9,_0x4f8702=VisuMZ[_0x2b6e47(0x61c)][_0x2b6e47(0x76e)]['Enemy'];let _0x3dcb05=![];$gameSystem['isSideView']()?_0x3dcb05=_0x4f8702[_0x2b6e47(0x22a)]:_0x2b6e47(0x348)!==_0x2b6e47(0x348)?this['callNextMethod']():_0x3dcb05=_0x4f8702[_0x2b6e47(0x2fd)],this['forceSelect'](_0x3dcb05?this[_0x2b6e47(0x95a)]()-0x1:0x0);},Window_BattleEnemy[_0x5bdce9(0x768)][_0x5bdce9(0x5a4)]=function(){const _0x21b91b=_0x5bdce9;Window_Selectable[_0x21b91b(0x768)][_0x21b91b(0x5a4)][_0x21b91b(0x4b1)](this),this[_0x21b91b(0x9dc)]=this[_0x21b91b(0x1fc)]();},Window_BattleItem[_0x5bdce9(0x768)]['includes']=function(_0x10bfa9){const _0x2628b6=_0x5bdce9;if(!_0x10bfa9)return![];return _0x10bfa9[_0x2628b6(0x517)]===0x0||_0x10bfa9[_0x2628b6(0x517)]===0x1;};function Window_AutoBattleCancel(){const _0x5babb5=_0x5bdce9;this[_0x5babb5(0x490)](...arguments);}Window_AutoBattleCancel[_0x5bdce9(0x768)]=Object['create'](Window_Base[_0x5bdce9(0x768)]),Window_AutoBattleCancel[_0x5bdce9(0x768)][_0x5bdce9(0x56d)]=Window_AutoBattleCancel,Window_AutoBattleCancel['prototype'][_0x5bdce9(0x490)]=function(_0x3e3215){const _0x2a50bd=_0x5bdce9;Window_Base[_0x2a50bd(0x768)][_0x2a50bd(0x490)][_0x2a50bd(0x4b1)](this,_0x3e3215),this[_0x2a50bd(0xa69)](this[_0x2a50bd(0xa92)]()),this[_0x2a50bd(0xf7)]();},Window_AutoBattleCancel['prototype'][_0x5bdce9(0xa92)]=function(){const _0xa077ea=_0x5bdce9;return VisuMZ[_0xa077ea(0x61c)][_0xa077ea(0x76e)]['AutoBattle'][_0xa077ea(0x4f9)];},Window_AutoBattleCancel['prototype'][_0x5bdce9(0xf7)]=function(){const _0x36f6b4=_0x5bdce9;this['contents']['clear']();const _0x4d1449=VisuMZ[_0x36f6b4(0x61c)][_0x36f6b4(0x76e)][_0x36f6b4(0xa97)]['AutoBattleMsg'],_0x19478d=_0x4d1449['format'](this[_0x36f6b4(0xac1)](),this[_0x36f6b4(0x448)]()),_0x40b20c=this[_0x36f6b4(0xa5d)](_0x19478d)[_0x36f6b4(0x3b2)],_0x4ffcbf=Math[_0x36f6b4(0x618)]((this['innerWidth']-_0x40b20c)/0x2);this[_0x36f6b4(0x723)](_0x19478d,_0x4ffcbf,0x0,_0x40b20c);},Window_AutoBattleCancel[_0x5bdce9(0x768)]['okButtonText']=function(){const _0x4b7f3f=_0x5bdce9;if(Imported[_0x4b7f3f(0x9f2)])return TextManager[_0x4b7f3f(0x67c)]('ok');else{if(_0x4b7f3f(0x959)===_0x4b7f3f(0x81e))this['_customDamageFormula']=_0x1cee3b;else return VisuMZ[_0x4b7f3f(0x61c)]['Settings']['AutoBattle'][_0x4b7f3f(0x990)];}},Window_AutoBattleCancel[_0x5bdce9(0x768)][_0x5bdce9(0x448)]=function(){const _0x2ffa41=_0x5bdce9;if(Imported[_0x2ffa41(0x9f2)]){if(_0x2ffa41(0x9a4)!==_0x2ffa41(0x22d))return TextManager['getInputButtonString'](_0x2ffa41(0x5c1));else{if(!this['_onceParallelInterpreters'])return;for(const _0x257186 of this[_0x2ffa41(0xb6a)]){_0x257186&&_0x257186[_0x2ffa41(0x367)]();}}}else return VisuMZ[_0x2ffa41(0x61c)][_0x2ffa41(0x76e)][_0x2ffa41(0xa97)][_0x2ffa41(0x5b9)];},Window_AutoBattleCancel[_0x5bdce9(0x768)][_0x5bdce9(0x367)]=function(){const _0xa8dc18=_0x5bdce9;Window_Base[_0xa8dc18(0x768)][_0xa8dc18(0x367)][_0xa8dc18(0x4b1)](this),this[_0xa8dc18(0x9d0)](),this['updateCancel']();},Window_AutoBattleCancel['prototype'][_0x5bdce9(0x9d0)]=function(){const _0x259bd0=_0x5bdce9;this[_0x259bd0(0x8e1)]=BattleManager[_0x259bd0(0xb63)];},Window_AutoBattleCancel[_0x5bdce9(0x768)]['updateCancel']=function(){const _0x443085=_0x5bdce9;if(!BattleManager[_0x443085(0xb63)])return;(Input['isTriggered']('ok')||Input[_0x443085(0x5de)]('cancel')||TouchInput[_0x443085(0x1e8)]()||TouchInput[_0x443085(0x7c0)]())&&(SoundManager[_0x443085(0x279)](),BattleManager['_autoBattle']=![],Input[_0x443085(0x89d)](),TouchInput[_0x443085(0x89d)]());};function Window_EnemyName(){this['initialize'](...arguments);}Window_EnemyName[_0x5bdce9(0x768)]=Object[_0x5bdce9(0xdf)](Window_StatusBase[_0x5bdce9(0x768)]),Window_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x56d)]=Window_EnemyName,Window_EnemyName['prototype'][_0x5bdce9(0x490)]=function(_0x181b2f){const _0x504363=_0x5bdce9;this[_0x504363(0x47b)]=_0x181b2f,this[_0x504363(0x6f5)]='';const _0x45dd1c=new Rectangle(0x0,0x0,Graphics[_0x504363(0x7fb)],this[_0x504363(0x429)]()*0x4);Window_StatusBase[_0x504363(0x768)][_0x504363(0x490)][_0x504363(0x4b1)](this,_0x45dd1c),this[_0x504363(0xa69)](0x2),this[_0x504363(0xb29)]=0x0;},Window_EnemyName[_0x5bdce9(0x768)]['updatePadding']=function(){const _0x22b5b2=_0x5bdce9;this[_0x22b5b2(0xaff)]=0x0;},Window_EnemyName[_0x5bdce9(0x768)]['enemy']=function(){const _0xc1f336=_0x5bdce9;return $gameTroop[_0xc1f336(0x2b7)]()[this[_0xc1f336(0x47b)]];},Window_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x367)]=function(){const _0x454990=_0x5bdce9;Window_StatusBase[_0x454990(0x768)][_0x454990(0x367)]['call'](this),this['enemy']()&&this['enemy']()['name']()!==this[_0x454990(0x6f5)]&&(this[_0x454990(0x6f5)]=this[_0x454990(0x1fc)]()[_0x454990(0x74e)](),this[_0x454990(0xf7)]()),this[_0x454990(0x4f8)](),this[_0x454990(0x37f)]();},Window_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x4f8)]=function(){const _0x15736c=_0x5bdce9;if(!this[_0x15736c(0x1fc)]()){if(_0x15736c(0x2fc)==='AdhXf'){if(this['contentsOpacity']>0x0)this[_0x15736c(0xb29)]-=0x10;}else this['_weather'][_0x15736c(0x900)]=_0x412f4a[_0x15736c(0x6f9)](),this[_0x15736c(0xa7b)][_0x15736c(0x64d)]=_0x86e55f[_0x15736c(0xb5a)]();}else{if(this['enemy']()[_0x15736c(0x9a3)]()){if(_0x15736c(0x5b3)!==_0x15736c(0x5b3)){if(this[_0x15736c(0x9ba)]<=0x0)return;if(!this[_0x15736c(0xa9b)])return;const _0x45bcbf=this[_0x15736c(0x9ba)],_0x2b3b91=this[_0x15736c(0xaf4)],_0x59f2ac=this[_0x15736c(0x729)];_0x37cc50[_0x15736c(0x9f2)]?(this[_0x15736c(0x326)]=this[_0x15736c(0x99a)](this[_0x15736c(0x326)],this[_0x15736c(0x4a9)],_0x45bcbf,_0x2b3b91,_0x59f2ac),this[_0x15736c(0x461)]=this[_0x15736c(0x99a)](this['_growY'],this[_0x15736c(0x739)],_0x45bcbf,_0x2b3b91,_0x59f2ac)):(this['_growX']=(this[_0x15736c(0x326)]*(_0x45bcbf-0x1)+this['_targetGrowX'])/_0x45bcbf,this['_growY']=(this[_0x15736c(0x461)]*(_0x45bcbf-0x1)+this[_0x15736c(0x739)])/_0x45bcbf);this['_growDuration']--;if(this['_growDuration']<=0x0)this['onGrowEnd']();}else{if(this['contentsOpacity']>0x0)this['contentsOpacity']-=0x10;}}else{if(SceneManager[_0x15736c(0x352)]['_enemyWindow']&&SceneManager['_scene'][_0x15736c(0x22b)][_0x15736c(0x672)]&&SceneManager[_0x15736c(0x352)][_0x15736c(0x22b)][_0x15736c(0xa38)][_0x15736c(0x8ed)](this['enemy']())){if(this[_0x15736c(0xb29)]<0xff)this[_0x15736c(0xb29)]+=0x10;}else this[_0x15736c(0xb29)]>0x0&&(this['contentsOpacity']-=0x10);}}},Window_EnemyName['prototype'][_0x5bdce9(0x37f)]=function(){const _0x2a8fc6=_0x5bdce9;if(!this[_0x2a8fc6(0x1fc)]())return;SceneManager[_0x2a8fc6(0x345)]()?_0x2a8fc6(0x6d9)===_0x2a8fc6(0x2ff)?this['autoBattleUseSkills']=![]:this['x']=Graphics[_0x2a8fc6(0x7fb)]-this[_0x2a8fc6(0x1fc)]()[_0x2a8fc6(0xb0d)]()[_0x2a8fc6(0x8f0)]:_0x2a8fc6(0x560)!==_0x2a8fc6(0x7dc)?this['x']=this[_0x2a8fc6(0x1fc)]()[_0x2a8fc6(0xb0d)]()[_0x2a8fc6(0x8f0)]:_0xdabf76+=_0x496718;this['x']-=Math['round'](this['width']/0x2),this['y']=this[_0x2a8fc6(0x1fc)]()['battler']()[_0x2a8fc6(0x4c9)]-Math[_0x2a8fc6(0xb3f)](this['lineHeight']()*1.5);const _0x2a1c76=VisuMZ[_0x2a8fc6(0x61c)][_0x2a8fc6(0x76e)][_0x2a8fc6(0x14a)];this['x']+=_0x2a1c76['NameOffsetX']||0x0,this['y']+=_0x2a1c76[_0x2a8fc6(0xa8b)]||0x0;},Window_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x689)]=function(){const _0x2ec0af=_0x5bdce9;Window_Base[_0x2ec0af(0x768)]['resetFontSettings'][_0x2ec0af(0x4b1)](this),this[_0x2ec0af(0xb32)]['fontSize']=VisuMZ[_0x2ec0af(0x61c)][_0x2ec0af(0x76e)][_0x2ec0af(0x14a)][_0x2ec0af(0x760)];},Window_EnemyName['prototype']['refresh']=function(){const _0x1de456=_0x5bdce9;Window_StatusBase['prototype']['refresh']['call'](this),this['contents']['clear']();if(!this['enemy']())return;this[_0x1de456(0x1ad)]();},Window_EnemyName[_0x5bdce9(0x768)][_0x5bdce9(0x1ad)]=function(){const _0xbb44c1=_0x5bdce9;this[_0xbb44c1(0x6f5)]=this[_0xbb44c1(0x1fc)]()[_0xbb44c1(0x74e)]();const _0x4d23aa=this[_0xbb44c1(0xa5d)](this[_0xbb44c1(0x6f5)])[_0xbb44c1(0x3b2)],_0x32df94=Math[_0xbb44c1(0xb3f)]((this[_0xbb44c1(0x1fb)]-_0x4d23aa)/0x2);this['drawTextEx'](this['_text'],_0x32df94,0x0,_0x4d23aa+0x8);},Window_BattleLog['prototype'][_0x5bdce9(0x574)]=function(){const _0x524dba=_0x5bdce9;return VisuMZ[_0x524dba(0x61c)][_0x524dba(0x76e)][_0x524dba(0x2c4)][_0x524dba(0x93c)];},Window_BattleLog['prototype'][_0x5bdce9(0x94b)]=function(){const _0x2f3579=_0x5bdce9;return VisuMZ['BattleCore'][_0x2f3579(0x76e)][_0x2f3579(0x2c4)]['MessageWait'];},Window_BattleLog[_0x5bdce9(0x768)]['backColor']=function(){const _0x518a79=_0x5bdce9;return VisuMZ[_0x518a79(0x61c)][_0x518a79(0x76e)][_0x518a79(0x2c4)][_0x518a79(0xb44)];},Window_BattleLog['prototype'][_0x5bdce9(0xb61)]=function(){return![];},Window_BattleLog[_0x5bdce9(0x768)]['actionEffect']=function(_0x296959,_0x1c66b5){const _0x60bc60=_0x5bdce9;this[_0x60bc60(0x1d2)]('actionSplicePoint'),BattleManager[_0x60bc60(0x8cd)](_0x296959,_0x1c66b5),this[_0x60bc60(0x670)]();},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x753)]=function(){const _0x3ba24c=_0x5bdce9;this[_0x3ba24c(0x670)]();},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x838)]=function(_0x7530c2){const _0x430321=_0x5bdce9,_0x58851a=Array['prototype']['slice'][_0x430321(0x4b1)](arguments,0x1),_0x834f3b={'name':_0x7530c2,'params':_0x58851a},_0x56e6bc=this[_0x430321(0xa2b)]['map'](_0x28ba98=>_0x28ba98[_0x430321(0x74e)])[_0x430321(0x977)]('actionSplicePoint');if(_0x56e6bc>=0x0){if(_0x430321(0x4a3)===_0x430321(0x7c5)){const _0x4122fa=_0x400313[_0x49f5bd];if(!_0x4122fa)return'';let _0x5913e6='';_0x5913e6+=_0x4122fa['name'];for(const _0x50e30f of _0x4122fa[_0x430321(0x4b9)]){for(const _0xea89c5 of _0x50e30f[_0x430321(0x3cd)]){[0x6c,0x198]['includes'](_0xea89c5[_0x430321(0xabe)])&&(_0x5913e6+='\x0a',_0x5913e6+=_0xea89c5['parameters'][0x0]);}}return _0x5913e6;}else this[_0x430321(0xa2b)][_0x430321(0x532)](_0x56e6bc,0x0,_0x834f3b);}else{if('GZUrh'!==_0x430321(0x246))return!this[_0x430321(0x581)]()&&!this[_0x430321(0x63b)]();else this[_0x430321(0xa2b)]['push'](_0x834f3b);}},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x1d2)]=function(_0x469469){const _0x3c53a1=_0x5bdce9,_0x3d26a4=Array[_0x3c53a1(0x768)][_0x3c53a1(0x2ca)][_0x3c53a1(0x4b1)](arguments,0x1);this[_0x3c53a1(0xa2b)]['unshift']({'name':_0x469469,'params':_0x3d26a4});},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x105)]=function(){const _0x358f7c=_0x5bdce9;if(!$gameTemp[_0x358f7c(0x466)]())return;console['log'](this[_0x358f7c(0xa2b)][_0x358f7c(0x782)](_0x114425=>_0x114425[_0x358f7c(0x74e)])[_0x358f7c(0x9be)]('\x0a'));},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x681)]=Window_BattleLog['prototype'][_0x5bdce9(0xf7)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xf7)]=function(){const _0x5eda46=_0x5bdce9;this[_0x5eda46(0x764)]=!![];},VisuMZ[_0x5bdce9(0x61c)]['Window_BattleLog_update']=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x367)],Window_BattleLog[_0x5bdce9(0x768)]['update']=function(){const _0x227262=_0x5bdce9;VisuMZ[_0x227262(0x61c)][_0x227262(0x616)][_0x227262(0x4b1)](this);if(this[_0x227262(0x764)])this[_0x227262(0xb1b)]();},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xb1b)]=function(){const _0x3f4ad4=_0x5bdce9;this[_0x3f4ad4(0x764)]=![],VisuMZ[_0x3f4ad4(0x61c)][_0x3f4ad4(0x681)]['call'](this);},Window_BattleLog['prototype'][_0x5bdce9(0x834)]=function(_0x2d62b5){const _0x1162c5=_0x5bdce9;let _0x38e396=VisuMZ[_0x1162c5(0x61c)][_0x1162c5(0x76e)][_0x1162c5(0x2c4)]['TextAlign'][_0x1162c5(0x63a)]()[_0x1162c5(0x92d)](),_0x1ca21b=this[_0x1162c5(0x4df)][_0x2d62b5];if(_0x1ca21b[_0x1162c5(0x16b)](/<LEFT>/i)){if(_0x1162c5(0x92f)===_0x1162c5(0x92f))_0x38e396=_0x1162c5(0x110);else{if(!_0x466e93[_0x1162c5(0x5ea)]())return;_0x75d2fb[_0x1162c5(0x866)](_0x2e63f6,_0x34c583);const _0x453c68=_0xf33cca[_0x1162c5(0xb48)](),_0xf21030=_0x35e022[_0x1162c5(0x5ae)],_0x39557e=_0x427f68[_0x1162c5(0xb40)],_0x5db700=_0x1c1e91[_0x1162c5(0x8be)]?_0x4d3ff6['_allTargets']['slice'](0x0):[],_0x110cef=_0x1ab17a[_0x1162c5(0x5c4)];if(!_0x453c68||!_0xf21030||!_0x39557e)return;if(!_0xf21030['item']())return;if(_0xeadcbe['ApplyImmortal'])_0x110cef[_0x1162c5(0x838)](_0x1162c5(0x351),_0x39557e,_0x5db700,![]);if(_0x3ffc75[_0x1162c5(0x738)])_0x110cef['push'](_0x1162c5(0x718));if(_0x5059f7[_0x1162c5(0x95f)])_0x110cef[_0x1162c5(0x838)](_0x1162c5(0x4b3));if(_0x18a433[_0x1162c5(0x917)])_0x110cef[_0x1162c5(0x838)](_0x1162c5(0x89d));if(_0x30ce80[_0x1162c5(0x22c)])_0x110cef[_0x1162c5(0x838)](_0x1162c5(0x154),_0x39557e);if(_0x62c893[_0x1162c5(0x201)])_0x110cef['push'](_0x1162c5(0x3ba));_0x453c68[_0x1162c5(0x73c)](_0x1162c5(0x3cb));}}else{if(_0x1ca21b[_0x1162c5(0x16b)](/<CENTER>/i))'OBamC'!=='OBamC'?this[_0x1162c5(0xa8d)](this[_0x1162c5(0x922)]):_0x38e396=_0x1162c5(0x4ed);else{if(_0x1ca21b[_0x1162c5(0x16b)](/<RIGHT>/i)){if(_0x1162c5(0xa6c)===_0x1162c5(0xa6c))_0x38e396=_0x1162c5(0x994);else{const _0x5b585a=_0xbcc6e9[_0x1162c5(0x294)](this[_0x1162c5(0x1f6)]),_0x491c11=_0x451b3f['DamageStyles'][_0x5b585a];if(!_0x491c11)return this['getItemDamageAmountTextOriginal']();return _0x491c11[_0x1162c5(0x26f)][_0x1162c5(0x4b1)](this);}}}}_0x1ca21b=_0x1ca21b[_0x1162c5(0x3a7)](/<(?:LEFT|CENTER|RIGHT)>/gi,''),_0x1ca21b=_0x1ca21b[_0x1162c5(0x3a7)](/\\I\[0\]/gi,'');const _0x5010b3=this[_0x1162c5(0x24e)](_0x2d62b5);this[_0x1162c5(0xb32)][_0x1162c5(0x792)](_0x5010b3['x'],_0x5010b3['y'],_0x5010b3[_0x1162c5(0x3b2)],_0x5010b3[_0x1162c5(0x3b0)]);const _0x33c072=this['textSizeEx'](_0x1ca21b)[_0x1162c5(0x3b2)];let _0x5ee2c9=_0x5010b3['x'];if(_0x38e396===_0x1162c5(0x4ed)){if(_0x1162c5(0x54a)!==_0x1162c5(0x13f))_0x5ee2c9+=(_0x5010b3[_0x1162c5(0x3b2)]-_0x33c072)/0x2;else{const _0x43b861=_0xafd546[_0x1162c5(0x31e)](_0x3915ce['$1']);this[_0x1162c5(0x4ad)](_0x43b861);}}else{if(_0x38e396===_0x1162c5(0x994)){if(_0x1162c5(0x5ac)!==_0x1162c5(0x5ac)){const _0x43add0=_0x16a694[_0x2c9b6c];_0x43add0?this[_0x1162c5(0x5aa)](_0x43add0['list'],0x0):this['terminate']();}else _0x5ee2c9+=_0x5010b3['width']-_0x33c072;}}this[_0x1162c5(0x723)](_0x1ca21b,_0x5ee2c9,_0x5010b3['y'],_0x33c072+0x8);},Window_BattleLog[_0x5bdce9(0x768)]['addText']=function(_0x41bb69){const _0x537f88=_0x5bdce9;this[_0x537f88(0x4df)][_0x537f88(0x838)](_0x41bb69),this[_0x537f88(0xf7)](),this[_0x537f88(0x670)]();},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x5e9)]=function(){const _0x805ff2=_0x5bdce9;let _0xc820b3=![];switch(this[_0x805ff2(0x29a)]){case _0x805ff2(0x579):_0xc820b3=this['_spriteset'][_0x805ff2(0xa93)]();break;case _0x805ff2(0xb4e):_0xc820b3=this[_0x805ff2(0x25a)][_0x805ff2(0x12a)]();break;case'animation':_0xc820b3=this['_spriteset'][_0x805ff2(0x660)]();break;case _0x805ff2(0xb1d):_0xc820b3=this[_0x805ff2(0x25a)][_0x805ff2(0x15d)]();break;case _0x805ff2(0x79f):_0xc820b3=this[_0x805ff2(0x25a)][_0x805ff2(0x935)]();break;case _0x805ff2(0x867):_0xc820b3=this[_0x805ff2(0x25a)]['isAnyoneChangingOpacity']();break;}return!_0xc820b3&&(this[_0x805ff2(0x29a)]=''),_0xc820b3;},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x7a9)]=function(){const _0x5d242c=_0x5bdce9;this[_0x5d242c(0x73c)]('animation');},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x4dd)]=function(){const _0x5a4029=_0x5bdce9;this[_0x5a4029(0x73c)](_0x5a4029(0xb1d));},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xa86)]=function(){const _0x5abd02=_0x5bdce9;this[_0x5abd02(0x73c)]('jump');},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x595)]=function(){const _0x36ad80=_0x5bdce9;this[_0x36ad80(0x73c)](_0x36ad80(0x867));},Window_BattleLog['prototype'][_0x5bdce9(0x61b)]=function(){const _0x2eeb9f=_0x5bdce9,_0x5185b3=VisuMZ[_0x2eeb9f(0x61c)][_0x2eeb9f(0x76e)][_0x2eeb9f(0x2c4)];if(!_0x5185b3['StartTurnShow'])return;this[_0x2eeb9f(0x838)](_0x2eeb9f(0xa19),_0x5185b3[_0x2eeb9f(0x804)][_0x2eeb9f(0x824)]($gameTroop[_0x2eeb9f(0x7a0)]())),this['push'](_0x2eeb9f(0x458),_0x5185b3[_0x2eeb9f(0xac5)]),this[_0x2eeb9f(0x838)](_0x2eeb9f(0x89d));},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x63f)]=function(_0xc1338c,_0x4c0fc8,_0x2988d9){const _0x401905=_0x5bdce9;if(this[_0x401905(0x498)](_0x4c0fc8)){if(_0x401905(0x954)!=='ugjXn')BattleManager[_0x401905(0x2a0)]();else return![];}else{if('LkHuK'===_0x401905(0x93f))this[_0x401905(0xd2)](_0xc1338c,_0x4c0fc8,_0x2988d9);else return _0x1419f7[_0x401905(0x168)];}},Window_BattleLog[_0x5bdce9(0x768)]['isCustomActionSequence']=function(_0x33a5ff){const _0x3b6f5d=_0x5bdce9;if(!SceneManager['isSceneBattle']())return![];if(!_0x33a5ff)return![];if(!_0x33a5ff[_0x3b6f5d(0xa8a)]())return![];if(_0x33a5ff[_0x3b6f5d(0xa8a)]()[_0x3b6f5d(0x664)][_0x3b6f5d(0x16b)](/<CUSTOM ACTION SEQUENCE>/i))return!![];if(DataManager[_0x3b6f5d(0x91f)](_0x33a5ff['item']()))return!![];return![];},Window_BattleLog['prototype'][_0x5bdce9(0xd2)]=function(_0x2ed615,_0xc81fa3,_0x427565){const _0x26f900=_0x5bdce9,_0x20a423=_0xc81fa3[_0x26f900(0xa8a)]();this[_0x26f900(0x563)](_0x2ed615,_0xc81fa3,_0x427565),this[_0x26f900(0x2ba)](_0x2ed615,_0xc81fa3,_0x427565),this[_0x26f900(0x8c7)](_0x2ed615,_0xc81fa3,_0x427565);},Window_BattleLog['prototype'][_0x5bdce9(0x278)]=function(_0x4ad362,_0x4fbe02){const _0x9086a8=_0x5bdce9,_0x4632a5=VisuMZ[_0x9086a8(0x61c)][_0x9086a8(0x76e)]['BattleLog'];_0x4632a5[_0x9086a8(0xa20)]&&this[_0x9086a8(0x838)]('addText',_0x9086a8(0xa1d)[_0x9086a8(0x824)](DataManager[_0x9086a8(0x416)](_0x4fbe02)));if(DataManager[_0x9086a8(0x7c3)](_0x4fbe02)){if('kHBrz'==='mcYdj')_0x249eee[_0x9086a8(0x514)]()&&_0x1202bb[_0x9086a8(0x491)]()&&this[_0x9086a8(0x838)](_0x9086a8(0x96e),_0x5c241e,_0x5cf0c3),this[_0x9086a8(0x329)](_0x82b7a2,_0x160386,_0x41f611);else{if(_0x4632a5['ActionSkillMsg1'])this[_0x9086a8(0x25d)](_0x4fbe02[_0x9086a8(0x8b4)],_0x4ad362,_0x4fbe02);if(_0x4632a5['ActionSkillMsg2'])this[_0x9086a8(0x25d)](_0x4fbe02['message2'],_0x4ad362,_0x4fbe02);}}else{if(_0x4632a5[_0x9086a8(0x161)])this[_0x9086a8(0x25d)](TextManager[_0x9086a8(0x4d5)],_0x4ad362,_0x4fbe02);}},Window_BattleLog[_0x5bdce9(0x768)]['setupActionSet']=function(_0x3d49be,_0x5a96a8,_0x49e2e4){const _0x910e3d=_0x5bdce9,_0x1e1192=_0x5a96a8[_0x910e3d(0xa8a)]();this['displayAction'](_0x3d49be,_0x1e1192),this[_0x910e3d(0x838)](_0x910e3d(0x351),_0x3d49be,_0x49e2e4,!![]),this[_0x910e3d(0x838)]('performActionStart',_0x3d49be,_0x5a96a8),this['push']('waitForMovement'),this[_0x910e3d(0x838)](_0x910e3d(0x70c),_0x3d49be,_0x5a96a8),this[_0x910e3d(0x838)](_0x910e3d(0x7a9));},Window_BattleLog[_0x5bdce9(0x768)]['createEffectActionSet']=function(_0x344b8e,_0x8b0c23,_0x1bdf9b){const _0x159be1=_0x5bdce9;if(this['isMeleeSingleTargetAction'](_0x8b0c23)){if(_0x159be1(0x709)!=='wnvbl')this[_0x159be1(0xa53)](_0x344b8e,_0x8b0c23,_0x1bdf9b);else{this['bitmap'][_0x159be1(0x89d)]();const _0x20a683=this['currentValue']();!_0x1ed2ee(_0x20a683)&&this[_0x159be1(0x165)]();}}else{if(this[_0x159be1(0x688)](_0x8b0c23)){if('KmzPb'!==_0x159be1(0x66c))this['autoMeleeMultiTargetActionSet'](_0x344b8e,_0x8b0c23,_0x1bdf9b);else{const _0x4bbb29=this[_0x159be1(0x865)](),_0x22f4d1=_0x15c972['BattleCore'][_0x159be1(0x76e)][_0x159be1(0x71c)][_0x159be1(0x558)],_0x312b8f=_0x4bbb29==='text'?_0x2939b0[_0x159be1(0xa63)]:_0x159be1(0x5a6)[_0x159be1(0x824)](_0x22f4d1,_0x29428f['autoBattle']),_0x4b3ea9=this[_0x159be1(0xa06)]();this[_0x159be1(0x97b)](_0x312b8f,'autoBattle',_0x4b3ea9);}}else _0x8b0c23[_0x159be1(0x642)]()?this['targetActionSet'](_0x344b8e,_0x8b0c23,_0x1bdf9b):_0x159be1(0x95d)!==_0x159be1(0x95d)?(_0x412a23[_0x159be1(0x61c)][_0x159be1(0x5dc)][_0x159be1(0x4b1)](this,_0x1a863f,_0x1cb646),this[_0x159be1(0x670)]()):this[_0x159be1(0x329)](_0x344b8e,_0x8b0c23,_0x1bdf9b);}},Window_BattleLog['prototype'][_0x5bdce9(0x426)]=function(_0x5b41a8){const _0x346313=_0x5bdce9;if(!_0x5b41a8[_0x346313(0x5c8)]())return![];if(!_0x5b41a8[_0x346313(0xa61)]())return![];if(!_0x5b41a8[_0x346313(0xb74)]())return![];return VisuMZ[_0x346313(0x61c)]['Settings']['ActionSequence'][_0x346313(0x705)];},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xa53)]=function(_0x4be7f6,_0x158c9a,_0x59f804){const _0x3afb99=_0x5bdce9,_0x263186=_0x4be7f6['getAttackMotion']()[_0x3afb99(0x900)]<0x2,_0x76582d=0x14,_0x2276ba=0x30;if(_0x263186){if('ErzPu'!==_0x3afb99(0x207))return _0x499219[_0x3afb99(0x61c)]['Game_Action_isForOpponent']['call'](this);else this[_0x3afb99(0x838)](_0x3afb99(0x4de),[_0x4be7f6],_0x2276ba,_0x76582d),this[_0x3afb99(0x838)](_0x3afb99(0x633),_0x4be7f6,_0x59f804,_0x3afb99(0x30d),_0x76582d,!![],_0x3afb99(0x32d),!![]),this['push'](_0x3afb99(0x319),[_0x4be7f6],_0x3afb99(0x6c4)),this[_0x3afb99(0x838)](_0x3afb99(0x3ba));}let _0x153e13=_0x158c9a[_0x3afb99(0x514)]()?this[_0x3afb99(0xb4c)](_0x4be7f6):0x1;for(let _0x59f8b5=0x0;_0x59f8b5<_0x153e13;_0x59f8b5++){if(_0x3afb99(0xa24)!==_0x3afb99(0xa24))this['_effectsContainer']&&this[_0x3afb99(0xa8d)](this[_0x3afb99(0x122)]);else{if(_0x158c9a[_0x3afb99(0x514)]()&&_0x4be7f6[_0x3afb99(0x491)]()){if(_0x3afb99(0x164)==='pJaXE')this[_0x3afb99(0x838)]('setActiveWeaponSet',_0x4be7f6,_0x59f8b5);else{if(!_0x1595dd)return;if(!this[_0x3afb99(0xb46)](_0x149141))return;const _0x13f383=this[_0x3afb99(0x865)](),_0x386962=_0x532e78[_0x3afb99(0x70f)](_0x8c19e3),_0x4ea468=_0xef35ad[_0x3afb99(0x8a1)](_0x4bac1f),_0x40941c=_0x13f383===_0x3afb99(0x160)?_0x386962:'\x5cI[%1]%2'['format'](_0x4ea468,_0x386962),_0x598150=this[_0x3afb99(0xa72)][_0x3afb99(0x571)](_0x54ea6c);this[_0x3afb99(0x97b)](_0x40941c,'singleSkill',_0x598150,_0x1970f2['id']);}}if(_0x158c9a[_0x3afb99(0xa8a)]()[_0x3afb99(0x6e3)]<0x0)this[_0x3afb99(0x51e)](_0x4be7f6,_0x158c9a,_0x59f804);else{if(_0x3afb99(0x2dd)===_0x3afb99(0xac8)){const _0x15e438=_0x4bb7af[_0x3afb99(0x294)](this[_0x3afb99(0x1f6)]),_0x49e3be=_0x2798fe[_0x3afb99(0xb78)][_0x15e438];if(!_0x49e3be)return this[_0x3afb99(0xb0f)]();const _0x4a22a3='DamageType%1'['format'](this['_item']['damage']['type']),_0x13849a=[null,_0x354a67['hp'],_0x28ad8c['mp'],_0x443223['hp'],_0x101891['mp'],_0x242280['hp'],_0x5a500b['mp']][this['_item']['damage']['type']];return _0x49e3be[_0x4a22a3][_0x3afb99(0x824)](_0x13849a);}else this['wholeActionSet'](_0x4be7f6,_0x158c9a,_0x59f804);}}}if(_0x158c9a[_0x3afb99(0x514)]()&&_0x4be7f6[_0x3afb99(0x491)]()){if(_0x3afb99(0x93d)==='fjErr'){if(!_0x41b3d3[_0x3afb99(0x5ea)]())return;const _0x2852a0=_0x5adc02[_0x3afb99(0xb48)]();if(!_0x2852a0)return;_0x2852a0['setWaitMode'](_0x3afb99(0x286));}else this['push'](_0x3afb99(0x496),_0x4be7f6);}this[_0x3afb99(0x838)](_0x3afb99(0x351),_0x4be7f6,_0x59f804,![]);if(_0x263186){const _0x119936=_0x4be7f6[_0x3afb99(0xb0d)]();this[_0x3afb99(0x838)](_0x3afb99(0x4de),[_0x4be7f6],_0x2276ba,_0x76582d),this[_0x3afb99(0x838)](_0x3afb99(0x6d2),_0x4be7f6,_0x119936[_0x3afb99(0x666)],_0x119936[_0x3afb99(0x51a)],_0x76582d,![],_0x3afb99(0x32d)),this[_0x3afb99(0x838)](_0x3afb99(0x319),[_0x4be7f6],'evade'),this['push']('waitForMovement'),this[_0x3afb99(0x838)]('requestMotion',[_0x4be7f6],_0x3afb99(0x6c4));}},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x688)]=function(_0x5a1ff1){const _0x19adde=_0x5bdce9;if(!_0x5a1ff1[_0x19adde(0x5c8)]())return![];if(!_0x5a1ff1[_0x19adde(0x588)]())return![];if(!_0x5a1ff1['isForOpponent']())return![];return VisuMZ['BattleCore'][_0x19adde(0x76e)]['ActionSequence'][_0x19adde(0xb76)];},Window_BattleLog[_0x5bdce9(0x768)]['autoMeleeMultiTargetActionSet']=function(_0x13a2a3,_0x55906d,_0x166dea){const _0x418eab=_0x5bdce9,_0x2ccdd2=_0x13a2a3[_0x418eab(0xacd)]()[_0x418eab(0x900)]<0x2,_0x4a27bc=0x14,_0x5100d3=0x30;if(_0x2ccdd2){if(_0x418eab(0x8ea)!==_0x418eab(0x8ea)){_0x2f5471[_0x418eab(0x61c)][_0x418eab(0x4b2)][_0x418eab(0x4b1)](this,_0x56f366),this[_0x418eab(0x7b6)](),this['setupBattleCoreData']();const _0xd37785=this[_0x418eab(0xb0d)]();if(_0xd37785)_0xd37785[_0x418eab(0x23d)](this);}else this[_0x418eab(0x838)]('performJump',[_0x13a2a3],_0x5100d3,_0x4a27bc),this[_0x418eab(0x838)](_0x418eab(0x633),_0x13a2a3,_0x166dea,_0x418eab(0x70a),_0x4a27bc,!![],'Linear',!![]),this[_0x418eab(0x838)](_0x418eab(0x319),[_0x13a2a3],_0x418eab(0x6c4)),this[_0x418eab(0x838)](_0x418eab(0x3ba));}let _0x51a673=_0x55906d['isAttack']()?this[_0x418eab(0xb4c)](_0x13a2a3):0x1;for(let _0x4808db=0x0;_0x4808db<_0x51a673;_0x4808db++){if(_0x418eab(0xaca)!==_0x418eab(0x330))_0x55906d[_0x418eab(0x514)]()&&_0x13a2a3[_0x418eab(0x491)]()&&this[_0x418eab(0x838)]('setActiveWeaponSet',_0x13a2a3,_0x4808db),this[_0x418eab(0x329)](_0x13a2a3,_0x55906d,_0x166dea);else return _0x5e820d[_0x418eab(0x61c)][_0x418eab(0x76e)]['BattleLog'][_0x418eab(0xb44)];}_0x55906d['isAttack']()&&_0x13a2a3[_0x418eab(0x491)]()&&this[_0x418eab(0x838)]('clearActiveWeaponSet',_0x13a2a3);this[_0x418eab(0x838)]('applyImmortal',_0x13a2a3,_0x166dea,![]);if(_0x2ccdd2){if(_0x418eab(0x823)===_0x418eab(0x512))this['addSkillTypeCommand'](_0x866c03);else{const _0x16294c=_0x13a2a3['battler']();this['push'](_0x418eab(0x4de),[_0x13a2a3],_0x5100d3,_0x4a27bc),this['push'](_0x418eab(0x6d2),_0x13a2a3,_0x16294c[_0x418eab(0x666)],_0x16294c[_0x418eab(0x51a)],_0x4a27bc,![],_0x418eab(0x32d)),this[_0x418eab(0x838)]('requestMotion',[_0x13a2a3],_0x418eab(0x545)),this[_0x418eab(0x838)]('waitForMovement'),this[_0x418eab(0x838)]('requestMotion',[_0x13a2a3],_0x418eab(0x6c4));}}},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x51e)]=function(_0x376f5d,_0x1c7ab8,_0x2ac8d1){const _0x337ce7=_0x5bdce9,_0x1623a2=_0x1c7ab8[_0x337ce7(0xa8a)]();for(const _0xd26cc0 of _0x2ac8d1){if(_0x337ce7(0x2cb)===_0x337ce7(0x2cb)){if(!_0xd26cc0)continue;this[_0x337ce7(0x838)](_0x337ce7(0x23a),_0x376f5d,_0x1c7ab8),this[_0x337ce7(0x838)](_0x337ce7(0x458),Sprite_Battler['_motionSpeed']),this[_0x337ce7(0x838)]('showAnimation',_0x376f5d,[_0xd26cc0],_0x1623a2[_0x337ce7(0x6e3)]),this['push'](_0x337ce7(0x458),0x18),this[_0x337ce7(0x838)](_0x337ce7(0x1b9),_0x376f5d,_0xd26cc0);}else _0xeaf809=this[_0x337ce7(0x41a)]['battleback1Name'](),_0x2fbc96=this[_0x337ce7(0x2b4)]['battleback2Name']();}},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x329)]=function(_0x3db1fe,_0x1e5e86,_0x42408f){const _0x32b052=_0x5bdce9,_0x47620f=_0x1e5e86['item']();this['push'](_0x32b052(0x23a),_0x3db1fe,_0x1e5e86),this[_0x32b052(0x838)](_0x32b052(0x458),Sprite_Battler[_0x32b052(0x2cf)]),this[_0x32b052(0x838)]('showAnimation',_0x3db1fe,_0x42408f[_0x32b052(0x991)](),_0x47620f['animationId']),this['push'](_0x32b052(0x7a9));for(const _0x498135 of _0x42408f){if(_0x32b052(0x7fd)!==_0x32b052(0x2f8)){if(!_0x498135)continue;this[_0x32b052(0x838)](_0x32b052(0x1b9),_0x3db1fe,_0x498135);}else{if(!_0x27b9f8[_0x32b052(0x5ea)]())return;if(!this[_0x32b052(0x43f)])this[_0x32b052(0x403)]();this[_0x32b052(0x51d)]();const _0x3c8c4=this['battler']();if(_0x3c8c4)_0x3c8c4['setupDamagePopup']();}}},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x8c7)]=function(_0x11de5a,_0x257a47,_0x49b8d5){const _0x57f063=_0x5bdce9,_0x34badb=_0x257a47[_0x57f063(0xa8a)]();this[_0x57f063(0x838)](_0x57f063(0x351),_0x11de5a,_0x49b8d5,![]),this[_0x57f063(0x838)]('waitForNewLine'),this['push'](_0x57f063(0x4b3)),this[_0x57f063(0x838)](_0x57f063(0x89d)),this[_0x57f063(0x838)](_0x57f063(0x154),_0x11de5a),this['push'](_0x57f063(0x3ba));},Window_BattleLog['prototype'][_0x5bdce9(0x3b1)]=function(_0x4ab922){},VisuMZ['BattleCore']['Window_BattleLog_displayCurrentState']=Window_BattleLog[_0x5bdce9(0x768)]['displayCurrentState'],Window_BattleLog[_0x5bdce9(0x768)]['displayCurrentState']=function(_0x1b3050){const _0x562813=_0x5bdce9;if(!VisuMZ['BattleCore']['Settings'][_0x562813(0x2c4)][_0x562813(0x600)])return;VisuMZ[_0x562813(0x61c)][_0x562813(0x9ca)][_0x562813(0x4b1)](this,_0x1b3050);},Window_BattleLog['prototype'][_0x5bdce9(0x7af)]=function(_0x30e638){const _0x4ef44a=_0x5bdce9;this[_0x4ef44a(0x838)]('performCounter',_0x30e638);if(VisuMZ['BattleCore'][_0x4ef44a(0x76e)][_0x4ef44a(0x964)]['CounterPlayback']){if(_0x4ef44a(0x6a2)!==_0x4ef44a(0x6a2)){const _0x221bd1=this[_0x4ef44a(0x870)]();this[_0x4ef44a(0x2d6)](_0x221bd1);}else this[_0x4ef44a(0x838)](_0x4ef44a(0x849),_0x30e638,[BattleManager[_0x4ef44a(0xb40)]],-0x1);}if(!VisuMZ[_0x4ef44a(0x61c)][_0x4ef44a(0x76e)][_0x4ef44a(0x2c4)][_0x4ef44a(0x6b6)])return;this[_0x4ef44a(0x838)](_0x4ef44a(0xa19),TextManager['counterAttack'][_0x4ef44a(0x824)](_0x30e638[_0x4ef44a(0x74e)]()));},Window_BattleLog[_0x5bdce9(0x768)]['displayReflection']=function(_0x318e35){const _0x53024c=_0x5bdce9;this[_0x53024c(0x838)](_0x53024c(0x8a3),_0x318e35);if(!VisuMZ[_0x53024c(0x61c)][_0x53024c(0x76e)][_0x53024c(0x2c4)]['ShowReflect'])return;this[_0x53024c(0x838)](_0x53024c(0xa19),TextManager[_0x53024c(0x249)]['format'](_0x318e35[_0x53024c(0x74e)]()));},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x147)]=function(_0x4af41c,_0x366cec){const _0x4562f7=_0x5bdce9;if(VisuMZ[_0x4562f7(0x61c)][_0x4562f7(0x76e)][_0x4562f7(0x964)]['ReflectPlayback']){const _0x52e0ef=_0x366cec[_0x4562f7(0xa8a)]();this['push']('showAnimation',_0x4af41c,[_0x4af41c],_0x52e0ef['animationId']);}},Window_BattleLog['prototype'][_0x5bdce9(0x903)]=function(_0x379eca,_0x20a42e){const _0x1d73d6=_0x5bdce9;this['push'](_0x1d73d6(0xaeb),_0x379eca,_0x20a42e);if(!VisuMZ['BattleCore'][_0x1d73d6(0x76e)][_0x1d73d6(0x2c4)][_0x1d73d6(0x9c3)])return;const _0x44a783=_0x379eca[_0x1d73d6(0x74e)](),_0x270031=TextManager['substitute'][_0x1d73d6(0x824)](_0x44a783,_0x20a42e[_0x1d73d6(0x74e)]());this[_0x1d73d6(0x838)](_0x1d73d6(0xa19),_0x270031);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xde)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x594)],Window_BattleLog[_0x5bdce9(0x768)]['displayActionResults']=function(_0x37eb99,_0x5eccc3){const _0x26fee1=_0x5bdce9;VisuMZ[_0x26fee1(0x61c)][_0x26fee1(0xde)]['call'](this,_0x37eb99,_0x5eccc3);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xacb)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x636)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x636)]=function(_0x55c411){const _0x5efd8c=_0x5bdce9;if(!VisuMZ[_0x5efd8c(0x61c)]['Settings'][_0x5efd8c(0x2c4)][_0x5efd8c(0xa7c)])return;VisuMZ[_0x5efd8c(0x61c)][_0x5efd8c(0xacb)]['call'](this,_0x55c411);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x889)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x639)],Window_BattleLog['prototype'][_0x5bdce9(0x639)]=function(_0x35cf82){const _0x4d3a85=_0x5bdce9;if(!VisuMZ[_0x4d3a85(0x61c)][_0x4d3a85(0x76e)]['BattleLog'][_0x4d3a85(0xafb)])return;VisuMZ['BattleCore'][_0x4d3a85(0x889)][_0x4d3a85(0x4b1)](this,_0x35cf82);},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x32c)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xb22)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xb22)]=function(_0x4c74aa){const _0x35f57e=_0x5bdce9;!VisuMZ[_0x35f57e(0x61c)][_0x35f57e(0x76e)][_0x35f57e(0x2c4)][_0x35f57e(0x4a4)]?_0x35f57e(0x166)!==_0x35f57e(0x59a)?this[_0x35f57e(0x838)]('performMiss',_0x4c74aa):_0x23ace[_0x35f57e(0x29b)]([_0x5a5ff4]):VisuMZ['BattleCore'][_0x35f57e(0x32c)][_0x35f57e(0x4b1)](this,_0x4c74aa);},VisuMZ['BattleCore'][_0x5bdce9(0x4bf)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xb33)],Window_BattleLog['prototype'][_0x5bdce9(0xb33)]=function(_0x5457d5){const _0x51533f=_0x5bdce9;!VisuMZ['BattleCore'][_0x51533f(0x76e)][_0x51533f(0x2c4)][_0x51533f(0x4a4)]?_0x5457d5[_0x51533f(0x2c3)]()[_0x51533f(0x74b)]?_0x51533f(0x796)===_0x51533f(0x796)?this['push'](_0x51533f(0x2d8),_0x5457d5):(_0xb4d5d5['BattleCore']['Scene_Battle_createActorCommandWindow'][_0x51533f(0x4b1)](this),this[_0x51533f(0x906)]()):this['push']('performMagicEvasion',_0x5457d5):VisuMZ[_0x51533f(0x61c)]['Window_BattleLog_displayEvasion']['call'](this,_0x5457d5);},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x94a)]=function(_0x5bf1e3){const _0x593d25=_0x5bdce9;if(_0x5bf1e3[_0x593d25(0x2c3)]()[_0x593d25(0x825)]){if(_0x5bf1e3[_0x593d25(0x2c3)]()['hpDamage']>0x0&&!_0x5bf1e3['result']()[_0x593d25(0xae6)]){if(_0x593d25(0x916)!==_0x593d25(0x916)){if(this['_lastEnemy']&&this[_0x593d25(0xa38)][_0x593d25(0x8ed)](this[_0x593d25(0x9dc)])){const _0x3021b3=this['_enemies'][_0x593d25(0x977)](this[_0x593d25(0x9dc)]);this['forceSelect'](_0x3021b3);}else this[_0x593d25(0xb03)]();}else this[_0x593d25(0x838)](_0x593d25(0x15f),_0x5bf1e3);}_0x5bf1e3[_0x593d25(0x2c3)]()[_0x593d25(0x78f)]<0x0&&this[_0x593d25(0x838)](_0x593d25(0x6f0),_0x5bf1e3);if(VisuMZ[_0x593d25(0x61c)][_0x593d25(0x76e)][_0x593d25(0x2c4)][_0x593d25(0x1c4)]){if(_0x593d25(0x1cb)!=='AMgUj')this['push'](_0x593d25(0xa19),this[_0x593d25(0x407)](_0x5bf1e3));else{if(this[_0x593d25(0x9a3)]())return;this[_0x593d25(0x87b)]=!![],this[_0x593d25(0xb87)]=![];}}}},VisuMZ['BattleCore'][_0x5bdce9(0x487)]=Window_BattleLog['prototype'][_0x5bdce9(0x27f)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x27f)]=function(_0x42f9f0){const _0x34e6ca=_0x5bdce9;if(!VisuMZ[_0x34e6ca(0x61c)][_0x34e6ca(0x76e)][_0x34e6ca(0x2c4)][_0x34e6ca(0xad3)])return;VisuMZ[_0x34e6ca(0x61c)]['Window_BattleLog_displayMpDamage']['call'](this,_0x42f9f0);},VisuMZ['BattleCore'][_0x5bdce9(0x945)]=Window_BattleLog['prototype'][_0x5bdce9(0x840)],Window_BattleLog['prototype'][_0x5bdce9(0x840)]=function(_0x342cbf){const _0x3a4e15=_0x5bdce9;if(!VisuMZ[_0x3a4e15(0x61c)][_0x3a4e15(0x76e)][_0x3a4e15(0x2c4)]['ShowTpDmg'])return;VisuMZ[_0x3a4e15(0x61c)][_0x3a4e15(0x945)][_0x3a4e15(0x4b1)](this,_0x342cbf);},Window_BattleLog['prototype'][_0x5bdce9(0x9f0)]=function(_0x5d0367){const _0x5278e5=_0x5bdce9;_0x5d0367['result']()['isStatusAffected']()&&(_0x5278e5(0x8f9)===_0x5278e5(0x8f9)?(this[_0x5278e5(0x838)](_0x5278e5(0x6ea)),this['displayChangedStates'](_0x5d0367),this[_0x5278e5(0x5e1)](_0x5d0367),this['push']('waitForNewLine')):_0x123a85+=_0x11a880['abs'](_0x229ff0['hpDamage']));},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xb23)]=function(_0x2bd4bb){const _0x26c04c=_0x5bdce9,_0xdb566b=_0x2bd4bb[_0x26c04c(0x2c3)](),_0x35bc94=_0xdb566b[_0x26c04c(0xb10)]();for(const _0x4e70a9 of _0x35bc94){const _0x19c152=_0x2bd4bb[_0x26c04c(0x491)]()?_0x4e70a9[_0x26c04c(0x8b4)]:_0x4e70a9[_0x26c04c(0x772)];_0x19c152&&VisuMZ[_0x26c04c(0x61c)][_0x26c04c(0x76e)][_0x26c04c(0x2c4)][_0x26c04c(0x523)]&&(this['push']('fnordAddedStates'),this[_0x26c04c(0x838)](_0x26c04c(0x73f)),this['push'](_0x26c04c(0x6ea)),this[_0x26c04c(0x838)]('addText',_0x19c152[_0x26c04c(0x824)](_0x2bd4bb[_0x26c04c(0x74e)]())),this[_0x26c04c(0x838)](_0x26c04c(0x156))),_0x4e70a9['id']===_0x2bd4bb['deathStateId']()&&this['push']('performCollapse',_0x2bd4bb);}},Window_BattleLog[_0x5bdce9(0x768)]['fnordAddedStates']=function(){},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x77b)]=function(_0x58d2b5){const _0x521c63=_0x5bdce9;if(!VisuMZ['BattleCore'][_0x521c63(0x76e)][_0x521c63(0x2c4)][_0x521c63(0x704)])return;const _0x25aff9=_0x58d2b5[_0x521c63(0x2c3)](),_0x1baa7b=_0x25aff9[_0x521c63(0x625)]();for(const _0x5b0fe5 of _0x1baa7b){_0x5b0fe5[_0x521c63(0x2d1)]&&(this[_0x521c63(0x838)](_0x521c63(0x26a)),this['push'](_0x521c63(0x73f)),this[_0x521c63(0x838)]('pushBaseLine'),this[_0x521c63(0x838)](_0x521c63(0xa19),_0x5b0fe5[_0x521c63(0x2d1)][_0x521c63(0x824)](_0x58d2b5[_0x521c63(0x74e)]())),this[_0x521c63(0x838)](_0x521c63(0x156)));}},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x26a)]=function(){},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x5e1)]=function(_0x53e7bc){const _0x115c04=_0x5bdce9,_0x442186=VisuMZ[_0x115c04(0x61c)][_0x115c04(0x76e)][_0x115c04(0x2c4)],_0x15c455=_0x53e7bc[_0x115c04(0x2c3)]();if(_0x442186[_0x115c04(0x74d)])this[_0x115c04(0x7c8)](_0x53e7bc,_0x15c455[_0x115c04(0x374)],TextManager['buffAdd']);if(_0x442186[_0x115c04(0x304)])this[_0x115c04(0x7c8)](_0x53e7bc,_0x15c455[_0x115c04(0x7b0)],TextManager['debuffAdd']);if(_0x442186[_0x115c04(0xa8f)])this[_0x115c04(0x7c8)](_0x53e7bc,_0x15c455[_0x115c04(0x2c9)],TextManager[_0x115c04(0x3a9)]);},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x7c8)]=function(_0x309d66,_0x11e0ce,_0x37cc7f){const _0x18afb3=_0x5bdce9;for(const _0x207826 of _0x11e0ce){const _0x4caea9=_0x37cc7f[_0x18afb3(0x824)](_0x309d66[_0x18afb3(0x74e)](),TextManager[_0x18afb3(0x58a)](_0x207826));this[_0x18afb3(0x838)](_0x18afb3(0x73f)),this[_0x18afb3(0x838)](_0x18afb3(0x6ea)),this[_0x18afb3(0x838)](_0x18afb3(0xa19),_0x4caea9),this[_0x18afb3(0x838)](_0x18afb3(0x156));}},VisuMZ['BattleCore'][_0x5bdce9(0x893)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x89d)],Window_BattleLog['prototype'][_0x5bdce9(0x89d)]=function(){const _0x3d0373=_0x5bdce9;VisuMZ[_0x3d0373(0x61c)][_0x3d0373(0x893)][_0x3d0373(0x4b1)](this),this[_0x3d0373(0x670)]();},VisuMZ['BattleCore'][_0x5bdce9(0x258)]=Window_BattleLog['prototype'][_0x5bdce9(0x6ea)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x6ea)]=function(){const _0x2c945d=_0x5bdce9;VisuMZ[_0x2c945d(0x61c)][_0x2c945d(0x258)][_0x2c945d(0x4b1)](this),this['callNextMethod']();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x450)]=Window_BattleLog['prototype']['popBaseLine'],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x73f)]=function(){const _0xecffc7=_0x5bdce9;VisuMZ['BattleCore']['Window_BattleLog_popBaseLine'][_0xecffc7(0x4b1)](this),this[_0xecffc7(0xb1b)](),this[_0xecffc7(0x670)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x6e6)]=Window_BattleLog[_0x5bdce9(0x768)]['popupDamage'],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x572)]=function(_0xa1a5e2){const _0x2a767d=_0x5bdce9;VisuMZ['BattleCore'][_0x2a767d(0x6e6)][_0x2a767d(0x4b1)](this,_0xa1a5e2),this[_0x2a767d(0x670)]();},Window_BattleLog['prototype'][_0x5bdce9(0x718)]=function(){const _0x581597=_0x5bdce9;let _0x7e013d=0x0;if(this[_0x581597(0x7e2)][_0x581597(0x12d)]>0x0){if(_0x581597(0x4ee)===_0x581597(0x212)){if(!_0x289a7f[_0x581597(0x5ea)]())return;if(!_0x3ff2ff[_0x581597(0x434)])return;if(!_0x422834[_0x581597(0x9e6)]())return;_0xf69d9[_0x581597(0x866)](_0x1ae86d,_0x98d311);const _0xc79cae=_0x51d910['ActionCount'];_0x3edb3a['_subject']&&_0x4aec50[_0x581597(0xb40)][_0x581597(0x712)]()[_0x581597(0x5c6)](_0xc79cae);}else _0x7e013d=this['_baseLineStack'][this[_0x581597(0x7e2)]['length']-0x1];}this[_0x581597(0x4df)][_0x581597(0x12d)]>_0x7e013d?this[_0x581597(0x156)]():this[_0x581597(0x670)]();},VisuMZ['BattleCore'][_0x5bdce9(0x5dc)]=Window_BattleLog[_0x5bdce9(0x768)]['performActionStart'],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x187)]=function(_0x1e24c6,_0xb7228d){const _0x1a2d74=_0x5bdce9;VisuMZ[_0x1a2d74(0x61c)][_0x1a2d74(0x5dc)][_0x1a2d74(0x4b1)](this,_0x1e24c6,_0xb7228d),this['callNextMethod']();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0xa1e)]=Window_BattleLog[_0x5bdce9(0x768)]['performAction'],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x23a)]=function(_0x370355,_0x3e4671){const _0x3e75bb=_0x5bdce9;VisuMZ[_0x3e75bb(0x61c)][_0x3e75bb(0xa1e)][_0x3e75bb(0x4b1)](this,_0x370355,_0x3e4671),this['callNextMethod']();},VisuMZ[_0x5bdce9(0x61c)]['Window_BattleLog_performActionEnd']=Window_BattleLog[_0x5bdce9(0x768)]['performActionEnd'],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x154)]=function(_0x236933){const _0x9dc509=_0x5bdce9;VisuMZ[_0x9dc509(0x61c)][_0x9dc509(0xb4a)][_0x9dc509(0x4b1)](this,_0x236933);for(const _0x1c21aa of BattleManager[_0x9dc509(0x8b1)]()){if(!_0x1c21aa)continue;if(_0x1c21aa[_0x9dc509(0x9a3)]())continue;_0x1c21aa[_0x9dc509(0x27c)]();}this[_0x9dc509(0x670)]();},VisuMZ['BattleCore'][_0x5bdce9(0x3aa)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x15f)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x15f)]=function(_0x555eda){const _0x1e47f1=_0x5bdce9;VisuMZ[_0x1e47f1(0x61c)][_0x1e47f1(0x3aa)]['call'](this,_0x555eda),this[_0x1e47f1(0x670)]();},VisuMZ[_0x5bdce9(0x61c)]['Window_BattleLog_performMiss']=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x960)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x960)]=function(_0x15911d){const _0x3a3ef5=_0x5bdce9;VisuMZ[_0x3a3ef5(0x61c)][_0x3a3ef5(0x921)][_0x3a3ef5(0x4b1)](this,_0x15911d),this[_0x3a3ef5(0x670)]();},VisuMZ['BattleCore'][_0x5bdce9(0x573)]=Window_BattleLog[_0x5bdce9(0x768)]['performRecovery'],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x6f0)]=function(_0x56c71a){const _0x282947=_0x5bdce9;VisuMZ['BattleCore']['Window_BattleLog_performRecovery']['call'](this,_0x56c71a),this[_0x282947(0x670)]();},VisuMZ['BattleCore'][_0x5bdce9(0x55e)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x2d8)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x2d8)]=function(_0x1f1b73){const _0x58e6fb=_0x5bdce9;VisuMZ[_0x58e6fb(0x61c)][_0x58e6fb(0x55e)][_0x58e6fb(0x4b1)](this,_0x1f1b73),this[_0x58e6fb(0x670)]();},VisuMZ['BattleCore']['Window_BattleLog_performMagicEvasion']=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xb24)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xb24)]=function(_0x1b96c8){const _0x4c41a5=_0x5bdce9;VisuMZ[_0x4c41a5(0x61c)][_0x4c41a5(0x20f)][_0x4c41a5(0x4b1)](this,_0x1b96c8),this[_0x4c41a5(0x670)]();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x6ac)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x3bb)],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x3bb)]=function(_0x28f3e1){const _0x1fff7e=_0x5bdce9;VisuMZ[_0x1fff7e(0x61c)][_0x1fff7e(0x6ac)][_0x1fff7e(0x4b1)](this,_0x28f3e1),this[_0x1fff7e(0x670)]();},VisuMZ['BattleCore'][_0x5bdce9(0x2aa)]=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x8a3)],Window_BattleLog[_0x5bdce9(0x768)]['performReflection']=function(_0x5e3cb7){const _0x278ece=_0x5bdce9;VisuMZ[_0x278ece(0x61c)]['Window_BattleLog_performReflection'][_0x278ece(0x4b1)](this,_0x5e3cb7),this[_0x278ece(0x670)]();},VisuMZ[_0x5bdce9(0x61c)]['Window_BattleLog_performSubstitute']=Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0xaeb)],Window_BattleLog['prototype']['performSubstitute']=function(_0x464adf,_0x5ea235){const _0x3d6c19=_0x5bdce9;VisuMZ[_0x3d6c19(0x61c)][_0x3d6c19(0x3bf)][_0x3d6c19(0x4b1)](this,_0x464adf,_0x5ea235),this['callNextMethod']();},VisuMZ[_0x5bdce9(0x61c)][_0x5bdce9(0x1d4)]=Window_BattleLog['prototype']['performCollapse'],Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x418)]=function(_0x50af74){const _0x3b0103=_0x5bdce9;VisuMZ[_0x3b0103(0x61c)][_0x3b0103(0x1d4)][_0x3b0103(0x4b1)](this,_0x50af74),this[_0x3b0103(0x670)]();},Window_BattleLog['prototype'][_0x5bdce9(0x70c)]=function(_0x2f377a,_0x9c3bd2){const _0x1d4ceb=_0x5bdce9;_0x2f377a[_0x1d4ceb(0x70c)](_0x9c3bd2),this[_0x1d4ceb(0x670)]();},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x99d)]=function(_0x2e7724,_0x306e15){const _0x34e8ec=_0x5bdce9,_0x13ef6e=_0x2e7724[_0x34e8ec(0x17b)]();if(_0x13ef6e<=0x0){if(_0x34e8ec(0x4fd)===_0x34e8ec(0x4fd))SoundManager[_0x34e8ec(0x8e4)]();else{if(!_0x3eae42[_0x34e8ec(0x5ea)]())return;if(!_0x794d99[_0x34e8ec(0x238)])return;_0x15d8f9[_0x34e8ec(0x866)](_0x59bdbe,_0x363e7e);const _0x2eea72=_0x3946a0['_action'],_0x3756c0=_0x172351[_0x34e8ec(0x86a)];if(!_0x2eea72)return;_0x2eea72[_0x34e8ec(0x597)]=_0x3756c0;}}else _0x34e8ec(0x46e)===_0x34e8ec(0x46e)?this[_0x34e8ec(0x452)](_0x306e15,_0x13ef6e):this[_0x34e8ec(0x5aa)](this[_0x34e8ec(0x254)][_0x34e8ec(0x976)]);},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x351)]=function(_0x438020,_0x2ca323,_0x1b39af){const _0x8a4e70=_0x5bdce9,_0x56221a=[_0x438020]['concat'](_0x2ca323);for(const _0x514c9a of _0x56221a){if(!_0x514c9a)continue;_0x514c9a[_0x8a4e70(0x78c)](_0x1b39af);}this[_0x8a4e70(0x670)]();},Window_BattleLog[_0x5bdce9(0x768)]['waitCount']=function(_0xa2d1a5){const _0x3b81ed=_0x5bdce9;this[_0x3b81ed(0x299)]=_0xa2d1a5;},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x319)]=function(_0x4660c1,_0x4b036a){const _0x359865=_0x5bdce9;for(const _0x2cf8e4 of _0x4660c1){if(_0x359865(0x9ec)!==_0x359865(0xb53)){if(!_0x2cf8e4)continue;_0x2cf8e4['requestMotion'](_0x4b036a);}else{if(!_0x55092e[_0x359865(0x5ea)]())return;const _0x1b0591=_0x2a3fb4[_0x359865(0xb48)](),_0x49375c=_0x14e819['_action'],_0x4c3dd2=_0x1e697b[_0x359865(0xb40)],_0x5cc3f8=_0x3cbc48[_0x359865(0x5c4)];if(!_0x1b0591||!_0x49375c||!_0x4c3dd2)return;if(!_0x49375c[_0x359865(0xa8a)]())return;_0x5cc3f8['displayAction'](_0x4c3dd2,_0x49375c[_0x359865(0xa8a)]()),_0x1b0591[_0x359865(0x73c)](_0x359865(0x3cb));}}this['callNextMethod']();},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x6d2)]=function(_0x290e56,_0x1a6ca2,_0xedd9f6,_0x4eaaf7,_0x12a0e8,_0x54c4e5){const _0x5f59e2=_0x5bdce9;_0x290e56[_0x5f59e2(0xa3e)](_0x1a6ca2,_0xedd9f6,_0x4eaaf7,_0x12a0e8,_0x54c4e5,-0x1),this['callNextMethod']();},Window_BattleLog[_0x5bdce9(0x768)][_0x5bdce9(0x633)]=function(_0x10cde3,_0x1e4822,_0x2468a9,_0x441bf2,_0xe467a0,_0x4b0c45,_0x233fb6){const _0x479605=_0x5bdce9,_0x74afc3=Math[_0x479605(0x339)](..._0x1e4822[_0x479605(0x782)](_0x286993=>_0x286993[_0x479605(0xb0d)]()[_0x479605(0x8f0)]-_0x286993['battler']()['mainSpriteWidth']()/0x2)),_0x3244b4=Math[_0x479605(0xa5e)](..._0x1e4822[_0x479605(0x782)](_0x44bbfd=>_0x44bbfd[_0x479605(0xb0d)]()[_0x479605(0x8f0)]+_0x44bbfd[_0x479605(0xb0d)]()[_0x479605(0x1af)]()/0x2)),_0x354c8e=Math[_0x479605(0x339)](..._0x1e4822[_0x479605(0x782)](_0x288a36=>_0x288a36[_0x479605(0xb0d)]()[_0x479605(0x4c9)]-_0x288a36[_0x479605(0xb0d)]()[_0x479605(0x1a1)]())),_0x1b8462=Math[_0x479605(0xa5e)](..._0x1e4822[_0x479605(0x782)](_0x336073=>_0x336073[_0x479605(0xb0d)]()[_0x479605(0x4c9)])),_0x449c7f=_0x1e4822[_0x479605(0xb85)](_0xc77179=>_0xc77179['isActor']())[_0x479605(0x12d)],_0x27ee5f=_0x1e4822['filter'](_0x1ed4a8=>_0x1ed4a8[_0x479605(0x203)]())[_0x479605(0x12d)];let _0x5840a7=0x0,_0x590844=0x0;if(_0x2468a9[_0x479605(0x16b)](/front/i))'TppaV'===_0x479605(0x266)?(_0x2d10f7[_0x479605(0x61c)][_0x479605(0x880)][_0x479605(0x4b1)](this),this[_0x479605(0x3f3)]()):_0x5840a7=_0x449c7f>=_0x27ee5f?_0x74afc3:_0x3244b4;else{if(_0x2468a9[_0x479605(0x16b)](/middle/i))_0x479605(0x39d)!==_0x479605(0x39d)?this[_0x479605(0x788)]=_0x479605(0x641):(_0x5840a7=(_0x74afc3+_0x3244b4)/0x2,_0x233fb6=-0x1);else _0x2468a9['match'](/back/i)&&(_0x5840a7=_0x449c7f>=_0x27ee5f?_0x3244b4:_0x74afc3);}if(_0x2468a9[_0x479605(0x16b)](/head/i))_0x590844=_0x354c8e;else{if(_0x2468a9['match'](/center/i)){if('dneln'===_0x479605(0xaa4))_0x590844=(_0x354c8e+_0x1b8462)/0x2;else return _0x479605(0x68c)[_0x479605(0x824)](_0x4ecda1(_0x192624['$1']));}else _0x2468a9['match'](/base/i)&&(_0x590844=_0x1b8462);}_0x10cde3[_0x479605(0xa3e)](_0x5840a7,_0x590844,_0x441bf2,_0xe467a0,_0x4b0c45,_0x233fb6),this['callNextMethod']();},Window_BattleLog[_0x5bdce9(0x768)]['performJump']=function(_0x282ee5,_0x3e0ebb,_0x4dd0bb){const _0x255c24=_0x5bdce9;for(const _0x1d65be of _0x282ee5){if(_0x255c24(0x4c2)!==_0x255c24(0x4c2)){if(_0x1caf67[_0x255c24(0x168)]!==_0x3c3899)return _0xd245ee[_0x255c24(0x168)];if(this[_0x255c24(0x4e7)])return this[_0x255c24(0x4e7)];return this[_0x255c24(0x4e7)]=_0x1b88f9[_0x255c24(0x61c)][_0x255c24(0x76e)]['BattleLayout'][_0x255c24(0x158)][_0x255c24(0x63a)]()[_0x255c24(0x92d)](),this[_0x255c24(0x4e7)]==='sideview_ui'&&!_0x53a414[_0x255c24(0x8fd)]&&(this[_0x255c24(0x4e7)]=_0x255c24(0xa34)),this['_battleLayoutStyle'];}else{if(!_0x1d65be)continue;_0x1d65be[_0x255c24(0x4ba)](_0x3e0ebb,_0x4dd0bb);}}this[_0x255c24(0x670)]();};