aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-11-27 21:56:00 +0100
committerShauren <shauren.trinity@gmail.com>2021-11-27 21:56:00 +0100
commit684cd9d9681466019dcd06ad6f994890cff8cb2e (patch)
tree16008a4f7ac175468f2aa070a1da231a3bbdf44b /src/server/game/Server
parent1e46fc17eea2d98736fb506ee581c79ce30a3dd9 (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.cpp6
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;