RevFramework — Status Effects • Movement¶
Lightweight movement-speed sink used by Status Effects to modify actor speed without coupling to any specific movement controller or character system.
🎯 Purpose¶
MovementSpeedScaler exposes a single multiplicative speed factor via IMovementSpeedFactor.
- Movement code reads
Factor - Status effects push and pop multipliers
It does not move actors.
🧠 Usage Guidance¶
Use this as a shared seam between movement and status systems:
- movement code multiplies its base speed by
Factor - status effects adjust
Factorthrough push/pop operations
This keeps:
- movement rules in movement code
- status modifiers in Status Effects
- coupling low
🧩 What Lives Here¶
MovementSpeedScaler— multiplicative speed factor provider
📦 Folder Overview¶
- Component exposing a movement-speed multiplier
- Stack-based modifier management (push/pop)
- No direct movement behaviour
⚠️ Important Notes¶
- This component does not move actors
- Multipliers stack multiplicatively
- Removing the component while effects are active can leave modifiers unapplied
- Consumers should read
Factorat runtime if values can change
🧪 Diagnostics¶
Common pitfalls:
- Not popping the same multiplier that was pushed
- Caching
Factorinstead of reading it dynamically - Using separate sinks for different systems instead of sharing one
🚫 Not for Production Use¶
- This folder does not implement a movement controller
- This folder does not handle pathfinding or animation
- This folder does not define authority or networking behaviour
🔗 Related Documentation¶
- Effects →
SlowStatus - Core → controller and ticking
- Abstractions →
IAdjustableMagnitude
🧠 Mental Model¶
This component exposes a multiplier.
Movement systems decide how to use it.