using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.NPC.Queries; /// /// Utility queries that run regularly to update an NPC without re-doing their thinking logic. /// [DataDefinition] public sealed partial class UtilityService { /// /// Identifier to use for this service. This is used to track its cooldown. /// [DataField("id", required: true)] public string ID = string.Empty; /// /// Prototype of the utility query. /// [DataField("proto", required: true, customTypeSerializer:typeof(PrototypeIdSerializer))] public string Prototype = string.Empty; [DataField("minCooldown")] public float MinCooldown = 0.25f; [DataField("maxCooldown")] public float MaxCooldown = 0.60f; /// /// Key to update with the utility query. /// [DataField("key", required: true)] public string Key = string.Empty; }