diff options
author | QAston <none@none> | 2009-04-23 14:20:14 +0200 |
---|---|---|
committer | QAston <none@none> | 2009-04-23 14:20:14 +0200 |
commit | cedc328d1fde51433fe2834a1ed6fb1603635a11 (patch) | |
tree | 8a9c87edb6a542064b16f56405ccfc553f108794 /src | |
parent | bce871f253d65da99f298c7eaf798b61c8c31369 (diff) |
Allow Penance to trigger Grace.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SharedDefines.h | 4 | ||||
-rw-r--r-- | src/game/Spell.cpp | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index b95b2b98ad1..b26a760574f 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -308,7 +308,7 @@ enum SpellCategory #define SPELL_ATTR_EX2_NOT_NEED_SHAPESHIFT 0x00080000 // 19 does not necessarly need shapeshift #define SPELL_ATTR_EX2_UNK20 0x00100000 // 20 #define SPELL_ATTR_EX2_DAMAGE_REDUCED_SHIELD 0x00200000 // 21 for ice blocks, pala immunity buffs, priest absorb shields, but used also for other spells -> not sure! -#define SPELL_ATTR_EX2_UNK22 0x00400000 // 22 +#define SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER 0x00400000 // 22 spell can trigger even if triggered #define SPELL_ATTR_EX2_UNK23 0x00800000 // 23 Only mage Arcane Concentration have this flag #define SPELL_ATTR_EX2_UNK24 0x01000000 // 24 #define SPELL_ATTR_EX2_UNK25 0x02000000 // 25 @@ -316,7 +316,7 @@ enum SpellCategory #define SPELL_ATTR_EX2_UNK27 0x08000000 // 27 #define SPELL_ATTR_EX2_UNK28 0x10000000 // 28 no breaks stealth if it fails?? #define SPELL_ATTR_EX2_CANT_CRIT 0x20000000 // 29 Spell can't crit -#define SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER 0x40000000 // 30 spell can trigger even if triggered +#define SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER_2 0x40000000 // 30 spell can trigger even if triggered #define SPELL_ATTR_EX2_FOOD 0x80000000 // 31 food, well-fed, and a few others #define SPELL_ATTR_EX3_UNK0 0x00000001 // 0 diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 620131e61f6..e28eaa7b46c 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -915,7 +915,10 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target) // Fill base trigger info uint32 procAttacker = m_procAttacker; uint32 procVictim = m_procVictim; - uint32 procEx = m_triggeredByAuraSpell && !(m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER) ? PROC_EX_INTERNAL_TRIGGERED : PROC_EX_NONE; + uint32 procEx = m_triggeredByAuraSpell + && !(m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER) + && !(m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER_2) + ? PROC_EX_INTERNAL_TRIGGERED : PROC_EX_NONE; m_spellAura = NULL; // Set aura to null for every target-make sure that pointer is not used for unit without aura applied if (missInfo==SPELL_MISS_NONE) // In case spell hit target, do all effect on that target |