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
@@ -46,7 +46,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockSpire.PyroguardEmbe
public override void Reset()
{
me.SetUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(true);
me.SetImmuneToPC(true);
_scheduler.CancelAll();
// Apply auras on spawn and reset
@@ -172,7 +172,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackrockSpire.PyroguardEmbe
me.CastSpell(me, SpellIds.EmberseerFullStrength);
Talk(TextIds.EmoteFreeOfBonds);
Talk(TextIds.YellFreeOfBonds);
me.RemoveUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(false);
me.SetImmuneToPC(false);
_scheduler.Schedule(TimeSpan.FromSeconds(2), task =>
{
@@ -204,7 +204,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair.VictorNefarius
if (summon.GetEntry() != BWLCreatureIds.Nefarian)
{
summon.UpdateEntry(CreatureIds.BoneConstruct);
summon.SetUnitFlag(UnitFlags.Uninteractible);
summon.SetUninteractible(true);
summon.SetReactState(ReactStates.Passive);
summon.SetStandState(UnitStandStateType.Dead);
}
@@ -561,7 +561,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair.VictorNefarius
{
creature.Respawn();
DoZoneInCombat(creature);
creature.RemoveUnitFlag(UnitFlags.Uninteractible);
creature.SetUninteractible(false);
creature.SetReactState(ReactStates.Aggressive);
creature.SetStandState(UnitStandStateType.Stand);
}
@@ -43,7 +43,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.BlackwingLair.Vaelastrasz
Initialize();
creature.SetNpcFlag(NPCFlags.Gossip);
creature.SetFaction((uint)FactionTemplates.Friendly);
creature.RemoveUnitFlag(UnitFlags.Uninteractible);
creature.SetUninteractible(false);
}
void Initialize()
@@ -161,7 +161,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
//Become unbanished again
me.SetReactState(ReactStates.Aggressive);
me.SetFaction((uint)FactionTemplates.Monster);
me.RemoveUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(false);
me.SetEmoteState(Emote.OneshotNone);
me.HandleEmoteCommand(Emote.OneshotEmerge);
Unit target = SelectTarget(SelectTargetMethod.Random, 0);
@@ -240,7 +240,7 @@ namespace Scripts.EasternKingdoms.BlackrockMountain.MoltenCore
//Root self
//DoCast(me, 23973);
me.SetFaction((uint)FactionTemplates.Friendly);
me.SetUnitFlag(UnitFlags.Uninteractible);
me.SetUninteractible(true);
me.SetEmoteState(Emote.StateSubmerged);
me.HandleEmoteCommand(Emote.OneshotSubmerge);
instance.SetData(MCMiscConst.DataRagnarosAdds, 0);