Core/AreaTriggers: Implement AreaTriggerActionSetFlag::DontRunOnLeaveWhenExpiring
Port From (https://github.com/TrinityCore/TrinityCore/commit/1085b3f43321e58f151c1543a70b3558c26ed8e5)
This commit is contained in:
@@ -1376,7 +1376,7 @@ class at_dk_death_and_decay(AreaTrigger areaTrigger) : AreaTriggerAI(areaTrigger
|
||||
unit.CastSpell(unit, SpellIds.SanguineGround);
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
if (unit.GetGUID() != at.GetCasterGUID())
|
||||
return;
|
||||
|
||||
@@ -736,7 +736,7 @@ class areatrigger_dh_darkness : AreaTriggerAI
|
||||
});
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
unit.RemoveAura(SpellIds.DarknessAbsorb, at.GetCasterGUID());
|
||||
}
|
||||
|
||||
@@ -263,7 +263,7 @@ class at_hun_binding_shot(AreaTrigger areaTrigger) : AreaTriggerAI(areaTrigger)
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
unit.RemoveAurasDueToSpell(SpellIds.BindingShotMarker, at.GetCasterGUID());
|
||||
|
||||
@@ -1322,7 +1322,7 @@ class areatrigger_hun_tar_trap(AreaTrigger areaTrigger) : AreaTriggerAI(areaTrig
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
unit.RemoveAurasDueToSpell(SpellIds.TarTrapSlow, at.GetCasterGUID());
|
||||
}
|
||||
|
||||
@@ -1501,7 +1501,7 @@ class at_mage_meteor_burn(AreaTrigger areaTrigger) : AreaTriggerAI(areaTrigger)
|
||||
caster.CastSpell(unit, SpellIds.MeteorBurnDamage, TriggerCastFlags.IgnoreCastInProgress | TriggerCastFlags.DontReportCastError);
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
unit.RemoveAurasDueToSpell(SpellIds.MeteorBurnDamage, at.GetCasterGUID());
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ class areatrigger_pal_ashen_hallow(AreaTrigger areaTrigger) : AreaTriggerAI(area
|
||||
unit.CastSpell(unit, SpellIds.AshenHallowAllowHammer, true);
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
if (unit.GetGUID() == at.GetCasterGUID())
|
||||
unit.RemoveAura(SpellIds.AshenHallowAllowHammer);
|
||||
@@ -429,7 +429,7 @@ class areatrigger_pal_consecration(AreaTrigger areaTrigger) : AreaTriggerAI(area
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
if (at.GetCasterGUID() == unit.GetGUID())
|
||||
unit.RemoveAurasDueToSpell(SpellIds.ConsecrationProtectionAura, at.GetCasterGUID());
|
||||
|
||||
@@ -1054,7 +1054,7 @@ class areatrigger_pri_divine_star(AreaTrigger areaTrigger) : AreaTriggerAI(areaT
|
||||
HandleUnitEnterExit(unit);
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
// Note: this ensures any unit receives a second hit if they happen to be inside the At when Divine Star starts its return path.
|
||||
HandleUnitEnterExit(unit);
|
||||
|
||||
@@ -3428,7 +3428,7 @@ class areatrigger_sha_arctic_snowstorm(AreaTrigger areaTrigger) : AreaTriggerAI(
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnUnitExit(Unit unit)
|
||||
public override void OnUnitExit(Unit unit, AreaTriggerExitReason reason)
|
||||
{
|
||||
unit.RemoveAurasDueToSpell(SpellIds.ArcticSnowstormSlow, at.GetCasterGUID());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user