using Content.Shared.Damage;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Shared.Bed.Components
{
[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause, AutoGenerateComponentState]
public sealed partial class HealOnBuckleComponent : Component
{
///
/// Damage to apply to entities that are strapped to this entity.
///
[DataField(required: true)]
public DamageSpecifier Damage = default!;
///
/// How frequently the damage should be applied, in seconds.
///
[DataField(required: false)]
public float HealTime = 1f;
///
/// Damage multiplier that gets applied if the entity is sleeping.
///
[DataField]
public float SleepMultiplier = 3f;
///
/// Next time that will be applied.
///
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField, AutoNetworkedField]
public TimeSpan NextHealTime = TimeSpan.Zero; //Next heal
///
/// Action for the attached entity to be able to sleep.
///
[DataField, AutoNetworkedField]
public EntityUid? SleepAction;
}
}