aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorn0n4m3 <none@none>2009-12-26 17:38:54 +0100
committern0n4m3 <none@none>2009-12-26 17:38:54 +0100
commit28df19d20540fe35ce87c6f5c25b2c7bf997b6e2 (patch)
treefc4da9be16bb466a7a21bc1d42f3ef30256e890b /src
parentbb2b212e8479ebb3cbeb9cd7e91a734839e572aa (diff)
Fixed spell Combustion
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellAuras.cpp5
-rw-r--r--src/game/Unit.cpp6
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