*Fix Riptide.

*Show bladestorm as buff.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-04-10 16:59:34 +02:00
parent e742393992
commit d6f792d307
2 changed files with 14 additions and 1 deletions
+11
View File
@@ -2540,6 +2540,17 @@ void Spell::SpellDamageHeal(uint32 /*i*/)
//addhealth += tickheal * tickcount; //addhealth += tickheal * tickcount;
//addhealth = caster->SpellHealingBonus(m_spellInfo, addhealth,HEAL, unitTarget); //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 else
addhealth = caster->SpellHealingBonus(unitTarget, m_spellInfo, addhealth, HEAL); addhealth = caster->SpellHealingBonus(unitTarget, m_spellInfo, addhealth, HEAL);
+3 -1
View File
@@ -598,6 +598,8 @@ bool IsPositiveEffect(uint32 spellId, uint32 effIndex, bool deep)
// non-positive targets of main spell return early // non-positive targets of main spell return early
for(int i = 0; i < 3; ++i) 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 // if non-positive trigger cast targeted to positive target this main cast is non-positive
// this will place this spell auras as debuffs // this will place this spell auras as debuffs
if(IsPositiveTarget(spellTriggeredProto->EffectImplicitTargetA[effIndex],spellTriggeredProto->EffectImplicitTargetB[effIndex]) && !IsPositiveEffect(spellTriggeredId,i, true)) 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; return false;
if (!deep && spellproto->EffectTriggerSpell[effIndex] if (!deep && spellproto->EffectTriggerSpell[effIndex]
&& !spellproto->procFlags && !spellproto->EffectApplyAuraName[effIndex]
&& IsPositiveTarget(spellproto->EffectImplicitTargetA[effIndex],spellproto->EffectImplicitTargetB[effIndex]) && IsPositiveTarget(spellproto->EffectImplicitTargetA[effIndex],spellproto->EffectImplicitTargetB[effIndex])
&& !IsPositiveSpell(spellproto->EffectTriggerSpell[effIndex], true)) && !IsPositiveSpell(spellproto->EffectTriggerSpell[effIndex], true))
return false; return false;