using Robust.Shared.Audio; using Content.Shared.Chat.Prototypes; using Content.Shared.Damage; using Content.Shared.Roles; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.Cluwne; [RegisterComponent] [NetworkedComponent] public sealed partial class CluwneComponent : Component { /// /// timings for giggles and knocks. /// [DataField] public TimeSpan DamageGiggleCooldown = TimeSpan.FromSeconds(2); /// /// Amount of genetic damage dealt when they revert /// [DataField] public DamageSpecifier RevertDamage = new() { DamageDict = new() { { "Genetic", 300.0 }, }, }; /// /// Chance that the Cluwne will be knocked over and paralyzed. /// [DataField] public float KnockChance = 0.05f; /// /// Chance that the Cluwne will randomly giggle /// [DataField] public float GiggleRandomChance = 0.1f; /// /// Enable random emoting? /// [DataField] public bool RandomEmote = true; /// /// Emote sound collection that the Cluwne should use. /// [DataField("emoteId")] public ProtoId? EmoteSoundsId = "Cluwne"; /// /// Emote to use for the Cluwne Giggling /// [DataField] public ProtoId? AutoEmoteId = "CluwneGiggle"; /// /// Message to popup when the Cluwne is transformed /// [DataField] public LocId TransformMessage = "cluwne-transform"; /// /// Name prefix for the Cluwne. /// Example "Urist McHuman" will be "Cluwned Urist McHuman" /// [DataField] public LocId NamePrefix = "cluwne-name-prefix"; /// /// Outfit ID that the cluwne will spawn with. /// [DataField] public ProtoId OutfitId = "CluwneGear"; /// /// Amount of time cluwne is paralyzed for when falling over. /// [DataField] public float ParalyzeTime = 2f; /// /// Sound specifiers for honk and knock. /// [DataField("spawnsound")] public SoundSpecifier SpawnSound = new SoundPathSpecifier("/Audio/Items/bikehorn.ogg"); /// /// Emote to use for the cluwne giggling /// [DataField] public LocId GiggleEmote = "cluwne-giggle-emote"; /// /// Sound to play when the Cluwne is knocked over and paralyzed /// [DataField] public SoundSpecifier KnockSound = new SoundPathSpecifier("/Audio/Items/airhorn.ogg"); /// /// Emote thats used when the cluwne getting knocked over /// [DataField] public LocId KnockEmote = "cluwne-knock-emote"; }