aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDantestyleXD <DantestyleXD@users.noreply.github.com>2017-12-04 19:45:27 +0100
committerShauren <shauren.trinity@gmail.com>2017-12-04 19:45:27 +0100
commit23a66baab181b9b1c15be7fa89e881cc0b793a6f (patch)
tree77cf3debdca960d427f29b93abe8ec5bb9e0ca5f /src
parent77e444f4d59f85ec1e5eb866d51310fa378879da (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.cpp11
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;
}