RevFramework — Status Effects • Definitions¶
ScriptableObject assets used to author status effects in the Unity Editor.
Definitions are authoring-time assets. They describe what runtime effect to build, not how status behaviour is executed after application.
🎯 Purpose¶
This folder contains the core built-in status definition assets for the Status Effects system.
Each definition:
- exposes tunable authoring fields
- implements
BuildEffect() - returns a fresh runtime
IStatusEffectinstance
🧠 Usage Guidance¶
The system separates:
- authored configuration
- runtime behaviour
This allows:
- tuning values in assets instead of hardcoding
- reusable status setups
- clean runtime instances without storing active state in assets
Definitions act as the bridge between editor-authored data and runtime effect instances.
🧩 What Lives Here¶
Core built-in definitions:
PoisonStatusDefinitionBurnStatusDefinitionSlowStatusDefinitionHasteStatusDefinitionVulnerabilityStatusDefinitionStunStatusDefinitionThornsStatusDefinition
Also included:
StatusEffectDefinitionBase— abstract base for definition assets
Health-linked definitions such as RegenStatusDefinition and ShieldStatusDefinition live in the integration layer.
📦 Folder Overview¶
- ScriptableObject-based authoring assets
- Runtime effect construction via
BuildEffect() - Separation between data and runtime behaviour
⚠️ Important Notes¶
BuildEffect()must return a fresh instance- Definitions should not depend on scene objects or runtime state
- Potency and duration scaling are applied by the runtime pipeline
- Definitions do not control lifecycle, stacking, or authority
🧪 Diagnostics¶
Common pitfalls:
- Reusing effect instances instead of creating new ones
- Placing runtime logic inside definition assets
- Assuming definitions control behaviour after application
🚫 Not for Production Use¶
- This folder does not contain runtime ticking logic
- This folder does not define controller behaviour
- This folder does not implement stacking or authority rules
- This folder does not perform scene-based mutation
🔗 Related Documentation¶
- Effects → runtime effect implementations
- Core → controller, lifecycle, registry usage
- Abstractions → shared contracts
- Integration → health-linked definitions and system-specific behaviour
🧠 Mental Model¶
Definitions build the effect. The runtime pipeline decides what happens after that.