Skip to content

Status Effects • Abstractions • Core

Defines the core lifecycle contracts and identity types for status effects.


Purpose

Core abstractions define:

  • what a status effect is (IStatusEffect)
  • how it is identified (StatusId)
  • how stacking should behave (StatusStackingRule)
  • the minimal interaction surface (IStatusEffectController)
  • attribution (StatusContext)
  • whether an application took effect, and why not (StatusApplyResult)

What Lives Here

  • IStatusEffect
  • StatusId
  • StatusStackingRule
  • IStatusEffectController
  • StatusContext
  • StatusApplyResult

Important Notes

  • These are contracts only
  • They do not tick or update
  • They do not enforce stacking
  • They do not apply effects

All behaviour lives in the Core runtime implementation.


Usage Guidance

  • StatusId is a value-type wrapper around a string identifier
  • IStatusEffectController is intentionally minimal
  • StatusContext provides optional attribution data
  • StatusApplyResult is what ApplyStatus returns — Applied, or the gate that refused

Not for Production Use

Definitions of the vocabulary, not the systems that use it

  • No controller logic lives here
  • No stacking logic implementation is defined here
  • No runtime behaviour is executed from this folder

  • Core → runtime controller and lifecycle implementation
  • Effects → concrete behaviour implementations