Files
OldThink/Content.Shared/Chemistry/Components/PatchComponent.cs
RinKeeper e6790ef190 fixes (#248)
* tweak: hotbar translation

* oops

* tweak: WhiteBox update

* tweak: Bagel, Meta and Train in map pool

* tweak: ERTsystem changes and new ERT map

* cvar fix

* nerf: radium no longer has a touch effect

* tweak: chem touch tweaks

* tweak: patch applies reagents over time

* patchComp fix and some tweaks

* some changes
2024-03-31 13:12:07 +07:00

53 lines
1.5 KiB
C#

using System.Threading;
using Content.Shared.DoAfter;
using Content.Shared.FixedPoint;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
namespace Content.Shared.Chemistry.Components;
[Serializable, NetSerializable]
public sealed partial class PatchDoAfterEvent : SimpleDoAfterEvent
{
}
/// <summary>
/// Implements draw/inject behavior for droppers and syringes.
/// </summary>
/// <remarks>
/// Can optionally support both
/// injection and drawing or just injection. Can inject/draw reagents from solution
/// containers, and can directly inject into a mobs bloodstream.
/// </remarks>
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class PatchComponent : Component
{
//[ViewVariables, DataField]
public CancellationTokenSource CancelTokenSourceSkin = new();
public CancellationTokenSource CancelTokenSourceBlood = new();
[ViewVariables, AutoNetworkedField]
public FixedPoint2 CurrentVolume;
[ViewVariables, AutoNetworkedField]
public FixedPoint2 TotalVolume;
[DataField("solutionName")]
public string SolutionName = "patch";
// Application only on mobs
[DataField("onlyMobs")]
public bool OnlyMobs = true;
// Application time used in calculation final time
[DataField("applicationTime")]
public FixedPoint2 BaseApplicationTime = 10;
// Delay used in calculation final delay time
[ViewVariables(VVAccess.ReadWrite)]
[DataField("delay")]
public TimeSpan Delay = TimeSpan.FromSeconds(5);
}