Make Ignite tryget flammablecomp (#34970)

The flammable effect does it but we don't do it here for reasons. Sometimes this heisentests.
This commit is contained in:
metalgearsloth
2025-02-08 21:56:44 +11:00
committed by GitHub
parent 87a868459f
commit d7e978274a
3 changed files with 12 additions and 5 deletions

View File

@@ -38,7 +38,8 @@ namespace Content.Server.EntityEffects.Effects
reagentArgs.EntityManager.System<FlammableSystem>().AdjustFireStacks(args.TargetEntity, quantity * multiplier, flammable); reagentArgs.EntityManager.System<FlammableSystem>().AdjustFireStacks(args.TargetEntity, quantity * multiplier, flammable);
if (reagentArgs.Reagent != null) if (reagentArgs.Reagent != null)
reagentArgs.Source?.RemoveReagent(reagentArgs.Reagent.ID, reagentArgs.Quantity); reagentArgs.Source?.RemoveReagent(reagentArgs.Reagent.ID, reagentArgs.Quantity);
} else }
else
{ {
args.EntityManager.System<FlammableSystem>().AdjustFireStacks(args.TargetEntity, multiplier, flammable); args.EntityManager.System<FlammableSystem>().AdjustFireStacks(args.TargetEntity, multiplier, flammable);
} }

View File

@@ -1,3 +1,4 @@
using Content.Server.Atmos.Components;
using Content.Server.Atmos.EntitySystems; using Content.Server.Atmos.EntitySystems;
using Content.Shared.Database; using Content.Shared.Database;
using Content.Shared.EntityEffects; using Content.Shared.EntityEffects;
@@ -19,13 +20,17 @@ public sealed partial class Ignite : EntityEffect
public override void Effect(EntityEffectBaseArgs args) public override void Effect(EntityEffectBaseArgs args)
{ {
if (!args.EntityManager.TryGetComponent(args.TargetEntity, out FlammableComponent? flammable))
return;
var flamSys = args.EntityManager.System<FlammableSystem>(); var flamSys = args.EntityManager.System<FlammableSystem>();
if (args is EntityEffectReagentArgs reagentArgs) if (args is EntityEffectReagentArgs reagentArgs)
{ {
flamSys.Ignite(reagentArgs.TargetEntity, reagentArgs.OrganEntity ?? reagentArgs.TargetEntity); flamSys.Ignite(reagentArgs.TargetEntity, reagentArgs.OrganEntity ?? reagentArgs.TargetEntity, flammable: flammable);
} else }
else
{ {
flamSys.Ignite(args.TargetEntity, args.TargetEntity); flamSys.Ignite(args.TargetEntity, args.TargetEntity, flammable: flammable);
} }
} }
} }

View File

@@ -23,10 +23,11 @@ public sealed class TileEntityEffectSystem : EntitySystem
private void OnTileStepTriggered(Entity<TileEntityEffectComponent> ent, ref StepTriggeredOffEvent args) private void OnTileStepTriggered(Entity<TileEntityEffectComponent> ent, ref StepTriggeredOffEvent args)
{ {
var otherUid = args.Tripper; var otherUid = args.Tripper;
var effectArgs = new EntityEffectBaseArgs(otherUid, EntityManager);
foreach (var effect in ent.Comp.Effects) foreach (var effect in ent.Comp.Effects)
{ {
effect.Effect(new EntityEffectBaseArgs(otherUid, EntityManager)); effect.Effect(effectArgs);
} }
} }
} }