diff options
| author | Trisjdc <trisjdc@gmail.com> | 2014-06-07 23:43:11 +0100 |
|---|---|---|
| committer | Trisjdc <trisjdc@gmail.com> | 2014-06-07 23:43:11 +0100 |
| commit | 91052574acb49a791ebfc958c0776e19dd578a71 (patch) | |
| tree | 2a8e60749d4921fb61f1f6dfd13272c12a979d2d /src/server/game/Spells/SpellMgr.cpp | |
| parent | 6c31c33f667e4a861e40418f8b10e4e6b06d30c1 (diff) | |
Core/Auras: Expanding functionality of SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT to be able to take care of aura effects inside their handlers
Currently handled:
- SPELL_AURA_MOD_RESISTANCE_PCT
- SPELL_AURA_MOD_STAT
- SPELL_AURA_MELEE_SLOW
- SPELL_AURA_MOD_MELEE_HASTE
- SPELL_AURA_MOD_DAMAGE_PERCENT_DONE
Necessary to allow stack rules such as BoK/BoS/Bok-Drums and others to be all in a target with all of the aura effects, yet with only the 'highest' effect active
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 9eadd178eb3..04de93bae0c 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -765,6 +765,15 @@ SpellGroupStackRule SpellMgr::CheckSpellGroupStackRules(SpellInfo const* spellIn return rule; } +SpellGroupStackRule SpellMgr::GetSpellGroupStackRule(SpellGroup group) const +{ + SpellGroupStackMap::const_iterator itr = mSpellGroupStack.find(group); + if (itr != mSpellGroupStack.end()) + return itr->second; + + return SPELL_GROUP_STACK_RULE_DEFAULT; +} + SpellProcEventEntry const* SpellMgr::GetSpellProcEvent(uint32 spellId) const { SpellProcEventMap::const_iterator itr = mSpellProcEventMap.find(spellId); |
