diff options
author | Nay <dnpd.dd@gmail.com> | 2012-08-05 18:15:23 -0700 |
---|---|---|
committer | Nay <dnpd.dd@gmail.com> | 2012-08-05 18:15:23 -0700 |
commit | 7959d51a5bc02420abcc4295b28150f57304cd24 (patch) | |
tree | e981a2d3f6b68d13f4a75405158b07ab1208489c | |
parent | 19289644430636940a876369c14dd938d7343fef (diff) | |
parent | e2590a7341fd61d73bfeb560de113c559d668857 (diff) |
Merge pull request #7295 from cyberbrest/pull8
[434][Movement/Spline]: set correct spline flags for taxi patching.
3 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp index 25730f92161..1bf6bdde681 100755 --- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp @@ -236,7 +236,7 @@ void FlightPathMovementGenerator::Reset(Player & player) init.Path().push_back(vertice); } init.SetFirstPointId(GetCurrentNode()); - init.SetFly(); + init.EnableTaxiFlight(); init.SetVelocity(PLAYER_FLIGHT_SPEED); init.Launch(); } diff --git a/src/server/game/Movement/Spline/MoveSplineFlag.h b/src/server/game/Movement/Spline/MoveSplineFlag.h index b011efac5be..c096d93e268 100644 --- a/src/server/game/Movement/Spline/MoveSplineFlag.h +++ b/src/server/game/Movement/Spline/MoveSplineFlag.h @@ -72,7 +72,7 @@ namespace Movement // flags that shouldn't be appended into SMSG_MONSTER_MOVE\SMSG_MONSTER_MOVE_TRANSPORT packet, should be more probably Mask_No_Monster_Move = Mask_Final_Facing | Mask_Animations | Done, // CatmullRom interpolation mode used - Mask_CatmullRom = Catmullrom, + Mask_CatmullRom = Catmullrom | Flying, // Unused, not suported flags Mask_Unused = No_Spline|Enter_Cycle|Frozen|UncompressedPath|Unknown1|Unknown2|Unknown3|Unknown4|Unknown5|Unknown6|Unknown7|Unknown8|Unknown9, }; @@ -112,6 +112,7 @@ namespace Movement void EnableFacingTarget() { raw() = (raw() & ~Mask_Final_Facing) | Final_Target; } void EnableTransportEnter() { raw() = (raw() & ~TransportExit) | TransportEnter; } void EnableTransportExit() { raw() = (raw() & ~TransportEnter) | TransportExit; } + void EnableTaxiFlight() { raw() = raw() | Catmullrom | Flying | Walkmode | UncompressedPath; } //4.3.4 0x600A00 uint8 animId : 4; bool unknown1 : 1; diff --git a/src/server/game/Movement/Spline/MoveSplineInit.h b/src/server/game/Movement/Spline/MoveSplineInit.h index ef847809ac8..459bb851aa3 100644 --- a/src/server/game/Movement/Spline/MoveSplineInit.h +++ b/src/server/game/Movement/Spline/MoveSplineInit.h @@ -102,6 +102,10 @@ namespace Movement void SetFly(); /* Enables walk mode. Disabled by default */ + void EnableTaxiFlight(); + /* Flags used in taxi + */ + void SetWalk(bool enable); /* Makes movement cyclic. Disabled by default */ @@ -141,6 +145,7 @@ namespace Movement }; inline void MoveSplineInit::SetFly() { args.flags.EnableFlying(); } + inline void MoveSplineInit::EnableTaxiFlight() { args.flags.EnableTaxiFlight(); } inline void MoveSplineInit::SetWalk(bool enable) { args.flags.walkmode = enable;} inline void MoveSplineInit::SetSmooth() { args.flags.EnableCatmullRom();} inline void MoveSplineInit::SetCyclic() { args.flags.cyclic = true;} |