From 684cd9d9681466019dcd06ad6f994890cff8cb2e Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 27 Nov 2021 21:56:00 +0100 Subject: Core/Movement: Implement initializing parabolic splines using jump gravity instead of max parabolic height --- src/server/game/Server/Packets/MovementPackets.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/server/game/Server') 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; -- cgit v1.2.3