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 flagsDispelType— cleanse bucketsIDispellable— marks effects as dispellableIStatusMetadata— 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
🔗 Related Documentation¶
- 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.