2021-10-15 14:45:04 -07:00
|
|
|
|
using System;
|
|
|
|
|
|
using Content.Shared.Sound;
|
|
|
|
|
|
using Robust.Shared.Analyzers;
|
|
|
|
|
|
using Robust.Shared.GameObjects;
|
|
|
|
|
|
using Robust.Shared.GameStates;
|
|
|
|
|
|
using Robust.Shared.Serialization;
|
|
|
|
|
|
using Robust.Shared.Serialization.Manager.Attributes;
|
|
|
|
|
|
using Robust.Shared.ViewVariables;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Content.Shared.Stunnable
|
|
|
|
|
|
{
|
|
|
|
|
|
[RegisterComponent]
|
|
|
|
|
|
[NetworkedComponent]
|
|
|
|
|
|
[Friend(typeof(SharedStunSystem))]
|
2022-02-16 00:23:23 -07:00
|
|
|
|
public sealed class KnockedDownComponent : Component
|
2021-10-15 14:45:04 -07:00
|
|
|
|
{
|
|
|
|
|
|
[DataField("helpInterval")]
|
|
|
|
|
|
public float HelpInterval { get; set; } = 1f;
|
|
|
|
|
|
|
|
|
|
|
|
[DataField("helpAttemptSound")]
|
|
|
|
|
|
public SoundSpecifier StunAttemptSound = new SoundPathSpecifier("/Audio/Effects/thudswoosh.ogg");
|
|
|
|
|
|
|
|
|
|
|
|
[ViewVariables]
|
|
|
|
|
|
public float HelpTimer { get; set; } = 0f;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Serializable, NetSerializable]
|
2022-02-16 00:23:23 -07:00
|
|
|
|
public sealed class KnockedDownComponentState : ComponentState
|
2021-10-15 14:45:04 -07:00
|
|
|
|
{
|
|
|
|
|
|
public float HelpInterval { get; set; }
|
|
|
|
|
|
public float HelpTimer { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public KnockedDownComponentState(float helpInterval, float helpTimer)
|
|
|
|
|
|
{
|
|
|
|
|
|
HelpInterval = helpInterval;
|
|
|
|
|
|
HelpTimer = helpTimer;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|