@@ -18,7 +18,7 @@ public static void HandleNpcGossip(Packet packet)
1818 {
1919 PacketGossipMessage packetGossip = packet . Holder . GossipMessage = new ( ) ;
2020
21- WowGuid guid = packet . ReadPackedGuid128 ( "GossipGUID" ) ;
21+ var guid = packet . ReadPackedGuid128 ( "GossipGUID" ) ;
2222 packetGossip . GossipSource = guid ;
2323
2424 var menuId = packet . ReadInt32 ( "GossipID" ) ;
@@ -27,26 +27,29 @@ public static void HandleNpcGossip(Packet packet)
2727 var lfgDungeonsId = packet . ReadInt32 ( "LfgDungeonsID" ) ;
2828 var friendshipFactionID = packet . ReadInt32 ( "FriendshipFactionID" ) ;
2929
30- CoreParsers . NpcHandler . AddGossipAddon ( packetGossip . MenuId , friendshipFactionID , lfgDungeonsId , guid , packet . TimeSpan ) ;
31-
3230 var optionsCount = packet . ReadUInt32 ( "GossipOptionsCount" ) ;
3331 var questsCount = packet . ReadUInt32 ( "GossipQuestsCount" ) ;
3432
35- var hasBroadcastTextID = packet . ReadBit ( "HasBroadcastTextID " ) ;
36- var hasBroadcastTextID2 = packet . ReadBit ( "HasBroadcastTextID2" ) ;
33+ var hasRandomTextID = packet . ReadBit ( "HasRandomTextID " ) ;
34+ var hasBroadcastTextID = packet . ReadBit ( "HasBroadcastTextID2" ) ;
3735
3836 for ( var i = 0u ; i < optionsCount ; ++ i )
3937 packetGossip . Options . Add ( V6_0_2_19033 . Parsers . NpcHandler . ReadGossipOptionsData ( ( uint ) menuId , guid , packet , i , "GossipOptions" ) ) ;
4038
41- uint broadcastTextID = 0 ;
42- uint npcTextID = 0 ;
39+ var broadcastTextID = 0u ;
40+ var npcTextID = 0u ;
4341
44- if ( hasBroadcastTextID )
42+ if ( hasRandomTextID )
43+ broadcastTextID = ( uint ) packet . ReadInt32 ( "RandomTextID" ) ;
44+ else if ( hasBroadcastTextID )
4545 broadcastTextID = ( uint ) packet . ReadInt32 ( "BroadcastTextID" ) ;
46- else if ( hasBroadcastTextID2 )
47- broadcastTextID = ( uint ) packet . ReadInt32 ( "BroadcastTextID2" ) ;
4846
49- if ( hasBroadcastTextID || hasBroadcastTextID2 )
47+ for ( var i = 0u ; i < questsCount ; ++ i )
48+ packetGossip . Quests . Add ( V7_0_3_22248 . Parsers . NpcHandler . ReadGossipQuestTextData ( packet , i , "GossipQuests" ) ) ;
49+
50+ CoreParsers . NpcHandler . AddGossipAddon ( packetGossip . MenuId , friendshipFactionID , lfgDungeonsId , guid , packet . TimeSpan ) ;
51+
52+ if ( hasRandomTextID || hasBroadcastTextID )
5053 npcTextID = SQLDatabase . GetNPCTextIDByMenuIDAndBroadcastText ( menuId , broadcastTextID ) ;
5154
5255 if ( npcTextID != 0 )
@@ -61,12 +64,9 @@ public static void HandleNpcGossip(Packet packet)
6164
6265 Storage . Gossips . Add ( gossip , packet . TimeSpan ) ;
6366 }
64- else if ( hasBroadcastTextID || hasBroadcastTextID2 )
67+ else if ( hasRandomTextID || hasBroadcastTextID )
6568 V9_0_1_36216 . Parsers . NpcHandler . AddBroadcastTextToGossip ( packetGossip . MenuId , broadcastTextID , guid ) ;
6669
67- for ( var i = 0u ; i < questsCount ; ++ i )
68- packetGossip . Quests . Add ( V7_0_3_22248 . Parsers . NpcHandler . ReadGossipQuestTextData ( packet , i , "GossipQuests" ) ) ;
69-
7070 CoreParsers . NpcHandler . AddCreatureTemplateGossip ( guid , ( uint ) menuId , packet . TimeSpan ) ;
7171 CoreParsers . NpcHandler . UpdateLastGossipOptionActionMessage ( packet . TimeSpan , ( uint ) menuId ) ;
7272
0 commit comments