Core/Units: Added helper functions to modify UNIT_FLAG_UNINTERACTIBLE

Port From (https://github.com/TrinityCore/TrinityCore/commit/88ff97c1f96381565c47f8ca1993bdc7fce19fd6)
This commit is contained in:
hondacrx
2023-09-04 07:50:01 -04:00
parent 9ba60f66f8
commit fb44221203
24 changed files with 76 additions and 56 deletions
+6 -3
View File
@@ -87,7 +87,8 @@ namespace Scripts.World.EmeraldDragons
public override void Reset()
{
base.Reset();
me.RemoveUnitFlag(UnitFlags.Uninteractible | UnitFlags.NonAttackable);
me.RemoveUnitFlag(UnitFlags.NonAttackable);
me.SetUninteractible(false);
me.SetReactState(ReactStates.Aggressive);
DoCast(me, SpellIds.MarkOfNatureAura, new CastSpellExtraArgs(true));
@@ -439,7 +440,8 @@ namespace Scripts.World.EmeraldDragons
_shades += (byte)SpellIds.TaerarShadeSpells.Length;
DoCast(SpellIds.Shade);
me.SetUnitFlag(UnitFlags.Uninteractible | UnitFlags.NonAttackable);
me.SetUnitFlag(UnitFlags.NonAttackable);
me.SetUninteractible(true);
me.SetReactState(ReactStates.Passive);
++_stage;
@@ -458,7 +460,8 @@ namespace Scripts.World.EmeraldDragons
{
_banished = false;
me.RemoveUnitFlag(UnitFlags.Uninteractible | UnitFlags.NonAttackable);
me.RemoveUnitFlag(UnitFlags.NonAttackable);
me.SetUninteractible(false);
me.RemoveAurasDueToSpell(SpellIds.Shade);
me.SetReactState(ReactStates.Aggressive);
}
+5 -5
View File
@@ -779,7 +779,7 @@ namespace Scripts.World.NpcSpecial
public override void Reset()
{
Initialize();
me.RemoveUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(false);
}
public void BeginEvent(Player player)
@@ -804,7 +804,7 @@ namespace Scripts.World.NpcSpecial
}
Event = true;
me.SetUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(true);
}
public void PatientDied(Position point)
@@ -961,7 +961,7 @@ namespace Scripts.World.NpcSpecial
Initialize();
//no select
me.RemoveUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(false);
//no regen health
me.SetUnitFlag(UnitFlags.InCombat);
@@ -1007,7 +1007,7 @@ namespace Scripts.World.NpcSpecial
}
//make not selectable
me.SetUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(true);
//regen health
me.RemoveUnitFlag(UnitFlags.InCombat);
@@ -1044,7 +1044,7 @@ namespace Scripts.World.NpcSpecial
if (me.IsAlive() && me.GetHealth() <= 6)
{
me.RemoveUnitFlag(UnitFlags.InCombat);
me.SetUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(true);
me.SetDeathState(DeathState.JustDied);
me.SetUnitFlag3(UnitFlags3.FakeDead);