diff options
author | Xanadu <none@none> | 2010-06-23 03:45:44 +0200 |
---|---|---|
committer | Xanadu <none@none> | 2010-06-23 03:45:44 +0200 |
commit | 05976b7708cf5e4ffe9fc70d0b530d31c9a96665 (patch) | |
tree | 66f1c76612a9b846600254accbe833dc9da6c0db | |
parent | 71d47b384f35b3b51aa651b74332b9e80d4ba3fb (diff) |
Fixed Divine Hymn, Hymn of Hope, Dispersion and Amplify Magic being erroneously displayed as debuffs, instead of buffs. Based on previous thenecromancer's implementation.
--HG--
branch : trunk
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 44 |
1 files changed, 33 insertions, 11 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index ee59e2821af..f89a0650729 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -750,20 +750,42 @@ bool SpellMgr::_isPositiveEffect(uint32 spellId, uint32 effIndex, bool deep) con if (spellproto->Attributes & SPELL_ATTR_NEGATIVE_1) return false; - switch(spellId) + switch (spellproto->SpellFamilyName) { - //case 37675: // Chaos Blast removed from mangos - case 34700: // Allergic Reaction - case 61987: // Avenging Wrath Marker - case 61988: // Divine Shield exclude aura - case 50524: // Runic Power Feed - return false; - case 12042: // Arcane Power - case 30877: // Tag Murloc - return true; + case SPELLFAMILY_GENERIC: + switch (spellId) + { + case 34700: // Allergic Reaction + case 61987: // Avenging Wrath Marker + case 61988: // Divine Shield exclude aura + return false; + case 30877: // Tag Murloc + return true; + default: + break; + } + break; + case SPELLFAMILY_MAGE: + // Amplify Magic, Dampen Magic + if (spellproto->SpellFamilyFlags[0] == 0x00002000) + return true; + break; + case SPELLFAMILY_PRIEST: + switch (spellId) + { + case 64844: // Divine Hymn + case 64904: // Hymn of Hope + case 47585: // Dispersion + return true; + default: + break; + } + break; + default: + break; } - switch(spellproto->Mechanic) + switch (spellproto->Mechanic) { case MECHANIC_IMMUNE_SHIELD: return true; |