From c2fc89c86c2d8d288d57f4c0bdd83f542dfda1ef Mon Sep 17 00:00:00 2001 From: j4r0d Date: Fri, 21 May 2010 07:53:54 +0400 Subject: [PATCH] [9946] Prevent remove unexpected for remove spell at cast 35729. Also drop removed spell call for spells 19574/34471. Signed-off-by: VladimirMangos --- src/game/SpellAuras.cpp | 10 +--------- src/game/SpellEffects.cpp | 10 +++++----- src/shared/revision_nr.h | 2 +- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index f13857fc3..ffcfff32f 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -6374,16 +6374,8 @@ void Aura::HandleSpellSpecificBoosts(bool apply) break; case SPELLFAMILY_HUNTER: { - // The Beast Within and Bestial Wrath - immunity - if (GetId() == 19574 || GetId() == 34471) - { - spellId1 = 24395; - spellId2 = 24396; - spellId3 = 24397; - spellId4 = 26592; - } // Freezing Trap Effect - else if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000008)) + if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000008)) { if(!apply) { diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index df518f6c4..da0b9d631 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2622,11 +2622,11 @@ void Spell::EffectTriggerSpell(SpellEffectIndex effIndex) Unit::AuraMap& Auras = unitTarget->GetAuras(); for(Unit::AuraMap::iterator iter = Auras.begin(); iter != Auras.end(); ++iter) { - // remove all harmful spells on you... - if( // ignore positive and passive auras - !iter->second->IsPositive() && !iter->second->IsPassive() && - // ignore physical auras - (GetSpellSchoolMask(iter->second->GetSpellProto()) & SPELL_SCHOOL_MASK_NORMAL)==0 ) + // Remove all harmful spells on you except positive/passive/physical auras + if( !iter->second->IsPositive() + && !iter->second->IsPassive() + && !iter->second->IsDeathPersistent() + && (GetSpellSchoolMask(iter->second->GetSpellProto()) & SPELL_SCHOOL_MASK_NORMAL) == 0 ) { m_caster->RemoveAurasDueToSpell(iter->second->GetSpellProto()->Id); iter = Auras.begin(); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a2fcad7d6..26a031315 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 "9945" + #define REVISION_NR "9946" #endif // __REVISION_NR_H__