diff options
Diffstat (limited to 'src/server/game/Handlers/PetHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/PetHandler.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index cd680f4a973..48ad47cdb48 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -615,6 +615,19 @@ void WorldSession::HandlePetAbandon(WorldPackets::Pet::PetAbandon& packet) } } +void WorldSession::HandlePetAbandonByNumber(WorldPackets::Pet::PetAbandonByNumber const& petAbandonByNumber) +{ + if (Pet* pet = _player->GetPet()) + { + if (pet->IsHunterPet() && pet->m_unitData->PetNumber == petAbandonByNumber.PetNumber) + _player->RemovePet(pet, PET_SAVE_AS_DELETED); + } + else + { + _player->DeletePetFromDB(petAbandonByNumber.PetNumber); + } +} + void WorldSession::HandlePetSpellAutocastOpcode(WorldPackets::Pet::PetSpellAutocast& packet) { Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, packet.PetGUID); |
