Files
crystall-punk-14/Content.Server/_CP14/Temperature/CPMeltingSystem.cs
2024-04-17 17:49:47 +03:00

29 lines
853 B
C#

using Content.Server.Fluids.EntitySystems;
using Content.Server.Temperature.Systems;
namespace Content.Server._CP14.Temperature;
public sealed partial class CPMeltingSystem : EntitySystem
{
[Dependency] private readonly PuddleSystem _puddleSystem = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<CPMeltingComponent, OnTemperatureChangeEvent>(OnTemperatureChange);
}
private void OnTemperatureChange(Entity<CPMeltingComponent> ent, ref OnTemperatureChangeEvent args)
{
if (!(args.CurrentTemperature >= ent.Comp.MeltTemperature))
return;
if (ent.Comp.MeltSolution != null)
{
_puddleSystem.TrySplashSpillAt(ent, Transform(ent).Coordinates, ent.Comp.MeltSolution, out var puddleUid);
}
QueueDel(ent);
}
}