From 7c15ec00c7c1a4d5bd3ce37de6776b8a407b65b7 Mon Sep 17 00:00:00 2001 From: Meji Date: Sun, 17 Oct 2021 00:11:48 +0200 Subject: Core/BattlePets: Fixes when adding pets (#27076) * Add pet when learning it for the first time (summon spell not known). * Removed code that adds battle pet if its summon spell is known (Learn cageable pet -> Cage pet -> Log out -> Log in -> Pet is added). * When uncaging check that the species has a summon spell before trying to learn it. --- src/server/game/Handlers/ItemHandler.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/server/game/Handlers') diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index d72c0ce9d0d..920f09cd8d4 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -1206,11 +1206,8 @@ void WorldSession::HandleUseCritterItem(WorldPackets::Item::UseCritterItem& useC if (itemEffect->TriggerType != ITEM_SPELLTRIGGER_LEARN_SPELL_ID) continue; - if (BattlePetSpeciesEntry const* entry = sSpellMgr->GetBattlePetSpecies(uint32(itemEffect->SpellID))) - { - GetBattlePetMgr()->AddPet(entry->ID, BattlePetMgr::SelectPetDisplay(entry), BattlePetMgr::RollPetBreed(entry->ID), BattlePetMgr::GetDefaultPetQuality(entry->ID)); - _player->UpdateCriteria(CriteriaType::UniquePetsOwned); - } + if (BattlePetSpeciesEntry const* speciesEntry = sSpellMgr->GetBattlePetSpecies(uint32(itemEffect->SpellID))) + GetBattlePetMgr()->AddPet(speciesEntry->ID, BattlePetMgr::SelectPetDisplay(speciesEntry), BattlePetMgr::RollPetBreed(speciesEntry->ID), BattlePetMgr::GetDefaultPetQuality(speciesEntry->ID)); } _player->DestroyItem(item->GetBagSlot(), item->GetSlot(), true); -- cgit v1.2.3