diff --git a/WowPacketParserModule.V4_4_0_54481/Parsers/ReputationHandler.cs b/WowPacketParserModule.V4_4_0_54481/Parsers/ReputationHandler.cs index c21323087b..6e6c214643 100644 --- a/WowPacketParserModule.V4_4_0_54481/Parsers/ReputationHandler.cs +++ b/WowPacketParserModule.V4_4_0_54481/Parsers/ReputationHandler.cs @@ -18,14 +18,30 @@ public static void HandleFactionBonusInfo(Packet packet) [Parser(Opcode.SMSG_INITIALIZE_FACTIONS)] public static void HandleInitializeFactions(Packet packet) { - for (var i = 0; i < FactionCount; i++) + uint factionCount = FactionCount; + uint bonusCount = FactionCount; + if (ClientVersion.AddedInVersion(ClientVersionBuild.V4_4_1_57294)) { + factionCount = packet.ReadUInt32(); + bonusCount = packet.ReadUInt32(); + } + + for (var i = 0; i < factionCount; i++) + { + if (ClientVersion.AddedInVersion(ClientVersionBuild.V4_4_1_57294)) + packet.ReadInt32("FactionID"); + packet.ReadUInt16E("ReputationFlags", i); - packet.ReadUInt32E("FactionStandings", i); + packet.ReadUInt32E("FactionStanding", i); } - for (var i = 0; i < FactionCount; i++) + for (var i = 0; i < bonusCount; i++) + { + if (ClientVersion.AddedInVersion(ClientVersionBuild.V4_4_1_57294)) + packet.ReadInt32("FactionID"); + packet.ReadBit("FactionHasBonus", i); + } } [Parser(Opcode.SMSG_SET_FORCED_REACTIONS)]