Core: Updated to 11.1.7

Port From (https://github.com/TrinityCore/TrinityCore/commit/ceb8d561b44579118b109a9ff71ba415df53bbdc)
This commit is contained in:
Hondacrx
2025-08-18 14:47:48 -04:00
parent 5f6329665a
commit ebd9c9e636
35 changed files with 1824 additions and 1603 deletions
@@ -140,10 +140,10 @@ namespace Game.Networking.Packets
data.ResetBitPos();
MovementInfo.Drive driveStatus = new();
driveStatus.accelerating = data.HasBit();
driveStatus.drifting = data.HasBit();
driveStatus.speed = data.ReadFloat();
driveStatus.movementAngle = data.ReadFloat();
driveStatus.accelerating = data.HasBit();
driveStatus.drifting = data.HasBit();
movementInfo.driveStatus = driveStatus;
}
@@ -232,10 +232,11 @@ namespace Game.Networking.Packets
if (hasDriveStatus)
{
data.WriteBit(movementInfo.driveStatus.Value.accelerating);
data.WriteBit(movementInfo.driveStatus.Value.drifting);
data.WriteFloat(movementInfo.driveStatus.Value.speed);
data.WriteFloat(movementInfo.driveStatus.Value.movementAngle);
data.WriteBit(movementInfo.driveStatus.Value.accelerating);
data.WriteBit(movementInfo.driveStatus.Value.drifting);
data.FlushBits();
}
}
@@ -270,6 +271,7 @@ namespace Game.Networking.Packets
data.WriteBit(false); // HasSplineFilter
data.WriteBit(moveSpline.spell_effect_extra != null); // HasSpellEffectExtraData
bool hasJumpExtraData = data.WriteBit(moveSpline.splineflags.HasFlag(MoveSplineFlagEnum.Parabolic) && (moveSpline.spell_effect_extra == null || moveSpline.effect_start_time != 0));
data.WriteBit(moveSpline.turn != null); // HasTurnData
data.WriteBit(moveSpline.anim_tier != null); // HasAnimTierTransition
data.WriteBit(false); // HasUnknown901
data.FlushBits();
@@ -321,6 +323,13 @@ namespace Game.Networking.Packets
data.WriteUInt32(0); // Duration (override)
}
if (moveSpline.turn != null)
{
data.WriteFloat(moveSpline.turn.StartFacing);
data.WriteFloat(moveSpline.turn.TotalTurnRads);
data.WriteFloat(moveSpline.turn.RadsPerSec);
}
if (moveSpline.anim_tier != null)
{
data.WriteUInt32(moveSpline.anim_tier.TierTransitionId);
@@ -447,6 +456,15 @@ namespace Game.Networking.Packets
movementSpline.JumpExtraData = jumpExtraData;
}
if (moveSpline.turn != null)
{
MonsterSplineTurnData turn = new();
turn.StartFacing = moveSpline.turn.StartFacing;
turn.TotalTurnRads = moveSpline.turn.TotalTurnRads;
turn.RadsPerSec = moveSpline.turn.RadsPerSec;
movementSpline.TurnData = turn;
}
if (splineFlags.HasFlag(MoveSplineFlagEnum.FadeObject))
movementSpline.FadeObjectTime = (uint)moveSpline.effect_start_time;
@@ -1431,6 +1449,20 @@ namespace Game.Networking.Packets
}
}
public class MonsterSplineTurnData
{
public float StartFacing;
public float TotalTurnRads;
public float RadsPerSec;
public void Write(WorldPacket data)
{
data.WriteFloat(StartFacing);
data.WriteFloat(TotalTurnRads);
data.WriteFloat(RadsPerSec);
}
}
public struct MonsterSplineAnimTierTransition
{
public int TierTransitionID;
@@ -1502,6 +1534,7 @@ namespace Game.Networking.Packets
data.WriteBit(SplineFilter != null);
data.WriteBit(SpellEffectExtraData.HasValue);
data.WriteBit(JumpExtraData.HasValue);
data.WriteBit(TurnData != null);
data.WriteBit(AnimTierTransition.HasValue);
data.WriteBit(Unknown901 != null);
data.FlushBits();
@@ -1535,6 +1568,9 @@ namespace Game.Networking.Packets
if (JumpExtraData.HasValue)
JumpExtraData.Value.Write(data);
if (TurnData != null)
TurnData.Write(data);
if (AnimTierTransition.HasValue)
AnimTierTransition.Value.Write(data);
@@ -1557,6 +1593,7 @@ namespace Game.Networking.Packets
public MonsterSplineFilter SplineFilter;
public MonsterSplineSpellEffectExtraData? SpellEffectExtraData;
public MonsterSplineJumpExtraData? JumpExtraData;
public MonsterSplineTurnData TurnData;
public MonsterSplineAnimTierTransition? AnimTierTransition;
public MonsterSplineUnknown901 Unknown901;
public float FaceDirection;
@@ -1575,6 +1612,7 @@ namespace Game.Networking.Packets
{
data.WriteUInt32(Id);
data.WriteBit(CrzTeleport);
data.WriteBit(StopUseFaceDirection);
data.WriteBits(StopSplineStyle, 3);
Move.Write(data);
@@ -1582,6 +1620,7 @@ namespace Game.Networking.Packets
public uint Id;
public bool CrzTeleport;
public bool StopUseFaceDirection;
public byte StopSplineStyle; // Determines how far from spline destination the mover is allowed to stop in place 0, 0, 3.0, 2.76, numeric_limits<float>::max, 1.1, float(INT_MAX); default before this field existed was distance 3.0 (index 2)
public MovementSpline Move;
}