Tracking control flags
disableTracker flag
ThedisableTracker flag controls whether tracking occurs outside of active rounds. When enabled, the mod ignores spawn and interaction events.
- Set to
truewhen the player dies or the game ends - Set to
falsewhen a new round starts - Prevents counting spawns in menus or between rounds
IsRoundActive flag
TheIsRoundActive flag in ChargeShrineTracker indicates whether a gameplay round is currently active.
truewhenGameManager.StartPlaying(),TryInit(), orCreateInstances()is calledfalsewhen the player dies or the game is destroyed- Used in conjunction with
disableTrackerto determine tracking state
Round state management
When tracking is enabled
Tracking activates when any of these game events occur:When tracking is disabled
Tracking stops and all counters reset when: Player death:Tracking condition logic
Most spawn and interaction patches use this conditional check:- Tracking proceeds if either flag allows it
disableTracker = falseORIsRoundActive = trueenables tracking- Both must be blocking (
disableTracker = trueANDIsRoundActive = false) to prevent tracking
This logic ensures tracking continues during stage transitions where one flag may temporarily be in a blocking state.
Stage transitions
When entering a new stage or restarting:Counter reset behavior
All trackers are reset to zero when:- A new round starts (via
ResetAllTrackers()) - The player dies
- The GameManager is destroyed
- SafeCleanup is called
ResetAllTrackers() does NOT reset MoaiTracker. However, OverlayManager.SafeCleanup() resets all trackers including Moai.