*Fix Riptide.
*Show bladestorm as buff. --HG-- branch : trunk
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user