diff options
| author | QAston <none@none> | 2009-06-14 17:56:22 +0200 |
|---|---|---|
| committer | QAston <none@none> | 2009-06-14 17:56:22 +0200 |
| commit | e7910ec9d241749822278574315c02a531cee3fd (patch) | |
| tree | c926e52db309ddb414d3c756b5e82bd0c9664697 /src/game/Spell.cpp | |
| parent | 4e005c307028bebd4a083d6ad5c96a2360439947 (diff) | |
*Correct interpretation of procflags and update spell_proc_event due to that (some of mangos entries may be incompatibile due to that change)
*Fix siphon life.
*Fix Rapture.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
| -rw-r--r-- | src/game/Spell.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 99d568ee09a..f2dfb8715b7 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -757,8 +757,16 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura) default: if (IsPositiveSpell(m_spellInfo->Id)) // Check for positive spell { - m_procAttacker = PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL; - m_procVictim = PROC_FLAG_TAKEN_POSITIVE_SPELL; + if(m_customAttr & SPELL_ATTR_CU_DIRECT_DAMAGE) + { + m_procAttacker = PROC_FLAG_SUCCESSFUL_HEALING_SPELL; + m_procVictim = PROC_FLAG_TAKEN_HEALING_SPELL; + } + else + { + m_procAttacker = PROC_FLAG_SUCCESSFUL_POSITIVE_SPELL; + m_procVictim = PROC_FLAG_TAKEN_POSITIVE_SPELL; + } } else if (m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_AUTOREPEAT_FLAG) // Wands auto attack { @@ -767,10 +775,17 @@ void Spell::prepareDataForTriggerSystem(AuraEffect * triggeredByAura) } else // Negative spell { - m_procAttacker = PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT; - m_procVictim = PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT; + if(m_customAttr & SPELL_ATTR_CU_DIRECT_DAMAGE) + { + m_procAttacker = PROC_FLAG_SUCCESSFUL_DAMAGING_SPELL_HIT; + m_procVictim = PROC_FLAG_TAKEN_DAMAGING_SPELL_HIT; + } + else + { + m_procAttacker = PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT; + m_procVictim = PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT; + } } - break; } m_procEx= PROC_EX_NONE; |
