Пару изменений (#468)
* fix: Двери больше нельзя моментально открыть голыми руками * add: Несколько целевой пинпоинтер для оперативников синдиката * add: Боеголовка синдиката
This commit is contained in:
@@ -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);
|
||||||
SetWinType(uid, WinType.OpsMajor, nukeops);
|
|
||||||
|
|
||||||
|
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);
|
||||||
|
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,39 +577,42 @@ public sealed class NukeopsRuleSystem : GameRuleSystem<NukeopsRuleComponent>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var allAlive = true;
|
if (!component.WinConditions.Contains(WinCondition.AllNukiesDead)) // WD EDIT
|
||||||
var query = EntityQueryEnumerator<NukeopsRoleComponent, MindContainerComponent, MobStateComponent>();
|
|
||||||
while (query.MoveNext(out var nukeopsUid, out _, out var mindContainer, out var mobState))
|
|
||||||
{
|
{
|
||||||
// mind got deleted somehow so ignore it
|
var allAlive = true;
|
||||||
if (!_mind.TryGetMind(nukeopsUid, out _, out var mind, mindContainer))
|
var query = EntityQueryEnumerator<NukeopsRoleComponent, MindContainerComponent, MobStateComponent>();
|
||||||
continue;
|
while (query.MoveNext(out var nukeopsUid, out _, out var mindContainer, out var mobState))
|
||||||
|
|
||||||
// check if player got gibbed or ghosted or something - count as dead
|
|
||||||
if (mind.OwnedEntity != null &&
|
|
||||||
// if the player somehow isn't a mob anymore that also counts as dead
|
|
||||||
// have to be alive, not crit or dead
|
|
||||||
mobState.CurrentState is MobState.Alive)
|
|
||||||
{
|
{
|
||||||
continue;
|
// mind got deleted somehow so ignore it
|
||||||
|
if (!_mind.TryGetMind(nukeopsUid, out _, out var mind, mindContainer))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// check if player got gibbed or ghosted or something - count as dead
|
||||||
|
if (mind.OwnedEntity != null &&
|
||||||
|
// if the player somehow isn't a mob anymore that also counts as dead
|
||||||
|
// have to be alive, not crit or dead
|
||||||
|
mobState.CurrentState is MobState.Alive)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
allAlive = false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
allAlive = false;
|
// If all nuke ops were alive at the end of the round,
|
||||||
break;
|
// the nuke ops win. This is to prevent people from
|
||||||
}
|
// running away the moment nuke ops appear.
|
||||||
|
if (allAlive)
|
||||||
|
{
|
||||||
|
SetWinType(uid, WinType.OpsMinor, component);
|
||||||
|
component.WinConditions.Add(WinCondition.AllNukiesAlive);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// If all nuke ops were alive at the end of the round,
|
component.WinConditions.Add(WinCondition.SomeNukiesAlive);
|
||||||
// the nuke ops win. This is to prevent people from
|
|
||||||
// running away the moment nuke ops appear.
|
|
||||||
if (allAlive)
|
|
||||||
{
|
|
||||||
SetWinType(uid, WinType.OpsMinor, component);
|
|
||||||
component.WinConditions.Add(WinCondition.AllNukiesAlive);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
12
Content.Shared/_White/Nuke/NuclearBombSyndicateComponent.cs
Normal file
12
Content.Shared/_White/Nuke/NuclearBombSyndicateComponent.cs
Normal 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
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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 = кег
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user