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)

🧩 What Lives Here

  • IStatusEffect
  • StatusId
  • StatusStackingRule
  • IStatusEffectController
  • StatusContext

⚠️ 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

🚫 Not for Production Use

  • 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