diff options
author | DanVS <33371360+DanVS@users.noreply.github.com> | 2018-09-25 15:05:36 +0000 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2018-09-25 17:05:35 +0200 |
commit | 0dd3f0497dcb8c8dd8bed15916a8ca036b67673b (patch) | |
tree | 877d1953f945f1a342befcb5b22b36d5a5f34a8c /src | |
parent | 013d50f169dd5d42529845c107022da344ba1c7e (diff) |
Core/Movement: Speed Limit for Spline (#22494)
* Limited speed
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Movement/Spline/MoveSplineInit.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/game/Movement/Spline/MoveSplineInit.cpp b/src/server/game/Movement/Spline/MoveSplineInit.cpp index 02b31cfa19b..adf3a999680 100644 --- a/src/server/game/Movement/Spline/MoveSplineInit.cpp +++ b/src/server/game/Movement/Spline/MoveSplineInit.cpp @@ -115,6 +115,9 @@ namespace Movement args.velocity = unit->GetSpeed(SelectSpeedType(moveFlagsForSpeed)); } + // limit the speed in the same way the client does + args.velocity = std::min(args.velocity, args.flags.catmullrom || args.flags.flying ? 50.0f : std::max(28.0f, unit->GetSpeed(MOVE_RUN) * 4.0f)); + if (!args.Validate(unit)) return 0; |