diff options
author | DantestyleXD <DantestyleXD@users.noreply.github.com> | 2017-12-04 19:45:27 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-12-04 19:45:27 +0100 |
commit | 23a66baab181b9b1c15be7fa89e881cc0b793a6f (patch) | |
tree | 77cf3debdca960d427f29b93abe8ec5bb9e0ca5f /src | |
parent | 77e444f4d59f85ec1e5eb866d51310fa378879da (diff) |
Core/BattlePets: Add battle pets to pet journal when learning related spells (#21023)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
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; } |