From 8ad48f50c17720f31c71665d39383a056e084c8d Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Wed, 31 Mar 2010 02:02:21 +0400 Subject: [PATCH] [9647] Fix current pet save in summoned state. Thanks to hunuza for explcit bug line pointing ;) --- src/game/Player.cpp | 17 +++++++++-------- src/shared/revision_nr.h | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 71251d5c8..4833a9686 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -17026,17 +17026,17 @@ void Player::UpdateDuelFlag(time_t currTime) void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent) { - if(!pet) + if (!pet) pet = GetPet(); - if(!pet || pet->GetOwnerGUID()!=GetGUID()) + if (!pet || pet->GetOwnerGUID() != GetGUID()) return; // not save secondary permanent pet as current - if (pet && m_temporaryUnsummonedPetNumber != pet->GetCharmInfo()->GetPetNumber() && mode == PET_SAVE_AS_CURRENT) + if (pet && m_temporaryUnsummonedPetNumber && m_temporaryUnsummonedPetNumber != pet->GetCharmInfo()->GetPetNumber() && mode == PET_SAVE_AS_CURRENT) mode = PET_SAVE_NOT_IN_SLOT; - if(returnreagent && pet && mode != PET_SAVE_AS_CURRENT) + if (returnreagent && pet && mode != PET_SAVE_AS_CURRENT) { //returning of reagents only for players, so best done here uint32 spellId = pet ? pet->GetUInt32Value(UNIT_CREATED_BY_SPELL) : m_oldpetspell; @@ -17071,7 +17071,7 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent) RemoveGuardian(pet); break; default: - if(GetPetGUID() == pet->GetGUID()) + if (GetPetGUID() == pet->GetGUID()) SetPet(NULL); break; } @@ -17083,7 +17083,7 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent) pet->AddObjectToRemoveList(); pet->m_removed = true; - if(pet->isControlled()) + if (pet->isControlled()) { RemovePetActionBar(); @@ -17094,7 +17094,7 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent) void Player::RemoveMiniPet() { - if(Pet* pet = GetMiniPet()) + if (Pet* pet = GetMiniPet()) { pet->Remove(PET_SAVE_AS_DELETED); m_miniPet = 0; @@ -17103,8 +17103,9 @@ void Player::RemoveMiniPet() Pet* Player::GetMiniPet() { - if(!m_miniPet) + if (!m_miniPet) return NULL; + return GetMap()->GetPet(m_miniPet); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index af1d6743a..e69ebfaad 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9646" + #define REVISION_NR "9647" #endif // __REVISION_NR_H__ -- 2.11.4.GIT