]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Make Ignite tryget flammablecomp (#34970)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Sat, 8 Feb 2025 10:56:44 +0000 (21:56 +1100)
committerGitHub <noreply@github.com>
Sat, 8 Feb 2025 10:56:44 +0000 (11:56 +0100)
The flammable effect does it but we don't do it here for reasons. Sometimes this heisentests.

Content.Server/EntityEffects/Effects/FlammableReaction.cs
Content.Server/EntityEffects/Effects/Ignite.cs
Content.Server/Tiles/TileEntityEffectSystem.cs

index c1d024a4efd4c354881039b0f711237c51199305..8e1f6d81e151a7a12dd84fd7053da0528f848e84 100644 (file)
@@ -38,7 +38,8 @@ namespace Content.Server.EntityEffects.Effects
                 reagentArgs.EntityManager.System<FlammableSystem>().AdjustFireStacks(args.TargetEntity, quantity * multiplier, flammable);
                 if (reagentArgs.Reagent != null)
                     reagentArgs.Source?.RemoveReagent(reagentArgs.Reagent.ID, reagentArgs.Quantity);
-            } else
+            }
+            else
             {
                 args.EntityManager.System<FlammableSystem>().AdjustFireStacks(args.TargetEntity, multiplier, flammable);
             }
index cca2a301fdf63d2204168befba4e928c87dfd8a6..85d7f09145582f9e7cf53797a5513514d3c253b6 100644 (file)
@@ -1,3 +1,4 @@
+using Content.Server.Atmos.Components;
 using Content.Server.Atmos.EntitySystems;
 using Content.Shared.Database;
 using Content.Shared.EntityEffects;
@@ -19,13 +20,17 @@ public sealed partial class Ignite : EntityEffect
 
     public override void Effect(EntityEffectBaseArgs args)
     {
+        if (!args.EntityManager.TryGetComponent(args.TargetEntity, out FlammableComponent? flammable))
+            return;
+
         var flamSys = args.EntityManager.System<FlammableSystem>();
         if (args is EntityEffectReagentArgs reagentArgs)
         {
-            flamSys.Ignite(reagentArgs.TargetEntity, reagentArgs.OrganEntity ?? reagentArgs.TargetEntity);
-        } else
+            flamSys.Ignite(reagentArgs.TargetEntity, reagentArgs.OrganEntity ?? reagentArgs.TargetEntity, flammable: flammable);
+        }
+        else
         {
-            flamSys.Ignite(args.TargetEntity, args.TargetEntity);
+            flamSys.Ignite(args.TargetEntity, args.TargetEntity, flammable: flammable);
         }
     }
 }
index 7149f16e1ad8d260fe197e0991b5e97dfb3a5858..4d866cb25480f1a36cedd62e2bd9c91c77f7526c 100644 (file)
@@ -23,10 +23,11 @@ public sealed class TileEntityEffectSystem : EntitySystem
     private void OnTileStepTriggered(Entity<TileEntityEffectComponent> ent, ref StepTriggeredOffEvent args)
     {
         var otherUid = args.Tripper;
+        var effectArgs = new EntityEffectBaseArgs(otherUid, EntityManager);
 
         foreach (var effect in ent.Comp.Effects)
         {
-            effect.Effect(new EntityEffectBaseArgs(otherUid, EntityManager));
+            effect.Effect(effectArgs);
         }
     }
 }