using Content.Shared._CP14.Skill.Prototypes; using Content.Shared.Body.Prototypes; using Content.Shared.Chemistry.Reagent; using Content.Shared.FixedPoint; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared._CP14.Vampire.Components; [RegisterComponent] [NetworkedComponent] [AutoGenerateComponentState] [Access(typeof(CP14SharedVampireSystem))] public sealed partial class CP14VampireComponent : Component { [DataField] public ProtoId NewBloodReagent = "CP14BloodVampire"; [DataField] public ProtoId SkillTreeProto = "Vampire"; [DataField] public ProtoId MetabolizerType = "CP14Vampire"; [DataField] public ProtoId SkillPointProto = "Blood"; [DataField(required: true), AutoNetworkedField] public ProtoId? Faction; [DataField] public FixedPoint2 SkillPointCount = 2f; [DataField] public TimeSpan ToggleVisualsTime = TimeSpan.FromSeconds(2f); /// /// All this actions was granted to vampires on component added /// [DataField] public List ActionsProto = new() { "CP14ActionVampireToggleVisuals" }; /// /// For tracking granted actions, and removing them when component is removed. /// [DataField] public List Actions = new(); [DataField] public float HeatUnderSunTemperature = 12000f; [DataField] public TimeSpan HeatFrequency = TimeSpan.FromSeconds(1); [DataField] public TimeSpan NextHeatTime = TimeSpan.Zero; [DataField] public float IgniteThreshold = 350f; }