mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 13:37:47 +03:00
# Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> Ports https://github.com/space-wizards/space-station-14/pull/32294 Ports https://github.com/ss14-harmony/ss14-harmony/pull/310 (and everything needed for it to function) Early-merges https://github.com/space-wizards/space-station-14/pull/34302 Adds the ability for multiple central command maps that get randomly selected. Tested and works. --- # Changelog <!-- You can add an author after the `🆑` to change the name that appears in the changelog (ex: `🆑 Death`) Leaving it blank will default to your GitHub display name This includes all available types for the changelog --> 🆑 Several contributors - add: Added a new central command map that is randomly picked alongside the old one (thank you to Spanky from Harmony) - add: Added Advanced SMES for mappers. - add: Added the atmospheric network monitor for seeing what the temperature, moles, and pressure is on every pipe everywhere through a computer. - add: Nukie med bundle now contains a compact defibrillator. - add: Ported a better mapping editor. - add: Added the throngler plushie. - remove: Removed the Throngler as a possible loot spawn for gamble crates. --------- Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com> (cherry picked from commit 9272f65b64392f66a7cd4fd7c84bb152dc93b65a)
59 lines
1.8 KiB
C#
59 lines
1.8 KiB
C#
using Content.Server.Power.EntitySystems;
|
|
using Content.Shared.Power;
|
|
using Content.Shared.Tools;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
using System.Diagnostics.Tracing;
|
|
using Content.Shared.Tools.Systems;
|
|
|
|
namespace Content.Server.Power.Components;
|
|
|
|
/// <summary>
|
|
/// Allows the attached entity to be destroyed by a cutting tool, dropping a piece of cable.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
[Access(typeof(CableSystem))]
|
|
public sealed partial class CableComponent : Component
|
|
{
|
|
[DataField]
|
|
public EntProtoId CableDroppedOnCutPrototype = "CableHVStack1";
|
|
|
|
/// <summary>
|
|
/// The tool quality needed to cut the cable. Setting to null prevents cutting.
|
|
/// </summary>
|
|
[DataField]
|
|
public ProtoId<ToolQualityPrototype>? CuttingQuality = SharedToolSystem.CutQuality;
|
|
|
|
/// <summary>
|
|
/// Checked by <see cref="CablePlacerComponent"/> to determine if there is
|
|
/// already a cable of a type on a tile.
|
|
/// </summary>
|
|
[DataField("cableType")]
|
|
public CableType CableType = CableType.HighVoltage;
|
|
|
|
[DataField("cuttingDelay")]
|
|
public float CuttingDelay = 1f;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Event to be raised when a cable is anchored / unanchored
|
|
/// </summary>
|
|
[ByRefEvent]
|
|
public readonly struct CableAnchorStateChangedEvent
|
|
{
|
|
public readonly TransformComponent Transform;
|
|
public EntityUid Entity => Transform.Owner;
|
|
public bool Anchored => Transform.Anchored;
|
|
|
|
/// <summary>
|
|
/// If true, the entity is being detached to null-space
|
|
/// </summary>
|
|
public readonly bool Detaching;
|
|
|
|
public CableAnchorStateChangedEvent(TransformComponent transform, bool detaching = false)
|
|
{
|
|
Detaching = detaching;
|
|
Transform = transform;
|
|
}
|
|
}
|