using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Reagent; using Content.Shared.FixedPoint; using Content.Shared.Tools.Systems; using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Tools.Components; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), Access(typeof(SharedToolSystem))] public sealed partial class WelderComponent : Component { [DataField, AutoNetworkedField] public bool Enabled; [DataField] public float WelderTimer; /// /// Name of . /// [DataField] public string FuelSolutionName = "Welder"; /// /// Solution on the entity that contains the fuel. /// [ViewVariables(VVAccess.ReadWrite)] public Entity? FuelSolution; /// /// Reagent that will be used as fuel for welding. /// [DataField] public ProtoId FuelReagent = "WeldingFuel"; /// /// Fuel consumption per second while the welder is active. /// [DataField, AutoNetworkedField] public FixedPoint2 FuelConsumption = FixedPoint2.New(1.0f); /// /// A fuel amount to be consumed when the welder goes from being unlit to being lit. /// [DataField, AutoNetworkedField] public FixedPoint2 FuelLitCost = FixedPoint2.New(0.5f); /// /// Sound played when refilling the welder. /// [DataField] public SoundSpecifier WelderRefill = new SoundPathSpecifier("/Audio/Effects/refill.ogg"); /// /// Whether the item is safe to refill while lit without exploding the tank. /// [DataField] public bool TankSafe; [DataField] public float WelderUpdateTimer = 1f; }