Private ReadonlydynamicMaps phase types to their corresponding queues
Finds and cancels a MovePhase meeting the condition
Clears the stored Move turn order
Removes all phases from the manager
Determines if there is a queued dynamic Phase meeting the conditions
The type of phase to search for
Optionalcondition: PhaseConditionFunc<T>An optional PhaseConditionFunc to add conditions to the search
Whether a matching phase exists
Finds a MovePhase meeting the condition
The MovePhase, or undefined if it does not exist
PrivategetInternal helper to get the MovePhasePriorityQueue
PrivateisInternal helper to determine if a phase is dynamic.
Whether phase is dynamic
Returns the highest-priority (generally by speed) Phase of the specified type
The type to pop
The popped Phase, or undefined if none of the specified type exist
Finds and removes a single queued Phase
The type of phase to search for
Optionalcondition: PhaseConditionFunc<T>Whether a removal occurred
Finds the MovePhase meeting the condition and changes its move
The move to use in replacement
Sets the move order to a static array rather than a dynamic queue
The order of BattlerIndexs
Sets the timing modifier of a move (i.e. to force it first or last)
A PhaseConditionFunc to specify conditions for the move
The MovePhaseTimingModifier to switch the move to
The dynamic queue manager holds priority queues for phases which are queued as dynamic.
Dynamic phases are generally those which hold a pokemon and are unshifted, not pushed.
Queues work by sorting their entries in speed order (and possibly with more complex ordering) before each time a phase is popped.
As the holder, this structure is also used to access and modify queued phases. This is mostly used in redirection, cancellation, etc. of
MovePhases.