using Content.Shared.DeviceLinking; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server._Mono.SpaceArtillery.Components; [RegisterComponent] public sealed partial class SpaceArtilleryComponent : Component { /// /// Passive power consumption drawn continuously from the powernet while the gun is operational. /// This represents baseline energy upkeep and is not tied to active firing. /// [DataField("powerUsePassive"), ViewVariables(VVAccess.ReadWrite)] public int PowerUsePassive = 600; /// /// Maximum rate at which the battery can recharge when connected to a powernet. /// Functions as a throttle for battery regeneration, consistent with BatterySelfRechargerComponent behavior. /// [DataField("powerChargeRate"), ViewVariables(VVAccess.ReadWrite)] public int PowerChargeRate = 3000; /// /// Additional power consumed per shot beyond the configured fire cost. /// This value is drained from the internal battery (or from the powernet if battery is insufficient). /// Used to simulate power-intensive firing beyond base projectile energy requirements. /// [DataField("powerUseActive"), ViewVariables(VVAccess.ReadWrite)] public int PowerUseActive = 6000; ///Sink Ports /// /// Signal port that makes space artillery fire. /// [DataField("spaceArtilleryFirePort", customTypeSerializer: typeof(PrototypeIdSerializer))] public string SpaceArtilleryFirePort = "SpaceArtilleryFire"; }