diff options
author | Liberate <Liberate@trinitycore.contrib> | 2012-04-05 20:09:20 +0200 |
---|---|---|
committer | Liberate <Liberate@trinitycore.contrib> | 2012-04-05 20:09:20 +0200 |
commit | 926f02f7928c1444a4f248f9eb6543f6efead17c (patch) | |
tree | ff3666529b9476cc83c45f651ab7a3aa93712f17 /src/server/game/Spells/Spell.h | |
parent | 6759bcab162cefad379a8441655448fe411c870a (diff) |
Core/Spells: Implement SPELL_ATTR4_PROC_ONLY_ON_CASTER properly. Closes #5204
Diffstat (limited to 'src/server/game/Spells/Spell.h')
-rwxr-xr-x | src/server/game/Spells/Spell.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index d8e9c4a4ad4..8f43b9b2290 100755 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -633,10 +633,18 @@ class Spell void CallScriptAfterUnitTargetSelectHandlers(std::list<Unit*>& unitTargets, SpellEffIndex effIndex); std::list<SpellScript*> m_loadedScripts; - bool CanExecuteTriggersOnHit(uint8 effMask, SpellInfo const* spellInfo = NULL) const; + struct HitTriggerSpell + { + SpellInfo const* triggeredSpell; + SpellInfo const* triggeredByAura; + // uint8 triggeredByEffIdx This might be needed at a later stage - No need known for now + int32 chance; + }; + + bool CanExecuteTriggersOnHit(uint8 effMask, SpellInfo const* triggeredByAura = NULL) const; void PrepareTriggersExecutedOnHit(); - typedef std::list< std::pair<SpellInfo const*, int32> > HitTriggerSpells; - HitTriggerSpells m_hitTriggerSpells; + typedef std::list<HitTriggerSpell> HitTriggerSpellList; + HitTriggerSpellList m_hitTriggerSpells; // effect helpers void SummonGuardian(uint32 i, uint32 entry, SummonPropertiesEntry const* properties, uint32 numSummons); |