using Content.Shared.Chemistry.Reagent; using Content.Shared.Sound; using Content.Shared.Tools.Components; using Robust.Shared.GameObjects; using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.Tools.Components { [RegisterComponent] public class WelderComponent : SharedWelderComponent { /// /// Solution on the entity that contains the fuel. /// [DataField("fuelSolution")] public string FuelSolution { get; } = "Welder"; /// /// Reagent that will be used as fuel for welding. /// [DataField("fuelReagent", customTypeSerializer:typeof(PrototypeIdSerializer))] public string FuelReagent { get; } = "WeldingFuel"; /// /// Fuel consumption per second, while the welder is active. /// [DataField("fuelConsumption")] public ReagentUnit FuelConsumption { get; } = ReagentUnit.New(0.05f); /// /// A fuel amount to be consumed when the welder goes from being unlit to being lit. /// [DataField("welderOnConsume")] public ReagentUnit FuelLitCost { get; } = ReagentUnit.New(0.5f); /// /// Sound played when the welder is turned off. /// [DataField("welderOffSounds")] public SoundSpecifier WelderOffSounds { get; } = new SoundCollectionSpecifier("WelderOff"); /// /// Sound played when the tool is turned on. /// [DataField("welderOnSounds")] public SoundSpecifier WelderOnSounds { get; } = new SoundCollectionSpecifier("WelderOn"); [DataField("welderRefill")] public SoundSpecifier WelderRefill { get; } = new SoundPathSpecifier("/Audio/Effects/refill.ogg"); } }