Skip to content

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 Factor through 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 Factor at runtime if values can change

Diagnostics

Common pitfalls:

  • Not popping the same multiplier that was pushed
  • Caching Factor instead of reading it dynamically
  • Using separate sinks for different systems instead of sharing one

Not for Production Use

A speed factor; your movement code still owns movement

  • 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

  • Effects → SlowStatus
  • Core → controller and ticking
  • Abstractions → IAdjustableMagnitude

Mental Model

This component exposes a multiplier.

Movement systems decide how to use it.