Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2023
483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 121.84 KB | Source Code | 0 0
  1. //=============================================================================
  2. // VisuStella MZ - Input Combo Skills
  3. // VisuMZ_3_InputComboSkills.js
  4. //=============================================================================
  5.  
  6. var Imported = Imported || {};
  7. Imported.VisuMZ_3_InputComboSkills = true;
  8.  
  9. var VisuMZ = VisuMZ || {};
  10. VisuMZ.InputComboSkills = VisuMZ.InputComboSkills || {};
  11. VisuMZ.InputComboSkills.version = 1.01;
  12.  
  13. //=============================================================================
  14.  /*:
  15.  * @target MZ
  16.  * @plugindesc [RPG Maker MZ] [Tier 3] [Version 1.01] [InputComboSkills]
  17.  * @author VisuStella
  18.  * @url http://www.yanfly.moe/wiki/Input_Combo_Skills_VisuStella_MZ
  19.  * @base VisuMZ_1_BattleCore
  20.  * @base VisuMZ_1_SkillsStatesCore
  21.  * @orderAfter VisuMZ_1_BattleCore
  22.  * @orderAfter VisuMZ_1_SkillsStatesCore
  23.  *
  24.  * @help
  25.  * ============================================================================
  26.  * Introduction
  27.  * ============================================================================
  28.  *
  29.  * When an Input Combo Skill is activated by an actor, a the potential input
  30.  * attacks appears on the screen. The player then presses the various buttons
  31.  * listed and attacks will occur in a combo fashion. If a particular attack
  32.  * combination is met, a special attack will occur.
  33.  *
  34.  * Features include all (but not limited to) the following:
  35.  *
  36.  * * Register up to 9 different input skills per skill, each bound to specific
  37.  *   keyboard button inputs.
  38.  * * Touch screen users are able to activate input combo skills by simply
  39.  *   tapping on the listed chain skill on the screen.
  40.  * * Tooltips will display the skill's help description when hovering over the
  41.  *   on-screen buttons.
  42.  * * If a specific combination of button inputs are made, special combination
  43.  *   skills will be added onto the combo queue.
  44.  * * Special combo skills are separated into three different types: available,
  45.  *   learned, and forced.
  46.  * * Some skills can be set up to be input combo only, meaning they can only
  47.  *   ever be accessed via Input Combo Skills.
  48.  * * Confirmation sound effects can be utilized to provide proper feedback to
  49.  *   the player when chaining.
  50.  * * Switches can be used to determine if there are still skills left in the
  51.  *   queue to combo with.
  52.  * * Custom images can be used to add more personal flare to the combo UI.
  53.  *
  54.  * ============================================================================
  55.  * Requirements
  56.  * ============================================================================
  57.  *
  58.  * This plugin is made for RPG Maker MZ. This will not work in other iterations
  59.  * of RPG Maker.
  60.  *
  61.  * ------ Required Plugin List ------
  62.  *
  63.  * * VisuMZ_1_BattleCore
  64.  * * VisuMZ_1_SkillsStatesCore
  65.  *
  66.  * This plugin requires the above listed plugins to be installed inside your
  67.  * game's Plugin Manager list in order to work. You cannot start your game with
  68.  * this plugin enabled without the listed plugins.
  69.  *
  70.  * ------ Tier 3 ------
  71.  *
  72.  * This plugin is a Tier 3 plugin. Place it under other plugins of lower tier
  73.  * value on your Plugin Manager list (ie: 0, 1, 2, 3, 4, 5). This is to ensure
  74.  * that your plugins will have the best compatibility with the rest of the
  75.  * VisuStella MZ library.
  76.  *
  77.  * ============================================================================
  78.  * Major Changes
  79.  * ============================================================================
  80.  *
  81.  * This plugin adds some new hard-coded features to RPG Maker MZ's functions.
  82.  * The following is a list of them.
  83.  *
  84.  * ---
  85.  *
  86.  * Forced Actions
  87.  *
  88.  * Input Combo Skills rely on Forced Actions to queue their next attacks after
  89.  * the completion of their current skill in effect.
  90.  *
  91.  * Therefore, if you make any effects through Custom Action Sequences of Common
  92.  * Events that run after a skill takes place to run a different Forced Action,
  93.  * then there will be conflict and the Input Combo Skills won't work properly.
  94.  *
  95.  * Keep this in mind when using this plugin with Battle Systems like ATB, CTB,
  96.  * or OTB where forced actions have unique properties. Look at the
  97.  * "VisuStella MZ Compatibility" section below.
  98.  *
  99.  * ---
  100.  *
  101.  * Paid Up Front
  102.  *
  103.  * The skills that you can input have requirements in the form of skill costs.
  104.  * Other things like skill cooldowns also matter. However, upon selecting these
  105.  * skills, the cost is paid up front even before they take effect.
  106.  *
  107.  * What this means is that if you combo into a skill that would somehow reduce
  108.  * the MP cost of all of the actor's skills, that wouldn't matter because the
  109.  * costs of these skills still have to be paid up front. Now, the MP cost
  110.  * reduction would take effect on a subsequent Input Combo Skill sequence, but
  111.  * it will not take effect during the current one.
  112.  *
  113.  * Because it's paid up front, any input skills found in the queue no longer
  114.  * have to pay their costs when it becomes time to use that skill.
  115.  *
  116.  * Special combinations are also exempt from costs as the cost is the input of
  117.  * the combination itself.
  118.  *
  119.  * ---
  120.  *
  121.  * Input Needs Finishing
  122.  *
  123.  * When the Input Combo Skill sequence starts up, it needs to finish before
  124.  * going forward. Unlike the Yanfly Engine Ace version where it occurs
  125.  * simultaneously, this version waits until the inputs are done to avoid any
  126.  * potential conflicts.
  127.  *
  128.  * If there are no Input Combo Skills that can be used, then the input sequence
  129.  * will end prematurely.
  130.  *
  131.  * ---
  132.  *
  133.  * Input Queue Switch
  134.  *
  135.  * There is a switch that automatically turns ONE whenever there are at least
  136.  * one input combo skill in queue and OFF when there are none. This can be used
  137.  * for a variety of ways.
  138.  *
  139.  * Read the "Plugin Parameters: General Settings" section for more information
  140.  * on this important feature.
  141.  *
  142.  * ---
  143.  *
  144.  * ============================================================================
  145.  * VisuStella MZ Compatibility
  146.  * ============================================================================
  147.  *
  148.  * While this plugin is compatible with the majority of the VisuStella MZ
  149.  * plugin library, it is not compatible with specific plugins or specific
  150.  * features. This section will highlight the main plugins/features that will
  151.  * not be compatible with this plugin or put focus on how the make certain
  152.  * features compatible.
  153.  *
  154.  * ---
  155.  *
  156.  * VisuMZ_1_MessageCore
  157.  *
  158.  * If you are using the VisuStella MZ plugin library's Message Core plugin,
  159.  * the UI Tooltip Plugin Parameters will be enabled and tooltips can be used
  160.  * and will be visible when hovering the mouse cursor over the UI buttons.
  161.  * The tooltip window will display the skill's description.
  162.  *
  163.  * ---
  164.  *
  165.  * VisuMZ_2_BattleSystemATB
  166.  *
  167.  * VisuMZ_2_BattleSystemCTB
  168.  *
  169.  * Due to how TPB works, forced actions will return the target battler back to
  170.  * its current speed before usage. When used with Active Chain Skills, make
  171.  * sure you use the ATB plugin's <ATB After Gauge: x%> and CTB plugin's
  172.  * <CTB After Speed: x%> notetags to properly enforce TPB progress resets.
  173.  *
  174.  * ---
  175.  *
  176.  * VisuMZ_2_BattleSystemBTB
  177.  *
  178.  * Due to how BTB focuses on queuing actions, this plugin heavily conflicts
  179.  * with it and therefore, Input Combo Skills cannot be used with the BTB
  180.  * battle system.
  181.  *
  182.  * We recommend that you use another battle system with VisuStella MZ's Boost
  183.  * Action plugin to produce similar results.
  184.  *
  185.  * ---
  186.  *
  187.  * VisuMZ_2_BattleSystemOTB
  188.  *
  189.  * OTB handles forced actions slightly differently. It adds additional actions
  190.  * towards the front of the action order list. Therefore, you'll see the
  191.  * additions made and added towards the front instead. The forced action will
  192.  * still take place and there are no additional measures needed to be done,
  193.  * but this is a visual effect that may be noticeable to some.
  194.  *
  195.  * ---
  196.  *
  197.  * ============================================================================
  198.  * Notetags
  199.  * ============================================================================
  200.  *
  201.  * The following are notetags that have been added through this plugin. These
  202.  * notetags will not work with your game if this plugin is OFF or not present.
  203.  *
  204.  * ---
  205.  *
  206.  * === Input Combo Origin-Related Notetags ===
  207.  *
  208.  * ---
  209.  *
  210.  * <Combo Skill key: id>
  211.  * <Combo Skill key: name>
  212.  *
  213.  * - Used for: Skill Notetags
  214.  * - Declares this skill as an Input Combo origin skill. This notetag sets
  215.  *   an input skill to the specific 'key' when pressed.
  216.  *   - The input skills do not need to be learned or available through traits
  217.  *     in order to be used.
  218.  * - Replace 'key' with a string representing the key trigger you wish to bind
  219.  *   this chain skill with.
  220.  *   - 'down', 'left', 'right', 'up'
  221.  *   - You can substitute the above for the NumPad values: 'down' with '2',
  222.  *     'left' with '4', 'right' with '6', and 'up' with '8'
  223.  *   - 'ok', 'cancel', 'pageup', 'pagedown', 'shift'
  224.  *   - You can substitute the above for the Keyboard inputs: 'ok' with 'z',
  225.  *     'cancel' with 'x', 'pageup' with 'q', 'pagedown' with 'w', and
  226.  *     'shift' for 's'
  227.  *   - Do not include the quotes.
  228.  * - For 'id' variant: replace 'id' with the ID of the skill to combo using
  229.  *   the marked key.
  230.  * - For 'name' variant: replace 'name' with the name of the skill to combo
  231.  *   using the marked key.
  232.  * - Insert multiple copies of this notetag to bind different keys.
  233.  *
  234.  * Examples:
  235.  *
  236.  *   <Combo Skill Down: Leg Sweep>
  237.  *   <Combo Skill Left: 107>
  238.  *   <Input Combo Skill Right: Hook Punch>
  239.  *   <Input Combo Skill Up: 123>
  240.  *
  241.  * ---
  242.  *
  243.  * <Combo Max: x>
  244.  *
  245.  * <Input Combo Max: x>
  246.  *
  247.  * - Used for: Skill Notetags
  248.  * - Sets a maximum combo count that this Input Combo origin skill can have.
  249.  * - There are no differences between the two <Combo Max: x> and
  250.  *   <Input Combo Max: x> notetags, it's a matter of preference of which you
  251.  *   want to use.
  252.  * - Replace 'x' with a number representing the max combo inputs you want to
  253.  *   allow the player to input.
  254.  * - If this notetag is not used, the combo max will default to the value found
  255.  *   in the Plugin Parameters.
  256.  * - The max combo will NOT include any special skills added through a specific
  257.  *   sequence string, meaning that a special skill from a combo sequence can
  258.  *   go past the designated combo max.
  259.  *
  260.  * ---
  261.  *
  262.  * <Combo Start Animation: x>
  263.  *
  264.  * <Input Combo Start Animation: x>
  265.  *
  266.  * - Used for: Skill Notetags
  267.  * - Changes the animation played when initiating the Input Combo origin skill.
  268.  * - Replace 'x' with a number representing the ID of the animation to play.
  269.  * - If this notetag is not used, play the animation found in the
  270.  *   Plugin Parameters instead.
  271.  *
  272.  * ---
  273.  *
  274.  * <Combo Special sequence: id>
  275.  * <Combo Special sequence: name>
  276.  *
  277.  * <Available Combo Special sequence: id>
  278.  * <Available Combo Special sequence: name>
  279.  *
  280.  * - Used for: Skill Notetags
  281.  * - If the player inputs a matching 'sequence', this Input Combo origin skill
  282.  *   will add the target skill to the combo queue. This variant requires the
  283.  *   actor to either have learned the target skill or have it temporarily
  284.  *   accessible through traits.
  285.  * - There are no differences between the <Combo Special sequence: id> and the
  286.  *   <Available Combo Special sequence: id> notetags, it's a matter of
  287.  *   preference of which you want to use.
  288.  * - Replace 'sequence' with any of the below:
  289.  *   - '2' for 'down'
  290.  *   - '4' for 'left'
  291.  *   - '6' for 'right'
  292.  *   - '8' for 'up'
  293.  *   - 'Z' for 'ok'
  294.  *   - 'X' for 'cancel'
  295.  *   - 'Q' for 'pageup'
  296.  *   - 'W' for 'pagedown'
  297.  *   - 'S' for 'shift'
  298.  * - Insert multiple copies of this notetag to add more special combos.
  299.  *
  300.  * Examples:
  301.  *
  302.  *   <Combo Special 226Z: Hadoken>
  303.  *   <Combo Special 4268: 360>
  304.  *   <Available Combo Special QWQWQ: Dempsey Roll>
  305.  *   <Available Combo Special ZXSQW: 123>
  306.  *
  307.  * ---
  308.  *
  309.  * <Learned Combo Special sequence: id>
  310.  * <Learned Combo Special sequence: name>
  311.  *
  312.  * <Known Combo Special sequence: id>
  313.  * <Known Combo Special sequence: name>
  314.  *
  315.  * - Used for: Skill Notetags
  316.  * - If the player inputs a matching 'sequence', this Input Combo origin skill
  317.  *   will add the target skill to the combo queue. This variant requires the
  318.  *   actor to have learned in order to special combo into it regardless of
  319.  *   whether or not the actor has temporary trait access.
  320.  * - There are no differences between the <Learned Combo Special sequence: id>
  321.  *   and the <Known Combo Special sequence: id> notetags, it's a matter of
  322.  *   preference of which you want to use.
  323.  * - Replace 'sequence' with any of the below:
  324.  *   - '2' for 'down'
  325.  *   - '4' for 'left'
  326.  *   - '6' for 'right'
  327.  *   - '8' for 'up'
  328.  *   - 'Z' for 'ok'
  329.  *   - 'X' for 'cancel'
  330.  *   - 'Q' for 'pageup'
  331.  *   - 'W' for 'pagedown'
  332.  *   - 'S' for 'shift'
  333.  * - Insert multiple copies of this notetag to add more special combos.
  334.  *
  335.  * Examples:
  336.  *
  337.  *   <Learned Combo Special 226Z: Hadoken>
  338.  *   <Learned Combo Special 4268: 360>
  339.  *   <Known Combo Special QWQWQ: Dempsey Roll>
  340.  *   <Known Combo Special ZXSQW: 123>
  341.  *
  342.  * ---
  343.  *
  344.  * <Always Combo Special sequence: id>
  345.  * <Always Combo Special sequence: name>
  346.  *
  347.  * <Forced Combo Special sequence: id>
  348.  * <Forced Combo Special sequence: name>
  349.  *
  350.  * - Used for: Skill Notetags
  351.  * - If the player inputs a matching 'sequence', this Input Combo origin skill
  352.  *   will add the target skill to the combo queue. This variant will always
  353.  *   allow the target skill to be used as a special combo skill.
  354.  * - There are no differences between the <Always Combo Special sequence: id>
  355.  *   and the <Forced Combo Special sequence: id> notetags, it's a matter of
  356.  *   preference of which you want to use.
  357.  * - Replace 'sequence' with any of the below:
  358.  *   - '2' for 'down'
  359.  *   - '4' for 'left'
  360.  *   - '6' for 'right'
  361.  *   - '8' for 'up'
  362.  *   - 'Z' for 'ok'
  363.  *   - 'X' for 'cancel'
  364.  *   - 'Q' for 'pageup'
  365.  *   - 'W' for 'pagedown'
  366.  *   - 'S' for 'shift'
  367.  * - Insert multiple copies of this notetag to add more special combos.
  368.  *
  369.  * Examples:
  370.  *
  371.  *   <Always Combo Special 226Z: Hadoken>
  372.  *   <Always Combo Special 4268: 360>
  373.  *   <Forced Combo Special QWQWQ: Dempsey Roll>
  374.  *   <Forced Combo Special ZXSQW: 123>
  375.  *
  376.  * ---
  377.  *
  378.  * === Input Combo Special Skill-Related Notetags ===
  379.  *
  380.  * ---
  381.  *
  382.  * <Combo Only>
  383.  *
  384.  * <Input Combo Only>
  385.  *
  386.  * - Used for: Skill Notetags
  387.  * - Causes this skill to only become usable during an Input Combo sequence as
  388.  *   a special combination skill.
  389.  *
  390.  * ---
  391.  *
  392.  * ============================================================================
  393.  * Plugin Parameters: General Settings
  394.  * ============================================================================
  395.  *
  396.  * These are the general settings for this plugin.
  397.  *
  398.  * ---
  399.  *
  400.  * General
  401.  *
  402.  *   Default Max Combo:
  403.  *   - What is the default max combo when the <Input Combo Max: x> notetag
  404.  *     isn't used?
  405.  *
  406.  *   Input Queue Switch:
  407.  *   - What switch is turned on/off to detect if Input Combo Skills has a
  408.  *     skill queued up?
  409.  *   - Leave empty to not use.
  410.  *
  411.  *   Reduce Back & Forth?:
  412.  *   - Reduce unnecessary back and forth motions inbetween Input Combo Skills?
  413.  *   - This is to prevent your actor from stepping forward, performing a skill,
  414.  *     then stepping back, then stepping forward, perform a skill, etc.
  415.  *   - This will nullify any command that uses the stepForward and stepBackward
  416.  *     functions until cleared.
  417.  *
  418.  * ---
  419.  *
  420.  * ==== Uses for the Input Queue Switch ====
  421.  *
  422.  * ---
  423.  *
  424.  * 1. Speed Up Input Combos
  425.  *
  426.  * If left to its own devices, the default Action Sequences for Input Combo
  427.  * Skill queues may be a bit slow for some. By having the switch determining if
  428.  * there is another skill queued afterwards, you can speed up the Action
  429.  * Sequence by removing some of the wait times.
  430.  *
  431.  * ---
  432.  *
  433.  * 2. Tracking Combo Length
  434.  *
  435.  * Another thing that you can stuff into a Common Event and put right before
  436.  * the end of an Action Sequence involving Input Combo Skills is a variable
  437.  * tracking the number of times the player has combo'd in a row with this actor
  438.  * nonstop without breaking it.
  439.  *
  440.  *   ◆If:Input Queue Switch is ON
  441.  *     ◆Control Variables:#XXXX Chain Counter Variable += 1
  442.  *     ◆
  443.  *   :Else
  444.  *     ◆Control Variables:#XXXX Chain Counter Variable = 0
  445.  *     ◆
  446.  *   :End
  447.  *
  448.  * When the Input Queue Switch is set to be ON, then the variable's value
  449.  * will go up by one. Otherwise, it will reset to 0. Since this is done at the
  450.  * end of an Action Sequence, it will also properly reset when there is nothing
  451.  * left to chain.
  452.  *
  453.  * ---
  454.  *
  455.  * ============================================================================
  456.  * Plugin Parameters: Sound Settings
  457.  * ============================================================================
  458.  *
  459.  * These are the sound effects used for inputs and special combinations for
  460.  * this plugin.
  461.  *
  462.  * ---
  463.  *
  464.  * Input Sound
  465.  *
  466.  *   Filename:
  467.  *   - Filename of the sound effect played.
  468.  *
  469.  *   Volume:
  470.  *   - Volume of the sound effect played.
  471.  *
  472.  *   Pitch:
  473.  *   - Pitch of the sound effect played.
  474.  *
  475.  *   Pan:
  476.  *   - Pan of the sound effect played.
  477.  *
  478.  * ---
  479.  *
  480.  * Special Sound
  481.  *
  482.  *   Filename:
  483.  *   - Filename of the sound effect played.
  484.  *
  485.  *   Volume:
  486.  *   - Volume of the sound effect played.
  487.  *
  488.  *   Pitch:
  489.  *   - Pitch of the sound effect played.
  490.  *
  491.  *   Pan:
  492.  *   - Pan of the sound effect played.
  493.  *
  494.  * ---
  495.  *
  496.  * ============================================================================
  497.  * Plugin Parameters: On-Screen UI Visuals Settings
  498.  * ============================================================================
  499.  *
  500.  * Determine where and how the UI visuals look while performing Input
  501.  * Combo Skills.
  502.  *
  503.  * ---
  504.  *
  505.  * General
  506.  *
  507.  *   Custom BG Image:
  508.  *   - Do you want to use a custom background image?
  509.  *   - Located in /img/system/ folder.
  510.  *   - Covers whole screen.
  511.  *
  512.  *   Icon Smoothing?:
  513.  *   - Smooth the display for icons?
  514.  *   - Or pixelate them?
  515.  *
  516.  *   Input Combo Text:
  517.  *   - What text do you want displayed when starting an Input Combo sequence?
  518.  *
  519.  *     Sequence Animation:
  520.  *     - What animation should be played when starting the Input
  521.  *       Combo sequence?
  522.  *
  523.  *   Disabled Opacity:
  524.  *   - What is the opacity level for disabled UI elements?
  525.  *
  526.  *   Opacity Rate:
  527.  *   - Fade in/out the background at what opacity rate?
  528.  *   - Lower is slower. Higher is faster.
  529.  *
  530.  *   Scale:
  531.  *   - What is the scale of UI buttons?
  532.  *   - 0.50 = 50%; 1.00 = 100%; 1.50 = 150%;
  533.  *
  534.  *   JS: Draw Skill Data:
  535.  *   - Code used to draw the skill data layer while Input Combo Skill inputs
  536.  *     are active.
  537.  *
  538.  *   JS: Draw Background:
  539.  *   - Code used to draw the background layer while Input Combo Skill inputs
  540.  *     are active.
  541.  *
  542.  * ---
  543.  *
  544.  * Queue List UI
  545.  *
  546.  *   Custom BG Image:
  547.  *   - Use a custom background image for Queue UI?
  548.  *   - Located in /img/system/ folder.
  549.  *
  550.  *   Visibility Frames:
  551.  *   - How long does the Queue List stay visible for after the player
  552.  *     finishes input?
  553.  *   - 60 frames = 1 second.
  554.  *
  555.  *   JS: Draw Content:
  556.  *   - Code used to draw the list data while inputting skills.
  557.  *
  558.  *     Draw Back Rectangle?:
  559.  *     - Draw a rectangle in the back to make the contents easier to read?
  560.  *
  561.  *   JS: X, Y, W, H:
  562.  *   - Code used to determine the dimensions for this list UI element.
  563.  *
  564.  * ---
  565.  *
  566.  * Key Binds > Offsets
  567.  *
  568.  *   Key Bind Offset X:
  569.  *   - Offset the x coordinate all of key bind buttons.
  570.  *   - Negative: left. Positive: right.
  571.  *
  572.  *   Key Bind Offset Y:
  573.  *   - Offset the y coordinate all of key bind buttons.
  574.  *   - Negative: up. Positive: down.
  575.  *
  576.  * ---
  577.  *
  578.  * Key Bind > Down, Left, Right, Up
  579.  *
  580.  * Key Bind > Ok, Cancel, PageUp, PageDown, Shift
  581.  *
  582.  *   Key Icon:
  583.  *   - What is the icon used to mark this key bind?
  584.  *   - Takes priority over Core Engine's Button Assist.
  585.  *
  586.  *   Custom BG Image:
  587.  *   - Do you want to use a custom background image?
  588.  *   - Located in /img/system/ folder.
  589.  *   - Ignores scaling.
  590.  *
  591.  *   JS: X, Y, W, H:
  592.  *   - Code used to determine the dimensions for this button.
  593.  *
  594.  * ---
  595.  *
  596.  * ============================================================================
  597.  * Plugin Parameters: UI Tooltip Settings
  598.  * ============================================================================
  599.  *
  600.  * Settings for the Input Combo Skills Tooltips Window.
  601.  * Requires VisuMZ_1_MessageCore!
  602.  *
  603.  * ---
  604.  *
  605.  * Settings
  606.  *
  607.  *   Enabled?:
  608.  *   - Are tooltips enabled?
  609.  *   - Requires VisuMZ_1_MessageCore!
  610.  *
  611.  * ---
  612.  *
  613.  * Appearance
  614.  *
  615.  *   Scale:
  616.  *   - What scale size do you want for the tooltip?
  617.  *   - Use 1.0 for normal size.
  618.  *
  619.  *   Skin Filename:
  620.  *   - What window skin do you want to use for the tooltip?
  621.  *
  622.  *   Skin Opacity:
  623.  *   - What opacity setting is used for the tooltip?
  624.  *   - Use a number between 0 and 255.
  625.  *
  626.  * ---
  627.  *
  628.  * Offset
  629.  *
  630.  *   Offset X:
  631.  *   - Offset the tooltip X position from the mouse?
  632.  *   - Negative: left. Positive: right.
  633.  *
  634.  *   Offset Y:
  635.  *   - Offset the tooltip Y position from the mouse?
  636.  *   - Negative: up. Positive: down.
  637.  *
  638.  * ---
  639.  *
  640.  * ============================================================================
  641.  * Terms of Use
  642.  * ============================================================================
  643.  *
  644.  * 1. These plugins may be used in free or commercial games provided that they
  645.  * have been acquired through legitimate means at VisuStella.com and/or any
  646.  * other official approved VisuStella sources. Exceptions and special
  647.  * circumstances that may prohibit usage will be listed on VisuStella.com.
  648.  *
  649.  * 2. All of the listed coders found in the Credits section of this plugin must
  650.  * be given credit in your games or credited as a collective under the name:
  651.  * "VisuStella".
  652.  *
  653.  * 3. You may edit the source code to suit your needs, so long as you do not
  654.  * claim the source code belongs to you. VisuStella also does not take
  655.  * responsibility for the plugin if any changes have been made to the plugin's
  656.  * code, nor does VisuStella take responsibility for user-provided custom code
  657.  * used for custom control effects including advanced JavaScript notetags
  658.  * and/or plugin parameters that allow custom JavaScript code.
  659.  *
  660.  * 4. You may NOT redistribute these plugins nor take code from this plugin to
  661.  * use as your own. These plugins and their code are only to be downloaded from
  662.  * VisuStella.com and other official/approved VisuStella sources. A list of
  663.  * official/approved sources can also be found on VisuStella.com.
  664.  *
  665.  * 5. VisuStella is not responsible for problems found in your game due to
  666.  * unintended usage, incompatibility problems with plugins outside of the
  667.  * VisuStella MZ library, plugin versions that aren't up to date, nor
  668.  * responsible for the proper working of compatibility patches made by any
  669.  * third parties. VisuStella is not responsible for errors caused by any
  670.  * user-provided custom code used for custom control effects including advanced
  671.  * JavaScript notetags and/or plugin parameters that allow JavaScript code.
  672.  *
  673.  * 6. If a compatibility patch needs to be made through a third party that is
  674.  * unaffiliated with VisuStella that involves using code from the VisuStella MZ
  675.  * library, contact must be made with a member from VisuStella and have it
  676.  * approved. The patch would be placed on VisuStella.com as a free download
  677.  * to the public. Such patches cannot be sold for monetary gain, including
  678.  * commissions, crowdfunding, and/or donations.
  679.  *
  680.  * 7. If this VisuStella MZ plugin is a paid product, all project team members
  681.  * must purchase their own individual copies of the paid product if they are to
  682.  * use it. Usage includes working on related game mechanics, managing related
  683.  * code, and/or using related Plugin Commands and features. Redistribution of
  684.  * the plugin and/or its code to other members of the team is NOT allowed
  685.  * unless they own the plugin itself as that conflicts with Article 4.
  686.  *
  687.  * 8. Any extensions and/or addendums made to this plugin's Terms of Use can be
  688.  * found on VisuStella.com and must be followed.
  689.  *
  690.  * ============================================================================
  691.  * Credits
  692.  * ============================================================================
  693.  *
  694.  * If you are using this plugin, credit the following people in your game:
  695.  *
  696.  * Team VisuStella
  697.  * * Yanfly
  698.  * * Arisu
  699.  * * Olivia
  700.  * * Irina
  701.  *
  702.  * ============================================================================
  703.  * Changelog
  704.  * ============================================================================
  705.  *
  706.  * Version 1.01: July 28, 2022
  707.  * * Bug Fixes!
  708.  * ** Users without the VisuMZ Message Core will no longer get tooltip error
  709.  *    messages when starting battle. Fix made by Irina.
  710.  *
  711.  * Version 1.00 Official Release Date: September 7, 2022
  712.  * * Finished Plugin!
  713.  *
  714.  * ============================================================================
  715.  * End of Helpfile
  716.  * ============================================================================
  717.  *
  718.  * @ ==========================================================================
  719.  * @ Plugin Parameters
  720.  * @ ==========================================================================
  721.  *
  722.  * @param BreakHead
  723.  * @text --------------------------
  724.  * @default ----------------------------------
  725.  *
  726.  * @param InputComboSkills
  727.  * @default Plugin Parameters
  728.  *
  729.  * @param ATTENTION
  730.  * @default READ THE HELP FILE
  731.  *
  732.  * @param BreakSettings
  733.  * @text --------------------------
  734.  * @default ----------------------------------
  735.  *
  736.  * @param DefaultMaxCombo:num
  737.  * @text Default Max Combo
  738.  * @type number
  739.  * @min 1
  740.  * @desc What is the default max combo when the
  741.  * <Input Combo Max: x> notetag isn't used?
  742.  * @default 5
  743.  *
  744.  * @param QueueSwitchID:num
  745.  * @text Input Queue Switch
  746.  * @type switch
  747.  * @desc What switch is turned on/off to detect if Input Combo
  748.  * Skills has a skill queued up?
  749.  * @default 0
  750.  *
  751.  * @param ReduceBackForth:eval
  752.  * @text Reduce Back & Forth?
  753.  * @type boolean
  754.  * @on Reduce
  755.  * @off Allow
  756.  * @desc Reduce unnecessary back and forth motions inbetween
  757.  * Input Combo Skills?
  758.  * @default true
  759.  *
  760.  * @param Sound:struct
  761.  * @text Sound Settings
  762.  * @type struct<Sound>
  763.  * @desc These are the sound effects used for inputs and special combinations for this plugin.
  764.  * @default {"Input":"","inputName:str":"Skill2","inputVolume:num":"90","inputPitch:num":"100","inputPan:num":"0","Special":"","specialName:str":"Skill3","specialVolume:num":"90","specialPitch:num":"100","specialPan:num":"0"}
  765.  *
  766.  * @param UI:struct
  767.  * @text On-Screen UI Visuals
  768.  * @type struct<UI>
  769.  * @desc Determine where and how the UI visuals look while performing Input Combo Skills.
  770.  * @default {"General":"","BackgroundImage:str":"","LargeIconSmoothing:eval":"false","InputComboText:str":"Input Combo Sequence","InputComboAnimation:num":"49","OpacityDisable:num":"128","OpacityRate:num":"16","Scale:num":"0.50","contentDrawJS:func":"\"// Declare Constants\\nconst skill = arguments[0];\\nconst keyIcon = arguments[1];\\nconst costText = arguments[2];\\nconst bitmap = this.contents;\\nconst lineHeight = this.lineHeight();\\nconst iconIndex = skill.iconIndex;\\nconst iconSize = ImageManager.iconWidth * 2;\\n\\n// Draw Large Icon\\nconst hx = Math.ceil(bitmap.width / 2);\\nthis.drawInputComboLargeIcon(iconIndex, hx, 0, iconSize);\\n\\n// Draw Keybind Icon\\nconst kx = hx - iconSize;\\nthis.drawInputComboLargeIcon(keyIcon, kx, 0, iconSize);\\n\\n// Draw Rounded Rectangle\\nconst rx = 0;\\nconst ry = Math.round(iconSize + lineHeight * 0.25);\\nconst rw = bitmap.width;\\nconst rh = Math.round(lineHeight * 1.75);\\nconst radius = 20;\\nconst rcolor = ColorManager.dimColor1();\\nbitmap.fillRoundRect(rx, ry, rw, rh, radius, rcolor);\\n\\n// Draw Skill Name\\nconst name = skill.name;\\nconst ny = ry + ((costText.length > 0) ? 0 : Math.floor((rh - lineHeight) / 2));\\nthis.drawText(name, 0, ny, bitmap.width, 'center');\\n\\n// Draw Cost Text\\nconst cw = this.textSizeEx(costText).width;\\nconst cx = Math.floor((bitmap.width - cw) / 2);\\nconst cy = ry + Math.ceil(lineHeight * 0.75);\\nthis.drawTextEx(costText, cx, cy);\"","backgroundDrawJS:func":"\"// Declare Constants\\nconst bitmap = this;\\nconst width = bitmap.width;\\nconst height = Math.ceil(bitmap.height / 2);\\nconst x = 0;\\nconst y = bitmap.height - height;\\nconst color1 = ColorManager.dimColor1();\\nconst color2 = ColorManager.dimColor2();\\n\\n// Draw Gradient Background\\nconst vert = true;\\nbitmap.gradientFillRect(x, y, width, height, color2, color1, vert);\"","QueueUI":"","queueBackgroundImage:str":"","queueVisibilityFrames:num":"90","queueDrawJS:func":"\"// Declare Constants\\nconst skillList = arguments[0];\\nconst specialSkill = arguments[1];\\nconst maxCombo = arguments[2];\\nconst drawBackRect = arguments[3];\\nconst bitmap = this.contents;\\nconst lineHeight = this.lineHeight();\\nconst iconSize = ImageManager.iconWidth * 2;\\n\\n// Draw Background Rect\\nif (drawBackRect) {\\n    const radius = 20;\\n    const bgColor = ColorManager.dimColor1();\\n    bitmap.fillRoundRect(0, 0, bitmap.width, bitmap.height, radius, bgColor);\\n}\\n\\n// Draw Skill List\\nconst iw = maxCombo * iconSize;\\nconst ih = iconSize;\\nconst ix = Math.floor((bitmap.width - iw) / 2);\\nconst iy = Math.floor(lineHeight / 4);\\nlet dx = Math.floor(iconSize / 2);\\nfor (const skill of skillList) {\\n    const iconIndex = skill.iconIndex;\\n    this.drawInputComboLargeIcon(iconIndex, ix + dx, iy, iconSize);\\n    dx += iconSize;\\n}\\n\\n// Draw Special Skill\\nif (specialSkill) {\\n    const text = '\\\\\\\\I[%1]%2'.format(specialSkill.iconIndex, specialSkill.name);\\n    const textWidth = this.textSizeEx(text).width;\\n    const tx = Math.floor((bitmap.width - textWidth) / 2);\\n    const ty = iy + ih + Math.floor(lineHeight / 2);\\n    this.drawTextEx(text, tx, ty);\\n}\"","queueDrawBackRect:eval":"true","queueRectJS:func":"\"// Declare Constants\\nconst iconHeight = ImageManager.iconHeight;\\nconst lineHeight = Window_Base.prototype.lineHeight();\\nconst padding = $gameSystem.windowPadding();\\n\\n// Calculate Dimensions\\nconst x = Math.round(Graphics.width / 2);\\nconst y = Math.round(Graphics.height / 2);\\nconst w = Math.round(Graphics.width / 3);\\nconst h = (iconHeight + lineHeight + padding) * 2;\\n\\n// Return Rectangle\\nreturn new Rectangle(x, y, w, h);\"","Keybinds":"","KeybindOffsets":"","KeybindUiOffsetX:num":"+0","KeybindUiOffsetY:num":"+0","Down":"","downKeyIcon:num":"0","downBackgroundImage:str":"","downRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lineHeight = Window_Base.prototype.lineHeight();\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst rectWidth = Math.max(192, w);\\nconst h = lines * lineHeight;\\nconst x = Graphics.width - 48 - Math.floor(uiWidth / 2);\\nconst y = Math.floor(Graphics.height * 3 / 4) + Math.ceil(h / 2) + spacing;\\n\\n// Return Rectangle\\nreturn new Rectangle(x, y, rectWidth, h);\"","Left":"","leftKeyIcon:num":"0","leftBackgroundImage:str":"","leftRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst h = lines * Window_Base.prototype.lineHeight();\\nconst x = Graphics.width - 48 - Math.floor(uiWidth / 2) - w - spacing;\\nconst y = Math.floor(Graphics.height * 3 / 4);\\n\\n// Return Rectangle\\nconst rectWidth = Math.max(192, w);\\nreturn new Rectangle(x, y, rectWidth, h);\"","Right":"","rightKeyIcon:num":"0","rightBackgroundImage:str":"","rightRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst h = lines * Window_Base.prototype.lineHeight();\\nconst x = Graphics.width - 48 - Math.floor(uiWidth / 2) + w + spacing;\\nconst y = Math.floor(Graphics.height * 3 / 4);\\n\\n// Return Rectangle\\nconst rectWidth = Math.max(192, w);\\nreturn new Rectangle(x, y, rectWidth, h);\"","Up":"","upKeyIcon:num":"0","upBackgroundImage:str":"","upRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lineHeight = Window_Base.prototype.lineHeight();\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst rectWidth = Math.max(192, w);\\nconst h = lines * lineHeight;\\nconst x = Graphics.width - 48 - Math.floor(uiWidth / 2);\\nconst y = Math.floor(Graphics.height * 3 / 4) - Math.ceil(h / 2) - spacing;\\n\\n// Return Rectangle\\nreturn new Rectangle(x, y, rectWidth, h);\"","Ok":"","okKeyIcon:num":"0","okBackgroundImage:str":"","okRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lineHeight = Window_Base.prototype.lineHeight();\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst rectWidth = Math.max(192, w);\\nconst h = lines * lineHeight;\\nconst x = Math.floor(uiWidth / 2) + 48;\\nconst y = Math.floor(Graphics.height * 3 / 4);\\n\\n// Return Rectangle\\nreturn new Rectangle(x, y, rectWidth, h);\"","Cancel":"","cancelKeyIcon:num":"0","cancelBackgroundImage:str":"","cancelRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lineHeight = Window_Base.prototype.lineHeight();\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst rectWidth = Math.max(192, w);\\nconst h = lines * lineHeight;\\nconst x = Math.floor(uiWidth / 2) + 48 + w + spacing;\\nconst y = Math.floor(Graphics.height * 3 / 4);\\n\\n// Return Rectangle\\nreturn new Rectangle(x, y, rectWidth, h);\"","PageUp":"","pageupKeyIcon:num":"0","pageupBackgroundImage:str":"","pageupRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lineHeight = Window_Base.prototype.lineHeight();\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst rectWidth = Math.max(192, w);\\nconst h = lines * lineHeight;\\nconst x = Math.floor(uiWidth / 2) + 48 - Math.ceil((w + spacing) / 2);\\nconst y = Math.floor(Graphics.height * 3 / 4) - Math.ceil(h / 2) - spacing;\\n\\n// Return Rectangle\\nreturn new Rectangle(x, y, rectWidth, h);\"","PageDown":"","pagedownKeyIcon:num":"0","pagedownBackgroundImage:str":"","pagedownRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lineHeight = Window_Base.prototype.lineHeight();\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst rectWidth = Math.max(192, w);\\nconst h = lines * lineHeight;\\nconst x = Math.floor(uiWidth / 2) + 48 + Math.ceil((w + spacing) / 2);\\nconst y = Math.floor(Graphics.height * 3 / 4) - Math.ceil(h / 2) - spacing;\\n\\n// Return Rectangle\\nreturn new Rectangle(x, y, rectWidth, h);\"","Shift":"","shiftKeyIcon:num":"0","shiftBackgroundImage:str":"","shiftRectJS:func":"\"// Declare Constants\\nconst uiWidth = Math.floor(Graphics.width / 3);\\nconst spacing = 8;\\nconst lineHeight = Window_Base.prototype.lineHeight();\\nconst lines = 4;\\n\\n// Calculate Dimensions\\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\\nconst rectWidth = Math.max(192, w);\\nconst h = lines * lineHeight;\\nconst x = Math.floor(uiWidth / 2) + 48 - w - spacing;\\nconst y = Math.floor(Graphics.height * 3 / 4);\\n\\n// Return Rectangle\\nreturn new Rectangle(x, y, rectWidth, h);\""}
  771.  *
  772.  * @param Tooltip:struct
  773.  * @text UI Tooltip Settings
  774.  * @type struct<Tooltip>
  775.  * @desc Settings for the Input Combo Tooltips Window.
  776.  * Requires VisuMZ_1_MessageCore!
  777.  * @default {"enabled:eval":"true","Appearance":"","Scale:num":"0.6","WindowSkin:str":"Window","WindowOpacity:num":"240","Offset":"","OffsetX:num":"+0","OffsetY:num":"+0"}
  778.  *
  779.  * @param BreakEnd1
  780.  * @text --------------------------
  781.  * @default ----------------------------------
  782.  *
  783.  * @param End Of
  784.  * @default Plugin Parameters
  785.  *
  786.  * @param BreakEnd2
  787.  * @text --------------------------
  788.  * @default ----------------------------------
  789.  *
  790.  */
  791. /* ----------------------------------------------------------------------------
  792.  * Sound Settings
  793.  * ----------------------------------------------------------------------------
  794.  */
  795. /*~struct~Sound:
  796.  *
  797.  * @param Input
  798.  * @text Input Sound
  799.  *
  800.  * @param inputName:str
  801.  * @text Filename
  802.  * @parent Input
  803.  * @type file
  804.  * @dir audio/se/
  805.  * @require 1
  806.  * @desc Filename of the sound effect played.
  807.  * @default Skill2
  808.  *
  809.  * @param inputVolume:num
  810.  * @text Volume
  811.  * @parent Input
  812.  * @type number
  813.  * @max 100
  814.  * @desc Volume of the sound effect played.
  815.  * @default 90
  816.  *
  817.  * @param inputPitch:num
  818.  * @text Pitch
  819.  * @parent Input
  820.  * @type number
  821.  * @desc Pitch of the sound effect played.
  822.  * @default 100
  823.  *
  824.  * @param inputPan:num
  825.  * @text Pan
  826.  * @parent Input
  827.  * @desc Pan of the sound effect played.
  828.  * @default 0
  829.  *
  830.  * @param Special
  831.  * @text Special Sound
  832.  *
  833.  * @param specialName:str
  834.  * @text Filename
  835.  * @parent Special
  836.  * @type file
  837.  * @dir audio/se/
  838.  * @require 1
  839.  * @desc Filename of the sound effect played.
  840.  * @default Skill3
  841.  *
  842.  * @param specialVolume:num
  843.  * @text Volume
  844.  * @parent Special
  845.  * @type number
  846.  * @max 100
  847.  * @desc Volume of the sound effect played.
  848.  * @default 90
  849.  *
  850.  * @param specialPitch:num
  851.  * @text Pitch
  852.  * @parent Special
  853.  * @type number
  854.  * @desc Pitch of the sound effect played.
  855.  * @default 100
  856.  *
  857.  * @param specialPan:num
  858.  * @text Pan
  859.  * @parent Special
  860.  * @desc Pan of the sound effect played.
  861.  * @default 0
  862.  *
  863.  */
  864. /* ----------------------------------------------------------------------------
  865.  * UI Settings
  866.  * ----------------------------------------------------------------------------
  867.  */
  868. /*~struct~UI:
  869.  *
  870.  * @param General
  871.  *
  872.  * @param BackgroundImage:str
  873.  * @text Custom BG Image
  874.  * @parent General
  875.  * @type file
  876.  * @dir img/system/
  877.  * @require 1
  878.  * @desc Do you want to use a custom background image?
  879.  * Located in /img/system/ folder. Covers whole screen.
  880.  * @default
  881.  *
  882.  * @param LargeIconSmoothing:eval
  883.  * @text Icon Smoothing?
  884.  * @parent General
  885.  * @type boolean
  886.  * @on Smooth
  887.  * @off Pixelate
  888.  * @desc Smooth the display for icons?
  889.  * Or pixelate them?
  890.  * @default false
  891.  *
  892.  * @param InputComboText:str
  893.  * @text Input Combo Text
  894.  * @parent General
  895.  * @desc What text do you want displayed when starting an Input Combo sequence?
  896.  * @default Input Combo Sequence
  897.  *
  898.  * @param InputComboAnimation:num
  899.  * @text Sequence Animation
  900.  * @parent InputComboText:str
  901.  * @type animation
  902.  * @desc What animation should be played when starting the Input Combo sequence?
  903.  * @default 49
  904.  *
  905.  * @param OpacityDisable:num
  906.  * @text Disabled Opacity
  907.  * @parent General
  908.  * @desc What is the opacity level for disabled UI elements?
  909.  * @default 128
  910.  *
  911.  * @param OpacityRate:num
  912.  * @text Opacity Rate
  913.  * @parent General
  914.  * @desc Fade in/out the background at what opacity rate?
  915.  * Lower is slower. Higher is faster.
  916.  * @default 16
  917.  *
  918.  * @param Scale:num
  919.  * @text Scale
  920.  * @parent General
  921.  * @desc What is the scale of UI buttons?
  922.  * 0.50 = 50%; 1.00 = 100%; 1.50 = 150%;
  923.  * @default 0.50
  924.  *
  925.  * @param contentDrawJS:func
  926.  * @text JS: Draw Skill Data
  927.  * @parent General
  928.  * @type note
  929.  * @desc Code used to draw the skill data layer while
  930.  * Input Combo Skill inputs are active.
  931.  * @default "// Declare Constants\nconst skill = arguments[0];\nconst keyIcon = arguments[1];\nconst costText = arguments[2];\nconst bitmap = this.contents;\nconst lineHeight = this.lineHeight();\nconst iconIndex = skill.iconIndex;\nconst iconSize = ImageManager.iconWidth * 2;\n\n// Draw Large Icon\nconst hx = Math.ceil(bitmap.width / 2);\nthis.drawInputComboLargeIcon(iconIndex, hx, 0, iconSize);\n\n// Draw Keybind Icon\nconst kx = hx - iconSize;\nthis.drawInputComboLargeIcon(keyIcon, kx, 0, iconSize);\n\n// Draw Rounded Rectangle\nconst rx = 0;\nconst ry = Math.round(iconSize + lineHeight * 0.25);\nconst rw = bitmap.width;\nconst rh = Math.round(lineHeight * 1.75);\nconst radius = 20;\nconst rcolor = ColorManager.dimColor1();\nbitmap.fillRoundRect(rx, ry, rw, rh, radius, rcolor);\n\n// Draw Skill Name\nconst name = skill.name;\nconst ny = ry + ((costText.length > 0) ? 0 : Math.floor((rh - lineHeight) / 2));\nthis.drawText(name, 0, ny, bitmap.width, 'center');\n\n// Draw Cost Text\nconst cw = this.textSizeEx(costText).width;\nconst cx = Math.floor((bitmap.width - cw) / 2);\nconst cy = ry + Math.ceil(lineHeight * 0.75);\nthis.drawTextEx(costText, cx, cy);"
  932.  *
  933.  * @param backgroundDrawJS:func
  934.  * @text JS: Draw Background
  935.  * @parent General
  936.  * @type note
  937.  * @desc Code used to draw the background layer while
  938.  * Input Combo Skill inputs are active.
  939.  * @default "// Declare Constants\nconst bitmap = this;\nconst width = bitmap.width;\nconst height = Math.ceil(bitmap.height / 2);\nconst x = 0;\nconst y = bitmap.height - height;\nconst color1 = ColorManager.dimColor1();\nconst color2 = ColorManager.dimColor2();\n\n// Draw Gradient Background\nconst vert = true;\nbitmap.gradientFillRect(x, y, width, height, color2, color1, vert);"
  940.  *
  941.  * @param QueueUI
  942.  * @text Queue List UI
  943.  *
  944.  * @param queueBackgroundImage:str
  945.  * @text Custom BG Image
  946.  * @parent QueueUI
  947.  * @type file
  948.  * @dir img/system/
  949.  * @require 1
  950.  * @desc Use a custom background image for Queue UI?
  951.  * Located in /img/system/ folder.
  952.  * @default
  953.  *
  954.  * @param queueVisibilityFrames:num
  955.  * @text Visibility Frames
  956.  * @parent QueueUI
  957.  * @type number
  958.  * @min 1
  959.  * @desc How long does the Queue List stay visible for after
  960.  * the player finishes input? 60 frames = 1 second.
  961.  * @default 90
  962.  *
  963.  * @param queueDrawJS:func
  964.  * @text JS: Draw Content
  965.  * @parent QueueUI
  966.  * @type note
  967.  * @desc Code used to draw the list data while inputting skills.
  968.  * @default "// Declare Constants\nconst skillList = arguments[0];\nconst specialSkill = arguments[1];\nconst maxCombo = arguments[2];\nconst drawBackRect = arguments[3];\nconst bitmap = this.contents;\nconst lineHeight = this.lineHeight();\nconst iconSize = ImageManager.iconWidth * 2;\n\n// Draw Background Rect\nif (drawBackRect) {\n    const radius = 20;\n    const bgColor = ColorManager.dimColor1();\n    bitmap.fillRoundRect(0, 0, bitmap.width, bitmap.height, radius, bgColor);\n}\n\n// Draw Skill List\nconst iw = maxCombo * iconSize;\nconst ih = iconSize;\nconst ix = Math.floor((bitmap.width - iw) / 2);\nconst iy = Math.floor(lineHeight / 4);\nlet dx = Math.floor(iconSize / 2);\nfor (const skill of skillList) {\n    const iconIndex = skill.iconIndex;\n    this.drawInputComboLargeIcon(iconIndex, ix + dx, iy, iconSize);\n    dx += iconSize;\n}\n\n// Draw Special Skill\nif (specialSkill) {\n    const text = '\\\\I[%1]%2'.format(specialSkill.iconIndex, specialSkill.name);\n    const textWidth = this.textSizeEx(text).width;\n    const tx = Math.floor((bitmap.width - textWidth) / 2);\n    const ty = iy + ih + Math.floor(lineHeight / 2);\n    this.drawTextEx(text, tx, ty);\n}"
  969.  *
  970.  * @param queueDrawBackRect:eval
  971.  * @text Draw Back Rectangle?
  972.  * @parent queueDrawJS:func
  973.  * @type boolean
  974.  * @on Draw Rectangle
  975.  * @off Don't Draw
  976.  * @desc Draw a rectangle in the back to make the contents easier to read?
  977.  * @default true
  978.  *
  979.  * @param queueRectJS:func
  980.  * @text JS: X, Y, W, H
  981.  * @parent QueueUI
  982.  * @type note
  983.  * @desc Code used to determine the dimensions for this list UI element.
  984.  * @default "// Declare Constants\nconst iconHeight = ImageManager.iconHeight;\nconst lineHeight = Window_Base.prototype.lineHeight();\nconst padding = $gameSystem.windowPadding();\n\n// Calculate Dimensions\nconst x = Math.round(Graphics.width / 2);\nconst y = Math.round(Graphics.height / 2);\nconst w = Math.round(Graphics.width / 3);\nconst h = (iconHeight + lineHeight + padding) * 2;\n\n// Return Rectangle\nreturn new Rectangle(x, y, w, h);"
  985.  *
  986.  * @param Keybinds
  987.  * @text Key Binds
  988.  *
  989.  * @param KeybindOffsets
  990.  * @text Offsets
  991.  * @parent Keybinds
  992.  *
  993.  * @param KeybindUiOffsetX:num
  994.  * @text Key Bind Offset X
  995.  * @parent KeybindOffsets
  996.  * @desc Offset the x coordinate all of key bind buttons.
  997.  * Negative: left. Positive: right.
  998.  * @default +0
  999.  *
  1000.  * @param KeybindUiOffsetY:num
  1001.  * @text Key Bind Offset Y
  1002.  * @parent KeybindOffsets
  1003.  * @desc Offset the y coordinate all of key bind buttons.
  1004.  * Negative: up. Positive: down.
  1005.  * @default +0
  1006.  *
  1007.  * @param KeybindPressed
  1008.  * @text Pressed
  1009.  * @parent Keybinds
  1010.  *
  1011.  * @param KeypressUiOffsetX:num
  1012.  * @text Key Press Offset X
  1013.  * @parent KeybindPressed
  1014.  * @desc Offset the x coordinate when the key is pressed.
  1015.  * Negative: left. Positive: right.
  1016.  * @default -4
  1017.  *
  1018.  * @param KeypressUiOffsetY:num
  1019.  * @text Key Press Offset Y
  1020.  * @parent KeybindPressed
  1021.  * @desc Offset the y coordinate when the key is pressed.
  1022.  * Negative: up. Positive: down.
  1023.  * @default +4
  1024.  *
  1025.  * @param Down
  1026.  * @parent Keybinds
  1027.  *
  1028.  * @param downKeyIcon:num
  1029.  * @text Key Icon
  1030.  * @parent Down
  1031.  * @desc What is the icon used to mark this key bind?
  1032.  * Takes priority over Core Engine's Button Assist.
  1033.  * @default 0
  1034.  *
  1035.  * @param downBackgroundImage:str
  1036.  * @text Custom BG Image
  1037.  * @parent Down
  1038.  * @type file
  1039.  * @dir img/system/
  1040.  * @require 1
  1041.  * @desc Do you want to use a custom background image?
  1042.  * Located in /img/system/ folder. Ignores scaling.
  1043.  * @default
  1044.  *
  1045.  * @param downRectJS:func
  1046.  * @text JS: X, Y, W, H
  1047.  * @parent Down
  1048.  * @type note
  1049.  * @desc Code used to determine the dimensions for this button.
  1050.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lineHeight = Window_Base.prototype.lineHeight();\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst rectWidth = Math.max(192, w);\nconst h = lines * lineHeight;\nconst x = Graphics.width - 48 - Math.floor(uiWidth / 2);\nconst y = Math.floor(Graphics.height * 3 / 4) + Math.ceil(h / 2) + spacing;\n\n// Return Rectangle\nreturn new Rectangle(x, y, rectWidth, h);"
  1051.  *
  1052.  * @param Left
  1053.  * @parent Keybinds
  1054.  *
  1055.  * @param leftKeyIcon:num
  1056.  * @text Key Icon
  1057.  * @parent Left
  1058.  * @desc What is the icon used to mark this key bind?
  1059.  * Takes priority over Core Engine's Button Assist.
  1060.  * @default 0
  1061.  *
  1062.  * @param leftBackgroundImage:str
  1063.  * @text Custom BG Image
  1064.  * @parent Left
  1065.  * @type file
  1066.  * @dir img/system/
  1067.  * @require 1
  1068.  * @desc Do you want to use a custom background image?
  1069.  * Located in /img/system/ folder. Ignores scaling.
  1070.  * @default
  1071.  *
  1072.  * @param leftRectJS:func
  1073.  * @text JS: X, Y, W, H
  1074.  * @parent Left
  1075.  * @type note
  1076.  * @desc Code used to determine the dimensions for this button.
  1077.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst h = lines * Window_Base.prototype.lineHeight();\nconst x = Graphics.width - 48 - Math.floor(uiWidth / 2) - w - spacing;\nconst y = Math.floor(Graphics.height * 3 / 4);\n\n// Return Rectangle\nconst rectWidth = Math.max(192, w);\nreturn new Rectangle(x, y, rectWidth, h);"
  1078.  *
  1079.  * @param Right
  1080.  * @parent Keybinds
  1081.  *
  1082.  * @param rightKeyIcon:num
  1083.  * @text Key Icon
  1084.  * @parent Right
  1085.  * @desc What is the icon used to mark this key bind?
  1086.  * Takes priority over Core Engine's Button Assist.
  1087.  * @default 0
  1088.  *
  1089.  * @param rightBackgroundImage:str
  1090.  * @text Custom BG Image
  1091.  * @parent Right
  1092.  * @type file
  1093.  * @dir img/system/
  1094.  * @require 1
  1095.  * @desc Do you want to use a custom background image?
  1096.  * Located in /img/system/ folder. Ignores scaling.
  1097.  * @default
  1098.  *
  1099.  * @param rightRectJS:func
  1100.  * @text JS: X, Y, W, H
  1101.  * @parent Right
  1102.  * @type note
  1103.  * @desc Code used to determine the dimensions for this button.
  1104.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst h = lines * Window_Base.prototype.lineHeight();\nconst x = Graphics.width - 48 - Math.floor(uiWidth / 2) + w + spacing;\nconst y = Math.floor(Graphics.height * 3 / 4);\n\n// Return Rectangle\nconst rectWidth = Math.max(192, w);\nreturn new Rectangle(x, y, rectWidth, h);"
  1105.  *
  1106.  * @param Up
  1107.  * @parent Keybinds
  1108.  *
  1109.  * @param upKeyIcon:num
  1110.  * @text Key Icon
  1111.  * @parent Up
  1112.  * @desc What is the icon used to mark this key bind?
  1113.  * Takes priority over Core Engine's Button Assist.
  1114.  * @default 0
  1115.  *
  1116.  * @param upBackgroundImage:str
  1117.  * @text Custom BG Image
  1118.  * @parent Up
  1119.  * @type file
  1120.  * @dir img/system/
  1121.  * @require 1
  1122.  * @desc Do you want to use a custom background image?
  1123.  * Located in /img/system/ folder. Ignores scaling.
  1124.  * @default
  1125.  *
  1126.  * @param upRectJS:func
  1127.  * @text JS: X, Y, W, H
  1128.  * @parent Up
  1129.  * @type note
  1130.  * @desc Code used to determine the dimensions for this button.
  1131.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lineHeight = Window_Base.prototype.lineHeight();\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst rectWidth = Math.max(192, w);\nconst h = lines * lineHeight;\nconst x = Graphics.width - 48 - Math.floor(uiWidth / 2);\nconst y = Math.floor(Graphics.height * 3 / 4) - Math.ceil(h / 2) - spacing;\n\n// Return Rectangle\nreturn new Rectangle(x, y, rectWidth, h);"
  1132.  *
  1133.  * @param Ok
  1134.  * @parent Keybinds
  1135.  *
  1136.  * @param okKeyIcon:num
  1137.  * @text Key Icon
  1138.  * @parent Ok
  1139.  * @desc What is the icon used to mark this key bind?
  1140.  * Takes priority over Core Engine's Button Assist.
  1141.  * @default 0
  1142.  *
  1143.  * @param okBackgroundImage:str
  1144.  * @text Custom BG Image
  1145.  * @parent Ok
  1146.  * @type file
  1147.  * @dir img/system/
  1148.  * @require 1
  1149.  * @desc Do you want to use a custom background image?
  1150.  * Located in /img/system/ folder. Ignores scaling.
  1151.  * @default
  1152.  *
  1153.  * @param okRectJS:func
  1154.  * @text JS: X, Y, W, H
  1155.  * @parent Ok
  1156.  * @type note
  1157.  * @desc Code used to determine the dimensions for this button.
  1158.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lineHeight = Window_Base.prototype.lineHeight();\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst rectWidth = Math.max(192, w);\nconst h = lines * lineHeight;\nconst x = Math.floor(uiWidth / 2) + 48;\nconst y = Math.floor(Graphics.height * 3 / 4);\n\n// Return Rectangle\nreturn new Rectangle(x, y, rectWidth, h);"
  1159.  *
  1160.  * @param Cancel
  1161.  * @parent Keybinds
  1162.  *
  1163.  * @param cancelKeyIcon:num
  1164.  * @text Key Icon
  1165.  * @parent Cancel
  1166.  * @desc What is the icon used to mark this key bind?
  1167.  * Takes priority over Core Engine's Button Assist.
  1168.  * @default 0
  1169.  *
  1170.  * @param cancelBackgroundImage:str
  1171.  * @text Custom BG Image
  1172.  * @parent Cancel
  1173.  * @type file
  1174.  * @dir img/system/
  1175.  * @require 1
  1176.  * @desc Do you want to use a custom background image?
  1177.  * Located in /img/system/ folder. Ignores scaling.
  1178.  * @default
  1179.  *
  1180.  * @param cancelRectJS:func
  1181.  * @text JS: X, Y, W, H
  1182.  * @parent Cancel
  1183.  * @type note
  1184.  * @desc Code used to determine the dimensions for this button.
  1185.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lineHeight = Window_Base.prototype.lineHeight();\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst rectWidth = Math.max(192, w);\nconst h = lines * lineHeight;\nconst x = Math.floor(uiWidth / 2) + 48 + w + spacing;\nconst y = Math.floor(Graphics.height * 3 / 4);\n\n// Return Rectangle\nreturn new Rectangle(x, y, rectWidth, h);"
  1186.  *
  1187.  * @param PageUp
  1188.  * @parent Keybinds
  1189.  *
  1190.  * @param pageupKeyIcon:num
  1191.  * @text Key Icon
  1192.  * @parent PageUp
  1193.  * @desc What is the icon used to mark this key bind?
  1194.  * Takes priority over Core Engine's Button Assist.
  1195.  * @default 0
  1196.  *
  1197.  * @param pageupBackgroundImage:str
  1198.  * @text Custom BG Image
  1199.  * @parent PageUp
  1200.  * @type file
  1201.  * @dir img/system/
  1202.  * @require 1
  1203.  * @desc Do you want to use a custom background image?
  1204.  * Located in /img/system/ folder. Ignores scaling.
  1205.  * @default
  1206.  *
  1207.  * @param pageupRectJS:func
  1208.  * @text JS: X, Y, W, H
  1209.  * @parent PageUp
  1210.  * @type note
  1211.  * @desc Code used to determine the dimensions for this button.
  1212.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lineHeight = Window_Base.prototype.lineHeight();\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst rectWidth = Math.max(192, w);\nconst h = lines * lineHeight;\nconst x = Math.floor(uiWidth / 2) + 48 - Math.ceil((w + spacing) / 2);\nconst y = Math.floor(Graphics.height * 3 / 4) - Math.ceil(h / 2) - spacing;\n\n// Return Rectangle\nreturn new Rectangle(x, y, rectWidth, h);"
  1213.  *
  1214.  * @param PageDown
  1215.  * @parent Keybinds
  1216.  *
  1217.  * @param pagedownKeyIcon:num
  1218.  * @text Key Icon
  1219.  * @parent PageDown
  1220.  * @desc What is the icon used to mark this key bind?
  1221.  * Takes priority over Core Engine's Button Assist.
  1222.  * @default 0
  1223.  *
  1224.  * @param pagedownBackgroundImage:str
  1225.  * @text Custom BG Image
  1226.  * @parent PageDown
  1227.  * @type file
  1228.  * @dir img/system/
  1229.  * @require 1
  1230.  * @desc Do you want to use a custom background image?
  1231.  * Located in /img/system/ folder. Ignores scaling.
  1232.  * @default
  1233.  *
  1234.  * @param pagedownRectJS:func
  1235.  * @text JS: X, Y, W, H
  1236.  * @parent PageDown
  1237.  * @type note
  1238.  * @desc Code used to determine the dimensions for this button.
  1239.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lineHeight = Window_Base.prototype.lineHeight();\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst rectWidth = Math.max(192, w);\nconst h = lines * lineHeight;\nconst x = Math.floor(uiWidth / 2) + 48 + Math.ceil((w + spacing) / 2);\nconst y = Math.floor(Graphics.height * 3 / 4) - Math.ceil(h / 2) - spacing;\n\n// Return Rectangle\nreturn new Rectangle(x, y, rectWidth, h);"
  1240.  *
  1241.  * @param Shift
  1242.  * @parent Keybinds
  1243.  *
  1244.  * @param shiftKeyIcon:num
  1245.  * @text Key Icon
  1246.  * @parent Shift
  1247.  * @desc What is the icon used to mark this key bind?
  1248.  * Takes priority over Core Engine's Button Assist.
  1249.  * @default 0
  1250.  *
  1251.  * @param shiftBackgroundImage:str
  1252.  * @text Custom BG Image
  1253.  * @parent Shift
  1254.  * @type file
  1255.  * @dir img/system/
  1256.  * @require 1
  1257.  * @desc Do you want to use a custom background image?
  1258.  * Located in /img/system/ folder. Ignores scaling.
  1259.  * @default
  1260.  *
  1261.  * @param shiftRectJS:func
  1262.  * @text JS: X, Y, W, H
  1263.  * @parent Shift
  1264.  * @type note
  1265.  * @desc Code used to determine the dimensions for this button.
  1266.  * @default "// Declare Constants\nconst uiWidth = Math.floor(Graphics.width / 3);\nconst spacing = 8;\nconst lineHeight = Window_Base.prototype.lineHeight();\nconst lines = 4;\n\n// Calculate Dimensions\nconst w = Math.floor(uiWidth / 3) - (spacing * 2);\nconst rectWidth = Math.max(192, w);\nconst h = lines * lineHeight;\nconst x = Math.floor(uiWidth / 2) + 48 - w - spacing;\nconst y = Math.floor(Graphics.height * 3 / 4);\n\n// Return Rectangle\nreturn new Rectangle(x, y, rectWidth, h);"
  1267.  *
  1268.  */
  1269. /* ----------------------------------------------------------------------------
  1270.  * Tooltip Settings
  1271.  * ----------------------------------------------------------------------------
  1272.  */
  1273. /*~struct~Tooltip:
  1274.  *
  1275.  * @param enabled:eval
  1276.  * @text Enabled?
  1277.  * @type boolean
  1278.  * @on Enable
  1279.  * @off Disable
  1280.  * @desc Are tooltips enabled?
  1281.  * Requires VisuMZ_1_MessageCore!
  1282.  * @default true
  1283.  *
  1284.  * @param Appearance
  1285.  *
  1286.  * @param Scale:num
  1287.  * @text Scale
  1288.  * @parent Appearance
  1289.  * @desc What scale size do you want for the tooltip?
  1290.  * Use 1.0 for normal size.
  1291.  * @default 0.6
  1292.  *
  1293.  * @param WindowSkin:str
  1294.  * @text Skin Filename
  1295.  * @parent Appearance
  1296.  * @type file
  1297.  * @dir img/system/
  1298.  * @desc What window skin do you want to use for the tooltip?
  1299.  * @default Window
  1300.  *
  1301.  * @param WindowOpacity:num
  1302.  * @text Skin Opacity
  1303.  * @parent Appearance
  1304.  * @type number
  1305.  * @min 0
  1306.  * @max 255
  1307.  * @desc What opacity setting is used for the tooltip?
  1308.  * Use a number between 0 and 255.
  1309.  * @default 240
  1310.  *
  1311.  * @param Offset
  1312.  *
  1313.  * @param OffsetX:num
  1314.  * @text Offset X
  1315.  * @parent Offset
  1316.  * @desc Offset the tooltip X position from the mouse?
  1317.  * Negative: left. Positive: right.
  1318.  * @default +0
  1319.  *
  1320.  * @param OffsetY:num
  1321.  * @text Offset Y
  1322.  * @parent Offset
  1323.  * @desc Offset the tooltip Y position from the mouse?
  1324.  * Negative: up. Positive: down.
  1325.  * @default +0
  1326.  *
  1327.  */
  1328. //=============================================================================
  1329.  
  1330. const _0x2b276d=_0x3fe0;(function(_0x2da23b,_0x35fc4c){const _0x392844=_0x3fe0,_0x28f343=_0x2da23b();while(!![]){try{const _0x3f7eed=parseInt(_0x392844(0x288))/0x1+parseInt(_0x392844(0x20f))/0x2*(parseInt(_0x392844(0x2b9))/0x3)+parseInt(_0x392844(0x1e2))/0x4+parseInt(_0x392844(0x2a3))/0x5+-parseInt(_0x392844(0x2c2))/0x6+-parseInt(_0x392844(0x19f))/0x7+-parseInt(_0x392844(0x1da))/0x8*(parseInt(_0x392844(0x17b))/0x9);if(_0x3f7eed===_0x35fc4c)break;else _0x28f343['push'](_0x28f343['shift']());}catch(_0x48c3a6){_0x28f343['push'](_0x28f343['shift']());}}}(_0x4880,0x2a0e0));var label=_0x2b276d(0x2a8),tier=tier||0x0,dependencies=[_0x2b276d(0x282),_0x2b276d(0x2ba)],pluginData=$plugins['filter'](function(_0x58babb){const _0x41a17d=_0x2b276d;return _0x58babb[_0x41a17d(0x1c0)]&&_0x58babb['description']['includes']('['+label+']');})[0x0];VisuMZ[label][_0x2b276d(0x214)]=VisuMZ[label][_0x2b276d(0x214)]||{},VisuMZ[_0x2b276d(0x26c)]=function(_0x48ca24,_0x5cb4b7){const _0x32a83e=_0x2b276d;for(const _0x3dea6a in _0x5cb4b7){if(_0x3dea6a[_0x32a83e(0x1e8)](/(.*):(.*)/i)){if(_0x32a83e(0x20c)!==_0x32a83e(0x20c)){const _0x438771=_0x4132ae[_0x32a83e(0x1cf)];this[_0x32a83e(0x29c)](_0x438771,_0x22508c+_0x12baf9,_0x5470c0,_0x339bb5),_0x3689e1+=_0x16df3a;}else{const _0xdc5a99=String(RegExp['$1']),_0x3d02de=String(RegExp['$2'])[_0x32a83e(0x239)]()[_0x32a83e(0x296)]();let _0x3a1c2b,_0x4868bb,_0x370eaa;switch(_0x3d02de){case _0x32a83e(0x177):_0x3a1c2b=_0x5cb4b7[_0x3dea6a]!==''?Number(_0x5cb4b7[_0x3dea6a]):0x0;break;case _0x32a83e(0x1ab):_0x4868bb=_0x5cb4b7[_0x3dea6a]!==''?JSON['parse'](_0x5cb4b7[_0x3dea6a]):[],_0x3a1c2b=_0x4868bb[_0x32a83e(0x19b)](_0x211bf3=>Number(_0x211bf3));break;case _0x32a83e(0x215):_0x3a1c2b=_0x5cb4b7[_0x3dea6a]!==''?eval(_0x5cb4b7[_0x3dea6a]):null;break;case _0x32a83e(0x225):_0x4868bb=_0x5cb4b7[_0x3dea6a]!==''?JSON[_0x32a83e(0x28b)](_0x5cb4b7[_0x3dea6a]):[],_0x3a1c2b=_0x4868bb[_0x32a83e(0x19b)](_0x533a42=>eval(_0x533a42));break;case'JSON':_0x3a1c2b=_0x5cb4b7[_0x3dea6a]!==''?JSON['parse'](_0x5cb4b7[_0x3dea6a]):'';break;case _0x32a83e(0x262):_0x4868bb=_0x5cb4b7[_0x3dea6a]!==''?JSON[_0x32a83e(0x28b)](_0x5cb4b7[_0x3dea6a]):[],_0x3a1c2b=_0x4868bb[_0x32a83e(0x19b)](_0x1cce08=>JSON[_0x32a83e(0x28b)](_0x1cce08));break;case _0x32a83e(0x1a3):_0x3a1c2b=_0x5cb4b7[_0x3dea6a]!==''?new Function(JSON[_0x32a83e(0x28b)](_0x5cb4b7[_0x3dea6a])):new Function(_0x32a83e(0x1a0));break;case _0x32a83e(0x184):_0x4868bb=_0x5cb4b7[_0x3dea6a]!==''?JSON[_0x32a83e(0x28b)](_0x5cb4b7[_0x3dea6a]):[],_0x3a1c2b=_0x4868bb['map'](_0x2b2310=>new Function(JSON['parse'](_0x2b2310)));break;case _0x32a83e(0x172):_0x3a1c2b=_0x5cb4b7[_0x3dea6a]!==''?String(_0x5cb4b7[_0x3dea6a]):'';break;case _0x32a83e(0x1d0):_0x4868bb=_0x5cb4b7[_0x3dea6a]!==''?JSON['parse'](_0x5cb4b7[_0x3dea6a]):[],_0x3a1c2b=_0x4868bb[_0x32a83e(0x19b)](_0x1fdfb0=>String(_0x1fdfb0));break;case'STRUCT':_0x370eaa=_0x5cb4b7[_0x3dea6a]!==''?JSON['parse'](_0x5cb4b7[_0x3dea6a]):{},_0x3a1c2b=VisuMZ['ConvertParams']({},_0x370eaa);break;case'ARRAYSTRUCT':_0x4868bb=_0x5cb4b7[_0x3dea6a]!==''?JSON[_0x32a83e(0x28b)](_0x5cb4b7[_0x3dea6a]):[],_0x3a1c2b=_0x4868bb['map'](_0x134c04=>VisuMZ['ConvertParams']({},JSON[_0x32a83e(0x28b)](_0x134c04)));break;default:continue;}_0x48ca24[_0xdc5a99]=_0x3a1c2b;}}}return _0x48ca24;},(_0x3264b7=>{const _0x96ff20=_0x2b276d,_0x3c16fe=_0x3264b7[_0x96ff20(0x2c9)];for(const _0x4d1b8a of dependencies){if(!Imported[_0x4d1b8a]){if(_0x96ff20(0x17c)!=='zgKbi'){alert(_0x96ff20(0x186)[_0x96ff20(0x2aa)](_0x3c16fe,_0x4d1b8a)),SceneManager['exit']();break;}else{this[_0x96ff20(0x221)]=!![],_0x3e27f5[_0x96ff20(0x1c6)](_0x1a2274,_0x33d311[_0x96ff20(0x293)]());_0x26bd81['INPUT_COMBO_TEXT'][_0x96ff20(0x2d8)]>0x0&&this[_0x96ff20(0x1a9)]('addText',_0x124886[_0x96ff20(0x232)]);this['push']('performActionStart',_0x41d92d,_0x2fcba2),this[_0x96ff20(0x1a9)](_0x96ff20(0x185));const _0x22a760=_0x57a672[_0x96ff20(0x1f1)](_0x286bb8['item']());_0x22a760>0x0&&this[_0x96ff20(0x1a9)](_0x96ff20(0x1d8),_0x1e3ce0,[_0x27ba5d],_0x22a760);}}}const _0x4778c5=_0x3264b7[_0x96ff20(0x207)];if(_0x4778c5[_0x96ff20(0x1e8)](/\[Version[ ](.*?)\]/i)){const _0x834744=Number(RegExp['$1']);_0x834744!==VisuMZ[label]['version']&&(_0x96ff20(0x250)===_0x96ff20(0x250)?(alert(_0x96ff20(0x218)[_0x96ff20(0x2aa)](_0x3c16fe,_0x834744)),SceneManager[_0x96ff20(0x220)]()):this[_0x96ff20(0x2be)]?this[_0x96ff20(0x1d6)]():this['onMouseExit']());}if(_0x4778c5[_0x96ff20(0x1e8)](/\[Tier[ ](\d+)\]/i)){if(_0x96ff20(0x294)!=='psrQg')return!!this[_0x96ff20(0x247)](_0x2a1208);else{const _0x4877ad=Number(RegExp['$1']);_0x4877ad<tier?(alert(_0x96ff20(0x1a5)[_0x96ff20(0x2aa)](_0x3c16fe,_0x4877ad,tier)),SceneManager[_0x96ff20(0x220)]()):tier=Math[_0x96ff20(0x236)](_0x4877ad,tier);}}VisuMZ[_0x96ff20(0x26c)](VisuMZ[label][_0x96ff20(0x214)],_0x3264b7[_0x96ff20(0x21f)]);})(pluginData),VisuMZ['InputComboSkills'][_0x2b276d(0x2d5)]={'InputKey':/<(?:INPUT COMBO|COMBO) SKILL[ ](.*):[ ](.*)>/gi,'AvailableSpecial':/<(?:AVAILABLE INPUT COMBO|AVAILABLE COMBO|INPUT COMBO|COMBO) SPECIAL[ ](.*):[ ](.*)>/gi,'ForcedSpecial':/<(?:ALWAYS|FORCE|FORCED) (?:INPUT COMBO|COMBO) SPECIAL[ ](.*):[ ](.*)>/gi,'LearnedSpecial':/<(?:LEARNED|KNOWN) (?:INPUT COMBO|COMBO) SPECIAL[ ](.*):[ ](.*)>/gi,'ComboOnly':/<(?:INPUT COMBO|COMBO) ONLY>/i,'ComboMax':/<(?:INPUT COMBO|COMBO) MAX:[ ](\d+)>/i,'ComboStartAni':/<(?:INPUT COMBO|COMBO) START (?:ANI|ANIMATION):[ ](\d+)>/i},VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x270)]=VisuMZ['InputComboSkills']['Settings'][_0x2b276d(0x1ec)]||0x1,VisuMZ[_0x2b276d(0x2a8)]['Keys']=[_0x2b276d(0x1dd),_0x2b276d(0x2dd),_0x2b276d(0x25c),'up','ok',_0x2b276d(0x1ca),_0x2b276d(0x283),_0x2b276d(0x24b),_0x2b276d(0x16d)],VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x1ce)]=function(_0x8243e0){const _0x554b43=_0x2b276d;_0x8243e0=_0x8243e0[_0x554b43(0x195)]()[_0x554b43(0x296)]();switch(_0x8243e0){case'2':return'down';case'4':return _0x554b43(0x2dd);case'6':return'right';case'8':return'up';case's':return _0x554b43(0x16d);case'z':return'ok';case'x':return _0x554b43(0x1ca);case'q':return _0x554b43(0x283);case'w':return _0x554b43(0x24b);}return _0x8243e0;},DataManager[_0x2b276d(0x20d)]=function(_0x1795b4){const _0x2f94ad=_0x2b276d;if(!_0x1795b4)return!![];if(!DataManager['isSkill'](_0x1795b4))return!![];this[_0x2f94ad(0x285)]=this[_0x2f94ad(0x285)]||{};if(this[_0x2f94ad(0x285)][_0x1795b4['id']])return this['_hasInputComboSkillsConflict'][_0x1795b4['id']];const _0x3e6554=_0x1795b4['note']||'',_0x5a8692=['ActiveChainSkills',_0x2f94ad(0x206),'QuirkFusionSkills'];this['_hasInputComboSkillsConflict'][_0x1795b4['id']]=![];for(const _0x29077c of _0x5a8692){if(!VisuMZ[_0x29077c])continue;const _0x140693=VisuMZ[_0x29077c][_0x2f94ad(0x2d5)];for(const _0x342269 in _0x140693){if(_0x3e6554[_0x2f94ad(0x1e8)](_0x140693[_0x342269])){this['_hasInputComboSkillsConflict'][_0x1795b4['id']]=!![];break;}}if(this[_0x2f94ad(0x285)][_0x1795b4['id']])break;}return this[_0x2f94ad(0x285)][_0x1795b4['id']];},DataManager[_0x2b276d(0x227)]=function(_0x55c42a){const _0x39af66=_0x2b276d;if(!_0x55c42a)return![];if(!DataManager[_0x39af66(0x265)](_0x55c42a))return![];if(DataManager[_0x39af66(0x20d)](_0x55c42a))return![];const _0x1d7d33=VisuMZ['InputComboSkills'][_0x39af66(0x2d5)],_0x5ee442=_0x55c42a[_0x39af66(0x19d)]||'';if(_0x5ee442[_0x39af66(0x1e8)](_0x1d7d33[_0x39af66(0x216)]))return!![];return![];},DataManager[_0x2b276d(0x1f1)]=function(_0x113ad6){const _0x564ba2=_0x2b276d;if(!_0x113ad6)return Window_BattleLog[_0x564ba2(0x2ca)];if(!DataManager[_0x564ba2(0x265)](_0x113ad6))return Window_BattleLog['INPUT_COMBO_ANIMATION'];const _0x1995e2=VisuMZ[_0x564ba2(0x2a8)][_0x564ba2(0x2d5)],_0x26eaeb=_0x113ad6[_0x564ba2(0x19d)]||'';if(_0x26eaeb[_0x564ba2(0x1e8)](_0x1995e2[_0x564ba2(0x2e1)])){if(_0x564ba2(0x208)==='EDacB'){if(_0xb6f27b[_0x564ba2(0x1a7)]&&this[_0x564ba2(0x1d4)]){if(this[_0x564ba2(0x1d4)][_0x564ba2(0x1be)])return;}_0x5b0c13['InputComboSkills'][_0x564ba2(0x1cc)][_0x564ba2(0x268)](this);}else return Number(RegExp['$1']);}return Window_BattleLog[_0x564ba2(0x2ca)];},DataManager['getInputComboMax']=function(_0x5db13a){const _0x1a6aca=_0x2b276d;if(!_0x5db13a)return VisuMZ[_0x1a6aca(0x2a8)][_0x1a6aca(0x270)];if(!DataManager[_0x1a6aca(0x265)](_0x5db13a))return VisuMZ[_0x1a6aca(0x2a8)]['INPUT_COMBO_DEFAULT_MAX'];this[_0x1a6aca(0x22b)]=this['_inputComboMax']||{};if(this[_0x1a6aca(0x22b)][_0x5db13a['id']])return this['_inputComboMax'][_0x5db13a['id']];const _0x4576c8=VisuMZ[_0x1a6aca(0x2a8)][_0x1a6aca(0x2d5)],_0x26118f=_0x5db13a[_0x1a6aca(0x19d)]||'';return this[_0x1a6aca(0x22b)][_0x5db13a['id']]=VisuMZ[_0x1a6aca(0x2a8)][_0x1a6aca(0x270)],_0x26118f[_0x1a6aca(0x1e8)](_0x4576c8[_0x1a6aca(0x16a)])&&('HZWYb'===_0x1a6aca(0x1e5)?this['_inputComboMax'][_0x5db13a['id']]=Math['max'](Number(RegExp['$1']),0x1):this[_0x1a6aca(0x1a9)]('showAnimation',_0x525ce3,[_0x274b90],_0x5ccdad)),this[_0x1a6aca(0x22b)][_0x5db13a['id']];},Bitmap['prototype'][_0x2b276d(0x1c5)]=function(_0xe5a3ee,_0x5b0ec3,_0x711208,_0x485c0d,_0x4fab92,_0x3733ca){const _0x164547=_0x2b276d,_0x4e338a=_0xe5a3ee+_0x711208,_0x406b7a=_0x5b0ec3+_0x485c0d,_0x4de140=this[_0x164547(0x21d)];_0x4de140['save'](),_0x4de140['fillStyle']=_0x3733ca,_0x4de140[_0x164547(0x19c)](),_0x4de140[_0x164547(0x1a6)](_0xe5a3ee+_0x4fab92,_0x5b0ec3),_0x4de140[_0x164547(0x1b5)](_0x4e338a-_0x4fab92,_0x5b0ec3),_0x4de140[_0x164547(0x297)](_0x4e338a,_0x5b0ec3,_0x4e338a,_0x5b0ec3+_0x4fab92),_0x4de140[_0x164547(0x1b5)](_0x4e338a,_0x5b0ec3+_0x485c0d-_0x4fab92),_0x4de140[_0x164547(0x297)](_0x4e338a,_0x406b7a,_0x4e338a-_0x4fab92,_0x406b7a),_0x4de140[_0x164547(0x1b5)](_0xe5a3ee+_0x4fab92,_0x406b7a),_0x4de140[_0x164547(0x297)](_0xe5a3ee,_0x406b7a,_0xe5a3ee,_0x406b7a-_0x4fab92),_0x4de140[_0x164547(0x1b5)](_0xe5a3ee,_0x5b0ec3+_0x4fab92),_0x4de140[_0x164547(0x297)](_0xe5a3ee,_0x5b0ec3,_0xe5a3ee+_0x4fab92,_0x5b0ec3),_0x4de140[_0x164547(0x1fe)](),_0x4de140[_0x164547(0x266)](),this['_baseTexture'][_0x164547(0x1d5)]();},SoundManager['playInputComboSkillsSound']=function(_0x556d9f){const _0x208d1e=_0x2b276d,_0x178b44=VisuMZ[_0x208d1e(0x2a8)]['Settings'][_0x208d1e(0x165)],_0x30be16={'name':_0x178b44[_0x208d1e(0x259)['format'](_0x556d9f)]||'','volume':_0x178b44[_0x208d1e(0x2a9)[_0x208d1e(0x2aa)](_0x556d9f)]||0x0,'pitch':_0x178b44[_0x208d1e(0x2a1)['format'](_0x556d9f)]||0x0,'pan':_0x178b44[_0x208d1e(0x211)[_0x208d1e(0x2aa)](_0x556d9f)]||0x0};AudioManager['playSe'](_0x30be16);},VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x2bd)]=Game_Temp[_0x2b276d(0x1eb)]['initialize'],Game_Temp[_0x2b276d(0x1eb)]['initialize']=function(){const _0x1d4074=_0x2b276d;VisuMZ[_0x1d4074(0x2a8)][_0x1d4074(0x2bd)][_0x1d4074(0x268)](this),this[_0x1d4074(0x228)]();},Game_Temp['prototype']['clearInputComboSkills']=function(){const _0x1de877=_0x2b276d;this[_0x1de877(0x253)]=null,this[_0x1de877(0x246)]=[],this['_inputComboSkillKeys']={},this[_0x1de877(0x1d2)]={},this[_0x1de877(0x1b6)]='',this['_inputComboSkillSpecialSkillID']=0x0,this[_0x1de877(0x27f)]=0x0;},Game_Temp['prototype'][_0x2b276d(0x1c6)]=function(_0x1046e3,_0x2c0316){const _0x47de49=_0x2b276d;this[_0x47de49(0x228)](),this[_0x47de49(0x212)](_0x1046e3),this[_0x47de49(0x251)](_0x2c0316),this[_0x47de49(0x2d3)](_0x2c0316,_0x47de49(0x1b9)),this[_0x47de49(0x2d3)](_0x2c0316,_0x47de49(0x231)),this['registerInputComboSpecials'](_0x2c0316,_0x47de49(0x1e3)),this[_0x47de49(0x2df)](_0x2c0316);},Game_Temp[_0x2b276d(0x1eb)]['registerInputComboSkillsActor']=function(_0x2c6a29){const _0x21990d=_0x2b276d;this[_0x21990d(0x253)]=_0x2c6a29;},Game_Temp[_0x2b276d(0x1eb)]['registerInputComboSkills']=function(_0x56d6c3){const _0x609910=_0x2b276d,_0x210a78=VisuMZ[_0x609910(0x2a8)][_0x609910(0x2d5)],_0x17d527=VisuMZ[_0x609910(0x2a8)][_0x609910(0x257)][_0x609910(0x2a5)](),_0x3432ea=_0x56d6c3[_0x609910(0x19d)]||'',_0x58122a=_0x3432ea[_0x609910(0x1e8)](_0x210a78[_0x609910(0x216)]);if(_0x58122a)for(const _0x446494 of _0x58122a){if(_0x609910(0x2c3)===_0x609910(0x1f5))this[_0x609910(0x27c)]=this['_skill']['description']||'';else{_0x446494['match'](_0x210a78['InputKey']);let _0x11a1af=String(RegExp['$1'])[_0x609910(0x195)]()[_0x609910(0x296)]();const _0x4e8685=String(RegExp['$2']);_0x11a1af=VisuMZ[_0x609910(0x2a8)][_0x609910(0x1ce)](_0x11a1af);if(!_0x17d527[_0x609910(0x240)](_0x11a1af))continue;const _0x3809d5=/^\d+$/[_0x609910(0x192)](_0x4e8685);let _0x3ab13d=0x0;if(_0x3809d5){if(_0x609910(0x28c)!==_0x609910(0x2bf))_0x3ab13d=Number(_0x4e8685);else{_0x52d669[_0x609910(0x1eb)]['onMouseEnter'][_0x609910(0x268)](this);const _0x3795d3=this['tooltipWindow']();if(!_0x3795d3)return;const _0x153988=_0x2dad1f[_0x609910(0x20e)],_0x233542=_0x153988&&_0x153988[_0x609910(0x286)]?_0x153988[_0x609910(0x286)]():![];if(_0x3795d3&&_0x233542){const _0x2c1c49=_0x4ac43e[this['_lastSkillID']];_0x3795d3[_0x609910(0x2ae)](_0x2c1c49);}}}else _0x3ab13d=DataManager['getSkillIdWithName'](_0x4e8685);if(_0x3ab13d<=0x0)continue;this[_0x609910(0x18e)][_0x11a1af]=_0x3ab13d;}}},Game_Temp['prototype'][_0x2b276d(0x2d3)]=function(_0x3c7787,_0x4c18bb){const _0x18f387=_0x2b276d,_0x362800=VisuMZ[_0x18f387(0x2a8)][_0x18f387(0x2d5)],_0x28dccd=_0x3c7787[_0x18f387(0x19d)]||'',_0x1d19d1=this['_inputComboSkillUser'],_0x3da76f=_0x28dccd['match'](_0x362800[_0x4c18bb]);if(_0x3da76f){if(_0x18f387(0x2cf)==='xLMvH')for(const _0x100f5a of _0x3da76f){_0x100f5a[_0x18f387(0x1e8)](_0x362800[_0x4c18bb]);let _0x57b165=String(RegExp['$1'])['toUpperCase']()['trim']();const _0x3d0538=String(RegExp['$2']);_0x57b165=_0x57b165['replace'](/D/gi,'2'),_0x57b165=_0x57b165['replace'](/L/gi,'4'),_0x57b165=_0x57b165['replace'](/R/gi,'6'),_0x57b165=_0x57b165[_0x18f387(0x27a)](/U/gi,'8');const _0x2b1409=/^\d+$/[_0x18f387(0x192)](_0x3d0538);let _0x530ec8=0x0;_0x2b1409?_0x530ec8=Number(_0x3d0538):_0x530ec8=DataManager['getSkillIdWithName'](_0x3d0538);if(_0x530ec8<=0x0)continue;if(_0x4c18bb===_0x18f387(0x1b9)&&!_0x1d19d1['hasSkill'](_0x530ec8))continue;if(_0x4c18bb===_0x18f387(0x1e3)&&!_0x1d19d1[_0x18f387(0x1ed)](_0x530ec8))continue;this[_0x18f387(0x1d2)][_0x57b165]=_0x530ec8;}else{if(!_0x340754[_0x18f387(0x2cd)])return;if(!_0x245e29['_subject'][_0x18f387(0x199)]())return;if(!_0x5ce419[_0x18f387(0x2cd)][_0x18f387(0x295)])return;_0xd0f2ae[_0x18f387(0x2cd)][_0x18f387(0x295)]=_0x1b17f0,_0x47ed32[_0x18f387(0x2cd)]['queueNextInputComboSkill']();}}},Game_Temp[_0x2b276d(0x1eb)][_0x2b276d(0x2df)]=function(_0x36cd5e){const _0x334a16=_0x2b276d;this[_0x334a16(0x27f)]=DataManager[_0x334a16(0x2b6)](_0x36cd5e);},Game_Temp[_0x2b276d(0x1eb)]['getInputComboSkillsUser']=function(){const _0x59ccde=_0x2b276d;return this[_0x59ccde(0x253)]||null;},Game_Temp['prototype'][_0x2b276d(0x247)]=function(_0x2f64fd){const _0x425a6c=_0x2b276d;if(!this[_0x425a6c(0x18e)])return null;return this[_0x425a6c(0x18e)][_0x2f64fd];},Game_Temp[_0x2b276d(0x1eb)][_0x2b276d(0x187)]=function(_0x364ad0){const _0x4fdc0c=_0x2b276d;return!!this[_0x4fdc0c(0x247)](_0x364ad0);},Game_Temp['prototype'][_0x2b276d(0x277)]=function(){const _0x17ecb7=_0x2b276d;return(this[_0x17ecb7(0x246)]||[])['length']>0x0;},Game_Temp[_0x2b276d(0x1eb)][_0x2b276d(0x1ac)]=function(_0x10ded7){const _0x1f744a=_0x2b276d;this['addToInputComboSkillsQueueFromKey'](_0x10ded7),this[_0x1f744a(0x21e)](),this[_0x1f744a(0x271)](_0x10ded7);if(this[_0x1f744a(0x254)]()){if('SMpfO'!=='SMpfO'){const _0x376575=_0x62b3dc[_0x1f744a(0x2a8)][_0x1f744a(0x214)]['UI'];this[_0x1f744a(0x1f2)]=_0x376575[_0x1f744a(0x273)](),this['x']=this[_0x1f744a(0x1f2)]['x'],this['y']=this[_0x1f744a(0x1f2)]['y'],this[_0x1f744a(0x25e)]['x']=0.5,this[_0x1f744a(0x25e)]['y']=0.5,this[_0x1f744a(0x210)]=[],this[_0x1f744a(0x1e6)]=0x0,this[_0x1f744a(0x2bc)]=0x0,this[_0x1f744a(0x1bf)]=0x0,this[_0x1f744a(0x166)]=0x0;}else SceneManager['_scene'][_0x1f744a(0x269)]['endInputComboSkill']();}},Game_Temp[_0x2b276d(0x1eb)][_0x2b276d(0x1db)]=function(_0x16201a){const _0x16a7d4=_0x2b276d,_0x18b876=$dataSkills[$gameTemp[_0x16a7d4(0x247)](_0x16201a)];this['_inputComboSkillQueue'][_0x16a7d4(0x1a9)](_0x18b876['id']);},Game_Temp['prototype'][_0x2b276d(0x21e)]=function(){const _0x14eae3=_0x2b276d,_0x4ebfb0=this['getInputComboSkillsUser'](),_0xec72b7=this[_0x14eae3(0x246)][this[_0x14eae3(0x246)]['length']-0x1],_0x500641=$dataSkills[_0xec72b7];_0x4ebfb0['paySkillCost'](_0x500641);},Game_Temp[_0x2b276d(0x1eb)][_0x2b276d(0x271)]=function(_0x587b73){const _0x4ca991=_0x2b276d;if(_0x587b73===_0x4ca991(0x1dd))this[_0x4ca991(0x1b6)]+='2';if(_0x587b73===_0x4ca991(0x2dd))this['_inputComboSkillSpecialString']+='4';if(_0x587b73==='right')this[_0x4ca991(0x1b6)]+='6';if(_0x587b73==='up')this[_0x4ca991(0x1b6)]+='8';if(_0x587b73==='ok')this['_inputComboSkillSpecialString']+='Z';if(_0x587b73===_0x4ca991(0x1ca))this[_0x4ca991(0x1b6)]+='X';if(_0x587b73===_0x4ca991(0x283))this[_0x4ca991(0x1b6)]+='Q';if(_0x587b73===_0x4ca991(0x24b))this[_0x4ca991(0x1b6)]+='W';if(_0x587b73===_0x4ca991(0x16d))this['_inputComboSkillSpecialString']+='S';},Game_Temp[_0x2b276d(0x1eb)]['checkForInputComboSkillsEnd']=function(){const _0x5e3080=_0x2b276d,_0x43d11f=this['_inputComboSkillSpecialString'][_0x5e3080(0x239)]()['trim']();if(this[_0x5e3080(0x1d2)][_0x43d11f]){const _0x5bd7bc=this[_0x5e3080(0x1d2)][_0x43d11f];return this[_0x5e3080(0x246)][_0x5e3080(0x1a9)](_0x5bd7bc),SoundManager[_0x5e3080(0x25b)](_0x5e3080(0x18b)),this[_0x5e3080(0x1c1)]=_0x5bd7bc,!![];}return SoundManager['playInputComboSkillsSound'](_0x5e3080(0x256)),this['_inputComboSkillQueue'][_0x5e3080(0x2d8)]>=this[_0x5e3080(0x27f)];},Game_Temp['prototype'][_0x2b276d(0x176)]=function(){const _0x12d2c0=_0x2b276d;this[_0x12d2c0(0x205)]={'user':null,'skillID':-0x1};},Game_Temp[_0x2b276d(0x1eb)][_0x2b276d(0x24e)]=function(_0x1a08b4,_0x7cb3c){const _0x34a41b=_0x2b276d;if(this[_0x34a41b(0x205)]===undefined)this[_0x34a41b(0x176)]();this[_0x34a41b(0x205)][_0x34a41b(0x2c8)]=_0x1a08b4,this[_0x34a41b(0x205)]['skillID']=_0x7cb3c;},Game_Temp['prototype']['checkInputComboSkillCostBypass']=function(_0x301f3e,_0x1e3f46){const _0x52c465=_0x2b276d;if(this[_0x52c465(0x205)]===undefined)this[_0x52c465(0x176)]();return this[_0x52c465(0x205)][_0x52c465(0x2c8)]===_0x301f3e&&this['_inputComboSkillCostBypass']['skillID']===_0x1e3f46;},VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x28e)]=Game_Battler[_0x2b276d(0x1eb)][_0x2b276d(0x2c0)],Game_Battler['prototype'][_0x2b276d(0x2c0)]=function(_0x18f6b6){const _0xd2c852=_0x2b276d;$gameTemp['checkInputComboSkillCostBypass'](this,_0x18f6b6?_0x18f6b6['id']:0x0)&&('gXJdP'!==_0xd2c852(0x2e3)?DataManager[_0xd2c852(0x22f)]=!![]:(this[_0xd2c852(0x19a)]=![],this[_0xd2c852(0x2b0)]=![])),VisuMZ['InputComboSkills'][_0xd2c852(0x28e)][_0xd2c852(0x268)](this,_0x18f6b6),DataManager[_0xd2c852(0x22f)]=![];},VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x2d7)]=DataManager[_0x2b276d(0x265)],DataManager[_0x2b276d(0x265)]=function(_0xe1eb7d){const _0x1915eb=_0x2b276d;if(DataManager[_0x1915eb(0x22f)])return![];return VisuMZ[_0x1915eb(0x2a8)][_0x1915eb(0x2d7)][_0x1915eb(0x268)](this,_0xe1eb7d);},Game_Temp[_0x2b276d(0x1eb)][_0x2b276d(0x1f6)]=function(){const _0x12b7a7=_0x2b276d,_0x572b7a=BattleManager[_0x12b7a7(0x2cd)];if(!_0x572b7a)return!![];const _0x134667=VisuMZ[_0x12b7a7(0x2a8)]['Keys'][_0x12b7a7(0x2a5)](),_0x2c61e2=_0x134667[_0x12b7a7(0x17a)](_0x425ea5=>this[_0x12b7a7(0x187)](_0x425ea5))['map'](_0x2f7c9c=>this[_0x12b7a7(0x247)](_0x2f7c9c))['map'](_0x39cb0d=>$dataSkills[_0x39cb0d])[_0x12b7a7(0x17a)](_0x5cd80c=>_0x572b7a[_0x12b7a7(0x1bd)](_0x5cd80c));return _0x2c61e2[_0x12b7a7(0x2d8)]<=0x0;},Game_Switches[_0x2b276d(0x1eb)]['updateInputComboSkillSwitch']=function(_0x58ac46){const _0x3e529a=_0x2b276d,_0x10fceb=VisuMZ[_0x3e529a(0x2a8)]['Settings'][_0x3e529a(0x1c2)];if(_0x10fceb<=0x0)return;const _0x42ec1b=this[_0x3e529a(0x253)]===_0x58ac46&&this[_0x3e529a(0x246)][_0x3e529a(0x2d8)]>0x0;this['setValue'](_0x10fceb,_0x42ec1b);},VisuMZ[_0x2b276d(0x2a8)]['Game_Action_applyGlobal']=Game_Action[_0x2b276d(0x1eb)][_0x2b276d(0x2af)],Game_Action[_0x2b276d(0x1eb)]['applyGlobal']=function(){const _0x2ae190=_0x2b276d;VisuMZ[_0x2ae190(0x2a8)]['Game_Action_applyGlobal'][_0x2ae190(0x268)](this),$gameTemp['clearInputComboSkillCostBypass'](),this[_0x2ae190(0x22e)]();},Game_Action['prototype'][_0x2b276d(0x22e)]=function(){const _0x2bab2=_0x2b276d;if(!$gameTemp[_0x2bab2(0x277)]())return;if(this[_0x2bab2(0x167)]()!==$gameTemp[_0x2bab2(0x253)]){if(_0x2bab2(0x196)===_0x2bab2(0x196)){$gameTemp[_0x2bab2(0x228)]();return;}else this['_cacheQueue']=_0x2038cf[_0x2bab2(0x246)]['clone'](),this['_cacheSpecialSkillID']=_0xc8fb1a[_0x2bab2(0x1c1)],this[_0x2bab2(0x2bc)]=_0x2cf825[_0x2bab2(0x27f)],this['refreshBitmap']();}this[_0x2bab2(0x167)]()[_0x2bab2(0x295)]=!![];},VisuMZ['InputComboSkills'][_0x2b276d(0x1e0)]=Game_BattlerBase[_0x2b276d(0x1eb)]['meetsSkillConditions'],Game_BattlerBase['prototype'][_0x2b276d(0x2b1)]=function(_0x551106){const _0x2a177e=_0x2b276d;if(!this[_0x2a177e(0x2b4)](_0x551106))return![];return VisuMZ[_0x2a177e(0x2a8)]['Game_BattlerBase_meetsSkillConditions'][_0x2a177e(0x268)](this,_0x551106);},Game_BattlerBase['prototype'][_0x2b276d(0x2b4)]=function(_0x50e730){const _0x3e7dcf=_0x2b276d;if(!_0x50e730)return![];const _0x4dccae=VisuMZ[_0x3e7dcf(0x2a8)][_0x3e7dcf(0x2d5)],_0x45c123=_0x50e730[_0x3e7dcf(0x19d)]||'';if(_0x45c123[_0x3e7dcf(0x1e8)](_0x4dccae[_0x3e7dcf(0x2ab)])){if(!this[_0x3e7dcf(0x199)]())return![];if(!SceneManager['isSceneBattle']())return![];const _0x466286=SceneManager['_scene'][_0x3e7dcf(0x269)];if(_0x466286&&!_0x466286[_0x3e7dcf(0x221)])return![];return this[_0x3e7dcf(0x189)];}return!![];},Game_Actor[_0x2b276d(0x1eb)][_0x2b276d(0x2d4)]=function(){const _0x446d94=_0x2b276d;if($gameTemp[_0x446d94(0x253)]!==this)return;this[_0x446d94(0x241)](),$gameSwitches[_0x446d94(0x2db)](this),this[_0x446d94(0x2c4)]();},Game_Actor[_0x2b276d(0x1eb)]['forceActionInputComboSkill']=function(){const _0x4c63c4=_0x2b276d;Sprite_Actor[_0x4c63c4(0x1a7)]&&(this['_bypassStepBackward_InputComboSkill']=$gameTemp[_0x4c63c4(0x246)][_0x4c63c4(0x2d8)]>0x0);while($gameTemp[_0x4c63c4(0x246)]['length']>0x0){if(_0x4c63c4(0x290)==='UxSkq'){const _0x284d8f=$gameTemp[_0x4c63c4(0x246)]['shift'](),_0x205240=$dataSkills[_0x284d8f];if(!_0x205240)continue;this[_0x4c63c4(0x189)]=!![];if(!this[_0x4c63c4(0x1b8)](_0x205240)){this['_checkInputComboOnlySkill']=![];continue;}if(this[_0x4c63c4(0x1c7)](_0x205240['id']))continue;if(this['isSkillTypeSealed'](_0x205240[_0x4c63c4(0x1f7)]))continue;const _0x5bf79=BattleManager[_0x4c63c4(0x2b2)][0x0],_0x2db36c=$gameTroop[_0x4c63c4(0x299)]()[_0x4c63c4(0x21c)](_0x5bf79);this[_0x4c63c4(0x1af)](_0x284d8f,_0x2db36c),BattleManager[_0x4c63c4(0x1af)](this),$gameTemp[_0x4c63c4(0x24e)](this,_0x205240['id']);Sprite_Actor[_0x4c63c4(0x1a7)]&&(this[_0x4c63c4(0x1be)]=!![]);return;}else{_0x19159a=_0x5da467['toLowerCase']()[_0x4c63c4(0x296)]();switch(_0x137b78){case'2':return _0x4c63c4(0x1dd);case'4':return _0x4c63c4(0x2dd);case'6':return _0x4c63c4(0x25c);case'8':return'up';case's':return'shift';case'z':return'ok';case'x':return _0x4c63c4(0x1ca);case'q':return _0x4c63c4(0x283);case'w':return'pagedown';}return _0x2973d2;}}Sprite_Actor['INPUT_COMBO_REDUCE_BACK_FORTH']&&(this[_0x4c63c4(0x16f)]=![]);},Game_Actor[_0x2b276d(0x1eb)]['clearInputComboSkillQueue']=function(){const _0x5daefd=_0x2b276d;if($gameTemp['_inputComboSkillQueue'][_0x5daefd(0x2d8)]>=0x0)return;$gameTemp[_0x5daefd(0x228)]();},Game_Actor[_0x2b276d(0x1eb)][_0x2b276d(0x2b3)]=function(){const _0x126af2=_0x2b276d,_0xc26f29=Object[_0x126af2(0x1a8)]($gameTemp[_0x126af2(0x1d2)]);if(_0xc26f29[_0x126af2(0x2d8)]>0x0){if(_0x126af2(0x18c)!==_0x126af2(0x18c))this[_0x126af2(0x16f)]=_0x267445['_inputComboSkillQueue'][_0x126af2(0x2d8)]>0x0;else{const _0x102cb7=_0xc26f29[Math[_0x126af2(0x2de)](_0xc26f29[_0x126af2(0x2d8)])],_0x54af50=VisuMZ[_0x126af2(0x2a8)][_0x126af2(0x19e)](_0x102cb7);this['autoQueueInputComboSpecial'](_0x54af50);}}else _0x126af2(0x2bb)!==_0x126af2(0x1ae)?this[_0x126af2(0x2cc)]():_0x229d5a=_0x4fccb2(_0x27d92b);},Game_Actor['prototype'][_0x2b276d(0x2cc)]=function(){const _0x10a679=_0x2b276d,_0x56f4f1=SceneManager[_0x10a679(0x20e)][_0x10a679(0x269)];if(!_0x56f4f1[_0x10a679(0x221)])return;const _0x4c288a=VisuMZ[_0x10a679(0x2a8)][_0x10a679(0x257)]['clone'](),_0x24cf3f=_0x4c288a[_0x10a679(0x17a)](_0x47984b=>$gameTemp[_0x10a679(0x187)](_0x47984b))[_0x10a679(0x17a)](_0x2b524d=>this[_0x10a679(0x1bd)]($dataSkills[$gameTemp[_0x10a679(0x247)](_0x2b524d)]));if(_0x24cf3f[_0x10a679(0x2d8)]>0x0){const _0x383537=_0x24cf3f[Math[_0x10a679(0x2de)](_0x24cf3f[_0x10a679(0x2d8)])];$gameTemp['queueInputComboSkillsFromKey'](_0x383537),setTimeout(this[_0x10a679(0x2cc)]['bind'](this),0xc8);}},Game_Actor[_0x2b276d(0x1eb)][_0x2b276d(0x169)]=function(_0x505811){const _0x17f8df=_0x2b276d,_0x3c6eba=SceneManager[_0x17f8df(0x20e)]['_logWindow'];if(!_0x3c6eba['_inputComboSkillMode'])return;const _0xc5f161=_0x505811[_0x17f8df(0x16d)](),_0x5675e6=$dataSkills[$gameTemp['getInputComboSkillsKey'](_0xc5f161)];this[_0x17f8df(0x1bd)](_0x5675e6)?($gameTemp['queueInputComboSkillsFromKey'](_0xc5f161),setTimeout(this['autoQueueInputComboSpecial'][_0x17f8df(0x2d1)](this,_0x505811),0xc8)):setTimeout(this[_0x17f8df(0x2cc)][_0x17f8df(0x2d1)](this),0xc8);},VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x19e)]=function(_0x181f76){const _0x3705ba=_0x2b276d,_0x14ca96=[],_0x23f013=_0x181f76[_0x3705ba(0x1bc)]('');for(const _0x3a1a55 of _0x23f013){if(_0x3705ba(0x1c9)!==_0x3705ba(0x1c9)){const _0x5a44b2=_0x4f4712[this[_0x3705ba(0x1ee)]];_0xd47218[_0x3705ba(0x2ae)](_0x5a44b2);}else{if(_0x3a1a55==='2')_0x14ca96[_0x3705ba(0x1a9)](_0x3705ba(0x1dd));if(_0x3a1a55==='4')_0x14ca96[_0x3705ba(0x1a9)](_0x3705ba(0x2dd));if(_0x3a1a55==='6')_0x14ca96['push'](_0x3705ba(0x25c));if(_0x3a1a55==='8')_0x14ca96[_0x3705ba(0x1a9)]('up');if(_0x3a1a55==='Z')_0x14ca96['push']('ok');if(_0x3a1a55==='X')_0x14ca96[_0x3705ba(0x1a9)](_0x3705ba(0x1ca));if(_0x3a1a55==='Q')_0x14ca96[_0x3705ba(0x1a9)](_0x3705ba(0x283));if(_0x3a1a55==='W')_0x14ca96[_0x3705ba(0x1a9)](_0x3705ba(0x24b));if(_0x3a1a55==='S')_0x14ca96[_0x3705ba(0x1a9)]('shift');}}return _0x14ca96;},VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x2d9)]=Scene_Battle['prototype']['createDisplayObjects'],Scene_Battle['prototype'][_0x2b276d(0x249)]=function(){const _0x69f70=_0x2b276d;VisuMZ[_0x69f70(0x2a8)][_0x69f70(0x2d9)][_0x69f70(0x268)](this),this[_0x69f70(0x23c)]();},Scene_Battle[_0x2b276d(0x1eb)][_0x2b276d(0x23c)]=function(){const _0x328eb7=_0x2b276d;this[_0x328eb7(0x1de)](),this[_0x328eb7(0x1b4)](),this[_0x328eb7(0x274)](),this[_0x328eb7(0x203)](),this[_0x328eb7(0x1fb)](),this[_0x328eb7(0x1f9)]();},Scene_Battle['prototype']['createInputComboSkillsUiContainer']=function(){const _0x3aab4c=_0x2b276d;this[_0x3aab4c(0x171)]=new Sprite(),this[_0x3aab4c(0x23d)](this[_0x3aab4c(0x171)]),this[_0x3aab4c(0x171)]['opacity']=0x0;},Scene_Battle['prototype'][_0x2b276d(0x1b4)]=function(){const _0x14fcd6=_0x2b276d,_0x297868=VisuMZ[_0x14fcd6(0x2a8)][_0x14fcd6(0x214)]['UI'];if(_0x297868[_0x14fcd6(0x238)]){if(_0x14fcd6(0x213)!==_0x14fcd6(0x2d6)){const _0x440014=new Sprite();this[_0x14fcd6(0x171)][_0x14fcd6(0x23d)](_0x440014);const _0x1e7d07=new Bitmap(Graphics['width'],Graphics[_0x14fcd6(0x1b3)]);_0x440014[_0x14fcd6(0x182)]=_0x1e7d07;const _0x167403=_0x297868[_0x14fcd6(0x238)];_0x167403[_0x14fcd6(0x268)](_0x440014['bitmap']);}else this['onMouseExit']();}if(_0x297868[_0x14fcd6(0x2ad)]!==''){if(_0x14fcd6(0x27b)===_0x14fcd6(0x244)){if(!_0x4a656e)return _0x1526aa[_0x14fcd6(0x2ca)];if(!_0x2cede7[_0x14fcd6(0x265)](_0x288c83))return _0x398af4[_0x14fcd6(0x2ca)];const _0x1b4443=_0x2be0ba[_0x14fcd6(0x2a8)][_0x14fcd6(0x2d5)],_0x4cc5b4=_0x3bc324['note']||'';if(_0x4cc5b4[_0x14fcd6(0x1e8)](_0x1b4443[_0x14fcd6(0x2e1)]))return _0x1c90a2(_0x247e77['$1']);return _0x464901['INPUT_COMBO_ANIMATION'];}else{const _0x14a2fd=new Sprite();this[_0x14fcd6(0x171)][_0x14fcd6(0x23d)](_0x14a2fd);const _0x41bf6d=ImageManager['loadSystem'](_0x297868[_0x14fcd6(0x2ad)]);_0x14a2fd[_0x14fcd6(0x182)]=_0x41bf6d;}}},Scene_Battle['prototype'][_0x2b276d(0x274)]=function(){const _0x31df7e=_0x2b276d;this[_0x31df7e(0x2a0)]={};const _0x795c04=VisuMZ[_0x31df7e(0x2a8)][_0x31df7e(0x257)][_0x31df7e(0x2a5)]();for(const _0x5002f3 of _0x795c04){const _0x3dc842=new Sprite_InputComboButton(_0x5002f3);this[_0x31df7e(0x171)][_0x31df7e(0x23d)](_0x3dc842),this[_0x31df7e(0x2a0)][_0x5002f3]=_0x3dc842;}},Scene_Battle[_0x2b276d(0x1eb)]['createInputComboSkillsUiQueueList']=function(){const _0x2daed3=_0x2b276d;this[_0x2daed3(0x1aa)]=new Sprite_InputComboQueueList(),this[_0x2daed3(0x23d)](this['_inputComboSkillQueueListSprite']);},Scene_Battle[_0x2b276d(0x1eb)][_0x2b276d(0x1fb)]=function(){const _0x312b8e=_0x2b276d;if(!Imported[_0x312b8e(0x198)])return;if(!Window_InputComboSkillsTooltip['ENABLED'])return;this[_0x312b8e(0x2ac)]=new Window_InputComboSkillsTooltip(),this[_0x312b8e(0x23d)](this[_0x312b8e(0x2ac)]);},Scene_Battle['prototype']['checkInputComboSkillsIncompatibility']=function(){const _0x2decd9=_0x2b276d;if(Imported[_0x2decd9(0x193)]&&VisuMZ[_0x2decd9(0x245)][_0x2decd9(0x2b8)]<1.12){if(_0x2decd9(0x24d)!=='UgDvb'){const _0x5e14c3=_0x2decd9(0x28a);alert(_0x5e14c3),SceneManager[_0x2decd9(0x220)]();}else return;}},VisuMZ[_0x2b276d(0x2a8)]['Scene_Battle_update']=Scene_Battle[_0x2b276d(0x1eb)][_0x2b276d(0x1d5)],Scene_Battle[_0x2b276d(0x1eb)][_0x2b276d(0x1d5)]=function(){const _0x416b44=_0x2b276d;VisuMZ['InputComboSkills']['Scene_Battle_update']['call'](this);if(this[_0x416b44(0x286)]())this[_0x416b44(0x201)]();this[_0x416b44(0x1c8)](),this[_0x416b44(0x2da)]();},Scene_Battle[_0x2b276d(0x1eb)][_0x2b276d(0x201)]=function(){const _0x2de058=_0x2b276d;if($gameTemp[_0x2de058(0x1f6)]()){this['_logWindow'][_0x2de058(0x233)]();return;}const _0x255c16=BattleManager[_0x2de058(0x2cd)],_0x7855c3=VisuMZ[_0x2de058(0x2a8)][_0x2de058(0x257)][_0x2de058(0x2a5)]();if(_0x255c16[_0x2de058(0x267)]())return;for(const _0x2a9391 of _0x7855c3){if(!$gameTemp[_0x2de058(0x187)](_0x2a9391))continue;const _0xdd9936=$dataSkills[$gameTemp[_0x2de058(0x247)](_0x2a9391)];if(!_0xdd9936)continue;if(!_0x255c16[_0x2de058(0x1bd)](_0xdd9936))continue;if(!Input[_0x2de058(0x264)](_0x2a9391))continue;this[_0x2de058(0x2a0)][_0x2a9391][_0x2de058(0x24f)]=0x4,$gameTemp[_0x2de058(0x1ac)](_0x2a9391);break;}},Scene_Battle['prototype'][_0x2b276d(0x286)]=function(){return this['_logWindow']&&this['_logWindow']['_inputComboSkillMode'];},Scene_Battle[_0x2b276d(0x1eb)][_0x2b276d(0x1c8)]=function(){const _0x16c9ab=_0x2b276d,_0x352f26=VisuMZ[_0x16c9ab(0x2a8)][_0x16c9ab(0x214)]['UI'],_0xefc438=this[_0x16c9ab(0x286)]();if(this['_inputComboSkillsUiContainer']){const _0x419de2=_0x352f26[_0x16c9ab(0x2ce)]*(_0xefc438?0x1:-0x1);this[_0x16c9ab(0x171)][_0x16c9ab(0x166)]+=_0x419de2;}},Scene_Battle['prototype'][_0x2b276d(0x2da)]=function(){const _0x5986b5=_0x2b276d;if(!BattleManager['_subject'])return;if(!BattleManager[_0x5986b5(0x2cd)][_0x5986b5(0x199)]())return;if(!BattleManager[_0x5986b5(0x2cd)][_0x5986b5(0x295)])return;BattleManager[_0x5986b5(0x2cd)][_0x5986b5(0x295)]=undefined,BattleManager['_subject'][_0x5986b5(0x2d4)]();},Sprite_Actor[_0x2b276d(0x1a7)]=VisuMZ[_0x2b276d(0x2a8)]['Settings'][_0x2b276d(0x1b2)]??!![],VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x1cc)]=Sprite_Actor[_0x2b276d(0x1eb)]['stepForward'],Sprite_Actor[_0x2b276d(0x1eb)][_0x2b276d(0x1b7)]=function(){const _0x1209a7=_0x2b276d;if(Sprite_Actor[_0x1209a7(0x1a7)]&&this['_battler']){if(this['_battler'][_0x1209a7(0x1be)]){if(_0x1209a7(0x194)==='LBcta'){_0x3cf745['InputComboSkills'][_0x1209a7(0x26a)][_0x1209a7(0x268)](this);if(this[_0x1209a7(0x286)]())this[_0x1209a7(0x201)]();this[_0x1209a7(0x1c8)](),this[_0x1209a7(0x2da)]();}else return;}}VisuMZ[_0x1209a7(0x2a8)][_0x1209a7(0x1cc)][_0x1209a7(0x268)](this);},VisuMZ[_0x2b276d(0x2a8)]['Sprite_Actor_stepBack']=Sprite_Actor[_0x2b276d(0x1eb)]['stepBack'],Sprite_Actor[_0x2b276d(0x1eb)][_0x2b276d(0x181)]=function(){const _0x2f0462=_0x2b276d;if(Sprite_Actor[_0x2f0462(0x1a7)]&&this[_0x2f0462(0x1d4)]){if(this['_battler'][_0x2f0462(0x16f)]){if(_0x2f0462(0x183)===_0x2f0462(0x22a)){if(_0x1549da[_0x2f0462(0x253)]!==this)return;this['forceActionInputComboSkill'](),_0x4f2297[_0x2f0462(0x2db)](this),this[_0x2f0462(0x2c4)]();}else return;}}VisuMZ[_0x2f0462(0x2a8)][_0x2f0462(0x2d0)][_0x2f0462(0x268)](this);},VisuMZ['InputComboSkills'][_0x2b276d(0x260)]=BattleManager['endAction'],BattleManager[_0x2b276d(0x2b5)]=function(){const _0x545adb=_0x2b276d;Sprite_Actor[_0x545adb(0x1a7)]&&this[_0x545adb(0x2cd)]&&this[_0x545adb(0x2cd)][_0x545adb(0x199)]()&&(this[_0x545adb(0x2cd)][_0x545adb(0x1be)]=this[_0x545adb(0x2cd)][_0x545adb(0x16f)],this[_0x545adb(0x2cd)]['_bypassStepBackward_InputComboSkill']=![]),VisuMZ[_0x545adb(0x2a8)][_0x545adb(0x260)][_0x545adb(0x268)](this);};function Sprite_InputComboButton(){this['initialize'](...arguments);}Sprite_InputComboButton[_0x2b276d(0x1eb)]=Object[_0x2b276d(0x1d3)](Sprite_Clickable[_0x2b276d(0x1eb)]),Sprite_InputComboButton[_0x2b276d(0x1eb)]['constructor']=Sprite_InputComboButton,Sprite_InputComboButton[_0x2b276d(0x27e)]=VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x214)]['UI']['KeypressUiOffsetX']??-0x4,Sprite_InputComboButton['KEY_PRESS_OFFSET_Y']=VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x214)]['UI'][_0x2b276d(0x26e)]??+0x4,Sprite_InputComboButton[_0x2b276d(0x1eb)]['initialize']=function(_0x331ce8){const _0x245046=_0x2b276d;this[_0x245046(0x1ff)]=_0x331ce8,Sprite_Clickable[_0x245046(0x1eb)][_0x245046(0x1c3)][_0x245046(0x268)](this),this[_0x245046(0x25d)](),this['debugFillRect'](),this['createBackgroundSprite'](),this[_0x245046(0x1e9)](),this['createContentWindow']();},Sprite_InputComboButton['prototype'][_0x2b276d(0x25d)]=function(){const _0x2cbf2e=_0x2b276d,_0x46e675=VisuMZ[_0x2cbf2e(0x2a8)]['Settings']['UI'],_0xa10a46=_0x2cbf2e(0x1f4)[_0x2cbf2e(0x2aa)](this['_key']);if(_0x46e675[_0xa10a46])this[_0x2cbf2e(0x1f2)]=_0x46e675[_0xa10a46]();else{if('wKDVs'===_0x2cbf2e(0x1b1))this['_dimensions']=new Rectangle(0x0,0x0,0x0,0x0);else{const _0x14a895=this['getInputComboSkillsUser'](),_0x4a45a2=this[_0x2cbf2e(0x246)][this[_0x2cbf2e(0x246)]['length']-0x1],_0x3dab66=_0x41ca25[_0x4a45a2];_0x14a895['paySkillCost'](_0x3dab66);}}this['x']=this['_dimensions']['x']+(_0x46e675[_0x2cbf2e(0x29a)]||0x0),this['y']=this['_dimensions']['y']+(_0x46e675[_0x2cbf2e(0x24a)]||0x0),this[_0x2cbf2e(0x25e)]['x']=0.5,this[_0x2cbf2e(0x25e)]['y']=0.5,this[_0x2cbf2e(0x2c5)]['x']=_0x46e675[_0x2cbf2e(0x289)],this[_0x2cbf2e(0x2c5)]['y']=_0x46e675['Scale'],this['opacity']=0x0,this['_lastActor']=null,this[_0x2cbf2e(0x1ee)]=null,this['_lastInputType']=null;},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x1f8)]=function(){const _0x239495=_0x2b276d,_0x5b8100=![],_0x2b12ed=_0x5b8100?_0x239495(0x1e1):ColorManager['dimColor2']();this[_0x239495(0x182)]=new Bitmap(this[_0x239495(0x1f2)]['width'],this[_0x239495(0x1f2)][_0x239495(0x1b3)]),this[_0x239495(0x182)][_0x239495(0x1f3)](0x0,0x0,this[_0x239495(0x182)][_0x239495(0x217)],this[_0x239495(0x182)][_0x239495(0x1b3)],_0x2b12ed);},Sprite_InputComboButton[_0x2b276d(0x1eb)]['createBackgroundSprite']=function(){const _0x4d7804=_0x2b276d,_0x1b7807=VisuMZ[_0x4d7804(0x2a8)][_0x4d7804(0x214)]['UI'],_0x7b2716=_0x1b7807[_0x4d7804(0x204)[_0x4d7804(0x2aa)](this[_0x4d7804(0x1ff)])];if(!_0x7b2716)return;const _0x2da25e=new Sprite();this[_0x4d7804(0x23d)](_0x2da25e),_0x2da25e['bitmap']=ImageManager['loadSystem'](_0x7b2716),_0x2da25e[_0x4d7804(0x25e)]['x']=0.5,_0x2da25e[_0x4d7804(0x25e)]['y']=0.5,_0x2da25e['scale']['x']=0x1/(this[_0x4d7804(0x2c5)]['x']||0.01),_0x2da25e[_0x4d7804(0x2c5)]['y']=0x1/(this[_0x4d7804(0x2c5)]['y']||0.01);},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x1e9)]=function(){const _0x148606=_0x2b276d;this[_0x148606(0x1d7)]=new Sprite(),this['addChild'](this['_contentSprite']),this[_0x148606(0x1d7)][_0x148606(0x25e)]['x']=0.5,this[_0x148606(0x1d7)][_0x148606(0x25e)]['y']=0.5;},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x170)]=function(){const _0x1b570d=_0x2b276d,_0x5a963d=$gameSystem[_0x1b570d(0x18a)](),_0x437a1e=this[_0x1b570d(0x1f2)]['width']+_0x5a963d*0x2,_0x29f6b6=this['_dimensions']['height']+_0x5a963d*0x2,_0x414528=new Rectangle(0x0,0x0,_0x437a1e,_0x29f6b6);this[_0x1b570d(0x222)]=new Window_Base(_0x414528);},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x1d5)]=function(){const _0x8561fe=_0x2b276d;Sprite_Clickable[_0x8561fe(0x1eb)][_0x8561fe(0x1d5)]['call'](this),this['updateOpacity'](),this[_0x8561fe(0x1d1)]();if(this[_0x8561fe(0x202)]())this[_0x8561fe(0x281)]();},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x24c)]=function(){const _0x326e46=_0x2b276d;this[_0x326e46(0x166)]=this[_0x326e46(0x21b)]();},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x21b)]=function(){const _0x3bb9e5=_0x2b276d;if(!$gameTemp[_0x3bb9e5(0x187)](this[_0x3bb9e5(0x1ff)]))return 0x0;const _0x54bcee=VisuMZ[_0x3bb9e5(0x2a8)][_0x3bb9e5(0x214)]['UI']['OpacityDisable'],_0x1dabaa=$gameTemp['getInputComboSkillsKey'](this[_0x3bb9e5(0x1ff)]);if(_0x1dabaa===null)return _0x54bcee;const _0xeec55d=BattleManager['_subject'];if(!_0xeec55d)return _0x54bcee;const _0x30afbd=$dataSkills[_0x1dabaa];if(!_0xeec55d['canUse'](_0x30afbd))return _0x54bcee;return 0xff;},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x1d1)]=function(){const _0x1981a2=_0x2b276d,_0x5282be=VisuMZ['InputComboSkills'][_0x1981a2(0x214)]['UI'];this['x']=this['_dimensions']['x']+(_0x5282be[_0x1981a2(0x29a)]||0x0),this['y']=this[_0x1981a2(0x1f2)]['y']+(_0x5282be['KeybindUiOffsetY']||0x0),this['_pressed']&&(this['_pressedDuration']=0x4),this['_pressedDuration']-->0x0&&(this['x']+=Sprite_InputComboButton[_0x1981a2(0x27e)],this['y']+=Sprite_InputComboButton['KEY_PRESS_OFFSET_Y']);},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x281)]=function(){const _0x2b2436=_0x2b276d;this[_0x2b2436(0x2a4)]=BattleManager['_subject'],this[_0x2b2436(0x1ee)]=$gameTemp['getInputComboSkillsKey'](this[_0x2b2436(0x1ff)]),Imported['VisuMZ_0_CoreEngine']&&Input[_0x2b2436(0x23b)]&&(this[_0x2b2436(0x1e4)]=Input[_0x2b2436(0x23b)]()),this[_0x2b2436(0x219)]();},Sprite_InputComboButton[_0x2b276d(0x1eb)]['meetsUpdateBitmapConditions']=function(){const _0x5409b0=_0x2b276d;if(this[_0x5409b0(0x2a4)]!==BattleManager[_0x5409b0(0x2cd)])return!![];if(this[_0x5409b0(0x1ee)]!==$gameTemp[_0x5409b0(0x247)](this[_0x5409b0(0x1ff)]))return!![];if(Imported[_0x5409b0(0x278)]&&Input[_0x5409b0(0x23b)]){if(this[_0x5409b0(0x1e4)]!==Input[_0x5409b0(0x23b)]())return!![];}return![];},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x219)]=function(){const _0x363fee=_0x2b276d,_0x5d2e5a=VisuMZ[_0x363fee(0x2a8)][_0x363fee(0x214)]['UI'],_0x368712=this['_contentWindow']['contents'],_0x3e4583=$dataSkills[this[_0x363fee(0x1ee)]];if(!_0x3e4583)return;if(!BattleManager[_0x363fee(0x2cd)])return;_0x368712[_0x363fee(0x1a4)](),this[_0x363fee(0x222)][_0x363fee(0x25a)]();const _0x142c2b=this['getButtonIcon'](),_0x5e7708=BattleManager[_0x363fee(0x2cd)],_0x50fc36=this[_0x363fee(0x222)][_0x363fee(0x23a)](_0x5e7708,_0x3e4583);_0x5d2e5a[_0x363fee(0x1a1)]['call'](this['_contentWindow'],_0x3e4583,_0x142c2b,_0x50fc36),this[_0x363fee(0x1d7)][_0x363fee(0x182)]=_0x368712;},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x23e)]=function(){const _0x196ae8=_0x2b276d,_0x38dfe6=VisuMZ[_0x196ae8(0x2a8)][_0x196ae8(0x214)]['UI'],_0x5cec7b=_0x196ae8(0x276)[_0x196ae8(0x2aa)](this[_0x196ae8(0x1ff)]);if(_0x38dfe6[_0x5cec7b])return _0x38dfe6[_0x5cec7b];if(Imported[_0x196ae8(0x278)]){const _0x3c3121=TextManager[_0x196ae8(0x1e7)](this[_0x196ae8(0x1ff)]);if(_0x3c3121&&_0x3c3121[_0x196ae8(0x1e8)](/\\I\[(\d+)\]/i))return Number(RegExp['$1']);}return 0x0;},Sprite_InputComboButton[_0x2b276d(0x1eb)]['onClick']=function(){const _0x239d04=_0x2b276d;Sprite_Clickable[_0x239d04(0x1eb)]['onClick'][_0x239d04(0x268)](this);const _0x5b55a4=$dataSkills[$gameTemp[_0x239d04(0x247)](this[_0x239d04(0x1ff)])];BattleManager[_0x239d04(0x2cd)]&&_0x5b55a4&&$gameTemp[_0x239d04(0x1ac)](this['_key']);const _0xfe083c=this['tooltipWindow']();_0xfe083c&&(_0x239d04(0x2d2)!==_0x239d04(0x2e2)?_0xfe083c[_0x239d04(0x2ae)](null):(this[_0x239d04(0x19a)]=!![],this[_0x239d04(0x20a)]()));},Sprite_InputComboButton[_0x2b276d(0x1eb)]['isClickEnabled']=function(){const _0x4948c8=_0x2b276d;if(this[_0x4948c8(0x166)]<=0x0)return![];const _0x58cf67=SceneManager[_0x4948c8(0x20e)];if(!_0x58cf67)return![];if(!_0x58cf67[_0x4948c8(0x286)])return![];if(!_0x58cf67[_0x4948c8(0x286)]())return![];if(!$gameTemp['hasInputComboSkillsKey'](this[_0x4948c8(0x1ff)]))return![];const _0x54148e=$dataSkills[$gameTemp[_0x4948c8(0x247)](this['_key'])];if(!_0x54148e)return![];if(!BattleManager['_subject']['canUse'](_0x54148e))return![];return Sprite_Clickable[_0x4948c8(0x1eb)]['isClickEnabled']['call'](this);},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x209)]=function(){const _0x14d40a=_0x2b276d;return SceneManager[_0x14d40a(0x20e)][_0x14d40a(0x2ac)];},Sprite_InputComboButton['prototype'][_0x2b276d(0x1d6)]=function(){const _0x3980ba=_0x2b276d;Sprite_Clickable['prototype'][_0x3980ba(0x1d6)]['call'](this);const _0x35bd76=this[_0x3980ba(0x209)]();if(!_0x35bd76)return;const _0x2fb6a8=SceneManager[_0x3980ba(0x20e)],_0x230591=_0x2fb6a8&&_0x2fb6a8['canPerformInputComboSkills']?_0x2fb6a8['canPerformInputComboSkills']():![];if(_0x35bd76&&_0x230591){const _0x48d175=$dataSkills[this[_0x3980ba(0x1ee)]];_0x35bd76[_0x3980ba(0x2ae)](_0x48d175);}},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x178)]=function(){const _0x16c689=_0x2b276d;Sprite_Clickable['prototype'][_0x16c689(0x178)][_0x16c689(0x268)](this);const _0x5d8c83=this[_0x16c689(0x209)]();if(!_0x5d8c83)return;const _0x544d72=$dataSkills[this['_lastSkillID']],_0x5c273e=SceneManager[_0x16c689(0x20e)],_0x51b6a3=_0x5c273e&&_0x5c273e[_0x16c689(0x286)]?_0x5c273e[_0x16c689(0x286)]():![];if(!_0x51b6a3||_0x5d8c83&&_0x5d8c83[_0x16c689(0x1dc)]===_0x544d72){if('aqQhM'!==_0x16c689(0x1fa))_0x5d8c83[_0x16c689(0x2ae)](null);else{const _0x175f10=_0x1692ae['keys'](_0xb06f81['_inputComboSkillSpecials']);if(_0x175f10[_0x16c689(0x2d8)]>0x0){const _0x2d5879=_0x175f10[_0x2f1b74['randomInt'](_0x175f10['length'])],_0x1c872b=_0x1ebfd9['InputComboSkills'][_0x16c689(0x19e)](_0x2d5879);this['autoQueueInputComboSpecial'](_0x1c872b);}else this['autoQueueRandomInputComboSkills']();}}},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x2a6)]=function(){const _0x1eb4a9=_0x2b276d,_0xb750c9=this['_hoverState'];this[_0x1eb4a9(0x2be)]=this[_0x1eb4a9(0x16e)]();if(this[_0x1eb4a9(0x2be)]!==_0xb750c9){if(this['_hoverState']){if(_0x1eb4a9(0x1cd)!=='bRuKX')this[_0x1eb4a9(0x1d6)]();else{if(this['_inputComboSkillCostBypass']===_0x5a6265)this[_0x1eb4a9(0x176)]();return this[_0x1eb4a9(0x205)][_0x1eb4a9(0x2c8)]===_0xe6cf1b&&this[_0x1eb4a9(0x205)]['skillID']===_0x5c1f39;}}else _0x1eb4a9(0x173)!==_0x1eb4a9(0x173)?this[_0x1eb4a9(0x1d6)]():this[_0x1eb4a9(0x178)]();}if(this[_0x1eb4a9(0x21a)]()){if(_0x1eb4a9(0x26f)===_0x1eb4a9(0x26f)){if(this['isBeingTouched']()){if(TouchInput[_0x1eb4a9(0x264)]()){if(_0x1eb4a9(0x25f)!=='QQvpi'){if(!_0x4ecf11)return![];const _0x599563=_0x53f16a['InputComboSkills'][_0x1eb4a9(0x2d5)],_0x13afb4=_0x5c052e[_0x1eb4a9(0x19d)]||'';if(_0x13afb4['match'](_0x599563[_0x1eb4a9(0x2ab)])){if(!this[_0x1eb4a9(0x199)]())return![];if(!_0x53d0eb[_0x1eb4a9(0x280)]())return![];const _0x1922b1=_0x2835f7['_scene']['_logWindow'];if(_0x1922b1&&!_0x1922b1[_0x1eb4a9(0x221)])return![];return this[_0x1eb4a9(0x189)];}return!![];}else this[_0x1eb4a9(0x19a)]=!![],this[_0x1eb4a9(0x20a)]();}}else{if(_0x1eb4a9(0x223)===_0x1eb4a9(0x291)){this[_0x1eb4a9(0x28d)]();const _0x2352a6=this['baseTextRect']();this[_0x1eb4a9(0x2a7)](this[_0x1eb4a9(0x27c)],_0x2352a6['x'],_0x2352a6['y'],_0x2352a6['width']),this['show']();}else this[_0x1eb4a9(0x19a)]=![],this[_0x1eb4a9(0x2b0)]=![];}if(this['_pressed']&&TouchInput[_0x1eb4a9(0x168)]()){if(_0x1eb4a9(0x18d)!=='ShueE')this['_pressed']=![],this[_0x1eb4a9(0x16b)]();else{const _0x5cf4bd=_0x5db916[_0x1eb4a9(0x20e)][_0x1eb4a9(0x269)];if(!_0x5cf4bd[_0x1eb4a9(0x221)])return;const _0x30935f=_0x391f7a[_0x1eb4a9(0x2a8)][_0x1eb4a9(0x257)][_0x1eb4a9(0x2a5)](),_0x3f4d29=_0x30935f[_0x1eb4a9(0x17a)](_0x12fca4=>_0x4e0fe6[_0x1eb4a9(0x187)](_0x12fca4))[_0x1eb4a9(0x17a)](_0x5c3c83=>this[_0x1eb4a9(0x1bd)](_0x56ce45[_0x39b1ee[_0x1eb4a9(0x247)](_0x5c3c83)]));if(_0x3f4d29[_0x1eb4a9(0x2d8)]>0x0){const _0x59421b=_0x3f4d29[_0x14168a[_0x1eb4a9(0x2de)](_0x3f4d29[_0x1eb4a9(0x2d8)])];_0x2b177c[_0x1eb4a9(0x1ac)](_0x59421b),_0x145d9a(this[_0x1eb4a9(0x2cc)][_0x1eb4a9(0x2d1)](this),0xc8);}}}}else this['_inputComboSkillUser']=_0x481ca6;}else this['_pressed']=![],this[_0x1eb4a9(0x2b0)]=![];},Sprite_InputComboButton[_0x2b276d(0x1eb)][_0x2b276d(0x16e)]=function(){const _0x5c3a85=_0x2b276d,_0x3dbf81=new Point(TouchInput['x'],TouchInput['y']),_0x349710=this['worldTransform']['applyInverse'](_0x3dbf81);return this[_0x5c3a85(0x2cb)](_0x349710['x'],_0x349710['y']);};function Sprite_InputComboQueueList(){const _0x4efcf8=_0x2b276d;this[_0x4efcf8(0x1c3)](...arguments);}Sprite_InputComboQueueList[_0x2b276d(0x1eb)]=Object[_0x2b276d(0x1d3)](Sprite[_0x2b276d(0x1eb)]),Sprite_InputComboQueueList[_0x2b276d(0x1eb)][_0x2b276d(0x16c)]=Sprite_InputComboQueueList,Sprite_InputComboQueueList[_0x2b276d(0x1eb)]['initialize']=function(){const _0x19c19e=_0x2b276d;Sprite['prototype'][_0x19c19e(0x1c3)][_0x19c19e(0x268)](this),this['initMembers'](),this[_0x19c19e(0x180)](),this[_0x19c19e(0x1e9)](),this[_0x19c19e(0x170)]();},Sprite_InputComboQueueList[_0x2b276d(0x1eb)]['initMembers']=function(){const _0x4e432a=_0x2b276d,_0x3ead3d=VisuMZ[_0x4e432a(0x2a8)][_0x4e432a(0x214)]['UI'];this['_dimensions']=_0x3ead3d[_0x4e432a(0x273)](),this['x']=this[_0x4e432a(0x1f2)]['x'],this['y']=this[_0x4e432a(0x1f2)]['y'],this['anchor']['x']=0.5,this[_0x4e432a(0x25e)]['y']=0.5,this['_cacheQueue']=[],this['_cacheSpecialSkillID']=0x0,this[_0x4e432a(0x2bc)]=0x0,this[_0x4e432a(0x1bf)]=0x0,this[_0x4e432a(0x166)]=0x0;},Sprite_InputComboQueueList[_0x2b276d(0x1eb)][_0x2b276d(0x180)]=function(){const _0xbe8b95=_0x2b276d,_0x46998b=VisuMZ[_0xbe8b95(0x2a8)][_0xbe8b95(0x214)]['UI'],_0x26d7f3=_0x46998b[_0xbe8b95(0x2a2)]||'';if(!_0x26d7f3)return;const _0x496ac1=new Sprite();this[_0xbe8b95(0x23d)](_0x496ac1),_0x496ac1['bitmap']=ImageManager['loadSystem'](_0x26d7f3),_0x496ac1['anchor']['x']=0.5,_0x496ac1[_0xbe8b95(0x25e)]['y']=0.5,_0x496ac1[_0xbe8b95(0x2c5)]['x']=0x1/(this[_0xbe8b95(0x2c5)]['x']||0.01),_0x496ac1['scale']['y']=0x1/(this[_0xbe8b95(0x2c5)]['y']||0.01);},Sprite_InputComboQueueList['prototype'][_0x2b276d(0x1e9)]=function(){const _0x4673c0=_0x2b276d;this[_0x4673c0(0x1d7)]=new Sprite(),this[_0x4673c0(0x23d)](this[_0x4673c0(0x1d7)]),this[_0x4673c0(0x1d7)][_0x4673c0(0x25e)]['x']=0.5,this[_0x4673c0(0x1d7)][_0x4673c0(0x25e)]['y']=0.5;},Sprite_InputComboQueueList[_0x2b276d(0x1eb)][_0x2b276d(0x170)]=function(){const _0x367e1c=_0x2b276d,_0xeaa17e=$gameSystem['windowPadding'](),_0x3411c4=this[_0x367e1c(0x1f2)][_0x367e1c(0x217)]+_0xeaa17e*0x2,_0x5e24c8=this[_0x367e1c(0x1f2)]['height']+_0xeaa17e*0x2,_0x545174=new Rectangle(0x0,0x0,_0x3411c4,_0x5e24c8);this[_0x367e1c(0x222)]=new Window_Base(_0x545174);},Sprite_InputComboQueueList['prototype'][_0x2b276d(0x1d5)]=function(){const _0x4d94ad=_0x2b276d;Sprite[_0x4d94ad(0x1eb)][_0x4d94ad(0x1d5)][_0x4d94ad(0x268)](this),this[_0x4d94ad(0x24c)]();if(this['meetsUpdateBitmapConditions']())this['updateBitmap']();},Sprite_InputComboQueueList[_0x2b276d(0x1eb)][_0x2b276d(0x24c)]=function(){const _0x42d841=_0x2b276d,_0x2e98ac=VisuMZ['InputComboSkills'][_0x42d841(0x214)]['UI'][_0x42d841(0x2ce)];this[_0x42d841(0x166)]+=(this[_0x42d841(0x29e)]()?0x1:-0x1)*_0x2e98ac;},Sprite_InputComboQueueList[_0x2b276d(0x1eb)][_0x2b276d(0x29e)]=function(){const _0x47650e=_0x2b276d,_0x288531=SceneManager['_scene'][_0x47650e(0x269)];return _0x288531&&_0x288531[_0x47650e(0x221)]&&(this[_0x47650e(0x1bf)]=0x3c),this[_0x47650e(0x1bf)]-->=0x0;},Sprite_InputComboQueueList['prototype'][_0x2b276d(0x281)]=function(){const _0x275a72=_0x2b276d;this['_cacheQueue']=$gameTemp[_0x275a72(0x246)][_0x275a72(0x2a5)](),this[_0x275a72(0x1e6)]=$gameTemp[_0x275a72(0x1c1)],this[_0x275a72(0x2bc)]=$gameTemp[_0x275a72(0x27f)],this[_0x275a72(0x219)]();},Sprite_InputComboQueueList[_0x2b276d(0x1eb)][_0x2b276d(0x202)]=function(){const _0x318913=_0x2b276d,_0x14db1e=SceneManager[_0x318913(0x20e)][_0x318913(0x269)];if(_0x14db1e&&_0x14db1e[_0x318913(0x221)]){if(JSON['stringify'](this[_0x318913(0x210)])!==JSON['stringify']($gameTemp[_0x318913(0x246)]))return!![];if(this['_cacheSpecialSkillID']!==$gameTemp[_0x318913(0x1c1)])return!![];if(this[_0x318913(0x2bc)]!==$gameTemp[_0x318913(0x27f)])return!![];}return![];},Sprite_InputComboQueueList[_0x2b276d(0x1eb)][_0x2b276d(0x219)]=function(){const _0x4bb756=_0x2b276d,_0x1f6e42=VisuMZ['InputComboSkills'][_0x4bb756(0x214)]['UI'],_0x7997bf=this[_0x4bb756(0x222)][_0x4bb756(0x1ba)];_0x7997bf[_0x4bb756(0x1a4)](),this[_0x4bb756(0x222)]['resetFontSettings']();const _0x2a2254=this[_0x4bb756(0x210)][_0x4bb756(0x19b)](_0x25c7c6=>$dataSkills[_0x25c7c6])[_0x4bb756(0x1df)](null)[_0x4bb756(0x1df)](undefined),_0x1a182c=$dataSkills[this[_0x4bb756(0x1e6)]];if(_0x1a182c)_0x2a2254[_0x4bb756(0x2dc)]();const _0x319dfe=this[_0x4bb756(0x2bc)],_0x1e4c7b=_0x1f6e42[_0x4bb756(0x243)];Sprite_InputComboQueueList[_0x4bb756(0x1eb)][_0x4bb756(0x28f)][_0x4bb756(0x268)](this[_0x4bb756(0x222)],_0x2a2254,_0x1a182c,_0x319dfe,_0x1e4c7b),this[_0x4bb756(0x1d7)]['bitmap']=_0x7997bf;},Sprite_InputComboQueueList['prototype'][_0x2b276d(0x28f)]=function(){const _0x3819c0=_0x2b276d,_0x2df4ad=arguments[0x0],_0xde34b8=arguments[0x1],_0x17ae36=arguments[0x2],_0x250b92=arguments[0x3],_0x47adcd=this['contents'],_0x2b9233=this[_0x3819c0(0x17d)](),_0x2753fc=ImageManager[_0x3819c0(0x1fc)]*0x2;if(_0x250b92){if(_0x3819c0(0x234)!==_0x3819c0(0x234)){if(!_0x2f8aeb[_0x3819c0(0x277)]())return;if(this[_0x3819c0(0x167)]()!==_0x5b0153[_0x3819c0(0x253)]){_0x383430['clearInputComboSkills']();return;}this[_0x3819c0(0x167)]()[_0x3819c0(0x295)]=!![];}else{const _0x165b42=0x14,_0x437884=ColorManager['dimColor1']();_0x47adcd[_0x3819c0(0x1c5)](0x0,0x0,_0x47adcd[_0x3819c0(0x217)],_0x47adcd[_0x3819c0(0x1b3)],_0x165b42,_0x437884);}}const _0x54cd06=_0x17ae36*_0x2753fc,_0x4f2cc5=_0x2753fc,_0x44007f=Math['floor']((_0x47adcd['width']-_0x54cd06)/0x2),_0x313805=Math[_0x3819c0(0x175)](_0x2b9233/0x4);let _0x306801=Math[_0x3819c0(0x175)](_0x2753fc/0x2);for(const _0x8fab3d of _0x2df4ad){const _0x5db032=_0x8fab3d['iconIndex'];this[_0x3819c0(0x29c)](_0x5db032,_0x44007f+_0x306801,_0x313805,_0x2753fc),_0x306801+=_0x2753fc;}if(_0xde34b8){if(_0x3819c0(0x197)===_0x3819c0(0x197)){const _0x159770=_0x3819c0(0x229)[_0x3819c0(0x2aa)](_0xde34b8[_0x3819c0(0x1cf)],_0xde34b8[_0x3819c0(0x2c9)]),_0xe00805=this['textSizeEx'](_0x159770)[_0x3819c0(0x217)],_0x22d7de=Math['floor']((_0x47adcd[_0x3819c0(0x217)]-_0xe00805)/0x2),_0x526530=_0x313805+_0x4f2cc5+Math[_0x3819c0(0x175)](_0x2b9233/0x2);this[_0x3819c0(0x2a7)](_0x159770,_0x22d7de,_0x526530);}else this[_0x3819c0(0x22c)]();}},Window_Base[_0x2b276d(0x1eb)][_0x2b276d(0x29c)]=function(_0xe30748,_0x43b238,_0x30aec8,_0x1e80ac){const _0x1e7e14=_0x2b276d,_0x267bac=VisuMZ[_0x1e7e14(0x2a8)][_0x1e7e14(0x214)]['UI'];_0x1e80ac=_0x1e80ac||0x20,_0x43b238-=Math[_0x1e7e14(0x226)](_0x1e80ac/0x2);const _0x589791=ImageManager[_0x1e7e14(0x263)](_0x1e7e14(0x200)),_0x3f4eec=ImageManager[_0x1e7e14(0x1fc)],_0x831d42=ImageManager[_0x1e7e14(0x1ef)],_0x5df001=_0xe30748%0x10*_0x3f4eec,_0x416875=Math[_0x1e7e14(0x175)](_0xe30748/0x10)*_0x831d42;this[_0x1e7e14(0x1ba)][_0x1e7e14(0x2e0)][_0x1e7e14(0x17f)]=_0x267bac['LargeIconSmoothing'],this['contents'][_0x1e7e14(0x1f0)](_0x589791,_0x5df001,_0x416875,_0x3f4eec,_0x831d42,_0x43b238,_0x30aec8,_0x1e80ac,_0x1e80ac),this[_0x1e7e14(0x1ba)][_0x1e7e14(0x2e0)][_0x1e7e14(0x17f)]=!![];},Window_BattleLog[_0x2b276d(0x232)]=VisuMZ['InputComboSkills'][_0x2b276d(0x214)]['UI'][_0x2b276d(0x27d)]||'',Window_BattleLog[_0x2b276d(0x2ca)]=VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x214)]['UI'][_0x2b276d(0x2c1)]||0x0,VisuMZ[_0x2b276d(0x2a8)]['Window_BattleLog_isBusy']=Window_BattleLog[_0x2b276d(0x1eb)]['isBusy'],Window_BattleLog['prototype'][_0x2b276d(0x1a2)]=function(){const _0x55a087=_0x2b276d;if(this[_0x55a087(0x221)])return!![];return VisuMZ[_0x55a087(0x2a8)]['Window_BattleLog_isBusy'][_0x55a087(0x268)](this);},VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x272)]=Window_BattleLog[_0x2b276d(0x1eb)]['startAction'],Window_BattleLog['prototype'][_0x2b276d(0x1fd)]=function(_0x17bc7e,_0x3afa0c,_0x19bcd4){const _0x5305fb=_0x2b276d;if(this['canStartInputComboSkill'](_0x17bc7e,_0x3afa0c)){if(_0x5305fb(0x179)!==_0x5305fb(0x179)){let _0xcd9cde=0xff;if(_0x366577['x']<=0x0)_0xcd9cde=0x0;if(_0x9d8933['x']>=_0x33b5d1[_0x5305fb(0x217)])_0xcd9cde=0x0;if(_0x27cfcc['y']<=0x0)_0xcd9cde=0x0;if(_0x474f7b['y']>=_0x25a406[_0x5305fb(0x1b3)])_0xcd9cde=0x0;this['opacity']=_0xcd9cde;}else{this[_0x5305fb(0x22d)](_0x17bc7e,_0x3afa0c);if(_0x17bc7e[_0x5305fb(0x267)]())_0x17bc7e['queueAutoBattleInputComboSkills']();}}else{if(_0x5305fb(0x279)===_0x5305fb(0x1ea)){_0x5b63f4['prototype'][_0x5305fb(0x1d5)][_0x5305fb(0x268)](this),this['updateOpacity']();if(this[_0x5305fb(0x202)]())this['updateBitmap']();}else VisuMZ[_0x5305fb(0x2a8)][_0x5305fb(0x272)]['call'](this,_0x17bc7e,_0x3afa0c,_0x19bcd4);}},Window_BattleLog[_0x2b276d(0x1eb)][_0x2b276d(0x191)]=function(_0x35da42,_0x440011){const _0x57d0df=_0x2b276d;if(!_0x35da42)return![];if(!_0x35da42[_0x57d0df(0x199)]())return![];if(Imported[_0x57d0df(0x1b0)]&&BattleManager[_0x57d0df(0x1c4)]())return![];return DataManager[_0x57d0df(0x227)](_0x440011[_0x57d0df(0x293)]());},Window_BattleLog[_0x2b276d(0x1eb)][_0x2b276d(0x22d)]=function(_0x413a55,_0x4f8e2b){const _0x5e59a1=_0x2b276d;this[_0x5e59a1(0x221)]=!![],$gameTemp[_0x5e59a1(0x1c6)](_0x413a55,_0x4f8e2b[_0x5e59a1(0x293)]());if(Window_BattleLog[_0x5e59a1(0x232)][_0x5e59a1(0x2d8)]>0x0){if(_0x5e59a1(0x1d9)!==_0x5e59a1(0x1d9)){const _0x46bf0f=_0x5a08af[_0x5e59a1(0x20e)][_0x5e59a1(0x269)];return _0x46bf0f&&_0x46bf0f['_inputComboSkillMode']&&(this[_0x5e59a1(0x1bf)]=0x3c),this[_0x5e59a1(0x1bf)]-->=0x0;}else this[_0x5e59a1(0x1a9)](_0x5e59a1(0x29f),Window_BattleLog[_0x5e59a1(0x232)]);}this[_0x5e59a1(0x1a9)](_0x5e59a1(0x1cb),_0x413a55,_0x4f8e2b),this[_0x5e59a1(0x1a9)]('waitForMovement');const _0x7a124b=DataManager[_0x5e59a1(0x1f1)](_0x4f8e2b[_0x5e59a1(0x293)]());_0x7a124b>0x0&&this[_0x5e59a1(0x1a9)](_0x5e59a1(0x1d8),_0x413a55,[_0x413a55],_0x7a124b);},Window_BattleLog[_0x2b276d(0x1eb)][_0x2b276d(0x233)]=function(){const _0x38237b=_0x2b276d,_0x43af31=SceneManager[_0x38237b(0x20e)][_0x38237b(0x1aa)];if(_0x43af31)_0x43af31[_0x38237b(0x1d5)]();this['_inputComboSkillMode']=![],this['clear']();const _0x59eb56=BattleManager['_subject'],_0x2ca68b=BattleManager[_0x38237b(0x1bb)],_0x1eab58=BattleManager[_0x38237b(0x2b2)];VisuMZ[_0x38237b(0x2a8)][_0x38237b(0x272)][_0x38237b(0x268)](this,_0x59eb56,_0x2ca68b,_0x1eab58),_0x59eb56[_0x38237b(0x2d4)]();};function _0x3fe0(_0x16d81c,_0x4bb65e){const _0x488073=_0x4880();return _0x3fe0=function(_0x3fe0d8,_0x182470){_0x3fe0d8=_0x3fe0d8-0x165;let _0x40e7ab=_0x488073[_0x3fe0d8];return _0x40e7ab;},_0x3fe0(_0x16d81c,_0x4bb65e);}function _0x4880(){const _0xd446ed=['clamp','members','KeybindUiOffsetX','OffsetY','drawInputComboLargeIcon','setupText','isVisible','addText','_inputComboSkillButtons','%1Pitch','queueBackgroundImage','1691330fzWuGp','_lastActor','clone','processTouch','drawTextEx','InputComboSkills','%1Volume','format','ComboOnly','_inputComboSkillsUiTooltipWindow','BackgroundImage','setSkill','applyGlobal','_hovered','meetsSkillConditions','_targets','queueAutoBattleInputComboSkills','meetsInputComboSkillConditions','endAction','getInputComboMax','backOpacity','version','33LObOuc','VisuMZ_1_SkillsStatesCore','eEiEa','_cacheComboMax','Game_Temp_initialize','_hoverState','fBofM','useItem','InputComboAnimation','1554918exdkFM','oBniZ','clearInputComboSkillQueue','scale','WINDOW_SKIN_OPACITY','textSizeEx','user','name','INPUT_COMBO_ANIMATION','hitTest','autoQueueRandomInputComboSkills','_subject','OpacityRate','xLMvH','Sprite_Actor_stepBack','bind','Khymm','registerInputComboSpecials','queueNextInputComboSkill','RegExp','wPmpR','DataManager_isSkill','length','Scene_Battle_createDisplayObjects','updateInputComboSkillQueue','updateInputComboSkillSwitch','pop','left','randomInt','registerInputComboSkillsMax','_context','ComboStartAni','LIknY','mNLdU','Sound','opacity','subject','isReleased','autoQueueInputComboSpecial','ComboMax','onClick','constructor','shift','isBeingTouched','_bypassStepBackward_InputComboSkill','createContentWindow','_inputComboSkillsUiContainer','STR','zZSmq','clampPosition','floor','clearInputComboSkillCostBypass','NUM','onMouseExit','XaTxl','filter','270vdyOoH','RdyXR','lineHeight','WindowOpacity','imageSmoothingEnabled','createBackgroundSprite','stepBack','bitmap','XvpTE','ARRAYFUNC','waitForMovement','%1\x20is\x20missing\x20a\x20required\x20plugin.\x0aPlease\x20install\x20%2\x20into\x20the\x20Plugin\x20Manager.','hasInputComboSkillsKey','loadWindowskin','_checkInputComboOnlySkill','windowPadding','special','kuhFy','fhLCs','_inputComboSkillKeys','Tooltip','MOUSE_OFFSET_Y','canStartInputComboSkill','test','VisuMZ_3_AutoSkillTriggers','aaNRe','toLowerCase','bvVdU','tdBlq','VisuMZ_1_MessageCore','isActor','_pressed','map','beginPath','note','specialStringToKeys','1411284LuNRGK','return\x200','contentDrawJS','isBusy','FUNC','clear','%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.','moveTo','INPUT_COMBO_REDUCE_BACK_FORTH','keys','push','_inputComboSkillQueueListSprite','ARRAYNUM','queueInputComboSkillsFromKey','requestRefresh','iuTuh','forceAction','VisuMZ_2_BattleSystemBTB','wKDVs','ReduceBackForth','height','createInputComboSkillsUiBackground','lineTo','_inputComboSkillSpecialString','stepForward','meetsUsableItemConditions','AvailableSpecial','contents','_action','split','canUse','_bypassStepForward_InputComboSkill','_visibleFrameCount','status','_inputComboSkillSpecialSkillID','QueueSwitchID','initialize','isBTB','fillRoundRect','prepareInputComboSkills','isSkillSealed','updateInputComboSkillsUiOpacity','xCiWz','cancel','performActionStart','Sprite_Actor_stepForward','WtzOI','applyKeyAlternatives','iconIndex','ARRAYSTR','updatePosition','_inputComboSkillSpecials','create','_battler','update','onMouseEnter','_contentSprite','showAnimation','xbUxP','75472zgCDkg','addToInputComboSkillsQueueFromKey','_skill','down','createInputComboSkillsUiContainer','remove','Game_BattlerBase_meetsSkillConditions','red','533424ROokBS','LearnedSpecial','_lastInputType','HZWYb','_cacheSpecialSkillID','getInputButtonString','match','createContentSprite','aXiIE','prototype','DefaultMaxCombo','isLearnedSkill','_lastSkillID','iconHeight','blt','getInputComboStartAnimation','_dimensions','fillRect','%1RectJS','hBall','noValidInputComboSkills','stypeId','debugFillRect','checkInputComboSkillsIncompatibility','Keqps','createInputComboSkillsUiTooltipWindow','iconWidth','startAction','fill','_key','IconSet','updateInputComboSkills','meetsUpdateBitmapConditions','createInputComboSkillsUiQueueList','%1BackgroundImage','_inputComboSkillCostBypass','EvoMatrixSkills','description','pymjF','tooltipWindow','onPress','isSupportMessageKeywords','CjDIi','hasInputComboSkillsConflicts','_scene','54674jiEKrY','_cacheQueue','%1Pan','registerInputComboSkillsActor','WkkTw','Settings','EVAL','InputKey','width','%1\x27s\x20version\x20does\x20not\x20match\x20plugin\x27s.\x20Please\x20update\x20it\x20in\x20the\x20Plugin\x20Manager.','refreshBitmap','isClickEnabled','opacityLevel','indexOf','context','payCostInputComboSkillQueueLatest','parameters','exit','_inputComboSkillMode','_contentWindow','LNpAY','OffsetX','ARRAYEVAL','round','isInputComboOriginSkill','clearInputComboSkills','\x5cI[%1]%2','SSVtW','_inputComboMax','hide','startInputComboSkill','applyInputComboSkillQueue','_skillCostBypass','refresh','ForcedSpecial','INPUT_COMBO_TEXT','endInputComboSkill','PFlNV','updateBackOpacity','max','isWordWrapEnabled','backgroundDrawJS','toUpperCase','createAllSkillCostText','getLastUsedGamepadType','createInputComboSkillsUiElements','addChild','getButtonIcon','WJYGC','includes','forceActionInputComboSkill','setupDescriptionText','queueDrawBackRect','lDNUw','AutoSkillTriggers','_inputComboSkillQueue','getInputComboSkillsKey','WINDOW_SKIN_FILENAME','createDisplayObjects','KeybindUiOffsetY','pagedown','updateOpacity','PVuzK','registerInputComboSkillCostBypass','_pressedDuration','MQhyq','registerInputComboSkills','_requestRefresh','_inputComboSkillUser','checkForInputComboSkillsEnd','windowskin','input','Keys','MOUSE_OFFSET_X','%1Name','resetFontSettings','playInputComboSkillsSound','right','initMembers','anchor','QQvpi','BattleManager_endAction','padding','ARRAYJSON','loadSystem','isTriggered','isSkill','restore','isAutoBattle','call','_logWindow','Scene_Battle_update','convertMessageKeywords','ConvertParams','ENABLED','KeypressUiOffsetY','rkFKM','INPUT_COMBO_DEFAULT_MAX','addToInputComboSkillsStringFromKey','Window_BattleLog_startAction','queueRectJS','createInputComboSkillsUiButtons','enabled','%1KeyIcon','hasInputComboQueue','VisuMZ_0_CoreEngine','GUDdV','replace','CEYSB','_text','InputComboText','KEY_PRESS_OFFSET_X','_inputComboSkillMax','isSceneBattle','updateBitmap','VisuMZ_1_BattleCore','pageup','worldTransform','_hasInputComboSkillsConflict','canPerformInputComboSkills','visible','143712JHoDTE','Scale','VisuStella\x20MZ\x20Auto\x20Skill\x20Triggers\x20needs\x20to\x20be\x20updated!','parse','xCZjd','resizeWindow','Game_Battler_useItem','drawContentJS','UxSkq','LHfsv','WINDOW_SCALE','item','psrQg','_queueNextInputComboSkill','trim','quadraticCurveTo'];_0x4880=function(){return _0xd446ed;};return _0x4880();}function Window_InputComboSkillsTooltip(){const _0xa25ba7=_0x2b276d;this[_0xa25ba7(0x1c3)](...arguments);}Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)]=Object[_0x2b276d(0x1d3)](Window_Base[_0x2b276d(0x1eb)]),Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x16c)]=Window_InputComboSkillsTooltip,Window_InputComboSkillsTooltip[_0x2b276d(0x26d)]=VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x214)][_0x2b276d(0x18f)][_0x2b276d(0x275)]??!![],Window_InputComboSkillsTooltip['WINDOW_SCALE']=VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x214)][_0x2b276d(0x18f)][_0x2b276d(0x289)],Window_InputComboSkillsTooltip[_0x2b276d(0x248)]=VisuMZ['InputComboSkills'][_0x2b276d(0x214)]['Tooltip']['WindowSkin'],Window_InputComboSkillsTooltip[_0x2b276d(0x2c6)]=VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x214)][_0x2b276d(0x18f)][_0x2b276d(0x17e)],Window_InputComboSkillsTooltip[_0x2b276d(0x258)]=VisuMZ[_0x2b276d(0x2a8)]['Settings']['Tooltip'][_0x2b276d(0x224)],Window_InputComboSkillsTooltip[_0x2b276d(0x190)]=VisuMZ[_0x2b276d(0x2a8)][_0x2b276d(0x214)]['Tooltip'][_0x2b276d(0x29b)],Window_InputComboSkillsTooltip['prototype']['initialize']=function(){const _0x4c1391=_0x2b276d,_0x4b9119=new Rectangle(0x0,0x0,Graphics[_0x4c1391(0x217)],Graphics[_0x4c1391(0x1b3)]);Window_Base[_0x4c1391(0x1eb)]['initialize']['call'](this,_0x4b9119),this[_0x4c1391(0x2c5)]['x']=this[_0x4c1391(0x2c5)]['y']=Window_InputComboSkillsTooltip[_0x4c1391(0x292)],this[_0x4c1391(0x22c)](),this[_0x4c1391(0x1dc)]=null;},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x188)]=function(){const _0x1a0129=_0x2b276d;this[_0x1a0129(0x255)]=ImageManager[_0x1a0129(0x263)](Window_InputComboSkillsTooltip['WINDOW_SKIN_FILENAME']);},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x235)]=function(){const _0x1a89dd=_0x2b276d;this[_0x1a89dd(0x2b7)]=Window_InputComboSkillsTooltip[_0x1a89dd(0x2c6)];},Window_InputComboSkillsTooltip['prototype'][_0x2b276d(0x2ae)]=function(_0x9bfcc3){const _0x462fa1=_0x2b276d;if(this[_0x462fa1(0x1dc)]===_0x9bfcc3)return;this[_0x462fa1(0x1dc)]=_0x9bfcc3;if(this[_0x462fa1(0x1dc)]&&this[_0x462fa1(0x1dc)][_0x462fa1(0x207)][_0x462fa1(0x296)]()[_0x462fa1(0x2d8)]>0x0)this[_0x462fa1(0x230)]();else{if('MHXEv'!==_0x462fa1(0x23f))this['hide']();else{const _0x227aa6=new _0x2bdcb2(_0x117658['x'],_0x56dfba['y']),_0x45302b=this[_0x462fa1(0x284)]['applyInverse'](_0x227aa6);return this[_0x462fa1(0x2cb)](_0x45302b['x'],_0x45302b['y']);}}},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x230)]=function(){const _0x46bf19=_0x2b276d;this[_0x46bf19(0x1ba)][_0x46bf19(0x1a4)](),this[_0x46bf19(0x29d)]();if(this[_0x46bf19(0x27c)][_0x46bf19(0x2d8)]>0x0){this[_0x46bf19(0x28d)]();const _0x175da5=this['baseTextRect']();this[_0x46bf19(0x2a7)](this[_0x46bf19(0x27c)],_0x175da5['x'],_0x175da5['y'],_0x175da5[_0x46bf19(0x217)]),this['show']();}else this[_0x46bf19(0x22c)]();},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x237)]=function(){return![];},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x26b)]=function(_0x14da64){return _0x14da64;},Window_InputComboSkillsTooltip['prototype'][_0x2b276d(0x20b)]=function(){return![];},Window_InputComboSkillsTooltip['prototype']['setupText']=function(){const _0x291a9f=_0x2b276d;this[_0x291a9f(0x27c)]='';if(!this['_skill'])return;this[_0x291a9f(0x242)](),this[_0x291a9f(0x27c)]=this[_0x291a9f(0x27c)][_0x291a9f(0x296)]();},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x242)]=function(){const _0x241d5c=_0x2b276d;this['_text']=this[_0x241d5c(0x1dc)][_0x241d5c(0x207)]||'';},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x28d)]=function(){const _0x127b24=_0x2b276d,_0x4d8537=this[_0x127b24(0x2c7)](this['_text']);this['width']=_0x4d8537[_0x127b24(0x217)]+(this['itemPadding']()+this[_0x127b24(0x261)])*0x2,this[_0x127b24(0x1b3)]=_0x4d8537[_0x127b24(0x1b3)]+this[_0x127b24(0x261)]*0x2,this['createContents'](),this[_0x127b24(0x25a)]();},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)]['update']=function(){const _0x1f4ba2=_0x2b276d;Window_Base[_0x1f4ba2(0x1eb)][_0x1f4ba2(0x1d5)][_0x1f4ba2(0x268)](this),this[_0x1f4ba2(0x252)]&&(this[_0x1f4ba2(0x252)]=![],this[_0x1f4ba2(0x230)]()),this[_0x1f4ba2(0x1d1)](),this[_0x1f4ba2(0x24c)]();},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x1ad)]=function(){this['_requestRefresh']=!![];},Window_InputComboSkillsTooltip['prototype'][_0x2b276d(0x1d1)]=function(){const _0x8a594b=_0x2b276d;if(!this[_0x8a594b(0x287)])return;this['x']=TouchInput['x']+Window_InputComboSkillsTooltip[_0x8a594b(0x258)],this['y']=TouchInput['y']+Window_InputComboSkillsTooltip['MOUSE_OFFSET_Y'],this[_0x8a594b(0x174)]();},Window_InputComboSkillsTooltip[_0x2b276d(0x1eb)][_0x2b276d(0x174)]=function(){const _0x1f9fee=_0x2b276d,_0x4594a9=this[_0x1f9fee(0x217)]*(Window_InputComboSkillsTooltip['WINDOW_SCALE']||0.01),_0x1522d7=this[_0x1f9fee(0x1b3)]*(Window_InputComboSkillsTooltip[_0x1f9fee(0x292)]||0.01);this['x']=Math['round'](this['x']['clamp'](0x0,Graphics[_0x1f9fee(0x217)]-_0x4594a9)),this['y']=Math[_0x1f9fee(0x226)](this['y'][_0x1f9fee(0x298)](0x0,Graphics['height']-_0x1522d7));},Window_InputComboSkillsTooltip['prototype'][_0x2b276d(0x24c)]=function(){const _0x4d2be8=_0x2b276d;let _0x493354=0xff;if(TouchInput['x']<=0x0)_0x493354=0x0;if(TouchInput['x']>=Graphics[_0x4d2be8(0x217)])_0x493354=0x0;if(TouchInput['y']<=0x0)_0x493354=0x0;if(TouchInput['y']>=Graphics[_0x4d2be8(0x1b3)])_0x493354=0x0;this[_0x4d2be8(0x166)]=_0x493354;};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement