6
2026-01-24 12:49:55 +03:00

43 lines
1.3 KiB
C#

using Content.Shared.Interaction;
using Robust.Shared.Audio;
using Robust.Shared.GameStates;
namespace Content.Shared.Climbing.Components
{
/// <summary>
/// Indicates this entity can be vaulted on top of.
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed partial class ClimbableComponent : Component
{
/// <summary>
/// The range from which this entity can be climbed.
/// </summary>
[DataField] public float Range = SharedInteractionSystem.InteractionRange;
/// <summary>
/// Can drag-drop / verb vaulting be done? Set to false if climbing is being handled manually.
/// </summary>
[DataField]
public bool Vaultable = true;
/// <summary>
/// The time it takes to climb onto the entity.
/// </summary>
[DataField("delay")]
public float ClimbDelay = 1.5f;
/// <summary>
/// Sound to be played when a climb is started.
/// </summary>
[DataField("startClimbSound")]
public SoundSpecifier? StartClimbSound = null;
/// <summary>
/// Sound to be played when a climb finishes.
/// </summary>
[DataField("finishClimbSound")]
public SoundSpecifier? FinishClimbSound = null;
}
}