*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 += 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);
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user