Implement lattice cutting (#10920)

* Add lattice cutting

* Add delay when spacing the floor.

* Add LatticeCutting to jaws of life

* Add warning

* Minor fixes

* Add atmos decompression delay

* Add CanWirecutter and lattice item drops

* Remove atmos check

* Prevent tile replacement edge case
This commit is contained in:
Jacob Tong
2022-08-31 01:24:51 -07:00
committed by GitHub
parent c26074e978
commit 61d975644a
9 changed files with 187 additions and 13 deletions

View File

@@ -0,0 +1,30 @@
using System.Threading;
using Content.Shared.Tools;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Server.Tools.Components;
[RegisterComponent]
public sealed class LatticeCuttingComponent : Component
{
[ViewVariables]
[DataField("toolComponentNeeded")]
public bool ToolComponentNeeded = true;
[ViewVariables]
[DataField("qualityNeeded", customTypeSerializer:typeof(PrototypeIdSerializer<ToolQualityPrototype>))]
public string QualityNeeded = "Cutting";
[ViewVariables]
[DataField("delay")]
public float Delay = 0.25f;
[ViewVariables]
[DataField("vacuumDelay")]
public float VacuumDelay = 1.75f;
/// <summary>
/// Used for do_afters.
/// </summary>
public CancellationTokenSource? CancelTokenSource = null;
}