How it works

When the player uses an Item whose Effect has a duration greater than zero, ActiveEffectsController.Track() is called automatically. Each turn the controller decrements the remaining turns of every tracked effect, and calls RevertEffect on any that expire — undoing the stat modification.

Inspector Fields

FieldTypeDescription
_activeEffectsList<ActiveEffect> (ReadOnly)Read-only view of the effects currently being tracked. Visible in the Inspector for debugging — do not modify directly.

Methods

MethodDescription
Track(Effect effect, IStatEffectReceiver receiver)Registers a timed effect for automatic expiry. Called by the item-use flow when an effect with duration > 0 is applied.
Clear()Removes all tracked effects without reverting them. Called when a run ends to reset controller state.
ℹ️
Instant effects (duration == 0) are never registered here — they are applied and forgotten immediately. Only timed effects with a positive duration go through ActiveEffectsController. See Effect for the full duration model.