aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Handlers/PetHandler.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp
index 3b1ff9b7d36..4d91ee2d11b 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -592,13 +592,11 @@ void WorldSession::HandlePetAbandon(WorldPackets::Pet::PetAbandon& packet)
if (!_player->IsInWorld())
return;
+ // pet/charmed
Creature* pet = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, packet.Pet);
- if (pet)
+ if (pet && pet->ToPet() && pet->ToPet()->getPetType() == HUNTER_PET)
{
- if (pet->IsPet())
- _player->RemovePet(pet->ToPet(), PET_SAVE_AS_DELETED);
- else if (pet->GetGUID() == _player->GetCharmGUID())
- _player->StopCastingCharm();
+ _player->RemovePet((Pet*)pet, PET_SAVE_AS_DELETED);
}
}