diff options
author | QAston <none@none> | 2010-08-03 06:16:59 +0200 |
---|---|---|
committer | QAston <none@none> | 2010-08-03 06:16:59 +0200 |
commit | 12c339f421ac2238c92b324a86e2b3c2d896bff5 (patch) | |
tree | bb9a42cd8cc02882ee2ddd58e94ccabe5c3bc72a /src | |
parent | c5a9d3b46390c561da58565ae5328358ce0a298b (diff) |
*Add missing Bestial wrath and The Beast Withing immunities after client change. Original patch by Visagalis.
*Little typo from prev rev.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 334c550d235..7fb6d70f874 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3637,7 +3637,7 @@ void Unit::_AddAura(UnitAura * aura, Unit * caster) aura->SetIsSingleTarget(caster && IsSingleTargetSpell(aura->GetSpellProto())); if (aura->IsSingleTarget()) { - ASSERT(IsInWorld() && !IsDuringRemoveFromWorld()); + ASSERT((IsInWorld() && !IsDuringRemoveFromWorld()) || (GetCasterGUID() == GetGUID())); // register single target aura caster->GetSingleCastAuras().push_back(aura); // remove other single target auras diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 7530ad53d19..ef85b293ac7 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -4195,8 +4195,17 @@ void AuraEffect::HandleModMechanicImmunity(AuraApplication const * aurApp, uint8 break; case 54508: // Demonic Empowerment mechanic = (1 << MECHANIC_SNARE) | (1 << MECHANIC_ROOT); - target->ApplySpellImmune(GetId(), IMMUNITY_STATE, SPELL_AURA_MOD_ROOT, apply); - target->ApplySpellImmune(GetId(), IMMUNITY_STATE, SPELL_AURA_MOD_DECREASE_SPEED, apply); + target->ApplySpellImmune(GetId(), IMMUNITY_MECHANIC, MECHANIC_SNARE, apply); + target->ApplySpellImmune(GetId(), IMMUNITY_MECHANIC, MECHANIC_ROOT, apply); + target->ApplySpellImmune(GetId(), IMMUNITY_MECHANIC, MECHANIC_STUN, apply); + break; + case 34471: // The Beast Within + case 19574: // Bestial Wrath + mechanic = (1 << MECHANIC_SNARE) | (1 << MECHANIC_ROOT) | (1 << MECHANIC_FEAR) | (1 << MECHANIC_STUN); + target->ApplySpellImmune(GetId(), IMMUNITY_MECHANIC, MECHANIC_SNARE, apply); + target->ApplySpellImmune(GetId(), IMMUNITY_MECHANIC, MECHANIC_ROOT, apply); + target->ApplySpellImmune(GetId(), IMMUNITY_MECHANIC, MECHANIC_FEAR, apply); + target->ApplySpellImmune(GetId(), IMMUNITY_MECHANIC, MECHANIC_STUN, apply); break; default: if (GetMiscValue() < 1) |