using Content.Shared.Construction.Prototypes; using Content.Shared.Power; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.Power.Components { [RegisterComponent] public sealed class ChargerComponent : Component { [ViewVariables] public CellChargerStatus Status; /// /// The charge rate of the charger, in watts /// [DataField("chargeRate")] public float ChargeRate = 20.0f; /// /// The charge rate with no machine upgrades /// [DataField("baseChargeRate")] public float BaseChargeRate = 20.0f; /// /// The machine part that affects the charge rate multiplier of the charger /// [DataField("machinePartChargeRateModifier", customTypeSerializer: typeof(PrototypeIdSerializer))] public string MachinePartChargeRateModifier = "Capacitor"; /// /// A value used to scale the charge rate multiplier /// with the corresponding part rating. /// [DataField("partRatingChargeRateModifier")] public float PartRatingChargeRateModifier = 1.5f; [DataField("slotId", required: true)] public string SlotId = string.Empty; } }