using Content.Shared.Mobs;
using Robust.Shared.GameStates;
namespace Content.Shared.Trigger.Components.Triggers;
///
/// Triggers when this entity's mob state changes.
/// The user is the entity that caused the state change or the owner depending on the settings.
/// If added to an implant it will trigger when the implanted entity's mob state changes.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class TriggerOnMobstateChangeComponent : BaseTriggerOnXComponent
{
///
/// What states should trigger this?
///
[DataField(required: true), AutoNetworkedField]
public List MobState = new();
///
/// If true, prevents suicide attempts for the trigger to prevent cheese.
///
[DataField, AutoNetworkedField]
public bool PreventSuicide = false;
///
/// If false, the trigger user will be the entity that caused the mobstate to change.
/// If true, the trigger user will the entity that changed its mob state.
///
///
/// Set this to true for implants that apply an effect on the implanted entity.
///
[DataField, AutoNetworkedField]
public bool TargetMobstateEntity = true;
}