From c8bb0c75a36bae3e3b6ac4626b12ce6ef14d2138 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Tue, 7 Jul 2009 00:06:25 +0400 Subject: [PATCH] [8138] Prevent stacking pet mind control auras. Thanks to NetSky for reset. --- src/game/Spell.cpp | 17 +++++++++++++++++ src/shared/revision_nr.h | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index b85946086..890d217f0 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -4387,6 +4387,23 @@ SpellCastResult Spell::CheckCast(bool strict) break; } + case SPELL_AURA_MOD_POSSESS_PET: + { + if(m_caster->GetCharmGUID()) + return SPELL_FAILED_ALREADY_HAVE_CHARM; + + if(m_caster->GetCharmerGUID()) + return SPELL_FAILED_CHARMED; + + Pet* pet = m_caster->GetPet(); + if(!pet) + return SPELL_FAILED_NO_PET; + + if(pet->GetCharmerGUID()) + return SPELL_FAILED_CHARMED; + + break; + } case SPELL_AURA_MOUNTED: { if (m_caster->IsInWater()) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 4ec5f6741..534b8c87b 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 "8137" + #define REVISION_NR "8138" #endif // __REVISION_NR_H__