From c2c7230205e3892ab254b31e2987cc2a2e268ace Mon Sep 17 00:00:00 2001 From: sipertruk Date: Sat, 17 Mar 2018 17:19:21 +0100 Subject: [PATCH 1/2] Fix walk mode forced after polymorph followed by death coil. --- src/game/Movement/spline/MoveSplineInit.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/game/Movement/spline/MoveSplineInit.cpp b/src/game/Movement/spline/MoveSplineInit.cpp index dfdbf20a..599021a5 100644 --- a/src/game/Movement/spline/MoveSplineInit.cpp +++ b/src/game/Movement/spline/MoveSplineInit.cpp @@ -174,9 +174,7 @@ int32 MoveSplineInit::Launch() // Do not forget to restore velocity after movement ! if (args.velocity > 4 * realSpeedRun && !args.flags.done) mvtData.SetUnitSpeed(SMSG_SPLINE_SET_RUN_SPEED, unit.GetObjectGuid(), realSpeedRun); - // Restore correct walk mode for players - if (unit.GetTypeId() == TYPEID_PLAYER && (moveFlags & MOVEFLAG_WALK_MODE) != (oldMoveFlags & MOVEFLAG_WALK_MODE)) - mvtData.SetSplineOpcode(oldMoveFlags & MOVEFLAG_WALK_MODE ? SMSG_SPLINE_MOVE_SET_WALK_MODE : SMSG_SPLINE_MOVE_SET_RUN_MODE, unit.GetObjectGuid()); + if (compress) { WorldPacket data2; From 8dbc52ae50b88c47d8a92e2b523c8ace6bd27886 Mon Sep 17 00:00:00 2001 From: sipertruk Date: Sun, 18 Mar 2018 18:12:53 +0100 Subject: [PATCH 2/2] comment --- src/game/Movement/spline/MoveSplineInit.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/game/Movement/spline/MoveSplineInit.cpp b/src/game/Movement/spline/MoveSplineInit.cpp index 599021a5..487470a7 100644 --- a/src/game/Movement/spline/MoveSplineInit.cpp +++ b/src/game/Movement/spline/MoveSplineInit.cpp @@ -174,7 +174,11 @@ int32 MoveSplineInit::Launch() // Do not forget to restore velocity after movement ! if (args.velocity > 4 * realSpeedRun && !args.flags.done) mvtData.SetUnitSpeed(SMSG_SPLINE_SET_RUN_SPEED, unit.GetObjectGuid(), realSpeedRun); - + // Restore correct walk mode for players + // Won't be able to properly restore in case of 2 consecutive splines + // Whatever it was before or during the spline, the client will continue in run mode, this could suffice + /*if (unit.GetTypeId() == TYPEID_PLAYER && (moveFlags & MOVEFLAG_WALK_MODE) != (oldMoveFlags & MOVEFLAG_WALK_MODE)) + mvtData.SetSplineOpcode(oldMoveFlags & MOVEFLAG_WALK_MODE ? SMSG_SPLINE_MOVE_SET_WALK_MODE : SMSG_SPLINE_MOVE_SET_RUN_MODE, unit.GetObjectGuid());*/ if (compress) { WorldPacket data2;