From abf34c53b4ffa76443222e0dadd7cf1b1b1ca991 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 17 Feb 2022 16:38:09 -0500 Subject: [PATCH] Core/PacketIO: Handle CMSG_REQUEST_PET_INFO for more cases Port From (https://github.com/TrinityCore/TrinityCore/commit/25e68fc5c20c2a331711ef74dbc6686d08e256ec) --- Source/Game/Handlers/PetHandler.cs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Source/Game/Handlers/PetHandler.cs b/Source/Game/Handlers/PetHandler.cs index 536b63140..cde86132f 100644 --- a/Source/Game/Handlers/PetHandler.cs +++ b/Source/Game/Handlers/PetHandler.cs @@ -758,7 +758,27 @@ namespace Game [WorldPacketHandler(ClientOpcodes.RequestPetInfo)] void HandleRequestPetInfo(RequestPetInfo requestPetInfo) { - GetPlayer().PetSpellInitialize(); + // Handle the packet CMSG_REQUEST_PET_INFO - sent when player does ingame /reload command + + // Packet sent when player has a pet + if (_player.GetPet()) + _player.PetSpellInitialize(); + else + { + Unit charm = _player.GetCharmed(); + if (charm != null) + { + // Packet sent when player has a possessed unit + if (charm.HasUnitState(UnitState.Possessed)) + _player.PossessSpellInitialize(); + // Packet sent when player controlling a vehicle + else if (charm.HasUnitFlag(UnitFlags.PlayerControlled) && charm.HasUnitFlag(UnitFlags.Possessed)) + _player.VehicleSpellInitialize(); + // Packet sent when player has a charmed unit + else + _player.CharmSpellInitialize(); + } + } } } }