From cbbbe0cb2bfde65d47b779050dfbd42e86d2f3b4 Mon Sep 17 00:00:00 2001 From: deltanedas <@deltanedas:kde.org> Date: Tue, 31 Dec 2024 09:05:04 +0000 Subject: [PATCH 1/8] move mining_voucher.yml into Salvage folder --- .../Entities/Objects/Specific/{ => Salvage}/mining_voucher.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Resources/Prototypes/DeltaV/Entities/Objects/Specific/{ => Salvage}/mining_voucher.yml (100%) diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/mining_voucher.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/mining_voucher.yml similarity index 100% rename from Resources/Prototypes/DeltaV/Entities/Objects/Specific/mining_voucher.yml rename to Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/mining_voucher.yml From 0935a0c50cab5d4de2c8b40cdd505d8203468f4b Mon Sep 17 00:00:00 2001 From: deltanedas <@deltanedas:kde.org> Date: Tue, 31 Dec 2024 13:05:42 +0000 Subject: [PATCH 2/8] add ShelterCapsuleComponent and system --- .../Salvage/Systems/ShelterCapsuleSystem.cs | 5 ++ .../Salvage/Systems/ShelterCapsuleSystem.cs | 57 +++++++++++++++++ .../Components/ShelterCapsuleComponent.cs | 33 ++++++++++ .../Systems/SharedShelterCapsuleSystem.cs | 64 +++++++++++++++++++ .../en-US/deltav/salvage/shelter-capsule.ftl | 3 + 5 files changed, 162 insertions(+) create mode 100644 Content.Client/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs create mode 100644 Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs create mode 100644 Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs create mode 100644 Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs create mode 100644 Resources/Locale/en-US/deltav/salvage/shelter-capsule.ftl diff --git a/Content.Client/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs b/Content.Client/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs new file mode 100644 index 00000000000..9b1827de3fd --- /dev/null +++ b/Content.Client/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared.DeltaV.Salvage.Systems; + +namespace Content.Client.DeltaV.Salvage.Systems; + +public sealed class ShelterCapsuleSystem : SharedShelterCapsuleSystem; diff --git a/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs b/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs new file mode 100644 index 00000000000..155dda2b452 --- /dev/null +++ b/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs @@ -0,0 +1,57 @@ +using Content.Server.Procedural; +using Content.Shared.DeltaV.Salvage.Components; +using Content.Shared.DeltaV.Salvage.Systems; +using Content.Shared.Maps; +using Content.Shared.Physics; +using Robust.Shared.Map.Components; +using Robust.Shared.Maths; +using Robust.Shared.Prototypes; +using System.Numerics; + +namespace Content.Server.DeltaV.Salvage.Systems; + +public sealed class ShelterCapsuleSystem : SharedShelterCapsuleSystem +{ + [Dependency] private readonly DungeonSystem _dungeon = default!; + [Dependency] private readonly EntityLookupSystem _lookup = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly SharedMapSystem _map = default!; + [Dependency] private readonly TurfSystem _turf = default!; + + private HashSet> _entities = new(); + + protected override LocId? TrySpawnRoom(Entity ent) + { + var xform = Transform(ent); + if (xform.GridUid is not {} gridUid || !TryComp(gridUid, out var grid)) + return "shelter-capsule-error-space"; + + var gridXform = Transform(gridUid); + var center = _map.LocalToTile(gridUid, grid, xform.Coordinates); + var room = _proto.Index(ent.Comp.Room); + var origin = center - room.Size / 2; + + // check that every tile it needs isn't blocked + var mask = CollisionGroup.MobMask; + for (int y = 0; y < room.Size.Y; y++) + { + for (int x = 0; x < room.Size.X; x++) + { + var pos = origin + new Vector2i(x, y); + var tile = _map.GetTileRef((gridUid, grid), pos); + if (tile.Tile.IsEmpty || _turf.IsTileBlocked(gridUid, pos, mask, grid, gridXform)) + return "shelter-capsule-error-obstructed"; + } + } + + _dungeon.SpawnRoom(gridUid, + grid, + origin, + room, + new Random(), + null); + + QueueDel(ent); + return null; + } +} diff --git a/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs b/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs new file mode 100644 index 00000000000..6b754c9e4d4 --- /dev/null +++ b/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs @@ -0,0 +1,33 @@ +using Content.Shared.DeltaV.Salvage.Systems; +using Content.Shared.Procedural; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Shared.DeltaV.Salvage.Components; + +/// +/// Spawns a dungeon room after a delay when used and deletes itself. +/// +[RegisterComponent, NetworkedComponent, Access(typeof(SharedShelterCapsuleSystem))] +[AutoGenerateComponentPause] +public sealed partial class ShelterCapsuleComponent : Component +{ + /// + /// The room to spawn. + /// + [DataField(required: true)] + public ProtoId Room; + + /// + /// How long to wait between using and spawning the room. + /// + [DataField] + public TimeSpan Delay = TimeSpan.FromSeconds(5); + + /// + /// When to next spawn the room, also used to ignore activating multiple times. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField] + public TimeSpan? NextSpawn; +} diff --git a/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs b/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs new file mode 100644 index 00000000000..dd36f0e57d5 --- /dev/null +++ b/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs @@ -0,0 +1,64 @@ +using Content.Shared.DeltaV.Salvage.Components; +using Content.Shared.Interaction.Events; +using Content.Shared.Popups; +using Robust.Shared.Timing; + +namespace Content.Shared.DeltaV.Salvage.Systems; + +/// +/// Handles interaction for shelter capsules. +/// Room spawning is done serverside. +/// +public abstract class SharedShelterCapsuleSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnUse); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var now = _timing.CurTime; + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var comp)) + { + if (comp.NextSpawn is not {} nextSpawn || now < nextSpawn) + continue; + + comp.NextSpawn = null; + if (TrySpawnRoom((uid, comp)) is {} id) + { + var msg = Loc.GetString(id, ("capsule", uid)); + _popup.PopupEntity(msg, uid, PopupType.LargeCaution); + } + } + } + + /// + /// Spawn the room, returning a locale string for an error. It gets "capsule" passed. + /// + protected virtual LocId? TrySpawnRoom(Entity ent) + { + return null; + } + + private void OnUse(Entity ent, ref UseInHandEvent args) + { + if (args.Handled || ent.Comp.NextSpawn != null) + return; + + args.Handled = true; + + var msg = Loc.GetString("shelter-capsule-warning", ("capsule", ent)); + _popup.PopupPredicted(msg, ent, args.User, PopupType.LargeCaution); + + ent.Comp.NextSpawn = _timing.CurTime + ent.Comp.Delay; + } +} diff --git a/Resources/Locale/en-US/deltav/salvage/shelter-capsule.ftl b/Resources/Locale/en-US/deltav/salvage/shelter-capsule.ftl new file mode 100644 index 00000000000..6fd15e166a7 --- /dev/null +++ b/Resources/Locale/en-US/deltav/salvage/shelter-capsule.ftl @@ -0,0 +1,3 @@ +shelter-capsule-warning = {THE($capsule)} begins to shake. Stand back! +shelter-capsule-error-space = {THE($capsule)} needs ground to deploy on! +shelter-capsule-error-obstructed = {THE($capsule)} is obstructed, clear the area first! From cd9b9aa1c7812f499aeec865a31b859de3fff687 Mon Sep 17 00:00:00 2001 From: deltanedas <@deltanedas:kde.org> Date: Tue, 31 Dec 2024 13:06:02 +0000 Subject: [PATCH 3/8] add shelter capsules --- .../Maps/Nonstations/DeltaV/shelters.yml | 2099 +++++++++++++++++ .../DeltaV/Catalog/Fills/Crates/salvage.yml | 23 + .../Specific/Salvage/shelter_capsules.yml | 63 + .../Salvage/shelter_capsule.rsi/capsule.png | Bin 0 -> 360 bytes .../Salvage/shelter_capsule.rsi/meta.json | 14 + 5 files changed, 2199 insertions(+) create mode 100644 Resources/Maps/Nonstations/DeltaV/shelters.yml create mode 100644 Resources/Prototypes/DeltaV/Catalog/Fills/Crates/salvage.yml create mode 100644 Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml create mode 100644 Resources/Textures/DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi/capsule.png create mode 100644 Resources/Textures/DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi/meta.json diff --git a/Resources/Maps/Nonstations/DeltaV/shelters.yml b/Resources/Maps/Nonstations/DeltaV/shelters.yml new file mode 100644 index 00000000000..357d1b1b9a7 --- /dev/null +++ b/Resources/Maps/Nonstations/DeltaV/shelters.yml @@ -0,0 +1,2099 @@ +meta: + format: 6 + postmapinit: false +tilemap: + 0: Space + 71: FloorMining + 72: FloorMiningDark + 73: FloorMiningLight + 84: FloorReinforced + 91: FloorShuttleOrange + 92: FloorShuttlePurple + 131: Plating +entities: +- proto: "" + entities: + - uid: 1 + components: + - type: MetaData + - type: Transform + - type: Map + mapPaused: True + - type: MapGrid + chunks: + 0,0: + ind: 0,0 + tiles: RwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAVAAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAgwAAAAAAWwAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAVAAAAAAARwAAAAAARwAAAAAARwAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAWwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAWwAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAgwAAAAAASAAAAAAASAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAgwAAAAAASAAAAAAASAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAWwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 + -1,0: + ind: -1,0 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAgwAAAAAARwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAgwAAAAAARwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAWwAAAAAAgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 + -1,-1: + ind: -1,-1 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAWwAAAAAAgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAgwAAAAAARwAAAAAA + version: 6 + 0,-1: + ind: 0,-1 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAARwAAAAAAgwAAAAAAWwAAAAAAXAAAAAAAWwAAAAAAgwAAAAAAgwAAAAAARwAAAAAAgwAAAAAAgwAAAAAAWwAAAAAAXAAAAAAAWwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAgwAAAAAARwAAAAAARwAAAAAARwAAAAAA + version: 6 + 1,0: + ind: 1,0 + tiles: RwAAAAAARwAAAAAARwAAAAAAgwAAAAAASQAAAAAAgwAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAASQAAAAAASQAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAASQAAAAAAgwAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAASAAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAWwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 + 1,-1: + ind: 1,-1 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAARwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAgwAAAAAAWwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwAAAAAARwAAAAAARwAAAAAAgwAAAAAASQAAAAAASQAAAAAAgwAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 + - type: Broadphase + - type: Physics + bodyStatus: InAir + angularDamping: 0.05 + linearDamping: 0.05 + fixedRotation: False + bodyType: Dynamic + - type: Fixtures + fixtures: {} + - type: OccluderTree + - type: SpreaderGrid + - type: Shuttle + - type: Gravity + gravityShakeSound: !type:SoundPathSpecifier + path: /Audio/Effects/alert.ogg + - type: GridPathfinding + - type: DecalGrid + chunkCollection: + version: 2 + nodes: [] + - type: GridAtmosphere + version: 2 + data: + tiles: + 0,0: + 0: 64699 + 0,-1: + 0: 48624 + -1,0: + 0: 59050 + 0,1: + 0: 136 + 1,1: + 0: 241 + 1,0: + 0: 61166 + 1,-1: + 0: 59888 + 2,0: + 0: 48059 + 2,1: + 0: 35068 + 2,-1: + 0: 48368 + 3,0: + 0: 61423 + 3,1: + 0: 61422 + 2,2: + 0: 136 + 3,2: + 0: 241 + 3,-1: + 0: 57840 + 4,0: + 0: 63351 + 4,1: + 0: 65535 + 4,2: + 0: 240 + -1,-1: + 0: 42720 + 4,-1: + 0: 29680 + 5,0: + 0: 47545 + 5,1: + 0: 48059 + 5,2: + 0: 252 + 5,-1: + 0: 48368 + uniqueMixes: + - volume: 2500 + temperature: 293.15 + moles: + - 21.824879 + - 82.10312 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + chunkSize: 4 + - type: GasTileOverlay + - type: RadiationGridResistance +- proto: AirlockMining + entities: + - uid: 2 + components: + - type: Transform + pos: 17.5,-1.5 + parent: 1 + - uid: 4 + components: + - type: Transform + pos: 20.5,0.5 + parent: 1 + - uid: 5 + components: + - type: Transform + pos: 20.5,2.5 + parent: 1 +- proto: AirlockMiningGlass + entities: + - uid: 6 + components: + - type: Transform + pos: 7.5,-1.5 + parent: 1 + - uid: 7 + components: + - type: Transform + pos: 0.5,-1.5 + parent: 1 +- proto: AirlockMiningLocked + entities: + - uid: 8 + components: + - type: Transform + pos: 12.5,6.5 + parent: 1 +- proto: APCBasic + entities: + - uid: 9 + components: + - type: Transform + pos: 1.5,2.5 + parent: 1 + - uid: 10 + components: + - type: Transform + pos: 7.5,4.5 + parent: 1 + - uid: 11 + components: + - type: Transform + pos: 16.5,8.5 + parent: 1 +- proto: AtmosDeviceFanDirectional + entities: + - uid: 12 + components: + - type: Transform + pos: 0.5,-1.5 + parent: 1 + - uid: 13 + components: + - type: Transform + pos: 7.5,-1.5 + parent: 1 +- proto: Bed + entities: + - uid: 14 + components: + - type: Transform + pos: 1.5,0.5 + parent: 1 + - uid: 15 + components: + - type: Transform + pos: 7.5,2.5 + parent: 1 +- proto: BedsheetBlack + entities: + - uid: 16 + components: + - type: Transform + pos: 1.5,0.5 + parent: 1 + - uid: 17 + components: + - type: Transform + pos: 7.5,2.5 + parent: 1 +- proto: BookBartendersManual + entities: + - uid: 18 + components: + - type: Transform + pos: 16.386806,7.732797 + parent: 1 +- proto: BoozeDispenser + entities: + - uid: 19 + components: + - type: Transform + pos: 14.5,7.5 + parent: 1 +- proto: BoxFolderClipboard + entities: + - uid: 20 + components: + - type: Transform + pos: 17.293056,7.717172 + parent: 1 +- proto: CableApcExtension + entities: + - uid: 21 + components: + - type: Transform + pos: 1.5,2.5 + parent: 1 + - uid: 22 + components: + - type: Transform + pos: 1.5,1.5 + parent: 1 + - uid: 23 + components: + - type: Transform + pos: 1.5,0.5 + parent: 1 + - uid: 24 + components: + - type: Transform + pos: 0.5,0.5 + parent: 1 + - uid: 25 + components: + - type: Transform + pos: 7.5,4.5 + parent: 1 + - uid: 26 + components: + - type: Transform + pos: 7.5,3.5 + parent: 1 + - uid: 27 + components: + - type: Transform + pos: 7.5,2.5 + parent: 1 + - uid: 28 + components: + - type: Transform + pos: 7.5,1.5 + parent: 1 + - uid: 29 + components: + - type: Transform + pos: 7.5,0.5 + parent: 1 + - uid: 30 + components: + - type: Transform + pos: 20.5,-0.5 + parent: 1 + - uid: 31 + components: + - type: Transform + pos: 20.5,0.5 + parent: 1 + - uid: 32 + components: + - type: Transform + pos: 20.5,2.5 + parent: 1 + - uid: 33 + components: + - type: Transform + pos: 20.5,1.5 + parent: 1 + - uid: 34 + components: + - type: Transform + pos: 14.5,0.5 + parent: 1 + - uid: 35 + components: + - type: Transform + pos: 15.5,0.5 + parent: 1 + - uid: 36 + components: + - type: Transform + pos: 16.5,0.5 + parent: 1 + - uid: 37 + components: + - type: Transform + pos: 17.5,0.5 + parent: 1 + - uid: 38 + components: + - type: Transform + pos: 17.5,1.5 + parent: 1 + - uid: 39 + components: + - type: Transform + pos: 17.5,2.5 + parent: 1 + - uid: 40 + components: + - type: Transform + pos: 17.5,3.5 + parent: 1 + - uid: 41 + components: + - type: Transform + pos: 17.5,4.5 + parent: 1 + - uid: 42 + components: + - type: Transform + pos: 18.5,6.5 + parent: 1 + - uid: 43 + components: + - type: Transform + pos: 19.5,6.5 + parent: 1 + - uid: 44 + components: + - type: Transform + pos: 20.5,4.5 + parent: 1 + - uid: 45 + components: + - type: Transform + pos: 20.5,3.5 + parent: 1 + - uid: 46 + components: + - type: Transform + pos: 14.5,1.5 + parent: 1 + - uid: 47 + components: + - type: Transform + pos: 14.5,3.5 + parent: 1 + - uid: 48 + components: + - type: Transform + pos: 14.5,4.5 + parent: 1 + - uid: 49 + components: + - type: Transform + pos: 14.5,5.5 + parent: 1 + - uid: 50 + components: + - type: Transform + pos: 14.5,6.5 + parent: 1 + - uid: 51 + components: + - type: Transform + pos: 14.5,2.5 + parent: 1 + - uid: 52 + components: + - type: Transform + pos: 15.5,6.5 + parent: 1 + - uid: 53 + components: + - type: Transform + pos: 16.5,6.5 + parent: 1 + - uid: 54 + components: + - type: Transform + pos: 17.5,6.5 + parent: 1 + - uid: 55 + components: + - type: Transform + pos: 17.5,5.5 + parent: 1 + - uid: 56 + components: + - type: Transform + pos: 20.5,6.5 + parent: 1 + - uid: 57 + components: + - type: Transform + pos: 16.5,7.5 + parent: 1 + - uid: 58 + components: + - type: Transform + pos: 16.5,8.5 + parent: 1 + - uid: 59 + components: + - type: Transform + pos: 20.5,5.5 + parent: 1 +- proto: CableHV + entities: + - uid: 60 + components: + - type: Transform + pos: -0.5,2.5 + parent: 1 + - uid: 61 + components: + - type: Transform + pos: -0.5,1.5 + parent: 1 + - uid: 62 + components: + - type: Transform + pos: -1.5,1.5 + parent: 1 + - uid: 63 + components: + - type: Transform + pos: 4.5,3.5 + parent: 1 + - uid: 64 + components: + - type: Transform + pos: 5.5,3.5 + parent: 1 + - uid: 65 + components: + - type: Transform + pos: 5.5,4.5 + parent: 1 + - uid: 66 + components: + - type: Transform + pos: 15.5,8.5 + parent: 1 + - uid: 67 + components: + - type: Transform + pos: 14.5,8.5 + parent: 1 + - uid: 68 + components: + - type: Transform + pos: 18.5,8.5 + parent: 1 + - uid: 69 + components: + - type: Transform + pos: 19.5,8.5 + parent: 1 + - uid: 70 + components: + - type: Transform + pos: 20.5,8.5 + parent: 1 + - uid: 71 + components: + - type: Transform + pos: 16.5,8.5 + parent: 1 + - uid: 72 + components: + - type: Transform + pos: 17.5,8.5 + parent: 1 +- proto: CableMV + entities: + - uid: 73 + components: + - type: Transform + pos: -0.5,2.5 + parent: 1 + - uid: 74 + components: + - type: Transform + pos: 1.5,2.5 + parent: 1 + - uid: 75 + components: + - type: Transform + pos: 0.5,2.5 + parent: 1 + - uid: 76 + components: + - type: Transform + pos: -0.5,2.5 + parent: 1 + - uid: 77 + components: + - type: Transform + pos: 5.5,4.5 + parent: 1 + - uid: 78 + components: + - type: Transform + pos: 6.5,4.5 + parent: 1 + - uid: 79 + components: + - type: Transform + pos: 7.5,4.5 + parent: 1 + - uid: 80 + components: + - type: Transform + pos: 15.5,8.5 + parent: 1 + - uid: 81 + components: + - type: Transform + pos: 14.5,8.5 + parent: 1 +- proto: CigarCase + entities: + - uid: 82 + components: + - type: Transform + pos: 18.183681,7.685922 + parent: 1 +- proto: CigarGoldCase + entities: + - uid: 83 + components: + - type: Transform + pos: 18.402431,7.685922 + parent: 1 + - uid: 84 + components: + - type: Transform + pos: 18.683681,7.670297 + parent: 1 +- proto: ComfyChair + entities: + - uid: 85 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-0.5 + parent: 1 + - uid: 86 + components: + - type: Transform + pos: 9.5,2.5 + parent: 1 + - uid: 87 + components: + - type: Transform + pos: 13.5,2.5 + parent: 1 + - uid: 88 + components: + - type: Transform + pos: 15.5,2.5 + parent: 1 + - uid: 89 + components: + - type: Transform + pos: 16.5,2.5 + parent: 1 + - uid: 90 + components: + - type: Transform + pos: 18.5,2.5 + parent: 1 + - uid: 91 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 18.5,0.5 + parent: 1 + - uid: 92 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 16.5,0.5 + parent: 1 + - uid: 93 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 15.5,0.5 + parent: 1 + - uid: 94 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 13.5,0.5 + parent: 1 +- proto: ComputerRadar + entities: + - uid: 95 + components: + - type: Transform + pos: 1.5,1.5 + parent: 1 + - uid: 96 + components: + - type: Transform + pos: 7.5,3.5 + parent: 1 +- proto: CrateSurvivalPodStorage + entities: + - uid: 97 + components: + - type: Transform + pos: 0.5,1.5 + parent: 1 + - uid: 98 + components: + - type: Transform + pos: 6.5,3.5 + parent: 1 +- proto: CurtainsBlack + entities: + - uid: 99 + components: + - type: Transform + pos: 8.5,3.5 + parent: 1 + - uid: 100 + components: + - type: Transform + pos: 21.5,-0.5 + parent: 1 +- proto: DisposalBend + entities: + - uid: 101 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,3.5 + parent: 1 +- proto: DisposalJunction + entities: + - uid: 102 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,7.5 + parent: 1 +- proto: DisposalPipe + entities: + - uid: 103 + components: + - type: Transform + pos: 22.5,4.5 + parent: 1 + - uid: 104 + components: + - type: Transform + pos: 22.5,5.5 + parent: 1 + - uid: 105 + components: + - type: Transform + pos: 22.5,6.5 + parent: 1 +- proto: DisposalTrunk + entities: + - uid: 106 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,7.5 + parent: 1 + - uid: 107 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,3.5 + parent: 1 +- proto: DisposalUnit + entities: + - uid: 108 + components: + - type: Transform + pos: 21.5,7.5 + parent: 1 + - uid: 109 + components: + - type: Transform + pos: 21.5,3.5 + parent: 1 +- proto: DrinkGlass + entities: + - uid: 110 + components: + - type: Transform + pos: 9.694993,0.7559149 + parent: 1 + - uid: 111 + components: + - type: Transform + pos: 9.679368,1.4746649 + parent: 1 +- proto: DrinkShaker + entities: + - uid: 112 + components: + - type: Transform + pos: 16.683681,7.529672 + parent: 1 +- proto: DrinkWineBottleFull + entities: + - uid: 113 + components: + - type: Transform + pos: 9.273118,1.6934149 + parent: 1 +- proto: FloorDrain + entities: + - uid: 114 + components: + - type: Transform + pos: 21.5,-0.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 115 + components: + - type: Transform + pos: 8.5,3.5 + parent: 1 + - type: Fixtures + fixtures: {} +- proto: FoodShakerPepper + entities: + - uid: 116 + components: + - type: Transform + pos: 18.371181,1.7952971 + parent: 1 + - uid: 117 + components: + - type: Transform + pos: 16.386806,1.7640471 + parent: 1 + - uid: 118 + components: + - type: Transform + pos: 15.355557,1.7640471 + parent: 1 + - uid: 119 + components: + - type: Transform + pos: 13.3460045,1.8421721 + parent: 1 +- proto: FoodShakerSalt + entities: + - uid: 120 + components: + - type: Transform + pos: 13.668057,1.5609221 + parent: 1 + - uid: 121 + components: + - type: Transform + pos: 15.761807,1.5609221 + parent: 1 + - uid: 122 + components: + - type: Transform + pos: 16.636806,1.5452971 + parent: 1 + - uid: 123 + components: + - type: Transform + pos: 18.714931,1.5609221 + parent: 1 +- proto: GasPipeBend + entities: + - uid: 124 + components: + - type: Transform + pos: 0.5,1.5 + parent: 1 + - uid: 125 + components: + - type: Transform + pos: 6.5,3.5 + parent: 1 +- proto: GasPort + entities: + - uid: 126 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -0.5,1.5 + parent: 1 + - uid: 127 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 5.5,3.5 + parent: 1 +- proto: GasVentPump + entities: + - uid: 128 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 0.5,0.5 + parent: 1 + - uid: 129 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 6.5,2.5 + parent: 1 +- proto: GeneratorWallmountAPU + entities: + - uid: 130 + components: + - type: Transform + pos: 4.5,3.5 + parent: 1 + - uid: 131 + components: + - type: Transform + pos: 18.5,8.5 + parent: 1 +- proto: GeneratorWallmountBasic + entities: + - uid: 132 + components: + - type: Transform + pos: -1.5,1.5 + parent: 1 + - uid: 133 + components: + - type: Transform + pos: 20.5,8.5 + parent: 1 +- proto: GlassBoxFrame + entities: + - uid: 134 + components: + - type: Transform + pos: 7.5,0.5 + parent: 1 +- proto: Grille + entities: + - uid: 135 + components: + - type: Transform + pos: 12.5,0.5 + parent: 1 + - uid: 136 + components: + - type: Transform + pos: 12.5,2.5 + parent: 1 + - uid: 137 + components: + - type: Transform + pos: 16.5,-1.5 + parent: 1 +- proto: KitchenMicrowave + entities: + - uid: 138 + components: + - type: Transform + pos: 5.5,0.5 + parent: 1 +- proto: Lighter + entities: + - uid: 139 + components: + - type: Transform + pos: 13.358808,5.675431 + parent: 1 + - uid: 140 + components: + - type: Transform + pos: 13.452558,5.472306 + parent: 1 +- proto: LockerBoozeFilled + entities: + - uid: 141 + components: + - type: Transform + pos: 20.5,7.5 + parent: 1 + - type: Lock + locked: False +- proto: Matchbox + entities: + - uid: 142 + components: + - type: Transform + pos: 16.405682,5.675431 + parent: 1 +- proto: MedkitBruteFilled + entities: + - uid: 143 + components: + - type: Transform + pos: 5.525051,1.2559149 + parent: 1 +- proto: MedkitFilled + entities: + - uid: 144 + components: + - type: Transform + pos: 5.525051,1.6309149 + parent: 1 +- proto: Mirror + entities: + - uid: 145 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 19.5,1.5 + parent: 1 + - uid: 146 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,1.5 + parent: 1 +- proto: OxygenCanister + entities: + - uid: 147 + components: + - type: Transform + pos: -0.5,1.5 + parent: 1 + - uid: 148 + components: + - type: Transform + pos: 5.5,3.5 + parent: 1 +- proto: PlushieCarp + entities: + - uid: 149 + components: + - type: Transform + pos: 9.502847,2.349665 + parent: 1 +- proto: PottedPlantRandom + entities: + - uid: 150 + components: + - type: Transform + pos: 7.5,1.5 + parent: 1 +- proto: Poweredlight + entities: + - uid: 151 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 6.5,-0.5 + parent: 1 + - uid: 152 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 9.5,1.5 + parent: 1 + - uid: 153 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 14.5,-0.5 + parent: 1 + - uid: 154 + components: + - type: Transform + pos: 14.5,7.5 + parent: 1 + - uid: 155 + components: + - type: Transform + pos: 20.5,7.5 + parent: 1 +- proto: PoweredSmallLight + entities: + - uid: 156 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 1.5,0.5 + parent: 1 + - uid: 157 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-0.5 + parent: 1 + - uid: 158 + components: + - type: Transform + pos: 21.5,1.5 + parent: 1 + - uid: 159 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 7.5,2.5 + parent: 1 +- proto: RagItem + entities: + - uid: 160 + components: + - type: Transform + pos: 16.402431,7.529672 + parent: 1 +- proto: RandomFoodMeal + entities: + - uid: 161 + components: + - type: Transform + pos: 9.5,0.5 + parent: 1 +- proto: RandomSoap + entities: + - uid: 162 + components: + - type: Transform + pos: 8.5,3.5 + parent: 1 + - uid: 163 + components: + - type: Transform + pos: 21.5,-0.5 + parent: 1 +- proto: SignBar + entities: + - uid: 164 + components: + - type: Transform + pos: 21.5,-1.5 + parent: 1 +- proto: SignNTMine + entities: + - uid: 165 + components: + - type: Transform + pos: 1.5,-1.5 + parent: 1 + - uid: 166 + components: + - type: Transform + pos: 9.5,-1.5 + parent: 1 +- proto: SignSurvival + entities: + - uid: 167 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,4.5 + parent: 1 + - uid: 168 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 5.5,4.5 + parent: 1 + - uid: 169 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 10.5,3.5 + parent: 1 + - uid: 170 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,1.5 + parent: 1 + - uid: 171 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 10.5,-0.5 + parent: 1 + - uid: 172 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 10.5,1.5 + parent: 1 + - uid: 173 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 7.5,4.5 + parent: 1 + - uid: 174 + components: + - type: Transform + pos: 5.5,-1.5 + parent: 1 + - uid: 175 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.5,0.5 + parent: 1 + - uid: 176 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 2.5,0.5 + parent: 1 + - uid: 177 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 0.5,2.5 + parent: 1 + - uid: 178 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,3.5 + parent: 1 + - uid: 179 + components: + - type: Transform + pos: -0.5,-1.5 + parent: 1 + - uid: 180 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,-0.5 + parent: 1 + - uid: 181 + components: + - type: Transform + pos: 15.5,-1.5 + parent: 1 + - uid: 182 + components: + - type: Transform + pos: 13.5,-1.5 + parent: 1 + - uid: 183 + components: + - type: Transform + pos: 19.5,-1.5 + parent: 1 + - uid: 184 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,-0.5 + parent: 1 + - uid: 185 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,1.5 + parent: 1 + - uid: 186 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,3.5 + parent: 1 + - uid: 187 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,5.5 + parent: 1 + - uid: 188 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,7.5 + parent: 1 + - uid: 189 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 13.5,8.5 + parent: 1 + - uid: 190 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 15.5,8.5 + parent: 1 + - uid: 191 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,8.5 + parent: 1 + - uid: 192 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 19.5,8.5 + parent: 1 + - uid: 193 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 21.5,8.5 + parent: 1 + - uid: 194 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,3.5 + parent: 1 + - uid: 195 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,1.5 + parent: 1 + - uid: 196 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-0.5 + parent: 1 + - uid: 197 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,5.5 + parent: 1 + - uid: 198 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,7.5 + parent: 1 +- proto: Sink + entities: + - uid: 199 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 20.5,1.5 + parent: 1 + - uid: 200 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,1.5 + parent: 1 +- proto: SinkWide + entities: + - uid: 201 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 5.5,-0.5 + parent: 1 +- proto: SodaDispenser + entities: + - uid: 202 + components: + - type: Transform + pos: 13.5,7.5 + parent: 1 +- proto: StasisBed + entities: + - uid: 203 + components: + - type: Transform + pos: -0.5,0.5 + parent: 1 + - uid: 204 + components: + - type: Transform + pos: 5.5,2.5 + parent: 1 +- proto: StoolBar + entities: + - uid: 205 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 19.5,4.5 + parent: 1 + - uid: 206 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 18.5,4.5 + parent: 1 + - uid: 207 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,4.5 + parent: 1 + - uid: 208 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 15.5,4.5 + parent: 1 + - uid: 209 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 16.5,4.5 + parent: 1 + - uid: 210 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 14.5,4.5 + parent: 1 + - uid: 211 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 13.5,4.5 + parent: 1 +- proto: SubstationWallBasic + entities: + - uid: 212 + components: + - type: Transform + pos: -0.5,2.5 + parent: 1 + - uid: 213 + components: + - type: Transform + pos: 5.5,4.5 + parent: 1 + - uid: 214 + components: + - type: Transform + pos: 14.5,8.5 + parent: 1 +- proto: Table + entities: + - uid: 215 + components: + - type: Transform + pos: 5.5,1.5 + parent: 1 + - uid: 216 + components: + - type: Transform + pos: -0.5,-0.5 + parent: 1 +- proto: TableFancyBlack + entities: + - uid: 217 + components: + - type: Transform + pos: 9.5,0.5 + parent: 1 + - uid: 218 + components: + - type: Transform + pos: 9.5,1.5 + parent: 1 + - uid: 219 + components: + - type: Transform + pos: 5.5,0.5 + parent: 1 + - uid: 220 + components: + - type: Transform + pos: 13.5,7.5 + parent: 1 + - uid: 221 + components: + - type: Transform + pos: 14.5,7.5 + parent: 1 + - uid: 222 + components: + - type: Transform + pos: 17.5,7.5 + parent: 1 + - uid: 223 + components: + - type: Transform + pos: 18.5,7.5 + parent: 1 + - uid: 224 + components: + - type: Transform + pos: 16.5,7.5 + parent: 1 +- proto: TableFancyRed + entities: + - uid: 225 + components: + - type: Transform + pos: 13.5,1.5 + parent: 1 + - uid: 226 + components: + - type: Transform + pos: 15.5,1.5 + parent: 1 + - uid: 227 + components: + - type: Transform + pos: 16.5,1.5 + parent: 1 + - uid: 228 + components: + - type: Transform + pos: 18.5,1.5 + parent: 1 +- proto: TableReinforced + entities: + - uid: 229 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 13.5,5.5 + parent: 1 + - uid: 230 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 14.5,5.5 + parent: 1 + - uid: 231 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 15.5,5.5 + parent: 1 + - uid: 232 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 16.5,5.5 + parent: 1 + - uid: 233 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,5.5 + parent: 1 + - uid: 234 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 18.5,5.5 + parent: 1 + - uid: 235 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 19.5,5.5 + parent: 1 + - uid: 236 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 21.5,5.5 + parent: 1 +- proto: ToiletEmpty + entities: + - uid: 237 + components: + - type: Transform + pos: 9.5,3.5 + parent: 1 + - uid: 238 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 20.5,-0.5 + parent: 1 +- proto: ToyFigurineBartender + entities: + - uid: 239 + components: + - type: Transform + pos: 17.418056,7.560922 + parent: 1 +- proto: VendingMachineBooze + entities: + - uid: 240 + components: + - type: Transform + pos: 15.5,7.5 + parent: 1 +- proto: VendingMachineCigs + entities: + - uid: 241 + components: + - type: Transform + pos: 21.5,4.5 + parent: 1 +- proto: VendingMachineSnackBlue + entities: + - uid: 242 + components: + - type: Transform + pos: 13.5,-0.5 + parent: 1 +- proto: WallMining + entities: + - uid: 243 + components: + - type: Transform + pos: 9.5,-1.5 + parent: 1 + - uid: 244 + components: + - type: Transform + pos: -0.5,-1.5 + parent: 1 + - uid: 245 + components: + - type: Transform + pos: -1.5,-0.5 + parent: 1 + - uid: 246 + components: + - type: Transform + pos: -1.5,0.5 + parent: 1 + - uid: 247 + components: + - type: Transform + pos: -1.5,1.5 + parent: 1 + - uid: 248 + components: + - type: Transform + pos: -0.5,2.5 + parent: 1 + - uid: 249 + components: + - type: Transform + pos: 0.5,2.5 + parent: 1 + - uid: 250 + components: + - type: Transform + pos: 1.5,2.5 + parent: 1 + - uid: 251 + components: + - type: Transform + pos: 2.5,1.5 + parent: 1 + - uid: 252 + components: + - type: Transform + pos: 2.5,0.5 + parent: 1 + - uid: 253 + components: + - type: Transform + pos: 2.5,-0.5 + parent: 1 + - uid: 254 + components: + - type: Transform + pos: 1.5,-1.5 + parent: 1 + - uid: 255 + components: + - type: Transform + pos: 10.5,1.5 + parent: 1 + - uid: 256 + components: + - type: Transform + pos: 10.5,2.5 + parent: 1 + - uid: 257 + components: + - type: Transform + pos: 4.5,-0.5 + parent: 1 + - uid: 258 + components: + - type: Transform + pos: 4.5,3.5 + parent: 1 + - uid: 259 + components: + - type: Transform + pos: 4.5,2.5 + parent: 1 + - uid: 260 + components: + - type: Transform + pos: 10.5,0.5 + parent: 1 + - uid: 261 + components: + - type: Transform + pos: 4.5,1.5 + parent: 1 + - uid: 262 + components: + - type: Transform + pos: 5.5,-1.5 + parent: 1 + - uid: 263 + components: + - type: Transform + pos: 5.5,4.5 + parent: 1 + - uid: 264 + components: + - type: Transform + pos: 6.5,4.5 + parent: 1 + - uid: 265 + components: + - type: Transform + pos: 10.5,-0.5 + parent: 1 + - uid: 266 + components: + - type: Transform + pos: 4.5,0.5 + parent: 1 + - uid: 267 + components: + - type: Transform + pos: 6.5,-1.5 + parent: 1 + - uid: 268 + components: + - type: Transform + pos: 8.5,-1.5 + parent: 1 + - uid: 269 + components: + - type: Transform + pos: 7.5,4.5 + parent: 1 + - uid: 270 + components: + - type: Transform + pos: 9.5,4.5 + parent: 1 + - uid: 271 + components: + - type: Transform + pos: 8.5,4.5 + parent: 1 + - uid: 272 + components: + - type: Transform + pos: 10.5,3.5 + parent: 1 + - uid: 273 + components: + - type: Transform + pos: 12.5,7.5 + parent: 1 + - uid: 274 + components: + - type: Transform + pos: 12.5,5.5 + parent: 1 + - uid: 275 + components: + - type: Transform + pos: 12.5,4.5 + parent: 1 + - uid: 276 + components: + - type: Transform + pos: 12.5,3.5 + parent: 1 + - uid: 277 + components: + - type: Transform + pos: 12.5,1.5 + parent: 1 + - uid: 278 + components: + - type: Transform + pos: 12.5,-0.5 + parent: 1 + - uid: 279 + components: + - type: Transform + pos: 13.5,-1.5 + parent: 1 + - uid: 280 + components: + - type: Transform + pos: 14.5,-1.5 + parent: 1 + - uid: 281 + components: + - type: Transform + pos: 15.5,-1.5 + parent: 1 + - uid: 282 + components: + - type: Transform + pos: 18.5,-1.5 + parent: 1 + - uid: 283 + components: + - type: Transform + pos: 19.5,-1.5 + parent: 1 + - uid: 284 + components: + - type: Transform + pos: 20.5,-1.5 + parent: 1 + - uid: 285 + components: + - type: Transform + pos: 21.5,-1.5 + parent: 1 + - uid: 286 + components: + - type: Transform + pos: 22.5,-0.5 + parent: 1 + - uid: 287 + components: + - type: Transform + pos: 22.5,0.5 + parent: 1 + - uid: 288 + components: + - type: Transform + pos: 22.5,1.5 + parent: 1 + - uid: 289 + components: + - type: Transform + pos: 22.5,2.5 + parent: 1 + - uid: 290 + components: + - type: Transform + pos: 22.5,3.5 + parent: 1 + - uid: 291 + components: + - type: Transform + pos: 22.5,4.5 + parent: 1 + - uid: 292 + components: + - type: Transform + pos: 22.5,5.5 + parent: 1 + - uid: 293 + components: + - type: Transform + pos: 22.5,6.5 + parent: 1 + - uid: 294 + components: + - type: Transform + pos: 22.5,7.5 + parent: 1 + - uid: 295 + components: + - type: Transform + pos: 21.5,8.5 + parent: 1 + - uid: 296 + components: + - type: Transform + pos: 20.5,8.5 + parent: 1 + - uid: 297 + components: + - type: Transform + pos: 19.5,8.5 + parent: 1 + - uid: 298 + components: + - type: Transform + pos: 18.5,8.5 + parent: 1 + - uid: 299 + components: + - type: Transform + pos: 16.5,8.5 + parent: 1 + - uid: 300 + components: + - type: Transform + pos: 17.5,8.5 + parent: 1 + - uid: 301 + components: + - type: Transform + pos: 15.5,8.5 + parent: 1 + - uid: 302 + components: + - type: Transform + pos: 14.5,8.5 + parent: 1 + - uid: 303 + components: + - type: Transform + pos: 13.5,8.5 + parent: 1 + - uid: 304 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 19.5,2.5 + parent: 1 + - uid: 305 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 19.5,1.5 + parent: 1 + - uid: 306 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 19.5,-0.5 + parent: 1 + - uid: 307 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 19.5,0.5 + parent: 1 + - uid: 308 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,0.5 + parent: 1 + - uid: 309 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,2.5 + parent: 1 +- proto: WallMiningDiagonal + entities: + - uid: 310 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 4.5,-1.5 + parent: 1 + - uid: 311 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 2.5,-1.5 + parent: 1 + - uid: 312 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -1.5,-1.5 + parent: 1 + - uid: 313 + components: + - type: Transform + pos: -1.5,2.5 + parent: 1 + - uid: 314 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,2.5 + parent: 1 + - uid: 315 + components: + - type: Transform + pos: 4.5,4.5 + parent: 1 + - uid: 316 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 10.5,-1.5 + parent: 1 + - uid: 317 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 10.5,4.5 + parent: 1 + - uid: 318 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,8.5 + parent: 1 + - uid: 319 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-1.5 + parent: 1 + - uid: 320 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 12.5,-1.5 + parent: 1 + - uid: 321 + components: + - type: Transform + pos: 12.5,8.5 + parent: 1 +- proto: Windoor + entities: + - uid: 322 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 8.5,2.5 + parent: 1 + - uid: 323 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 6.5,0.5 + parent: 1 + - uid: 324 + components: + - type: Transform + pos: 20.5,5.5 + parent: 1 +- proto: WindowTintedReinforcedDirectional + entities: + - uid: 325 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 8.5,2.5 + parent: 1 + - uid: 326 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,2.5 + parent: 1 + - uid: 327 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 7.5,0.5 + parent: 1 + - uid: 328 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 8.5,3.5 + parent: 1 + - uid: 329 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 5.5,0.5 + parent: 1 + - uid: 330 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 8.5,1.5 + parent: 1 + - uid: 331 + components: + - type: Transform + pos: 12.5,2.5 + parent: 1 + - uid: 332 + components: + - type: Transform + pos: 12.5,0.5 + parent: 1 + - uid: 333 + components: + - type: Transform + pos: 16.5,-1.5 + parent: 1 + - uid: 334 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 16.5,-1.5 + parent: 1 + - uid: 335 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,0.5 + parent: 1 + - uid: 336 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,2.5 + parent: 1 + - uid: 337 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 12.5,2.5 + parent: 1 + - uid: 338 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 12.5,0.5 + parent: 1 + - uid: 339 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 12.5,0.5 + parent: 1 + - uid: 340 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 12.5,2.5 + parent: 1 + - uid: 341 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 16.5,-1.5 + parent: 1 + - uid: 342 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 16.5,-1.5 + parent: 1 +- proto: WoodenKegBeer + entities: + - uid: 343 + components: + - type: Transform + pos: 19.5,7.5 + parent: 1 +... diff --git a/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/salvage.yml b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/salvage.yml new file mode 100644 index 00000000000..2254e44ba65 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/salvage.yml @@ -0,0 +1,23 @@ +# This is meant to be a smart fridge, but thats useless so +- type: entity + parent: CratePlastic + id: CrateSurvivalPodStorage + name: survival pod storage + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:NestedSelector + tableId: SurvivalPod + +- type: entityTable + id: SurvivalPod + table: !type:AllSelector + children: + - id: FoodDonkpocketWarm + amount: !type:ConstantNumberSelector + value: 5 + - !type:GroupSelector + children: + - id: d6Dice + - id: AcousticGuitarInstrument diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml new file mode 100644 index 00000000000..82bbe89980d --- /dev/null +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml @@ -0,0 +1,63 @@ +- type: entity + abstract: true + parent: BaseItem + id: BaseShelterCapsule + components: + - type: Sprite + sprite: DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi + state: capsule + - type: Item + size: Tiny + - type: UseDelay + delay: 15 # avoid spamming popups when you know it will fail to spawn a room + - type: ShelterCapsule + +- type: entity + parent: BaseShelterCapsule + id: ShelterCapsule + name: bluespace shelter capsule + description: An emergency shelter stored within a pocket of bluespace. + components: + - type: ShelterCapsule + room: EmergencyShelter + +- type: entity + parent: BaseShelterCapsule + id: ShelterCapsuleLuxury + name: luxury bluespace shelter capsule + description: An exorbitantly expensive luxury suite stored within a pocket of bluespace. + components: + - type: ShelterCapsule + room: LuxuryShelter + +- type: entity + parent: BaseShelterCapsule + id: ShelterCapsuleBar + name: luxury elite bar capsule + description: A luxury bar in a capsule. Bartender required and not included. + components: + - type: ShelterCapsule + room: EliteBarShelter + +# Dungeon room prototypes + +- type: dungeonRoom + id: EmergencyShelter + size: 5,5 + atlas: /Maps/Nonstations/DeltaV/shelters.yml + offset: -2,-2 # grid is offset badly cba to fix it + ignoreTile: FloorShuttleOrange + +- type: dungeonRoom + id: LuxuryShelter + size: 7,7 + atlas: /Maps/Nonstations/DeltaV/shelters.yml + offset: 4,-2 + ignoreTile: FloorShuttleOrange + +- type: dungeonRoom + id: EliteBarShelter + size: 12,12 + atlas: /Maps/Nonstations/DeltaV/shelters.yml + offset: 12,-2 + ignoreTile: FloorShuttleOrange diff --git a/Resources/Textures/DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi/capsule.png b/Resources/Textures/DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi/capsule.png new file mode 100644 index 0000000000000000000000000000000000000000..946f1e6cb0846c41116e4c25ede99ac76975447d GIT binary patch literal 360 zcmV-u0hj)XP)`;cs_Z~7l zeEy!{#p@41%Nf8lv4Cs`?5sNQ-&w$oVb7KwV7|PhAebiB=M<#@h~?5?w#*SrhMNyR zGpNh+lH_x;9RLb;nB^d__rp^L=f`dgi#A_ksB7IOLi zWHAVn8|M@kL`{_?;DU!5mQ$r99IXvU9Wd&EQ3nip2LJ$2u6K4r;p|@k0000 Date: Tue, 31 Dec 2024 13:07:51 +0000 Subject: [PATCH 4/8] add capsules to vendor and voucher --- .../Inventories/salvage_points.yml | 9 ++++++--- .../DeltaV/Catalog/mining_voucher.yml | 20 +++++++++---------- .../Specific/Salvage/mining_voucher.yml | 2 +- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Inventories/salvage_points.yml b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Inventories/salvage_points.yml index c1558ca8e50..a07fb149532 100644 --- a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Inventories/salvage_points.yml +++ b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Inventories/salvage_points.yml @@ -18,7 +18,8 @@ # TODO: stabilizing serum for 400 - id: FultonBeacon cost: 400 - # TODO: bluespace shelter capsule for 400 + - id: ShelterCapsule + cost: 400 - id: ClothingEyesGlassesGarMeson cost: 500 - id: ClothingBeltSalvageWebbing @@ -47,7 +48,9 @@ # TODO: jump boots for 2500 - id: ClothingOuterHardsuitSalvage cost: 3000 - # TODO: luxury shelter capsule for 3k - # TODO: luxury elite bar capsule for 10k + - id: ShelterCapsuleLuxury + cost: 3000 + - id: ShelterCapsuleBar + cost: 10000 # TODO: pka mods # TODO: mining drone stuff diff --git a/Resources/Prototypes/DeltaV/Catalog/mining_voucher.yml b/Resources/Prototypes/DeltaV/Catalog/mining_voucher.yml index ac654f6cd29..52ce0f54ca1 100644 --- a/Resources/Prototypes/DeltaV/Catalog/mining_voucher.yml +++ b/Resources/Prototypes/DeltaV/Catalog/mining_voucher.yml @@ -34,16 +34,16 @@ # - Resonator # - FireExtinguisherMini -# TODO: bluespace shelter capsule so this isnt a scam -#- type: thiefBackpackSet -# id: MiningSurvival -# name: mining-voucher-survival-name -# description: mining-voucher-survival-description -# sprite: -# sprite: Clothing/Belt/salvagewebbing.rsi -# state: icon -# content: -# - ClothingBeltSalvageWebbing +- type: thiefBackpackSet + id: MiningSurvival + name: mining-voucher-survival-name + description: mining-voucher-survival-description + sprite: + sprite: Clothing/Belt/salvagewebbing.rsi + state: icon + content: + - ClothingBeltSalvageWebbing + - ShelterCapsule # TODO: mining drone #- type: thiefBackpackSet diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/mining_voucher.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/mining_voucher.yml index d63a3b4e6ad..b1bdef8e941 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/mining_voucher.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/mining_voucher.yml @@ -23,6 +23,6 @@ - MiningCrusher - MiningExtraction #- MiningResonator - #- MiningSurvival + - MiningSurvival #- MiningDrone - MiningConscription From c051449661dd7e1b78eaa1ac8821dce6ac88d62a Mon Sep 17 00:00:00 2001 From: deltanedas <@deltanedas:kde.org> Date: Tue, 31 Dec 2024 13:20:59 +0000 Subject: [PATCH 5/8] :trollface: --- .../Entities/Objects/Specific/Salvage/shelter_capsules.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml index 82bbe89980d..e777670f982 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml @@ -57,7 +57,7 @@ - type: dungeonRoom id: EliteBarShelter - size: 12,12 + size: 11,11 atlas: /Maps/Nonstations/DeltaV/shelters.yml offset: 12,-2 ignoreTile: FloorShuttleOrange From 8235b83ff7b767cb2e4249f29d3c1f91ae452b7c Mon Sep 17 00:00:00 2001 From: deltanedas <@deltanedas:kde.org> Date: Tue, 31 Dec 2024 13:32:32 +0000 Subject: [PATCH 6/8] add admin logging and delete lava --- .../DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs | 14 ++++++++++++-- .../Salvage/Components/ShelterCapsuleComponent.cs | 6 ++++++ .../Salvage/Systems/SharedShelterCapsuleSystem.cs | 2 ++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs b/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs index 155dda2b452..0919308e03b 100644 --- a/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs +++ b/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs @@ -1,4 +1,6 @@ using Content.Server.Procedural; +using Content.Shared.Administration.Logs; +using Content.Shared.Database; using Content.Shared.DeltaV.Salvage.Components; using Content.Shared.DeltaV.Salvage.Systems; using Content.Shared.Maps; @@ -15,6 +17,7 @@ public sealed class ShelterCapsuleSystem : SharedShelterCapsuleSystem [Dependency] private readonly DungeonSystem _dungeon = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; [Dependency] private readonly SharedMapSystem _map = default!; [Dependency] private readonly TurfSystem _turf = default!; @@ -39,17 +42,24 @@ public sealed class ShelterCapsuleSystem : SharedShelterCapsuleSystem { var pos = origin + new Vector2i(x, y); var tile = _map.GetTileRef((gridUid, grid), pos); - if (tile.Tile.IsEmpty || _turf.IsTileBlocked(gridUid, pos, mask, grid, gridXform)) + if (tile.Tile.IsEmpty) + return "shelter-capsule-error-space"; + + if (_turf.IsTileBlocked(gridUid, pos, mask, grid, gridXform)) return "shelter-capsule-error-obstructed"; } } + var user = ent.Comp.User; + _adminLogger.Add(LogType.Action, LogImpact.High, $"{ToPrettyString(user):user} expanded {ToPrettyString(ent):capsule} at {center} on {ToPrettyString(gridUid):grid}"); + _dungeon.SpawnRoom(gridUid, grid, origin, room, new Random(), - null); + null, + clearExisting: true); // already checked for mobs and structures here QueueDel(ent); return null; diff --git a/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs b/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs index 6b754c9e4d4..cab5697913a 100644 --- a/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs +++ b/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs @@ -30,4 +30,10 @@ public sealed partial class ShelterCapsuleComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField] public TimeSpan? NextSpawn; + + /// + /// The user of the capsule, used for logging. + /// + [DataField] + public EntityUid? User; } diff --git a/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs b/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs index dd36f0e57d5..a88fae71d74 100644 --- a/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs +++ b/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs @@ -32,6 +32,7 @@ public override void Update(float frameTime) if (comp.NextSpawn is not {} nextSpawn || now < nextSpawn) continue; + comp.User = null; comp.NextSpawn = null; if (TrySpawnRoom((uid, comp)) is {} id) { @@ -59,6 +60,7 @@ private void OnUse(Entity ent, ref UseInHandEvent args) var msg = Loc.GetString("shelter-capsule-warning", ("capsule", ent)); _popup.PopupPredicted(msg, ent, args.User, PopupType.LargeCaution); + ent.Comp.User = args.User; ent.Comp.NextSpawn = _timing.CurTime + ent.Comp.Delay; } } From 0b7d93b2fc1622ef82941ee6d3460782ff010cb6 Mon Sep 17 00:00:00 2001 From: deltanedas <@deltanedas:kde.org> Date: Tue, 31 Dec 2024 13:59:34 +0000 Subject: [PATCH 7/8] mv wire --- Resources/Maps/Nonstations/DeltaV/shelters.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Resources/Maps/Nonstations/DeltaV/shelters.yml b/Resources/Maps/Nonstations/DeltaV/shelters.yml index 357d1b1b9a7..4f81d167453 100644 --- a/Resources/Maps/Nonstations/DeltaV/shelters.yml +++ b/Resources/Maps/Nonstations/DeltaV/shelters.yml @@ -19,6 +19,9 @@ entities: - type: Transform - type: Map mapPaused: True + - type: PhysicsMap + - type: GridTree + - type: MovedGrids - type: MapGrid chunks: 0,0: @@ -51,6 +54,7 @@ entities: angularDamping: 0.05 linearDamping: 0.05 fixedRotation: False + canCollide: False bodyType: Dynamic - type: Fixtures fixtures: {} @@ -136,6 +140,7 @@ entities: chunkSize: 4 - type: GasTileOverlay - type: RadiationGridResistance + - type: LoadedMap - proto: AirlockMining entities: - uid: 2 @@ -512,6 +517,11 @@ entities: parent: 1 - proto: CableMV entities: + - uid: 3 + components: + - type: Transform + pos: 16.5,8.5 + parent: 1 - uid: 73 components: - type: Transform From 3e4ea5a1025dcec641451c23721de9158c7b91b6 Mon Sep 17 00:00:00 2001 From: deltanedas <@deltanedas:kde.org> Date: Wed, 1 Jan 2025 05:54:04 +0000 Subject: [PATCH 8/8] changes for namespace refactor --- .../DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs | 5 ----- .../_DV/Salvage/Systems/ShelterCapsuleSystem.cs | 5 +++++ .../Salvage/Systems/ShelterCapsuleSystem.cs | 6 +++--- .../Salvage/Components/ShelterCapsuleComponent.cs | 4 ++-- .../Salvage/Systems/SharedShelterCapsuleSystem.cs | 4 ++-- .../{deltav => _DV}/salvage/shelter-capsule.ftl | 0 .../DeltaV => _DV/Nonstations}/shelters.yml | 0 .../Objects/Specific/Salvage/mining_voucher.yml | 0 .../Objects/Specific/Salvage/shelter_capsules.yml | 8 ++++---- .../Salvage/shelter_capsule.rsi/capsule.png | Bin .../Specific/Salvage/shelter_capsule.rsi/meta.json | 0 11 files changed, 16 insertions(+), 16 deletions(-) delete mode 100644 Content.Client/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs create mode 100644 Content.Client/_DV/Salvage/Systems/ShelterCapsuleSystem.cs rename Content.Server/{DeltaV => _DV}/Salvage/Systems/ShelterCapsuleSystem.cs (94%) rename Content.Shared/{DeltaV => _DV}/Salvage/Components/ShelterCapsuleComponent.cs (92%) rename Content.Shared/{DeltaV => _DV}/Salvage/Systems/SharedShelterCapsuleSystem.cs (95%) rename Resources/Locale/en-US/{deltav => _DV}/salvage/shelter-capsule.ftl (100%) rename Resources/Maps/{Nonstations/DeltaV => _DV/Nonstations}/shelters.yml (100%) rename Resources/Prototypes/{DeltaV => _DV}/Entities/Objects/Specific/Salvage/mining_voucher.yml (100%) rename Resources/Prototypes/{DeltaV => _DV}/Entities/Objects/Specific/Salvage/shelter_capsules.yml (87%) rename Resources/Textures/{DeltaV => _DV}/Objects/Specific/Salvage/shelter_capsule.rsi/capsule.png (100%) rename Resources/Textures/{DeltaV => _DV}/Objects/Specific/Salvage/shelter_capsule.rsi/meta.json (100%) diff --git a/Content.Client/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs b/Content.Client/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs deleted file mode 100644 index 9b1827de3fd..00000000000 --- a/Content.Client/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs +++ /dev/null @@ -1,5 +0,0 @@ -using Content.Shared.DeltaV.Salvage.Systems; - -namespace Content.Client.DeltaV.Salvage.Systems; - -public sealed class ShelterCapsuleSystem : SharedShelterCapsuleSystem; diff --git a/Content.Client/_DV/Salvage/Systems/ShelterCapsuleSystem.cs b/Content.Client/_DV/Salvage/Systems/ShelterCapsuleSystem.cs new file mode 100644 index 00000000000..a35a3667394 --- /dev/null +++ b/Content.Client/_DV/Salvage/Systems/ShelterCapsuleSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared._DV.Salvage.Systems; + +namespace Content.Client._DV.Salvage.Systems; + +public sealed class ShelterCapsuleSystem : SharedShelterCapsuleSystem; diff --git a/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs b/Content.Server/_DV/Salvage/Systems/ShelterCapsuleSystem.cs similarity index 94% rename from Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs rename to Content.Server/_DV/Salvage/Systems/ShelterCapsuleSystem.cs index 0919308e03b..ff2fc3883bd 100644 --- a/Content.Server/DeltaV/Salvage/Systems/ShelterCapsuleSystem.cs +++ b/Content.Server/_DV/Salvage/Systems/ShelterCapsuleSystem.cs @@ -1,8 +1,8 @@ using Content.Server.Procedural; using Content.Shared.Administration.Logs; using Content.Shared.Database; -using Content.Shared.DeltaV.Salvage.Components; -using Content.Shared.DeltaV.Salvage.Systems; +using Content.Shared._DV.Salvage.Components; +using Content.Shared._DV.Salvage.Systems; using Content.Shared.Maps; using Content.Shared.Physics; using Robust.Shared.Map.Components; @@ -10,7 +10,7 @@ using Robust.Shared.Prototypes; using System.Numerics; -namespace Content.Server.DeltaV.Salvage.Systems; +namespace Content.Server._DV.Salvage.Systems; public sealed class ShelterCapsuleSystem : SharedShelterCapsuleSystem { diff --git a/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs b/Content.Shared/_DV/Salvage/Components/ShelterCapsuleComponent.cs similarity index 92% rename from Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs rename to Content.Shared/_DV/Salvage/Components/ShelterCapsuleComponent.cs index cab5697913a..00e79715c05 100644 --- a/Content.Shared/DeltaV/Salvage/Components/ShelterCapsuleComponent.cs +++ b/Content.Shared/_DV/Salvage/Components/ShelterCapsuleComponent.cs @@ -1,10 +1,10 @@ -using Content.Shared.DeltaV.Salvage.Systems; +using Content.Shared._DV.Salvage.Systems; using Content.Shared.Procedural; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -namespace Content.Shared.DeltaV.Salvage.Components; +namespace Content.Shared._DV.Salvage.Components; /// /// Spawns a dungeon room after a delay when used and deletes itself. diff --git a/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs b/Content.Shared/_DV/Salvage/Systems/SharedShelterCapsuleSystem.cs similarity index 95% rename from Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs rename to Content.Shared/_DV/Salvage/Systems/SharedShelterCapsuleSystem.cs index a88fae71d74..ff1afb7d328 100644 --- a/Content.Shared/DeltaV/Salvage/Systems/SharedShelterCapsuleSystem.cs +++ b/Content.Shared/_DV/Salvage/Systems/SharedShelterCapsuleSystem.cs @@ -1,9 +1,9 @@ -using Content.Shared.DeltaV.Salvage.Components; +using Content.Shared._DV.Salvage.Components; using Content.Shared.Interaction.Events; using Content.Shared.Popups; using Robust.Shared.Timing; -namespace Content.Shared.DeltaV.Salvage.Systems; +namespace Content.Shared._DV.Salvage.Systems; /// /// Handles interaction for shelter capsules. diff --git a/Resources/Locale/en-US/deltav/salvage/shelter-capsule.ftl b/Resources/Locale/en-US/_DV/salvage/shelter-capsule.ftl similarity index 100% rename from Resources/Locale/en-US/deltav/salvage/shelter-capsule.ftl rename to Resources/Locale/en-US/_DV/salvage/shelter-capsule.ftl diff --git a/Resources/Maps/Nonstations/DeltaV/shelters.yml b/Resources/Maps/_DV/Nonstations/shelters.yml similarity index 100% rename from Resources/Maps/Nonstations/DeltaV/shelters.yml rename to Resources/Maps/_DV/Nonstations/shelters.yml diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/mining_voucher.yml b/Resources/Prototypes/_DV/Entities/Objects/Specific/Salvage/mining_voucher.yml similarity index 100% rename from Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/mining_voucher.yml rename to Resources/Prototypes/_DV/Entities/Objects/Specific/Salvage/mining_voucher.yml diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml b/Resources/Prototypes/_DV/Entities/Objects/Specific/Salvage/shelter_capsules.yml similarity index 87% rename from Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml rename to Resources/Prototypes/_DV/Entities/Objects/Specific/Salvage/shelter_capsules.yml index e777670f982..b3574bc927c 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Specific/Salvage/shelter_capsules.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Specific/Salvage/shelter_capsules.yml @@ -4,7 +4,7 @@ id: BaseShelterCapsule components: - type: Sprite - sprite: DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi + sprite: _DV/Objects/Specific/Salvage/shelter_capsule.rsi state: capsule - type: Item size: Tiny @@ -44,20 +44,20 @@ - type: dungeonRoom id: EmergencyShelter size: 5,5 - atlas: /Maps/Nonstations/DeltaV/shelters.yml + atlas: /Maps/_DV/Nonstations/shelters.yml offset: -2,-2 # grid is offset badly cba to fix it ignoreTile: FloorShuttleOrange - type: dungeonRoom id: LuxuryShelter size: 7,7 - atlas: /Maps/Nonstations/DeltaV/shelters.yml + atlas: /Maps/_DV/Nonstations/shelters.yml offset: 4,-2 ignoreTile: FloorShuttleOrange - type: dungeonRoom id: EliteBarShelter size: 11,11 - atlas: /Maps/Nonstations/DeltaV/shelters.yml + atlas: /Maps/_DV/Nonstations/shelters.yml offset: 12,-2 ignoreTile: FloorShuttleOrange diff --git a/Resources/Textures/DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi/capsule.png b/Resources/Textures/_DV/Objects/Specific/Salvage/shelter_capsule.rsi/capsule.png similarity index 100% rename from Resources/Textures/DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi/capsule.png rename to Resources/Textures/_DV/Objects/Specific/Salvage/shelter_capsule.rsi/capsule.png diff --git a/Resources/Textures/DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi/meta.json b/Resources/Textures/_DV/Objects/Specific/Salvage/shelter_capsule.rsi/meta.json similarity index 100% rename from Resources/Textures/DeltaV/Objects/Specific/Salvage/shelter_capsule.rsi/meta.json rename to Resources/Textures/_DV/Objects/Specific/Salvage/shelter_capsule.rsi/meta.json