Skip to content

Commit 364a36d

Browse files
committed
Fix reading ReadCraftingOrderItem for >= 11.0.2
1 parent d9dc516 commit 364a36d

1 file changed

Lines changed: 40 additions & 3 deletions

File tree

WowPacketParserModule.V10_0_0_46181/Parsers/CraftingHandler.cs

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,21 +88,46 @@ public static void ReadCraftingOrderData(Packet packet, params object[] indexes)
8888
packet.ReadInt32("field_0", indexes);
8989
packet.ReadUInt64("OrderID", indexes);
9090
packet.ReadInt32("SkillLineAbilityID", indexes);
91-
packet.ReadByte("OrderState", indexes);
91+
92+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_1_5_60392))
93+
packet.ReadInt32("OrderState", indexes);
94+
else
95+
packet.ReadByte("OrderState", indexes);
96+
9297
packet.ReadByte("OrderType", indexes);
9398
packet.ReadByte("MinQuality", indexes);
9499
packet.ReadTime64("ExpirationTime", indexes);
95100
packet.ReadTime64("ClaimEndTime", indexes);
96101
packet.ReadUInt64("TipAmount", indexes);
97102
packet.ReadUInt64("ConsortiumCut", indexes);
98103
packet.ReadUInt32("Flags", indexes);
99-
packet.ReadPackedGuid128("CustomerGUID", indexes);
100-
packet.ReadPackedGuid128("CustomerAccountGUID", indexes);
104+
105+
if (ClientVersion.RemovedInVersion(ClientVersionBuild.V11_0_2_55959))
106+
{
107+
packet.ReadPackedGuid128("CustomerGUID", indexes);
108+
packet.ReadPackedGuid128("CustomerAccountGUID", indexes);
109+
}
110+
101111
packet.ReadPackedGuid128("CrafterGUID", indexes);
102112
packet.ReadPackedGuid128("PersonalCrafterGUID", indexes);
103113

114+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_0_2_55959))
115+
{
116+
packet.ReadInt32("NpcCraftingOrderSetId", indexes);
117+
packet.ReadInt32("NpcCraftingTreasureId", indexes);
118+
}
119+
104120
var reagentsCount = packet.ReadUInt32();
105121
var customerNotesLength = packet.ReadBits(10);
122+
123+
var hasCustomerGuid = false;
124+
var hasNpcCraftingData = false;
125+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_0_2_55959))
126+
{
127+
hasCustomerGuid = packet.ReadBit("HasCustomerGuid", indexes);
128+
hasNpcCraftingData = packet.ReadBit("HasNpcCraftingData", indexes);
129+
}
130+
106131
var hasOutputItem = packet.ReadBit();
107132
var hasOutputItemData = packet.ReadBit();
108133

@@ -113,6 +138,18 @@ public static void ReadCraftingOrderData(Packet packet, params object[] indexes)
113138

114139
packet.ReadWoWString("CustomerNotes", customerNotesLength, indexes);
115140

141+
if (hasCustomerGuid)
142+
{
143+
packet.ReadPackedGuid128("CustomerGUID", indexes);
144+
packet.ReadPackedGuid128("CustomerAccountGUID", indexes);
145+
}
146+
147+
if (hasNpcCraftingData)
148+
{
149+
packet.ReadUInt64("NpcCraftingCustomerId", indexes);
150+
packet.ReadUInt32("NpcCraftingOrderSetFlags", indexes);
151+
}
152+
116153
if (hasOutputItem)
117154
ReadCraftingOrderItem(packet, indexes, "OutputItem");
118155

0 commit comments

Comments
 (0)