From 937e261867cb86d0cda36597cfaedbddb5a01b3c Mon Sep 17 00:00:00 2001 From: Radrark <76271993+Radrark@users.noreply.github.com> Date: Wed, 3 Feb 2021 11:26:46 -0300 Subject: [PATCH] Add Smoke and Foam chemical reaction effects. (#2913) * Adds smoke reaction effect * smoke tweaks * address reviews * Smoke fix * Refactor smoke and add foam * Fix stuff * Remove thing * Little things * Address some comments * Address more things * More addressing * License stuff * Address refactor request * Small things * Add nullability * Update Content.Server/GameObjects/EntitySystems/SolutionAreaEffectSystem.cs Co-authored-by: Paul Ritter --- .../Components/Chemistry/FoamVisualizer.cs | 74 +++++++ .../Components/Chemistry/SmokeVisualizer.cs | 26 +++ Content.Client/IgnoredComponents.cs | 2 + .../ReactionEffects/AreaReactionEffect.cs | 162 +++++++++++++++ .../ReactionEffects/FoamAreaReactionEffect.cs | 16 ++ .../SmokeAreaReactionEffect.cs | 16 ++ .../Body/Respiratory/InternalsComponent.cs | 10 + .../FoamSolutionAreaEffectComponent.cs | 90 +++++++++ .../SmokeSolutionAreaEffectComponent.cs | 63 ++++++ .../Chemistry/SolutionAreaEffectComponent.cs | 188 ++++++++++++++++++ .../SolutionAreaEffectInceptionComponent.cs | 142 +++++++++++++ .../EntitySystems/SolutionAreaEffectSystem.cs | 19 ++ .../Components/Chemistry/FoamVisuals.cs | 13 ++ .../Components/Chemistry/SmokeVisuals.cs | 12 ++ Content.Shared/GameObjects/DrawDepth.cs | 5 +- Resources/Audio/Effects/license.txt | 2 + Resources/Audio/Effects/smoke.ogg | Bin 0 -> 24160 bytes .../Specific/Dispensers/chem_dispenser.yml | 1 + .../Entities/Effects/chemistry_effects.yml | 149 ++++++++++++++ Resources/Prototypes/Reagents/chemicals.yml | 19 ++ .../Recipes/Reactions/chemicals.yml | 114 +++++++++++ .../Effects/chemsmoke.rsi/chemsmoke.png | Bin 0 -> 111309 bytes .../Textures/Effects/chemsmoke.rsi/meta.json | 1 + .../Effects/foam.rsi/foam-dissolve.png | Bin 0 -> 6345 bytes Resources/Textures/Effects/foam.rsi/foam.png | Bin 0 -> 2508 bytes .../Textures/Effects/foam.rsi/ironfoam.png | Bin 0 -> 3071 bytes Resources/Textures/Effects/foam.rsi/meta.json | 1 + .../Textures/Effects/foam.rsi/metalfoam.png | Bin 0 -> 3233 bytes .../Effects/foam.rsi/mfoam-dissolve.png | Bin 0 -> 5550 bytes Resources/Textures/Effects/foam.rsi/mfoam.png | Bin 0 -> 2301 bytes 30 files changed, 1123 insertions(+), 2 deletions(-) create mode 100644 Content.Client/GameObjects/Components/Chemistry/FoamVisualizer.cs create mode 100644 Content.Client/GameObjects/Components/Chemistry/SmokeVisualizer.cs create mode 100644 Content.Server/Chemistry/ReactionEffects/AreaReactionEffect.cs create mode 100644 Content.Server/Chemistry/ReactionEffects/FoamAreaReactionEffect.cs create mode 100644 Content.Server/Chemistry/ReactionEffects/SmokeAreaReactionEffect.cs create mode 100644 Content.Server/GameObjects/Components/Chemistry/FoamSolutionAreaEffectComponent.cs create mode 100644 Content.Server/GameObjects/Components/Chemistry/SmokeSolutionAreaEffectComponent.cs create mode 100644 Content.Server/GameObjects/Components/Chemistry/SolutionAreaEffectComponent.cs create mode 100644 Content.Server/GameObjects/Components/Chemistry/SolutionAreaEffectInceptionComponent.cs create mode 100644 Content.Server/GameObjects/EntitySystems/SolutionAreaEffectSystem.cs create mode 100644 Content.Shared/GameObjects/Components/Chemistry/FoamVisuals.cs create mode 100644 Content.Shared/GameObjects/Components/Chemistry/SmokeVisuals.cs create mode 100644 Resources/Audio/Effects/smoke.ogg create mode 100644 Resources/Prototypes/Entities/Effects/chemistry_effects.yml create mode 100644 Resources/Textures/Effects/chemsmoke.rsi/chemsmoke.png create mode 100644 Resources/Textures/Effects/chemsmoke.rsi/meta.json create mode 100644 Resources/Textures/Effects/foam.rsi/foam-dissolve.png create mode 100644 Resources/Textures/Effects/foam.rsi/foam.png create mode 100644 Resources/Textures/Effects/foam.rsi/ironfoam.png create mode 100644 Resources/Textures/Effects/foam.rsi/meta.json create mode 100644 Resources/Textures/Effects/foam.rsi/metalfoam.png create mode 100644 Resources/Textures/Effects/foam.rsi/mfoam-dissolve.png create mode 100644 Resources/Textures/Effects/foam.rsi/mfoam.png diff --git a/Content.Client/GameObjects/Components/Chemistry/FoamVisualizer.cs b/Content.Client/GameObjects/Components/Chemistry/FoamVisualizer.cs new file mode 100644 index 0000000000..79fb64a230 --- /dev/null +++ b/Content.Client/GameObjects/Components/Chemistry/FoamVisualizer.cs @@ -0,0 +1,74 @@ +#nullable enable +using System; +using Content.Shared.GameObjects.Components.Chemistry; +using JetBrains.Annotations; +using Robust.Client.Animations; +using Robust.Client.GameObjects; +using Robust.Client.GameObjects.Components.Animations; +using Robust.Client.Interfaces.GameObjects.Components; +using Robust.Shared.Maths; +using Robust.Shared.Utility; +using YamlDotNet.RepresentationModel; + +namespace Content.Client.GameObjects.Components.Chemistry +{ + [UsedImplicitly] + public class FoamVisualizer : AppearanceVisualizer + { + private const string AnimationKey = "foamdissolve_animation"; + private Animation _foamDissolve = new(); + public override void LoadData(YamlMappingNode node) + { + base.LoadData(node); + + var delay = 0.6f; + var state = "foam-dissolve"; + + if (node.TryGetNode("animationTime", out var delayNode)) + { + delay = delayNode.AsFloat(); + } + + if (node.TryGetNode("animationState", out var stateNode)) + { + state = stateNode.AsString(); + } + + _foamDissolve = new Animation {Length = TimeSpan.FromSeconds(delay)}; + var flick = new AnimationTrackSpriteFlick(); + _foamDissolve.AnimationTracks.Add(flick); + flick.LayerKey = FoamVisualLayers.Base; + flick.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame(state, 0f)); + } + + public override void OnChangeData(AppearanceComponent component) + { + base.OnChangeData(component); + + if (component.TryGetData(FoamVisuals.State, out var state)) + { + if (state) + { + if (component.Owner.TryGetComponent(out AnimationPlayerComponent? animPlayer)) + { + if (!animPlayer.HasRunningAnimation(AnimationKey)) + animPlayer.Play(_foamDissolve, AnimationKey); + } + } + } + + if (component.TryGetData(FoamVisuals.Color, out var color)) + { + if (component.Owner.TryGetComponent(out ISpriteComponent? sprite)) + { + sprite.Color = color; + } + } + } + } + + public enum FoamVisualLayers : byte + { + Base + } +} diff --git a/Content.Client/GameObjects/Components/Chemistry/SmokeVisualizer.cs b/Content.Client/GameObjects/Components/Chemistry/SmokeVisualizer.cs new file mode 100644 index 0000000000..91f68b6f71 --- /dev/null +++ b/Content.Client/GameObjects/Components/Chemistry/SmokeVisualizer.cs @@ -0,0 +1,26 @@ +#nullable enable +using Content.Shared.GameObjects.Components.Chemistry; +using JetBrains.Annotations; +using Robust.Client.GameObjects; +using Robust.Client.Interfaces.GameObjects.Components; +using Robust.Shared.Maths; + +namespace Content.Client.GameObjects.Components.Chemistry +{ + [UsedImplicitly] + public class SmokeVisualizer : AppearanceVisualizer + { + public override void OnChangeData(AppearanceComponent component) + { + base.OnChangeData(component); + + if (component.TryGetData(SmokeVisuals.Color, out var color)) + { + if (component.Owner.TryGetComponent(out ISpriteComponent? sprite)) + { + sprite.Color = color; + } + } + } + } +} diff --git a/Content.Client/IgnoredComponents.cs b/Content.Client/IgnoredComponents.cs index 652a75edee..0ad242868c 100644 --- a/Content.Client/IgnoredComponents.cs +++ b/Content.Client/IgnoredComponents.cs @@ -236,6 +236,8 @@ namespace Content.Client "SliceableFood", "DamageOtherOnHit", "DamageOnLand", + "SmokeSolutionAreaEffect", + "FoamSolutionAreaEffect", "GasFilter", "Recyclable", "SecretStash", diff --git a/Content.Server/Chemistry/ReactionEffects/AreaReactionEffect.cs b/Content.Server/Chemistry/ReactionEffects/AreaReactionEffect.cs new file mode 100644 index 0000000000..2079ac32b5 --- /dev/null +++ b/Content.Server/Chemistry/ReactionEffects/AreaReactionEffect.cs @@ -0,0 +1,162 @@ +#nullable enable +using System; +using Content.Server.GameObjects.Components.Chemistry; +using Content.Server.Interfaces.Chemistry; +using Content.Server.Utility; +using Content.Shared.Audio; +using JetBrains.Annotations; +using Robust.Server.GameObjects.EntitySystems; +using Robust.Shared.GameObjects.Systems; +using Robust.Shared.Interfaces.GameObjects; +using Robust.Shared.Interfaces.Map; +using Robust.Shared.IoC; +using Robust.Shared.Log; +using Robust.Shared.Serialization; + +namespace Content.Server.Chemistry.ReactionEffects +{ + /// + /// Basically smoke and foam reactions. + /// + [UsedImplicitly] + public abstract class AreaReactionEffect : IReactionEffect + { + [Dependency] private readonly IMapManager _mapManager = default!; + + /// + /// Used for calculating the spread range of the effect based on the intensity of the reaction. + /// + private float _rangeConstant; + private float _rangeMultiplier; + private int _maxRange; + + /// + /// If true the reagents get diluted or concentrated depending on the range of the effect + /// + private bool _diluteReagents; + + /// + /// At what range should the reagents volume stay the same. If the effect range is higher than this then the reagents + /// will get diluted. If the effect range is lower than this then the reagents will get concentrated. + /// + private int _reagentDilutionStart; + + /// + /// Used to calculate dilution. Increasing this makes the reagents get more diluted. This means that a lower range + /// will be needed to make the reagents volume get closer to zero. + /// + private float _reagentDilutionFactor; + + /// + /// Used to calculate concentration. Reagents get linearly more concentrated as the range goes from + /// _reagentDilutionStart to zero. When the range is zero the reagents volume gets multiplied by this. + /// + private float _reagentMaxConcentrationFactor; + + /// + /// How many seconds will the effect stay, counting after fully spreading. + /// + private float _duration; + + /// + /// How many seconds between each spread step. + /// + private float _spreadDelay; + + /// + /// How many seconds between each remove step. + /// + private float _removeDelay; + + /// + /// The entity prototype that will be spawned as the effect. It needs a component derived from SolutionAreaEffectComponent. + /// + private string? _prototypeId; + + /// + /// Sound that will get played when this reaction effect occurs. + /// + private string? _sound; + + protected AreaReactionEffect() + { + IoCManager.InjectDependencies(this); + } + + public void ExposeData(ObjectSerializer serializer) + { + serializer.DataField(ref _rangeConstant, "rangeConstant",0f); + serializer.DataField(ref _rangeMultiplier, "rangeMultiplier",1.1f); + serializer.DataField(ref _maxRange, "maxRange", 10); + serializer.DataField(ref _diluteReagents, "diluteReagents", false); + serializer.DataField(ref _reagentDilutionStart, "reagentDilutionStart", 4); + serializer.DataField(ref _reagentDilutionFactor, "reagentDilutionFactor", 1f); + serializer.DataField(ref _reagentMaxConcentrationFactor, "reagentMaxConcentrationFactor",2f); + serializer.DataField(ref _duration, "duration", 10f); + serializer.DataField(ref _spreadDelay, "spreadDelay", 0.5f); + serializer.DataField(ref _removeDelay, "removeDelay", 0.5f); + serializer.DataField(ref _sound, "sound", null); + serializer.DataField(ref _prototypeId, "prototypeId", null); + + if (_prototypeId == null) + Logger.Error("prototypeId wasn't provided to AreaReactionEffect, check yaml"); + } + + public void React(IEntity solutionEntity, double intensity) + { + if (!solutionEntity.TryGetComponent(out SolutionContainerComponent? contents)) + return; + + var solution = contents.SplitSolution(contents.MaxVolume); + // We take the square root so it becomes harder to reach higher amount values + var amount = (int) Math.Round(_rangeConstant + _rangeMultiplier*Math.Sqrt(intensity)); + amount = Math.Min(amount, _maxRange); + + if (_diluteReagents) + { + // The maximum value of solutionFraction is _reagentMaxConcentrationFactor, achieved when amount = 0 + // The infimum of solutionFraction is 0, which is approached when amount tends to infinity + // solutionFraction is equal to 1 only when amount equals _reagentDilutionStart + float solutionFraction; + if (amount >= _reagentDilutionStart) + { + // Weird formulas here but basically when amount increases, solutionFraction gets closer to 0 in a reciprocal manner + // _reagentDilutionFactor defines how fast solutionFraction gets closer to 0 + solutionFraction = 1 / (_reagentDilutionFactor*(amount - _reagentDilutionStart) + 1); + } + else + { + // Here when amount decreases, solutionFraction gets closer to _reagentMaxConcentrationFactor in a linear manner + solutionFraction = amount * (1 - _reagentMaxConcentrationFactor) / _reagentDilutionStart + + _reagentMaxConcentrationFactor; + } + solution.RemoveSolution(solution.TotalVolume*(1-solutionFraction)); + } + + if (!_mapManager.TryFindGridAt(solutionEntity.Transform.MapPosition, out var grid)) return; + + var coords = grid.MapToGrid(solutionEntity.Transform.MapPosition); + + var ent = solutionEntity.EntityManager.SpawnEntity(_prototypeId, coords.SnapToGrid()); + + var areaEffectComponent = GetAreaEffectComponent(ent); + + if (areaEffectComponent == null) + { + Logger.Error("Couldn't get AreaEffectComponent from " + _prototypeId); + ent.Delete(); + return; + } + + areaEffectComponent.TryAddSolution(solution); + areaEffectComponent.Start(amount, _duration, _spreadDelay, _removeDelay); + + if (!string.IsNullOrEmpty(_sound)) + { + EntitySystem.Get().PlayFromEntity(_sound, solutionEntity, AudioHelpers.WithVariation(0.125f)); + } + } + + protected abstract SolutionAreaEffectComponent? GetAreaEffectComponent(IEntity entity); + } +} diff --git a/Content.Server/Chemistry/ReactionEffects/FoamAreaReactionEffect.cs b/Content.Server/Chemistry/ReactionEffects/FoamAreaReactionEffect.cs new file mode 100644 index 0000000000..edc6a26285 --- /dev/null +++ b/Content.Server/Chemistry/ReactionEffects/FoamAreaReactionEffect.cs @@ -0,0 +1,16 @@ +#nullable enable +using Content.Server.GameObjects.Components.Chemistry; +using JetBrains.Annotations; +using Robust.Shared.Interfaces.GameObjects; + +namespace Content.Server.Chemistry.ReactionEffects +{ + [UsedImplicitly] + public class FoamAreaReactionEffect : AreaReactionEffect + { + protected override SolutionAreaEffectComponent? GetAreaEffectComponent(IEntity entity) + { + return entity.GetComponentOrNull(); + } + } +} diff --git a/Content.Server/Chemistry/ReactionEffects/SmokeAreaReactionEffect.cs b/Content.Server/Chemistry/ReactionEffects/SmokeAreaReactionEffect.cs new file mode 100644 index 0000000000..3a78557321 --- /dev/null +++ b/Content.Server/Chemistry/ReactionEffects/SmokeAreaReactionEffect.cs @@ -0,0 +1,16 @@ +#nullable enable +using Content.Server.GameObjects.Components.Chemistry; +using JetBrains.Annotations; +using Robust.Shared.Interfaces.GameObjects; + +namespace Content.Server.Chemistry.ReactionEffects +{ + [UsedImplicitly] + public class SmokeAreaReactionEffect : AreaReactionEffect + { + protected override SolutionAreaEffectComponent? GetAreaEffectComponent(IEntity entity) + { + return entity.GetComponentOrNull(); + } + } +} diff --git a/Content.Server/GameObjects/Components/Body/Respiratory/InternalsComponent.cs b/Content.Server/GameObjects/Components/Body/Respiratory/InternalsComponent.cs index 6c3380da4e..63594ffcee 100644 --- a/Content.Server/GameObjects/Components/Body/Respiratory/InternalsComponent.cs +++ b/Content.Server/GameObjects/Components/Body/Respiratory/InternalsComponent.cs @@ -59,5 +59,15 @@ namespace Content.Server.GameObjects.Components.Body.Respiratory return true; } + public bool AreInternalsWorking() + { + return BreathToolEntity != null && + GasTankEntity != null && + BreathToolEntity.TryGetComponent(out BreathToolComponent? breathTool) && + breathTool.IsFunctional && + GasTankEntity.TryGetComponent(out GasTankComponent? gasTank) && + gasTank.Air != null; + } + } } diff --git a/Content.Server/GameObjects/Components/Chemistry/FoamSolutionAreaEffectComponent.cs b/Content.Server/GameObjects/Components/Chemistry/FoamSolutionAreaEffectComponent.cs new file mode 100644 index 0000000000..6b9e6dd3b5 --- /dev/null +++ b/Content.Server/GameObjects/Components/Chemistry/FoamSolutionAreaEffectComponent.cs @@ -0,0 +1,90 @@ +#nullable enable +using Content.Server.GameObjects.Components.Body.Circulatory; +using Content.Server.GameObjects.Components.GUI; +using Content.Server.GameObjects.Components.Items.Storage; +using Content.Shared.Chemistry; +using Content.Shared.GameObjects.Components.Chemistry; +using Content.Shared.GameObjects.Components.Inventory; +using Robust.Server.GameObjects; +using Robust.Shared.GameObjects; +using Robust.Shared.GameObjects.Components.Timers; +using Robust.Shared.Interfaces.GameObjects; +using Robust.Shared.Serialization; + +namespace Content.Server.GameObjects.Components.Chemistry +{ + [RegisterComponent] + [ComponentReference(typeof(SolutionAreaEffectComponent))] + public class FoamSolutionAreaEffectComponent : SolutionAreaEffectComponent + { + public override string Name => "FoamSolutionAreaEffect"; + + private string? _foamedMetalPrototype; + + public override void ExposeData(ObjectSerializer serializer) + { + base.ExposeData(serializer); + serializer.DataField(ref _foamedMetalPrototype, "foamedMetalPrototype", null); + } + + protected override void UpdateVisuals() + { + if (Owner.TryGetComponent(out AppearanceComponent? appearance) && + SolutionContainerComponent != null) + { + appearance.SetData(FoamVisuals.Color, SolutionContainerComponent.Color.WithAlpha(0.80f)); + } + } + + protected override void ReactWithEntity(IEntity entity, double solutionFraction) + { + if (SolutionContainerComponent == null) + return; + + if (!entity.TryGetComponent(out BloodstreamComponent? bloodstream)) + return; + + // TODO: Add a permeability property to clothing + // For now it just adds to protection for each clothing equipped + var protection = 0f; + if (entity.TryGetComponent(out InventoryComponent? inventory)) + { + foreach (var slot in inventory.Slots) + { + if (slot == EquipmentSlotDefines.Slots.BACKPACK || + slot == EquipmentSlotDefines.Slots.POCKET1 || + slot == EquipmentSlotDefines.Slots.POCKET2 || + slot == EquipmentSlotDefines.Slots.IDCARD) + continue; + + if (inventory.TryGetSlotItem(slot, out ItemComponent _)) + protection += 0.025f; + } + } + + var cloneSolution = SolutionContainerComponent.Solution.Clone(); + var transferAmount = ReagentUnit.Min(cloneSolution.TotalVolume * solutionFraction * (1 - protection), bloodstream.EmptyVolume); + var transferSolution = cloneSolution.SplitSolution(transferAmount); + + bloodstream.TryTransferSolution(transferSolution); + } + + protected override void OnKill() + { + if (Owner.Deleted) + return; + if (Owner.TryGetComponent(out AppearanceComponent? appearance)) + { + appearance.SetData(FoamVisuals.State, true); + } + Owner.SpawnTimer(600, () => + { + if (!string.IsNullOrEmpty(_foamedMetalPrototype)) + { + Owner.EntityManager.SpawnEntity(_foamedMetalPrototype, Owner.Transform.Coordinates); + } + Owner.Delete(); + }); + } + } +} diff --git a/Content.Server/GameObjects/Components/Chemistry/SmokeSolutionAreaEffectComponent.cs b/Content.Server/GameObjects/Components/Chemistry/SmokeSolutionAreaEffectComponent.cs new file mode 100644 index 0000000000..f916725ad6 --- /dev/null +++ b/Content.Server/GameObjects/Components/Chemistry/SmokeSolutionAreaEffectComponent.cs @@ -0,0 +1,63 @@ +#nullable enable +using System.Linq; +using Content.Server.GameObjects.Components.Body.Circulatory; +using Content.Server.GameObjects.Components.Body.Respiratory; +using Content.Shared.Chemistry; +using Content.Shared.GameObjects.Components.Chemistry; +using Content.Shared.Interfaces.GameObjects.Components; +using Robust.Server.GameObjects; +using Robust.Shared.GameObjects; +using Robust.Shared.Interfaces.GameObjects; + +namespace Content.Server.GameObjects.Components.Chemistry +{ + [RegisterComponent] + [ComponentReference(typeof(SolutionAreaEffectComponent))] + public class SmokeSolutionAreaEffectComponent : SolutionAreaEffectComponent + { + public override string Name => "SmokeSolutionAreaEffect"; + + protected override void UpdateVisuals() + { + if (Owner.TryGetComponent(out AppearanceComponent? appearance) && + SolutionContainerComponent != null) + { + appearance.SetData(SmokeVisuals.Color, SolutionContainerComponent.Color); + } + } + + protected override void ReactWithEntity(IEntity entity, double solutionFraction) + { + if (SolutionContainerComponent == null) + return; + + if (!entity.TryGetComponent(out BloodstreamComponent? bloodstream)) + return; + + if (entity.TryGetComponent(out InternalsComponent? internals) && + internals.AreInternalsWorking()) + return; + + var cloneSolution = SolutionContainerComponent.Solution.Clone(); + var transferAmount = ReagentUnit.Min(cloneSolution.TotalVolume * solutionFraction, bloodstream.EmptyVolume); + var transferSolution = cloneSolution.SplitSolution(transferAmount); + + foreach (var reagentQuantity in transferSolution.Contents.ToArray()) + { + if (reagentQuantity.Quantity == ReagentUnit.Zero) continue; + var reagent = PrototypeManager.Index(reagentQuantity.ReagentId); + transferSolution.RemoveReagent(reagentQuantity.ReagentId,reagent.ReactionEntity(entity, ReactionMethod.Ingestion, reagentQuantity.Quantity)); + } + + bloodstream.TryTransferSolution(transferSolution); + } + + + protected override void OnKill() + { + if (Owner.Deleted) + return; + Owner.Delete(); + } + } +} diff --git a/Content.Server/GameObjects/Components/Chemistry/SolutionAreaEffectComponent.cs b/Content.Server/GameObjects/Components/Chemistry/SolutionAreaEffectComponent.cs new file mode 100644 index 0000000000..682cfac522 --- /dev/null +++ b/Content.Server/GameObjects/Components/Chemistry/SolutionAreaEffectComponent.cs @@ -0,0 +1,188 @@ +#nullable enable +using System; +using System.Linq; +using Content.Server.GameObjects.Components.Atmos; +using Content.Server.Utility; +using Content.Shared.Chemistry; +using Content.Shared.Interfaces.GameObjects.Components; +using Robust.Shared.GameObjects; +using Robust.Shared.GameObjects.ComponentDependencies; +using Robust.Shared.GameObjects.Components.Transform; +using Robust.Shared.Interfaces.GameObjects; +using Robust.Shared.Interfaces.Map; +using Robust.Shared.IoC; +using Robust.Shared.Log; +using Robust.Shared.Maths; +using Robust.Shared.Prototypes; + +namespace Content.Server.GameObjects.Components.Chemistry +{ + /// + /// Used to clone its owner repeatedly and group up them all so they behave like one unit, that way you can have + /// effects that cover an area. Inherited by and . + /// + public abstract class SolutionAreaEffectComponent : Component + { + [Dependency] protected readonly IMapManager MapManager = default!; + [Dependency] protected readonly IPrototypeManager PrototypeManager = default!; + + [ComponentDependency] protected readonly SnapGridComponent? SnapGridComponent = default!; + [ComponentDependency] protected readonly SolutionContainerComponent? SolutionContainerComponent = default!; + public int Amount { get; set; } + public SolutionAreaEffectInceptionComponent? Inception { get; set; } + + /// + /// Adds an to owner so the effect starts spreading and reacting. + /// + /// The range of the effect + /// + /// + /// + public void Start(int amount, float duration, float spreadDelay, float removeDelay) + { + if (Inception != null) + return; + + if (Owner.HasComponent()) + return; + + Amount = amount; + var inception = Owner.AddComponent(); + + inception.Add(this); + inception.Setup(amount, duration, spreadDelay, removeDelay); + } + + /// + /// Gets called by an AreaEffectInceptionComponent. "Clones" Owner into the four directions and copies the + /// solution into each of them. + /// + public void Spread() + { + if (Owner.Prototype == null) + { + Logger.Error("AreaEffectComponent needs its owner to be spawned by a prototype."); + return; + } + + if (SnapGridComponent == null) + { + Logger.Error("AreaEffectComponent attached to " + Owner.Prototype.ID + + " couldn't get SnapGridComponent from owner."); + return; + } + + void SpreadToDir(Direction dir) + { + foreach (var neighbor in SnapGridComponent.GetInDir(dir)) + { + if (neighbor.TryGetComponent(out SolutionAreaEffectComponent? comp) && comp.Inception == Inception) + return; + + if (neighbor.TryGetComponent(out AirtightComponent? airtight) && airtight.AirBlocked) + return; + } + + var newEffect = + Owner.EntityManager.SpawnEntity(Owner.Prototype.ID, SnapGridComponent.DirectionToGrid(dir)); + + if (!newEffect.TryGetComponent(out SolutionAreaEffectComponent? effectComponent)) + { + newEffect.Delete(); + return; + } + + if (SolutionContainerComponent != null) + { + effectComponent.TryAddSolution(SolutionContainerComponent.Solution.Clone()); + } + + effectComponent.Amount = Amount - 1; + Inception?.Add(effectComponent); + } + + SpreadToDir(Direction.North); + SpreadToDir(Direction.East); + SpreadToDir(Direction.South); + SpreadToDir(Direction.West); + + } + + /// + /// Gets called by an AreaEffectInceptionComponent. + /// Removes this component from its inception and calls OnKill(). The implementation of OnKill() should + /// eventually delete the entity. + /// + public void Kill() + { + Inception?.Remove(this); + OnKill(); + } + + protected abstract void OnKill(); + + /// + /// Gets called by an AreaEffectInceptionComponent. + /// Makes this effect's reagents react with the tile its on and with the entities it covers. Also calls + /// ReactWithEntity on the entities so inheritors can implement more specific behavior. + /// + /// How many times will this get called over this area effect's duration, averaged + /// with the other area effects from the inception. + public void React(float averageExposures) + { + if (SolutionContainerComponent == null) + return; + + var mapGrid = MapManager.GetGrid(Owner.Transform.GridID); + var tile = mapGrid.GetTileRef(Owner.Transform.Coordinates.ToVector2i(Owner.EntityManager, MapManager)); + + var solutionFraction = 1 / Math.Floor(averageExposures); + + foreach (var reagentQuantity in SolutionContainerComponent.ReagentList.ToArray()) + { + if (reagentQuantity.Quantity == ReagentUnit.Zero) continue; + var reagent = PrototypeManager.Index(reagentQuantity.ReagentId); + + // React with the tile the effect is on + reagent.ReactionTile(tile, reagentQuantity.Quantity * solutionFraction); + + // Touch every entity on the tile + foreach (var entity in tile.GetEntitiesInTileFast()) + { + reagent.ReactionEntity(entity, ReactionMethod.Touch, reagentQuantity.Quantity * solutionFraction); + } + } + + foreach (var entity in tile.GetEntitiesInTileFast()) + { + ReactWithEntity(entity, solutionFraction); + } + } + + protected abstract void ReactWithEntity(IEntity entity, double solutionFraction); + + public void TryAddSolution(Solution solution) + { + if (solution.TotalVolume == 0) + return; + + if (SolutionContainerComponent == null) + return; + + var addSolution = + solution.SplitSolution(ReagentUnit.Min(solution.TotalVolume, SolutionContainerComponent.EmptyVolume)); + + SolutionContainerComponent.TryAddSolution(addSolution); + + UpdateVisuals(); + } + + protected abstract void UpdateVisuals(); + + public override void OnRemove() + { + base.OnRemove(); + Inception?.Remove(this); + } + } +} diff --git a/Content.Server/GameObjects/Components/Chemistry/SolutionAreaEffectInceptionComponent.cs b/Content.Server/GameObjects/Components/Chemistry/SolutionAreaEffectInceptionComponent.cs new file mode 100644 index 0000000000..2eb1ccebdc --- /dev/null +++ b/Content.Server/GameObjects/Components/Chemistry/SolutionAreaEffectInceptionComponent.cs @@ -0,0 +1,142 @@ +#nullable enable +using System.Collections.Generic; +using System.Linq; +using Robust.Shared.GameObjects; +using Robust.Shared.ViewVariables; + +namespace Content.Server.GameObjects.Components.Chemistry +{ + /// + /// The "mastermind" of a SolutionAreaEffect group. It gets updated by the SolutionAreaEffectSystem and tells the + /// group when to spread, react and remove itself. This makes the group act like a single unit. + /// + /// It should only be manually added to an entity by the and not with a prototype. + [RegisterComponent] + public class SolutionAreaEffectInceptionComponent : Component + { + public override string Name => "AreaEffectInception"; + + private const float ReactionDelay = 0.5f; + + private readonly HashSet _group = new(); + + [ViewVariables] private float _lifeTimer; + [ViewVariables] private float _spreadTimer; + [ViewVariables] private float _reactionTimer; + + [ViewVariables] private int _amountCounterSpreading; + [ViewVariables] private int _amountCounterRemoving; + + /// + /// How much time to wait after fully spread before starting to remove itself. + /// + [ViewVariables] private float _duration; + + /// + /// Time between each spread step. Decreasing this makes spreading faster. + /// + [ViewVariables] private float _spreadDelay; + + /// + /// Time between each remove step. Decreasing this makes removing faster. + /// + [ViewVariables] private float _removeDelay; + + /// + /// How many times will the effect react. As some entities from the group last a different amount of time than + /// others, they will react a different amount of times, so we calculate the average to make the group behave + /// a bit more uniformly. + /// + [ViewVariables] private float _averageExposures; + + public void Setup(int amount, float duration, float spreadDelay, float removeDelay) + { + _amountCounterSpreading = amount; + _duration = duration; + _spreadDelay = spreadDelay; + _removeDelay = removeDelay; + + // So the first square reacts immediately after spawning + _reactionTimer = ReactionDelay; + /* + The group takes amount*spreadDelay seconds to fully spread, same with fully disappearing. + The outer squares will last duration seconds. + The first square will last duration + how many seconds the group takes to fully spread and fully disappear, so + it will last duration + amount*(spreadDelay+removeDelay). + Thus, the average lifetime of the smokes will be (outerSmokeLifetime + firstSmokeLifetime)/2 = duration + amount*(spreadDelay+removeDelay)/2 + */ + _averageExposures = (duration + amount * (spreadDelay+removeDelay) / 2)/ReactionDelay; + } + + public void InceptionUpdate(float frameTime) + { + _group.RemoveWhere(effect => effect.Deleted); + if (_group.Count == 0) + return; + + // Make every outer square from the group spread + if (_amountCounterSpreading > 0) + { + _spreadTimer += frameTime; + if (_spreadTimer > _spreadDelay) + { + _spreadTimer -= _spreadDelay; + + var outerEffects = new HashSet(_group.Where(effect => effect.Amount == _amountCounterSpreading)); + foreach (var effect in outerEffects) + { + effect.Spread(); + } + + _amountCounterSpreading -= 1; + } + } + // Start counting for _duration after fully spreading + else + { + _lifeTimer += frameTime; + } + + // Delete every outer square + if (_lifeTimer > _duration) + { + _spreadTimer += frameTime; + if (_spreadTimer > _removeDelay) + { + _spreadTimer -= _removeDelay; + + var outerEffects = new HashSet(_group.Where(effect => effect.Amount == _amountCounterRemoving)); + foreach (var effect in outerEffects) + { + effect.Kill(); + } + + _amountCounterRemoving += 1; + } + } + + // Make every square from the group react with the tile and entities + _reactionTimer += frameTime; + if (_reactionTimer > ReactionDelay) + { + _reactionTimer -= ReactionDelay; + foreach (var effect in _group) + { + effect.React(_averageExposures); + } + } + } + + public void Add(SolutionAreaEffectComponent effect) + { + _group.Add(effect); + effect.Inception = this; + } + + public void Remove(SolutionAreaEffectComponent effect) + { + _group.Remove(effect); + effect.Inception = null; + } + } +} diff --git a/Content.Server/GameObjects/EntitySystems/SolutionAreaEffectSystem.cs b/Content.Server/GameObjects/EntitySystems/SolutionAreaEffectSystem.cs new file mode 100644 index 0000000000..79062a6d2a --- /dev/null +++ b/Content.Server/GameObjects/EntitySystems/SolutionAreaEffectSystem.cs @@ -0,0 +1,19 @@ +#nullable enable +using Content.Server.GameObjects.Components.Chemistry; +using JetBrains.Annotations; +using Robust.Shared.GameObjects.Systems; + +namespace Content.Server.GameObjects.EntitySystems +{ + [UsedImplicitly] + public class SolutionAreaEffectSystem : EntitySystem + { + public override void Update(float frameTime) + { + foreach (var inception in ComponentManager.EntityQuery()) + { + inception.InceptionUpdate(frameTime); + } + } + } +} diff --git a/Content.Shared/GameObjects/Components/Chemistry/FoamVisuals.cs b/Content.Shared/GameObjects/Components/Chemistry/FoamVisuals.cs new file mode 100644 index 0000000000..065ae3da7f --- /dev/null +++ b/Content.Shared/GameObjects/Components/Chemistry/FoamVisuals.cs @@ -0,0 +1,13 @@ +#nullable enable +using System; +using Robust.Shared.Serialization; + +namespace Content.Shared.GameObjects.Components.Chemistry +{ + [Serializable, NetSerializable] + public enum FoamVisuals : byte + { + State, + Color + } +} diff --git a/Content.Shared/GameObjects/Components/Chemistry/SmokeVisuals.cs b/Content.Shared/GameObjects/Components/Chemistry/SmokeVisuals.cs new file mode 100644 index 0000000000..0ded6dd5c0 --- /dev/null +++ b/Content.Shared/GameObjects/Components/Chemistry/SmokeVisuals.cs @@ -0,0 +1,12 @@ +#nullable enable +using System; +using Robust.Shared.Serialization; + +namespace Content.Shared.GameObjects.Components.Chemistry +{ + [Serializable, NetSerializable] + public enum SmokeVisuals : byte + { + Color + } +} diff --git a/Content.Shared/GameObjects/DrawDepth.cs b/Content.Shared/GameObjects/DrawDepth.cs index 9f445d2e48..eea05d7d94 100644 --- a/Content.Shared/GameObjects/DrawDepth.cs +++ b/Content.Shared/GameObjects/DrawDepth.cs @@ -22,7 +22,8 @@ namespace Content.Shared.GameObjects Objects = DrawDepthTag.Default, Items = DrawDepthTag.Default + 1, Mobs = DrawDepthTag.Default + 2, - Ghosts = DrawDepthTag.Default + 3, - Overlays = DrawDepthTag.Default + 4, + Effects = DrawDepthTag.Default + 3, + Ghosts = DrawDepthTag.Default + 4, + Overlays = DrawDepthTag.Default + 5, } } diff --git a/Resources/Audio/Effects/license.txt b/Resources/Audio/Effects/license.txt index 67629091c3..2587ffff73 100644 --- a/Resources/Audio/Effects/license.txt +++ b/Resources/Audio/Effects/license.txt @@ -1,2 +1,4 @@ hit_kick.ogg is made by Taira Komori (https://taira-komori.jpn.org/freesounden.html) + +smoke.ogg taken from https://github.com/tgstation/tgstation/blob/a5d362ce84e4f0c61026236d5ec84d3c81553664/sound/effects/smoke.ogg \ No newline at end of file diff --git a/Resources/Audio/Effects/smoke.ogg b/Resources/Audio/Effects/smoke.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1a1aa3733edabd0d0d0002e81ecfa98503d7e983 GIT binary patch literal 24160 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 literal 0 HcmV?d00001 diff --git a/Resources/Prototypes/Entities/Constructible/Specific/Dispensers/chem_dispenser.yml b/Resources/Prototypes/Entities/Constructible/Specific/Dispensers/chem_dispenser.yml index f7de3d2bf4..92840e7a79 100644 --- a/Resources/Prototypes/Entities/Constructible/Specific/Dispensers/chem_dispenser.yml +++ b/Resources/Prototypes/Entities/Constructible/Specific/Dispensers/chem_dispenser.yml @@ -21,6 +21,7 @@ - chem.Water - chem.Ethanol - chem.Glucose + - chem.Sugar - chem.Hydrogen - chem.Oxygen - chem.Sulfur diff --git a/Resources/Prototypes/Entities/Effects/chemistry_effects.yml b/Resources/Prototypes/Entities/Effects/chemistry_effects.yml new file mode 100644 index 0000000000..00e78fce7f --- /dev/null +++ b/Resources/Prototypes/Entities/Effects/chemistry_effects.yml @@ -0,0 +1,149 @@ +- type: entity + id: Smoke + name: smoke + abstract: true + components: + - type: Sprite + drawdepth: Effects + sprite: Effects/chemsmoke.rsi + state: chemsmoke + - type: Appearance + visuals: + - type: SmokeVisualizer + - type: Occluder + sizeX: 32 + sizeY: 32 + - type: SnapGrid + offset: Center + - type: SmokeSolutionAreaEffect + - type: SolutionContainer + maxVol: 600 + +- type: entity + id: Foam + name: foam + abstract: true + components: + - type: Sprite + netsync: false + drawdepth: Effects + color: "#ffffffcc" #Add some transparency + sprite: Effects/foam.rsi + state: foam + layers: + - state: foam + map: ["enum.FoamVisualLayers.Base"] + - type: AnimationPlayer + - type: Appearance + visuals: + - type: FoamVisualizer + animationTime: 0.6 + animationState: foam-dissolve + - type: SnapGrid + offset: Center + - type: Physics + shapes: + - !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + layer: + - MobImpassable + - type: FoamSolutionAreaEffect + - type: SolutionContainer + maxVol: 600 + - type: Slippery + +- type: entity + id: IronMetalFoam + name: iron metal foam + abstract: true + parent: Foam + components: + - type: Sprite + state: mfoam + layers: + - state: mfoam + map: ["enum.FoamVisualLayers.Base"] + - type: Appearance + visuals: + - type: FoamVisualizer + animationTime: 0.6 + animationState: mfoam-dissolve + - type: FoamSolutionAreaEffect + foamedMetalPrototype: FoamedIronMetal + +- type: entity + id: AluminiumMetalFoam + name: aluminium metal foam + abstract: true + parent: Foam + components: + - type: Sprite + state: mfoam + layers: + - state: mfoam + map: ["enum.FoamVisualLayers.Base"] + - type: Appearance + visuals: + - type: FoamVisualizer + animationTime: 0.6 + animationState: mfoam-dissolve + - type: FoamSolutionAreaEffect + foamedMetalPrototype: FoamedAluminiumMetal + +- type: entity + id: BaseFoamedMetal + name: base foamed metal + description: Keeps the air in and the greytide out. + abstract: true + placement: + mode: SnapgridCenter + snap: + - Wall + components: + - type: RCDDeconstructWhitelist + - type: Clickable + - type: InteractionOutline + - type: Sprite + netsync: false + drawdepth: Walls + - type: Physics + shapes: + - !type:PhysShapeAabb + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + - type: Occluder + sizeX: 32 + sizeY: 32 + - type: SnapGrid + offset: Center + - type: Airtight + - type: Damageable + resistances: metallicResistances + - type: Destructible + thresholds: + 50: + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: FoamedIronMetal + name: foamed iron metal + parent: BaseFoamedMetal + components: + - type: Sprite + sprite: Effects/foam.rsi + state: ironfoam + +- type: entity + id: FoamedAluminiumMetal + name: foamed aluminium metal + parent: BaseFoamedMetal + components: + - type: Sprite + sprite: Effects/foam.rsi + state: metalfoam diff --git a/Resources/Prototypes/Reagents/chemicals.yml b/Resources/Prototypes/Reagents/chemicals.yml index d7af2363f1..2a67394e45 100644 --- a/Resources/Prototypes/Reagents/chemicals.yml +++ b/Resources/Prototypes/Reagents/chemicals.yml @@ -126,6 +126,15 @@ - !type:AdjustHealth amount: -8 +- type: reagent + id: chem.FluorosulfuricAcid + name: fluorosulfuric acid + desc: An extremely corrosive chemical substance. + physicalDecs: strong-smelling + color: "#5050ff" + boilingPoint: 165 + meltingPoint: -87 + - type: reagent id: chem.TableSalt name: table salt @@ -241,3 +250,13 @@ meltingPoint: -80.7 tileReactions: - !type:FlammableTileReaction {} + +- type: reagent + id: chem.Fluorosurfactant + name: fluorosurfactant + desc: A perfluoronated sulfonic acid that forms a foam when mixed with water. + physicalDesc: opaque + color: "#9e6b38" + boilingPoint: 190.0 # Perfluorooctanoic Acid. + meltingPoint: 45.0 + diff --git a/Resources/Prototypes/Recipes/Reactions/chemicals.yml b/Resources/Prototypes/Recipes/Reactions/chemicals.yml index 05045b484f..f6f16984ad 100644 --- a/Resources/Prototypes/Recipes/Reactions/chemicals.yml +++ b/Resources/Prototypes/Recipes/Reactions/chemicals.yml @@ -40,6 +40,20 @@ products: chem.PolytrinicAcid: 3 +- type: reaction + id: react.FluorosulfuricAcid + reactants: + chem.Fluorine: + amount: 1 + chem.Hydrogen: + amount: 1 + chem.Potassium: + amount: 1 + chem.SulfuricAcid: + amount: 1 + products: + chem.FluorosulfuricAcid: 4 + - type: reaction id: react.PotassiumExplosion reactants: @@ -57,6 +71,94 @@ scaled: true #Scaled proportionally to amount of potassium and water maxScale: 30 #Explosion strength stops scaling at 30 potassium + 30 water +- type: reaction + id: react.Smoke + reactants: + chem.Phosphorus: + amount: 1 + chem.Potassium: + amount: 1 + chem.Sugar: + amount: 1 + effects: + - !type:SmokeAreaReactionEffect + rangeConstant: 0 + rangeMultiplier: 1.1 #Range formula: rangeConstant + rangeMultiplier*sqrt(ReactionUnits) + maxRange: 10 + duration: 10 + spreadDelay: 0.5 + removeDelay: 0.5 + diluteReagents: false + prototypeId: Smoke + sound: /Audio/Effects/smoke.ogg + +- type: reaction + id: react.Foam + reactants: + chem.Fluorosurfactant: + amount: 1 + chem.Water: + amount: 1 + effects: + - !type:FoamAreaReactionEffect + rangeConstant: 0 + rangeMultiplier: 1.1 #Range formula: rangeConstant + rangeMultiplier*sqrt(ReactionUnits) + maxRange: 10 + duration: 10 + spreadDelay: 1 + removeDelay: 0 + diluteReagents: true + reagentDilutionStart: 4 #At what range should the reagents start diluting + reagentDilutionFactor: 1 + reagentMaxConcentrationFactor: 2 #The reagents will get multiplied by this number if the range turns out to be 0 + prototypeId: Foam + +- type: reaction + id: react.IronMetalFoam + reactants: + chem.Iron: + amount: 3 + chem.FoamingAgent: + amount: 1 + chem.FluorosulfuricAcid: + amount: 1 + effects: + - !type:FoamAreaReactionEffect + rangeConstant: 0 + rangeMultiplier: 1.1 + maxRange: 10 + duration: 10 + spreadDelay: 1 + removeDelay: 0 + diluteReagents: true + reagentDilutionStart: 4 + reagentDilutionFactor: 1 + reagentMaxConcentrationFactor: 2 + prototypeId: IronMetalFoam + +- type: reaction + id: react.AluminiumMetalFoam + reactants: + chem.Aluminium: + amount: 3 + chem.FoamingAgent: + amount: 1 + chem.FluorosulfuricAcid: + amount: 1 + effects: + - !type:FoamAreaReactionEffect + rangeConstant: 0 + rangeMultiplier: 1.1 + maxRange: 10 + duration: 10 + spreadDelay: 1 + removeDelay: 0 + diluteReagents: true + reagentDilutionStart: 4 + reagentDilutionFactor: 1 + reagentMaxConcentrationFactor: 2 + prototypeId: AluminiumMetalFoam + - type: reaction id: react.TableSalt reactants: @@ -100,3 +202,15 @@ amount: 1 products: chem.Water: 2 + +- type: reaction + id: react.Fluorosurfactant + reactants: + chem.Carbon: + amount: 2 + chem.Fluorine: + amount: 2 + chem.SulfuricAcid: + amount: 1 + products: + chem.Fluorosurfactant: 5 diff --git a/Resources/Textures/Effects/chemsmoke.rsi/chemsmoke.png b/Resources/Textures/Effects/chemsmoke.rsi/chemsmoke.png new file mode 100644 index 0000000000000000000000000000000000000000..e85d4463347dfe34461e3bdbb970fdddbb8546ba GIT binary patch literal 111309 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 T6~&l&00000NkvXXu0mjf8SYrJ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Effects/foam.rsi/mfoam-dissolve.png b/Resources/Textures/Effects/foam.rsi/mfoam-dissolve.png new file mode 100644 index 0000000000000000000000000000000000000000..cd6d4a4cc1973f8649bc116b2f2bba6fc35b5fa4 GIT binary patch literal 5550 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 literal 0 HcmV?d00001