42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
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
|
|
{
|
|
/// <summary>
|
|
/// timings for giggles and knocks.
|
|
/// </summary>
|
|
[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<EmoteSoundsPrototype>))]
|
|
public string? EmoteSoundsId = "Cluwne";
|
|
|
|
/// <summary>
|
|
/// Amount of time cluwne is paralyzed for when falling over.
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
public float ParalyzeTime = 2f;
|
|
|
|
/// <summary>
|
|
/// Sound specifiers for honk and knock.
|
|
/// </summary>
|
|
[DataField("spawnsound")]
|
|
public SoundSpecifier SpawnSound = new SoundPathSpecifier("/Audio/Items/bikehorn.ogg");
|
|
|
|
[DataField("knocksound")]
|
|
public SoundSpecifier KnockSound = new SoundPathSpecifier("/Audio/Items/airhorn.ogg");
|
|
}
|