diff options
author | QAston <none@none> | 2009-04-10 16:59:34 +0200 |
---|---|---|
committer | QAston <none@none> | 2009-04-10 16:59:34 +0200 |
commit | d6f792d307bd30656943e072438533795d9a88b5 (patch) | |
tree | f343c669c9994926d3e7bea34982ab81da0227f1 /src | |
parent | e742393992e519f471cd80934b2fe61d0a5e0100 (diff) |
*Fix Riptide.
*Show bladestorm as buff.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellEffects.cpp | 11 | ||||
-rw-r--r-- | src/game/SpellMgr.cpp | 4 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 83d52aa31cc..a2164374c8e 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -2540,6 +2540,17 @@ void Spell::SpellDamageHeal(uint32 /*i*/) //addhealth += tickheal * tickcount; //addhealth = caster->SpellHealingBonus(m_spellInfo, addhealth,HEAL, unitTarget); } + // Riptide - increase healing done by Chain Heal + else if (m_spellInfo->SpellFamilyName==SPELLFAMILY_SHAMAN && m_spellInfo->SpellFamilyFlags[0] & 0x100) + { + if (AuraEffect * aurEff = unitTarget->GetAura(SPELL_AURA_PERIODIC_HEAL, SPELLFAMILY_SHAMAN, 0, 0, 0x10, m_originalCasterGUID)) + { + addhealth = caster->SpellHealingBonus(unitTarget, m_spellInfo, addhealth, HEAL); + addhealth *= 0.25f; + // consume aura + unitTarget->RemoveAura(aurEff->GetParentAura()); + } + } else addhealth = caster->SpellHealingBonus(unitTarget, m_spellInfo, addhealth, HEAL); diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 4f55b7912f9..13c4985a5ad 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -598,6 +598,8 @@ bool IsPositiveEffect(uint32 spellId, uint32 effIndex, bool deep) // non-positive targets of main spell return early for(int i = 0; i < 3; ++i) { + if (!spellTriggeredProto->Effect[i]) + continue; // if non-positive trigger cast targeted to positive target this main cast is non-positive // this will place this spell auras as debuffs if(IsPositiveTarget(spellTriggeredProto->EffectImplicitTargetA[effIndex],spellTriggeredProto->EffectImplicitTargetB[effIndex]) && !IsPositiveEffect(spellTriggeredId,i, true)) @@ -715,7 +717,7 @@ bool IsPositiveEffect(uint32 spellId, uint32 effIndex, bool deep) return false; if (!deep && spellproto->EffectTriggerSpell[effIndex] - && !spellproto->procFlags + && !spellproto->EffectApplyAuraName[effIndex] && IsPositiveTarget(spellproto->EffectImplicitTargetA[effIndex],spellproto->EffectImplicitTargetB[effIndex]) && !IsPositiveSpell(spellproto->EffectTriggerSpell[effIndex], true)) return false; |