Skip to content

Commit b76b7b4

Browse files
committed
Print calculated fade object duration from creature movement packets
1 parent f83be14 commit b76b7b4

11 files changed

Lines changed: 19 additions & 11 deletions

File tree

WowPacketParser.Proto/PacketStructures/structures.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ message PacketMonsterMove {
363363
bool creationSpline = 16;
364364
optional uint32 animTier = 17;
365365
optional SplineSpellEffect spellEffect = 18;
366+
optional uint32 fadeObjectTime = 19;
366367
}
367368

368369
message SplineJump {

WowPacketParser/Enums/Version/Opcodes.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
using WowPacketParser.Enums.Version.V2_5_2_39570;
1919
using WowPacketParser.Enums.Version.V2_5_3_41812;
2020
using WowPacketParser.Enums.Version.V2_5_4_42695;
21+
using WowPacketParser.Enums.Version.V2_5_5_64796;
2122
using WowPacketParser.Enums.Version.V3_3_5a_12340;
2223
using WowPacketParser.Enums.Version.V3_4_0_45166;
2324
using WowPacketParser.Enums.Version.V3_4_1_47014;
@@ -106,7 +107,6 @@
106107
using WowPacketParser.Enums.Version.V12_0_1_65818;
107108
using WowPacketParser.Enums.Version.V12_0_5_66741;
108109
using WowPacketParser.Misc;
109-
using WowPacketParser.Enums.Version.V2_5_5_64796;
110110

111111
namespace WowPacketParser.Enums.Version
112112
{

WowPacketParser/Parsing/Parsers/MovementHandler.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,10 +345,13 @@ public static void PrintComputedSplineMovementParams(Packet packet, double dista
345345
if (speed > 51)
346346
packet.AddValue("Unlimited Speed", 1, indexes);
347347

348-
if (monsterMove.Jump != null && monsterMove.Flags.HasAnyFlag(UniversalSplineFlag.Parabolic))
348+
if (monsterMove.Jump != null && monsterMove.Flags.HasFlag(UniversalSplineFlag.Parabolic))
349349
PrintComputedSplineMovementJumpHeight(packet, monsterMove.MoveTime - monsterMove.Jump.StartTime, monsterMove.Jump.Gravity, indexes);
350350
else if (monsterMove.SpellEffect != null && monsterMove.SpellEffect.JumpGravity > 0)
351351
PrintComputedSplineMovementJumpHeight(packet, monsterMove.MoveTime, monsterMove.SpellEffect.JumpGravity, indexes);
352+
353+
if (monsterMove.Flags.HasFlag(UniversalSplineFlag.FadeObject) && monsterMove.HasFadeObjectTime)
354+
packet.AddValue("Fade Duration (ms)", monsterMove.MoveTime - monsterMove.FadeObjectTime, indexes);
352355
}
353356

354357
private static void PrintComputedSplineMovementJumpHeight(Packet packet, uint moveTime, float jumpGravity, params object[] indexes)

WowPacketParserModule.V11_0_0_55666/Parsers/MovementHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[
2727

2828
monsterMove.ElapsedTime = packet.ReadInt32("Elapsed", indexes);
2929
monsterMove.MoveTime = packet.ReadUInt32("MoveTime", indexes);
30-
packet.ReadUInt32("FadeObjectTime", indexes);
30+
monsterMove.FadeObjectTime = packet.ReadUInt32("FadeObjectTime", indexes);
3131

3232
packet.ReadByte("Mode", indexes);
3333

WowPacketParserModule.V1_13_2_31446/Parsers/MovementHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[
5757

5858
monsterMove.ElapsedTime = packet.ReadInt32("Elapsed", indexes);
5959
monsterMove.MoveTime = packet.ReadUInt32("MoveTime", indexes);
60-
packet.ReadUInt32("FadeObjectTime", indexes);
60+
monsterMove.FadeObjectTime = packet.ReadUInt32("FadeObjectTime", indexes);
6161

6262
packet.ReadByte("Mode", indexes);
6363
monsterMove.TransportGuid = packet.ReadPackedGuid128("TransportGUID", indexes);

WowPacketParserModule.V3_4_0_45166/Parsers/MovementHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[
2525

2626
monsterMove.ElapsedTime = packet.ReadInt32("Elapsed", indexes);
2727
monsterMove.MoveTime = packet.ReadUInt32("MoveTime", indexes);
28-
packet.ReadUInt32("FadeObjectTime", indexes);
28+
monsterMove.FadeObjectTime = packet.ReadUInt32("FadeObjectTime", indexes);
2929

3030
packet.ReadByte("Mode", indexes);
3131
monsterMove.TransportGuid = packet.ReadPackedGuid128("TransportGUID", indexes);

WowPacketParserModule.V4_4_0_54481/Parsers/MovementHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[
161161

162162
monsterMove.ElapsedTime = packet.ReadInt32("Elapsed", indexes);
163163
monsterMove.MoveTime = packet.ReadUInt32("MoveTime", indexes);
164-
packet.ReadUInt32("FadeObjectTime", indexes);
164+
monsterMove.FadeObjectTime = packet.ReadUInt32("FadeObjectTime", indexes);
165165

166166
packet.ReadByte("Mode", indexes);
167167
monsterMove.TransportGuid = packet.ReadPackedGuid128("TransportGUID", indexes);

WowPacketParserModule.V5_5_0_61735/Parsers/MovementHandler.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[
108108
monsterMove.Flags = splineFlag.ToUniversal();
109109
monsterMove.ElapsedTime = packet.ReadInt32("Elapsed", indexes);
110110
monsterMove.MoveTime = packet.ReadUInt32("MoveTime", indexes);
111-
packet.ReadUInt32("FadeObjectTime", indexes);
111+
monsterMove.FadeObjectTime = packet.ReadUInt32("FadeObjectTime", indexes);
112112

113113
packet.ReadByte("Mode", indexes);
114114

@@ -226,7 +226,7 @@ public static void ReadMovementSpline553(Packet packet, Vector3 pos, params obje
226226

227227
monsterMove.ElapsedTime = packet.ReadInt32("Elapsed", indexes);
228228
monsterMove.MoveTime = packet.ReadUInt32("MoveTime", indexes);
229-
packet.ReadUInt32("FadeObjectTime", indexes);
229+
monsterMove.FadeObjectTime = packet.ReadUInt32("FadeObjectTime", indexes);
230230

231231
packet.ReadByte("Mode", indexes);
232232

WowPacketParserModule.V5_5_0_61735/Parsers/MovementHandler1158.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[
8080

8181
monsterMove.ElapsedTime = packet.ReadInt32("Elapsed", indexes);
8282
monsterMove.MoveTime = packet.ReadUInt32("MoveTime", indexes);
83-
packet.ReadUInt32("FadeObjectTime", indexes);
83+
monsterMove.FadeObjectTime = packet.ReadUInt32("FadeObjectTime", indexes);
8484

8585
packet.ReadByte("Mode", indexes);
8686

WowPacketParserModule.V7_0_3_22248/Parsers/MovementHandler.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[
7979
monsterMove.ElapsedTime = packet.ReadInt32("Elapsed", indexes);
8080
monsterMove.MoveTime = packet.ReadUInt32("MoveTime", indexes);
8181
jump.Gravity = packet.ReadSingle("JumpGravity", indexes);
82-
jump.Duration = packet.ReadUInt32("SpecialTime", indexes);
82+
var specialTime = packet.ReadUInt32("SpecialTime", indexes);
83+
jump.Duration = specialTime;
8384

8485
packet.ReadByte("Mode", indexes);
8586
packet.ReadByte("VehicleExitVoluntary", indexes);
@@ -90,6 +91,9 @@ public static void ReadMovementSpline(Packet packet, Vector3 pos, params object[
9091
if (monsterMove.Flags.HasFlag(UniversalSplineFlag.Animation))
9192
monsterMove.AnimTier = animTier;
9293

94+
if (monsterMove.Flags.HasFlag(UniversalSplineFlag.FadeObject))
95+
monsterMove.FadeObjectTime = specialTime;
96+
9397
packet.ResetBitReader();
9498

9599
var type = packet.ReadBitsE<SplineFacingType>("Face", 2, indexes);

0 commit comments

Comments
 (0)