Local Entity Timescale

It would be useful to have NPCs and physics/animation entities support changing the timescale just for that entity. You could default an entity’s local timescale to 1 and only network it if it’s been changed.

The way F.E.A.R. handled its multiplayer slow motion is interesting to me and I would like to implement it at some point, not just for players but default props/ents on the map too without breaking outputs/connections. For reference sake the way it works is that when you engage slow motion it slows down everything in a radius around the player.

Global timescale would also affect the local timescale, so that if both were 0.5x then the final scale would be 0.25x. Likewise, if the local scale on a player were 2x and the global scale 0.5x then the player could walk around at default speed while everything else(including enemy players) were slowed.

While this can be done for custom entities, having it be a part of the engine would allow for much greater addon compatibility. For example, one thing I’d like to experiment with is a “time bomb” addon that does the same thing as F.E.A.R. except originating from an emitter that can be picked up and thrown around. Would be fun for sandbox and deathmatch purposes.