using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Trigger.Components.Effects; /// /// Sends a tippy message to either the entity or all players when triggered. /// If TargetUser is true the user will receive the message. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class TippyOnTriggerComponent : BaseXOnTriggerComponent { /// /// Unlocalized message text to send to the player(s). /// Intended only for admeme purposes. For anything else you should use instead. /// [DataField, AutoNetworkedField] public string Message = string.Empty; /// /// Localized message text to send to the player(s). /// This has priority over . /// [DataField, AutoNetworkedField] public LocId? LocMessage; /// /// If true the message will be send to all players. /// If false it will be send to the user or owning entity, depending on . /// [DataField, AutoNetworkedField] public bool SendToAll; /// /// The entity prototype to show to the client. /// Will default to tippy if null. /// [DataField, AutoNetworkedField] public EntProtoId? Prototype; /// /// Use the prototype of the entity owning this component? /// Will take priority over . /// [DataField, AutoNetworkedField] public bool UseOwnerPrototype; /// /// The time the speech bubble is shown, in seconds. /// Will be calculated automatically from the message length if null. /// [DataField, AutoNetworkedField] public float? SpeakTime; /// /// The time the entity takes to walk onto the screen, in seconds. /// [DataField, AutoNetworkedField] public float SlideTime = 3f; /// /// The time between waddle animation steps, in seconds. /// [DataField, AutoNetworkedField] public float WaddleInterval = 0.5f; }