diff options
author | thenecromancer <none@none> | 2010-07-21 01:22:52 +0200 |
---|---|---|
committer | thenecromancer <none@none> | 2010-07-21 01:22:52 +0200 |
commit | a71d11149f7cdf28cd3b72606452c403f5bdc1ad (patch) | |
tree | 726f7e067f629a99a57cd65739e9444f07beb693 /src | |
parent | c9860e3b9f888132ea63de1a3c81d170ae6252e2 (diff) |
Make passive auras always visible when they've got some area effect.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuras.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Spells/SpellMgr.h | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 3ebfa44492c..fea26e09e9e 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -754,10 +754,7 @@ bool Aura::CanBeSaved() const bool Aura::IsVisible() const { - // Is this blizzlike? show totem passive auras - if (GetOwner()->GetTypeId() == TYPEID_UNIT && m_owner->ToCreature()->isTotem() && IsPassive()) - return true; - return !IsPassive() || HasEffectType(SPELL_AURA_ABILITY_IGNORE_AURASTATE); + return !IsPassive() || HasAreaAuraEffect(GetSpellProto()) || HasEffectType(SPELL_AURA_ABILITY_IGNORE_AURASTATE); } void Aura::UnregisterSingleTarget() diff --git a/src/server/game/Spells/SpellMgr.h b/src/server/game/Spells/SpellMgr.h index 872a19a27f1..8f030fc9c87 100644 --- a/src/server/game/Spells/SpellMgr.h +++ b/src/server/game/Spells/SpellMgr.h @@ -408,6 +408,14 @@ inline bool IsAreaAuraEffect(uint32 effect) return false; } +inline bool HasAreaAuraEffect(SpellEntry const *spellInfo) +{ + for (uint8 i=0;i<MAX_SPELL_EFFECTS;++i) + if (IsAreaAuraEffect(spellInfo->Effect[i])) + return true; + return false; +} + inline bool IsUnitOwnedAuraEffect(uint32 effect) { return (IsAreaAuraEffect(effect) || effect == SPELL_EFFECT_APPLY_AURA); |