Пару изменений (#468)

* fix: Двери больше нельзя моментально открыть голыми руками

* add: Несколько целевой пинпоинтер для оперативников синдиката

* add: Боеголовка синдиката
This commit is contained in:
Spatison
2024-07-20 05:33:14 +03:00
committed by GitHub
parent 0dff5a3f79
commit 88a09bea71
15 changed files with 295 additions and 105 deletions

View File

@@ -251,8 +251,32 @@ public sealed class NukeopsRuleSystem : GameRuleSystem<NukeopsRuleComponent>
continue; continue;
} }
MapId? targetStationMap = null;
if (nukeops.TargetStation != null && TryComp(nukeops.TargetStation, out StationDataComponent? stationData))
{
var stationGrid = stationData.Grids.FirstOrNull();
targetStationMap = stationGrid != null
? Transform(stationGrid.Value).MapID
: null;
}
// WD EDIT
nukeops.WinConditions.Add(WinCondition.NukeExplodedOnCorrectStation); nukeops.WinConditions.Add(WinCondition.NukeExplodedOnCorrectStation);
var operatives = EntityQuery<NukeOperativeComponent, TransformComponent>(true);
var operativesAlive = operatives
.Any(ent => ent.Item2.MapID != targetStationMap && ent.Item1.Running);
if (operativesAlive)
SetWinType(uid, WinType.OpsMajor, nukeops); SetWinType(uid, WinType.OpsMajor, nukeops);
else
{
nukeops.WinConditions.Add(WinCondition.AllNukiesDead);
SetWinType(uid, WinType.OpsMinor, nukeops);
}
// WD EDIT
correctStation = true; correctStation = true;
} }
@@ -516,7 +540,7 @@ public sealed class NukeopsRuleSystem : GameRuleSystem<NukeopsRuleComponent>
return; return;
// If the win condition was set to operative/crew major win, ignore. // If the win condition was set to operative/crew major win, ignore.
if (component.WinType == WinType.OpsMajor || component.WinType == WinType.CrewMajor) if (component.WinType == WinType.OpsMajor || component.WinType == WinType.CrewMajor || component.WinType == WinType.OpsMinor)
return; return;
var nukeQuery = AllEntityQuery<NukeComponent, TransformComponent>(); var nukeQuery = AllEntityQuery<NukeComponent, TransformComponent>();
@@ -527,6 +551,7 @@ public sealed class NukeopsRuleSystem : GameRuleSystem<NukeopsRuleComponent>
if (nuke.Status != NukeStatus.ARMED) if (nuke.Status != NukeStatus.ARMED)
continue; continue;
Log.Error("hyi");
// UH OH // UH OH
if (nukeTransform.MapUid != null && centcomms.Contains(nukeTransform.MapUid.Value)) if (nukeTransform.MapUid != null && centcomms.Contains(nukeTransform.MapUid.Value))
{ {
@@ -552,6 +577,8 @@ public sealed class NukeopsRuleSystem : GameRuleSystem<NukeopsRuleComponent>
} }
} }
if (!component.WinConditions.Contains(WinCondition.AllNukiesDead)) // WD EDIT
{
var allAlive = true; var allAlive = true;
var query = EntityQueryEnumerator<NukeopsRoleComponent, MindContainerComponent, MobStateComponent>(); var query = EntityQueryEnumerator<NukeopsRoleComponent, MindContainerComponent, MobStateComponent>();
while (query.MoveNext(out var nukeopsUid, out _, out var mindContainer, out var mobState)) while (query.MoveNext(out var nukeopsUid, out _, out var mindContainer, out var mobState))
@@ -584,6 +611,7 @@ public sealed class NukeopsRuleSystem : GameRuleSystem<NukeopsRuleComponent>
} }
component.WinConditions.Add(WinCondition.SomeNukiesAlive); component.WinConditions.Add(WinCondition.SomeNukiesAlive);
}
var diskAtCentCom = false; var diskAtCentCom = false;
var diskQuery = AllEntityQuery<NukeDiskComponent, TransformComponent>(); var diskQuery = AllEntityQuery<NukeDiskComponent, TransformComponent>();
@@ -619,7 +647,7 @@ public sealed class NukeopsRuleSystem : GameRuleSystem<NukeopsRuleComponent>
component.WinType = type; component.WinType = type;
if (endRound && (type == WinType.CrewMajor || type == WinType.OpsMajor)) if (endRound && (type == WinType.CrewMajor || type == WinType.OpsMajor || type == WinType.OpsMinor))
_roundEndSystem.EndRound(); _roundEndSystem.EndRound();
} }

