* Properly dismiss vanitypets (implements use of CMSG_DISMISS_CRITTER)

Some small code cleanups

--HG--
branch : trunk
This commit is contained in:
click
2010-04-29 23:24:31 +02:00
parent cb0cb96283
commit f4dcdf9507
5 changed files with 43 additions and 12 deletions
+22
View File
@@ -32,6 +32,28 @@
#include "Pet.h"
#include "World.h"
void WorldSession::HandleDismissCritter(WorldPacket &recv_data)
{
uint64 guid;
recv_data >> guid;
sLog.outDebug("WORLD: Received CMSG_DISMISS_CRITTER for GUID %u", guid);
Unit* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, guid);
if (!pet)
{
sLog.outError("Vanitypet %u does not exist", uint32(GUID_LOPART(guid)));
return;
}
if (_player->GetCritterGUID() == pet->GetGUID())
{
if (pet->GetTypeId() == TYPEID_UNIT && pet->ToCreature()->isSummon())
pet->ToTempSummon()->UnSummon();
}
}
void WorldSession::HandlePetAction(WorldPacket & recv_data)
{
uint64 guid1;