using Content.Shared.Damage.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; namespace Content.Server.Xenoarchaeology.XenoArtifacts.Triggers.Components; /// /// Triggers when a certain threshold of damage of certain types is reached /// [RegisterComponent] public sealed partial class ArtifactDamageTriggerComponent : Component { /// /// What damage types are accumulated for the trigger? /// [DataField("damageTypes", customTypeSerializer: typeof(PrototypeIdListSerializer))] public List? DamageTypes; /// /// What threshold has to be reached before it is activated? /// [DataField("damageThreshold", required: true)] public float DamageThreshold; /// /// How much damage has been accumulated on the artifact so far /// [ViewVariables(VVAccess.ReadWrite)] public float AccumulatedDamage = 0; }