Files
tbd-station-14/Content.Server/Climbing/Components/GlassTableComponent.cs
2022-03-03 01:07:48 +11:00

39 lines
1.2 KiB
C#

using Content.Shared.Damage;
using Robust.Shared.Analyzers;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Server.Climbing.Components;
/// <summary>
/// Glass tables shatter and stun you when climbed on.
/// This is a really entity-specific behavior, so opted to make it
/// not very generalized with regards to naming.
/// </summary>
[RegisterComponent, Friend(typeof(ClimbSystem))]
public sealed class GlassTableComponent : Component
{
/// <summary>
/// How much damage should be given to the climber?
/// </summary>
[DataField("climberDamage")]
public DamageSpecifier ClimberDamage = default!;
/// <summary>
/// How much damage should be given to the table when climbed on?
/// </summary>
[DataField("tableDamage")]
public DamageSpecifier TableDamage = default!;
/// <summary>
/// How much mass should be needed to break the table?
/// </summary>
[DataField("tableMassLimit")]
public float MassLimit;
/// <summary>
/// How long should someone who climbs on this table be stunned for?
/// </summary>
public float StunTime = 5.0f;
}