using Content.Shared.Damage;
using Content.Shared.FixedPoint;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Shared.KillTome;
///
/// Entity with this component is a Kill Tome target.
///
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause]
public sealed partial class KillTomeTargetComponent : Component
{
///
/// Damage that will be dealt to the target.
///
[DataField, AutoNetworkedField]
public DamageSpecifier Damage = new()
{
DamageDict = new Dictionary
{
{ "Blunt", 200 }
}
};
///
/// The time when the target is killed.
///
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField]
[AutoPausedField]
public TimeSpan KillTime = TimeSpan.Zero;
///
/// Indicates this target has been killed by the killtome.
///
[DataField, AutoNetworkedField]
public bool Dead;
// Disallows cheat clients from seeing who is about to die to the killtome.
public override bool SendOnlyToOwner => true;
}