using Robust.Shared.Audio; using Content.Shared.Chat.Prototypes; using Robust.Shared.GameStates; 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. /// [ViewVariables(VVAccess.ReadWrite)] public TimeSpan DamageGiggleCooldown = TimeSpan.FromSeconds(2); [ViewVariables(VVAccess.ReadWrite)] public float KnockChance = 0.05f; [ViewVariables(VVAccess.ReadWrite)] public float GiggleRandomChance = 0.1f; [DataField("emoteId", customTypeSerializer: typeof(PrototypeIdSerializer))] public string? EmoteSoundsId = "Cluwne"; /// /// Amount of time cluwne is paralyzed for when falling over. /// [ViewVariables(VVAccess.ReadWrite)] public float ParalyzeTime = 2f; /// /// Sound specifiers for honk and knock. /// [DataField("spawnsound")] public SoundSpecifier SpawnSound = new SoundPathSpecifier("/Audio/Items/bikehorn.ogg"); [DataField("knocksound")] public SoundSpecifier KnockSound = new SoundPathSpecifier("/Audio/Items/airhorn.ogg"); }