Skip to content

Commit 0f2c618

Browse files
committed
Add 5.5.0 CMSG handlers
CMSG_SET_DIFFICULTY_ID CMSG_KEYBOUND_OVERRIDE CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT CMSG_MAIL_DELETE CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT CMSG_REQUEST_VEHICLE_EXIT CMSG_REQUEST_VEHICLE_PREV_SEAT CMSG_REQUEST_VEHICLE_NEXT_SEAT CMSG_REQUEST_VEHICLE_SWITCH_SEAT CMSG_RIDE_VEHICLE_INTERACT CMSG_EJECT_PASSENGER CMSG_USE_CRITTER_ITEM CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID CMSG_ATTACK_SWING CMSG_ATTACK_STOP CMSG_CANCEL_CHANNELLING CMSG_CANCEL_GROWTH_AURA CMSG_QUERY_CREATURE CMSG_QUERY_GAME_OBJECT CMSG_QUERY_NPC_TEXT CMSG_QUERY_QUEST_INFO CMSG_QUERY_PAGE_TEXT CMSG_QUERY_PET_NAME CMSG_QUERY_BATTLE_PET_NAME CMSG_QUERY_PETITION CMSG_REQUEST_PLAYED_TIME CMSG_SET_TITLE CMSG_CANCEL_MOUNT_AURA CMSG_MOUNT_SPECIAL_ANIM CMSG_SPAWN_TRACKING_UPDATE CMSG_DESTROY_ITEM CMSG_GET_MIRROR_IMAGE_DATA CMSG_USE_ITEM CMSG_ADD_TOY CMSG_USE_TOY CMSG_PET_CAST_SPELL CMSG_CAST_SPELL
1 parent 459d3fd commit 0f2c618

File tree

13 files changed

+281
-0
lines changed

13 files changed

+281
-0
lines changed

WowPacketParserModule.V5_5_0_61735/Parsers/AdventureMapHandler.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ public static void HandleAdventureJournalDataResponse(Packet packet)
2929
ReadAdventureJournalEntry(packet, "AdventureJournalEntry", i);
3030
}
3131

32+
[Parser(Opcode.CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID)]
33+
public static void HandleCheckIsAdventureMapPOIValid(Packet packet)
34+
{
35+
packet.ReadUInt32("AdventureMapPoiID");
36+
}
37+
3238
[Parser(Opcode.CMSG_ADVENTURE_JOURNAL_OPEN_QUEST)]
3339
public static void HandleAdventureZero(Packet packet)
3440
{

WowPacketParserModule.V5_5_0_61735/Parsers/BattlePetHandler.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,19 @@ public static void HandleLeavePetBattleQueue(Packet packet)
473473
LfgHandler.ReadCliRideTicket(packet, "RideTicket");
474474
}
475475

476+
[Parser(Opcode.CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT)]
477+
public static void HandlePetBattleQueueProposeMatchResult(Packet packet)
478+
{
479+
packet.ReadBit("Accepted");
480+
}
481+
482+
[Parser(Opcode.CMSG_QUERY_BATTLE_PET_NAME)]
483+
public static void HandleBattlePetQuery(Packet packet)
484+
{
485+
packet.ReadPackedGuid128("BattlePetID");
486+
packet.ReadPackedGuid128("UnitGUID");
487+
}
488+
476489
[Parser(Opcode.SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED)]
477490
[Parser(Opcode.SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED)]
478491
[Parser(Opcode.SMSG_BATTLE_PETS_HEALED)]

WowPacketParserModule.V5_5_0_61735/Parsers/CharacterHandler.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -715,6 +715,18 @@ public static void HandleNeutralPlayerSelectFaction(Packet packet)
715715
packet.ReadByte("Faction");
716716
}
717717

718+
[Parser(Opcode.CMSG_REQUEST_PLAYED_TIME)]
719+
public static void HandleClientPlayedTime(Packet packet)
720+
{
721+
packet.ReadBit("TriggerScriptEvent");
722+
}
723+
724+
[Parser(Opcode.CMSG_SET_TITLE)]
725+
public static void HandleSetTitle(Packet packet)
726+
{
727+
packet.ReadInt32("TitleID");
728+
}
729+
718730
[Parser(Opcode.SMSG_PLAYER_CHOICE_CLEAR)]
719731
[Parser(Opcode.SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI)]
720732
[Parser(Opcode.CMSG_CONFIRM_BARBERS_CHOICE)]

