Core/PacketIO: Updated and enabled CMSG_PET_ABANDON
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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__
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user