using Content.Server.Body.Components; using Content.Shared.Atmos; using Content.Shared.Chemistry.Reagent; namespace Content.Server.Chemistry.ReagentEffects; public sealed class ModifyLungGas : ReagentEffect { [DataField("ratios", required: true)] private Dictionary _ratios = default!; public override void Effect(ReagentEffectArgs args) { if (args.EntityManager.TryGetComponent(args.OrganEntity, out var lung)) { foreach (var (gas, ratio) in _ratios) { lung.Air.Moles[(int) gas] += (ratio * args.Quantity.Float()) / Atmospherics.BreathMolesToReagentMultiplier; } } } }