Core/SAI: Split set/remove unit_flags actions
Port From (https://github.com/TrinityCore/TrinityCore/commit/e80777cb39d5eb940348300aa2a6d42cede039a8)
This commit is contained in:
@@ -2458,6 +2458,48 @@ namespace Game.AI
|
||||
|
||||
break;
|
||||
}
|
||||
case SmartActions.SetImmunePC:
|
||||
{
|
||||
foreach (var target in targets)
|
||||
{
|
||||
if (IsUnit(target))
|
||||
{
|
||||
if (e.Action.setImmunePC.immunePC != 0)
|
||||
target.ToUnit().AddUnitFlag(UnitFlags.ImmuneToPc);
|
||||
else
|
||||
target.ToUnit().RemoveUnitFlag(UnitFlags.ImmuneToPc);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SmartActions.SetImmuneNPC:
|
||||
{
|
||||
foreach (var target in targets)
|
||||
{
|
||||
if (IsUnit(target))
|
||||
{
|
||||
if (e.Action.setImmuneNPC.immuneNPC != 0)
|
||||
target.ToUnit().AddUnitFlag(UnitFlags.ImmuneToNpc);
|
||||
else
|
||||
target.ToUnit().RemoveUnitFlag(UnitFlags.ImmuneToNpc);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SmartActions.SetUninteractible:
|
||||
{
|
||||
foreach (var target in targets)
|
||||
{
|
||||
if (IsUnit(target))
|
||||
{
|
||||
if (e.Action.setUninteractible.uninteractible != 0)
|
||||
target.ToUnit().AddUnitFlag(UnitFlags.Uninteractible);
|
||||
else
|
||||
target.ToUnit().RemoveUnitFlag(UnitFlags.Uninteractible);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SmartActions.CreateConversation:
|
||||
{
|
||||
WorldObject baseObject = GetBaseObject();
|
||||
|
||||
Reference in New Issue
Block a user