DOUBLEX RMMV SUPERLATIVE ATB

RPG Maker MV

To be the most flexible, performant and powerful ATB system framework with the greatest amount of freedom while being user-friendly

  • DoubleX
  • 08/31/2020 11:09 AM
  • 2251 views
Note
While this plugin's already fully functional, there are still many more modules to be implemented, so the feature set isn't complete yet.

Introduction
*    1. This plugin aims to be the most flexible, performant and powerful
*       ATB system with the greatest amount of freedom for users to fulfill
*       as many functional needs as they want in as many ways as they want
*    2. You may want to treat this as a nano ATB framework as part of the
*       system's written by you via parameters/configurations/notetags/calls
*    3. Almost every parameters and notetags can be written as direct
*       JavaScript, thus giving you the maximum amount of control over them
*    4. (VERY ADVANCED)You can even change most of those JavaScript codes
*       written by you on the fly(and let your players do so with a system
*       settings plugin), but you should only do so if you really know what
*       you're truly doing


Video



















Games using this plugin
None so far

Finished Modules

* 1. Core Module
* - Lets you enable and disable this plugin on the fly
* - Lets you define the battle turn in terms of number of actions
* executed, or frames/seconds elapsed
* - Lets you set the maximum ATB value of each battler
* - Lets you set some states to have their turn counts updated right
* before the battler involved executes actions
* 2. (v0.03a+)Bar Module
* - Lets you show the battler ATB bars on the battler sprites
* - Lets you show the actor ATB bars attached to the status window
* 3. (v0.01a+)Hotkey Module
* - Lets you set some hotkeys to change the currently selected
* inputable actors
* 4. (v0.02a+)Wait Module
* - Lets you set the ATB frame update wait conditions
* - Lets you show the ATB frame update force status
* - Lets you set some hotkeys to forcibly run/stop the ATB frame
* updates
* - Lets you show some clickable command windows behaving like the
* aforementioned hotkeys
* 5. (v0.04a+)Charge Module
* - Lets you set some skills/items to need to be charged before being
* executed
* - Lets you set some hotkeys to cancel the action being charged(this
* applies to those not needing charging as well if the players
* cancel fast enough)
* - Lets you set some hotkeys to force the action charge so it can be
* executed before the charge's full or overcharged beyond the
* maximum charge value
* 6. (v0.05a+)Cooldown Module
* - Lets you set some skills/items to cause the battler involved need
* to be cooled down after executing those skills/items
* - Lets you set some hotkeys to cancel the the battler cooldown
* 7. (v0.12a+)Countdown Module
* - Lets you set some states to have their turn count updated based
* on the number of frames/seconds elapsed, with additional effects
* triggered upon each turn count update
* 8. (v0.13a+)CTB Module
* - Lets you change toggle the battle system between ATB and CTB on
* the fly and even during the same battle(you can actually set a
* hotkey to do that in battle)
* 9. (v0.15a+)Delay Module
* - Lets you set the amount of delay between becoming able to input
* actions and actually inputting them for battlers can't have their
* actions inputted by the player(enemies and actors with auto
* battle or confusion)
* 10. (v0.06a+)Event Module
* - Lets you set some additional events to be triggered upon
* important timings inthe ATB system
* 11. (v0.14a+)Order Module
* - Lets you show the ATB values of all battlers in the same ATB bar
* - Lets you show the battler action ordering in the CTB system style
* (You should only use this with the full wait mode unless you
* really know what you're truly doing)
* 12. (v0.10a)Rate Module
* - Lets you set the ATB, charge and cooldown fill rate for each
* battler
* 13. (v0.07a+)Reset Module
* - Lets you set the ATB value of each battler right after that
* battler has executed an action and becomes out of virtual action
* slots
* 14. (v0.08a+)Speed Module
* - Lets you set the action execution priority among all battlers
* being able to execute actions(it likely means next to nothing in
* the full wait mode)
* 15. (v0.09a+)Start Module
* - Lets you set the starting ATB value upon normal, preemptive and
* surprise battle starts
* 16. (v0.11a+)Turn Module
* - Lets you show the progress of the current battle turn


Addressed Foreign Plugins

* # MOG_BattleHud:
* In general, this plugin should be placed above the SATB implementation
* plugin unless actual test results prove the otherwise
* 1. The ATB bar doesn't gather any DoubleX RMMV Superlative ATB data
* - Reference tag: MOG_BattleHud_SATBData
* - Extended Battle_Hud.prototype.at and Battle_Hud.prototype.max_at
* to support the current and maximum ATB values of battlers
* - Disabled Battle_Hud.is_casting without the Charge Module enabled
* - (v0.03a+)Edited Battle_Hud.prototype.update_at to show the
* ATB cooldown ATB as well
* - (v0.03a+)Added Battle_Hud.prototype.is_cooldown to check if the
* battler's cooling down
* 2. The original status window will be shown when the current inputable
* actor becomes not inputable
* - Reference tag: MOG_BattleHud_StopShowingStatusWindow
* - Extended
* DoubleX_RMMV.SATB.Scene_Battle.new._deselectOpenStatusWin to stop
* showing the status window upon the aforementioned event
* 3. The actor window isn't fully shown
* - Reference tag: MOG_BattleHud_Actor_Window
* - Removed DoubleX_RMMV.SATB.Scene_Battle.new._updateActorWinPos to
* let MOG_BattleHud handle the actor window position
* # (v0.04a+)SEK_ChangeActor:
* In general, this plugin should be placed just above the SATB
* compatibility plugin unless actual test results prove the otherwise
* 1. The ATB of all actors are reset when swapping actors and the actor
* input window won't update properly after swapping actors
* - Reference tag: SEK_ChangeActor_StopRemoveAddAllPartyMems
* - Rewritten Game_Party.prototype.swap to stop removing/adding
* actors that aren't involving in the swapping
* 2. The actor being swapped in starts charging instantly without
* inputting an action first
* - Reference tag: SEK_ChangeActor_StopJumpNextCmd
* - Disabled Scene_Battle.prototype.jumpNextCommand when this
* plugin's enabled
* 3. The party command window doesn't show when upon cancel changing
* actors after displaying a game message
* - Reference tag: SEK_ChangeActor_SetupPartyCmdWin
* - Extended Scene_Battle.onChangeCancel to setup the party command
* window instead of just activating it
* 4. The change window corrupts the selection index whenever a battler
* refreshes(execute actions, be hit, have states removed, etc)
* - Reference tag: SEK_ChangeActor_FixDirectIndexSet0
* - Extended Window_ChangeList.prototype.drawItem to restores the
* selection before being corrupted
* 5. The input windows including the changing window don't refresh, hide
* or show as expected when the ATB frame update isn't full wait
* - Reference tag: SEK_ChangeActor_RefreshInputWins
* - Extended Scene_Battle.prototype.refreshSATBInputWins,
* Scene_Battle.prototype.onChangeOk,
* DoubleX_RMMV.SATB.Scene_Battle.new._isWinWithNoInputtingActorActive,
* DoubleX_RMMV.SATB.Scene_Battle.new._closeDeactivatePartyCmdWin,
* DoubleX_RMMV.SATB.Scene_Battle.new._displayWinWithNoInputtingActor
* and DoubleX_RMMV.SATB.Scene_Battle.new._hideSelectionWins to
* refresh, hide and show the right input windows at the right time
* # Yanfly Engine Plugins - Battle Engine Core:
* In general, this plugin should be placed above the SATB implementation
* plugin unless actual test results prove the otherwise
* 1. No actions can be executed in the 1st turn
* - Reference tag: YEP_BattleEngineCore_Stop1stTurnCheck
* - Extended BattleManager.getNextSubject to remove the turn count
* check
* 2. Valid actions don't execute at all
* - Reference tag: YEP_BattleEngineCore_HandleNewPhases
* - Extended BattleManager.updateSATBAct to handle new action
* sequence phases added by
* Yanfly Engine Plugins - Battle Engine Core
* 3. Actors with more than 1 virtual action slots can only act once
* - Reference tag: YEP_BattleEngineCore_AddNewActPhases
* - Extended BattleManager.endAction to stop calling onAllActionsEnd
* for the action execution subject
* - Extended DoubleX_RMMV.SATB.BattleManager.new._isActPhase to
* regard new action sequence phases as action phase
* 4. All battler actions are recreated upon starting actor inputs
* - Reference tag: YEP_BattleEngineCore_StopRecreateAction
* - Stopped calling BattleManager.createActions when SATB's effective
* 5. The sprite of the currently inputable actor will return to its home
* position when any action performs its finish sequence
* - Reference tag: YEP_BattleEngineCore_StopInputableActorReturnHome
* - Extended Game_Battler.prototype.spriteReturnHome to disable this
* function for the currently inputable actor
* 6. (v0.01a+)New inputting actors can't be selected by touching the
* actor sprite unlike what happens when selecting actor or enemy
* targets
* - Reference tag: YEP_BattleEngineCore_TouchActorChangeSelected
* - Extended startPartyCommandSelection to fallback to the default
* rather than the extended YEP_BattleEngineCore version
* - Both Mouse Over and Visual Actor Select should be on to have this
* new inputable actor selection effect
* 7. The inputting actor has the wrong pose during party escape attempts
* - Reference tag: YEP_BattleEngineCore_PartyCmdSelectStopNextCmd
* - Extended startPartyCommandSelection to fallback to the default
* rather than the extended YEP_BattleEngineCore version
* 8. The selection and help window lost info after refresh
* - Reference tag: YEP_BattleEngineCore_UpdateSelectionHelpWindow
* - Extended refreshSATBInputWins to reselect the selection windows
* and update their respective help windows
* 9. The target help window remains when the actor's dead
* - Reference tag: YEP_BattleEngineCore_CloseInvalidTargetHelpWindow
* - Extended
* DoubleX_RMMV.SATB.Scene_Battle.new._deactivateHideSelectionWins
* to close the stale help window
* 10.(v0.02a+) The targets are wrongly shown as selected after inputting
* a skill selecting all targets
* - Reference tag: YEP_BattleEngineCore_ClearTargetSelections
* - Extended DoubleX_RMMV.SATB.Scene_Battle.new._selectNextCmd to
* clear the stale target selections


Upcoming Modules

* 1. Exchange Module
* - Lets you set some skills/items to exchange the charging
* skill/item of the targets with the cooldown of the action
* exeuction subject triggering the exchange
* - This can apply to skills/items with multiple targets but the
* setup can be very complicated and convoluted this way
* 2. Status Module
* - Shows the charge, cooldown, action cost and ATB reset settings
* for each skill/item in battle and outside battle
* - Shows the ATB statues for each actor in the actor status window
* outside battle
* 3. Action Module
* - Lets you set the number of virtual action slots needed for
* skills/items
* - Lets you demands players to input all the virtual action slots at
* once before executing them all as a batch
* - Lets you set how the virtual action slots are gained(gain all
* upon a single full ATB or gain 1 upon each full ATB then empties
* the ATB afterwards until the number of virtual action slots
* reaches the limited specified by Action Times+)
* - Lets you abandon the concept of virtual action slots altogether
* and base the action cost in the form of subtracting the battler
* ATB value
* 4. Combo Module
* - Lets you set some charging skills/items made by different
* battlers to form a new combo skills under certain conditions
* 5. Escape Module
* - Lets you set the conditions allowing party escape attempt
* - Lets you set the charging requirements for the party escape
* attempt
* - Lets you set the cooldown requirements for the failed party
* escape attempt
* - Lets you set the cost for failed party escape attempts
* 6. Overload Module
* - Lets you sets the ATB value of battlers to be beyond their
* maximum, but it'll slowly drop until it's dropped to its maximum
* 7. Pool Module
* - Lets you bind some battlers to share the same ATB pool
* 8. Unison Module
* - Lets you set some skills/items to be unison ones


Possibly Upcoming Modules

* 1. Type Module
* - Lets you have multiple ATB bars for each battler
* - THIS MODULE MUST BE THE LAST MODULE TO BE DONE AS IT'LL CHANGE
* JUST ABOUT EVERYTHING IN THIS PLUGIN AND THUS AFFECTS ALMOST
* EVERYTHING IN EVERY OTHER MODULE


Todo

* 1. Adds _isSaveParamNotes
* 2. Fixes the actor command window not selecting the last command when
* it becomes able to be shown again bug
* 3. Allows party escape attempts when executing actions
* 4. Lets players cancels actor cooldown by clicking the actor sprite
* 5. Lets players cancels actor charge by clicking the actor sprite
* 6. Lets players forces actor charge by long pressing the actor sprite
* 7. Lets you set some skills to demand a set period to charge up before
* they become usable actions that can be inputted by battlers
* 8. Lets you set some skills to demand a set period to cool down before
* they become usable actions that can be inputted by battlers again
* 9. Adds a parameter for each sprite/window class to be called per
* frame so you can control which parameter cache to be
* enabled/disabled
* 10. Fixes the discrete order battler sprite position bugs when the
* battler changes again before the current position changes are
* complete
* 11. Fixes the autobattle actor freezed charge/cooldown with the Delay
* module enabled
* 12. Fixes the compatibility issues/bugs when the CTB Module interacts
* with SEK_ChangeActor


Inherited Behaviors From The Default RMMV Battle System

* Action Speed:
* 1. The battlers that are ready to execute actions will be pushed into
* the First-In-First-Out action execution queue, which is sorted by
* the speed of the action to be executed by the battlers descendingly
* 2. To ensure battlers with extremely slow actions can still execute
* them, the action speed of all battlers in the action execution
* queue will be added by the 2000(the maximum action speed in the
* default RMMV editor) divided by the number of battlers in that
* queue, meaning that the longer the battler's in the queue, the more
* such action speed bonuses will be received by that battler, so that
* battler will be placed more and more up front in the queue
* 3. All these can be changed in the Speed Module
* Action Times+(Not fully applicable with the Action Module enabled):
* 1. Every battler always has at most 1 real action slot, meaning that
* each battler can only input 1 action at a time
* 2. A battler also has at most the number of virtual action slots equal
* to the number of action slots with Action Times+ in the default
* RMMV battle system
* 3. When a battler's no virtual action slot and becomes able to input
* actions, Action Times+ will be used to determine the new number of
* virtual action slots
* 4. When a battler has finished executing an action, the number of
* virtual action slot will be reduced by 1. If that battler still has
* virtual action slots, then the ATB value of that battler won't be
* reduced(technically, it's reduced by an extremely small amount) and
* can immediately input actions again(unless the ATB value's changed
* by some other reasons like battler script calls); If that battler
* has no more virtual action slots, then the ATB value of that
* battler will be cleared to become 0 or remain unchanged if it was
* negative
* Party Escape(Not fully applicable with the Action and/or Escape Module
* enabled):
* 1. Each actor will have his/her/its virtual action slot reduced by 1
* upon a failed party escape attempt, as if it were just another
* normnal action costing 1 virtual action slot
* 2. However, failed escape attempts won't increase the battle turn
* clock counter even if its unit is the number of actions executed
* Agility(Not fully applicable with the Rate Module enabled):
* 1. The fill rate of the battler ATB value will be multiplied by the
* agility of that battler divided by the average of those of all
* battlers in the battle
* States With Removal Timing As Action End(Not fully applicable with the
* Countdown Module enabled):
* 1. The turn counter of such states will be reduced by 1 when the
* battler owning these states have just finished executing an action
* States With Removal Timing As Turn End(Not fully applicable with the
* Countdown Module enabled):
* 1. The turn counter of such states will be reduced by 1 when the
* battle turn counter increases by 1(i.e., the current turn ends)
* Buff Turns Are Updated Upon Turn End Rather Than Action End
* Battler ATB Value With Preemptive Battle Start(Not fully applicable
* with the Start Module enabled):
* 1. The actor ATB value will be immediately fully filled while those of
* enemies will be immediately empty
* Battler ATB Value With Surprise Battle Start(Not fully applicable with
* the Start Module enabled):
* 1. The enemy ATB value will be immediately fully filled while those of
* actors will be immediately empty
* Battler ATB Value With Normal Battle Start(Not fully applicable with
* the Start Module enabled):
* 1. The ATB value of all battlers will be immediately empty
* Battlers Becoming Hidden/Unmovable
* 1. Their ATB values will be reset to 0 if they're not negative before
* 2. Their number of virtual action slots will be reset to 0


Current Technical Limitations

* 1. The ATB frame update can never be run when either of the following
* conditions are met:
* - The battle's starting, aborting or ending
* - The game message's showing in the battle
* - The battle event's running
* Violating any of these conditions might outright crash the game
* 2. Party escape's always disabled when either of the following
* conditions are met:
* - The battler sprites/action animations are animating/playing
* - The log window's displaying messages
* - Battlers are executing actions
* - The game message's showing in the battle
* Violating any of these conditions might outright crash the game
* (Actually it should also be disabled when battle event's running
* but trying to enforce this's itself a current technical limitation)
* 3. Only 1 actor can input actions at a time
* - Violating this, if possible to be compatible with this plugin,
* would be implemented with a separate plugin
* 4. Only 1 battler can execute actions at a time
* - Violating this, if possible to be compatible with this plugin,
* would be implemented with a separate plugin
* 5. A battler can only execute 1 action at a time
* - Violating this, if possible to be compatible with this plugin,
* would be implemented with a separate plugin
* 6. Having too many effective notetags full of nondeterministic results
* will lead to severe performance issues especially on android device
* 7. Having too many effective notetags calling extremely long functions
* will lead to the save files being too big
* 8. In extremely rare cases, the actor action inputting commands might
* be temporarily unresponsive for a very short time(It's to prevent
* crashing the game instead in really weird cases I've truly faced)
* 9. Projects using this plugin with full active ATB mode and Bar Module
* enabled can be hard to maintain 60FPS on mobile phones that aren't
* especially powerful


Author Notes

* 1. DoubleX RMMV Superlative ATB aims to give extreme control and
* freedom to users by making it as flexible as I can with as little
* damage to user-friendliness as I can
* 2. The configuration plugin is generally for more advanced uses, as
* most ordinary cases should be covered by parameters and notetags
* 3. This is an advanced complex plugin, meaning that you're expected to
* use the default parameters and configuration values first to be
* familiar with playing the demo of this plugin before changing any
* of those values and/or using any notetags
* 4. You might have to use some script calls in RMMV and some of those
* provided by this plugin to realize some of the more advanced uses
* 5. If you want to keep things easy, simple and small, you may want to
* use DoubleX RMMV Popularized ATB instead
* 6. If you want to run battle tests, you must open the configuration
* plugin js file directly to setup everything that has to be setup
* upon battle test start by changing the contents of the function
* SATB.onSetupBattleTest
* (It's especially useful when some parameters/notetags use some
* game switches/variables which must all have their corresponding
* values manually assigned first)
* 7. (Advanced)You might have to have a basic knowledge on what the
* implementation plugin does in general to fully utilize this plugin
* in intended ways and solid understanding on how this implementation
* plugin works in details to fully utilize this plugin with creative
* and unintended uses
* 8. (Advanced)You might have to read some new variables/functions to
* have a basic knowledge on what they do in general in order to
* realize some intended cases
* 9. (Advanced)You might have to dig into the mechanisms of some new
* variables/functions to have a solid underatanding on how they work
* alone in details in order to realize some unintended usages


FAQ

* Q1. What's the main differences between DoubleX RMMV Popularized ATB and
* this plugin?
* A1. There are at least 2 main differences:
* - The former uses the core addon approach, meaning that the core
* plugin, which is mandatory, will only have all the essential
* features, and each addon plugin, which is optional, will only have
* each set of extra features. This is useful when many users only
* use a small amount of the feature set provided by
* DoubleX RMMV Popularized ATB.
* On the other hand, the latter uses the single plugin approach,
* meaning that all the feature implementations will be included in a
* single plugin, even though unit tests and compatibility fixes will
* still be separate plugins. This is useful when many users use a
* large amount of the feature set provided by this plugin.
* - The former aims to be easy, simple and small while still being
* reasonably powerful for both users and ATB system plugin
* learners, while the latter aims to be the most flexible and
* powerful ATB system plugin ever by giving users the deepest and
* widest amount of control and freedom ever, thus making it much,
* much more demanding for both users and ATB system plugin learners.
* Q2. May you please make this plugin less demanding? The sheer number of
* parameters/configurations/notetags, most demanding Javascript
* function contents as values, are extremely overwhelming for less
* capable users. It's just far from being user-friendly enough.
* A2. While it's clearly my fault that makes this plugin so hard to use,
* I've already tried my best while still preserving the flexibility
* and power of thie plugin by maintaining the depth and width of
* control and freedom available for users.
* As for the sheer number of parameters/configurations/notetags, this
* plugin aims to include everything in a single plugin, which is
* preferred for some users.
* In case this plugin's really too hostile, you may want to use
* DoubleX RMMV Popularized ATB, which is much easier, simpler and
* smaller while still being reasonably powerful, instead. Also, it
* breaks each set of features into 1 plugin, meaning that you won't
* have to face a sheer number of parameters/configurations/notetags
* there.
* Alternatively, you can ask for help if you still want to use this
* plugin, if the demo doesn't provide enough help already.
* Q3. Why the Core Module itself doesn't show the ATB value of any
* battler and why doesn't it let players change among inputable
* actors? All these are essential UX features. Without them, using
* just the Core Module can only result in a fully broken ATB system.
* (Well, not being able to change the ATB wait conditions sucks too)
* A3. It's because these features aren't technically essential to run an
* ATB system plugin, nor they're behaviors inherited from the default
* RMMV battle system(It doesn't let you change the input sequence nor
* show the actual action execution sequence). All these features that
* are missing in the Core Module are covered in the Bar Module and
* Hotkey Module(The similar logic applies to the Wait Module). That's
* why only these 3 optional modules are enabled by default(All the
* other optional modules are disabled so you don't have to deal with
* so many modules all at once before being familiar with this plugin).
* Q4. Why the Bar Module doesn't use notetags? Isn't it going against the
* very goal of this plugin?
* A4. It's because it's very unlikely that anyone will need to use such
* notetags. If I added them anyway, the sheer number of notetags that
* almost no one's going to use would be too much of a nuance and
* clutter for users to access the functionalities that they really
* want. In case such notetags are indeed needed, I'll implement the
* needed ones, and perhaps one day all those notetags would be done.
* Q5. (Advanced)Why the caching mechanism's so complicated and convoluted
* in this plugin? It's extremely costly and troublesome to work around
* when I've some unintended and creative uses of this plugin.
* A5. It's because this plugin explicitly allows many effective notetags
* to be used in the same frame, which can cause significant lag and
* fps drop if the end result's not cached, epsecially when the
* functions called by those notetags are computationally expensive.
* This plugin's to balance among multiple key aspects, so I'm sorry
* that your use cases have to be at least slightly sacrificed for
* performance stability and ease of use for intended and ordinary use
* cases, which are likely much more common and important. That's the
* main reason why decent RMMV plugin development proficiency is needed
* to fully utilize this plugin with creative and unintended uses.


Prerequisites

* Abilities:
* 1. Nothing special for most ordinary cases
* (No capability on Javascript ES5 experience but can still make
* reasonable guesses on readable novice codes up to 100 LoC scale)
* 2. Little RMMV plugin development proficiency for more advanced uses
* (Elementary Javascript ES5 exposures being able to write beginner
* codes up to 300LoC scale)
* 3. Some RMMV plugin development proficiency to fully utilize this
* plugin in intended ways
* (Basic knowledge on what RMMV plugin development does in general
* with several easy, simple and small plugins written without
* nontrivial bugs up to 1000 LoC scale but still being inexperienced)
* 4. Decent RMMV plugin development proficiency to fully utilize this
* plugin with creative and unintended uses
* (Solid understanding on how RMMV plugin development works on its
* own in details with dozens of tolerable quality plugins written
* without nontrivial bugs with some up to 3000 LoC scale and being
* experienced)
* Knowledge:
* 1. Basic knowledge on what the default RMMV editor does in general
* 2. Basic knowledge on what the default RMMV battle system does in
* general on the user level
* 3. Basic knowledge on what an ATB system does in general


Terms Of Use
*      1. Commercial use's always allowed and crediting me's always optional.
*      2. You shall keep this plugin's Plugin Info part's contents intact.
*      3. You shalln't claim that this plugin's written by anyone other than
*         DoubleX or my aliases. I always reserve the right to deny you from
*         using any of my plugins anymore if you've violated this.
*      4. If you repost this plugin directly(rather than just linking back),
*         you shall inform me of these direct repostings. I always reserve
*         the right to request you to edit those direct repostings.
*      5. CC BY 4.0, except those conflicting with any of the above, applies
*         to this plugin, unless you've my permissions not needing follow so.
*      6. I always reserve the right to deny you from using this plugin
*         anymore if you've violated any of the above.


Instructions

* 1. If you want to edit configurations instead of parameters, you must
* open the configuration plugin js file to access those
* configurations
* 2. If you want to keep the current parameter values in the plugin
* manager upon using a newer parameter plugin version, you can rename
* the newer one of the parameter plugin to be that of the older one
* 3. If you wish to use DoubleX RMMV Superlative ATB Unit Test, place it
* right below DoubleX RMMV Superlative ATB Implementation


Contributors
*      Authors:
*      1. DoubleX
*      Plugin Development Collaborators:
*      - None So Far
*      Bug Reporters:
*      - None So Far
*      Compatibility Issue Raisers:
*      - None So Far
*      Feature Requesters:
*      - None So Far


Changelog
*      Parameters:
 *      - v0.15b(GMT 1400 3-Dec-2020):
 *        1. You no longer have to edit the value of
 *           DoubleX_RMMZ.Superlative_ATB_Parameters_File when changing the
 *           parameter plugin file name
 *      - v0.15a(GMT 0700 18-Aug-2020):
 *        1. Finished the Delay Module
 *        2. Added didDelayCounterEnd
 *      - v0.14a(GMT 1400 17-Aug-2020):
 *        1. Finished the Order Module
 *        2. Lets you set the font face, text color and align, opacity and
 *           windowskin for all news windows in this plugin
 *        3. Removed all useless text padding parameters for all new windows
 *           in this plugin
 *      - v0.13a(GMT 1400 26-Jul-2020):
 *        1. Finished the CTB module
 *        2. Added didFillCoreATB, didFillChargeATB and didFillCooldownATB
 *      - v0.12a(GMT 1400 25-Jul-2020):
 *        1. Finished the countdown module
 *        2. Added didDecreaseCountdownStateTurn and
 *           didIncreaseCountdownStateTurn in the event module
 *      - v0.11a(GMT 1300 23-Jul-2020):
 *        1. Finished the turn module
 *      - v0.10a(GMT 0900 23-Jul-2020):
 *        1. Finished the rate module
 *      - v0.09a(GMT 1400 22-Jul-2020):
 *        1. Finished the start module
 *      - v0.08a(GMT 0900 21-Jul-2020):
 *        1. Finished the speed module
 *      - v0.07a(GMT 1400 20-Jul-2020):
 *        1. Finished the reset module
 *      - v0.06a(GMT 0700 19-Jul-2020):
 *        1. Finished the event module
 *        2. Added more parameters for attaching actor ATB bars to the status
 *           window in the bar module
 *      - v0.05a(GMT 1000 27-Jun-2020):
 *        1. Finished the cooldown module
 *      - v0.04a(GMT 1500 19-Jun-2020):
 *        1. Finished the charge module
 *        2. Added _isBarVisibleNoteChainingRule and
 *           _isBarVisibleNotePriorities parameters in the bar module
 *      - v0.03a(GMT 1400 15-Jun-2020):
 *        1. Finished the bar module
 *      - v0.02a(GMT 1200 14-Jun-2020):
 *        1. Finished the wait module
 *      - v0.01a(GMT 1500 13-Jun-2020):
 *        1. Finished the hotkey module
 *      - v0.00a(GMT 1500 12-Jun-2020):
 *        1. Finished the core module
 *      Configurations:
 *      - v0.15a(GMT 0700 18-Aug-2020):
 *        1. Finished the Delay Module
 *        2. Added didDelayCounterEnd
 *      - v0.14a(GMT 1400 17-Aug-2020):
 *        1. Finished the Order Module
 *        2. Lets you set the font face, text color and align, opacity and
 *           windowskin for all news windows in this plugin
 *        3. Removed all useless text padding parameters for all new windows
 *           in this plugin
 *      - v0.13a(GMT 1400 26-Jul-2020):
 *        1. Finished the CTB module
 *        2. Added didFillCoreATB, didFillChargeATB and didFillCooldownATB
 *      - v0.12a(GMT 1400 25-Jul-2020):
 *        1. Finished the countdown module
 *        2. Added didDecreaseCountdownStateTurn and
 *           didIncreaseCountdownStateTurn in the event module
 *      - v0.11a(GMT 1300 23-Jul-2020):
 *        1. Finished the turn module
 *      - v0.10a(GMT 0900 23-Jul-2020):
 *        1. Finished the rate module
 *      - v0.09a(GMT 1400 22-Jul-2020):
 *        1. Finished the start module
 *      - v0.08a(GMT 0900 21-Jul-2020):
 *        1. Finished the speed module
 *      - v0.07a(GMT 1400 20-Jul-2020):
 *        1. Finished the reset module
 *      - v0.06a(GMT 0700 19-Jul-2020):
 *        1. Finished the event module
 *        2. Added more parameters for attaching actor ATB bars to the status
 *           window in the bar module
 *      - v0.05b(GMT 0200 13-Jul-2020):
 *        1. Corrected the documentations of thie configuration plugin
 *      - v0.05a(GMT 1000 27-Jun-2020)
 *        1. Finished the cooldown module
 *      - v0.04a(GMT 1500 19-Jun-2020):
 *        1. Finished the charge module
 *      - v0.03a(GMT 1400 15-Jun-2020):
 *        1. Finished the bar module
 *        2. Corrected the documentations of the Wait Module parameters
 *      - v0.02a(GMT 1200 14-Jun-2020):
 *        1. Finished the wait module
 *        2. Corrected the documentations of the Hotkey Module parameters
 *      - v0.01a(GMT 1500 13-Jun-2020):
 *        1. Finished the hotkey module
 *        2. Corrected the documentations of the Core Module parameters
 *      - v0.00a(GMT 1500 12-Jun-2020):
 *        1. Finished the core module
 *      Implementations:
 *      - v0.15b(GMT 0300 7-Dec-2020):
 *        1. Fixed the wrong this of the following Array prototype methods:
 *           i. fastFilter
 *           ii. fastMap
 *           iii. filterMap
 *           iv. mapFilter
 *           v. mapReduce
 *           vi. mapSome
 *        2. Fixed the x and y positions and opacity update bugs for discrete
 *           order battler sprites
 *      - v0.15a(GMT 0700 18-Aug-2020):
 *        1. Finished the Delay Module
 *        2. Added didDelayCounterEnd
 *      - v0.14a(GMT 1400 17-Aug-2020):
 *        1. Finished the Order Module
 *        2. Lets you set the font face, text color and align, opacity and
 *           windowskin for all news windows in this plugin
 *        3. Removed all useless text padding parameters for all new windows
 *           in this plugin
 *        4. Fixed mono chaining rules not working bug
 *      - v0.13a(GMT 1400 26-Jul-2020):
 *        1. Finished the CTB module
 *        2. Added didFillCoreATB, didFillChargeATB and didFillCooldownATB
 *      - v0.12a(GMT 1400 25-Jul-2020):
 *        1. Finished the countdown module
 *        2. Added didDecreaseCountdownStateTurn and
 *           didIncreaseCountdownStateTurn in the event module
 *        3. Battle turn clock second unit counter's stored in seconds instead
 *           of milliseconds
 *      - v0.11a(GMT 1300 23-Jul-2020):
 *        1. Finished the turn module
 *      - v0.10a(GMT 0900 23-Jul-2020):
 *        1. Finished the rate module
 *      - v0.09a(GMT 1400 22-Jul-2020):
 *        1. Finished the start module
 *      - v0.08a(GMT 0900 21-Jul-2020):
 *        1. Finished the speed module
 *      - v0.07a(GMT 1400 20-Jul-2020):
 *        1. Finished the reset module
 *        2. Fixed the corrupt notetag cache bug involving latestSkillItem
 *        3. Fixed the notetag cache invalidation not working at all bug
 *      - v0.06a(GMT 0700 19-Jul-2020):
 *        1. Finished the event module
 *        2. Added more parameters for attaching actor ATB bars to the status
 *           window in the bar module
 *        3. Plugin commands now support battler names with spaces
 *      - v0.05b(GMT 0200 13-Jul-2020):
 *        1. Added the ok SE upon successfully starting and ending a forced
 *           ATB charge
 *        2. Fixed the battle turn clock overflow crashing the game bug
 *        3. Fixed removing an actor not clearing the ATB states bug
 *        4. Fixed the cached battle turn clock parameters crashing the game
 *           bug
 *        5. Fixed not cancelling charges with skills banning cancel charge
 *           even when the charge ATB becomes negative bug
 *        6. Fixed a battler using a skill/item to add/remove restrictions on
 *           that battler not having item for cooldown bug
 *        7. Fixed a battler with more than 1 virtual action slots using a
 *           skill/item to cause that battler to become auto input still
 *           showing the actor command window in full ATB wait mode bug
 *        8. Fixed the notetag cache not detecting ATB phase change bug
 *        9. Fixed cooldown being instantly finished when the battler's
 *           refreshed bug
 *        10. Fixed game crashing upon changing actor equip bug
 *        11. Fixed a very severe memory leak in the notetag cache, ATB bars
 *            and force ATB frame update command and status windows
 *        12. Fixed some plugin commands not executing anything bug
 *        13. Fixed non actor plugin commands not executing anything bug
 *        14. Fixed plugin command expecting Number arguments having String
 *            counterparts instead bug
 *        15. Extracted the inputable actor business logic to Game_Party from
 *            BattleManager
 *        16. Increased the effectiveness and efficiency of the ATB bars
 *        17. Increased the effectiveness and efficiency of updating actor
 *            selections
 *      - v0.05a(GMT 1000 27-Jun-2020):
 *        1. Finished the cooldown module
 *      - v0.04a(GMT 1500 19-Jun-2020):
 *        1. Finished the charge module
 *        2. Added isBarVisible suffix: entry notetag in the bar module
 *        3. Documented what registration works need to be done when adding
 *           new parameters and notetags
 *        4. Fixed the force run/stop command window not being shown as
 *           disabled after pressing respectively hotkeys bug
 *        5. Increased the performance of ATB force status and command windows
 *           with _isParamFuncCached being on, especially for corresponding
 *           parameters being costly to run
 *      - v0.03a(GMT 1400 15-Jun-2020):
 *        1. Finished the bar module
 *        2. Added battler manipulation script call satbActTimes() and
 *           canMakeSATBCmds()
 *        3. Added sound feedbacks when using force ATB run/stop hoktey and
 *           command windows
 *        4. Added more visual feedbacks when using force ATB run/stop command
 *           windows
 *        5. Fixed the force ATB run/stop hotkey still working even when the
 *           Wait Module's disabled bug
 *        6. Fixed the ATB frame update wait conditions still working even
 *           when the Wait Module's disabled bug
 *      - v0.02a(GMT 1200 14-Jun-2020):
 *        1. Finished the wait module
 *      - v0.01a(GMT 1500 13-Jun-2020):
 *        1. Finished the hotkey module
 *        2. Added battler maniuplation script call fillUpCoreSATB() and
 *           coreSATBProportion()
 *        3. Fixed the battle turn clock always using all units to end the
 *           turn bug
 *        4. Fixed the base fill ATB rate and battle turn clock time counter
 *           using the render loop fps rather than the game loop fps bug
 *           (Graphics._fpsMeter.fps vs SceneManager._deltaTime)
 *      - v0.00a(GMT 1500 12-Jun-2020):
 *        1. Finished the core module
 *      Unit Tests:
 *      - v0.15b(GMT 0400 7-Dec-2020):
 *        1. Fixed wrong unit test check conditions for the x and y positions
 *           and opacity for discrete order battler sprites
 *      - v0.15a(GMT 0700 18-Aug-2020):
 *        1. Finished the Delay Module
 *        2. Added didDelayCounterEnd
 *      - v0.14a(GMT 1400 17-Aug-2020):
 *        1. Finished the Order Module
 *        2. Lets you set the font face, text color and align, opacity and
 *           windowskin for all news windows in this plugin
 *        3. Removed all useless text padding parameters for all new windows
 *           in this plugin
 *      - v0.13a(GMT 1400 26-Jul-2020):
 *        1. Finished the CTB module
 *        2. Added didFillCoreATB, didFillChargeATB and didFillCooldownATB
 *      - v0.12a(GMT 1400 25-Jul-2020):
 *        1. Finished the countdown module
 *        2. Added didDecreaseCountdownStateTurn and
 *           didIncreaseCountdownStateTurn in the event module
 *        3. Battle turn clock second unit counter's stored in seconds instead
 *           of milliseconds
 *      - v0.11a(GMT 1300 23-Jul-2020):
 *        1. Finished the turn module
 *      - v0.10a(GMT 0900 23-Jul-2020):
 *        1. Finished the rate module
 *        2. Removed some unit tests becoming redundant in this latest version
 *      - v0.09a(GMT 1400 22-Jul-2020):
 *        1. Finished the start module
 *      - v0.08a(GMT 0900 21-Jul-2020):
 *        1. Finished the speed module
 *        2. Removed a unit test that becomes tautological in latest version
 *      - v0.07a(GMT 1400 20-Jul-2020):
 *        1. Finished the reset module
 *      - v0.06a(GMT 0700 19-Jul-2020):
 *        1. Finished the event module
 *        2. Added more unit tests in the bar module
 *      - v0.05b(GMT 0200 13-Jul-2020):
 *        1. Added a test suite that can be executed as a script call
 *        2. Added logs with useful information at important timings
 *        3. Fixing failed integer checks falsely reported as failed
 *           nonnegative integer checks
 *        4. In sync with the latest implementation plugin version
 *      - v0.05a(GMT 1000 27-Jun-2020):
 *        1. Finished the cooldown module
 *        2. More useful contents are included in the failed test messages
 *      - v0.04a(GMT 1500 19-Jun-2020):
 *        1. Finished the charge module
 *        2. In sync with the latest implementation plugin version
 *      - v0.03a(GMT 1400 15-Jun-2020):
 *        1. Finished the bar module
 *        2. Added more tests for the wait module
 *      - v0.02a(GMT 1200 14-Jun-2020):
 *        1. Finished the wait module
 *      - v0.01a(GMT 1500 13-Jun-2020):
 *        1. Finished the hotkey module
 *      - v0.00a(GMT 1500 12-Jun-2020):
 *        1. Finished the core module
 *      Compatibilities:
 *      - v0.05a(GMT 0700 11-Dec-2020):
 *        1. Finished the delay module
 *        2. Lets players cancels actor cooldown by clicking the actor sprite
 *        3. Lets players cancels actor charge by clicking the actor sprite
 *      - v0.04a(GMT 0200 13-Jul-2020):
 *        1. Addressed compatibility issues with SEK_ChangeActor
 *        2. Added more Charge and Cooldown Module action sequences in
 *           YEP_BattleEngineCore
 *        3. Fixed the Cooldown Module action sequences not implemented in
 *           YEP_BattleEngineCore bug
 *      - v0.03a(GMT 1000 27-Jun-2020):
 *        1. Finished the cooldown module
 *        2. Added action sequences from charge module in YEP_BattleEngineCore
 *      - v0.02a(GMT 1500 19-Jun-2020):
 *        1. Finished the wait module(No nontrivial change has taken place)
 *        2. Finished the bar module(No nontrivial change has taken place)
 *        3. Finished the charge module
 *        4. Added action sequences from charge module in YEP_BattleEngineCore
 *        5. Addressed more compatibility issues with YEP_BattleEngineCore
 *      - v0.01a(GMT 1500 13-Jun-2020):
 *        1. Finished the hotkey module
 *        2. Fixed the battle turn clock action counter won't update bug when
 *           addressing compatibility issues with
 *           Yanfly Engine Plugins - Battle Engine Core
 *        3. New inputable actors can be selected by touching those actor
 *           sprites
 *      - v0.00a(GMT 1500 12-Jun-2020):
 *        1. Finished the core module
 *      Compatibility Tests:
 *      - v0.01a(GMT 0200 13-Jul-2020):
 *        1. Finished the hotkey module(No nontrivial change has taken place)
 *        2. Finished the wait module(No nontrivial change has taken place)
 *        3. Finished the bar module(No nontrivial change has taken place)
 *        4. Finished the charge module(No nontrivial change has taken place)
 *        5. Finished the cooldown module(No nontrivial change has taken place)
 *        6. Added compatibility tests for
 *           Yanfly Engine Plugins - Battle Engine Core
 *      - v0.00a(GMT 1500 12-Jun-2020):
 *        1. Finished the core module
 *      Documentations:
 *      - v0.15c(GMT 0700 11-Dec-2020):
 *        1. Fixed the following wrong documentations:
 *           Battler manipulations -
 *           i. setDelaySecCounter should be setSATBDelaySecCounter
 *           ii. addDelaySecCounter should be addSATBDelaySecCounter
 *           iii. multiplyDelaySecCounter should be
 *                multiplySATBDelaySecCounter
 *           iv. delaySecCounter should be satbDelaySecCounter
 *        2. Added the action sequence for the Delay Module in
 *           Yanfly Engine Plugins - Battle Engine Core
 *        3. Lets players cancels actor cooldown by clicking the actor sprite
 *        4. Lets players cancels actor charge by clicking the actor sprite
 *      - v0.15b(GMT 0400 7-Dec-2020):
 *        1. You no longer have to edit the value of
 *           DoubleX_RMMZ.Superlative_ATB_Parameters_File when changing the
 *           parameter plugin file name
 *        2. Fixed the wrong this of the following Array prototype methods:
 *           i. fastFilter
 *           ii. fastMap
 *           iii. filterMap
 *           iv. mapFilter
 *           v. mapReduce
 *           vi. mapSome
 *        3. Fixed the x and y positions and opacity update bugs for discrete
 *           order battler sprites
 *        4. Fixed wrong unit test check conditions for the x and y positions
 *           and opacity for discrete order battler sprites
 *      - v0.15a(GMT 0700 18-Aug-2020):
 *        1. Finished the Delay Module
 *        2. Added didDelayCounterEnd
 *      - v0.14a(GMT 1400 17-Aug-2020):
 *        1. Finished the Order Module
 *        2. Lets you set the font face, text color and align, opacity and
 *           windowskin for all news windows in this plugin
 *        3. Removed all useless text padding parameters for all new windows
 *           in this plugin
 *      - v0.13a(GMT 1400 26-Jul-2020):
 *        1. Finished the CTB module
 *        2. Added didFillCoreATB, didFillChargeATB and didFillCooldownATB
 *      - v0.12a(GMT 1400 25-Jul-2020):
 *        1. Finished the countdown module
 *        2. Added didDecreaseCountdownStateTurn and
 *           didIncreaseCountdownStateTurn in the event module
 *        3. Battle turn clock second unit counter's stored in seconds instead
 *           of milliseconds
 *      - v0.11a(GMT 1300 23-Jul-2020):
 *        1. Finished the turn module
 *      - v0.10a(GMT 0900 23-Jul-2020):
 *        1. Finished the rate module
 *        2. Removed some unit tests becoming redundant in this latest version
 *      - v0.09a(GMT 1400 22-Jul-2020):
 *        1. Finished the start module
 *      - v0.08a(GMT 0900 21-Jul-2020):
 *        1. Finished the speed module
 *        2. Removed a unit test that becomes tautological in latest version
 *      - v0.07a(GMT 1400 20-Jul-2020):
 *        1. Finished the reset module
 *      - v0.06a(GMT 0700 19-Jul-2020):
 *        1. Finished the event module
 *        2. Added more parameters for attaching actor ATB bars to the status
 *           window in the bar module
 *        3. Plugin commands now support battler names with spaces
 *      - v0.05b(GMT 0200 13-Jul-2020):
 *        1. Addressed compatibility issues with SEK_ChangeActor
 *      - v0.05a(GMT 1000 27-Jun-2020):
 *        1. Finished the cooldown module
 *      - v0.04a(GMT 1500 19-Jun-2020):
 *        1. Finished the charge module
 *        2. Added isBarVisible suffix: entry notetag in the bar module
 *        3. Added battler manipulation script calls to manipulate the battle
 *           turn clock counters
 *      - v0.03a(GMT 1400 15-Jun-2020):
 *        1. Finished the bar module
 *      - v0.02a(GMT 1200 14-Jun-2020):
 *        1. Finished the wait module
 *      - v0.01a(GMT 1500 13-Jun-2020):
 *        1. Finished the hotkey module
 *        2. Added battler maniuplation script call coreSATBProportion()
 *      - v0.00a(GMT 1500 12-Jun-2020):
 *        1. Finished the core module


Demo

Posts

Pages: 1
Updates

* - v0.15b(GMT 0400 7-Dec-2020):
* 1. You no longer have to edit the value of
* DoubleX_RMMZ.Superlative_ATB_Parameters_File when changing the
* parameter plugin file name
* 2. Fixed the wrong this of the following Array prototype methods:
* i. fastFilter
* ii. fastMap
* iii. filterMap
* iv. mapFilter
* v. mapReduce
* vi. mapSome
* 3. Fixed the x and y positions and opacity update bugs for discrete
* order battler sprites
* 4. Fixed wrong unit test check conditions for the x and y positions
* and opacity for discrete order battler sprites
Updates

* - v0.15c(GMT 0700 11-Dec-2020):
* 1. Fixed the following wrong documentations:
* Battler manipulations -
* i. setDelaySecCounter should be setSATBDelaySecCounter
* ii. addDelaySecCounter should be addSATBDelaySecCounter
* iii. multiplyDelaySecCounter should be
* multiplySATBDelaySecCounter
* iv. delaySecCounter should be satbDelaySecCounter
* 2. Added the action sequence for the Delay Module in
* Yanfly Engine Plugins - Battle Engine Core
* 3. Lets players cancels actor cooldown by clicking the actor sprite
* 4. Lets players cancels actor charge by clicking the actor sprite
Pages: 1