RevFramework — Status Effects • Integration¶
Optional helpers that connect Status Effects to other gameplay systems (such as Health or legacy shield components).
These integrations are fully optional and intentionally decoupled.
🎯 Purpose¶
This folder contains bridge helpers used by status implementations to interact with external systems.
They answer one question:
How can an effect call into another system safely, if that system exists?
🧠 Usage Guidance¶
The Status system avoids hard dependencies on other modules.
Instead, integrations provide:
- small, focused helpers
- interface-based calls where available
- reflection-based fallbacks when needed
This keeps the system:
- modular
- optional
- safe when integrations are missing
🧩 What Lives Here¶
HealthStatusHooks¶
Used by:
PoisonStatusBurnStatus
Purpose:
- Routes integer damage ticks into a target exposing
IDamageable
Behaviour:
- Checks for
IDamageable - Calls
Damage(int) - Ignores
statusIdin current implementation - Performs no work if target is null, amount ≤ 0, or interface is missing
ShieldLegacyBridge¶
Purpose:
- Compatibility adapter for legacy shield components
Behaviour:
- Uses reflection to locate compatible components
- Caches method lookups per type
- Provides
TryAdd(...)andTryClear(...)
Important:
Clear()may remove all shield contributions- Intended as a migration helper
- Prefer explicit interfaces for long-term use
📦 Folder Overview¶
- Helper bridges for external systems
- Interface-first integration where possible
- Reflection fallback support for legacy systems
⚠️ Important Notes¶
- Integration helpers are called from effect implementations
- They are not part of the core status pipeline
- Removing this folder does not break the Status system
- Missing dependencies result in safe no-op behaviour
🧪 Diagnostics¶
Common pitfalls:
- Assuming integrations apply gameplay rules
- Relying on reflection paths for precise behaviour
- Using legacy bridges where explicit interfaces are available
🚫 Not for Production Use¶
- This folder does not define gameplay rules
- This folder does not implement controller logic
- This folder does not define stacking or authority behaviour
- This folder does not represent a full system implementation
🔗 Related Documentation¶
- Effects → runtime behaviour
- Core → lifecycle, stacking, authority
- Abstractions → shared contracts
- Integration (Health) → extended status behaviour
🧠 Mental Model¶
Integration code does not own gameplay.
It provides safe entry points into other sys