From a042b972ed3361393fe3e7ce4e177073021bcfc9 Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 5 Aug 2010 11:33:54 +0200 Subject: Fixed pet talents amount exploit Closes issue #3273. --HG-- branch : trunk --- src/server/game/Entities/Pet/Pet.cpp | 1 + src/server/game/Entities/Player/Player.cpp | 3 +++ 2 files changed, 4 insertions(+) (limited to 'src') diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 61617f7f12d..cde6aaabc5b 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -301,6 +301,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petentry, uint32 petnumber, bool c m_charmInfo->LoadPetActionBar(fields[13].GetCppString()); _LoadSpells(); + InitTalentForLevel(); // re-init to check talent count _LoadSpellCooldowns(); LearnPetPassives(); InitLevelupSpellsForLevel(); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 952dcdf5204..0d1918d36fd 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -23806,6 +23806,9 @@ void Player::ActivateSpec(uint8 spec) ResummonPetTemporaryUnSummonedIfAny(); + if (Pet* pPet = GetPet()) + pPet->InitTalentForLevel(); // not processed with aura removal because pet was not active + SendActionButtons(1); Powers pw = getPowerType(); -- cgit v1.2.3