? (-1f, 1f)
: (1f, -1f);
// bring each entity to the same firestack mass, firestacks being scaled by the other's mass
- AdjustFireStacks(uid, src * avg * mass2, flammable);
- AdjustFireStacks(otherUid, dest * avg * mass1, otherFlammable);
+ AdjustFireStacks(uid, src * avg * mass2, flammable, ignite: true);
+ AdjustFireStacks(otherUid, dest * avg * mass1, otherFlammable, ignite: true);
}
private void OnIsHot(EntityUid uid, FlammableComponent flammable, IsHotEvent args)
_appearance.SetData(uid, ToggleableLightVisuals.Enabled, flammable.OnFire, appearance);
}
- public void AdjustFireStacks(EntityUid uid, float relativeFireStacks, FlammableComponent? flammable = null)
+ public void AdjustFireStacks(EntityUid uid, float relativeFireStacks, FlammableComponent? flammable = null, bool ignite = false)
{
if (!Resolve(uid, ref flammable))
return;
- SetFireStacks(uid, flammable.FireStacks + relativeFireStacks, flammable);
+ SetFireStacks(uid, flammable.FireStacks + relativeFireStacks, flammable, ignite);
}
- public void SetFireStacks(EntityUid uid, float stacks, FlammableComponent? flammable = null)
+ public void SetFireStacks(EntityUid uid, float stacks, FlammableComponent? flammable = null, bool ignite = false)
{
if (!Resolve(uid, ref flammable))
return;
}
else
{
- flammable.OnFire = true;
+ flammable.OnFire = ignite;
UpdateAppearance(uid, flammable);
}
}