View File

@@ -114,9 +114,7 @@ namespace Content.Server.Nuke
foreach (var (nukeUid, nuke) in nukes) foreach (var (nukeUid, nuke) in nukes)
{ {
if (!onlyCurrentStation && if (!onlyCurrentStation &&
(owningStation == null && nuke.OriginStation != owningStation)
nuke.OriginMapGrid != (transform.MapID, transform.GridUid) ||
nuke.OriginStation != owningStation))
{ {
continue; continue;
} }

View File

@@ -8,7 +8,7 @@ using Content.Shared.IdentityManagement;
namespace Content.Server.Pinpointer; namespace Content.Server.Pinpointer;
public sealed class PinpointerSystem : SharedPinpointerSystem public sealed partial class PinpointerSystem : SharedPinpointerSystem
{ {
[Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
@@ -18,6 +18,8 @@ public sealed class PinpointerSystem : SharedPinpointerSystem
public override void Initialize() public override void Initialize()
{ {
base.Initialize(); base.Initialize();
InitializeMultiplePinpointer(); // WD EDIT
_xformQuery = GetEntityQuery<TransformComponent>(); _xformQuery = GetEntityQuery<TransformComponent>();
SubscribeLocalEvent<PinpointerComponent, ActivateInWorldEvent>(OnActivate); SubscribeLocalEvent<PinpointerComponent, ActivateInWorldEvent>(OnActivate);

View File

@@ -0,0 +1,75 @@
using Content.Shared._White.Pinpointer;
using Content.Shared.Interaction;
using Content.Shared.Pinpointer;
namespace Content.Server.Pinpointer;
public sealed partial class PinpointerSystem
{
public void InitializeMultiplePinpointer()
{
SubscribeLocalEvent<MultiplePinpointerComponent, ComponentStartup>(OnMultiplePinpointerStartup);
SubscribeLocalEvent<MultiplePinpointerComponent, ActivateInWorldEvent>(OnMultiplePinpointerActivated);
SubscribeLocalEvent<MultiplePinpointerComponent, AfterAutoHandleStateEvent>(OnMultiplePinpointerHandleState);
}
private void OnMultiplePinpointerHandleState(EntityUid uid, MultiplePinpointerComponent component, ref AfterAutoHandleStateEvent args)
{
SetMultiplePinpointer(uid, component);
}
private void OnMultiplePinpointerStartup(EntityUid uid, MultiplePinpointerComponent multiple, ComponentStartup args)
{
var pinpointer = EntityManager.EnsureComponent<PinpointerComponent>(uid);
SetMultiplePinpointer(uid, multiple, pinpointer);
}
private void OnMultiplePinpointerActivated(EntityUid uid, MultiplePinpointerComponent multiple, ActivateInWorldEvent args)
{
if (args.Handled)
return;
args.Handled = CycleMultiplePinpointer(uid, multiple, args.User);
}
private bool CycleMultiplePinpointer(EntityUid uid, MultiplePinpointerComponent? multiple = null, EntityUid? user = null)
{
if (!Resolve(uid, ref multiple))
return false;
if (multiple.Modes.Length == 0)
return false;
multiple.CurrentEntry = (uint)((multiple.CurrentEntry + 1) % multiple.Modes.Length);
SetMultiplePinpointer(uid, multiple, user: user);
return true;
}
private void SetMultiplePinpointer(EntityUid uid,
MultiplePinpointerComponent? multiple = null,
PinpointerComponent? pin = null,
EntityUid? user = null)
{
if (!Resolve(uid, ref multiple, ref pin))
return;
if (multiple.Modes.Length <= multiple.CurrentEntry)
return;
var current = multiple.Modes[multiple.CurrentEntry];
SetDistance(uid, Distance.Unknown, pin);
if (current == "Off")
{
SetActive(uid, true, pin);
pin.Component = null;
}
else
{
SetActive(uid, false, pin);
pin.Component = current;
}
LocateTarget(uid, pin);
}
}

View File

@@ -134,7 +134,7 @@ public sealed class PryingSystem : EntitySystem
RaiseLocalEvent(target, ref modEv); RaiseLocalEvent(target, ref modEv);
var time = TimeSpan.FromSeconds(!TryComp<AirlockComponent>(target, out var airlock) || !airlock.Powered ? 0 : modEv.BaseTime * modEv.PryTimeModifier * toolModifier); // WD EDIT var time = TimeSpan.FromSeconds(modEv.BaseTime * modEv.PryTimeModifier * (toolModifier - (!TryComp<AirlockComponent>(target, out var airlock) || !airlock.Powered ? 1 : 0))); // WD EDIT
var doAfterArgs = new DoAfterArgs(EntityManager, user, time, new DoorPryDoAfterEvent(), target, target, tool) var doAfterArgs = new DoAfterArgs(EntityManager, user, time, new DoorPryDoAfterEvent(), target, target, tool)
{ {

View File

@@ -0,0 +1,12 @@
using Robust.Shared.GameStates;
namespace Content.Shared._White.Nuke;
/// <summary>
/// Used for tracking the nuke bomb - isn't a tag for pinpointer purposes.
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed partial class NuclearBombSyndicateComponent : Component
{
}

View File

@@ -0,0 +1,13 @@
using Robust.Shared.GameStates;
namespace Content.Shared._White.Pinpointer;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class MultiplePinpointerComponent : Component
{
[DataField(required: true)]
public string[] Modes = Array.Empty<string>();
[ViewVariables, AutoNetworkedField]
public uint CurrentEntry = 0;
}

View File

@@ -4,6 +4,9 @@ ent-NuclearBomb = ядерная боеголовка
ent-NuclearBombUnanchored = { ent-NuclearBomb } ent-NuclearBombUnanchored = { ent-NuclearBomb }
.suffix = незакрепленный .suffix = незакрепленный
.desc = { ent-NuclearBomb.desc } .desc = { ent-NuclearBomb.desc }
ent-NuclearBombSyndicate = { ent-NuclearBomb }
.suffix = синдикат
.desc = { ent-NuclearBomb.desc }
ent-NuclearBombKeg = ядерная боеголовка ent-NuclearBombKeg = ядерная боеголовка
.desc = Вам, вероятно, не стоит оставаться здесь, чтобы проверить, запущена ли она. Сбоку имеется кран. .desc = Вам, вероятно, не стоит оставаться здесь, чтобы проверить, запущена ли она. Сбоку имеется кран.
.suffix = кег .suffix = кег

View File

@@ -165,6 +165,14 @@ entities:
- 0 - 0
- 0 - 0
- 0 - 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- volume: 2500 - volume: 2500
temperature: 293.15 temperature: 293.15
moles: moles:
@@ -180,6 +188,14 @@ entities:
- 0 - 0
- 0 - 0
- 0 - 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- volume: 2500 - volume: 2500
temperature: 293.14996 temperature: 293.14996
moles: moles:
@@ -195,6 +211,14 @@ entities:
- 0 - 0
- 0 - 0
- 0 - 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- volume: 2500 - volume: 2500
temperature: 293.15 temperature: 293.15
moles: moles:
@@ -210,6 +234,14 @@ entities:
- 0 - 0
- 0 - 0
- 0 - 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- volume: 2500 - volume: 2500
temperature: 293.15 temperature: 293.15
moles: moles:
@@ -225,6 +257,14 @@ entities:
- 0 - 0
- 0 - 0
- 0 - 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- volume: 2500 - volume: 2500
temperature: 293.15 temperature: 293.15
moles: moles:
@@ -240,6 +280,14 @@ entities:
- 0 - 0
- 0 - 0
- 0 - 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
chunkSize: 4 chunkSize: 4
- type: DecalGrid - type: DecalGrid
chunkCollection: chunkCollection:
@@ -2650,8 +2698,6 @@ entities:
rot: 3.141592653589793 rad rot: 3.141592653589793 rad
pos: 5.5,-27.5 pos: 5.5,-27.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- proto: GasMinerOxygen - proto: GasMinerOxygen
entities: entities:
- uid: 369 - uid: 369
@@ -2660,8 +2706,6 @@ entities:
rot: 3.141592653589793 rad rot: 3.141592653589793 rad
pos: 3.5,-27.5 pos: 3.5,-27.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- proto: GasMixer - proto: GasMixer
entities: entities:
- uid: 370 - uid: 370
@@ -2675,8 +2719,6 @@ entities:
- type: GasMixer - type: GasMixer
inletTwoConcentration: 0.78 inletTwoConcentration: 0.78
inletOneConcentration: 0.22 inletOneConcentration: 0.22
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- proto: GasPassiveVent - proto: GasPassiveVent
@@ -2687,24 +2729,18 @@ entities:
rot: 3.141592653589793 rad rot: 3.141592653589793 rad
pos: 3.5,-26.5 pos: 3.5,-26.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- uid: 372 - uid: 372
components: components:
- type: Transform - type: Transform
rot: 3.141592653589793 rad rot: 3.141592653589793 rad
pos: 5.5,-26.5 pos: 5.5,-26.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- uid: 373 - uid: 373
components: components:
- type: Transform - type: Transform
rot: -1.5707963267948966 rad rot: -1.5707963267948966 rad
pos: 6.5,-19.5 pos: 6.5,-19.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- proto: GasPipeBend - proto: GasPipeBend
entities: entities:
- uid: 374 - uid: 374
@@ -3268,8 +3304,6 @@ entities:
rot: 1.5707963267948966 rad rot: 1.5707963267948966 rad
pos: 2.5,-23.5 pos: 2.5,-23.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- proto: GasPressurePump - proto: GasPressurePump
@@ -3282,8 +3316,6 @@ entities:
rot: 1.5707963267948966 rad rot: 1.5707963267948966 rad
pos: 4.5,-19.5 pos: 4.5,-19.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#FF1212FF' color: '#FF1212FF'
- proto: GasVentPump - proto: GasVentPump
@@ -3294,8 +3326,6 @@ entities:
rot: -1.5707963267948966 rad rot: -1.5707963267948966 rad
pos: 0.5,-11.5 pos: 0.5,-11.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- uid: 450 - uid: 450
@@ -3304,8 +3334,6 @@ entities:
rot: 3.141592653589793 rad rot: 3.141592653589793 rad
pos: -0.5,-21.5 pos: -0.5,-21.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- uid: 451 - uid: 451
@@ -3314,8 +3342,6 @@ entities:
rot: -1.5707963267948966 rad rot: -1.5707963267948966 rad
pos: 4.5,-23.5 pos: 4.5,-23.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- uid: 452 - uid: 452
@@ -3324,8 +3350,6 @@ entities:
rot: 3.141592653589793 rad rot: 3.141592653589793 rad
pos: -4.5,-21.5 pos: -4.5,-21.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- uid: 453 - uid: 453
@@ -3334,8 +3358,6 @@ entities:
rot: 1.5707963267948966 rad rot: 1.5707963267948966 rad
pos: -4.5,-16.5 pos: -4.5,-16.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- uid: 454 - uid: 454
@@ -3344,8 +3366,6 @@ entities:
rot: -1.5707963267948966 rad rot: -1.5707963267948966 rad
pos: 3.5,-16.5 pos: 3.5,-16.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- uid: 455 - uid: 455
@@ -3353,8 +3373,6 @@ entities:
- type: Transform - type: Transform
pos: 0.5,-3.5 pos: 0.5,-3.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#0335FCFF' color: '#0335FCFF'
- proto: GasVentScrubber - proto: GasVentScrubber
@@ -3365,8 +3383,6 @@ entities:
rot: -1.5707963267948966 rad rot: -1.5707963267948966 rad
pos: 1.5,-12.5 pos: 1.5,-12.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#FF1212FF' color: '#FF1212FF'
- uid: 457 - uid: 457
@@ -3375,8 +3391,6 @@ entities:
rot: -1.5707963267948966 rad rot: -1.5707963267948966 rad
pos: 3.5,-17.5 pos: 3.5,-17.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#FF1212FF' color: '#FF1212FF'
- uid: 458 - uid: 458
@@ -3385,8 +3399,6 @@ entities:
rot: 3.141592653589793 rad rot: 3.141592653589793 rad
pos: 2.5,-20.5 pos: 2.5,-20.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#FF1212FF' color: '#FF1212FF'
- uid: 459 - uid: 459
@@ -3395,8 +3407,6 @@ entities:
rot: 1.5707963267948966 rad rot: 1.5707963267948966 rad
pos: -4.5,-17.5 pos: -4.5,-17.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#FF1212FF' color: '#FF1212FF'
- uid: 460 - uid: 460
@@ -3405,8 +3415,6 @@ entities:
rot: 1.5707963267948966 rad rot: 1.5707963267948966 rad
pos: -3.5,-21.5 pos: -3.5,-21.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#FF1212FF' color: '#FF1212FF'
- uid: 461 - uid: 461
@@ -3414,8 +3422,6 @@ entities:
- type: Transform - type: Transform
pos: -0.5,-3.5 pos: -0.5,-3.5
parent: 1 parent: 1
- type: AtmosDevice
joinedGrid: 1
- type: AtmosPipeColor - type: AtmosPipeColor
color: '#FF1212FF' color: '#FF1212FF'
- proto: GeneratorBasic15kW - proto: GeneratorBasic15kW
@@ -3635,6 +3641,9 @@ entities:
- type: Transform - type: Transform
pos: 4.5,-5.5 pos: 4.5,-5.5
parent: 1 parent: 1
- type: PointLight
color: '#D56C6CFF'
enabled: True
- type: EntityStorage - type: EntityStorage
air: air:
volume: 200 volume: 200
@@ -3653,6 +3662,14 @@ entities:
- 0 - 0
- 0 - 0
- 0 - 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- type: ContainerContainer - type: ContainerContainer
containers: containers:
entity_storage: !type:Container entity_storage: !type:Container
@@ -3726,19 +3743,19 @@ entities:
- type: Transform - type: Transform
pos: 5.6633797,-17.565443 pos: 5.6633797,-17.565443
parent: 1 parent: 1
- proto: NuclearBombUnanchored - proto: NuclearBombSyndicate
entities: entities:
- uid: 509 - uid: 509
components: components:
- type: Transform - type: Transform
pos: -2.5,-12.5 pos: -2.5,-12.5
parent: 1 parent: 1
- proto: NukeCodePaper - proto: NukeCodePaperStation
entities: entities:
- uid: 510 - uid: 510
components: components:
- type: Transform - type: Transform
pos: -2.5286522,-11.44479 pos: -2.4890966,-11.441471
parent: 1 parent: 1
- proto: Ointment - proto: Ointment
entities: entities:
@@ -3766,8 +3783,8 @@ entities:
- type: Transform - type: Transform
pos: -1.5,-24.5 pos: -1.5,-24.5
parent: 1 parent: 1
- type: AtmosDevice - type: PolymorphableCanister
joinedGrid: 1 currentPrototype: OxygenCanister
- proto: OxygenTankFilled - proto: OxygenTankFilled
entities: entities:
- uid: 515 - uid: 515
@@ -4551,8 +4568,8 @@ entities:
- type: Transform - type: Transform
pos: 2.5,-23.5 pos: 2.5,-23.5
parent: 1 parent: 1
- type: AtmosDevice - type: PolymorphableCanister
joinedGrid: 1 currentPrototype: StorageCanister
- proto: SubstationBasic - proto: SubstationBasic
entities: entities:
- uid: 628 - uid: 628

View File

@@ -184,6 +184,14 @@ entities:
- 0 - 0
- 0 - 0
- 0 - 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
chunkSize: 4 chunkSize: 4
- type: GasTileOverlay - type: GasTileOverlay
- type: RadiationGridResistance - type: RadiationGridResistance
@@ -191,6 +199,7 @@ entities:
shakeTimes: 10 shakeTimes: 10
- type: SpreaderGrid - type: SpreaderGrid
- type: GridPathfinding - type: GridPathfinding
- type: NukeOpsShuttle
- proto: AirCanister - proto: AirCanister
entities: entities:
- uid: 91 - uid: 91
@@ -198,8 +207,8 @@ entities:
- type: Transform - type: Transform
pos: -0.5,-8.5 pos: -0.5,-8.5
parent: 325 parent: 325
- type: AtmosDevice - type: PolymorphableCanister
joinedGrid: 325 currentPrototype: AirCanister
- proto: AirlockExternalShuttleSyndicateLocked - proto: AirlockExternalShuttleSyndicateLocked
entities: entities:
- uid: 142 - uid: 142
@@ -825,6 +834,10 @@ entities:
occludes: True occludes: True
ents: ents:
- 245 - 245
disk_slot: !type:ContainerSlot
showEnts: False
occludes: True
ent: null
- proto: CyberPen - proto: CyberPen
entities: entities:
- uid: 77 - uid: 77
@@ -1041,8 +1054,6 @@ entities:
rot: 3.141592653589793 rad rot: 3.141592653589793 rad
pos: -0.5,-8.5 pos: -0.5,-8.5
parent: 325 parent: 325
- type: AtmosDevice
joinedGrid: 325
- proto: GasVentPump - proto: GasVentPump
entities: entities:
- uid: 218 - uid: 218
@@ -1054,8 +1065,6 @@ entities:
address: Vnt-5f41a0ae address: Vnt-5f41a0ae
transmitFrequency: 1621 transmitFrequency: 1621
receiveFrequency: 1621 receiveFrequency: 1621
- type: AtmosDevice
joinedGrid: 325
- uid: 219 - uid: 219
components: components:
- type: Transform - type: Transform
@@ -1066,8 +1075,6 @@ entities:
address: Vnt-129c27d2 address: Vnt-129c27d2
transmitFrequency: 1621 transmitFrequency: 1621
receiveFrequency: 1621 receiveFrequency: 1621
- type: AtmosDevice
joinedGrid: 325
- uid: 220 - uid: 220
components: components:
- type: Transform - type: Transform
@@ -1078,8 +1085,6 @@ entities:
address: Vnt-11c4609d address: Vnt-11c4609d
transmitFrequency: 1621 transmitFrequency: 1621
receiveFrequency: 1621 receiveFrequency: 1621
- type: AtmosDevice
joinedGrid: 325
- uid: 221 - uid: 221
components: components:
- type: Transform - type: Transform
@@ -1090,8 +1095,6 @@ entities:
address: Vnt-6859729f address: Vnt-6859729f
transmitFrequency: 1621 transmitFrequency: 1621
receiveFrequency: 1621 receiveFrequency: 1621
- type: AtmosDevice
joinedGrid: 325
- uid: 222 - uid: 222
components: components:
- type: Transform - type: Transform
@@ -1102,8 +1105,6 @@ entities:
address: Vnt-19d24c7f address: Vnt-19d24c7f
transmitFrequency: 1621 transmitFrequency: 1621
receiveFrequency: 1621 receiveFrequency: 1621
- type: AtmosDevice
joinedGrid: 325
- proto: GeneratorBasic15kW - proto: GeneratorBasic15kW
entities: entities:
- uid: 41 - uid: 41
@@ -1457,6 +1458,13 @@ entities:
- type: Transform - type: Transform
pos: 1.561105,-2.5567772 pos: 1.561105,-2.5567772
parent: 325 parent: 325
- proto: OxygenTankFilled
entities:
- uid: 167
components:
- type: Transform
pos: 1.60798,-0.3062118
parent: 325
- proto: PinpointerNuclear - proto: PinpointerNuclear
entities: entities:
- uid: 162 - uid: 162
@@ -2379,11 +2387,4 @@ entities:
occludes: True occludes: True
ents: ents:
- 346 - 346
- proto: YellowOxygenTankFilled
entities:
- uid: 167
components:
- type: Transform
pos: 1.60798,-0.3062118
parent: 325
... ...

View File

@@ -332,6 +332,17 @@
- id: PinpointerSyndicateNuclear - id: PinpointerSyndicateNuclear
- id: DeathAcidifierImplanter - id: DeathAcidifierImplanter
- type: entity
parent: ClothingBackpackDuffelSyndicateBundle
id: ClothingBackpackDuffelSyndicateLonelyOperative
name: operative duffelbag
components:
- type: StorageFill
contents:
- id: BoxSurvivalSyndicate
- id: WeaponPistolViper
- id: PinpointerStationNuclear
- id: DeathAcidifierImplanter
- type: entity - type: entity
parent: ClothingBackpackDuffelSyndicateMedicalBundle parent: ClothingBackpackDuffelSyndicateMedicalBundle

View File

@@ -63,6 +63,26 @@
- type: Pinpointer - type: Pinpointer
component: NukeDisk component: NukeDisk
targetName: nuclear authentication disk targetName: nuclear authentication disk
updateTargetName: true
- type: MultiplePinpointer
modes:
- Off
- NukeDisk
- NuclearBombSyndicate
- NukeOpsShuttle
- type: entity
parent: PinpointerSyndicateNuclear
id: PinpointerStationNuclear
suffix: Station bomb
components:
- type: MultiplePinpointer
modes:
- Off
- NukeDisk
- Nuke
- NukeOpsShuttle
- type: entity - type: entity
name: universal pinpointer name: universal pinpointer

View File

@@ -303,6 +303,7 @@
suffix: Station Only suffix: Station Only
components: components:
- type: NukeCodePaper - type: NukeCodePaper
allNukesAvailable: false
- type: entity - type: entity
name: pen name: pen

View File

@@ -94,6 +94,15 @@
- type: Physics - type: Physics
bodyType: Dynamic bodyType: Dynamic
- type: entity
parent: NuclearBombUnanchored
id: NuclearBombSyndicate
suffix: syndicate
components:
- type: NuclearBombSyndicate
- type: NukeLabel
prefix: nuke-label-syndicate
- type: entity - type: entity
parent: StorageTank parent: StorageTank
id: NuclearBombKeg id: NuclearBombKeg

View File

@@ -142,7 +142,7 @@
id: SyndicateLoneOperativeGearFull id: SyndicateLoneOperativeGearFull
equipment: equipment:
jumpsuit: ClothingUniformJumpsuitOperative jumpsuit: ClothingUniformJumpsuitOperative
back: ClothingBackpackDuffelSyndicateOperative back: ClothingBackpackDuffelSyndicateLonelyOperative
mask: ClothingMaskGasSyndicate mask: ClothingMaskGasSyndicate
eyes: ClothingEyesHudSyndicate eyes: ClothingEyesHudSyndicate
ears: ClothingHeadsetAltSyndicate ears: ClothingHeadsetAltSyndicate