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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user