Core/Spells: Implemented spells causing Forbearance
This commit is contained in:
@@ -1263,29 +1263,6 @@ namespace Game.Spells
|
||||
{
|
||||
switch (GetSpellInfo().SpellFamilyName)
|
||||
{
|
||||
case SpellFamilyNames.Generic:
|
||||
switch (GetId())
|
||||
{
|
||||
case 61987: // Avenging Wrath
|
||||
// Remove the immunity shield marker on Avenging Wrath removal if Forbearance is not present
|
||||
if (target.HasAura(61988) && !target.HasAura(25771))
|
||||
target.RemoveAura(61988);
|
||||
break;
|
||||
case 72368: // Shared Suffering
|
||||
case 72369:
|
||||
if (caster != null)
|
||||
{
|
||||
AuraEffect aurEff = GetEffect(0);
|
||||
if (aurEff != null)
|
||||
{
|
||||
int remainingDamage = (int)(aurEff.GetAmount() * (aurEff.GetTotalTicks() - aurEff.GetTickNumber()));
|
||||
if (remainingDamage > 0)
|
||||
caster.CastCustomSpell(caster, 72373, 0, remainingDamage, 0, true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SpellFamilyNames.Mage:
|
||||
switch (GetId())
|
||||
{
|
||||
@@ -1339,11 +1316,6 @@ namespace Game.Spells
|
||||
if (GetId() == 1784)
|
||||
target.RemoveAurasWithFamily(SpellFamilyNames.Rogue, new FlagArray128(0x0000800, 0, 0), target.GetGUID());
|
||||
break;
|
||||
case SpellFamilyNames.Paladin:
|
||||
// Remove the immunity shield marker on Forbearance removal if AW marker is not present
|
||||
if (GetId() == 25771 && target.HasAura(61988) && !target.HasAura(61987))
|
||||
target.RemoveAura(61988);
|
||||
break;
|
||||
case SpellFamilyNames.Hunter:
|
||||
// Glyph of Freezing Trap
|
||||
if (GetSpellInfo().SpellFamilyFlags[0].HasAnyFlag(0x00000008u))
|
||||
|
||||
@@ -2291,20 +2291,6 @@ namespace Game.Spells
|
||||
/// @todo move this code to scripts
|
||||
if (m_preCastSpell != 0)
|
||||
{
|
||||
// Paladin immunity shields
|
||||
if (m_preCastSpell == 61988)
|
||||
{
|
||||
// Cast Forbearance
|
||||
m_caster.CastSpell(unit, 25771, true);
|
||||
// Cast Avenging Wrath Marker
|
||||
unit.CastSpell(unit, 61987, true);
|
||||
}
|
||||
|
||||
// Avenging Wrath
|
||||
if (m_preCastSpell == 61987)
|
||||
// Cast the serverside immunity shield marker
|
||||
m_caster.CastSpell(unit, 61988, true);
|
||||
|
||||
if (Global.SpellMgr.GetSpellInfo(m_preCastSpell) != null)
|
||||
// Blizz seems to just apply aura without bothering to cast
|
||||
m_caster.AddAura(m_preCastSpell, unit);
|
||||
|
||||
Reference in New Issue
Block a user