diff options
author | n0n4m3 <none@none> | 2009-12-26 17:38:54 +0100 |
---|---|---|
committer | n0n4m3 <none@none> | 2009-12-26 17:38:54 +0100 |
commit | 28df19d20540fe35ce87c6f5c25b2c7bf997b6e2 (patch) | |
tree | fc4da9be16bb466a7a21bc1d42f3ef30256e890b /src | |
parent | bb2b212e8479ebb3cbeb9cd7e91a734839e572aa (diff) |
Fixed spell Combustion
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellAuras.cpp | 5 | ||||
-rw-r--r-- | src/game/Unit.cpp | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index f3352d015a2..bbcf03da9c3 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -2378,6 +2378,7 @@ void AuraEffect::HandleAddModifier(bool apply, bool Real, bool changeAmount) // Auras with charges do not mod amount of passive auras if (GetParentAura()->GetAuraCharges()) return; + // reapply some passive spells after add/remove related spellmods // Warning: it is a dead loop if 2 auras each other amount-shouldn't happen switch (modOp) @@ -2425,6 +2426,10 @@ void AuraEffect::HandleAddModifier(bool apply, bool Real, bool changeAmount) default: break; } + if (m_spellProto->Id == 11129 && !apply) + { + m_target->RemoveAurasDueToSpell(28682); + } } void AuraEffect::TriggerSpell() diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 2d9383e53ee..0085ec18ae2 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5566,6 +5566,10 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger // Combustion case 11129: { + Unit *caster = triggeredByAura->GetCaster(); + if (!caster || !damage) + return false; + //last charge and crit if (triggeredByAura->GetParentAura()->GetAuraCharges() <= 1 && (procEx & PROC_EX_CRITICAL_HIT) ) { @@ -5573,7 +5577,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger return true; // charge counting (will removed) } - CastSpell(this, 11129, true, castItem, triggeredByAura); + CastSpell(this, 28682, true, castItem, triggeredByAura); return (procEx & PROC_EX_CRITICAL_HIT);// charge update only at crit hits, no hidden cooldowns } // Glyph of Ice Block |