diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/game/Handlers/PetHandler.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/PetPackets.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/PetPackets.h | 11 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Server/WorldSession.h | 3 | 
5 files changed, 21 insertions, 10 deletions
| diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index 20c31930de6..1b6e496a1bf 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -662,17 +662,12 @@ void WorldSession::HandlePetRename(WorldPacket& recvData)      pet->SetUInt32Value(UNIT_FIELD_PET_NAME_TIMESTAMP, uint32(time(NULL))); // cast can't be helped  } -void WorldSession::HandlePetAbandon(WorldPacket& recvData) +void WorldSession::HandlePetAbandon(WorldPackets::Pet::PetAbandon& packet)  { -    ObjectGuid guid; -    recvData >> guid;                                      //pet guid -    TC_LOG_DEBUG("network", "WORLD: Received CMSG_PET_ABANDON %s", guid.ToString().c_str()); -      if (!_player->IsInWorld())          return; -    // pet/charmed -    Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, guid); +    Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, packet.Pet);      if (pet)      {          if (pet->IsPet()) diff --git a/src/server/game/Server/Packets/PetPackets.cpp b/src/server/game/Server/Packets/PetPackets.cpp index fb0d9beff83..9963e0fde6a 100644 --- a/src/server/game/Server/Packets/PetPackets.cpp +++ b/src/server/game/Server/Packets/PetPackets.cpp @@ -1,4 +1,3 @@ -#include "PetPackets.h"  /*   * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>   * @@ -22,3 +21,8 @@ void WorldPackets::Pet::DismissCritter::Read()  {      _worldPacket >> CritterGUID;  } + +void WorldPackets::Pet::PetAbandon::Read() +{ +    _worldPacket >> Pet; +} diff --git a/src/server/game/Server/Packets/PetPackets.h b/src/server/game/Server/Packets/PetPackets.h index 69d251eb76c..bfa7c910260 100644 --- a/src/server/game/Server/Packets/PetPackets.h +++ b/src/server/game/Server/Packets/PetPackets.h @@ -34,6 +34,17 @@ namespace WorldPackets              ObjectGuid CritterGUID;          }; + +        class PetAbandon final : public ClientPacket +        { +        public: +            PetAbandon(WorldPacket&& packet) : ClientPacket(CMSG_PET_ABANDON, std::move(packet)) { } + +            void Read() override; + +            ObjectGuid Pet; +        };      }  } +  #endif // PetPackets_h__ diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index a017bf91210..c36eda4548d 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -557,7 +557,7 @@ void OpcodeTable::Initialize()      DEFINE_HANDLER(CMSG_PETITION_RENAME_GUILD,                              STATUS_LOGGEDIN,  PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionRenameGuild, &WorldSession::HandlePetitionRenameGuild);      DEFINE_HANDLER(CMSG_PETITION_SHOW_LIST,                                 STATUS_LOGGEDIN,  PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowList, &WorldSession::HandlePetitionShowList);      DEFINE_HANDLER(CMSG_PETITION_SHOW_SIGNATURES,                           STATUS_LOGGEDIN,  PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowSignatures, &WorldSession::HandlePetitionShowSignatures); -    DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_ABANDON,                             STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAbandon                ); +    DEFINE_HANDLER(CMSG_PET_ABANDON,                                        STATUS_LOGGEDIN,  PROCESS_THREADUNSAFE, WorldPackets::Pet::PetAbandon ,&WorldSession::HandlePetAbandon);      DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_ACTION,                              STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAction                 );      DEFINE_HANDLER(CMSG_PET_BATTLE_FINAL_NOTIFY,                            STATUS_UNHANDLED, PROCESS_INPLACE,      WorldPackets::Null, &WorldSession::Handle_NULL);      DEFINE_HANDLER(CMSG_PET_BATTLE_INPUT,                                   STATUS_UNHANDLED, PROCESS_INPLACE,      WorldPackets::Null, &WorldSession::Handle_NULL); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 505e5faab4e..442aa03b3aa 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -480,6 +480,7 @@ namespace WorldPackets      namespace Pet      {          class DismissCritter; +        class PetAbandon;      }      namespace Petition @@ -1447,7 +1448,7 @@ class WorldSession          void HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spellid, uint16 flag, ObjectGuid guid2, float x, float y, float z);          void HandleQueryPetName(WorldPackets::Query::QueryPetName& packet);          void HandlePetSetAction(WorldPacket& recvData); -        void HandlePetAbandon(WorldPacket& recvData); +        void HandlePetAbandon(WorldPackets::Pet::PetAbandon& packet);          void HandlePetRename(WorldPacket& recvData);          void HandlePetCancelAuraOpcode(WorldPacket& recvPacket);          void HandlePetSpellAutocastOpcode(WorldPacket& recvPacket); | 
