using Content.Shared.NPC.Systems;
using Robust.Shared.GameStates;
namespace Content.Shared.NPC.Components;
///
/// Prevents an NPC from attacking ignored entities from enemy factions.
/// Can be added to if pettable, see PettableFriendComponent.
///
[RegisterComponent, NetworkedComponent, Access(typeof(NpcFactionSystem), typeof(SharedNPCImprintingOnSpawnBehaviourSystem))] // TO DO (Metalgearsloth): If we start adding a billion access overrides they should be going through a system as then there's no reason to have access, but I'll fix this when I rework npcs.
public sealed partial class FactionExceptionComponent : Component
{
///
/// Collection of entities that this NPC will refuse to attack
///
[DataField]
public HashSet Ignored = new();
///
/// Collection of entities that this NPC will attack, regardless of faction.
///
[DataField]
public HashSet Hostiles = new();
}