using Content.Shared.Damage.Prototypes; using Content.Shared.FixedPoint; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Set; namespace Content.Shared.Traits.Assorted.Components; /// /// This is used for the Self-Aware trait to enhance the information received from HealthExaminableSystem. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class SelfAwareComponent : Component { // // Damage types that an entity is able to precisely analyze like a health analyzer when they examine themselves. // [DataField(required: true, customTypeSerializer:typeof(PrototypeIdHashSetSerializer)), AutoNetworkedField] public HashSet AnalyzableTypes = default!; // // Damage groups that an entity is able to detect the presence of when they examine themselves. // [DataField(required: true, customTypeSerializer:typeof(PrototypeIdHashSetSerializer)), AutoNetworkedField] public HashSet DetectableGroups = default!; // // The thresholds for determining the examine text of DetectableGroups for certain amounts of damage. // These are calculated as a percentage of the entity's critical threshold. // public List Thresholds = new() { FixedPoint2.New(0.10), FixedPoint2.New(0.25), FixedPoint2.New(0.40), FixedPoint2.New(0.60) }; }