Skip to content

Commit 18ed21f

Browse files
committed
Fix parsing decor storage
1 parent 6cac109 commit 18ed21f

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

WowPacketParserModule.V12_0_0_65390/Parsers/UpdateFieldsHandler1200.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7951,10 +7951,12 @@ public static IDecorStoragePersistedData ReadCreateDecorStoragePersistedData(Pac
79517951
data.HouseGUID = packet.ReadPackedGuid128("HouseGUID", indexes);
79527952
data.SourceType = packet.ReadByte("SourceType", indexes);
79537953
hasDyeSlots = packet.ReadBit("HasDyeSlots", indexes);
7954+
data.SourceValue = new string('*', (int)packet.ReadBits(24));
79547955
if (hasDyeSlots)
79557956
{
79567957
data.DyeSlots = ReadCreateDecorDyeSlots(packet, indexes, "DyeSlots");
79577958
}
7959+
data.SourceValue = packet.ReadDynamicString("SourceValue", data.SourceValue.Length, indexes);
79587960
return data;
79597961
}
79607962

@@ -7963,7 +7965,7 @@ public static IDecorStoragePersistedData ReadUpdateDecorStoragePersistedData(Pac
79637965
var data = new DecorStoragePersistedData();
79647966
packet.ResetBitReader();
79657967
var rawChangesMask = new int[1];
7966-
rawChangesMask[0] = (int)packet.ReadBits(3);
7968+
rawChangesMask[0] = (int)packet.ReadBits(4);
79677969
var changesMask = new BitArray(rawChangesMask);
79687970

79697971
var hasDyeSlots = false;
@@ -7977,13 +7979,21 @@ public static IDecorStoragePersistedData ReadUpdateDecorStoragePersistedData(Pac
79777979
data.SourceType = packet.ReadByte("SourceType", indexes);
79787980
}
79797981
hasDyeSlots = packet.ReadBit("HasDyeSlots", indexes);
7982+
if (changesMask[3])
7983+
{
7984+
data.SourceValue = new string('*', (int)packet.ReadBits(24));
7985+
}
79807986
if (changesMask[1])
79817987
{
79827988
if (hasDyeSlots)
79837989
{
79847990
data.DyeSlots = ReadUpdateDecorDyeSlots(packet, indexes, "DyeSlots");
79857991
}
79867992
}
7993+
if (changesMask[3])
7994+
{
7995+
data.SourceValue = packet.ReadDynamicString("SourceValue", data.SourceValue.Length, indexes);
7996+
}
79877997
return data;
79887998
}
79897999

WowPacketParserModule.V12_0_0_65390/UpdateFields/V12_0_0_65390/DecorStoragePersistedData.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class DecorStoragePersistedData : IDecorStoragePersistedData
1414
public WowGuid HouseGUID { get; set; }
1515
public IDecorDyeSlots DyeSlots { get; set; }
1616
public System.Nullable<byte> SourceType { get; set; }
17+
public string SourceValue { get; set; }
1718
}
1819
}
1920

0 commit comments

Comments
 (0)