WowPacketParserModule.V5_5_0_61735/Parsers/CombatHandler.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,16 @@ public static void HandleCancelAutoRepeat(Packet packet)
161161
packet.ReadPackedGuid128("Guid");
162162
}
163163

164+
[Parser(Opcode.CMSG_ATTACK_SWING)]
165+
public static void HandleAttackSwing(Packet packet)
166+
{
167+
packet.ReadPackedGuid128("Victim");
168+
}
169+
164170
[Parser(Opcode.SMSG_DUEL_OUT_OF_BOUNDS)]
165171
[Parser(Opcode.SMSG_DUEL_IN_BOUNDS)]
166172
[Parser(Opcode.SMSG_CANCEL_COMBAT)]
173+
[Parser(Opcode.CMSG_ATTACK_STOP)]
167174
public static void HandleCombatNull(Packet packet)
168175
{
169176
}

WowPacketParserModule.V5_5_0_61735/Parsers/GuildHandler.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -801,6 +801,13 @@ public static void HandleGuildUpdatePartyState(Packet packet)
801801
packet.ReadPackedGuid128("GuildGUID");
802802
}
803803

804+
[Parser(Opcode.CMSG_QUERY_PETITION)]
805+
public static void HandleQueryPetition(Packet packet)
806+
{
807+
packet.ReadUInt32("PetitionID");
808+
packet.ReadPackedGuid128("ItemGUID");
809+
}
810+
804811
[Parser(Opcode.SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED)]
805812
[Parser(Opcode.SMSG_GUILD_EVENT_DISBANDED)]
806813
[Parser(Opcode.SMSG_GUILD_EVENT_RANKS_UPDATED)]

WowPacketParserModule.V5_5_0_61735/Parsers/InstanceHandler.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,12 @@ public static void HandleInstanceEncounterGainCombatResurrectionCharge(Packet pa
222222
packet.ReadUInt32("CombatResChargeRecovery");
223223
}
224224

225+
[Parser(Opcode.CMSG_SET_DIFFICULTY_ID)]
226+
public static void HandleSetDifficultyId(Packet packet)
227+
{
228+
packet.ReadInt32<DifficultyId>("DifficultyID");
229+
}
230+
225231
[Parser(Opcode.SMSG_RESET_FAILED_NOTIFY)]
226232
[Parser(Opcode.SMSG_INSTANCE_ENCOUNTER_END)]
227233
[Parser(Opcode.SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION)]

WowPacketParserModule.V5_5_0_61735/Parsers/ItemHandler.cs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,49 @@ public static void HandleReforgeItem(Packet packet)
273273
packet.ReadInt32("ItemReforgeRecId");
274274
}
275275

276+
[Parser(Opcode.CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT)]
277+
public static void HandleMakeContitionalAppearancePermanent(Packet packet)
278+
{
279+
packet.ReadInt32("ItemModifiedAppearanceID");
280+
}
281+
282+
[Parser(Opcode.CMSG_USE_CRITTER_ITEM)]
283+
public static void HandleUseCritterItem(Packet packet)
284+
{
285+
packet.ReadPackedGuid128("ItemGUID");
286+
}
287+
288+
[Parser(Opcode.CMSG_DESTROY_ITEM)]
289+
public static void HandleDestroyItem(Packet packet)
290+
{
291+
packet.ReadUInt32("Count");
292+
packet.ReadByte("ContainerId");
293+
packet.ReadByte("SlotNum");
294+
}
295+
296+
[Parser(Opcode.CMSG_USE_ITEM)]
297+
public static void HandleUseItem(Packet packet)
298+
{
299+
var useItem = packet.Holder.ClientUseItem = new();
300+
useItem.PackSlot = packet.ReadByte("PackSlot");
301+
useItem.ItemSlot = packet.ReadByte("Slot");
302+
useItem.CastItem = packet.ReadPackedGuid128("CastItem");
303+
304+
useItem.SpellId = SpellHandler.ReadSpellCastRequest(packet, "Cast");
305+
}
306+
307+
[Parser(Opcode.CMSG_ADD_TOY)]
308+
public static void HandleAddToy(Packet packet)
309+
{
310+
packet.ReadPackedGuid128("Guid");
311+
}
312+
313+
[Parser(Opcode.CMSG_USE_TOY)]
314+
public static void HandleUseToy(Packet packet)
315+
{
316+
SpellHandler.ReadSpellCastRequest(packet, "Cast");
317+
}
318+
276319
[Parser(Opcode.SMSG_INVENTORY_FULL_OVERFLOW)]
277320
[Parser(Opcode.SMSG_BAG_CLEANUP_FINISHED)]
278321
public static void HandleItemZero(Packet packet)

