RevFramework — Status Effects • Authority¶
Provides the authority hook used by the Status Effects system.
This folder does not implement networking features such as replication, prediction, rollback, or reconciliation.
Authority determines whether a StatusEffectController is allowed to tick or mutate (apply, refresh, remove, dispel, tick).
🎯 Purpose¶
This is a minimal, optional authority seam.
It answers one question:
Is this controller allowed to change state right now?
Everything else (networking, ownership, synchronisation) is outside this system.
🧠 Usage Guidance¶
Status effects mutate state over time.
In controlled simulations or multiplayer contexts, not every instance should be allowed to:
- apply effects
- tick time
- remove or cleanse
Instead of hardcoding rules, the system exposes a pluggable decision point:
IStatusAuthority
This keeps the system:
- decoupled from networking solutions
- flexible for different authority models
- usable in both single-player and multiplayer setups
🧩 What Lives Here¶
IStatusAuthority— authority decision interfaceStatusAuthority— internal resolverStatusAuthorityBinder— simple local implementation
📦 Folder Overview¶
- Interface for authority checks
- Resolver used by controllers
- Optional local binder for simple setups
⚠️ Important Notes¶
- Authority is opt-in per controller
requireAuthority = falsemeans authority is not usedrequireAuthority = truegates all mutation and ticking- If no valid authority resolves, operations become no-ops
- Resolver returns a single authority instance per context
🚫 Not for Production Use¶
- This folder does not implement networking
- This folder does not handle replication or state sync
- This folder does not define ownership systems
🔗 Related Documentation¶
- Core → controller and lifecycle
- Abstractions → contracts and extension seams
- Effects → behaviour implementations
🧠 Mental Model¶
Authority does not control what happens.
It controls whether anything is allowed to happen at all.