using Content.Server.Atmos.EntitySystems; using Content.Shared.EntityEffects; using Content.Shared.EntityEffects.Effects.Atmos; namespace Content.Server.EntityEffects.Effects.Atmos; /// /// This effect adjusts a gas at the tile this entity is currently on. /// The amount changed is modified by scale. /// /// public sealed partial class CreateGasEntityEffectSystem : EntityEffectSystem { [Dependency] private readonly AtmosphereSystem _atmosphere = default!; protected override void Effect(Entity entity, ref EntityEffectEvent args) { var tileMix = _atmosphere.GetContainingMixture(entity.AsNullable(), false, true); tileMix?.AdjustMoles(args.Effect.Gas, args.Scale * args.Effect.Moles); } }