Files
Delta-v/Content.Shared/_DV/Lathe/LatheUpgradeSystem.cs
T
deltanedasanddeltanedas a8d69e4fee rework hyperlathes into upgrade kits (#3169)
* add codersprite

* add code for upgrade kits

* add upgrade kits

* add recipes for upgrade kits to industrial engineering

* disable funny recipes

* remove RE

* fuck it make it a warning

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2025-03-10 19:26:33 +00:00

32 lines
865 B
C#

using Content.Shared.Lathe;
namespace Content.Shared._DV.Lathe;
/// <summary>
/// Applies <see cref="LatheUpgradeComponent"/> modifiers when added to a lathe and removes it.
/// </summary>
public sealed class LatheUpgradeSystem : EntitySystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<LatheUpgradeComponent, MapInitEvent>(OnMapInit);
}
private void OnMapInit(Entity<LatheUpgradeComponent> ent, ref MapInitEvent args)
{
RemCompDeferred<LatheUpgradeComponent>(ent);
if (!TryComp<LatheComponent>(ent, out var lathe))
return;
if (ent.Comp.MaterialUseMultiplier is {} matMul)
lathe.MaterialUseMultiplier = matMul;
if (ent.Comp.TimeMultiplier is {} timeMul)
lathe.TimeMultiplier = timeMul;
Dirty(ent, lathe);
}
}