Skip to content

Status Effects • Abstractions • Contracts

Defines metadata and classification contracts for status effects.


🎯 Purpose

Contracts describe how status effects are:

  • categorised
  • filtered
  • identified for cleansing or UI

They provide descriptive data, not behaviour.


🧠 Usage Guidance

Status systems need consistent ways to:

  • group effects (buff, debuff, DOT, etc.)
  • cleanse or dispel effects
  • drive UI and filtering logic

Instead of hardcoding this into controllers or effects, this folder exposes metadata contracts.


🧩 What Lives Here

  • StatusTag — categorisation flags
  • DispelType — cleanse buckets
  • IDispellable — marks effects as dispellable
  • IStatusMetadata — exposes tags and dispel information

⚠️ Important Notes

  • These types do not remove or modify effects
  • These types do not perform logic
  • These types are read by other systems

🚫 Not for Production Use

  • This folder does not implement cleansing behaviour
  • This folder does not contain effect logic
  • This folder does not make controller decisions

  • Controller → filtering, cleansing, queries
  • UI → icons, grouping, display
  • Gameplay systems → optional logic based on tags

🧠 Mental Model

Contracts describe what an effect is, not what it does.