WowPacketParserModule.V5_5_0_61735/Parsers/MailHandler.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,12 @@ public static void HandleMailQueryNextTimeResult(Packet packet)
115115
packet.ReadInt32("StationeryID", i);
116116
}
117117
}
118+
119+
[Parser(Opcode.CMSG_MAIL_DELETE)]
120+
public static void HandleMailDelete(Packet packet)
121+
{
122+
packet.ReadUInt64("MailID");
123+
packet.ReadInt32("DeleteReason");
124+
}
118125
}
119126
}

WowPacketParserModule.V5_5_0_61735/Parsers/MiscellaneousHandler.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -958,6 +958,35 @@ public static void HandleQueryCountdownTimer(Packet packet)
958958
packet.ReadInt32("TimerType");
959959
}
960960

961+
[Parser(Opcode.CMSG_REQUEST_VEHICLE_SWITCH_SEAT)]
962+
public static void HandleRequestVehicleSwitchSeat(Packet packet)
963+
{
964+
packet.ReadPackedGuid128("Vehicle");
965+
packet.ReadByte("SeatIndex");
966+
}
967+
968+
[Parser(Opcode.CMSG_RIDE_VEHICLE_INTERACT)]
969+
public static void HandleRideVehicleInteract(Packet packet)
970+
{
971+
packet.ReadPackedGuid128("Vehicle");
972+
}
973+
974+
[Parser(Opcode.CMSG_EJECT_PASSENGER)]
975+
public static void HandleEjectPassenger(Packet packet)
976+
{
977+
packet.ReadPackedGuid128("Passenger");
978+
}
979+
980+
[Parser(Opcode.CMSG_MOUNT_SPECIAL_ANIM)]
981+
public static void HandleMountSpecialAnim(Packet packet)
982+
{
983+
var count = packet.ReadUInt32();
984+
packet.ReadInt32("SequenceVariation");
985+
986+
for (var i = 0; i < count; ++i)
987+
packet.ReadInt32("SpellVisualKitID", i);
988+
}
989+
961990
[Parser(Opcode.SMSG_CLEAR_RESURRECT)]
962991
[Parser(Opcode.SMSG_CLEAR_BOSS_EMOTES)]
963992
[Parser(Opcode.SMSG_FISH_NOT_HOOKED)]
@@ -967,6 +996,9 @@ public static void HandleQueryCountdownTimer(Packet packet)
967996
[Parser(Opcode.CMSG_USED_FOLLOW)]
968997
[Parser(Opcode.CMSG_GAME_EVENT_DEBUG_ENABLE)]
969998
[Parser(Opcode.CMSG_GAME_EVENT_DEBUG_DISABLE)]
999+
[Parser(Opcode.CMSG_REQUEST_VEHICLE_EXIT)]
1000+
[Parser(Opcode.CMSG_REQUEST_VEHICLE_PREV_SEAT)]
1001+
[Parser(Opcode.CMSG_REQUEST_VEHICLE_NEXT_SEAT)]
9701002
public static void HandleMiscZero(Packet packet)
9711003
{
9721004
}

WowPacketParserModule.V5_5_0_61735/Parsers/PetHandler.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,5 +118,11 @@ public static void HandlePetSetSpecialization(Packet packet)
118118
packet.ReadPackedGuid128("PetGUID");
119119
packet.ReadInt32("SpecIndex");
120120
}
121+
122+
[Parser(Opcode.CMSG_QUERY_PET_NAME)]
123+
public static void HandlePetNameQuery(Packet packet)
124+
{
125+
packet.ReadPackedGuid128("PetID");
126+
}
121127
}
122128
}

0 commit comments

Comments
 (0)