Core/PacketIO: Updated and enabled CMSG_PET_ABANDON

This commit is contained in:
Carbenium
2016-02-02 01:18:27 +01:00
parent 391992ed80
commit 0b76381283
5 changed files with 21 additions and 10 deletions
+2 -7
View File
@@ -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__
+1 -1
View File
@@ -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);
+2 -1
View File
@@ -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);