diff options
| author | Shauren <shauren.trinity@gmail.com> | 2021-11-27 21:56:00 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-11-27 21:56:00 +0100 |
| commit | 684cd9d9681466019dcd06ad6f994890cff8cb2e (patch) | |
| tree | 16008a4f7ac175468f2aa070a1da231a3bbdf44b /src/server/game/Server | |
| parent | 1e46fc17eea2d98736fb506ee581c79ce30a3dd9 (diff) | |
Core/Movement: Implement initializing parabolic splines using jump gravity instead of max parabolic height
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/MovementPackets.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp index e89e2953d29..7e2e142a630 100644 --- a/src/server/game/Server/Packets/MovementPackets.cpp +++ b/src/server/game/Server/Packets/MovementPackets.cpp @@ -348,7 +348,7 @@ void WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock(:: data.WriteBits(moveSpline.getPath().size(), 16); data.WriteBit(false); // HasSplineFilter data.WriteBit(moveSpline.spell_effect_extra.is_initialized()); // HasSpellEffectExtraData - data.WriteBit(moveSpline.splineflags.parabolic); // HasJumpExtraData + bool hasJumpExtraData = data.WriteBit(moveSpline.splineflags.parabolic && (!moveSpline.spell_effect_extra || moveSpline.effect_start_time)); data.WriteBit(moveSpline.anim_tier.is_initialized()); // HasAnimationTierTransition data.WriteBit(false); // HasUnknown901 data.FlushBits(); @@ -400,7 +400,7 @@ void WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock(:: data << float(moveSpline.vertical_acceleration); } - if (moveSpline.splineflags.parabolic) + if (hasJumpExtraData) { data << float(moveSpline.vertical_acceleration); data << uint32(moveSpline.effect_start_time); @@ -499,7 +499,7 @@ void WorldPackets::Movement::MonsterMove::InitializeSplineData(::Movement::MoveS movementSpline.MoveTime = moveSpline.Duration(); - if (splineFlags.parabolic) + if (splineFlags.parabolic && (!moveSpline.spell_effect_extra || moveSpline.effect_start_time)) { movementSpline.JumpExtraData.emplace(); movementSpline.JumpExtraData->JumpGravity = moveSpline.vertical_acceleration; |
