aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.h
diff options
context:
space:
mode:
authorLiberate <Liberate@trinitycore.contrib>2012-04-05 20:09:20 +0200
committerLiberate <Liberate@trinitycore.contrib>2012-04-05 20:09:20 +0200
commit926f02f7928c1444a4f248f9eb6543f6efead17c (patch)
treeff3666529b9476cc83c45f651ab7a3aa93712f17 /src/server/game/Spells/Spell.h
parent6759bcab162cefad379a8441655448fe411c870a (diff)
Core/Spells: Implement SPELL_ATTR4_PROC_ONLY_ON_CASTER properly. Closes #5204
Diffstat (limited to 'src/server/game/Spells/Spell.h')
-rwxr-xr-xsrc/server/game/Spells/Spell.h14
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);