Implementation of glyph of Power Word: Shield. By rammbonr5, closes #411
--HG-- branch : trunk
This commit is contained in:
@@ -1579,6 +1579,26 @@ void AuraEffect::HandleAuraEffectSpecificMods(bool apply, bool Real, bool change
|
|||||||
DoneActualBenefit *= caster->CalculateLevelPenalty(GetSpellProto());
|
DoneActualBenefit *= caster->CalculateLevelPenalty(GetSpellProto());
|
||||||
m_amount += (int32)DoneActualBenefit;
|
m_amount += (int32)DoneActualBenefit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// we have exact amount now so apply mods affecting all boni
|
||||||
|
switch (m_spellProto->SpellFamilyName)
|
||||||
|
{
|
||||||
|
case SPELLFAMILY_PRIEST:
|
||||||
|
// Glyph of Power Word: Shield
|
||||||
|
if (m_spellProto->SpellFamilyFlags[0] & 0x1 && m_spellProto->SpellFamilyFlags[2] & 0x400 &&
|
||||||
|
GetAuraName() == SPELL_AURA_SCHOOL_ABSORB)
|
||||||
|
{
|
||||||
|
if (AuraEffect* glyph = caster->GetAuraEffect(55672,0))
|
||||||
|
{
|
||||||
|
// instantly heal m_amount% of the absorb-value
|
||||||
|
int32 heal = (glyph->GetAmount() * m_amount)/100;
|
||||||
|
caster->CastCustomSpell(m_target, 56160, &heal, NULL, NULL, true, 0, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5786,13 +5786,6 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
|||||||
target = this;
|
target = this;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// Glyph of Power Word: Shield
|
|
||||||
case 55672:
|
|
||||||
{
|
|
||||||
basepoints0 = damage * triggerAmount/100;
|
|
||||||
triggered_spell_id = 56160;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// Glyph of Prayer of Healing
|
// Glyph of Prayer of Healing
|
||||||
case 55680:
|
case 55680:
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user