From 23a66baab181b9b1c15be7fa89e881cc0b793a6f Mon Sep 17 00:00:00 2001 From: DantestyleXD Date: Mon, 4 Dec 2017 19:45:27 +0100 Subject: Core/BattlePets: Add battle pets to pet journal when learning related spells (#21023) --- src/server/game/Entities/Player/Player.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 3ea0834997b..1f5136d4398 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -3149,6 +3149,17 @@ bool Player::AddSpell(uint32 spellId, bool active, bool learning, bool dependent if (sDB2Manager.GetMount(spellId)) GetSession()->GetCollectionMgr()->AddMount(spellId, MOUNT_STATUS_NONE, false, IsInWorld() ? false : true); + // need to add Battle pets automatically into pet journal + for (BattlePetSpeciesEntry const* entry : sBattlePetSpeciesStore) + { + if (entry->SummonSpellID == spellId && GetSession()->GetBattlePetMgr()->GetPetCount(entry->ID) == 0) + { + GetSession()->GetBattlePetMgr()->AddPet(entry->ID, entry->CreatureID, BattlePetMgr::RollPetBreed(entry->ID), BattlePetMgr::GetDefaultPetQuality(entry->ID)); + UpdateCriteria(CRITERIA_TYPE_OWN_BATTLE_PET_COUNT); + break; + } + } + // return true (for send learn packet) only if spell active (in case ranked spells) and not replace old spell return active && !disabled && !superceded_old; } -- cgit v1.2.3