From 444180c20dd4f758e2a9311a7e0ba1a65402a9fe Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sat, 26 Jul 2025 11:44:34 +0200 Subject: [PATCH 001/149] Optimizations from server profile (#38290) * Properly cache regexes in chat sanitization/accents Wow I wonder if `new Regex()` has a cost to it *looks at server profile*. * Avoid lag caused by Tippy command completions CompletionHelper.PrototypeIDs explicitly says *not* to use it with EntityPrototype. Unsurprisingly, reporting a completion result for every entity prototype in the game is a *bad idea*. * Add active count metrics to some high-load systems Mover & NPCs I suspect the thing that caused the Leviathan round to shit itself on performance is NPC spam in space or something. So let's verify that. * Enable parallel processing on pow3r again Originally disabled due to a theory of it causing bugs, it was re-enabled on Vulture, and I'm not aware of it having caused any issues there. * Replace hashset with bitflags for AtmosMonitor alert types. Allocating these hashsets was like 20% of the CPU of atmos, somehow. * Cache HashSet used for space movement collider checks Turns out this was a ton of server allocations. Huh. --- .../Components/AtmosAlarmableComponent.cs | 2 +- .../Components/AtmosMonitorComponent.cs | 2 +- .../Monitor/Systems/AtmosAlarmableSystem.cs | 4 +- .../Monitor/Systems/AtmosMonitoringSystem.cs | 22 +- .../Chat/Managers/ChatSanitizationManager.cs | 192 +++++++++--------- .../NPC/Systems/NPCSteeringSystem.cs | 12 ++ Content.Server/NPC/Systems/NPCSystem.cs | 7 + .../Physics/Controllers/MoverController.cs | 7 + .../EntitySystems/ReplacementAccentSystem.cs | 60 +++++- Content.Server/Tips/TipsSystem.cs | 8 +- .../Atmos/Monitor/AtmosAlarmThreshold.cs | 18 +- Content.Shared/CCVar/CCVars.cs | 2 +- .../Movement/Systems/SharedMoverController.cs | 6 +- .../ConfigPresets/WizardsDen/vulture.toml | 3 - 14 files changed, 217 insertions(+), 128 deletions(-) diff --git a/Content.Server/Atmos/Monitor/Components/AtmosAlarmableComponent.cs b/Content.Server/Atmos/Monitor/Components/AtmosAlarmableComponent.cs index e291334ad0..cc53df2ecd 100644 --- a/Content.Server/Atmos/Monitor/Components/AtmosAlarmableComponent.cs +++ b/Content.Server/Atmos/Monitor/Components/AtmosAlarmableComponent.cs @@ -48,7 +48,7 @@ public sealed partial class AtmosAlarmableComponent : Component public HashSet SyncWithTags { get; private set; } = new(); [DataField("monitorAlertTypes")] - public HashSet? MonitorAlertTypes { get; private set; } + public AtmosMonitorThresholdTypeFlags MonitorAlertTypes { get; private set; } /// /// If this device should receive only. If it can only diff --git a/Content.Server/Atmos/Monitor/Components/AtmosMonitorComponent.cs b/Content.Server/Atmos/Monitor/Components/AtmosMonitorComponent.cs index 830479561d..ffb1fe0d27 100644 --- a/Content.Server/Atmos/Monitor/Components/AtmosMonitorComponent.cs +++ b/Content.Server/Atmos/Monitor/Components/AtmosMonitorComponent.cs @@ -59,7 +59,7 @@ public sealed partial class AtmosMonitorComponent : Component public AtmosAlarmType LastAlarmState = AtmosAlarmType.Normal; [DataField("trippedThresholds")] - public HashSet TrippedThresholds = new(); + public AtmosMonitorThresholdTypeFlags TrippedThresholds; /// /// Registered devices in this atmos monitor. Alerts will be sent directly diff --git a/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs b/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs index b6bc4bd303..2dcba3f464 100644 --- a/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs +++ b/Content.Server/Atmos/Monitor/Systems/AtmosAlarmableSystem.cs @@ -108,9 +108,9 @@ public sealed class AtmosAlarmableSystem : EntitySystem break; } - if (args.Data.TryGetValue(AlertTypes, out HashSet? types) && component.MonitorAlertTypes != null) + if (args.Data.TryGetValue(AlertTypes, out AtmosMonitorThresholdTypeFlags types) && component.MonitorAlertTypes != AtmosMonitorThresholdTypeFlags.None) { - isValid = types.Any(type => component.MonitorAlertTypes.Contains(type)); + isValid = (types & component.MonitorAlertTypes) != 0; } if (!component.NetworkAlarmStates.ContainsKey(args.SenderAddress)) diff --git a/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs b/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs index 520afe0c58..452b300331 100644 --- a/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs +++ b/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs @@ -207,7 +207,7 @@ public sealed class AtmosMonitorSystem : EntitySystem if (component.MonitorFire && component.LastAlarmState != AtmosAlarmType.Danger) { - component.TrippedThresholds.Add(AtmosMonitorThresholdType.Temperature); + component.TrippedThresholds |= AtmosMonitorThresholdTypeFlags.Temperature; Alert(uid, AtmosAlarmType.Danger, null, component); // technically??? } @@ -218,7 +218,7 @@ public sealed class AtmosMonitorSystem : EntitySystem && component.TemperatureThreshold.CheckThreshold(args.Temperature, out var temperatureState) && temperatureState > component.LastAlarmState) { - component.TrippedThresholds.Add(AtmosMonitorThresholdType.Temperature); + component.TrippedThresholds |= AtmosMonitorThresholdTypeFlags.Temperature; Alert(uid, AtmosAlarmType.Danger, null, component); } } @@ -259,7 +259,7 @@ public sealed class AtmosMonitorSystem : EntitySystem if (!Resolve(uid, ref monitor)) return; var state = AtmosAlarmType.Normal; - HashSet alarmTypes = new(monitor.TrippedThresholds); + var alarmTypes = monitor.TrippedThresholds; if (monitor.TemperatureThreshold != null && monitor.TemperatureThreshold.CheckThreshold(air.Temperature, out var temperatureState)) @@ -267,11 +267,11 @@ public sealed class AtmosMonitorSystem : EntitySystem if (temperatureState > state) { state = temperatureState; - alarmTypes.Add(AtmosMonitorThresholdType.Temperature); + alarmTypes |= AtmosMonitorThresholdTypeFlags.Temperature; } else if (temperatureState == AtmosAlarmType.Normal) { - alarmTypes.Remove(AtmosMonitorThresholdType.Temperature); + alarmTypes &= ~AtmosMonitorThresholdTypeFlags.Temperature; } } @@ -282,11 +282,11 @@ public sealed class AtmosMonitorSystem : EntitySystem if (pressureState > state) { state = pressureState; - alarmTypes.Add(AtmosMonitorThresholdType.Pressure); + alarmTypes |= AtmosMonitorThresholdTypeFlags.Pressure; } else if (pressureState == AtmosAlarmType.Normal) { - alarmTypes.Remove(AtmosMonitorThresholdType.Pressure); + alarmTypes &= ~AtmosMonitorThresholdTypeFlags.Pressure; } } @@ -306,17 +306,17 @@ public sealed class AtmosMonitorSystem : EntitySystem if (tripped) { - alarmTypes.Add(AtmosMonitorThresholdType.Gas); + alarmTypes |= AtmosMonitorThresholdTypeFlags.Gas; } else { - alarmTypes.Remove(AtmosMonitorThresholdType.Gas); + alarmTypes &= ~AtmosMonitorThresholdTypeFlags.Gas; } } // if the state of the current air doesn't match the last alarm state, // we update the state - if (state != monitor.LastAlarmState || !alarmTypes.SetEquals(monitor.TrippedThresholds)) + if (state != monitor.LastAlarmState || alarmTypes != monitor.TrippedThresholds) { Alert(uid, state, alarmTypes, monitor); } @@ -327,7 +327,7 @@ public sealed class AtmosMonitorSystem : EntitySystem /// /// The alarm state to set this monitor to. /// The alarms that caused this alarm state. - public void Alert(EntityUid uid, AtmosAlarmType state, HashSet? alarms = null, AtmosMonitorComponent? monitor = null) + public void Alert(EntityUid uid, AtmosAlarmType state, AtmosMonitorThresholdTypeFlags? alarms = null, AtmosMonitorComponent? monitor = null) { if (!Resolve(uid, ref monitor)) return; diff --git a/Content.Server/Chat/Managers/ChatSanitizationManager.cs b/Content.Server/Chat/Managers/ChatSanitizationManager.cs index 0c78e45f86..106e5313e6 100644 --- a/Content.Server/Chat/Managers/ChatSanitizationManager.cs +++ b/Content.Server/Chat/Managers/ChatSanitizationManager.cs @@ -12,86 +12,86 @@ namespace Content.Server.Chat.Managers; /// public sealed class ChatSanitizationManager : IChatSanitizationManager { - private static readonly Dictionary ShorthandToEmote = new() - { - { ":)", "chatsan-smiles" }, - { ":]", "chatsan-smiles" }, - { "=)", "chatsan-smiles" }, - { "=]", "chatsan-smiles" }, - { "(:", "chatsan-smiles" }, - { "[:", "chatsan-smiles" }, - { "(=", "chatsan-smiles" }, - { "[=", "chatsan-smiles" }, - { "^^", "chatsan-smiles" }, - { "^-^", "chatsan-smiles" }, - { ":(", "chatsan-frowns" }, - { ":[", "chatsan-frowns" }, - { "=(", "chatsan-frowns" }, - { "=[", "chatsan-frowns" }, - { "):", "chatsan-frowns" }, - { ")=", "chatsan-frowns" }, - { "]:", "chatsan-frowns" }, - { "]=", "chatsan-frowns" }, - { ":D", "chatsan-smiles-widely" }, - { "D:", "chatsan-frowns-deeply" }, - { ":O", "chatsan-surprised" }, - { ":3", "chatsan-smiles" }, - { ":S", "chatsan-uncertain" }, - { ":>", "chatsan-grins" }, - { ":<", "chatsan-pouts" }, - { "xD", "chatsan-laughs" }, - { ":'(", "chatsan-cries" }, - { ":'[", "chatsan-cries" }, - { "='(", "chatsan-cries" }, - { "='[", "chatsan-cries" }, - { ")':", "chatsan-cries" }, - { "]':", "chatsan-cries" }, - { ")'=", "chatsan-cries" }, - { "]'=", "chatsan-cries" }, - { ";-;", "chatsan-cries" }, - { ";_;", "chatsan-cries" }, - { "qwq", "chatsan-cries" }, - { ":u", "chatsan-smiles-smugly" }, - { ":v", "chatsan-smiles-smugly" }, - { ">:i", "chatsan-annoyed" }, - { ":i", "chatsan-sighs" }, - { ":|", "chatsan-sighs" }, - { ":p", "chatsan-stick-out-tongue" }, - { ";p", "chatsan-stick-out-tongue" }, - { ":b", "chatsan-stick-out-tongue" }, - { "0-0", "chatsan-wide-eyed" }, - { "o-o", "chatsan-wide-eyed" }, - { "o.o", "chatsan-wide-eyed" }, - { "._.", "chatsan-surprised" }, - { ".-.", "chatsan-confused" }, - { "-_-", "chatsan-unimpressed" }, - { "smh", "chatsan-unimpressed" }, - { "o/", "chatsan-waves" }, - { "^^/", "chatsan-waves" }, - { ":/", "chatsan-uncertain" }, - { ":\\", "chatsan-uncertain" }, - { "lmao", "chatsan-laughs" }, - { "lmfao", "chatsan-laughs" }, - { "lol", "chatsan-laughs" }, - { "lel", "chatsan-laughs" }, - { "kek", "chatsan-laughs" }, - { "rofl", "chatsan-laughs" }, - { "o7", "chatsan-salutes" }, - { ";_;7", "chatsan-tearfully-salutes" }, - { "idk", "chatsan-shrugs" }, - { ";)", "chatsan-winks" }, - { ";]", "chatsan-winks" }, - { "(;", "chatsan-winks" }, - { "[;", "chatsan-winks" }, - { ":')", "chatsan-tearfully-smiles" }, - { ":']", "chatsan-tearfully-smiles" }, - { "=')", "chatsan-tearfully-smiles" }, - { "=']", "chatsan-tearfully-smiles" }, - { "(':", "chatsan-tearfully-smiles" }, - { "[':", "chatsan-tearfully-smiles" }, - { "('=", "chatsan-tearfully-smiles" }, - { "['=", "chatsan-tearfully-smiles" } - }; + private static readonly (Regex regex, string emoteKey)[] ShorthandToEmote = + [ + Entry(":)", "chatsan-smiles"), + Entry(":]", "chatsan-smiles"), + Entry("=)", "chatsan-smiles"), + Entry("=]", "chatsan-smiles"), + Entry("(:", "chatsan-smiles"), + Entry("[:", "chatsan-smiles"), + Entry("(=", "chatsan-smiles"), + Entry("[=", "chatsan-smiles"), + Entry("^^", "chatsan-smiles"), + Entry("^-^", "chatsan-smiles"), + Entry(":(", "chatsan-frowns"), + Entry(":[", "chatsan-frowns"), + Entry("=(", "chatsan-frowns"), + Entry("=[", "chatsan-frowns"), + Entry("):", "chatsan-frowns"), + Entry(")=", "chatsan-frowns"), + Entry("]:", "chatsan-frowns"), + Entry("]=", "chatsan-frowns"), + Entry(":D", "chatsan-smiles-widely"), + Entry("D:", "chatsan-frowns-deeply"), + Entry(":O", "chatsan-surprised"), + Entry(":3", "chatsan-smiles"), + Entry(":S", "chatsan-uncertain"), + Entry(":>", "chatsan-grins"), + Entry(":<", "chatsan-pouts"), + Entry("xD", "chatsan-laughs"), + Entry(":'(", "chatsan-cries"), + Entry(":'[", "chatsan-cries"), + Entry("='(", "chatsan-cries"), + Entry("='[", "chatsan-cries"), + Entry(")':", "chatsan-cries"), + Entry("]':", "chatsan-cries"), + Entry(")'=", "chatsan-cries"), + Entry("]'=", "chatsan-cries"), + Entry(";-;", "chatsan-cries"), + Entry(";_;", "chatsan-cries"), + Entry("qwq", "chatsan-cries"), + Entry(":u", "chatsan-smiles-smugly"), + Entry(":v", "chatsan-smiles-smugly"), + Entry(">:i", "chatsan-annoyed"), + Entry(":i", "chatsan-sighs"), + Entry(":|", "chatsan-sighs"), + Entry(":p", "chatsan-stick-out-tongue"), + Entry(";p", "chatsan-stick-out-tongue"), + Entry(":b", "chatsan-stick-out-tongue"), + Entry("0-0", "chatsan-wide-eyed"), + Entry("o-o", "chatsan-wide-eyed"), + Entry("o.o", "chatsan-wide-eyed"), + Entry("._.", "chatsan-surprised"), + Entry(".-.", "chatsan-confused"), + Entry("-_-", "chatsan-unimpressed"), + Entry("smh", "chatsan-unimpressed"), + Entry("o/", "chatsan-waves"), + Entry("^^/", "chatsan-waves"), + Entry(":/", "chatsan-uncertain"), + Entry(":\\", "chatsan-uncertain"), + Entry("lmao", "chatsan-laughs"), + Entry("lmfao", "chatsan-laughs"), + Entry("lol", "chatsan-laughs"), + Entry("lel", "chatsan-laughs"), + Entry("kek", "chatsan-laughs"), + Entry("rofl", "chatsan-laughs"), + Entry("o7", "chatsan-salutes"), + Entry(";_;7", "chatsan-tearfully-salutes"), + Entry("idk", "chatsan-shrugs"), + Entry(";)", "chatsan-winks"), + Entry(";]", "chatsan-winks"), + Entry("(;", "chatsan-winks"), + Entry("[;", "chatsan-winks"), + Entry(":')", "chatsan-tearfully-smiles"), + Entry(":']", "chatsan-tearfully-smiles"), + Entry("=')", "chatsan-tearfully-smiles"), + Entry("=']", "chatsan-tearfully-smiles"), + Entry("(':", "chatsan-tearfully-smiles"), + Entry("[':", "chatsan-tearfully-smiles"), + Entry("('=", "chatsan-tearfully-smiles"), + Entry("['=", "chatsan-tearfully-smiles"), + ]; [Dependency] private readonly IConfigurationManager _configurationManager = default!; [Dependency] private readonly ILocalizationManager _loc = default!; @@ -125,21 +125,8 @@ public sealed class ChatSanitizationManager : IChatSanitizationManager // -1 is just a canary for nothing found yet var lastEmoteIndex = -1; - foreach (var (shorthand, emoteKey) in ShorthandToEmote) + foreach (var (r, emoteKey) in ShorthandToEmote) { - // We have to escape it because shorthands like ":)" or "-_-" would break the regex otherwise. - var escaped = Regex.Escape(shorthand); - - // So there are 2 cases: - // - If there is whitespace before it and after it is either punctuation, whitespace, or the end of the line - // Delete the word and the whitespace before - // - If it is at the start of the string and is followed by punctuation, whitespace, or the end of the line - // Delete the word and the punctuation if it exists. - var pattern = - $@"\s{escaped}(?=\p{{P}}|\s|$)|^{escaped}(?:\p{{P}}|(?=\s|$))"; - - var r = new Regex(pattern, RegexOptions.RightToLeft | RegexOptions.IgnoreCase); - // We're using sanitized as the original message until the end so that we can make sure the indices of // the emotes are accurate. var lastMatch = r.Match(sanitized); @@ -159,4 +146,21 @@ public sealed class ChatSanitizationManager : IChatSanitizationManager sanitized = message.Trim(); return emote is not null; } + + private static (Regex regex, string emoteKey) Entry(string shorthand, string emoteKey) + { + // We have to escape it because shorthands like ":)" or "-_-" would break the regex otherwise. + var escaped = Regex.Escape(shorthand); + + // So there are 2 cases: + // - If there is whitespace before it and after it is either punctuation, whitespace, or the end of the line + // Delete the word and the whitespace before + // - If it is at the start of the string and is followed by punctuation, whitespace, or the end of the line + // Delete the word and the punctuation if it exists. + var pattern = new Regex( + $@"\s{escaped}(?=\p{{P}}|\s|$)|^{escaped}(?:\p{{P}}|(?=\s|$))", + RegexOptions.RightToLeft | RegexOptions.IgnoreCase | RegexOptions.Compiled); + + return (pattern, emoteKey); + } } diff --git a/Content.Server/NPC/Systems/NPCSteeringSystem.cs b/Content.Server/NPC/Systems/NPCSteeringSystem.cs index 6a736f3bc9..3585711860 100644 --- a/Content.Server/NPC/Systems/NPCSteeringSystem.cs +++ b/Content.Server/NPC/Systems/NPCSteeringSystem.cs @@ -30,11 +30,16 @@ using Robust.Shared.Timing; using Robust.Shared.Utility; using Content.Shared.Prying.Systems; using Microsoft.Extensions.ObjectPool; +using Prometheus; namespace Content.Server.NPC.Systems; public sealed partial class NPCSteeringSystem : SharedNPCSteeringSystem { + private static readonly Gauge ActiveSteeringGauge = Metrics.CreateGauge( + "npc_steering_active_count", + "Amount of NPCs trying to actively do steering"); + /* * We use context steering to determine which way to move. * This involves creating an array of possible directions and assigning a value for the desireability of each direction. @@ -87,6 +92,8 @@ public sealed partial class NPCSteeringSystem : SharedNPCSteeringSystem private object _obstacles = new(); + private int _activeSteeringCount; + public override void Initialize() { base.Initialize(); @@ -244,12 +251,15 @@ public sealed partial class NPCSteeringSystem : SharedNPCSteeringSystem }; var curTime = _timing.CurTime; + _activeSteeringCount = 0; + Parallel.For(0, index, options, i => { var (uid, steering, mover, xform) = npcs[i]; Steer(uid, steering, mover, xform, frameTime, curTime); }); + ActiveSteeringGauge.Set(_activeSteeringCount); if (_subscribedSessions.Count > 0) { @@ -324,6 +334,8 @@ public sealed partial class NPCSteeringSystem : SharedNPCSteeringSystem return; } + Interlocked.Increment(ref _activeSteeringCount); + var agentRadius = steering.Radius; var worldPos = _transform.GetWorldPosition(xform); var (layer, mask) = _physics.GetHardCollision(uid); diff --git a/Content.Server/NPC/Systems/NPCSystem.cs b/Content.Server/NPC/Systems/NPCSystem.cs index c7690cb295..27b2a1691d 100644 --- a/Content.Server/NPC/Systems/NPCSystem.cs +++ b/Content.Server/NPC/Systems/NPCSystem.cs @@ -8,6 +8,7 @@ using Content.Shared.Mobs; using Content.Shared.Mobs.Systems; using Content.Shared.NPC; using Content.Shared.NPC.Systems; +using Prometheus; using Robust.Server.GameObjects; using Robust.Shared.Configuration; using Robust.Shared.Player; @@ -19,6 +20,10 @@ namespace Content.Server.NPC.Systems /// public sealed partial class NPCSystem : EntitySystem { + private static readonly Gauge ActiveGauge = Metrics.CreateGauge( + "npc_active_count", + "Amount of NPCs that are actively processing"); + [Dependency] private readonly IConfigurationManager _configurationManager = default!; [Dependency] private readonly HTNSystem _htn = default!; [Dependency] private readonly MobStateSystem _mobState = default!; @@ -138,6 +143,8 @@ namespace Content.Server.NPC.Systems // Add your system here. _htn.UpdateNPC(ref _count, _maxUpdates, frameTime); + + ActiveGauge.Set(Count()); } public void OnMobStateChange(EntityUid uid, HTNComponent component, MobStateChangedEvent args) diff --git a/Content.Server/Physics/Controllers/MoverController.cs b/Content.Server/Physics/Controllers/MoverController.cs index f0a723f3c0..5c87de1863 100644 --- a/Content.Server/Physics/Controllers/MoverController.cs +++ b/Content.Server/Physics/Controllers/MoverController.cs @@ -7,6 +7,7 @@ using Content.Shared.Movement.Components; using Content.Shared.Movement.Systems; using Content.Shared.Shuttles.Components; using Content.Shared.Shuttles.Systems; +using Prometheus; using Robust.Shared.Physics.Components; using Robust.Shared.Player; using DroneConsoleComponent = Content.Server.Shuttles.DroneConsoleComponent; @@ -17,6 +18,10 @@ namespace Content.Server.Physics.Controllers; public sealed class MoverController : SharedMoverController { + private static readonly Gauge ActiveMoverGauge = Metrics.CreateGauge( + "physics_active_mover_count", + "Active amount of InputMovers being processed by MoverController"); + [Dependency] private readonly ThrusterSystem _thruster = default!; [Dependency] private readonly SharedTransformSystem _xformSystem = default!; @@ -97,6 +102,8 @@ public sealed class MoverController : SharedMoverController HandleMobMovement(mover, frameTime); } + ActiveMoverGauge.Set(_movers.Count); + HandleShuttleMovement(frameTime); } diff --git a/Content.Server/Speech/EntitySystems/ReplacementAccentSystem.cs b/Content.Server/Speech/EntitySystems/ReplacementAccentSystem.cs index 5b215e9bea..c285063d2d 100644 --- a/Content.Server/Speech/EntitySystems/ReplacementAccentSystem.cs +++ b/Content.Server/Speech/EntitySystems/ReplacementAccentSystem.cs @@ -19,9 +19,21 @@ namespace Content.Server.Speech.EntitySystems [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly ILocalizationManager _loc = default!; + private readonly Dictionary, (Regex regex, string replacement)[]> + _cachedReplacements = new(); + public override void Initialize() { SubscribeLocalEvent(OnAccent); + + _proto.PrototypesReloaded += OnPrototypesReloaded; + } + + public override void Shutdown() + { + base.Shutdown(); + + _proto.PrototypesReloaded -= OnPrototypesReloaded; } private void OnAccent(EntityUid uid, ReplacementAccentComponent component, AccentGetEvent args) @@ -48,27 +60,22 @@ namespace Content.Server.Speech.EntitySystems return prototype.FullReplacements.Length != 0 ? Loc.GetString(_random.Pick(prototype.FullReplacements)) : ""; } - if (prototype.WordReplacements == null) - return message; - // Prohibition of repeated word replacements. // All replaced words placed in the final message are placed here as dashes (___) with the same length. // The regex search goes through this buffer message, from which the already replaced words are crossed out, // ensuring that the replaced words cannot be replaced again. var maskMessage = message; - foreach (var (first, replace) in prototype.WordReplacements) + foreach (var (regex, replace) in GetCachedReplacements(prototype)) { - var f = _loc.GetString(first); - var r = _loc.GetString(replace); // this is kind of slow but its not that bad // essentially: go over all matches, try to match capitalization where possible, then replace // rather than using regex.replace - for (int i = Regex.Count(maskMessage, $@"(? 0; i--) + for (int i = regex.Count(maskMessage); i > 0; i--) { // fetch the match again as the character indices may have changed - Match match = Regex.Match(maskMessage, $@"(? + { + var (first, replace) = kv; + var firstLoc = _loc.GetString(first); + var replaceLoc = _loc.GetString(replace); + + var regex = new Regex($@"(? CompletionResult.FromHintOptions(CompletionHelper.SessionNames(), Loc.GetString("cmd-tippy-auto-1")), + 1 => CompletionResult.FromHintOptions( + CompletionHelper.SessionNames(players: _playerManager), + Loc.GetString("cmd-tippy-auto-1")), 2 => CompletionResult.FromHint(Loc.GetString("cmd-tippy-auto-2")), - 3 => CompletionResult.FromHintOptions(CompletionHelper.PrototypeIDs(), Loc.GetString("cmd-tippy-auto-3")), + 3 => CompletionResult.FromHintOptions( + CompletionHelper.PrototypeIdsLimited(args[2], _prototype), + Loc.GetString("cmd-tippy-auto-3")), 4 => CompletionResult.FromHint(Loc.GetString("cmd-tippy-auto-4")), 5 => CompletionResult.FromHint(Loc.GetString("cmd-tippy-auto-5")), 6 => CompletionResult.FromHint(Loc.GetString("cmd-tippy-auto-6")), diff --git a/Content.Shared/Atmos/Monitor/AtmosAlarmThreshold.cs b/Content.Shared/Atmos/Monitor/AtmosAlarmThreshold.cs index 89d0bf2392..becc5378f2 100644 --- a/Content.Shared/Atmos/Monitor/AtmosAlarmThreshold.cs +++ b/Content.Shared/Atmos/Monitor/AtmosAlarmThreshold.cs @@ -388,9 +388,21 @@ public enum AtmosMonitorLimitType // +/// Bitflags version of +/// +[Flags] +public enum AtmosMonitorThresholdTypeFlags +{ + None = 0, + Temperature = 1 << 0, + Pressure = 1 << 1, + Gas = 1 << 2, } [Serializable, NetSerializable] diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index d68ab16874..87b2da129a 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -36,5 +36,5 @@ public sealed partial class CCVars : CVars /// Set to true to disable parallel processing in the pow3r solver. /// public static readonly CVarDef DebugPow3rDisableParallel = - CVarDef.Create("debug.pow3r_disable_parallel", true, CVar.SERVERONLY); + CVarDef.Create("debug.pow3r_disable_parallel", false, CVar.SERVERONLY); } diff --git a/Content.Shared/Movement/Systems/SharedMoverController.cs b/Content.Shared/Movement/Systems/SharedMoverController.cs index e43800dc9f..f8495fcd18 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.cs @@ -72,6 +72,8 @@ public abstract partial class SharedMoverController : VirtualController /// public Dictionary UsedMobMovement = new(); + private readonly HashSet _aroundColliderSet = []; + public override void Initialize() { UpdatesBefore.Add(typeof(TileFrictionController)); @@ -454,7 +456,9 @@ public abstract partial class SharedMoverController : VirtualController var (uid, collider, mover, transform) = entity; var enlargedAABB = _lookup.GetWorldAABB(entity.Owner, transform).Enlarged(mover.GrabRange); - foreach (var otherEntity in lookupSystem.GetEntitiesIntersecting(transform.MapID, enlargedAABB)) + _aroundColliderSet.Clear(); + lookupSystem.GetEntitiesIntersecting(transform.MapID, enlargedAABB, _aroundColliderSet); + foreach (var otherEntity in _aroundColliderSet) { if (otherEntity == uid) continue; // Don't try to push off of yourself! diff --git a/Resources/ConfigPresets/WizardsDen/vulture.toml b/Resources/ConfigPresets/WizardsDen/vulture.toml index 0e89f63741..8eccfa48e1 100644 --- a/Resources/ConfigPresets/WizardsDen/vulture.toml +++ b/Resources/ConfigPresets/WizardsDen/vulture.toml @@ -14,6 +14,3 @@ force_client_hud_version_watermark = true [chat] motd = "\n########################################################\n\n[font size=17]This is a test server. You can play with the newest changes to the game, but these [color=red]changes may not be final or stable[/color], and may be reverted. Please report bugs via our GitHub, forum, or community Discord.[/font]\n\n########################################################\n" - -[debug] -pow3r_disable_parallel = false From 21d47364c0ceb8745e36db4c53638b24d3c89fc1 Mon Sep 17 00:00:00 2001 From: kosticia Date: Sat, 26 Jul 2025 22:20:55 +0300 Subject: [PATCH 002/149] Some wallmount .yml cleanup (#34329) * Getting started * Move some * And some moves * And some changes * Some changes * YAML LINTER FIX * Nanomed and monitor fixes * Vending machines change * Add space... * fix * FIX * yeeee * sighs * forgor * Revert "forgor" This reverts commit 61d7fc926e7141bb510c70a9deb2a2afed925166. --- .../service_light.yml | 0 .../Machines/Computers/wooden_television.yml | 31 +++ .../Structures/Machines/vending_machines.yml | 153 ++++++++----- .../Power/Generation/generators.yml | 22 +- .../Entities/Structures/Power/apc.yml | 15 +- .../Entities/Structures/Power/chargers.yml | 3 +- .../Storage/Closets/base_structureclosets.yml | 12 +- .../Structures/Wallmounts/{ => Misc}/bell.yml | 18 +- .../Wallmounts/{ => Misc}/mirror.yml | 17 +- .../Wallmounts/{ => Misc}/noticeboard.yml | 8 +- .../Structures/Wallmounts/Signs/bar_sign.yml | 12 +- .../Wallmounts/Signs/base_structuresigns.yml | 17 +- .../Structures/Wallmounts/Signs/flags.yml | 9 +- .../Structures/Wallmounts/Signs/paintings.yml | 5 +- .../Structures/Wallmounts/Signs/posters.yml | 4 - .../Cabinets/base_wallmount_cabinet.yml | 9 + .../{ => Storage/Cabinets}/defib_cabinet.yml | 11 +- .../Cabinets}/extinguisher_cabinet.yml | 15 +- .../Cabinets}/fireaxe_cabinet.yml | 13 +- .../Cabinets}/shotgun_cabinet.yml | 0 .../Wallmounts/{ => Storage}/shelfs.yml | 14 +- .../wall_dispensers.yml} | 40 ++-- .../Wallmounts/{ => Switches}/switch.yml | 212 ++++++------------ .../{ => Switches}/switch_autolink.yml | 0 .../Monitors/telescreens.yml | 72 ++++++ .../Monitors/televisions.yml | 96 ++++++++ .../{ => WallmountMachines}/air_alarm.yml | 37 +-- .../{ => WallmountMachines}/fire_alarm.yml | 40 ++-- .../{ => WallmountMachines}/intercom.yml | 25 +-- .../{ => WallmountMachines}/screen.yml | 19 +- .../{ => WallmountMachines}/station_map.yml | 41 ++-- .../surveillance_camera.yml | 0 .../{ => WallmountMachines}/timer.yml | 20 +- .../Structures/Wallmounts/base_wallmount.yml | 51 +++++ .../Wallmounts/monitors_televisions.yml | 179 --------------- .../Prototypes/Entities/Structures/lever.yml | 53 +++++ 36 files changed, 595 insertions(+), 678 deletions(-) rename Resources/Prototypes/Entities/Structures/{Wallmounts => Lighting}/service_light.yml (100%) create mode 100644 Resources/Prototypes/Entities/Structures/Machines/Computers/wooden_television.yml rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Misc}/bell.yml (66%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Misc}/mirror.yml (71%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Misc}/noticeboard.yml (90%) create mode 100644 Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/base_wallmount_cabinet.yml rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Storage/Cabinets}/defib_cabinet.yml (86%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Storage/Cabinets}/extinguisher_cabinet.yml (79%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Storage/Cabinets}/fireaxe_cabinet.yml (81%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Storage/Cabinets}/shotgun_cabinet.yml (100%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Storage}/shelfs.yml (98%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{walldispenser.yml => Storage/wall_dispensers.yml} (82%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Switches}/switch.yml (79%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => Switches}/switch_autolink.yml (100%) create mode 100644 Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/telescreens.yml create mode 100644 Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/televisions.yml rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => WallmountMachines}/air_alarm.yml (87%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => WallmountMachines}/fire_alarm.yml (85%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => WallmountMachines}/intercom.yml (93%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => WallmountMachines}/screen.yml (68%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => WallmountMachines}/station_map.yml (86%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => WallmountMachines}/surveillance_camera.yml (100%) rename Resources/Prototypes/Entities/Structures/Wallmounts/{ => WallmountMachines}/timer.yml (85%) create mode 100644 Resources/Prototypes/Entities/Structures/Wallmounts/base_wallmount.yml delete mode 100644 Resources/Prototypes/Entities/Structures/Wallmounts/monitors_televisions.yml create mode 100644 Resources/Prototypes/Entities/Structures/lever.yml diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/service_light.yml b/Resources/Prototypes/Entities/Structures/Lighting/service_light.yml similarity index 100% rename from Resources/Prototypes/Entities/Structures/Wallmounts/service_light.yml rename to Resources/Prototypes/Entities/Structures/Lighting/service_light.yml diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/wooden_television.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/wooden_television.yml new file mode 100644 index 0000000000..b542687b57 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/wooden_television.yml @@ -0,0 +1,31 @@ +- type: entity + parent: ComputerSurveillanceWirelessCameraMonitor + id: ComputerTelevision + name: wooden television + description: Finally, some decent reception around here... + components: + - type: Sprite + noRot: true + drawdepth: SmallObjects + layers: + - map: ["computerLayerBody"] + state: television + - map: ["computerLayerScreen"] + state: detective_television + - type: Computer + board: ComputerTelevisionCircuitboard + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#b89f25" + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.25,-0.25,0.25,0.25" + density: 200 + mask: + - TabletopMachineMask + layer: + - TabletopMachineLayer diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 9cc83cf32c..fe921e9a04 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -1,3 +1,5 @@ +# base + - type: entity id: VendingMachine parent: BaseMachinePowered @@ -105,6 +107,72 @@ - type: Appearance - type: WiresVisuals +- type: entity + id: VendingMachineWallmount + parent: BaseWallmountMachine + name: vending machine + abstract: true + components: + - type: StationAiWhitelist + - type: AmbientOnPowered + - type: AmbientSound + volume: -9 + range: 3 + enabled: false + sound: + path: /Audio/Ambience/Objects/vending_machine_hum.ogg + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: ["Breakage"] + - !type:EjectVendorItems + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak + - type: Repairable + doAfterDelay: 8 + - type: ActivatableUI + key: enum.VendingMachineUiKey.Key + - type: ActivatableUIRequiresPower + - type: UserInterface + interfaces: + enum.VendingMachineUiKey.Key: + type: VendingMachineBoundUserInterface + enum.WiresUiKey.Key: + type: WiresBoundUserInterface + - type: WiresPanel + - type: Wires + boardName: wires-board-name-vendingmachine + layoutId: Vending + - type: PointLight + enabled: false + castShadows: false + radius: 1.5 + - type: LitOnPowered + - type: Appearance + - type: WiresVisuals + - type: Electrified + enabled: false + usesApcPower: true + - type: Rotatable + +# Vending machines + - type: entity parent: VendingMachine id: VendingMachineCondiments @@ -1436,59 +1504,6 @@ energy: 1.6 color: "#d4ab33" -# wallmounted machines - -- type: entity - id: VendingMachineWallmount - parent: VendingMachine - name: vending machine - abstract: true - placement: - mode: SnapgridCenter - snap: - - Wallmount - components: - - type: Sprite - drawdepth: WallMountedItems - snapCardinals: false - - type: Rotatable - - type: WallMount - arc: 175 - - type: Transform - noRot: false - -- type: entity - parent: VendingMachineWallmount - id: VendingMachineWallMedical - name: NanoMed - description: "It's a wall-mounted medical equipment dispenser. Natural chemicals only!" - components: - - type: VendingMachine - pack: NanoMedInventory - offState: off - brokenState: broken - normalState: normal-unshaded - denyState: deny-unshaded - - type: Sprite - sprite: Structures/Machines/VendingMachines/wallmed.rsi - layers: - - state: "off" - map: ["enum.VendingMachineVisualLayers.Base"] - - state: "off" - map: ["enum.VendingMachineVisualLayers.BaseUnshaded"] - shader: unshaded - - texture: Structures/Machines/VendingMachines/maintenance_panel.png - map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: PointLight - radius: 1.3 - energy: 1.6 - color: "#43ccb5" - - type: AccessReader - access: [["Medical"]] - - type: GuideHelp - guides: - - Medical - # job clothing - type: entity @@ -2225,3 +2240,35 @@ - type: AccessReader access: [["SyndicateAgent"]] +# wallmount +- type: entity + parent: VendingMachineWallmount + id: VendingMachineWallMedical + name: NanoMed + description: "It's a wall-mounted medical equipment dispenser. Natural chemicals only!" + components: + - type: VendingMachine + pack: NanoMedInventory + offState: off + brokenState: broken + normalState: normal-unshaded + denyState: deny-unshaded + - type: Sprite + sprite: Structures/Machines/VendingMachines/wallmed.rsi + layers: + - state: "off" + map: ["enum.VendingMachineVisualLayers.Base"] + - state: "off" + map: ["enum.VendingMachineVisualLayers.BaseUnshaded"] + shader: unshaded + - texture: Structures/Machines/VendingMachines/maintenance_panel.png + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: PointLight + radius: 1.3 + energy: 1.6 + color: "#43ccb5" + - type: AccessReader + access: [["Medical"]] + - type: GuideHelp + guides: + - Medical diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml index 2be509e8e6..410df05021 100644 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml @@ -96,11 +96,9 @@ - type: entity abstract: true id: BaseGeneratorWallmount - parent: BaseGenerator + parent: [ BaseGenerator, BaseWallmount ] name: wallmount generator description: A high efficiency thermoelectric generator stuffed in a wall cabinet. - placement: - mode: SnapgridCenter components: - type: AmbientOnPowered - type: AmbientSound @@ -114,12 +112,6 @@ color: "#3db83b" castShadows: false netsync: false - - type: Fixtures - - type: Transform - anchored: true - - type: Physics - bodyType: Static - canCollide: false - type: Sprite drawdepth: WallMountedItems sprite: Structures/Power/Generation/wallmount_generator.rsi @@ -142,7 +134,6 @@ supplyRate: 3000 supplyRampRate: 500 supplyRampTolerance: 500 - - type: WallMount - type: GuideHelp guides: - ShuttleCraft @@ -150,20 +141,12 @@ # Construction Frames - type: entity + parent: BaseWallmountMetallic categories: [ HideSpawnMenu ] id: BaseGeneratorWallmountFrame name: wallmount generator frame description: A construction frame for a wallmount generator. - placement: - mode: SnapgridCenter components: - - type: Clickable - - type: InteractionOutline - - type: Physics - canCollide: false - - type: Fixtures - - type: Transform - anchored: true - type: Sprite drawdepth: WallMountedItems sprite: Structures/Power/Generation/wallmount_generator.rsi @@ -172,7 +155,6 @@ - type: Construction graph: WallmountGenerator node: frame - - type: WallMount # Generators in use diff --git a/Resources/Prototypes/Entities/Structures/Power/apc.yml b/Resources/Prototypes/Entities/Structures/Power/apc.yml index 018cf2a2f1..75f61e7534 100644 --- a/Resources/Prototypes/Entities/Structures/Power/apc.yml +++ b/Resources/Prototypes/Entities/Structures/Power/apc.yml @@ -1,4 +1,5 @@ - type: entity + parent: BaseWallmount categories: [ HideSpawnMenu ] id: BaseAPC name: APC @@ -19,12 +20,8 @@ color: "#3db83b" castShadows: false netsync: false - - type: Clickable - type: AccessReader access: [["Engineering"]] - - type: InteractionOutline - - type: Transform - anchored: true - type: Sprite drawdepth: WallMountedItems sprite: Structures/Power/apc.rsi @@ -156,6 +153,7 @@ # APC under construction - type: entity + parent: BaseWallmountMetallic categories: [ HideSpawnMenu ] id: APCFrame name: APC frame @@ -163,21 +161,12 @@ placement: mode: SnapgridCenter components: - - type: Clickable - - type: InteractionOutline - - type: Transform - anchored: true - type: Sprite - drawdepth: WallMountedItems sprite: Structures/Power/apc.rsi state: frame - type: Construction graph: APC node: apcFrame - - type: WallMount - - type: Damageable - damageContainer: StructuralInorganic - damageModifierSet: StructuralMetallic - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Entities/Structures/Power/chargers.yml b/Resources/Prototypes/Entities/Structures/Power/chargers.yml index e529708abb..75e38f1187 100644 --- a/Resources/Prototypes/Entities/Structures/Power/chargers.yml +++ b/Resources/Prototypes/Entities/Structures/Power/chargers.yml @@ -193,7 +193,7 @@ - PotatoBattery - type: entity - parent: BaseItemRecharger + parent: [ BaseItemRecharger, BaseWallmount ] id: WallWeaponCapacitorRecharger name: wall recharger components: @@ -205,7 +205,6 @@ - map: ["enum.PowerChargerVisualLayers.Light"] state: "light-off" shader: "unshaded" - - type: WallMount - type: Charger chargeRate: 25 - type: ItemSlots diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml index c38a20a698..ba1ecfd749 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml @@ -129,23 +129,16 @@ #Wall Closet - type: entity + parent: BaseWallmountMetallic id: BaseWallCloset - placement: - mode: SnapgridCenter abstract: true name: wall closet description: A standard-issue Nanotrasen storage unit, now on walls. components: - - type: InteractionOutline - - type: Clickable - type: ResistLocker - type: Weldable - - type: WallMount - arc: 175 - type: StaticPrice price: 75 - - type: Transform - noRot: false - type: Sprite drawdepth: WallMountedItems noRot: false @@ -170,9 +163,6 @@ containers: entity_storage: !type:Container ents: [] - - type: Damageable - damageContainer: StructuralInorganic - damageModifierSet: Metallic - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/bell.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Misc/bell.yml similarity index 66% rename from Resources/Prototypes/Entities/Structures/Wallmounts/bell.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Misc/bell.yml index 24e5cfda2a..c8d5840889 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/bell.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Misc/bell.yml @@ -1,15 +1,9 @@ - type: entity + parent: BaseWallmountMetallic id: BoxingBell name: boxing bell description: Ding ding! - placement: - mode: SnapgridCenter - snap: - - Wallmount components: - - type: Transform - anchored: true - - type: WallMount - type: Sprite sprite: Structures/Wallmounts/bell.rsi layers: @@ -18,22 +12,12 @@ successChance: 1 interactSuccessSound: path: /Audio/Weapons/boxingbell.ogg - - type: Clickable - type: MeleeSound soundGroups: Brute: path: "/Audio/Weapons/boxingbell.ogg" - type: Appearance - - type: Rotatable - - type: CollisionWake - enabled: false - - type: Physics - canCollide: false - bodyType: Static - - type: Fixtures - - type: Damageable - damageContainer: Inorganic - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/mirror.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Misc/mirror.yml similarity index 71% rename from Resources/Prototypes/Entities/Structures/Wallmounts/mirror.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Misc/mirror.yml index 619e74e564..c32a2731cd 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/mirror.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Misc/mirror.yml @@ -1,18 +1,14 @@ - type: entity + parent: BaseWallmountGlass id: Mirror name: mirror description: 'Mirror mirror on the wall , who''s the most robust of them all?' placement: mode: SnapgridCenter components: - - type: WallMount - type: Sprite sprite: Structures/Wallmounts/mirror.rsi state: mirror - - type: InteractionOutline - - type: Clickable - - type: Transform - anchored: true - type: MagicMirror #instant and silent changeHairSound: null addSlotTime: 0 @@ -26,6 +22,17 @@ interfaces: enum.MagicMirrorUiKey.Key: type: MagicMirrorBoundUserInterface + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak - type: entity parent: Mirror diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/noticeboard.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Misc/noticeboard.yml similarity index 90% rename from Resources/Prototypes/Entities/Structures/Wallmounts/noticeboard.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Misc/noticeboard.yml index 76e17b3040..7f38f6c5ab 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/noticeboard.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Misc/noticeboard.yml @@ -1,11 +1,9 @@ - type: entity + parent: BaseWallmount id: NoticeBoard name: notice board description: Is there a job for a witcher? - placement: - mode: SnapgridCenter components: - - type: WallMount - type: Sprite drawdepth: WallMountedItems sprite: Structures/Wallmounts/noticeboard.rsi @@ -17,10 +15,6 @@ maxFillLevels: 6 fillBaseName: notice - type: Appearance - - type: InteractionOutline - - type: Clickable - - type: Transform - anchored: true - type: Damageable damageModifierSet: Wood damageContainer: StructuralInorganic diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/bar_sign.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/bar_sign.yml index f00216393b..320a251218 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/bar_sign.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/bar_sign.yml @@ -1,23 +1,15 @@ - type: entity id: BaseBarSign - parent: BaseStructure + parent: [ BaseWallmountGlass, BaseWallmountMetallic ] name: bar sign abstract: true components: - - type: MeleeSound - soundGroups: - Brute: - collection: GlassSmash - type: WallMount arc: 360 - type: Sprite - drawdepth: WallMountedItems sprite: Structures/Wallmounts/barsign.rsi state: empty - - type: ApcPowerReceiver - - type: ExtensionCableReceiver - type: BarSign - - type: InteractionOutline - type: AccessReader access: [["Bar"]] - type: ActivatableUIRequiresPower @@ -31,8 +23,6 @@ enum.WiresUiKey.Key: type: WiresBoundUserInterface - type: Appearance - - type: Damageable - damageContainer: StructuralInorganic - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/base_structuresigns.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/base_structuresigns.yml index 35281d0383..041a93e935 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/base_structuresigns.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/base_structuresigns.yml @@ -1,26 +1,12 @@ - type: entity + parent: BaseWallmountMetallic id: BaseSign name: base sign abstract: true - placement: - mode: SnapgridCenter components: - type: WallMount arc: 360 - - type: Clickable - - type: InteractionOutline - type: Rotatable - - type: Physics - bodyType: Static - canCollide: false - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb {} - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - type: Destructible thresholds: - trigger: @@ -30,7 +16,6 @@ - !type:DoActsBehavior acts: ["Destruction"] - type: Sprite - drawdepth: WallMountedItems sprite: Structures/Wallmounts/signs.rsi snapCardinals: true - type: StaticPrice diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/flags.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/flags.yml index 992f7a71e6..21076f9f07 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/flags.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/flags.yml @@ -3,10 +3,7 @@ id: BaseFlag abstract: true components: - - type: WallMount - arc: 360 - type: Sprite - drawdepth: WallMountedItems sprite: Structures/Wallmounts/flags.rsi - type: entity @@ -35,7 +32,7 @@ components: - type: Sprite state: syndie_flag - + - type: entity parent: BaseFlag id: LGBTQFlag @@ -44,7 +41,7 @@ components: - type: Sprite state: lgbtq_flag - + - type: entity parent: BaseFlag id: PirateFlag @@ -52,4 +49,4 @@ description: Raise the jolly roger, scallywags! components: - type: Sprite - state: pirate_flag \ No newline at end of file + state: pirate_flag diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/paintings.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/paintings.yml index 4f26432c60..cc43241d83 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/paintings.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/paintings.yml @@ -3,10 +3,7 @@ id: PaintingBase abstract: true components: - - type: WallMount - arc: 360 - type: Sprite - drawdepth: WallMountedItems sprite: Structures/Wallmounts/paintings.rsi - type: entity @@ -187,4 +184,4 @@ description: This painting is a sad clown! It sparks joy. components: - type: Sprite - state: painting19 + state: painting19 diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml index d4f8e29aa4..774667ce66 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml @@ -3,12 +3,8 @@ id: PosterBase abstract: true components: - - type: WallMount - arc: 360 - type: Sprite - drawdepth: WallMountedItems sprite: Structures/Wallmounts/posters.rsi - snapCardinals: true - type: Destructible thresholds: - trigger: # Excess damage, don't spawn entities diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/base_wallmount_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/base_wallmount_cabinet.yml new file mode 100644 index 0000000000..69433c3a7d --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/base_wallmount_cabinet.yml @@ -0,0 +1,9 @@ +- type: entity + parent: [BaseWallmountMetallic, BaseItemCabinet] + id: BaseWallmountCabinet + abstract: true + +- type: entity + parent: [BaseWallmountGlass, BaseItemCabinetGlass] + id: BaseWallmountCabinetGlass + abstract: true diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/defib_cabinet.yml similarity index 86% rename from Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/defib_cabinet.yml index 3e5c2486ea..0ca51b5c78 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/defib_cabinet.yml @@ -1,18 +1,12 @@ # TODO: same as other wallmount cabinets they should use a base structure prototype - type: entity - parent: BaseItemCabinet + parent: BaseWallmountCabinet id: DefibrillatorCabinet name: defibrillator cabinet description: A small wall mounted cabinet designed to hold a defibrillator. placement: mode: SnapgridCenter components: - - type: WallMount - arc: 175 - - type: Transform - anchored: true - - type: Clickable - - type: InteractionOutline - type: Sprite sprite: Structures/Wallmounts/defib_cabinet.rsi noRot: false @@ -30,9 +24,6 @@ whitelist: components: - Defibrillator - - type: Damageable - damageContainer: StructuralInorganic - damageModifierSet: Metallic - type: Destructible thresholds: - trigger: !type:DamageTrigger diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/extinguisher_cabinet.yml similarity index 79% rename from Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/extinguisher_cabinet.yml index 30db2d8e4d..1e051ed75e 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/extinguisher_cabinet.yml @@ -1,19 +1,9 @@ -# TODO: this could probably use some kind of base structure prototype -# every wallmount cabinet copypastes placement and like 8 components - type: entity - parent: BaseItemCabinet + parent: BaseWallmountCabinet id: ExtinguisherCabinet name: extinguisher cabinet description: A small wall mounted cabinet designed to hold a fire extinguisher. - placement: - mode: SnapgridCenter components: - - type: WallMount - arc: 360 - - type: Transform - anchored: true - - type: Clickable - - type: InteractionOutline - type: Sprite sprite: Structures/Wallmounts/extinguisher_cabinet.rsi snapCardinals: true @@ -31,9 +21,6 @@ whitelist: components: - SpraySafety - - type: Damageable - damageContainer: StructuralInorganic - damageModifierSet: Metallic - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/fireaxe_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/fireaxe_cabinet.yml similarity index 81% rename from Resources/Prototypes/Entities/Structures/Wallmounts/fireaxe_cabinet.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/fireaxe_cabinet.yml index c2d3c6767f..0c97f046e7 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/fireaxe_cabinet.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/fireaxe_cabinet.yml @@ -1,15 +1,11 @@ -# TODO: same as fire extinguisher make it use a base structure theres lots of copy paste - type: entity - parent: BaseItemCabinetGlass + parent: BaseWallmountCabinetGlass id: FireAxeCabinet name: fire axe cabinet description: There is a small label that reads "For Emergency use only" along with details for safe use of the axe. As if. placement: mode: SnapgridCenter components: - - type: Damageable - damageContainer: StructuralInorganic - damageModifierSet: Glass - type: Destructible thresholds: - trigger: @@ -28,13 +24,6 @@ - !type:PlaySoundBehavior sound: collection: MetalGlassBreak - - type: MeleeSound - soundGroups: - Brute: - collection: GlassSmash - - type: WallMount - - type: Clickable - - type: InteractionOutline - type: Sprite sprite: Structures/Wallmounts/fireaxe_cabinet.rsi layers: diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/shotgun_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/shotgun_cabinet.yml similarity index 100% rename from Resources/Prototypes/Entities/Structures/Wallmounts/shotgun_cabinet.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Storage/Cabinets/shotgun_cabinet.yml diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/shelfs.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/shelfs.yml similarity index 98% rename from Resources/Prototypes/Entities/Structures/Wallmounts/shelfs.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Storage/shelfs.yml index 892a5ebb92..aeceba8f2e 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/shelfs.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/shelfs.yml @@ -1,23 +1,15 @@ # Parents - type: entity - abstract: true + parent: BaseWallmount id: ShelfBase + abstract: true name: shelf description: A strange place to place, well, anything really. You feel like you shouldn't be seeing this. - placement: - mode: SnapgridCenter - snap: - - Wallmount components: - - type: Clickable - - type: Tag - tags: - - Structure - type: Sprite drawdepth: WallMountedItems sprite: Structures/Storage/Shelfs/wood.rsi state: base - - type: Transform - type: Damageable damageModifierSet: Wood damageContainer: StructuralInorganic @@ -32,7 +24,6 @@ collection: WoodDestroyHeavy - !type:DoActsBehavior acts: ["Destruction"] - - type: WallMount - type: Storage grid: - 0,0,3,1 @@ -42,7 +33,6 @@ interfaces: enum.StorageUiKey.Key: type: StorageBoundUserInterface - - type: InteractionOutline - type: ContainerContainer containers: storagebase: !type:Container diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/walldispenser.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/wall_dispensers.yml similarity index 82% rename from Resources/Prototypes/Entities/Structures/Wallmounts/walldispenser.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Storage/wall_dispensers.yml index 945bfb1a6c..962963c341 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/walldispenser.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Storage/wall_dispensers.yml @@ -1,25 +1,12 @@ - type: entity - id: CleanerDispenser - name: space cleaner dispenser - description: Wallmount reagent dispenser. - placement: - mode: SnapgridCenter - snap: - - Wallmount + parent: BaseWallmountMetallic + id: BaseDispenser + abstract: true components: - - type: WallMount - arc: 175 - type: Sprite sprite: Structures/Storage/tanks.rsi state: cleanerdispenser - type: Appearance - - type: InteractionOutline - - type: Clickable - - type: Transform - anchored: true - - type: Damageable - damageContainer: StructuralInorganic - damageModifierSet: Metallic - type: Destructible thresholds: - trigger: @@ -53,12 +40,6 @@ collection: MetalBreak - !type:DoActsBehavior acts: ["Destruction"] - - type: SolutionContainerManager - solutions: - tank: - reagents: - - ReagentId: SpaceCleaner - Quantity: 5000 - type: DrainableSolution solution: tank - type: ReagentTank @@ -66,7 +47,7 @@ solution: tank - type: entity - parent: CleanerDispenser + parent: BaseDispenser id: FuelDispenser name: fuel dispenser components: @@ -86,3 +67,16 @@ weldingDamage: types: Heat: 20 + +- type: entity + parent: BaseDispenser + id: CleanerDispenser + name: space cleaner dispenser + components: + - type: SolutionContainerManager + solutions: + tank: + reagents: + - ReagentId: SpaceCleaner + Quantity: 5000 + - type: ReagentTank diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Switches/switch.yml similarity index 79% rename from Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Switches/switch.yml index c19c73eb89..bbc6733441 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Switches/switch.yml @@ -1,19 +1,12 @@ - type: entity + parent: BaseWallmountMetallic id: SignalSwitch name: signal switch description: It's a switch for toggling power to things. - placement: - mode: SnapgridCenter - snap: - - Wallmount components: - - type: StationAiWhitelist - type: WallMount arc: 360 - - type: Clickable - - type: InteractionOutline - - type: Physics - canCollide: false + - type: StationAiWhitelist - type: Sprite drawdepth: SmallObjects sprite: Structures/Wallmounts/switch.rsi @@ -25,7 +18,6 @@ - type: Construction graph: SignalSwitchGraph node: SignalSwitchNode - - type: Fixtures - type: DeviceNetwork deviceNetId: Wireless - type: WirelessNetworkConnection @@ -37,51 +29,6 @@ - Status lastSignals: Status: false - - type: Tag - tags: - - Structure - -- type: entity - id: SignalButton - name: signal button - description: It's a button for activating something. - placement: - mode: SnapgridCenter - snap: - - Wallmount - components: - - type: StationAiWhitelist - - type: WallMount - arc: 360 - - type: Clickable - - type: InteractionOutline - - type: Physics - canCollide: false - - type: Sprite - drawdepth: SmallObjects - sprite: Structures/Wallmounts/switch.rsi - state: dead - - type: UseDelay - delay: 0.5 # prevent light-toggling auto-clickers. - - type: SignalSwitch - onPort: Pressed - offPort: Pressed - statusPort: Pressed - - type: Rotatable - - type: Construction - graph: SignalButtonGraph - node: SignalButtonNode - - type: Fixtures - - type: DeviceNetwork - deviceNetId: Wireless - - type: WirelessNetworkConnection - range: 200 - - type: DeviceLinkSource - ports: - - Pressed - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - type: Destructible thresholds: - trigger: @@ -101,100 +48,79 @@ collection: MetalBreak params: volume: -8 - - type: Tag - tags: - - Structure - type: entity + parent: BaseWallmountMetallic + id: SignalButton + name: signal button + description: It's a button for activating something. + components: + - type: WallMount + arc: 360 + - type: StationAiWhitelist + - type: Sprite + drawdepth: SmallObjects + sprite: Structures/Wallmounts/switch.rsi + state: dead + - type: UseDelay + delay: 0.5 # prevent light-toggling auto-clickers. + - type: SignalSwitch + onPort: Pressed + offPort: Pressed + statusPort: Pressed + - type: Rotatable + - type: Construction + graph: SignalButtonGraph + node: SignalButtonNode + - type: DeviceNetwork + deviceNetId: Wireless + - type: WirelessNetworkConnection + range: 200 + - type: DeviceLinkSource + ports: + - Pressed + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 80 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 40 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + params: + volume: -8 + +- type: entity + parent: BaseWallmountMetallic id: ApcNetSwitch name: apc net switch description: It's a switch for toggling lights that are connected to the same apc. - placement: - mode: SnapgridCenter - snap: - - Wallmount components: - - type: WallMount - arc: 360 - - type: Clickable - - type: InteractionOutline - - type: Physics - canCollide: false - - type: Transform - anchored: true - - type: Sprite - drawdepth: SmallObjects - sprite: Structures/Wallmounts/switch.rsi - state: on - - type: Rotatable - - type: ExtensionCableReceiver - - type: DeviceNetwork - deviceNetId: Apc - transmitFrequencyId: SmartLight # assuming people want to use it for light switches. - - type: ApcNetworkConnection - - type: ApcNetSwitch - - type: Construction - graph: LightSwitchGraph - node: LightSwitchNode - - type: Fixtures - - type: Tag - tags: - - Structure - -- type: entity - id: TwoWayLever - name: two way lever - description: A two way lever. - placement: - mode: SnapgridCenter - components: - - type: StationAiWhitelist - - type: Clickable - - type: InteractionOutline - - type: Sprite - drawdepth: HighFloorObjects - sprite: Structures/conveyor.rsi - noRot: true - layers: - - state: switch-off - map: ["enabled", "enum.TwoWayLeverState.Middle"] - - type: TwoWayLever - - type: UseDelay - delay: 0.2 # prevent light-toggling auto-clickers. - - type: Appearance - - type: GenericVisualizer - visuals: - enum.TwoWayLeverVisuals.State: - enabled: - Right: { state: switch-fwd } - Middle: { state: switch-off } - Left: { state: switch-rev } - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Metallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: Construction - graph: LeverGraph - node: LeverNode - - type: DeviceNetwork - deviceNetId: Wireless - - type: WirelessNetworkConnection - range: 200 - - type: DeviceLinkSource - ports: - - Left - - Right - - Middle - - type: Tag - tags: - - Structure + - type: WallMount + arc: 360 + - type: Sprite + drawdepth: SmallObjects + sprite: Structures/Wallmounts/switch.rsi + state: on + - type: Rotatable + - type: ExtensionCableReceiver + - type: DeviceNetwork + deviceNetId: Apc + transmitFrequencyId: SmartLight # assuming people want to use it for light switches. + - type: ApcNetworkConnection + - type: ApcNetSwitch + - type: Construction + graph: LightSwitchGraph + node: LightSwitchNode #directional diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/switch_autolink.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Switches/switch_autolink.yml similarity index 100% rename from Resources/Prototypes/Entities/Structures/Wallmounts/switch_autolink.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/Switches/switch_autolink.yml diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/telescreens.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/telescreens.yml new file mode 100644 index 0000000000..fd2ba1d072 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/telescreens.yml @@ -0,0 +1,72 @@ +- type: entity + parent: BaseWallmountMachine + id: WallmountTelescreen + suffix: camera monitor + name: telescreen + description: Finally, some decent reception around here... + components: + - type: Sprite + sprite: Structures/Machines/computers.rsi + layers: + - map: ["computerLayerBody"] + state: telescreen_frame + - map: ["computerLayerScreen"] + state: telescreen + - type: Construction + graph: WallmountTelescreen + node: Telescreen + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#b89f25" + - type: DeviceNetwork + deviceNetId: Wired + receiveFrequencyId: SurveillanceCamera + transmitFrequencyId: SurveillanceCamera + - type: WiredNetworkConnection + - type: DeviceNetworkRequiresPower + - type: SurveillanceCameraMonitor + - type: ActivatableUI + key: enum.SurveillanceCameraMonitorUiKey.Key + - type: ActivatableUIRequiresPower + - type: ActivatableUIRequiresVision + - type: UserInterface + interfaces: + enum.SurveillanceCameraMonitorUiKey.Key: + type: SurveillanceCameraMonitorBoundUserInterface + +- type: entity + parent: BaseWallmountMetallic + id: WallmountTelescreenFrame + name: telescreen frame + description: Finally, some decent reception around here... + components: + - type: Construction + graph: WallmountTelescreen + node: TelescreenFrame + - type: Sprite + sprite: Structures/Machines/computers.rsi + layers: + - map: ["computerLayerBody"] + state: telescreen_frame + - map: ["computerLayerScreen"] + state: telescreen + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: #excess damage, don't spawn entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/televisions.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/televisions.yml new file mode 100644 index 0000000000..b600ece985 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/televisions.yml @@ -0,0 +1,96 @@ +- type: entity + parent: BaseWallmountMachine + id: WallmountTelevision + suffix: entertainment + name: television + description: Finally, some decent reception around here... + components: + - type: Construction + graph: WallmountTelevision + node: Television + - type: Sprite + sprite: Structures/Wallmounts/flatscreentv.rsi + layers: + - map: ["computerLayerBody"] + state: television_wall + - map: ["computerLayerScreen"] + state: television_wallscreen + - type: DeviceNetwork + deviceNetId: Wireless + receiveFrequencyId: SurveillanceCamera + transmitFrequencyId: SurveillanceCamera + - type: WirelessNetworkConnection + range: 200 + - type: DeviceNetworkRequiresPower + - type: Speech + - type: SurveillanceCameraSpeaker + - type: SurveillanceCameraMonitor + - type: ActivatableUI + key: enum.SurveillanceCameraMonitorUiKey.Key + - type: ActivatableUIRequiresPower + - type: ActivatableUIRequiresVision + - type: UserInterface + interfaces: + enum.SurveillanceCameraMonitorUiKey.Key: + type: SurveillanceCameraMonitorBoundUserInterface + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#b89f25" + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak + params: + volume: -4 + - type: StationAiWhitelist + +- type: entity + parent: BaseWallmountGlass + id: WallmountTelevisionFrame + name: television frame + description: Finally, some decent reception around here... + components: + - type: Construction + graph: WallmountTelevision + node: TelevisionFrame + - type: Sprite + drawdepth: WallMountedItems + sprite: Structures/Wallmounts/flatscreentv.rsi + layers: + - map: ["computerLayerBody"] + state: television_wall + - map: ["computerLayerScreen"] + state: television_wallscreen + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak + params: + volume: -4 diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/air_alarm.yml similarity index 87% rename from Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/air_alarm.yml index d8c50211cc..609f6e21ea 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/air_alarm.yml @@ -1,19 +1,13 @@ - type: entity + parent: BaseWallmountMachine id: AirAlarm name: air alarm description: An air alarm. Alarms... air? - placement: - mode: SnapgridCenter - snap: - - Wallmount components: - type: StationAiWhitelist - - type: WallMount - - type: ApcPowerReceiver - type: Electrified enabled: false usesApcPower: true - - type: ExtensionCableReceiver - type: DeviceNetwork deviceNetId: AtmosDevices receiveFrequencyId: AtmosMonitor @@ -86,8 +80,6 @@ map: ["airAlarmState"] # TODO: fire alarm enum - state: alarmx map: ["enum.WiresVisualLayers.MaintenancePanel"] - - type: Transform - anchored: true - type: Construction graph: AirAlarm node: air_alarm @@ -119,17 +111,11 @@ - DeviceMonitoringAndControl - type: entity + parent: BaseWallmountMetallic id: AirAlarmAssembly name: air alarm assembly description: An air alarm. Doesn't look like it'll be alarming air any time soon. - placement: - mode: SnapgridCenter - snap: - - Wallmount components: - - type: WallMount - - type: Clickable - - type: InteractionOutline - type: Sprite sprite: Structures/Wallmounts/air_monitors.rsi layers: @@ -147,6 +133,25 @@ node: assembly - type: Transform anchored: true + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak + params: + volume: -4 - type: entity id: AirAlarmXeno diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/fire_alarm.yml similarity index 85% rename from Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/fire_alarm.yml index 93e398a974..1f2a20dc30 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/fire_alarm.yml @@ -1,10 +1,11 @@ - type: entity + parent: BaseWallmountMachine id: FireAlarm name: fire alarm description: A fire alarm. Spicy! components: - - type: WallMount - - type: ApcPowerReceiver + - type: LightningTarget + priority: 0 - type: Electrified enabled: false usesApcPower: true @@ -39,8 +40,6 @@ - type: Tag tags: - FireAlarm - - type: Clickable - - type: InteractionOutline - type: FireAlarm - type: AtmosAlertsDevice group: FireAlarm @@ -108,19 +107,13 @@ params: volume: -4 - type: StationAiWhitelist - placement: - mode: SnapgridCenter - snap: - - Wallmount - type: entity + parent: BaseWallmountMetallic id: FireAlarmAssembly name: fire alarm assembly description: A fire alarm assembly. Very mild. components: - - type: WallMount - - type: Clickable - - type: InteractionOutline - type: Sprite sprite: Structures/Wallmounts/air_monitors.rsi layers: @@ -136,12 +129,25 @@ - type: Construction graph: FireAlarm node: assembly - - type: Transform - anchored: true - placement: - mode: SnapgridCenter - snap: - - Wallmount + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 20 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak + params: + volume: -4 - type: entity id: FireAlarmXeno diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/intercom.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/intercom.yml similarity index 93% rename from Resources/Prototypes/Entities/Structures/Wallmounts/intercom.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/intercom.yml index 7a343ab6ad..6d04ada47c 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/intercom.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/intercom.yml @@ -1,12 +1,11 @@ - type: entity + parent: BaseWallmountMachine id: BaseIntercom name: intercom description: An intercom. For when the station just needs to know something. abstract: true components: - type: StationAiWhitelist - - type: WallMount - - type: ApcPowerReceiver - type: Electrified enabled: false usesApcPower: true @@ -27,9 +26,6 @@ - type: VoiceOverride # This is for the wire that makes an electricity zapping noise. speechVerbOverride: Electricity enabled: false - - type: ExtensionCableReceiver - - type: Clickable - - type: InteractionOutline - type: Appearance - type: WiresVisuals - type: WiresPanelSecurity @@ -60,9 +56,6 @@ - state: panel map: ["enum.WiresVisualLayers.MaintenancePanel"] visible: false - - type: Transform - noRot: false - anchored: true - type: WiresPanel - type: Wires boardName: wires-board-name-intercom @@ -83,9 +76,6 @@ containers: - board - key_slots - - type: Damageable - damageContainer: StructuralInorganic - damageModifierSet: StructuralMetallic - type: Destructible thresholds: - trigger: @@ -123,19 +113,12 @@ enum.RadioDeviceVisualLayers.Speaker: True: { visible: true } False: { visible: false } - placement: - mode: SnapgridCenter - snap: - - Wallmount - type: entity id: IntercomAssembly name: intercom assembly description: An intercom. It doesn't seem very helpful right now. components: - - type: WallMount - - type: Clickable - - type: InteractionOutline - type: Sprite drawdepth: SmallObjects sprite: Structures/Wallmounts/intercom.rsi @@ -154,12 +137,6 @@ - type: Construction graph: Intercom node: assembly - - type: Transform - anchored: true - placement: - mode: SnapgridCenter - snap: - - Wallmount # this weird inheritance BS exists for construction shitcode - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/screen.yml similarity index 68% rename from Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/screen.yml index 9d5cf06d51..bb794e8ac0 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/screen.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/screen.yml @@ -1,19 +1,9 @@ - type: entity + parent: BaseWallmountMachine id: Screen name: screen description: Displays text or time. - placement: - mode: SnapgridCenter - snap: - - Wallmount components: - - type: Transform - anchored: true - - type: WallMount - arc: 360 - - type: InteractionOutline - - type: Clickable - - type: Appearance - type: Rotatable - type: TextScreenVisuals textOffset: 0,3 @@ -24,14 +14,8 @@ sprite: Structures/Wallmounts/screen.rsi state: screen noRot: true - - type: Construction - graph: Timer - node: screen - type: ApcPowerReceiver powerLoad: 100 - - type: Electrified - enabled: false - usesApcPower: true - type: ExtensionCableReceiver - type: Screen - type: DeviceNetwork @@ -42,6 +26,7 @@ id: ArrivalsShuttleTimer parent: Screen name: arrivals screen + description: Displays time of arrivals shuttle ETA. components: - type: DeviceNetwork deviceNetId: Private diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/station_map.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/station_map.yml similarity index 86% rename from Resources/Prototypes/Entities/Structures/Wallmounts/station_map.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/station_map.yml index becdfc7f65..5e3b29e36f 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/station_map.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/station_map.yml @@ -1,22 +1,15 @@ - type: entity + parent: BaseWallmountMetallic id: StationMapBroken name: station map description: A virtual map of the surrounding station. suffix: Wall broken - placement: - mode: SnapgridCenter components: - - type: InteractionOutline - - type: Clickable - - type: Transform - anchored: true - type: Sprite sprite: Structures/Machines/station_map.rsi drawdepth: WallMountedItems layers: - state: station_map_broken - - type: Damageable - damageContainer: StructuralInorganic - type: Destructible thresholds: - trigger: @@ -30,17 +23,16 @@ acts: [ "Destruction" ] - type: entity + parent: BaseWallmountMachine id: StationMap name: station map - parent: BaseComputer description: A virtual map of the surrounding station. suffix: Wall - placement: - mode: SnapgridCenter components: + - type: WallMount + arc: 360 + - type: Appearance - type: StationMap - - type: Transform - anchored: true - type: Sprite sprite: Structures/Machines/station_map.rsi layers: @@ -59,9 +51,6 @@ board: !type:Container - type: ApcPowerReceiver powerLoad: 200 - - type: WallMount - arc: 360 - - type: ExtensionCableReceiver - type: Construction graph: StationMap node: station_map @@ -97,15 +86,25 @@ interfaces: enum.StationMapUiKey.Key: type: StationMapBoundUserInterface + - type: EmitSoundOnUIOpen + sound: + collection: Keyboard + params: + volume: -1 + variation: 0.10 + pitch: 1.10 # low pitch keyboard sounds feel kinda weird + blacklist: + tags: + - NoConsoleSound - type: entity + parent: BaseWallmountMetallic id: StationMapAssembly name: station map assembly description: A station map assembly. components: - type: WallMount - - type: Clickable - - type: InteractionOutline + arc: 360 - type: Sprite sprite: Structures/Machines/station_map.rsi layers: @@ -122,9 +121,3 @@ - type: Construction graph: StationMap node: assembly - - type: Transform - anchored: true - placement: - mode: SnapgridCenter - snap: - - Wallmount diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/surveillance_camera.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/surveillance_camera.yml similarity index 100% rename from Resources/Prototypes/Entities/Structures/Wallmounts/surveillance_camera.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/surveillance_camera.yml diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/timer.yml similarity index 85% rename from Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml rename to Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/timer.yml index 278d93df68..895b84eb7b 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/timer.yml @@ -1,19 +1,12 @@ - type: entity + parent: BaseWallmountMachine id: SignalTimer name: signal timer description: It's a timer for sending timed signals to things. - placement: - mode: SnapgridCenter - snap: - - Wallmount components: - type: StationAiWhitelist - - type: Transform - anchored: true - type: WallMount arc: 360 - - type: Clickable - - type: InteractionOutline - type: Sprite drawdepth: SmallObjects sprite: Structures/Wallmounts/switch.rsi @@ -35,12 +28,9 @@ interfaces: enum.SignalTimerUiKey.Key: type: SignalTimerBoundUserInterface - - type: ApcPowerReceiver - powerLoad: 100 - type: Electrified enabled: false usesApcPower: true - - type: ExtensionCableReceiver - type: ActivatableUIRequiresPower - type: Construction graph: Timer @@ -102,17 +92,10 @@ # Construction Frame - type: entity - categories: [ HideSpawnMenu ] id: TimerFrame name: timer frame description: A construction frame for a timer. - placement: - mode: SnapgridCenter components: - - type: Clickable - - type: InteractionOutline - - type: Transform - anchored: true - type: Sprite drawdepth: WallMountedItems sprite: Structures/Wallmounts/signalscreen.rsi @@ -121,3 +104,4 @@ graph: Timer node: frame - type: WallMount + arc: 360 diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/base_wallmount.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/base_wallmount.yml new file mode 100644 index 0000000000..824a446013 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/base_wallmount.yml @@ -0,0 +1,51 @@ +- type: entity + id: BaseWallmount + abstract: true + placement: + mode: SnapgridCenter + snap: + - Wallmount + components: + - type: Clickable + - type: WallMount + - type: InteractionOutline + - type: Transform + anchored: true + - type: Tag + tags: + - Structure + - type: Sprite + drawdepth: WallMountedItems + +- type: entity + parent: BaseWallmount + id: BaseWallmountGlass + abstract: true + components: + - type: MeleeSound + soundGroups: + Brute: + collection: GlassSmash + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: Glass + +- type: entity + parent: BaseWallmount + id: BaseWallmountMetallic + abstract: true + components: + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: StructuralMetallic + +- type: entity + parent: BaseWallmountMetallic + id: BaseWallmountMachine + abstract: true + components: + - type: ApcPowerReceiver + powerLoad: 100 + - type: ExtensionCableReceiver + - type: LightningTarget + priority: 1 diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/monitors_televisions.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/monitors_televisions.yml deleted file mode 100644 index 8c98831e1f..0000000000 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/monitors_televisions.yml +++ /dev/null @@ -1,179 +0,0 @@ -- type: entity - parent: ComputerSurveillanceWirelessCameraMonitor - id: ComputerTelevision - name: wooden television - description: Finally, some decent reception around here... - components: - - type: Sprite - noRot: true - drawdepth: SmallObjects - layers: - - map: ["computerLayerBody"] - state: television - - map: ["computerLayerScreen"] - state: detective_television - - type: Computer - board: ComputerTelevisionCircuitboard - - type: PointLight - radius: 1.5 - energy: 1.6 - color: "#b89f25" - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.25,-0.25,0.25,0.25" - density: 200 - mask: - - TabletopMachineMask - layer: - - TabletopMachineLayer - -- type: entity - parent: BaseComputer - id: WallmountTelescreenFrame - name: telescreen frame - description: Finally, some decent reception around here... - components: - - type: Construction - graph: WallmountTelescreen - node: TelescreenFrame - - type: Sprite - drawdepth: WallMountedItems - sprite: Structures/Machines/computers.rsi - layers: - - map: ["computerLayerBody"] - state: telescreen_frame - - map: ["computerLayerScreen"] - state: telescreen - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.20,-0.10,0.25,0.35" - density: 250 - mask: - - FullTileMask - layer: - - WallLayer - - type: WallMount - - type: Damageable - damageContainer: StructuralInorganic - damageModifierSet: Metallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 200 - behaviors: #excess damage, don't spawn entities. - - !type:DoActsBehavior - acts: [ "Destruction" ] - - trigger: - !type:DamageTrigger - damage: 50 - behaviors: - - !type:SpawnEntitiesBehavior - spawn: - SheetSteel1: - min: 1 - max: 1 - - !type:DoActsBehavior - acts: [ "Destruction" ] - - type: Transform - anchored: true - -- type: entity - parent: WallmountTelescreenFrame - id: WallmountTelescreen - suffix: camera monitor - name: telescreen - description: Finally, some decent reception around here... - components: - - type: Construction - graph: WallmountTelescreen - node: Telescreen - - type: PointLight - radius: 1.5 - energy: 1.6 - color: "#b89f25" - - type: DeviceNetwork - deviceNetId: Wired - receiveFrequencyId: SurveillanceCamera - transmitFrequencyId: SurveillanceCamera - - type: WiredNetworkConnection - - type: DeviceNetworkRequiresPower - - type: SurveillanceCameraMonitor - - type: ActivatableUI - key: enum.SurveillanceCameraMonitorUiKey.Key - - type: ActivatableUIRequiresPower - - type: ActivatableUIRequiresVision - - type: UserInterface - interfaces: - enum.SurveillanceCameraMonitorUiKey.Key: - type: SurveillanceCameraMonitorBoundUserInterface - -# Wall Televisions - -- type: entity - parent: WallmountTelescreenFrame - id: WallmountTelevisionFrame - name: television frame - description: Finally, some decent reception around here... - components: - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.75,-0.10,0.75,0.35" - density: 75 - mask: - - FullTileMask - layer: - - WallLayer - - type: Construction - graph: WallmountTelevision - node: TelevisionFrame - - type: Sprite - drawdepth: WallMountedItems - sprite: Structures/Wallmounts/flatscreentv.rsi - layers: - - map: ["computerLayerBody"] - state: television_wall - - map: ["computerLayerScreen"] - state: television_wallscreen - -- type: entity - parent: WallmountTelevisionFrame - id: WallmountTelevision - suffix: entertainment - name: television - description: Finally, some decent reception around here... - components: - - type: Construction - graph: WallmountTelevision - node: Television - - type: DeviceNetwork - deviceNetId: Wireless - receiveFrequencyId: SurveillanceCamera - transmitFrequencyId: SurveillanceCamera - - type: WirelessNetworkConnection - range: 200 - - type: DeviceNetworkRequiresPower - - type: Speech - - type: SurveillanceCameraSpeaker - - type: SurveillanceCameraMonitor - - type: ActivatableUI - key: enum.SurveillanceCameraMonitorUiKey.Key - - type: ActivatableUIRequiresPower - - type: ActivatableUIRequiresVision - - type: UserInterface - interfaces: - enum.SurveillanceCameraMonitorUiKey.Key: - type: SurveillanceCameraMonitorBoundUserInterface - - type: PointLight - radius: 1.5 - energy: 1.6 - color: "#b89f25" diff --git a/Resources/Prototypes/Entities/Structures/lever.yml b/Resources/Prototypes/Entities/Structures/lever.yml new file mode 100644 index 0000000000..7efb4cea57 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/lever.yml @@ -0,0 +1,53 @@ +- type: entity + id: TwoWayLever + name: two way lever + description: A two way lever. + placement: + mode: SnapgridCenter + components: + - type: StationAiWhitelist + - type: Clickable + - type: InteractionOutline + - type: Sprite + drawdepth: FloorObjects + sprite: Structures/conveyor.rsi + layers: + - state: switch-off + map: ["enabled", "enum.TwoWayLeverState.Middle"] + - type: TwoWayLever + - type: UseDelay + delay: 0.2 # prevent light-toggling auto-clickers. + - type: Appearance + - type: GenericVisualizer + visuals: + enum.TwoWayLeverVisuals.State: + enabled: + Right: { state: switch-fwd } + Middle: { state: switch-off } + Left: { state: switch-rev } + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: LeverGraph + node: LeverNode + - type: DeviceNetwork + deviceNetId: Wireless + - type: WirelessNetworkConnection + range: 200 + - type: DeviceLinkSource + ports: + - Left + - Right + - Middle + - type: Tag + tags: + - Structure From 43b3250e26959227c71917322bfedc16bcd67879 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sun, 27 Jul 2025 00:58:06 +0200 Subject: [PATCH 003/149] Replace bad changelog entry (#39229) --- Resources/Changelog/Changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 9b70794553..a9afedb01f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -3903,7 +3903,7 @@ url: https://github.com/space-wizards/space-station-14/pull/37915 - author: Quantum-cross changes: - - message: pinpointer will no longer trigger sufferers of OCD + - message: Fixed pinpointer arrow not being centered properly. type: Fix id: 8809 time: '2025-07-25T19:46:42.0000000+00:00' From 6aa278a709b0f2e0816457940919a0fe1c338114 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 26 Jul 2025 18:10:00 -0700 Subject: [PATCH 004/149] Update Credits (#39232) Co-authored-by: PJBot --- Resources/Credits/GitHub.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt index 3317dfefef..d171df5b5d 100644 --- a/Resources/Credits/GitHub.txt +++ b/Resources/Credits/GitHub.txt @@ -1 +1 @@ -0leshe, 0tito, 0x6273, 12rabbits, 1337dakota, 13spacemen, 154942, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, 96flo, aaron, abadaba695, Ablankmann, abregado, Absolute-Potato, Absotively, achookh, Acruid, ActiveMammmoth, actually-reb, ada-please, adamsong, Adeinitas, adm2play, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aearo-Deepwater, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, afrokada, AftrLite, AgentSmithRadio, Agoichi, Ahion, aiden, Aidenkrz, Aisu9, ajcm, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexum418, alexumandxgabriel08x, Alice4267, Alithsko, alliephante, ALMv1, Alpaccalypse, Alpha-Two, AlphaQwerty, Altoids1, amatwiedle, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, ApolloVector, Appiah, ar4ill, archee1, ArchPigeon, ArchRBX, areitpog, Arendian, areyouconfused, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, AverageNotDoingAnythingEnjoyer, avghdev, Awlod, AzzyIsNotHere, azzyisnothere, B-Kirill, B3CKDOOR, baa14453, BackeTako, Bakke, BananaFlambe, Baptr0b0t, BarryNorfolk, BasedUser, beck-thompson, beesterman, bellwetherlogic, ben, benbryant0, benev0, benjamin-burges, BGare, bhespiritu, bibbly, BigfootBravo, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, blitzthesquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, Bokser815, bolantej, Booblesnoot42, Boolean-Buckeye, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, BWTCK, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, Camdot, capnsockless, CaptainMaru, captainsqrbeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, catdotjs, catlord, Catofquestionableethics, CatTheSystem, Centronias, Chaboricks, chairbender, Chaoticaa, Charlese2, charlie, chartman, ChaseFlorom, chavonadelal, Cheackraze, CheddaCheez, cheesePizza2, CheesePlated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, ciaran, citrea, civilCornball, claustro305, Clement-O, clyf, Clyybber, CMDR-Piboy314, cnv41, coco, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, Compilatron144, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, cooperwallace, corentt, CormosLemming, CrafterKolyan, crazybrain23, Crazydave91920, creadth, CrigCrag, CroilBird, Crotalus, CrudeWax, cryals, CrzyPotato, cubixthree, cutemoongod, Cyberboss, d34d10cc, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, dan, dangerrevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, DeepwaterCreations, Deerstop, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, devinschubert14, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinnerCalzone, DinoWattz, Disp-Dev, DisposableCrewmember42, dissidentbullet, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, DR-DOCTOR-EVIL-EVIL, Dragonjspider, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, DuckManZach, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, dylanstrategie, dylanwhittingham, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, Entvari, eoineoineoin, ephememory, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, farrellka-dev, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, firenamefn, Firewars763, FirinMaLazors, Fishfish458, fl-oz, Flareguy, flashgnash, FlipBrooke, FluffiestFloof, FluffMe, FluidRock, flymo5678, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, foxhorn, freeman2651, freeze2222, frobnic8, Froffy025, Fromoriss, froozigiusz, FrostMando, FrostRibbon, Funce, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gamewar360, gansulalan, GaussiArson, Gaxeer, gbasood, gcoremans, Geekyhobo, genderGeometries, GeneralGaws, Genkail, Gentleman-Bird, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GnarpGnarp, GNF54, godisdeadLOL, goet, GoldenCan, Goldminermac, Golinth, golubgik, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GrownSamoyedDog, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Helix-ctrl, helm4142, Henry, HerCoyote23, HighTechPuddle, Hitlinemoss, hiucko, hivehum, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hoshizora, Hreno, Hrosts, htmlsystem, hubismal, Hugal31, Huxellberger, Hyenh, hyperb1, hyperDelegate, hyphenationc, i-justuser-i, iaada, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imatsoup, IMCB, impubbi, imrenq, imweax, indeano, Injazz, Insineer, insoPL, IntegerTempest, Interrobang01, Intoxicating-Innocence, IProduceWidgets, itsmethom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jacktastic09, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, jbox144, JCGWE30, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jkwookee, jmcb, JohnGinnane, johnku1, Jophire, joshepvodka, JpegOfAFrog, jproads, JrInventor05, Jrpl, jukereise, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, JustinWinningham, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, kaiserbirch, KaiShibaa, kalane15, kalanosh, KamTheSythe, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, KieueCaprie, Killerqu00, Kimpes, KingFroozy, kira-er, kiri-yoshikage, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, Kittygyat, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, kotobdev, Kowlin, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, LaCumbiaDelCoronavirus, lajolico, Lamrr, lanedon, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonidussaks, leonsfriedrich, LeoSantich, lettern, LetterN, Level10Cybermancer, LEVELcat, lever1209, LevitatingTree, Lgibb18, lgruthes, LightVillet, liltenhead, linkbro1, linkuyx, Litraxx, little-meow-meow, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, ljm862, lmsnoise, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, lucas, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, Lusatia, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M1tht1c, M3739, mac6na6na, MACMAN2003, Macoron, magicalus, magmodius, MagnusCrowe, maland1, malchanceux, MaloTV, ManelNavola, manelnavola, Mangohydra, marboww, Markek1, matt, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, memeproof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, mifia, MilenVolf, MilonPL, Minemoder5000, Minty642, minus1over12, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterImp, MisterMecky, Mith-randalf, Mixelz, mjarduk, MjrLandWhale, mkanke-real, MLGTASTICa, mnva0, moderatelyaware, modern-nm, mokiros, momo, Moneyl, monotheonist, Moomoobeef, moony, Morb0, MossyGreySlope, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, murolem, musicmanvr, MWKane, Myakot, Myctai, N3X15, nabegator, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikitosych, nikthechampiongr, Nimfar11, ninruB, Nirnael, NIXC, nkokic, NkoKirkto, nmajask, noctyrnal, noelkathegod, noirogen, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, Nox38, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, Nyxilath, och-och, OctoRocket, OldDanceJacket, OliverOtter, onesch, OneZerooo0, OnyxTheBrave, Orange-Winds, OrangeMoronage9622, Orsoniks, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paige404, paigemaeforrest, pali6, Palladinium, Pangogie, panzer-iv1, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, perryprog, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, philingham, Phill101, Phooooooooooooooooooooooooooooooosphate, phunnyguy, PicklOH, PilgrimViis, Pill-U, pinkbat5, Piras314, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, poklj, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, PotRoastPiggy, Princess-Cheeseballs, ProfanedBane, PROG-MohamedDwidar, Prole0, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykana, psykzz, PuceTint, pumkin69, PuroSlavKing, PursuitInAshes, Putnam3145, py01, Pyrovi, qrtDaniil, qrwas, Quantum-cross, quatre, QueerNB, QuietlyWhisper, qwerltaz, Radezolid, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, RedBookcase, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, ReeZer2, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, rhsvenson, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, rlebell33, RobbyTheFish, robinthedragon, Rockdtben, Rohesie, rok-povsic, rokudara-sen, rolfero, RomanNovo, rosieposieeee, Roudenn, router, ruddygreat, rumaks, RumiTiger, Ruzihm, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, Samuka-C, SaphireLattice, SapphicOverload, sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, schrodinger71, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, SeamLesss, Segonist, semensponge, sephtasm, Serkket, sewerpig, SG6732, sh18rw, Shaddap1, ShadeAware, ShadowCommander, shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SharkSnake98, shibechef, SignalWalker, siigiil, silicon14wastaken, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skybailey-dev, Skyedra, SlamBamActionman, slarticodefast, Slava0135, sleepyyapril, slimmslamm, Slyfox333, Smugman, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, solstar2, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, soupkilove, southbridge-fur, sowelipililimute, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, Spangs04, spanky-spanky, Sparlight, spartak, SpartanKadence, spderman3333, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, starbuckss14, Stealthbomber16, stellar-novas, stewie523, stomf, Stop-Signs, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, supergdpwyl, superjj18, Supernorn, SweptWasTaken, SyaoranFox, Sybil, SYNCHRONIC, Szunti, t, Tainakov, takemysoult, tap, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TeenSarlacc, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, Tezzaide, TGODiamond, TGRCdev, tgrkzus, ThatGuyUSA, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, TheBlueYowie, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheFlyingSentry, TheIntoxicatedCat, thekilk, themias, theomund, TheProNoob678, TherapyGoth, ThereDrD0, TheShuEd, thetolbean, thevinter, TheWaffleJesus, thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, TiniestShark, Titian3, tk-a369, tkdrg, tmtmtl30, ToastEnjoyer, Toby222, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, tornado-technology, TornadoTechnology, tosatur, TotallyLemon, ToxicSonicFan04, Tr1bute, trixxedbit, TrixxedHeart, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, tyashley, Tyler-IN, TytosB, Tyzemol, UbaserB, ubis1, UBlueberry, uhbg, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, unusualcrow, Uriende, UristMcDorf, user424242420, Utmanarn, Vaaankas, valentfingerov, valquaint, Varen, Vasilis, VasilisThePikachu, veliebm, Velken, VelonacepsCalyxEggs, veprolet, VerinSenpai, veritable-calamity, Veritius, Vermidia, vero5123, verslebas, vexerot, viceemargo, VigersRay, violet754, Visne, vitusveit, vlad, vlados1408, VMSolidus, vmzd, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, Vortebo, vulppine, wafehling, walksanatora, Warentan, WarMechanic, Watermelon914, weaversam8, wertanchik, whateverusername0, whatston3, widgetbeck, Will-Oliver-Br, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, Wolfkey-SomeoneElseTookMyUsername, wrexbe, WTCWR68, xeri7, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, YoungThugSS14, Yousifb26, youtissoum, yunii, YuriyKiss, yuriykiss, zach-hill, Zadeon, Zalycon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, ZeWaka, zHonys, zionnBE, ZNixian, Zokkie, ZoldorfTheWizard, zonespace27, Zylofan, Zymem, zzylex +0leshe, 0tito, 0x6273, 12rabbits, 1337dakota, 13spacemen, 154942, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, 96flo, aaron, abadaba695, Ablankmann, abregado, Absolute-Potato, Absotively, achookh, Acruid, ActiveMammmoth, actually-reb, ada-please, adamsong, Adeinitas, adm2play, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aearo-Deepwater, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, afrokada, AftrLite, AgentSmithRadio, Agoichi, Ahion, aiden, Aidenkrz, Aisu9, ajcm, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexum418, alexumandxgabriel08x, Alice4267, Alithsko, alliephante, ALMv1, Alpaccalypse, Alpha-Two, AlphaQwerty, Altoids1, amatwiedle, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, ApolloVector, Appiah, ar4ill, archee1, ArchPigeon, ArchRBX, areitpog, Arendian, areyouconfused, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, AverageNotDoingAnythingEnjoyer, avghdev, Awlod, AzzyIsNotHere, azzyisnothere, B-Kirill, B3CKDOOR, baa14453, BackeTako, Bakke, BananaFlambe, Baptr0b0t, BarryNorfolk, BasedUser, beck-thompson, beesterman, bellwetherlogic, ben, benbryant0, benev0, benjamin-burges, BGare, bhespiritu, bibbly, BigfootBravo, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, blitzthesquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, Bokser815, bolantej, Booblesnoot42, Boolean-Buckeye, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, BWTCK, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, Camdot, capnsockless, CaptainMaru, captainsqrbeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, catdotjs, catlord, Catofquestionableethics, CatTheSystem, Centronias, Chaboricks, chairbender, Chaoticaa, Charlese2, charlie, chartman, ChaseFlorom, chavonadelal, Cheackraze, CheddaCheez, cheesePizza2, CheesePlated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, ciaran, citrea, civilCornball, claustro305, Clement-O, clyf, Clyybber, CMDR-Piboy314, cnv41, coco, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, Compilatron144, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, cooperwallace, corentt, CormosLemming, CrafterKolyan, crazybrain23, Crazydave91920, creadth, CrigCrag, CroilBird, Crotalus, CrudeWax, cryals, CrzyPotato, cubixthree, cutemoongod, Cyberboss, d34d10cc, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, dan, dangerrevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, DeepwaterCreations, Deerstop, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, devinschubert14, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinnerCalzone, DinoWattz, Disp-Dev, DisposableCrewmember42, dissidentbullet, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, DR-DOCTOR-EVIL-EVIL, Dragonjspider, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, DuckManZach, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, dylanstrategie, dylanwhittingham, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, Entvari, eoineoineoin, ephememory, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, farrellka-dev, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, firenamefn, Firewars763, FirinMaLazors, Fishfish458, fl-oz, Flareguy, flashgnash, FlipBrooke, FluffiestFloof, FluffMe, FluidRock, flymo5678, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, foxhorn, freeman2651, freeze2222, frobnic8, Froffy025, Fromoriss, froozigiusz, FrostMando, FrostRibbon, Funce, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gamewar360, gansulalan, GaussiArson, Gaxeer, gbasood, gcoremans, Geekyhobo, genderGeometries, GeneralGaws, Genkail, Gentleman-Bird, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GnarpGnarp, GNF54, godisdeadLOL, goet, GoldenCan, Goldminermac, Golinth, golubgik, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GrownSamoyedDog, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Helix-ctrl, helm4142, Henry, HerCoyote23, HighTechPuddle, Hitlinemoss, hiucko, hivehum, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hoshizora, Hreno, Hrosts, htmlsystem, hubismal, Hugal31, Huxellberger, Hyenh, hyperb1, hyperDelegate, hyphenationc, i-justuser-i, iaada, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imatsoup, IMCB, impubbi, imrenq, imweax, indeano, Injazz, Insineer, insoPL, IntegerTempest, Interrobang01, Intoxicating-Innocence, IProduceWidgets, itsmethom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jacktastic09, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, jbox144, JCGWE30, jerryimmouse, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jkwookee, jmcb, JohnGinnane, johnku1, Jophire, joshepvodka, JpegOfAFrog, jproads, JrInventor05, Jrpl, jukereise, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, JustinWinningham, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, kaiserbirch, KaiShibaa, kalane15, kalanosh, KamTheSythe, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, KieueCaprie, Killerqu00, Kimpes, KingFroozy, kira-er, kiri-yoshikage, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, Kittygyat, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, kotobdev, Kowlin, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, LaCumbiaDelCoronavirus, lajolico, Lamrr, lanedon, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonidussaks, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, LevitatingTree, Lgibb18, lgruthes, LightVillet, liltenhead, linkbro1, linkuyx, Litraxx, little-meow-meow, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, ljm862, lmsnoise, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, lucas, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, Lusatia, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M1tht1c, M3739, mac6na6na, MACMAN2003, Macoron, magicalus, magmodius, MagnusCrowe, maland1, malchanceux, MaloTV, ManelNavola, manelnavola, Mangohydra, marboww, Markek1, matt, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, memeproof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, mifia, MilenVolf, MilonPL, Minemoder5000, Minty642, minus1over12, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterImp, MisterMecky, Mith-randalf, Mixelz, mjarduk, MjrLandWhale, mkanke-real, MLGTASTICa, mnva0, moderatelyaware, modern-nm, mokiros, momo, Moneyl, monotheonist, Moomoobeef, moony, Morb0, MossyGreySlope, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, murolem, musicmanvr, MWKane, Myakot, Myctai, N3X15, nabegator, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikitosych, nikthechampiongr, Nimfar11, ninruB, Nirnael, NIXC, nkokic, NkoKirkto, nmajask, noctyrnal, noelkathegod, noirogen, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, Nox38, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, Nyxilath, och-och, OctoRocket, OldDanceJacket, OliverOtter, onesch, OneZerooo0, OnyxTheBrave, Orange-Winds, OrangeMoronage9622, Orsoniks, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paige404, paigemaeforrest, pali6, Palladinium, Pangogie, panzer-iv1, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, perryprog, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, philingham, Phill101, Phooooooooooooooooooooooooooooooosphate, phunnyguy, PicklOH, PilgrimViis, Pill-U, pinkbat5, Piras314, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, poklj, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, PotRoastPiggy, Princess-Cheeseballs, ProfanedBane, PROG-MohamedDwidar, Prole0, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykana, psykzz, PuceTint, pumkin69, PuroSlavKing, PursuitInAshes, Putnam3145, py01, Pyrovi, qrtDaniil, qrwas, Quantum-cross, quatre, QueerNB, QuietlyWhisper, qwerltaz, Radezolid, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, RedBookcase, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, ReeZer2, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, rhsvenson, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, rlebell33, RobbyTheFish, robinthedragon, Rockdtben, Rohesie, rok-povsic, rokudara-sen, rolfero, RomanNovo, rosieposieeee, Roudenn, router, ruddygreat, rumaks, RumiTiger, Ruzihm, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, Samuka-C, SaphireLattice, SapphicOverload, sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, schrodinger71, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, SeamLesss, Segonist, semensponge, sephtasm, Serkket, sewerpig, SG6732, sh18rw, Shaddap1, ShadeAware, ShadowCommander, shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SharkSnake98, shibechef, SignalWalker, siigiil, silicon14wastaken, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skybailey-dev, Skyedra, SlamBamActionman, slarticodefast, Slava0135, sleepyyapril, slimmslamm, Slyfox333, Smugman, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, solstar2, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, soupkilove, southbridge-fur, sowelipililimute, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, Spangs04, spanky-spanky, Sparlight, spartak, SpartanKadence, spderman3333, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, starbuckss14, Stealthbomber16, stellar-novas, stewie523, stomf, Stop-Signs, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, supergdpwyl, superjj18, Supernorn, SweptWasTaken, SyaoranFox, Sybil, SYNCHRONIC, Szunti, t, Tainakov, takemysoult, tap, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TeenSarlacc, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, Tezzaide, TGODiamond, TGRCdev, tgrkzus, ThatGuyUSA, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, TheBlueYowie, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheFlyingSentry, TheIntoxicatedCat, thekilk, themias, theomund, TheProNoob678, TherapyGoth, ThereDrD0, TheShuEd, thetolbean, thevinter, TheWaffleJesus, thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, TiniestShark, Titian3, tk-a369, tkdrg, tmtmtl30, ToastEnjoyer, Toby222, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, tornado-technology, TornadoTechnology, tosatur, TotallyLemon, ToxicSonicFan04, Tr1bute, treytipton, trixxedbit, TrixxedHeart, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, tyashley, Tyler-IN, TytosB, Tyzemol, UbaserB, ubis1, UBlueberry, uhbg, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, unusualcrow, Uriende, UristMcDorf, user424242420, Utmanarn, Vaaankas, valentfingerov, valquaint, Varen, Vasilis, VasilisThePikachu, veliebm, Velken, VelonacepsCalyxEggs, veprolet, VerinSenpai, veritable-calamity, Veritius, Vermidia, vero5123, verslebas, vexerot, viceemargo, VigersRay, violet754, Visne, vitusveit, vlad, vlados1408, VMSolidus, vmzd, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, Vortebo, vulppine, wafehling, walksanatora, Warentan, WarMechanic, Watermelon914, weaversam8, wertanchik, whateverusername0, whatston3, widgetbeck, Will-Oliver-Br, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, Wolfkey-SomeoneElseTookMyUsername, wrexbe, WTCWR68, xeri7, xkreksx, xprospero, xRiriq, xsainteer, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, YoungThugSS14, Yousifb26, youtissoum, yunii, yuriykiss, YuriyKiss, zach-hill, Zadeon, Zalycon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, ZeWaka, zHonys, zionnBE, ZNixian, Zokkie, ZoldorfTheWizard, zonespace27, Zylofan, Zymem, zzylex From 540703588c48aa64804ac0a7eb46d24eade1e5fb Mon Sep 17 00:00:00 2001 From: Jessica M Date: Sat, 26 Jul 2025 23:14:01 -0700 Subject: [PATCH 005/149] Make the cherry pit tiny (#39230) make cherry pit tiny Co-authored-by: Jessica M --- .../Prototypes/Entities/Objects/Consumable/Food/produce.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index 60a4ae9406..93c48b69c2 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -2694,6 +2694,7 @@ - type: Item sprite: Objects/Specific/Hydroponics/cherry.rsi heldPrefix: pit + size: Tiny - type: Tag tags: - Recyclable From 7852b52f85215ebb0ff1ba1a531c5384481a09a9 Mon Sep 17 00:00:00 2001 From: ToastEnjoyer Date: Sun, 27 Jul 2025 01:17:00 -0500 Subject: [PATCH 006/149] Added utility belt function to scrap armor (#39233) --- .../Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml index adf4227595..8fdc59240d 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml @@ -51,7 +51,7 @@ # The armor itself - type: entity - parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseMajorContraband] + parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseMajorContraband, ClothingBeltUtility] id: ClothingOuterArmorScrap name: scrap armor description: A tider's gleaming plate mail. Bail up, or you're a dead man. From faf15e7933ee24d51297ab6b0e9b689de3a957cd Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 27 Jul 2025 06:18:10 +0000 Subject: [PATCH 007/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index a9afedb01f..baec97aa69 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: ScarKy0 - changes: - - message: Default cargo split is now 50% instead of 75%. Lockboxes remain unchanged. - type: Tweak - id: 8298 - time: '2025-04-21T10:32:14.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/36800 - author: Phooooooooooooooooooooooooooooooosphate changes: - message: Add the medical HUDs to medical's loadout. @@ -3908,3 +3901,10 @@ id: 8809 time: '2025-07-25T19:46:42.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/38657 +- author: Toast_Enjoyer, Djmc216 + changes: + - message: The scrap armor now functions as a utility belt too! + type: Add + id: 8810 + time: '2025-07-27T06:17:01.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39233 From 8fdfb9deaeb985731c2375d473a84f37fe0dfeaf Mon Sep 17 00:00:00 2001 From: Kowlin <10947836+Kowlin@users.noreply.github.com> Date: Sun, 27 Jul 2025 13:07:34 +0200 Subject: [PATCH 008/149] Add admin logging to Wireless entertainment cameras (#39239) --- .../SurveillanceCamera/Systems/SurveillanceCameraSystem.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs b/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs index 624f414d78..2a288d9017 100644 --- a/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs +++ b/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs @@ -1,6 +1,8 @@ +using Content.Server.Administration.Logs; using Content.Server.DeviceNetwork.Systems; using Content.Server.Emp; using Content.Shared.ActionBlocker; +using Content.Shared.Database; using Content.Shared.DeviceNetwork; using Content.Shared.DeviceNetwork.Events; using Content.Shared.Power; @@ -21,6 +23,8 @@ public sealed class SurveillanceCameraSystem : EntitySystem [Dependency] private readonly DeviceNetworkSystem _deviceNetworkSystem = default!; [Dependency] private readonly UserInterfaceSystem _userInterface = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly IAdminLogManager _adminLogger = default!; + // Pings a surveillance camera subnet. All cameras will always respond // with a data message if they are on the same subnet. @@ -170,6 +174,7 @@ public sealed class SurveillanceCameraSystem : EntitySystem component.CameraId = args.Name; component.NameSet = true; UpdateSetupInterface(uid, component); + _adminLogger.Add(LogType.Chat, LogImpact.Low, $"{ToPrettyString(args.Actor)} set the name of {ToPrettyString(uid)} to \"{args.Name}.\""); } private void OnSetNetwork(EntityUid uid, SurveillanceCameraComponent component, From 688c91b5979704a2a4feaf1b25f3450c3fd99aa9 Mon Sep 17 00:00:00 2001 From: Pok <113675512+Pok27@users.noreply.github.com> Date: Sun, 27 Jul 2025 20:26:17 +0300 Subject: [PATCH 009/149] Add scaling filter option (Nearest/Bilinear) (#39111) --- Content.Client/Options/UI/Tabs/GraphicsTab.xaml | 1 + Content.Client/Options/UI/Tabs/GraphicsTab.xaml.cs | 10 ++++++++++ Content.Client/UserInterface/Controls/MainViewport.cs | 9 ++++++++- Content.Shared/CCVar/CCVars.Viewport.cs | 3 +++ Resources/Locale/en-US/escape-menu/ui/options-menu.ftl | 3 +++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Content.Client/Options/UI/Tabs/GraphicsTab.xaml b/Content.Client/Options/UI/Tabs/GraphicsTab.xaml index 29279d1733..f764d18b47 100644 --- a/Content.Client/Options/UI/Tabs/GraphicsTab.xaml +++ b/Content.Client/Options/UI/Tabs/GraphicsTab.xaml @@ -25,6 +25,7 @@ + diff --git a/Content.Client/Options/UI/Tabs/GraphicsTab.xaml.cs b/Content.Client/Options/UI/Tabs/GraphicsTab.xaml.cs index efd788c58a..c9c7300155 100644 --- a/Content.Client/Options/UI/Tabs/GraphicsTab.xaml.cs +++ b/Content.Client/Options/UI/Tabs/GraphicsTab.xaml.cs @@ -39,6 +39,14 @@ public sealed partial class GraphicsTab : Control new OptionDropDownCVar.ValueOption(2.00f, Loc.GetString("ui-options-scale-200")), ]); + Control.AddOptionDropDown( + CCVars.ViewportScalingFilterMode, + DropDownFilterMode, + [ + new OptionDropDownCVar.ValueOption("nearest", Loc.GetString("ui-options-filter-nearest")), + new OptionDropDownCVar.ValueOption("bilinear", Loc.GetString("ui-options-filter-bilinear")), + ]); + var vpStretch = Control.AddOptionCheckBox(CCVars.ViewportStretch, ViewportStretchCheckBox); var vpVertFit = Control.AddOptionCheckBox(CCVars.ViewportVerticalFit, ViewportVerticalFitCheckBox); Control.AddOptionSlider( @@ -50,6 +58,7 @@ public sealed partial class GraphicsTab : Control vpStretch.ImmediateValueChanged += _ => UpdateViewportSettingsVisibility(); vpVertFit.ImmediateValueChanged += _ => UpdateViewportSettingsVisibility(); + IntegerScalingCheckBox.OnToggled += _ => UpdateViewportSettingsVisibility(); Control.AddOptionSlider( CCVars.ViewportWidth, @@ -77,6 +86,7 @@ public sealed partial class GraphicsTab : Control IntegerScalingCheckBox.Visible = ViewportStretchCheckBox.Pressed; ViewportVerticalFitCheckBox.Visible = ViewportStretchCheckBox.Pressed; ViewportWidthSlider.Visible = !ViewportStretchCheckBox.Pressed || !ViewportVerticalFitCheckBox.Pressed; + DropDownFilterMode.Visible = !IntegerScalingCheckBox.Pressed && ViewportStretchCheckBox.Pressed; } private void UpdateViewportWidthRange() diff --git a/Content.Client/UserInterface/Controls/MainViewport.cs b/Content.Client/UserInterface/Controls/MainViewport.cs index 721d750115..0e947da7cf 100644 --- a/Content.Client/UserInterface/Controls/MainViewport.cs +++ b/Content.Client/UserInterface/Controls/MainViewport.cs @@ -30,6 +30,8 @@ namespace Content.Client.UserInterface.Controls }; AddChild(Viewport); + + _cfg.OnValueChanged(CCVars.ViewportScalingFilterMode, _ => UpdateCfg(), true); } protected override void EnteredTree() @@ -52,6 +54,7 @@ namespace Content.Client.UserInterface.Controls var renderScaleUp = _cfg.GetCVar(CCVars.ViewportScaleRender); var fixedFactor = _cfg.GetCVar(CCVars.ViewportFixedScaleFactor); var verticalFit = _cfg.GetCVar(CCVars.ViewportVerticalFit); + var filterMode = _cfg.GetCVar(CCVars.ViewportScalingFilterMode); if (stretch) { @@ -60,7 +63,11 @@ namespace Content.Client.UserInterface.Controls { // Did not find a snap, enable stretching. Viewport.FixedStretchSize = null; - Viewport.StretchMode = ScalingViewportStretchMode.Bilinear; + Viewport.StretchMode = filterMode switch + { + "nearest" => ScalingViewportStretchMode.Nearest, + "bilinear" => ScalingViewportStretchMode.Bilinear + }; Viewport.IgnoreDimension = verticalFit ? ScalingViewportIgnoreDimension.Horizontal : ScalingViewportIgnoreDimension.None; if (renderScaleUp) diff --git a/Content.Shared/CCVar/CCVars.Viewport.cs b/Content.Shared/CCVar/CCVars.Viewport.cs index d94394d2a7..74d462f3ce 100644 --- a/Content.Shared/CCVar/CCVars.Viewport.cs +++ b/Content.Shared/CCVar/CCVars.Viewport.cs @@ -30,4 +30,7 @@ public sealed partial class CCVars public static readonly CVarDef ViewportVerticalFit = CVarDef.Create("viewport.vertical_fit", true, CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef ViewportScalingFilterMode = + CVarDef.Create("viewport.scaling_filter", "nearest", CVar.CLIENTONLY | CVar.ARCHIVE); } diff --git a/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl b/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl index f2142efaa2..c7773a54cd 100644 --- a/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl +++ b/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl @@ -92,6 +92,9 @@ ui-options-vp-integer-scaling-tooltip = If this option is enabled, the viewport at specific resolutions. While this results in crisp textures, it also often means that black bars appear at the top/bottom of the screen or that part of the viewport is not visible. +ui-options-filter-label = Scaling filter: +ui-options-filter-nearest = Nearest (no smoothing) +ui-options-filter-bilinear = Bilinear (smoothed) ui-options-vp-vertical-fit = Vertical viewport fitting ui-options-vp-vertical-fit-tooltip = When enabled, the main viewport will ignore the horizontal axis entirely when fitting to your screen. If your screen is smaller than the viewport, then this From a789341b2f1adaee49c16f8119399d55610179e9 Mon Sep 17 00:00:00 2001 From: Prole <172158352+Prole0@users.noreply.github.com> Date: Sun, 27 Jul 2025 12:48:01 -0700 Subject: [PATCH 010/149] Hot Potato Sprite Fix (#39193) * Current Potato Sprite In * Bit of Cleanup * Update Resources/Textures/Objects/Weapons/Bombs/hot_potato.rsi/meta.json --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Bombs/hot_potato.rsi/activated.png | Bin 1318 -> 797 bytes .../Weapons/Bombs/hot_potato.rsi/icon.png | Bin 533 -> 22230 bytes .../Weapons/Bombs/hot_potato.rsi/meta.json | 42 +++++++++--------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Resources/Textures/Objects/Weapons/Bombs/hot_potato.rsi/activated.png b/Resources/Textures/Objects/Weapons/Bombs/hot_potato.rsi/activated.png index 07785ce832f0d731e711220ad72392434e4e52be..81815fa4e705b92563f23667399891affc4cd8bb 100644 GIT binary patch delta 774 zcmV+h1Nr=>3Y`X!BYyw^b5ch_0olnce*gdg1ZP1_K>z@;j|==^1poj5AY({UO#lFT zCIA3{ga82g0001h=l}q9FaQARU;qF*m;eA5aGbhPJOBU!n@L1LRA}Dqmdj2PQ2>U& zGnd`~5s-_DQ50%oB0`!N6W#a#xOHJ%8K1zg;Q`nfpTM|cWq-m-qH$x~U?jMp7(*dc zE(5f-q262w}>G^X<;RI49qKE;AsJNF)-8L?Stxh?7n*F)~;=nB9B& zQk<5+>d@mu>vs;n6*VtlSG>2cyDDFp9A$Am%)rn)aT?;SH!fA>nYnQ+GeGz2FQR4z zOpFXxVzDTSs(&E@^5-q)prR5_WgJv8jjjL;N9VV?@{?$^c-3QiV94^uAM zUcO%*Ab%1n6ADz=G)#<)?%OG-WR`GCHbM`&s! zCiSFh@a#vi|C>5b~lBvZbLyLOs%Dnc8JdoTTZiN<#A(0Dmv({fqGO#Sum z3Tzd-z*r=HAlHq(Gp5%=%5c$?4Q7%MpWi8Gcz-m0;s>zgwt}@m`aqtu0(-k2hMeV~ zh%9CbGQW3r{_dw)f4%~*o;|4g*|^eX0&t}3VZ2$lO delta 1300 zcmV+v1?&2q2Br#-BYy#HX+uL$X=7sm04R}lkmrTkwQ42a>7D1(_kF)l z&wK~8m~G_zno-C(c`q>$)n{hs^twkh+6d9iP|EP#v3NYjzkloPnkrSVBC6N__x@as zi>7ZtRlV@A;d*&tnTFU(-c`II+-hV~i^6-teVz;`e6I9#nI9Bq%KW0(OD4uaQ$6*} z4^IDJBkSdadxg7lcER|bM}0}ibf%}IcF69;C&2_!bkY=9!X{5dsw0{G?d$*YO|mQ= zL*6b$JaJ^mihs9H)Pi(1rCOq!^4Jtr?!WW&t-*nE_fQmS?}OmE8|pUUqZ9=1`$6z= z0M&PJ>Qwy8lGDhm=%tF*wF}`jI6kXr=`A=}hxS`H<)yx)YT24)!P5~m%|gp1G|ZQ? z`ab9I29m4ti!NY$2YTdwc;OQgo@f%M^qAKG000SaNPk�XT000XT0n*)m`~Uz0 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 delta 509 zcmVwIk4od^`VCZVg$POxnUQAoYiWCAn z$Pfha;v49}w=nt&JopY2a`Uu{2f>iTKnk-?M*0V#tgRFhN^6Y~?7*S!@gNOEv`r@B zC7;U^o+Q7|H+g3}b`OjSV+X5|J6Sga}RahglqerfH?f`$!AKevOg*D!^K5*yW zExb{eucu!aJ3R{3dg!_<=aEm$s;HEefV|lrlSoRqCuv%`CjMD~mad6JQbJzOQz)Xis Date: Sun, 27 Jul 2025 23:05:58 +0200 Subject: [PATCH 011/149] Handle inventory template updating V2 (#39246) --- .../Clothing/ClientClothingSystem.cs | 11 +- .../Inventory/ClientInventorySystem.cs | 131 ++++++++++-------- .../DisplacementMap/DisplacementData.cs | 4 +- .../Inventory/InventoryComponent.cs | 34 +++-- .../Inventory/InventorySystem.Slots.cs | 66 +++++---- 5 files changed, 138 insertions(+), 108 deletions(-) diff --git a/Content.Client/Clothing/ClientClothingSystem.cs b/Content.Client/Clothing/ClientClothingSystem.cs index 065179c714..8d53e90e34 100644 --- a/Content.Client/Clothing/ClientClothingSystem.cs +++ b/Content.Client/Clothing/ClientClothingSystem.cs @@ -59,7 +59,7 @@ public sealed class ClientClothingSystem : ClothingSystem base.Initialize(); SubscribeLocalEvent(OnGetVisuals); - SubscribeLocalEvent(OnInventoryTemplateUpdated); + SubscribeLocalEvent(OnInventoryTemplateUpdated); SubscribeLocalEvent(OnVisualsChanged); SubscribeLocalEvent(OnDidUnequip); @@ -82,20 +82,19 @@ public sealed class ClientClothingSystem : ClothingSystem } } - private void OnInventoryTemplateUpdated(Entity ent, ref InventoryTemplateUpdated args) + private void OnInventoryTemplateUpdated(Entity ent, ref InventoryTemplateUpdated args) { - UpdateAllSlots(ent.Owner, clothing: ent.Comp); + UpdateAllSlots(ent.Owner, ent.Comp); } private void UpdateAllSlots( EntityUid uid, - InventoryComponent? inventoryComponent = null, - ClothingComponent? clothing = null) + InventoryComponent? inventoryComponent = null) { var enumerator = _inventorySystem.GetSlotEnumerator((uid, inventoryComponent)); while (enumerator.NextItem(out var item, out var slot)) { - RenderEquipment(uid, item, slot.Name, inventoryComponent, clothingComponent: clothing); + RenderEquipment(uid, item, slot.Name, inventoryComponent); } } diff --git a/Content.Client/Inventory/ClientInventorySystem.cs b/Content.Client/Inventory/ClientInventorySystem.cs index de58077e44..1f926b42a1 100644 --- a/Content.Client/Inventory/ClientInventorySystem.cs +++ b/Content.Client/Inventory/ClientInventorySystem.cs @@ -1,3 +1,4 @@ +using System.Linq; using Content.Client.Clothing; using Content.Client.Examine; using Content.Client.Verbs.UI; @@ -11,6 +12,7 @@ using Robust.Client.UserInterface; using Robust.Shared.Containers; using Robust.Shared.Input.Binding; using Robust.Shared.Player; +using Robust.Shared.Timing; namespace Content.Client.Inventory { @@ -19,7 +21,7 @@ namespace Content.Client.Inventory { [Dependency] private readonly IPlayerManager _playerManager = default!; [Dependency] private readonly IUserInterfaceManager _ui = default!; - + [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly ClientClothingSystem _clothingVisualsSystem = default!; [Dependency] private readonly ExamineSystem _examine = default!; @@ -91,6 +93,14 @@ namespace Content.Client.Inventory private void OnShutdown(EntityUid uid, InventoryComponent component, ComponentShutdown args) { + if (TryComp(uid, out InventorySlotsComponent? inventorySlots)) + { + foreach (var slot in component.Slots) + { + TryRemoveSlotData((uid, inventorySlots), (SlotData)slot); + } + } + if (uid == _playerManager.LocalEntity) OnUnlinkInventory?.Invoke(); } @@ -102,23 +112,6 @@ namespace Content.Client.Inventory private void OnPlayerAttached(EntityUid uid, InventorySlotsComponent component, LocalPlayerAttachedEvent args) { - if (TryGetSlots(uid, out var definitions)) - { - foreach (var definition in definitions) - { - if (!TryGetSlotContainer(uid, definition.Name, out var container, out _)) - continue; - - if (!component.SlotData.TryGetValue(definition.Name, out var data)) - { - data = new SlotData(definition); - component.SlotData[definition.Name] = data; - } - - data.Container = container; - } - } - OnLinkInventorySlots?.Invoke(uid, component); } @@ -128,20 +121,6 @@ namespace Content.Client.Inventory base.Shutdown(); } - protected override void OnInit(EntityUid uid, InventoryComponent component, ComponentInit args) - { - base.OnInit(uid, component, args); - _clothingVisualsSystem.InitClothing(uid, component); - - if (!TryComp(uid, out InventorySlotsComponent? inventorySlots)) - return; - - foreach (var slot in component.Slots) - { - TryAddSlotDef(uid, inventorySlots, slot); - } - } - public void ReloadInventory(InventorySlotsComponent? component = null) { var player = _playerManager.LocalEntity; @@ -165,7 +144,10 @@ namespace Content.Client.Inventory public void UpdateSlot(EntityUid owner, InventorySlotsComponent component, string slotName, bool? blocked = null, bool? highlight = null) { - var oldData = component.SlotData[slotName]; + // The slot might have been removed when changing templates, which can cause items to be dropped. + if (!component.SlotData.TryGetValue(slotName, out var oldData)) + return; + var newHighlight = oldData.Highlighted; var newBlocked = oldData.Blocked; @@ -181,14 +163,28 @@ namespace Content.Client.Inventory EntitySlotUpdate?.Invoke(newData); } - public bool TryAddSlotDef(EntityUid owner, InventorySlotsComponent component, SlotDefinition newSlotDef) + public bool TryAddSlotData(Entity ent, SlotData newSlotData) { - SlotData newSlotData = newSlotDef; //convert to slotData - if (!component.SlotData.TryAdd(newSlotDef.Name, newSlotData)) + if (!ent.Comp.SlotData.TryAdd(newSlotData.SlotName, newSlotData)) return false; - if (owner == _playerManager.LocalEntity) + if (TryGetSlotContainer(ent.Owner, newSlotData.SlotName, out var newContainer, out _)) + ent.Comp.SlotData[newSlotData.SlotName].Container = newContainer; + + if (ent.Owner == _playerManager.LocalEntity) OnSlotAdded?.Invoke(newSlotData); + + return true; + } + + public bool TryRemoveSlotData(Entity ent, SlotData removedSlotData) + { + if (!ent.Comp.SlotData.Remove(removedSlotData.SlotName)) + return false; + + if (ent.Owner == _playerManager.LocalEntity) + OnSlotRemoved?.Invoke(removedSlotData); + return true; } @@ -239,33 +235,52 @@ namespace Content.Client.Inventory { base.UpdateInventoryTemplate(ent); - if (TryComp(ent, out InventorySlotsComponent? inventorySlots)) + if (!TryComp(ent, out var inventorySlots)) + return; + + List slotDataToRemove = new(); // don't modify dict while iterating + + foreach (var slotData in inventorySlots.SlotData.Values) { - foreach (var slot in ent.Comp.Slots) - { - if (inventorySlots.SlotData.TryGetValue(slot.Name, out var slotData)) - slotData.SlotDef = slot; - } + if (!ent.Comp.Slots.Any(s => s.Name == slotData.SlotName)) + slotDataToRemove.Add(slotData); } + + // remove slots that are no longer in the new template + foreach (var slotData in slotDataToRemove) + { + TryRemoveSlotData((ent.Owner, inventorySlots), slotData); + } + + // update existing slots or add them if they don't exist yet + foreach (var slot in ent.Comp.Slots) + { + if (inventorySlots.SlotData.TryGetValue(slot.Name, out var slotData)) + slotData.SlotDef = slot; + else + TryAddSlotData((ent.Owner, inventorySlots), (SlotData)slot); + } + + _clothingVisualsSystem.InitClothing(ent, ent.Comp); + if (ent.Owner == _playerManager.LocalEntity) + ReloadInventory(inventorySlots); } public sealed class SlotData { - public SlotDefinition SlotDef; - public EntityUid? HeldEntity => Container?.ContainedEntity; - public bool Blocked; - public bool Highlighted; - - [ViewVariables] - public ContainerSlot? Container; - public bool HasSlotGroup => SlotDef.SlotGroup != "Default"; - public Vector2i ButtonOffset => SlotDef.UIWindowPosition; - public string SlotName => SlotDef.Name; - public bool ShowInWindow => SlotDef.ShowInWindow; - public string SlotGroup => SlotDef.SlotGroup; - public string SlotDisplayName => SlotDef.DisplayName; - public string TextureName => "Slots/" + SlotDef.TextureName; - public string FullTextureName => SlotDef.FullTextureName; + [ViewVariables] public SlotDefinition SlotDef; + [ViewVariables] public EntityUid? HeldEntity => Container?.ContainedEntity; + [ViewVariables] public bool Blocked; + [ViewVariables] public bool Highlighted; + [ViewVariables] public ContainerSlot? Container; + [ViewVariables] public bool HasSlotGroup => SlotDef.SlotGroup != "Default"; + [ViewVariables] public Vector2i ButtonOffset => SlotDef.UIWindowPosition; + [ViewVariables] public string SlotName => SlotDef.Name; + [ViewVariables] public bool ShowInWindow => SlotDef.ShowInWindow; + [ViewVariables] public string SlotGroup => SlotDef.SlotGroup; + [ViewVariables] public string SlotDisplayName => SlotDef.DisplayName; + [ViewVariables] public string TextureName => "Slots/" + SlotDef.TextureName; + [ViewVariables] public string FullTextureName => SlotDef.FullTextureName; public SlotData(SlotDefinition slotDef, ContainerSlot? container = null, bool highlighted = false, bool blocked = false) diff --git a/Content.Shared/DisplacementMap/DisplacementData.cs b/Content.Shared/DisplacementMap/DisplacementData.cs index 6564f720a8..79f89a1d25 100644 --- a/Content.Shared/DisplacementMap/DisplacementData.cs +++ b/Content.Shared/DisplacementMap/DisplacementData.cs @@ -1,6 +1,8 @@ +using Robust.Shared.Serialization; + namespace Content.Shared.DisplacementMap; -[DataDefinition] +[DataDefinition, Serializable, NetSerializable] public sealed partial class DisplacementData { /// diff --git a/Content.Shared/Inventory/InventoryComponent.cs b/Content.Shared/Inventory/InventoryComponent.cs index 61e0114ff2..664fdd6d56 100644 --- a/Content.Shared/Inventory/InventoryComponent.cs +++ b/Content.Shared/Inventory/InventoryComponent.cs @@ -1,7 +1,7 @@ using Content.Shared.DisplacementMap; using Robust.Shared.Containers; using Robust.Shared.GameStates; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; +using Robust.Shared.Prototypes; namespace Content.Shared.Inventory; @@ -10,28 +10,46 @@ namespace Content.Shared.Inventory; [AutoGenerateComponentState(true)] public sealed partial class InventoryComponent : Component { - [DataField("templateId", customTypeSerializer: typeof(PrototypeIdSerializer))] - [AutoNetworkedField] - public string TemplateId { get; set; } = "human"; + /// + /// The template defining how the inventory layout will look like. + /// + [DataField, AutoNetworkedField] + [ViewVariables] // use the API method + public ProtoId TemplateId = "human"; - [DataField("speciesId")] public string? SpeciesId { get; set; } + /// + /// For setting the TemplateId. + /// + [ViewVariables(VVAccess.ReadWrite)] + public ProtoId TemplateIdVV + { + get => TemplateId; + set => IoCManager.Resolve().System().SetTemplateId((Owner, this), value); + } + [DataField, AutoNetworkedField] + public string? SpeciesId; + + + [ViewVariables] public SlotDefinition[] Slots = Array.Empty(); + + [ViewVariables] public ContainerSlot[] Containers = Array.Empty(); - [DataField] + [DataField, AutoNetworkedField] public Dictionary Displacements = new(); /// /// Alternate displacement maps, which if available, will be selected for the player of the appropriate gender. /// - [DataField] + [DataField, AutoNetworkedField] public Dictionary FemaleDisplacements = new(); /// /// Alternate displacement maps, which if available, will be selected for the player of the appropriate gender. /// - [DataField] + [DataField, AutoNetworkedField] public Dictionary MaleDisplacements = new(); } diff --git a/Content.Shared/Inventory/InventorySystem.Slots.cs b/Content.Shared/Inventory/InventorySystem.Slots.cs index 04d58c1cd5..e9fb62f2ad 100644 --- a/Content.Shared/Inventory/InventorySystem.Slots.cs +++ b/Content.Shared/Inventory/InventorySystem.Slots.cs @@ -43,7 +43,7 @@ public partial class InventorySystem : EntitySystem if (!TryComp(item, out var required)) continue; - if ((((IClothingSlots) required).Slots & slot.SlotFlags) == 0x0) + if ((((IClothingSlots)required).Slots & slot.SlotFlags) == 0x0) continue; target = (item, required); @@ -55,20 +55,9 @@ public partial class InventorySystem : EntitySystem return false; } - protected virtual void OnInit(EntityUid uid, InventoryComponent component, ComponentInit args) + private void OnInit(Entity ent, ref ComponentInit args) { - if (!_prototypeManager.TryIndex(component.TemplateId, out InventoryTemplatePrototype? invTemplate)) - return; - - component.Slots = invTemplate.Slots; - component.Containers = new ContainerSlot[component.Slots.Length]; - for (var i = 0; i < component.Containers.Length; i++) - { - var slot = component.Slots[i]; - var container = _containerSystem.EnsureContainer(uid, slot.Name); - container.OccludesLight = false; - component.Containers[i] = container; - } + UpdateInventoryTemplate(ent); } private void AfterAutoState(Entity ent, ref AfterAutoHandleStateEvent args) @@ -78,18 +67,31 @@ public partial class InventorySystem : EntitySystem protected virtual void UpdateInventoryTemplate(Entity ent) { - if (ent.Comp.LifeStage < ComponentLifeStage.Initialized) + if (!_prototypeManager.Resolve(ent.Comp.TemplateId, out var invTemplate)) return; - if (!_prototypeManager.TryIndex(ent.Comp.TemplateId, out InventoryTemplatePrototype? invTemplate)) - return; + // Remove any containers that aren't in the new template. + foreach (var container in ent.Comp.Containers) + { + if (invTemplate.Slots.Any(s => s.Name == container.ID)) + continue; - DebugTools.Assert(ent.Comp.Slots.Length == invTemplate.Slots.Length); + // Empty container before deletion so the contents don't get deleted. + // For cases when we update the template while items are already worn. + _containerSystem.EmptyContainer(container); + _containerSystem.ShutdownContainer(container); + } + // Ensure the containers from the template. ent.Comp.Slots = invTemplate.Slots; - - var ev = new InventoryTemplateUpdated(); - RaiseLocalEvent(ent, ref ev); + ent.Comp.Containers = new ContainerSlot[ent.Comp.Slots.Length]; + for (var i = 0; i < ent.Comp.Containers.Length; i++) + { + var slot = ent.Comp.Slots[i]; + var container = _containerSystem.EnsureContainer(ent.Owner, slot.Name); + container.OccludesLight = false; + ent.Comp.Containers[i] = container; + } } private void OnOpenSlotStorage(OpenSlotStorageNetworkMessage ev, EntitySessionEventArgs args) @@ -195,27 +197,21 @@ public partial class InventorySystem : EntitySystem } /// - /// Change the inventory template ID an entity is using. The new template must be compatible. + /// Change the inventory template ID an entity is using + /// and drop any item that does not have a slot according to the new template. + /// This will update the client-side UI accordingly. /// /// - /// - /// For an inventory template to be compatible with another, it must have exactly the same slot names. - /// All other changes are rejected. - /// /// /// The entity to update. /// The ID of the new inventory template prototype. - /// - /// Thrown if the new template is not compatible with the existing one. - /// public void SetTemplateId(Entity ent, ProtoId newTemplate) { - var newPrototype = _prototypeManager.Index(newTemplate); - - if (!newPrototype.Slots.Select(x => x.Name).SequenceEqual(ent.Comp.Slots.Select(x => x.Name))) - throw new ArgumentException("Incompatible inventory template!"); + if (ent.Comp.TemplateId == newTemplate) + return; ent.Comp.TemplateId = newTemplate; + UpdateInventoryTemplate(ent); Dirty(ent); } @@ -231,12 +227,12 @@ public partial class InventorySystem : EntitySystem private int _nextIdx = 0; public static InventorySlotEnumerator Empty = new(Array.Empty(), Array.Empty()); - public InventorySlotEnumerator(InventoryComponent inventory, SlotFlags flags = SlotFlags.All) + public InventorySlotEnumerator(InventoryComponent inventory, SlotFlags flags = SlotFlags.All) : this(inventory.Slots, inventory.Containers, flags) { } - public InventorySlotEnumerator(SlotDefinition[] slots, ContainerSlot[] containers, SlotFlags flags = SlotFlags.All) + public InventorySlotEnumerator(SlotDefinition[] slots, ContainerSlot[] containers, SlotFlags flags = SlotFlags.All) { DebugTools.Assert(flags != SlotFlags.NONE); DebugTools.AssertEqual(slots.Length, containers.Length); From 45cef10bad7938792b98ea0540eb0c95a9fe219b Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Sun, 27 Jul 2025 23:48:14 +0200 Subject: [PATCH 012/149] update bagel (fix button connected to doors) (#39216) update bagel --- Resources/Maps/bagel.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Resources/Maps/bagel.yml b/Resources/Maps/bagel.yml index 4e08d46798..3a15131bae 100644 --- a/Resources/Maps/bagel.yml +++ b/Resources/Maps/bagel.yml @@ -4,7 +4,7 @@ meta: engineVersion: 265.0.0 forkId: "" forkVersion: "" - time: 07/24/2025 17:19:08 + time: 07/25/2025 19:38:24 entityCount: 25505 maps: - 943 @@ -113035,6 +113035,14 @@ entities: rot: 3.141592653589793 rad pos: 35.5,-21.5 parent: 60 + - type: DeviceLinkSource + linkedPorts: + 6832: + - - Pressed + - Open + 94: + - - Pressed + - Open - uid: 25271 components: - type: Transform From 5f52a3ae17d70c51afc7ccfc5a042b7da50ba0d0 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Mon, 28 Jul 2025 09:11:21 +0200 Subject: [PATCH 013/149] [Mald PR] Plushie sound 1984 (#39250) * Make melee sounds respect their audio params * Make food sounds respect audio params * Plushie sound 1984 Most plushies have been made quieter (by varying degrees depending on how obnoxious the original sound was) Made plushies 3x slower to use (squeak every 3 seconds / hit somebody every 3 seconds) --- .../Nutrition/EntitySystems/FoodSystem.cs | 2 +- .../Weapons/Melee/MeleeSoundSystem.cs | 12 +- .../Entities/Objects/Fun/plushies.yml | 192 ++++++++---------- 3 files changed, 95 insertions(+), 111 deletions(-) diff --git a/Content.Shared/Nutrition/EntitySystems/FoodSystem.cs b/Content.Shared/Nutrition/EntitySystems/FoodSystem.cs index ee2c9f3a4a..a8b5f7ac78 100644 --- a/Content.Shared/Nutrition/EntitySystems/FoodSystem.cs +++ b/Content.Shared/Nutrition/EntitySystems/FoodSystem.cs @@ -289,7 +289,7 @@ public sealed class FoodSystem : EntitySystem _adminLogger.Add(LogType.Ingestion, LogImpact.Low, $"{ToPrettyString(args.User):target} ate {ToPrettyString(entity.Owner):food}"); } - _audio.PlayPredicted(entity.Comp.UseSound, args.Target.Value, args.User, AudioParams.Default.WithVolume(-1f).WithVariation(0.20f)); + _audio.PlayPredicted(entity.Comp.UseSound, args.Target.Value, args.User, entity.Comp.UseSound.Params.WithVolume(-1f).WithVariation(0.20f)); // Try to break all used utensils foreach (var utensil in utensils) diff --git a/Content.Shared/Weapons/Melee/MeleeSoundSystem.cs b/Content.Shared/Weapons/Melee/MeleeSoundSystem.cs index 3add18365a..562e006a92 100644 --- a/Content.Shared/Weapons/Melee/MeleeSoundSystem.cs +++ b/Content.Shared/Weapons/Melee/MeleeSoundSystem.cs @@ -48,17 +48,17 @@ public sealed class MeleeSoundSystem : EntitySystem { if (damageType == null && damageSoundComp.NoDamageSound != null) { - _audio.PlayPredicted(damageSoundComp.NoDamageSound, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); + _audio.PlayPredicted(damageSoundComp.NoDamageSound, coords, userUid, damageSoundComp.NoDamageSound.Params.WithVariation(DamagePitchVariation)); playedSound = true; } else if (damageType != null && damageSoundComp.SoundTypes?.TryGetValue(damageType, out var damageSoundType) == true) { - _audio.PlayPredicted(damageSoundType, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); + _audio.PlayPredicted(damageSoundType, coords, userUid, damageSoundType.Params.WithVariation(DamagePitchVariation)); playedSound = true; } else if (damageType != null && damageSoundComp.SoundGroups?.TryGetValue(damageType, out var damageSoundGroup) == true) { - _audio.PlayPredicted(damageSoundGroup, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); + _audio.PlayPredicted(damageSoundGroup, coords, userUid, damageSoundGroup.Params.WithVariation(DamagePitchVariation)); playedSound = true; } } @@ -68,17 +68,17 @@ public sealed class MeleeSoundSystem : EntitySystem { if (hitSoundOverride != null) { - _audio.PlayPredicted(hitSoundOverride, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); + _audio.PlayPredicted(hitSoundOverride, coords, userUid, hitSoundOverride.Params.WithVariation(DamagePitchVariation)); playedSound = true; } else if (hitSound != null) { - _audio.PlayPredicted(hitSound, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); + _audio.PlayPredicted(hitSound, coords, userUid, hitSound.Params.WithVariation(DamagePitchVariation)); playedSound = true; } else { - _audio.PlayPredicted(noDamageSound, coords, userUid, AudioParams.Default.WithVariation(DamagePitchVariation)); + _audio.PlayPredicted(noDamageSound, coords, userUid, noDamageSound.Params.WithVariation(DamagePitchVariation)); playedSound = true; } } diff --git a/Resources/Prototypes/Entities/Objects/Fun/plushies.yml b/Resources/Prototypes/Entities/Objects/Fun/plushies.yml index dc9976502a..c0718d022b 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/plushies.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/plushies.yml @@ -6,26 +6,24 @@ id: BasePlushie components: - type: EmitSoundOnUse - sound: + sound: &BasePlushieSound collection: ToySqueak + params: + volume: -4 - type: EmitSoundOnActivate - sound: - collection: ToySqueak + sound: *BasePlushieSound - type: EmitSoundOnCollide - sound: - collection: ToySqueak + sound: *BasePlushieSound - type: EmitSoundOnLand - sound: - collection: ToyFall + sound: *BasePlushieSound - type: EmitSoundOnTrigger - sound: - collection: ToySqueak + sound: *BasePlushieSound - type: UseDelay - delay: 1.0 + delay: 3.0 - type: MeleeWeapon + attackRate: 0.333 wideAnimationRotation: 180 - soundHit: - collection: ToySqueak + soundHit: *BasePlushieSound damage: types: Blunt: 0 @@ -37,8 +35,7 @@ price: 5 - type: Food requiresSpecialDigestion: true - useSound: - collection: ToySqueak + useSound: *BasePlushieSound delay: 2 - type: SolutionContainerManager solutions: @@ -356,28 +353,24 @@ - type: Item sprite: Objects/Fun/Plushies/lizard.rsi - type: EmitSoundOnUse - sound: + sound: &PlushieLizardSound path: /Audio/Items/Toys/weh.ogg + params: + volume: -5 - type: EmitSoundOnLand - sound: - path: /Audio/Items/Toys/weh.ogg + sound: *PlushieLizardSound - type: EmitSoundOnActivate - sound: - path: /Audio/Items/Toys/weh.ogg + sound: *PlushieLizardSound - type: EmitSoundOnTrigger - sound: - path: /Audio/Items/Toys/weh.ogg + sound: *PlushieLizardSound - type: EmitSoundOnCollide - sound: - path: /Audio/Items/Toys/weh.ogg + sound: *PlushieLizardSound - type: Food requiresSpecialDigestion: true - useSound: - path: /Audio/Items/Toys/weh.ogg + useSound: *PlushieLizardSound - type: MeleeWeapon wideAnimationRotation: 180 - soundHit: - path: /Audio/Items/Toys/weh.ogg + soundHit: *PlushieLizardSound - type: Extractable juiceSolution: reagents: @@ -427,28 +420,24 @@ - state: inhand-right shader: shaded - type: EmitSoundOnUse - sound: + sound: &PlushieExperimentSound path: /Audio/Items/Toys/arf.ogg + params: + volume: -5 - type: EmitSoundOnLand - sound: - path: /Audio/Items/Toys/arf.ogg + sound: *PlushieExperimentSound - type: EmitSoundOnActivate - sound: - path: /Audio/Items/Toys/arf.ogg + sound: *PlushieExperimentSound - type: EmitSoundOnTrigger - sound: - path: /Audio/Items/Toys/arf.ogg + sound: *PlushieExperimentSound - type: EmitSoundOnCollide - sound: - path: /Audio/Items/Toys/arf.ogg + sound: *PlushieExperimentSound - type: Food requiresSpecialDigestion: true - useSound: - path: /Audio/Items/Toys/arf.ogg + useSound: *PlushieExperimentSound - type: MeleeWeapon wideAnimationRotation: 180 - soundHit: - path: /Audio/Items/Toys/arf.ogg + soundHit: *PlushieExperimentSound - type: Clothing clothingVisuals: head: @@ -515,28 +504,24 @@ sprite: Objects/Fun/Plushies/lizard.rsi heldPrefix: spacelizard - type: EmitSoundOnUse - sound: + sound: &PlushieSpaceLizardSound path: /Audio/Items/Toys/muffled_weh.ogg + params: + volume: -5 - type: EmitSoundOnLand - sound: - path: /Audio/Items/Toys/muffled_weh.ogg + sound: *PlushieSpaceLizardSound - type: EmitSoundOnActivate - sound: - path: /Audio/Items/Toys/muffled_weh.ogg + sound: *PlushieSpaceLizardSound - type: EmitSoundOnTrigger - sound: - path: /Audio/Items/Toys/muffled_weh.ogg + sound: *PlushieSpaceLizardSound - type: EmitSoundOnCollide - sound: - path: /Audio/Items/Toys/muffled_weh.ogg + sound: *PlushieSpaceLizardSound - type: Food requiresSpecialDigestion: true - useSound: - path: /Audio/Items/Toys/muffled_weh.ogg + useSound: *PlushieSpaceLizardSound - type: MeleeWeapon wideAnimationRotation: 180 - soundHit: - path: /Audio/Items/Toys/muffled_weh.ogg + soundHit: *PlushieSpaceLizardSound - type: Clothing sprite: Objects/Fun/Plushies/lizard.rsi slots: @@ -561,25 +546,22 @@ - type: Item heldPrefix: plushielizardinversed - type: EmitSoundOnUse - sound: + sound: &PlushieLizardInversedSound path: /Audio/Items/Toys/hew.ogg + params: + volume: -5 - type: EmitSoundOnLand - sound: - path: /Audio/Items/Toys/hew.ogg + sound: *PlushieLizardInversedSound - type: EmitSoundOnActivate - sound: - path: /Audio/Items/Toys/hew.ogg + sound: *PlushieLizardInversedSound - type: EmitSoundOnTrigger - sound: - path: /Audio/Items/Toys/hew.ogg + sound: *PlushieLizardInversedSound - type: Food requiresSpecialDigestion: true - useSound: - path: /Audio/Items/Toys/hew.ogg + useSound: *PlushieLizardInversedSound - type: MeleeWeapon wideAnimationRotation: 180 - soundHit: - path: /Audio/Items/Toys/hew.ogg + soundHit: *PlushieLizardInversedSound - type: Extractable juiceSolution: reagents: @@ -619,28 +601,24 @@ map: [ "enum.SolutionContainerLayers.Fill" ] visible: false - type: EmitSoundOnUse - sound: + sound: &PlushieDionaSound path: /Audio/Items/Toys/toy_rustle.ogg + params: + volume: -5 - type: EmitSoundOnLand - sound: - path: /Audio/Items/Toys/toy_rustle.ogg + sound: *PlushieDionaSound - type: EmitSoundOnActivate - sound: - path: /Audio/Items/Toys/toy_rustle.ogg + sound: *PlushieDionaSound - type: EmitSoundOnTrigger - sound: - path: /Audio/Items/Toys/toy_rustle.ogg + sound: *PlushieDionaSound - type: EmitSoundOnCollide - sound: - path: /Audio/Items/Toys/toy_rustle.ogg + sound: *PlushieDionaSound - type: MeleeWeapon wideAnimationRotation: 180 - soundHit: - path: /Audio/Items/Toys/toy_rustle.ogg + soundHit: *PlushieDionaSound - type: Food requiresSpecialDigestion: true - useSound: - path: /Audio/Items/Toys/toy_rustle.ogg + useSound: *PlushieDionaSound - type: SolutionContainerManager solutions: plushie: @@ -1066,28 +1044,24 @@ sprite: Objects/Fun/Plushies/vox.rsi state: icon - type: EmitSoundOnUse - sound: + sound: &PlushieVoxSound path: /Audio/Voice/Vox/shriek1.ogg + params: + volume: -5 - type: EmitSoundOnLand - sound: - path: /Audio/Voice/Vox/shriek1.ogg + sound: *PlushieVoxSound - type: EmitSoundOnActivate - sound: - path: /Audio/Voice/Vox/shriek1.ogg + sound: *PlushieVoxSound - type: EmitSoundOnTrigger - sound: - path: /Audio/Voice/Vox/shriek1.ogg + sound: *PlushieVoxSound - type: EmitSoundOnCollide - sound: - path: /Audio/Voice/Vox/shriek1.ogg + sound: *PlushieVoxSound - type: Food requiresSpecialDigestion: true - useSound: - path: /Audio/Voice/Vox/shriek1.ogg + useSound: *PlushieVoxSound - type: MeleeWeapon wideAnimationRotation: 180 - soundHit: - path: /Audio/Voice/Vox/shriek1.ogg + soundHit: *PlushieVoxSound - type: Clothing quickEquip: false sprite: Objects/Fun/Plushies/vox.rsi @@ -1135,28 +1109,24 @@ - type: Item size: Normal - type: EmitSoundOnUse - sound: + sound: &PlushieXenoSound path: /Audio/Weapons/Xeno/alien_spitacid.ogg + params: + volume: -8 - type: EmitSoundOnLand - sound: - path: /Audio/Weapons/Xeno/alien_spitacid.ogg + sound: *PlushieXenoSound - type: EmitSoundOnActivate - sound: - path: /Audio/Weapons/Xeno/alien_spitacid.ogg + sound: *PlushieXenoSound - type: EmitSoundOnTrigger - sound: - path: /Audio/Weapons/Xeno/alien_spitacid.ogg + sound: *PlushieXenoSound - type: EmitSoundOnCollide - sound: - path: /Audio/Weapons/Xeno/alien_spitacid.ogg + sound: *PlushieXenoSound - type: Food requiresSpecialDigestion: true - useSound: - path: /Audio/Items/Toys/mousesqueek.ogg + useSound: *PlushieXenoSound - type: MeleeWeapon wideAnimationRotation: 180 - soundHit: - path: /Audio/Weapons/Xeno/alien_spitacid.ogg + soundHit: *PlushieXenoSound - type: Clothing quickEquip: false sprite: Objects/Fun/Plushies/xeno.rsi @@ -1198,27 +1168,41 @@ sprite: Objects/Fun/Plushies/human.rsi state: icon - type: EmitSoundOnUse - sound: + sound: &PlushieHuman path: /Audio/Voice/Human/malescream_1.ogg + params: + volume: -8 - type: EmitSoundOnLand sound: path: /Audio/Voice/Human/malescream_2.ogg + params: + volume: -8 - type: EmitSoundOnActivate sound: path: /Audio/Voice/Human/malescream_3.ogg + params: + volume: -8 - type: EmitSoundOnCollide sound: path: /Audio/Voice/Human/malescream_4.ogg + params: + volume: -8 - type: Food requiresSpecialDigestion: true useSound: path: /Audio/Voice/Human/malescream_1.ogg + params: + volume: -8 - type: MeleeWeapon soundHit: path: /Audio/Voice/Human/malescream_4.ogg + params: + volume: -8 - type: EmitSoundOnTrigger sound: path: /Audio/Voice/Human/malescream_5.ogg + params: + volume: -8 - type: Clothing quickEquip: false sprite: Objects/Fun/Plushies/human.rsi From 005203227b2cb7ca9fe7368055679c10a86e164b Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 28 Jul 2025 07:12:32 +0000 Subject: [PATCH 014/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index baec97aa69..33c7404007 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Phooooooooooooooooooooooooooooooosphate - changes: - - message: Add the medical HUDs to medical's loadout. - type: Add - id: 8299 - time: '2025-04-21T12:07:33.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/32847 - author: aada changes: - message: Hotplates and kitchen grills can now be anchored on tables. @@ -3908,3 +3901,10 @@ id: 8810 time: '2025-07-27T06:17:01.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39233 +- author: PJB3005 + changes: + - message: Made most plushie sounds quieter, and made plushies slower to use. + type: Tweak + id: 8811 + time: '2025-07-28T07:11:21.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39250 From fedc355f20539e4bc955c58bac754b1043522c61 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Mon, 28 Jul 2025 06:19:17 -0400 Subject: [PATCH 015/149] fix foldable clothes not working while worn (#39257) --- .../Clothing/Components/FoldableClothingComponent.cs | 4 ++-- .../Clothing/EntitySystems/FoldableClothingSystem.cs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Content.Shared/Clothing/Components/FoldableClothingComponent.cs b/Content.Shared/Clothing/Components/FoldableClothingComponent.cs index 7b03adcc8d..2068162e49 100644 --- a/Content.Shared/Clothing/Components/FoldableClothingComponent.cs +++ b/Content.Shared/Clothing/Components/FoldableClothingComponent.cs @@ -35,11 +35,11 @@ public sealed partial class FoldableClothingComponent : Component /// Which layers does this hide when Unfolded? See and /// [DataField] - public HashSet? UnfoldedHideLayers = new(); + public HashSet UnfoldedHideLayers = new(); /// /// Which layers does this hide when folded? See and /// [DataField] - public HashSet? FoldedHideLayers = new(); + public HashSet FoldedHideLayers = new(); } diff --git a/Content.Shared/Clothing/EntitySystems/FoldableClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/FoldableClothingSystem.cs index a60caa454b..7c6810140c 100644 --- a/Content.Shared/Clothing/EntitySystems/FoldableClothingSystem.cs +++ b/Content.Shared/Clothing/EntitySystems/FoldableClothingSystem.cs @@ -37,7 +37,7 @@ public sealed class FoldableClothingSystem : EntitySystem } // Setting hidden layers while equipped is not currently supported. - if (ent.Comp.FoldedHideLayers != null || ent.Comp.UnfoldedHideLayers != null) + if (ent.Comp.FoldedHideLayers.Count != 0|| ent.Comp.UnfoldedHideLayers.Count != 0) args.Cancelled = true; } @@ -65,7 +65,7 @@ public sealed class FoldableClothingSystem : EntitySystem // This should instead work via an event or something that gets raised to optionally modify the currently hidden layers. // Or at the very least it should stash the old layers and restore them when unfolded. // TODO CLOTHING fix this. - if (ent.Comp.FoldedHideLayers != null && TryComp(ent.Owner, out var hideLayerComp)) + if (ent.Comp.FoldedHideLayers.Count != 0 && TryComp(ent.Owner, out var hideLayerComp)) hideLayerComp.Slots = ent.Comp.FoldedHideLayers; } @@ -81,7 +81,7 @@ public sealed class FoldableClothingSystem : EntitySystem _itemSystem.SetHeldPrefix(ent.Owner, null, false, itemComp); // TODO CLOTHING fix this. - if (ent.Comp.UnfoldedHideLayers != null && TryComp(ent.Owner, out var hideLayerComp)) + if (ent.Comp.UnfoldedHideLayers.Count != 0 && TryComp(ent.Owner, out var hideLayerComp)) hideLayerComp.Slots = ent.Comp.UnfoldedHideLayers; } From c3cab577f6337f84cc1c616a97f968f937bcc70f Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 28 Jul 2025 10:20:24 +0000 Subject: [PATCH 016/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 33c7404007..1c3466beed 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,13 +1,4 @@ Entries: -- author: aada - changes: - - message: Hotplates and kitchen grills can now be anchored on tables. - type: Fix - - message: Hotplates and kitchen grills now collide with walls. - type: Fix - id: 8300 - time: '2025-04-21T15:38:23.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/34776 - author: insoPL changes: - message: being able to drag certain food items onto drain and chemmasters @@ -3908,3 +3899,10 @@ id: 8811 time: '2025-07-28T07:11:21.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39250 +- author: EmoGarbage404 + changes: + - message: Fixed being unable to fold certain clothing while worn. + type: Fix + id: 8812 + time: '2025-07-28T10:19:17.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39257 From 3c76b5a8aa7d15413eaa50f13fef0bca7a51d1e9 Mon Sep 17 00:00:00 2001 From: xsainteer <156868231+xsainteer@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:50:49 +0600 Subject: [PATCH 017/149] rolebriefingcomponent bugfix (#39261) 2 line bugfix --- Content.Server/GameTicking/Rules/TraitorRuleSystem.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs index 2d96cae861..0a2882aa3c 100644 --- a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs @@ -125,8 +125,8 @@ public sealed class TraitorRuleSystem : GameRuleSystem if (traitorRole is not null) { Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Add traitor briefing components"); - AddComp(traitorRole.Value.Owner); - Comp(traitorRole.Value.Owner).Briefing = briefing; + EnsureComp(traitorRole.Value.Owner, out var briefingComp); + briefingComp.Briefing = briefing; } else { From 901cef43c96ce97c0ab6a43e312a8cb4fb619473 Mon Sep 17 00:00:00 2001 From: xsainteer <156868231+xsainteer@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:56:48 +0600 Subject: [PATCH 018/149] last words error fix (#39245) 4 line bugfix --- Content.Server/Mobs/CritMobActionsSystem.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Content.Server/Mobs/CritMobActionsSystem.cs b/Content.Server/Mobs/CritMobActionsSystem.cs index c897102dca..c266037a8f 100644 --- a/Content.Server/Mobs/CritMobActionsSystem.cs +++ b/Content.Server/Mobs/CritMobActionsSystem.cs @@ -65,6 +65,10 @@ public sealed class CritMobActionsSystem : EntitySystem _quickDialog.OpenDialog(actor.PlayerSession, Loc.GetString("action-name-crit-last-words"), "", (string lastWords) => { + // if a person is gibbed/deleted, they can't say last words + if (Deleted(uid)) + return; + // Intentionally does not check for muteness if (actor.PlayerSession.AttachedEntity != uid || !_mobState.IsCritical(uid)) From 8b104d30d5428682acf4edf15547b033625554e7 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Mon, 28 Jul 2025 14:59:40 +0200 Subject: [PATCH 019/149] allow janibelt to hold golden plunger (#39213) --- Resources/Prototypes/Entities/Clothing/Belt/belts.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 8255f0095a..ffb403534f 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -234,6 +234,7 @@ - WetFloorSign - HolosignProjector - Plunger + - GoldenPlunger - WireBrush components: - LightReplacer From b77b533e1f5ced17b9ec8e46552352ba84e58f4f Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 28 Jul 2025 13:00:48 +0000 Subject: [PATCH 020/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1c3466beed..1da2df59ca 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: insoPL - changes: - - message: being able to drag certain food items onto drain and chemmasters - type: Fix - id: 8301 - time: '2025-04-21T15:50:07.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/34683 - author: Hrosts changes: - message: Added rehydratable mop bucket cube, replacing the big and unwieldy yellow @@ -3906,3 +3899,10 @@ id: 8812 time: '2025-07-28T10:19:17.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39257 +- author: lzk228 + changes: + - message: Janibelt can hold the golden plunger now. + type: Fix + id: 8813 + time: '2025-07-28T12:59:41.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39213 From e2d96f1f4921d229ef92a3b6dc7850ce720b9748 Mon Sep 17 00:00:00 2001 From: eoineoineoin Date: Mon, 28 Jul 2025 14:27:21 +0100 Subject: [PATCH 021/149] Make BoozeDispenserEmpty actually empty (#39067) * Make BoozeDispenserEmpty actually empty * Make SodaDispenserEmpty actually empty * Remove whitespace --- .../Entities/Structures/Dispensers/booze.yml | 40 +++++++++---------- .../Entities/Structures/Dispensers/soda.yml | 31 +++++++------- 2 files changed, 34 insertions(+), 37 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Dispensers/booze.yml b/Resources/Prototypes/Entities/Structures/Dispensers/booze.yml index ea394c3c1b..4f03403e25 100644 --- a/Resources/Prototypes/Entities/Structures/Dispensers/booze.yml +++ b/Resources/Prototypes/Entities/Structures/Dispensers/booze.yml @@ -1,7 +1,7 @@ - type: entity - id: BoozeDispenser + id: BoozeDispenserEmpty name: booze dispenser - suffix: Filled + suffix: Empty description: A booze dispenser with a single slot for a container to be filled. parent: ReagentDispenserBase components: @@ -15,6 +15,22 @@ whitelist: tags: - DrinkBottle + - type: Transform + noRot: false + - type: Machine + board: BoozeDispenserMachineCircuitboard + - type: GuideHelp + guides: + - Bartender + - Drinks + - type: StealTarget + stealGroup: BoozeDispenser + +- type: entity + id: BoozeDispenser + suffix: Filled + parent: BoozeDispenserEmpty + components: - type: StorageFill contents: - id: DrinkAleBottleFullGrowler @@ -29,23 +45,3 @@ - id: DrinkVodkaBottleFull - id: DrinkWhiskeyBottleFull - id: DrinkWineBottleFull - - type: Transform - noRot: false - - type: Machine - board: BoozeDispenserMachineCircuitboard - - type: GuideHelp - guides: - - Bartender - - Drinks - - type: StealTarget - stealGroup: BoozeDispenser - -- type: entity - id: BoozeDispenserEmpty - suffix: Empty - parent: BoozeDispenser - components: - - type: Storage - whitelist: - tags: - - DrinkBottle diff --git a/Resources/Prototypes/Entities/Structures/Dispensers/soda.yml b/Resources/Prototypes/Entities/Structures/Dispensers/soda.yml index 75a1a485aa..6df6d595d2 100644 --- a/Resources/Prototypes/Entities/Structures/Dispensers/soda.yml +++ b/Resources/Prototypes/Entities/Structures/Dispensers/soda.yml @@ -1,9 +1,9 @@ - type: entity parent: ReagentDispenserBase - id: SodaDispenser + id: SodaDispenserEmpty name: soda dispenser description: A beverage dispenser with a selection of soda and several other common beverages. Has a single fill slot for containers. - suffix: Filled + suffix: Empty components: - type: Rotatable - type: Sprite @@ -15,6 +15,20 @@ whitelist: tags: - DrinkBottle + - type: Transform + noRot: false + - type: Machine + board: SodaDispenserMachineCircuitboard + - type: GuideHelp + guides: + - Bartender + - Drinks + +- type: entity + parent: SodaDispenserEmpty + id: SodaDispenser + suffix: Filled + components: - type: StorageFill contents: - id: DrinkCoconutWaterJug @@ -36,16 +50,3 @@ - id: DrinkTeaJug - id: DrinkTonicWaterBottleFull - id: DrinkWaterMelonJuiceJug - - type: Transform - noRot: false - - type: Machine - board: SodaDispenserMachineCircuitboard - - type: GuideHelp - guides: - - Bartender - - Drinks - -- type: entity - parent: SodaDispenser - id: SodaDispenserEmpty - suffix: Empty From b0825c102cec17285ceff01cf912e9e21ef5af18 Mon Sep 17 00:00:00 2001 From: Super <84590915+SuperGDPWYL@users.noreply.github.com> Date: Mon, 28 Jul 2025 17:09:17 +0100 Subject: [PATCH 022/149] Added a network configurator to the Warden's locker. (#39254) the days of wardloosing are OVER --- Resources/Prototypes/Catalog/Fills/Lockers/security.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml index 2f2e7a2c1a..056a5ce135 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml @@ -43,6 +43,7 @@ amount: 2 - id: RemoteSignaller amount: 2 + - id: NetworkConfigurator - id: Binoculars - type: entityTable From cb9b8c001dff54c2f9a4e839a8b58c0e83cc48a6 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 28 Jul 2025 16:10:25 +0000 Subject: [PATCH 023/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1da2df59ca..2c8f03909d 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Hrosts - changes: - - message: Added rehydratable mop bucket cube, replacing the big and unwieldy yellow - bucket in the janitorial supplies crate. - type: Add - id: 8302 - time: '2025-04-21T17:16:25.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/34586 - author: K-Dynamic changes: - message: Increased ratio of crew to thieves from 15 to 20. @@ -3906,3 +3898,10 @@ id: 8813 time: '2025-07-28T12:59:41.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39213 +- author: SuperGDPWYL + changes: + - message: The Warden now starts with a network configurator in their locker. + type: Add + id: 8814 + time: '2025-07-28T16:09:17.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39254 From a52bf2a7c8ec52e23a8a27f6975c2376ffcfab26 Mon Sep 17 00:00:00 2001 From: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com> Date: Mon, 28 Jul 2025 12:29:15 -0400 Subject: [PATCH 024/149] Convert a few debugging commands and the mapping setup command to LEC. (#38589) * commit * Update MappingClientSideSetupCommand.cs * missed a spot * Update MappingClientSideSetupCommand.cs * whoopos * Update mappingclientsidesetup-command.ftl --- Content.Client/Commands/DebugCommands.cs | 29 ++++++------------- .../Commands/MappingClientSideSetupCommand.cs | 27 ++++++++--------- ...ftl => mappingclientsidesetup-command.ftl} | 2 +- 3 files changed, 22 insertions(+), 36 deletions(-) rename Resources/Locale/en-US/commands/{mapping-client-side-setup-command.ftl => mappingclientsidesetup-command.ftl} (65%) diff --git a/Content.Client/Commands/DebugCommands.cs b/Content.Client/Commands/DebugCommands.cs index c4aa8847e4..ec9f74526e 100644 --- a/Content.Client/Commands/DebugCommands.cs +++ b/Content.Client/Commands/DebugCommands.cs @@ -1,53 +1,42 @@ using Content.Client.Markers; using Content.Client.Popups; using Content.Client.SubFloor; -using Content.Shared.SubFloor; -using Robust.Client.GameObjects; using Robust.Shared.Console; -using DrawDepth = Content.Shared.DrawDepth.DrawDepth; namespace Content.Client.Commands; -internal sealed class ShowMarkersCommand : LocalizedCommands +internal sealed class ShowMarkersCommand : LocalizedEntityCommands { - [Dependency] private readonly IEntitySystemManager _entitySystemManager = default!; + [Dependency] private readonly MarkerSystem _markerSystem = default!; public override string Command => "showmarkers"; - public override string Help => LocalizationManager.GetString($"cmd-{Command}-help", ("command", Command)); - public override void Execute(IConsoleShell shell, string argStr, string[] args) { - _entitySystemManager.GetEntitySystem().MarkersVisible ^= true; + _markerSystem.MarkersVisible ^= true; } } -internal sealed class ShowSubFloor : LocalizedCommands +internal sealed class ShowSubFloor : LocalizedEntityCommands { - [Dependency] private readonly IEntitySystemManager _entitySystemManager = default!; + [Dependency] private readonly SubFloorHideSystem _subfloorSystem = default!; public override string Command => "showsubfloor"; - public override string Help => LocalizationManager.GetString($"cmd-{Command}-help", ("command", Command)); - public override void Execute(IConsoleShell shell, string argStr, string[] args) { - _entitySystemManager.GetEntitySystem().ShowAll ^= true; + _subfloorSystem.ShowAll ^= true; } } -internal sealed class NotifyCommand : LocalizedCommands +internal sealed class NotifyCommand : LocalizedEntityCommands { - [Dependency] private readonly IEntitySystemManager _entitySystemManager = default!; + [Dependency] private readonly PopupSystem _popupSystem = default!; public override string Command => "notify"; - public override string Help => LocalizationManager.GetString($"cmd-{Command}-help", ("command", Command)); - public override void Execute(IConsoleShell shell, string argStr, string[] args) { - var message = args[0]; - - _entitySystemManager.GetEntitySystem().PopupCursor(message); + _popupSystem.PopupCursor(args[0]); } } diff --git a/Content.Client/Commands/MappingClientSideSetupCommand.cs b/Content.Client/Commands/MappingClientSideSetupCommand.cs index 99a8ba00fe..70a383b5f6 100644 --- a/Content.Client/Commands/MappingClientSideSetupCommand.cs +++ b/Content.Client/Commands/MappingClientSideSetupCommand.cs @@ -1,32 +1,29 @@ using Content.Client.Actions; -using Content.Client.Mapping; using Content.Client.Markers; -using JetBrains.Annotations; +using Content.Client.SubFloor; using Robust.Client.Graphics; -using Robust.Client.State; using Robust.Shared.Console; namespace Content.Client.Commands; -[UsedImplicitly] -internal sealed class MappingClientSideSetupCommand : LocalizedCommands +internal sealed class MappingClientSideSetupCommand : LocalizedEntityCommands { - [Dependency] private readonly IEntitySystemManager _entitySystemManager = default!; [Dependency] private readonly ILightManager _lightManager = default!; + [Dependency] private readonly ActionsSystem _actionSystem = default!; + [Dependency] private readonly MarkerSystem _markerSystem = default!; + [Dependency] private readonly SubFloorHideSystem _subfloorSystem = default!; public override string Command => "mappingclientsidesetup"; - public override string Help => LocalizationManager.GetString($"cmd-{Command}-help", ("command", Command)); - public override void Execute(IConsoleShell shell, string argStr, string[] args) { - if (!_lightManager.LockConsoleAccess) - { - _entitySystemManager.GetEntitySystem().MarkersVisible = true; - _lightManager.Enabled = false; - shell.ExecuteCommand("showsubfloor"); - _entitySystemManager.GetEntitySystem().LoadActionAssignments("/mapping_actions.yml", false); - } + if (_lightManager.LockConsoleAccess) + return; + + _markerSystem.MarkersVisible = true; + _lightManager.Enabled = false; + _subfloorSystem.ShowAll = true; + _actionSystem.LoadActionAssignments("/mapping_actions.yml", false); } } diff --git a/Resources/Locale/en-US/commands/mapping-client-side-setup-command.ftl b/Resources/Locale/en-US/commands/mappingclientsidesetup-command.ftl similarity index 65% rename from Resources/Locale/en-US/commands/mapping-client-side-setup-command.ftl rename to Resources/Locale/en-US/commands/mappingclientsidesetup-command.ftl index 955d077db4..24a7aa3d11 100644 --- a/Resources/Locale/en-US/commands/mapping-client-side-setup-command.ftl +++ b/Resources/Locale/en-US/commands/mappingclientsidesetup-command.ftl @@ -1,2 +1,2 @@ cmd-mappingclientsidesetup-desc = Sets up the lighting control and such settings client-side. Sent by 'mapping' to client. -cmd-mappingclientsidesetup-help = Usage: {$command} \ No newline at end of file +cmd-mappingclientsidesetup-help = Usage: mappingclientsidesetup From 4c24db9d9c137471cb5be9453c18e89d14fa286c Mon Sep 17 00:00:00 2001 From: kosticia Date: Mon, 28 Jul 2025 21:53:07 +0300 Subject: [PATCH 025/149] Predict mimepowers (#38859) * predict * fix * fix * aa * oops * TOTALFIX * some more cleanup --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Abilities/Mime/MimePowersComponent.cs | 70 ------- .../Abilities/Mime/MimePowersSystem.cs | 171 ---------------- Content.Server/Speech/Muting/MutingSystem.cs | 2 +- .../Abilities/Mime/MimePowersComponent.cs | 76 +++++++ .../Abilities/Mime/MimePowersSystem.cs | 187 ++++++++++++++++++ Resources/Locale/en-US/abilities/mime.ftl | 3 +- 6 files changed, 266 insertions(+), 243 deletions(-) delete mode 100644 Content.Server/Abilities/Mime/MimePowersComponent.cs delete mode 100644 Content.Server/Abilities/Mime/MimePowersSystem.cs create mode 100644 Content.Shared/Abilities/Mime/MimePowersComponent.cs create mode 100644 Content.Shared/Abilities/Mime/MimePowersSystem.cs diff --git a/Content.Server/Abilities/Mime/MimePowersComponent.cs b/Content.Server/Abilities/Mime/MimePowersComponent.cs deleted file mode 100644 index 24ffe5d023..0000000000 --- a/Content.Server/Abilities/Mime/MimePowersComponent.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Content.Shared.Alert; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; - -namespace Content.Server.Abilities.Mime -{ - /// - /// Lets its owner entity use mime powers, like placing invisible walls. - /// - [RegisterComponent] - public sealed partial class MimePowersComponent : Component - { - /// - /// Whether this component is active or not. - /// - [DataField("enabled")] - public bool Enabled = true; - - /// - /// The wall prototype to use. - /// - [DataField("wallPrototype", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string WallPrototype = "WallInvisible"; - - [DataField("invisibleWallAction", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string? InvisibleWallAction = "ActionMimeInvisibleWall"; - - [DataField("invisibleWallActionEntity")] public EntityUid? InvisibleWallActionEntity; - - // The vow zone lies below - public bool VowBroken = false; - - /// - /// Whether this mime is ready to take the vow again. - /// Note that if they already have the vow, this is also false. - /// - public bool ReadyToRepent = false; - - /// - /// Time when the mime can repent their vow - /// - [DataField("vowRepentTime", customTypeSerializer: typeof(TimeOffsetSerializer))] - public TimeSpan VowRepentTime = TimeSpan.Zero; - - /// - /// How long it takes the mime to get their powers back - /// - [DataField("vowCooldown")] - public TimeSpan VowCooldown = TimeSpan.FromMinutes(5); - - [DataField] - public ProtoId VowAlert = "VowOfSilence"; - - [DataField] - public ProtoId VowBrokenAlert = "VowBroken"; - - /// - /// Does this component prevent the mime from writing on paper while their vow is active? - /// - [DataField] - public bool PreventWriting = false; - - /// - /// What message is displayed when the mime fails to write? - /// - [DataField] - public LocId FailWriteMessage = "paper-component-illiterate-mime"; - } -} diff --git a/Content.Server/Abilities/Mime/MimePowersSystem.cs b/Content.Server/Abilities/Mime/MimePowersSystem.cs deleted file mode 100644 index 29c7b1710c..0000000000 --- a/Content.Server/Abilities/Mime/MimePowersSystem.cs +++ /dev/null @@ -1,171 +0,0 @@ -using Content.Server.Popups; -using Content.Shared.Abilities.Mime; -using Content.Shared.Actions; -using Content.Shared.Actions.Events; -using Content.Shared.Alert; -using Content.Shared.Coordinates.Helpers; -using Content.Shared.Maps; -using Content.Shared.Paper; -using Content.Shared.Physics; -using Robust.Shared.Containers; -using Robust.Shared.Map; -using Robust.Shared.Timing; -using Content.Shared.Speech.Muting; - -namespace Content.Server.Abilities.Mime -{ - public sealed class MimePowersSystem : EntitySystem - { - [Dependency] private readonly PopupSystem _popupSystem = default!; - [Dependency] private readonly SharedActionsSystem _actionsSystem = default!; - [Dependency] private readonly AlertsSystem _alertsSystem = default!; - [Dependency] private readonly TurfSystem _turf = default!; - [Dependency] private readonly IMapManager _mapMan = default!; - [Dependency] private readonly SharedContainerSystem _container = default!; - [Dependency] private readonly IGameTiming _timing = default!; - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnComponentInit); - SubscribeLocalEvent(OnInvisibleWall); - - SubscribeLocalEvent(OnBreakVowAlert); - SubscribeLocalEvent(OnRetakeVowAlert); - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - // Queue to track whether mimes can retake vows yet - - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var mime)) - { - if (!mime.VowBroken || mime.ReadyToRepent) - continue; - - if (_timing.CurTime < mime.VowRepentTime) - continue; - - mime.ReadyToRepent = true; - _popupSystem.PopupEntity(Loc.GetString("mime-ready-to-repent"), uid, uid); - } - } - - private void OnComponentInit(EntityUid uid, MimePowersComponent component, ComponentInit args) - { - EnsureComp(uid); - if (component.PreventWriting) - { - EnsureComp(uid, out var illiterateComponent); - illiterateComponent.FailWriteMessage = component.FailWriteMessage; - Dirty(uid, illiterateComponent); - } - - _alertsSystem.ShowAlert(uid, component.VowAlert); - _actionsSystem.AddAction(uid, ref component.InvisibleWallActionEntity, component.InvisibleWallAction, uid); - } - - /// - /// Creates an invisible wall in a free space after some checks. - /// - private void OnInvisibleWall(EntityUid uid, MimePowersComponent component, InvisibleWallActionEvent args) - { - if (!component.Enabled) - return; - - if (_container.IsEntityOrParentInContainer(uid)) - return; - - var xform = Transform(uid); - // Get the tile in front of the mime - var offsetValue = xform.LocalRotation.ToWorldVec(); - var coords = xform.Coordinates.Offset(offsetValue).SnapToGrid(EntityManager, _mapMan); - var tile = _turf.GetTileRef(coords); - if (tile == null) - return; - - // Check if the tile is blocked by a wall or mob, and don't create the wall if so - if (_turf.IsTileBlocked(tile.Value, CollisionGroup.Impassable | CollisionGroup.Opaque)) - { - _popupSystem.PopupEntity(Loc.GetString("mime-invisible-wall-failed"), uid, uid); - return; - } - - _popupSystem.PopupEntity(Loc.GetString("mime-invisible-wall-popup", ("mime", uid)), uid); - // Make sure we set the invisible wall to despawn properly - Spawn(component.WallPrototype, _turf.GetTileCenter(tile.Value)); - // Handle args so cooldown works - args.Handled = true; - } - - private void OnBreakVowAlert(Entity ent, ref BreakVowAlertEvent args) - { - if (args.Handled) - return; - BreakVow(ent, ent); - args.Handled = true; - } - - private void OnRetakeVowAlert(Entity ent, ref RetakeVowAlertEvent args) - { - if (args.Handled) - return; - RetakeVow(ent, ent); - args.Handled = true; - } - - /// - /// Break this mime's vow to not speak. - /// - public void BreakVow(EntityUid uid, MimePowersComponent? mimePowers = null) - { - if (!Resolve(uid, ref mimePowers)) - return; - - if (mimePowers.VowBroken) - return; - - mimePowers.Enabled = false; - mimePowers.VowBroken = true; - mimePowers.VowRepentTime = _timing.CurTime + mimePowers.VowCooldown; - RemComp(uid); - if (mimePowers.PreventWriting) - RemComp(uid); - _alertsSystem.ClearAlert(uid, mimePowers.VowAlert); - _alertsSystem.ShowAlert(uid, mimePowers.VowBrokenAlert); - _actionsSystem.RemoveAction(uid, mimePowers.InvisibleWallActionEntity); - } - - /// - /// Retake this mime's vow to not speak. - /// - public void RetakeVow(EntityUid uid, MimePowersComponent? mimePowers = null) - { - if (!Resolve(uid, ref mimePowers)) - return; - - if (!mimePowers.ReadyToRepent) - { - _popupSystem.PopupEntity(Loc.GetString("mime-not-ready-repent"), uid, uid); - return; - } - - mimePowers.Enabled = true; - mimePowers.ReadyToRepent = false; - mimePowers.VowBroken = false; - AddComp(uid); - if (mimePowers.PreventWriting) - { - EnsureComp(uid, out var illiterateComponent); - illiterateComponent.FailWriteMessage = mimePowers.FailWriteMessage; - Dirty(uid, illiterateComponent); - } - - _alertsSystem.ClearAlert(uid, mimePowers.VowBrokenAlert); - _alertsSystem.ShowAlert(uid, mimePowers.VowAlert); - _actionsSystem.AddAction(uid, ref mimePowers.InvisibleWallActionEntity, mimePowers.InvisibleWallAction, uid); - } - } -} diff --git a/Content.Server/Speech/Muting/MutingSystem.cs b/Content.Server/Speech/Muting/MutingSystem.cs index edf82bbfb2..f588e2238d 100644 --- a/Content.Server/Speech/Muting/MutingSystem.cs +++ b/Content.Server/Speech/Muting/MutingSystem.cs @@ -1,4 +1,4 @@ -using Content.Server.Abilities.Mime; +using Content.Shared.Abilities.Mime; using Content.Server.Chat.Systems; using Content.Server.Popups; using Content.Server.Speech.Components; diff --git a/Content.Shared/Abilities/Mime/MimePowersComponent.cs b/Content.Shared/Abilities/Mime/MimePowersComponent.cs new file mode 100644 index 0000000000..8414dd7a0d --- /dev/null +++ b/Content.Shared/Abilities/Mime/MimePowersComponent.cs @@ -0,0 +1,76 @@ +using Content.Shared.Alert; +using Robust.Shared.Prototypes; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Shared.Abilities.Mime; + +/// +/// Lets its owner entity use mime powers, like placing invisible walls. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[AutoGenerateComponentPause] +public sealed partial class MimePowersComponent : Component +{ + /// + /// Whether this component is active or not. + /// + [DataField, AutoNetworkedField] + public bool Enabled = true; + + /// + /// The wall prototype to use. + /// + [DataField, AutoNetworkedField] + public EntProtoId WallPrototype = "WallInvisible"; + + [DataField] + public EntProtoId? InvisibleWallAction = "ActionMimeInvisibleWall"; + + [DataField, AutoNetworkedField] + public EntityUid? InvisibleWallActionEntity; + + // The vow zone lies below + [DataField, AutoNetworkedField] + public bool VowBroken = false; + + /// + /// Whether this mime is ready to take the vow again. + /// Note that if they already have the vow, this is also false. + /// + [DataField, AutoNetworkedField] + public bool ReadyToRepent = false; + + /// + /// Time when the mime can repent their vow + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] + public TimeSpan VowRepentTime = TimeSpan.Zero; + + /// + /// How long it takes the mime to get their powers back + /// + [DataField, AutoNetworkedField] + public TimeSpan VowCooldown = TimeSpan.FromMinutes(5); + + [DataField] + public ProtoId VowAlert = "VowOfSilence"; + + [DataField] + public ProtoId VowBrokenAlert = "VowBroken"; + + /// + /// Does this component prevent the mime from writing on paper while their vow is active? + /// + [DataField, AutoNetworkedField] + public bool PreventWriting = false; + + /// + /// What message is displayed when the mime fails to write? + /// + [DataField] + public LocId FailWriteMessage = "paper-component-illiterate-mime"; + + public override bool SendOnlyToOwner => true; +} diff --git a/Content.Shared/Abilities/Mime/MimePowersSystem.cs b/Content.Shared/Abilities/Mime/MimePowersSystem.cs new file mode 100644 index 0000000000..22ba7a3591 --- /dev/null +++ b/Content.Shared/Abilities/Mime/MimePowersSystem.cs @@ -0,0 +1,187 @@ +using Content.Shared.Popups; +using Content.Shared.Actions; +using Content.Shared.Actions.Events; +using Content.Shared.Alert; +using Content.Shared.Coordinates.Helpers; +using Content.Shared.IdentityManagement; +using Content.Shared.Maps; +using Content.Shared.Paper; +using Content.Shared.Physics; +using Content.Shared.Speech.Muting; +using Robust.Shared.Containers; +using Robust.Shared.Map; +using Robust.Shared.Timing; + +namespace Content.Shared.Abilities.Mime; + +public sealed class MimePowersSystem : EntitySystem +{ + [Dependency] private readonly SharedPopupSystem _popupSystem = default!; + [Dependency] private readonly SharedActionsSystem _actionsSystem = default!; + [Dependency] private readonly AlertsSystem _alertsSystem = default!; + [Dependency] private readonly TurfSystem _turf = default!; + [Dependency] private readonly IMapManager _mapMan = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; + [Dependency] private readonly IGameTiming _timing = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnComponentInit); + SubscribeLocalEvent(OnComponentShutdown); + SubscribeLocalEvent(OnInvisibleWall); + + SubscribeLocalEvent(OnBreakVowAlert); + SubscribeLocalEvent(OnRetakeVowAlert); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + // Queue to track whether mimes can retake vows yet + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var mime)) + { + if (!mime.VowBroken || mime.ReadyToRepent) + continue; + + if (_timing.CurTime < mime.VowRepentTime) + continue; + + mime.ReadyToRepent = true; + Dirty(uid, mime); + _popupSystem.PopupClient(Loc.GetString("mime-ready-to-repent"), uid, uid); + } + } + + private void OnComponentInit(Entity ent, ref ComponentInit args) + { + EnsureComp(ent); + + if (ent.Comp.PreventWriting) + { + EnsureComp(ent, out var illiterateComponent); + illiterateComponent.FailWriteMessage = ent.Comp.FailWriteMessage; + Dirty(ent, illiterateComponent); + } + + _alertsSystem.ShowAlert(ent, ent.Comp.VowAlert); + _actionsSystem.AddAction(ent, ref ent.Comp.InvisibleWallActionEntity, ent.Comp.InvisibleWallAction); + } + + private void OnComponentShutdown(Entity ent, ref ComponentShutdown args) + { + _actionsSystem.RemoveAction(ent.Owner, ent.Comp.InvisibleWallActionEntity); + } + + /// + /// Creates an invisible wall in a free space after some checks. + /// + private void OnInvisibleWall(Entity ent, ref InvisibleWallActionEvent args) + { + if (!ent.Comp.Enabled) + return; + + if (_container.IsEntityOrParentInContainer(ent)) + return; + + var xform = Transform(ent); + // Get the tile in front of the mime + var offsetValue = xform.LocalRotation.ToWorldVec(); + var coords = xform.Coordinates.Offset(offsetValue).SnapToGrid(EntityManager, _mapMan); + var tile = _turf.GetTileRef(coords); + if (tile == null) + return; + + // Check if the tile is blocked by a wall or mob, and don't create the wall if so + if (_turf.IsTileBlocked(tile.Value, CollisionGroup.Impassable | CollisionGroup.Opaque)) + { + _popupSystem.PopupClient(Loc.GetString("mime-invisible-wall-failed"), ent, ent); + return; + } + + var messageSelf = Loc.GetString("mime-invisible-wall-popup-self", ("mime", Identity.Entity(ent.Owner, EntityManager))); + var messageOthers = Loc.GetString("mime-invisible-wall-popup-others", ("mime", Identity.Entity(ent.Owner, EntityManager))); + _popupSystem.PopupPredicted(messageSelf, messageOthers, ent, ent); + + // Make sure we set the invisible wall to despawn properly + PredictedSpawnAtPosition(ent.Comp.WallPrototype, _turf.GetTileCenter(tile.Value)); + // Handle args so cooldown works + args.Handled = true; + } + + private void OnBreakVowAlert(Entity ent, ref BreakVowAlertEvent args) + { + if (args.Handled) + return; + + BreakVow(ent, ent); + args.Handled = true; + } + + private void OnRetakeVowAlert(Entity ent, ref RetakeVowAlertEvent args) + { + if (args.Handled) + return; + + RetakeVow(ent, ent); + args.Handled = true; + } + + /// + /// Break this mime's vow to not speak. + /// + public void BreakVow(EntityUid uid, MimePowersComponent? mimePowers = null) + { + if (!Resolve(uid, ref mimePowers)) + return; + + if (mimePowers.VowBroken) + return; + + mimePowers.Enabled = false; + mimePowers.VowBroken = true; + mimePowers.VowRepentTime = _timing.CurTime + mimePowers.VowCooldown; + Dirty(uid, mimePowers); + RemComp(uid); + if (mimePowers.PreventWriting) + RemComp(uid); + + _alertsSystem.ClearAlert(uid, mimePowers.VowAlert); + _alertsSystem.ShowAlert(uid, mimePowers.VowBrokenAlert); + _actionsSystem.RemoveAction(uid, mimePowers.InvisibleWallActionEntity); + } + + /// + /// Retake this mime's vow to not speak. + /// + public void RetakeVow(EntityUid uid, MimePowersComponent? mimePowers = null) + { + if (!Resolve(uid, ref mimePowers)) + return; + + if (!mimePowers.ReadyToRepent) + { + _popupSystem.PopupClient(Loc.GetString("mime-not-ready-repent"), uid, uid); + return; + } + + mimePowers.Enabled = true; + mimePowers.ReadyToRepent = false; + mimePowers.VowBroken = false; + Dirty(uid, mimePowers); + AddComp(uid); + if (mimePowers.PreventWriting) + { + EnsureComp(uid, out var illiterateComponent); + illiterateComponent.FailWriteMessage = mimePowers.FailWriteMessage; + Dirty(uid, illiterateComponent); + } + + _alertsSystem.ClearAlert(uid, mimePowers.VowBrokenAlert); + _alertsSystem.ShowAlert(uid, mimePowers.VowAlert); + _actionsSystem.AddAction(uid, ref mimePowers.InvisibleWallActionEntity, mimePowers.InvisibleWallAction, uid); + } +} diff --git a/Resources/Locale/en-US/abilities/mime.ftl b/Resources/Locale/en-US/abilities/mime.ftl index 4fd960d89e..3957283f80 100644 --- a/Resources/Locale/en-US/abilities/mime.ftl +++ b/Resources/Locale/en-US/abilities/mime.ftl @@ -1,5 +1,6 @@ mime-cant-speak = Your vow of silence prevents you from speaking. -mime-invisible-wall-popup = {CAPITALIZE(THE($mime))} brushes up against an invisible wall! +mime-invisible-wall-popup-self = You brush up against an invisible wall! +mime-invisible-wall-popup-others = {CAPITALIZE(THE($mime))} brushes up against an invisible wall! mime-invisible-wall-failed = You can't create an invisible wall there. mime-not-ready-repent = You aren't ready to repent for your broken vow yet. mime-ready-to-repent = You feel ready to take your vows again. From 4a7576a7a63906240ad8492bfb5dcae95884cb8a Mon Sep 17 00:00:00 2001 From: Mora <46364955+TrixxedHeart@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:28:15 -0800 Subject: [PATCH 026/149] Several Vox Sprite Displacement and Layering Fixes (#39219) * Vox displacement map fixes * Adds neck displacement map and changes sprite layering to prevent the tank from rendering on top of a Vox's facial hair strangely --- .../Prototypes/Entities/Mobs/Species/vox.yml | 7 ++++++- .../Species/Vox/displacement.rsi/jumpsuit.png | Bin 906 -> 913 bytes .../Mobs/Species/Vox/displacement.rsi/meta.json | 4 ++++ .../Mobs/Species/Vox/displacement.rsi/neck.png | Bin 0 -> 435 bytes 4 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Mobs/Species/Vox/displacement.rsi/neck.png diff --git a/Resources/Prototypes/Entities/Mobs/Species/vox.yml b/Resources/Prototypes/Entities/Mobs/Species/vox.yml index 94b5cebf26..fa22736179 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/vox.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/vox.yml @@ -85,11 +85,11 @@ - map: [ "outerClothing" ] - map: [ "back" ] - map: [ "neck" ] + - map: [ "suitstorage" ] # This is not in the default order - map: [ "enum.HumanoidVisualLayers.FacialHair" ] - map: [ "enum.HumanoidVisualLayers.Hair" ] - map: [ "enum.HumanoidVisualLayers.HeadSide" ] - map: [ "enum.HumanoidVisualLayers.HeadTop" ] - - map: [ "suitstorage" ] # This is not in the default order - map: [ "enum.HumanoidVisualLayers.Tail" ] - map: [ "mask" ] - map: [ "head" ] @@ -137,6 +137,11 @@ 32: sprite: Mobs/Species/Vox/displacement.rsi state: head + neck: + sizeMaps: + 32: + sprite: Mobs/Species/Vox/displacement.rsi + state: neck back: sizeMaps: 32: diff --git a/Resources/Textures/Mobs/Species/Vox/displacement.rsi/jumpsuit.png b/Resources/Textures/Mobs/Species/Vox/displacement.rsi/jumpsuit.png index 2c938634eb635f50d8063794b40b70cf50efb46f..18ce524dbb74cf877c79d51644530616f8516bc2 100644 GIT binary patch delta 877 zcmV-z1CsoT2ayMmF@H-*L_t(|ob6g!mg67{tfJ>&+^n6Oaj~HJFgV!pCKmH%?D|R4 z?MI0+5<-Z>0Ktu6dK=Iij{v<5=#58!-Ujr>BS3EhdgG7k=`$Gvvu)`DodB=^fZ^r7 zraAoDAdjnI*E+o27gzuo9shY35L@>-EgJEk6Ce&M0GYn+5r4z46=C8cwMEd5r+A)+ zXMuDuS@`(TZ&q-J1;23J3kX0m`1fN#N>29~JpO%2w*0@?G7(nzw?crV_9*ywT|gL# z9Rv$wQY62L5UA+D!X06ge+Mal(F%x!(ho8y#nc5U*lg(kdE+At$<+|&wIbaydw1qzklQZHOR^X3@jwP5eeT-%Tic? zz)lm4aUk)3j9;8;K2IXl+koD91n6x*Z#)9@HlQ~i0eTzI8;=0J4d{(WfZhi5#_a`A zSA^ol<9JKk{sedigdJ~&p}&#VtpM36K8U@pIcC8%y9a2}Ah9#>RH>zt_XX9V@%DE- z^KVw8s(&^}?7+~DO$*6e5ZGp}k>2{mLJSBP$>+-sf+FMO{X3aFFIWNmT#%Y~Xxk}h z$;mH@(!mRWpVa@d?KqE=L7(8%3TwAgp?`?6Vw_fv&p^Ebh=1=rI2u;k6m2q3fMY7jD3tYVmRDenVS-W*ff{-_DH6Q?!TD%efwKqfR!;ruUVd({82*Lnf zEP^jI7XT8QB}Ty^fDwo%sGU4=gP_0(;|?Gl6CsHir~~2TsvsCr@KFd{bTPVwpK^lP z#Ae&C0D;3WfIcOog%3;gr=b{cxNs9aaz+?Hh5@{^Kj1YudRTy#0BA1U27UZWO9T7W zFQ6JP>p0AXuZceRR6zwh^d+%Oq9&+d$L))vw-?|q;5|%QkzN(Q00000NkvXXu0mjf Dv4ffZ delta 870 zcmV-s1DX7h2Z{%fF@Ho!L_t(|ob6g$j^rQ=tfKc|+-x&9<6?vNgOHGCV+cX3q@+=2 zn#g6UjR6CP0fGm^^md>(UIBVL&>OD+y&dR{SAgCQ^v2@__@jDTZ1|+pwOs{o0iLuA z0Hfp2kAT?0_4Bv3tB`9~$)6`cG%5g@d>8)!2t#{`6WRO?-hcltz{;2$>>RlM{wfjH z{0FaXMn)$8c@9X8(9JA+#`oIA*5!m9{-YEiKoS3G1PCLsgJ9)MisXO721n@T;Zlf0 z{u8A9IpQBiKqQ<#xeD_G0|$PRzH9m~e!BcND-ITGweu6#%OtMBpe zEs(z9zlwli2>ZRigIjE~e#ZY}y9Pz;00Rp__(f!VHh&i_e$F7UQwL)nNX9?HgH!eA zT?qAdpf_FtdOOe?uK>Lr=#5u^-VXG}D?o1tdgB$Kw*$TLcmdQEq4YSsWdGd)gq=^V zm4~sq2uMzAH=P$-c@(PhW5KmJ2WWCZ;>7S&sil)!L=a0b?D-F?Q3?^N>H&rp5KP69 zI}r;pAb((_oVz#)idaAZ|2ubH*zQ~a7|#Z1$7cugi*RkH;xL7lj?4CpglN!M$Wpm$F+Nb zyJvw5pb|j#PF<2DMI z5r`+K?L1JJ1O-kQXMl7WdiM|*xrGjdle?1OxC9SE1S77%Odb5RCRlX5eFO*`h5_^` z8DA|tLWq7Eit!6Ko;D9EW3b5P*-5v^21r`vNL^McZMn w#+vAp&n39P4}D3jkf;eR@Z<4C(Z>t$4>*xVl;3MdQ~&?~07*qoM6N<$f{0s@MgRZ+ diff --git a/Resources/Textures/Mobs/Species/Vox/displacement.rsi/meta.json b/Resources/Textures/Mobs/Species/Vox/displacement.rsi/meta.json index 0c910f85e5..e46ca56024 100644 --- a/Resources/Textures/Mobs/Species/Vox/displacement.rsi/meta.json +++ b/Resources/Textures/Mobs/Species/Vox/displacement.rsi/meta.json @@ -26,6 +26,10 @@ "name": "head", "directions": 4 }, + { + "name": "neck", + "directions": 4 + }, { "name": "ears", "directions": 4 diff --git a/Resources/Textures/Mobs/Species/Vox/displacement.rsi/neck.png b/Resources/Textures/Mobs/Species/Vox/displacement.rsi/neck.png new file mode 100644 index 0000000000000000000000000000000000000000..8783d770ea35dd7376dd67e6acfdecba42c485ea GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0(2Ka=yHZ(9a)H5{HGBngNG}JKE*8?ROS`M#Q15)fIL4Lvi!GJ-^o7oL0 z#981GSEaj?;r{m8>7v650xp3fk^lbt^BGL<6zFX{wffZ3 z&4#9zFMm|xZkN2xxma~h(?ce{^*64~(FQ}kbiSm ze1MeBUyIEX*FNX6DCuVXeQs`d=T@f4|MlMQ*WsuOez@;{|Cdk!iBNQu8zx+c{ z(v*`;U!2>Q2XA%}UGm0sZCd311zz2Pvzn5vU1kNw7!~9mEbMrHT18hs#W76$#_<%# y*+xaB;(y#6dp-&rS*IIOB7TSUq_s$mKgawvONC9E9?Sd#g{P;hpUXO@geCw6->irL literal 0 HcmV?d00001 From 13ac52d21bd193c9093e08b6fb11754847aec91d Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 28 Jul 2025 21:29:22 +0000 Subject: [PATCH 027/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 2c8f03909d..bbb15eb6e8 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: K-Dynamic - changes: - - message: Increased ratio of crew to thieves from 15 to 20. - type: Tweak - id: 8303 - time: '2025-04-21T17:24:28.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/36531 - author: centcomofficer24 changes: - message: Added a genderfluid pin! @@ -3905,3 +3898,12 @@ id: 8814 time: '2025-07-28T16:09:17.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39254 +- author: TrixxedHeart + changes: + - message: Several strange sprite issues with Vox have been fixed, most notably + jumpsuits and many neck items overlapping the face, as well as a layering issue + where their tank would appear over their hair. + type: Fix + id: 8815 + time: '2025-07-28T21:28:15.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39219 From 60cf54840f7cacdbac08fbcb894df539028b42f1 Mon Sep 17 00:00:00 2001 From: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:34:47 +1200 Subject: [PATCH 028/149] Quartermaster job and ID icon change (#39259) --- .../Misc/job_icons.rsi/QuarterMaster.png | Bin 5275 -> 848 bytes .../Interface/Misc/job_icons.rsi/meta.json | 2 +- .../Misc/id_cards.rsi/idquartermaster.png | Bin 256 -> 477 bytes .../Objects/Misc/id_cards.rsi/meta.json | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Textures/Interface/Misc/job_icons.rsi/QuarterMaster.png b/Resources/Textures/Interface/Misc/job_icons.rsi/QuarterMaster.png index 2e2e6fdcd627bd758115e1828f652dbb26b0d365..07a5f1619fd6eae8f425fbf28cd996d85655e88f 100644 GIT binary patch delta 729 zcmbQOd4X+$vOZ&5rn7T^r?ay{Kv8~LW=<*tgU0!(6Ky>X2Z*%#2Oo{n;wuv$+^$zi<_>V=>S+ zKHafg?DC6<`0pi?U+JCN{9*sA;9@c68l{gi#y+zvnk%Xpb6i+$U?o zkBP6lj_1$e*5kG@&RI73^O3})jTer2NpD`XQqW(}J;Zl;jpE~tr|K)aH;1j;ls5lQ z>%uwvCOxuRn|NeHi-nND!UbJIr#1*Kja5JDH0j(@zJH3>=POKiS|=o7DHhPkcJpiV z|AX&uM*Td=sjsQRcvrvgvmw)$H%z^=9@ofQ`#om)V9y+0bvk|}v+?{T*Q27IaJ;zB zrnfG7)+Y9tcMQ$`Z8@jbJz1{$r2g}P-;%Y#ViG%8o3iiSnf2VFmf@1g>Zj5V9tcS2 z27Ie(FK55?{M&Qc^12Ci49Vd|3p=`B>|$VG;4JWnEM{QPQvzYeRgdmY0t!l$xJHx& z=ckpFCl;kL1SDqWmFW4ohA5co8R}U`XTDkiR3iyeFVdQ&MBb@0BPL|F#rGn literal 5275 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 SA>RUcL*aYR_bTxCF6loStOMl$ diff --git a/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json b/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json index 8dd3bacec6..2578a6c254 100644 --- a/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json +++ b/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/e71d6c4fba5a51f99b81c295dcaec4fc2f58fb19/icons/mob/screen1.dmi | Brigmedic icon made by PuroSlavKing (Github) | Zombie icon made by RamZ | Zookeper by netwy (discort) | Rev and Head Rev icon taken from https://tgstation13.org/wiki/HUD and edited by coolmankid12345 (Discord) | Mindshield icon taken from https://github.com/tgstation/tgstation/blob/ce6beb8a4d61235d9a597a7126c407160ed674ea/icons/mob/huds/hud.dmi | Admin recolored from MedicalIntern by TsjipTsjip | StationAi resprite to 8x8 size by lunarcomets | Service Worker resprite by anno_midi (Discord) and spanky-spanky (Github) | service icons darkened by frobnic8 (Discord and Github) | paradoxClone taken from tg station at commit https://github.com/tgstation/tgstation/commit/d0db1ff267557017ae7bde68e6490e70cbb6e42f and modifed by slarticodefast (Github) | Boxer, Chaplain, Janitor, Lawyer, Librarian recoloured by K-Dynamic (github) | Cluwne icon by Professor Renderer (Discord)", + "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/e71d6c4fba5a51f99b81c295dcaec4fc2f58fb19/icons/mob/screen1.dmi | Brigmedic icon made by PuroSlavKing (Github) | Zombie icon made by RamZ | Zookeper by netwy (discort) | Rev and Head Rev icon taken from https://tgstation13.org/wiki/HUD and edited by coolmankid12345 (Discord) | Mindshield icon taken from https://github.com/tgstation/tgstation/blob/ce6beb8a4d61235d9a597a7126c407160ed674ea/icons/mob/huds/hud.dmi | Admin recolored from MedicalIntern by TsjipTsjip | StationAi resprite to 8x8 size by lunarcomets | Service Worker resprite by anno_midi (Discord) and spanky-spanky (Github) | service icons darkened by frobnic8 (Discord and Github) | paradoxClone taken from tg station at commit https://github.com/tgstation/tgstation/commit/d0db1ff267557017ae7bde68e6490e70cbb6e42f and modifed by slarticodefast (Github) | Boxer, Chaplain, Janitor, Lawyer, Librarian recoloured by K-Dynamic (github) | Cluwne icon by Professor Renderer (Discord) | QuarterMaster modified by K-Dynamic (github)", "size": { "x": 8, "y": 8 diff --git a/Resources/Textures/Objects/Misc/id_cards.rsi/idquartermaster.png b/Resources/Textures/Objects/Misc/id_cards.rsi/idquartermaster.png index bfdd06787249358ae9a3819536d96609871d82ba..e1fb5e5f62e47335d26f47be1f2b7187d908cac5 100644 GIT binary patch literal 477 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij?1AIbUxz+6W95SWTm;V3%KiXA!W19<5=6h!PEFi^R666;Q6bAwZDQ{*s zpb%$)M`SSr1K$x4W}K?cCk+&oC~=J_3C>R|DNig)We7;j%q!9Ja}7~2)iczykj{Ly z0;pzNYJ_K+r>7PJ2av3CK2NWMU8i(osO1+0FtM z&jPYRfTx_1;RVp6FdEHL2B6dgb_N!pN&_Qf1I7gqQ$aSeE`XRc1;_>gCZM@YV3k3Z z7C;tMm!W|HNOsNsU&iqrApt;Ugr|#Rh=u>#en-9o3LGrcoqqnG+&wL%CouWdT3Npw zwQeW%KZnkCF$hHMSFsT44P-jS^z)m5^o+_Y2~B4|xMWonC;d9h$K5oC@#BW92@USY f&Y73|XjxFjsIgV-ol6<32*^H9S3j3^P6I;zKEbxddW?X?_wfUrhf}1>D977^nlM^IZ7bl4H zG)?4_=nOrvHtqZTMj(jvn*H$o=G8nP5T7rr6lJe>z-i4>roNXPjHS{NukDxiDV$Mzm@AC5i~J?zsBq zUo!KCIgXqXA95_XI=BvHgg^bC*w>{ZxhLy?ZQIh_?}bd}zp&^j3suuRD46_H1L8a; bHXvXSk#&A~HP-he(D@9Wu6{1-oD!M<;Nw_~ diff --git a/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json b/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json index 0a5a37d802..2c402c0282 100644 --- a/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json +++ b/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d917f4c2a088419d5c3aec7656b7ff8cebd1822e idcluwne made by brainfood1183 (github) for ss14, idbrigmedic made by PuroSlavKing (Github), pirate made by brainfood1183 (github), idadmin made by Arimah (github), idvisitor by IProduceWidgets (Github), idintern-service by spanky-spanky (Github) | service icons darkened by frobnic8 (Discord and Github), wizard and idwizard by ScarKy0 | idboxer and idlawyer recoloured by K-Dynamic (github).", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d917f4c2a088419d5c3aec7656b7ff8cebd1822e idcluwne made by brainfood1183 (github) for ss14, idbrigmedic made by PuroSlavKing (Github), pirate made by brainfood1183 (github), idadmin made by Arimah (github), idvisitor by IProduceWidgets (Github), idintern-service by spanky-spanky (Github) | service icons darkened by frobnic8 (Discord and Github), wizard and idwizard by ScarKy0 | idboxer and idlawyer recoloured by K-Dynamic (github) | idquartermaster modified by K-Dynamic (github)", "size": { "x": 32, "y": 32 From 990940071b9fcb8747590833797cd00d9ca49d70 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 29 Jul 2025 07:35:56 +0000 Subject: [PATCH 029/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index bbb15eb6e8..4a68935a24 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: centcomofficer24 - changes: - - message: Added a genderfluid pin! - type: Add - id: 8304 - time: '2025-04-21T17:46:34.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/35854 - author: ScarKy0 changes: - message: Station AI now has a name identifier appended after their name. @@ -3907,3 +3900,10 @@ id: 8815 time: '2025-07-28T21:28:15.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39219 +- author: K-Dynamic + changes: + - message: Quartermaster job and ID icons are now based on Cargo Technicians. + type: Tweak + id: 8816 + time: '2025-07-29T07:34:47.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39259 From 9be68a6846f6c529e39ce0e51d6d15d107f892c1 Mon Sep 17 00:00:00 2001 From: Alkheemist Date: Tue, 29 Jul 2025 22:01:40 +1000 Subject: [PATCH 030/149] Fix a logic error in Protectedgridsystem (#39271) fix a logic error in Protectedgridsystem --- Content.Shared/Tiles/ProtectedGridSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Shared/Tiles/ProtectedGridSystem.cs b/Content.Shared/Tiles/ProtectedGridSystem.cs index 0d6f5b7a6d..f90b0a52de 100644 --- a/Content.Shared/Tiles/ProtectedGridSystem.cs +++ b/Content.Shared/Tiles/ProtectedGridSystem.cs @@ -62,7 +62,7 @@ public sealed class ProtectedGridSystem : EntitySystem return; } - if (SharedMapSystem.FromBitmask(args.GridIndices, data)) + if (!SharedMapSystem.FromBitmask(args.GridIndices, data)) { args.Cancelled = true; } From 3f41b47d2e478dfd0f402b9e4e019f0d0a87872b Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 29 Jul 2025 12:02:48 +0000 Subject: [PATCH 031/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 4a68935a24..daaa6c0973 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: ScarKy0 - changes: - - message: Station AI now has a name identifier appended after their name. - type: Tweak - id: 8305 - time: '2025-04-21T17:54:51.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/36801 - author: lzk228 changes: - message: Fix identity reveal for creaming and meat spike popups. @@ -3907,3 +3900,13 @@ id: 8816 time: '2025-07-29T07:34:47.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39259 +- author: Alkheemist + changes: + - message: Protected Grids can now again have their hull and tiles repaired (Evac, + ATS, etc) + type: Fix + - message: Protected Grids can no longer be expanded outside of their original size. + type: Fix + id: 8817 + time: '2025-07-29T12:01:40.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39271 From d4e77423caf57cc8e3bf34ef4912bc4a467e6c66 Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Tue, 29 Jul 2025 16:39:48 +0200 Subject: [PATCH 032/149] Make RemoveReagent return a FixedPoint2 (#39266) change return --- .../SharedSolutionContainerSystem.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs b/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs index 83de0970ec..5cc12a9b69 100644 --- a/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs +++ b/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs @@ -510,20 +510,20 @@ public abstract partial class SharedSolutionContainerSystem : EntitySystem /// Removes reagent from a container. /// /// - /// Solution container from which we are removing reagent + /// Solution container from which we are removing reagent. /// The reagent to remove. - /// If the reagent to remove was found in the container. - public bool RemoveReagent(Entity soln, ReagentQuantity reagentQuantity) + /// The amount of reagent that was removed. + public FixedPoint2 RemoveReagent(Entity soln, ReagentQuantity reagentQuantity) { var (uid, comp) = soln; var solution = comp.Solution; var quant = solution.RemoveReagent(reagentQuantity); if (quant <= FixedPoint2.Zero) - return false; + return FixedPoint2.Zero; UpdateChemicals(soln); - return true; + return quant; } /// @@ -533,8 +533,8 @@ public abstract partial class SharedSolutionContainerSystem : EntitySystem /// Solution container from which we are removing reagent /// The Id of the reagent to remove. /// The amount of reagent to remove. - /// If the reagent to remove was found in the container. - public bool RemoveReagent(Entity soln, string prototype, FixedPoint2 quantity, List? data = null) + /// The amount of reagent that was removed. + public FixedPoint2 RemoveReagent(Entity soln, string prototype, FixedPoint2 quantity, List? data = null) { return RemoveReagent(soln, new ReagentQuantity(prototype, quantity, data)); } @@ -546,8 +546,8 @@ public abstract partial class SharedSolutionContainerSystem : EntitySystem /// Solution container from which we are removing reagent /// The reagent to remove. /// The amount of reagent to remove. - /// If the reagent to remove was found in the container. - public bool RemoveReagent(Entity soln, ReagentId reagentId, FixedPoint2 quantity) + /// The amount of reagent that was removed. + public FixedPoint2 RemoveReagent(Entity soln, ReagentId reagentId, FixedPoint2 quantity) { return RemoveReagent(soln, new ReagentQuantity(reagentId, quantity)); } From 0606ed585140c2e23b860421f7d5e2fb7bd18f1e Mon Sep 17 00:00:00 2001 From: Admiral-Obvious-001 <89495925+Admiral-Obvious-001@users.noreply.github.com> Date: Tue, 29 Jul 2025 11:52:42 -0700 Subject: [PATCH 033/149] Retry of Advanced Chem Tweaks (#38811) * Changed Head Branch Due To Broken Merge * Changed Head Branch Due To Broken Merge * Readds the removal of bic/advanced mix. * TFW Breaking changes break changes * TFW Breaking changes break changes --- Resources/Prototypes/Reagents/medicine.yml | 51 ++++++++++--------- .../Prototypes/Recipes/Reactions/medicine.yml | 33 ------------ 2 files changed, 28 insertions(+), 56 deletions(-) diff --git a/Resources/Prototypes/Reagents/medicine.yml b/Resources/Prototypes/Reagents/medicine.yml index dfecb112d5..f0ea5581ae 100644 --- a/Resources/Prototypes/Reagents/medicine.yml +++ b/Resources/Prototypes/Reagents/medicine.yml @@ -142,10 +142,9 @@ metabolisms: Medicine: effects: - - !type:HealthChange + - !type:EvenHealthChange damage: - groups: - Brute: -2 + Brute: -1.5 - !type:HealthChange conditions: - !type:ReagentThreshold @@ -845,6 +844,7 @@ color: "#520e30" metabolisms: Medicine: + metabolismRate: 0.25 effects: - !type:HealthChange conditions: @@ -853,15 +853,15 @@ max: 30 damage: groups: - Toxin: -3 - Brute: 0.5 + Toxin: -1.5 + Brute: 0.25 - !type:HealthChange conditions: - !type:ReagentThreshold min: 30 damage: groups: - Toxin: -1 + Toxin: -0.5 Brute: 3 - !type:AdjustReagent conditions: @@ -971,18 +971,19 @@ color: "#e0a5b9" metabolisms: Medicine: + metabolismRate: 0.1 effects: - !type:HealthChange damage: types: - Caustic: -3 + Caustic: -0.6 # 6 per u - !type:HealthChange conditions: - !type:ReagentThreshold - min: 16 + min: 21 damage: types: - Heat: 2 + Heat: 0.2 - !type:Jitter conditions: - !type:ReagentThreshold @@ -1026,18 +1027,19 @@ color: "#283332" metabolisms: Medicine: + metabolismRate: 0.1 effects: - !type:HealthChange damage: types: - Slash: -3 + Slash: -0.6 # 6 Per u - !type:HealthChange conditions: - !type:ReagentThreshold - min: 12 + min: 21 damage: types: - Cold: 3 + Cold: 1.5 #15 per u - type: reagent id: Puncturase @@ -1049,19 +1051,20 @@ color: "#b9bf93" metabolisms: Medicine: + metabolismRate: 0.1 effects: - !type:HealthChange damage: types: - Piercing: -4 - Blunt: 0.1 + Piercing: -0.6 # 6 per u + Blunt: 0.05 # 0.5 per u - !type:HealthChange conditions: - !type:ReagentThreshold - min: 11 + min: 21 damage: types: - Blunt: 5 + Blunt: 1 # 10 per u plus base effect - type: reagent id: Bruizine @@ -1073,18 +1076,19 @@ color: "#ff3636" metabolisms: Medicine: + metabolismRate: 0.1 effects: - !type:HealthChange damage: types: - Blunt: -3.5 + Blunt: -0.6 # 6 per u - !type:HealthChange conditions: - !type:ReagentThreshold - min: 10.5 + min: 19 damage: types: - Poison: 4 + Poison: 1.5 # 15 per u - type: reagent id: Holywater @@ -1179,12 +1183,13 @@ color: "#8147ff" metabolisms: Medicine: + metabolismRate: 0.1 effects: # heals shocks and removes shock chems - !type:HealthChange damage: types: - Shock: -4 + Shock: -0.5 # 5 per u - !type:AdjustReagent reagent: Licoxide amount: -4 @@ -1198,14 +1203,14 @@ - !type:HealthChange conditions: - !type:ReagentThreshold - min: 12 + min: 15.5 damage: types: - Cold: 2 + Cold: 0.2 # 2 per u but lethal with cooling OD effect below - !type:AdjustTemperature conditions: - !type:ReagentThreshold - min: 12 + min: 15.5 amount: -30000 - !type:Jitter conditions: diff --git a/Resources/Prototypes/Recipes/Reactions/medicine.yml b/Resources/Prototypes/Recipes/Reactions/medicine.yml index f710f5c471..10508fc48b 100644 --- a/Resources/Prototypes/Recipes/Reactions/medicine.yml +++ b/Resources/Prototypes/Recipes/Reactions/medicine.yml @@ -445,39 +445,6 @@ products: Bruizine: 2 -- type: reaction - id: BicarLacerinol # mixing any two brute medications will make Razorium - impact: Medium - reactants: - Lacerinol: - amount: 1 - Bicaridine: - amount: 1 - products: - Razorium: 1 - -- type: reaction - id: BicarPuncturase # mixing any two brute medications will make Razorium - impact: Medium - reactants: - Puncturase: - amount: 1 - Bicaridine: - amount: 1 - products: - Razorium: 1 - -- type: reaction - id: BicarBruizine # mixing any two brute medications will make Razorium - impact: Medium - reactants: - Bruizine: - amount: 1 - Bicaridine: - amount: 1 - products: - Razorium: 1 - - type: reaction id: BruizineLacerinol # mixing any two brute medications will make Razorium impact: Medium From 2f64e105d489bfe92e8837a8251e0db693e13749 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 29 Jul 2025 18:53:49 +0000 Subject: [PATCH 034/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index daaa6c0973..54b56250c1 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Fix identity reveal for creaming and meat spike popups. - type: Fix - id: 8306 - time: '2025-04-21T20:15:20.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/32003 - author: ShadowCommander changes: - message: Added firelock lights for pressure and temperature warnings. @@ -3910,3 +3903,14 @@ id: 8817 time: '2025-07-29T12:01:40.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39271 +- author: Admiral-Obvious-001 + changes: + - message: Several advanced chemicals now act slower, but with raised OD thresholds + and lowered OD damage. The healing per unit remains largely the same. + type: Tweak + - message: Bicaradine no longer makes razorium when mixed with advanced brute chems. + Advanced brute chems still mix and create razorium when combined. + type: Tweak + id: 8818 + time: '2025-07-29T18:52:42.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/38811 From f6475bd26419cd46a7eb3fe553ac0262f15f2909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=81da?= Date: Wed, 30 Jul 2025 01:44:46 -0500 Subject: [PATCH 035/149] EntityEffectConditions changed to be inclusive of min/max (#36289) * soo hungry going back for more lipolicide * too much lipolicide..... * fixes * it moved * typo --------- Co-authored-by: iaada --- Content.Server/EntityEffects/EntityEffectSystem.cs | 2 +- .../EffectConditions/SolutionTemperature.cs | 11 ++++------- .../EntityEffects/EffectConditions/TotalDamage.cs | 3 +-- .../EntityEffects/EffectConditions/TotalHunger.cs | 3 +-- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/Content.Server/EntityEffects/EntityEffectSystem.cs b/Content.Server/EntityEffects/EntityEffectSystem.cs index 54270ca53d..1277c8df59 100644 --- a/Content.Server/EntityEffects/EntityEffectSystem.cs +++ b/Content.Server/EntityEffects/EntityEffectSystem.cs @@ -133,7 +133,7 @@ public sealed class EntityEffectSystem : EntitySystem args.Result = false; if (TryComp(args.Args.TargetEntity, out TemperatureComponent? temp)) { - if (temp.CurrentTemperature > args.Condition.Min && temp.CurrentTemperature < args.Condition.Max) + if (temp.CurrentTemperature >= args.Condition.Min && temp.CurrentTemperature <= args.Condition.Max) args.Result = true; } } diff --git a/Content.Shared/EntityEffects/EffectConditions/SolutionTemperature.cs b/Content.Shared/EntityEffects/EffectConditions/SolutionTemperature.cs index a9629401a0..e2febd8f48 100644 --- a/Content.Shared/EntityEffects/EffectConditions/SolutionTemperature.cs +++ b/Content.Shared/EntityEffects/EffectConditions/SolutionTemperature.cs @@ -13,17 +13,14 @@ public sealed partial class SolutionTemperature : EntityEffectCondition [DataField] public float Max = float.PositiveInfinity; + public override bool Condition(EntityEffectBaseArgs args) { if (args is EntityEffectReagentArgs reagentArgs) { - if (reagentArgs.Source == null) - return false; - if (reagentArgs.Source.Temperature < Min) - return false; - if (reagentArgs.Source.Temperature > Max) - return false; - return true; + return reagentArgs?.Source != null && + reagentArgs.Source.Temperature >= Min && + reagentArgs.Source.Temperature <= Max; } // TODO: Someone needs to figure out how to do this for non-reagent effects. diff --git a/Content.Shared/EntityEffects/EffectConditions/TotalDamage.cs b/Content.Shared/EntityEffects/EffectConditions/TotalDamage.cs index 62b3e037e1..a4baeb634a 100644 --- a/Content.Shared/EntityEffects/EffectConditions/TotalDamage.cs +++ b/Content.Shared/EntityEffects/EffectConditions/TotalDamage.cs @@ -18,8 +18,7 @@ public sealed partial class TotalDamage : EntityEffectCondition if (args.EntityManager.TryGetComponent(args.TargetEntity, out DamageableComponent? damage)) { var total = damage.TotalDamage; - if (total > Min && total < Max) - return true; + return total >= Min && total <= Max; } return false; diff --git a/Content.Shared/EntityEffects/EffectConditions/TotalHunger.cs b/Content.Shared/EntityEffects/EffectConditions/TotalHunger.cs index b4f1a1af89..cbeb334c47 100644 --- a/Content.Shared/EntityEffects/EffectConditions/TotalHunger.cs +++ b/Content.Shared/EntityEffects/EffectConditions/TotalHunger.cs @@ -18,8 +18,7 @@ public sealed partial class Hunger : EntityEffectCondition if (args.EntityManager.TryGetComponent(args.TargetEntity, out HungerComponent? hunger)) { var total = args.EntityManager.System().GetHunger(hunger); - if (total > Min && total < Max) - return true; + return total >= Min && total <= Max; } return false; From a8b65f2da762139aeb359a43eec33863dce43cd5 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 30 Jul 2025 06:45:53 +0000 Subject: [PATCH 036/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 54b56250c1..73942c4ff4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: ShadowCommander - changes: - - message: Added firelock lights for pressure and temperature warnings. - type: Add - id: 8307 - time: '2025-04-21T22:39:29.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/28339 - author: lzk228 changes: - message: Bots now can examine, use zoom and see their alerts (health & stamina). @@ -3914,3 +3907,13 @@ id: 8818 time: '2025-07-29T18:52:42.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/38811 +- author: aada + changes: + - message: Lipolicide now continues to poison at 0 hunger. + type: Fix + - message: Tricordrazine now also heals at exactly 50 damage instead of needing + to be below 50. Similar thresholds on other reagents tweaked the same. + type: Tweak + id: 8819 + time: '2025-07-30T06:44:46.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/36289 From 68ba22548d7a77febef12eebd3b79ac3e13225ea Mon Sep 17 00:00:00 2001 From: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com> Date: Wed, 30 Jul 2025 15:57:50 -0400 Subject: [PATCH 037/149] Predict GlueSystem (#39079) Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> --- Content.Shared/Glue/GlueComponent.cs | 21 +++++---- .../Glue/GlueSystem.cs | 43 +++++++++++-------- Content.Shared/Glue/GluedComponent.cs | 21 ++++++--- Content.Shared/Glue/SharedGlueSystem.cs | 5 --- .../Components/UnremoveableComponent.cs | 23 +++++----- 5 files changed, 64 insertions(+), 49 deletions(-) rename {Content.Server => Content.Shared}/Glue/GlueSystem.cs (76%) delete mode 100644 Content.Shared/Glue/SharedGlueSystem.cs diff --git a/Content.Shared/Glue/GlueComponent.cs b/Content.Shared/Glue/GlueComponent.cs index 4cbbc49737..6f68b3fbca 100644 --- a/Content.Shared/Glue/GlueComponent.cs +++ b/Content.Shared/Glue/GlueComponent.cs @@ -2,41 +2,44 @@ using Content.Shared.Chemistry.Reagent; using Content.Shared.FixedPoint; using Robust.Shared.Audio; using Robust.Shared.GameStates; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; +using Robust.Shared.Prototypes; namespace Content.Shared.Glue; -[RegisterComponent, NetworkedComponent] -[Access(typeof(SharedGlueSystem))] +/// +/// This component indicates that an item is glue and can be used as such. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[Access(typeof(GlueSystem))] public sealed partial class GlueComponent : Component { /// /// Noise made when glue applied. /// - [DataField("squeeze")] + [DataField, AutoNetworkedField] public SoundSpecifier Squeeze = new SoundPathSpecifier("/Audio/Items/squeezebottle.ogg"); /// /// Solution on the entity that contains the glue. /// - [DataField("solution")] + [DataField, AutoNetworkedField] public string Solution = "drink"; /// /// Reagent that will be used as glue. /// - [DataField("reagent", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string Reagent = "SpaceGlue"; + [DataField, AutoNetworkedField] + public ProtoId Reagent = "SpaceGlue"; /// /// Reagent consumption per use. /// - [DataField("consumptionUnit"), ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public FixedPoint2 ConsumptionUnit = FixedPoint2.New(5); /// /// Duration per unit /// - [DataField("durationPerUnit"), ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public TimeSpan DurationPerUnit = TimeSpan.FromSeconds(6); } diff --git a/Content.Server/Glue/GlueSystem.cs b/Content.Shared/Glue/GlueSystem.cs similarity index 76% rename from Content.Server/Glue/GlueSystem.cs rename to Content.Shared/Glue/GlueSystem.cs index d8f8e687d2..9782b48b2d 100644 --- a/Content.Server/Glue/GlueSystem.cs +++ b/Content.Shared/Glue/GlueSystem.cs @@ -1,7 +1,6 @@ -using Content.Server.Administration.Logs; +using Content.Shared.Administration.Logs; using Content.Shared.Chemistry.EntitySystems; using Content.Shared.Database; -using Content.Shared.Glue; using Content.Shared.Hands; using Content.Shared.Interaction; using Content.Shared.Interaction.Components; @@ -13,17 +12,17 @@ using Content.Shared.Verbs; using Robust.Shared.Audio.Systems; using Robust.Shared.Timing; -namespace Content.Server.Glue; +namespace Content.Shared.Glue; -public sealed class GlueSystem : SharedGlueSystem +public sealed class GlueSystem : EntitySystem { + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; + [Dependency] private readonly NameModifierSystem _nameMod = default!; + [Dependency] private readonly OpenableSystem _openable = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedSolutionContainerSystem _solutionContainer = default!; - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly IAdminLogManager _adminLogger = default!; - [Dependency] private readonly OpenableSystem _openable = default!; - [Dependency] private readonly NameModifierSystem _nameMod = default!; public override void Initialize() { @@ -62,7 +61,7 @@ public sealed class GlueSystem : SharedGlueSystem Act = () => TryGlue(entity, target, user), IconEntity = GetNetEntity(entity), Text = Loc.GetString("glue-verb-text"), - Message = Loc.GetString("glue-verb-message") + Message = Loc.GetString("glue-verb-message"), }; args.Verbs.Add(verb); @@ -72,26 +71,29 @@ public sealed class GlueSystem : SharedGlueSystem { // if item is glued then don't apply glue again so it can be removed for reasonable time // If glue is applied to an unremoveable item, the component will disappear after the duration. - // This effecitvely means any unremoveable item could be removed with a bottle of glue. + // This effectively means any unremoveable item could be removed with a bottle of glue. if (HasComp(target) || !HasComp(target) || HasComp(target)) { - _popup.PopupEntity(Loc.GetString("glue-failure", ("target", target)), actor, actor, PopupType.Medium); + _popup.PopupClient(Loc.GetString("glue-failure", ("target", target)), actor, actor, PopupType.Medium); return false; } - if (HasComp(target) && _solutionContainer.TryGetSolution(entity.Owner, entity.Comp.Solution, out _, out var solution)) + if (HasComp(target) && _solutionContainer.TryGetSolution(entity.Owner, entity.Comp.Solution, out var solutionEntity, out _)) { - var quantity = solution.RemoveReagent(entity.Comp.Reagent, entity.Comp.ConsumptionUnit); + var quantity = _solutionContainer.RemoveReagent(solutionEntity.Value, entity.Comp.Reagent, entity.Comp.ConsumptionUnit); if (quantity > 0) { - EnsureComp(target).Duration = quantity.Double() * entity.Comp.DurationPerUnit; + _audio.PlayPredicted(entity.Comp.Squeeze, entity.Owner, actor); + _popup.PopupClient(Loc.GetString("glue-success", ("target", target)), actor, actor, PopupType.Medium); _adminLogger.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(actor):actor} glued {ToPrettyString(target):subject} with {ToPrettyString(entity.Owner):tool}"); - _audio.PlayPvs(entity.Comp.Squeeze, entity.Owner); - _popup.PopupEntity(Loc.GetString("glue-success", ("target", target)), actor, actor, PopupType.Medium); + var gluedComp = EnsureComp(target); + gluedComp.Duration = quantity.Double() * entity.Comp.DurationPerUnit; + Dirty(target, gluedComp); return true; } } - _popup.PopupEntity(Loc.GetString("glue-failure", ("target", target)), actor, actor, PopupType.Medium); + + _popup.PopupClient(Loc.GetString("glue-failure", ("target", target)), actor, actor, PopupType.Medium); return false; } @@ -119,9 +121,16 @@ public sealed class GlueSystem : SharedGlueSystem private void OnHandPickUp(Entity entity, ref GotEquippedHandEvent args) { + // When predicting dropping a glued item prediction will reinsert the item into the hand when rerolling the state to a previous one. + // So dropping the item would add UnRemoveableComponent on the client without this guard statement. + if (_timing.ApplyingState) + return; + var comp = EnsureComp(entity); comp.DeleteOnDrop = false; entity.Comp.Until = _timing.CurTime + entity.Comp.Duration; + Dirty(entity.Owner, comp); + Dirty(entity); } private void OnRefreshNameModifiers(Entity entity, ref RefreshNameModifiersEvent args) diff --git a/Content.Shared/Glue/GluedComponent.cs b/Content.Shared/Glue/GluedComponent.cs index 4b46f0aa5b..1ef77c8193 100644 --- a/Content.Shared/Glue/GluedComponent.cs +++ b/Content.Shared/Glue/GluedComponent.cs @@ -1,15 +1,26 @@ +using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Glue; -[RegisterComponent] -[Access(typeof(SharedGlueSystem))] +/// +/// This component gets attached to an item that has been glued. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] +[Access(typeof(GlueSystem))] public sealed partial class GluedComponent : Component { - - [DataField("until", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + /// + /// The TimeSpan this effect expires at. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] public TimeSpan Until; - [DataField("duration", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + /// + /// The duration this effect will last. Determined by the quantity of the reagent that is applied. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField] public TimeSpan Duration; } diff --git a/Content.Shared/Glue/SharedGlueSystem.cs b/Content.Shared/Glue/SharedGlueSystem.cs deleted file mode 100644 index d8b413a1e1..0000000000 --- a/Content.Shared/Glue/SharedGlueSystem.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Content.Shared.Glue; - -public abstract class SharedGlueSystem : EntitySystem -{ -} diff --git a/Content.Shared/Interaction/Components/UnremoveableComponent.cs b/Content.Shared/Interaction/Components/UnremoveableComponent.cs index cd10694865..a3606f3d2c 100644 --- a/Content.Shared/Interaction/Components/UnremoveableComponent.cs +++ b/Content.Shared/Interaction/Components/UnremoveableComponent.cs @@ -1,17 +1,14 @@ -using Content.Shared.Whitelist; using Robust.Shared.GameStates; -namespace Content.Shared.Interaction.Components +namespace Content.Shared.Interaction.Components; + +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class UnremoveableComponent : Component { - [RegisterComponent] - [NetworkedComponent] - public sealed partial class UnremoveableComponent : Component - { - /// - /// If this is true then unremovable items that are removed from inventory are deleted (typically from corpse gibbing). - /// Items within unremovable containers are not deleted when removed. - /// - [DataField("deleteOnDrop")] - public bool DeleteOnDrop = true; - } + /// + /// If this is true then unremovable items that are removed from inventory are deleted (typically from corpse gibbing). + /// Items within unremovable containers are not deleted when removed. + /// + [DataField, AutoNetworkedField] + public bool DeleteOnDrop = true; } From 271e271cc92e7e5336dbf13e17f2d33f523566fc Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Thu, 31 Jul 2025 00:38:38 +0200 Subject: [PATCH 038/149] Predict passive welding fuel consumption (#38876) * predict welding fuel consumption * autopaused * review Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> --------- Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> --- Content.Server/Tools/ToolSystem.cs | 46 +------------------ .../Tools/Components/WelderComponent.cs | 44 ++++++++++++------ .../Tools/Systems/SharedToolSystem.Welder.cs | 45 ++++++++++++++++-- .../Tools/Systems/SharedToolSystem.cs | 9 ++++ 4 files changed, 82 insertions(+), 62 deletions(-) diff --git a/Content.Server/Tools/ToolSystem.cs b/Content.Server/Tools/ToolSystem.cs index a88dbd3653..c8defb5ef9 100644 --- a/Content.Server/Tools/ToolSystem.cs +++ b/Content.Server/Tools/ToolSystem.cs @@ -1,47 +1,5 @@ -using Content.Shared.Chemistry.Components.SolutionManager; -using Content.Shared.FixedPoint; -using Content.Shared.Tools.Components; - -using SharedToolSystem = Content.Shared.Tools.Systems.SharedToolSystem; +using Content.Shared.Tools.Systems; namespace Content.Server.Tools; -public sealed class ToolSystem : SharedToolSystem -{ - public override void Update(float frameTime) - { - base.Update(frameTime); - - UpdateWelders(frameTime); - } - - //todo move to shared once you can remove reagents from shared without it freaking out. - private void UpdateWelders(float frameTime) - { - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var welder, out var solutionContainer)) - { - if (!welder.Enabled) - continue; - - welder.WelderTimer += frameTime; - - if (welder.WelderTimer < welder.WelderUpdateTimer) - continue; - - if (!SolutionContainerSystem.TryGetSolution((uid, solutionContainer), welder.FuelSolutionName, out var solutionComp, out var solution)) - continue; - - SolutionContainerSystem.RemoveReagent(solutionComp.Value, welder.FuelReagent, welder.FuelConsumption * welder.WelderTimer); - - if (solution.GetTotalPrototypeQuantity(welder.FuelReagent) <= FixedPoint2.Zero) - { - ItemToggle.Toggle(uid, predicted: false); - } - - Dirty(uid, welder); - welder.WelderTimer -= welder.WelderUpdateTimer; - } - } -} - +public sealed class ToolSystem : SharedToolSystem; diff --git a/Content.Shared/Tools/Components/WelderComponent.cs b/Content.Shared/Tools/Components/WelderComponent.cs index 3c78a03fde..a9111c7f53 100644 --- a/Content.Shared/Tools/Components/WelderComponent.cs +++ b/Content.Shared/Tools/Components/WelderComponent.cs @@ -1,58 +1,76 @@ -using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Reagent; using Content.Shared.FixedPoint; using Content.Shared.Tools.Systems; using Robust.Shared.Audio; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Tools.Components; -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), Access(typeof(SharedToolSystem))] +/// +/// Handles fuel consumption for the tool and allows it to explode welding fuel tanks. +/// +/// +/// TODO: De-hardcode welder bombing. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), AutoGenerateComponentPause] +[Access(typeof(SharedToolSystem))] public sealed partial class WelderComponent : Component { + /// + /// Is the welder currently enabled? + /// [DataField, AutoNetworkedField] public bool Enabled; - [DataField] - public float WelderTimer; + /// + /// Timestamp for the next update loop update. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] + public TimeSpan NextUpdate; /// - /// Name of . + /// Delay between updates. + /// + [DataField] + public TimeSpan WelderUpdateTimer = TimeSpan.FromSeconds(1); + + /// + /// Name of the fuel solution. /// [DataField] public string FuelSolutionName = "Welder"; /// - /// Reagent that will be used as fuel for welding. + /// Reagent that will be used as fuel for welding. /// [DataField] public ProtoId FuelReagent = "WeldingFuel"; /// - /// Fuel consumption per second while the welder is active. + /// Fuel consumption per second while the welder is active. + /// In u/s /// [DataField, AutoNetworkedField] public FixedPoint2 FuelConsumption = FixedPoint2.New(1.0f); /// - /// A fuel amount to be consumed when the welder goes from being unlit to being lit. + /// A fuel amount to be consumed when the welder goes from being unlit to being lit. /// [DataField, AutoNetworkedField] public FixedPoint2 FuelLitCost = FixedPoint2.New(0.5f); /// - /// Sound played when refilling the welder. + /// Sound played when refilling the welder. /// [DataField] public SoundSpecifier WelderRefill = new SoundPathSpecifier("/Audio/Effects/refill.ogg"); /// - /// Whether the item is safe to refill while lit without exploding the tank. + /// Whether the item is safe to refill while lit without exploding the tank. /// [DataField] public bool TankSafe; - - [DataField] - public float WelderUpdateTimer = 1f; } diff --git a/Content.Shared/Tools/Systems/SharedToolSystem.Welder.cs b/Content.Shared/Tools/Systems/SharedToolSystem.Welder.cs index af1dc85137..1507b1d6e8 100644 --- a/Content.Shared/Tools/Systems/SharedToolSystem.Welder.cs +++ b/Content.Shared/Tools/Systems/SharedToolSystem.Welder.cs @@ -17,13 +17,16 @@ public abstract partial class SharedToolSystem public void InitializeWelder() { + SubscribeLocalEvent(OnWelderInit); SubscribeLocalEvent(OnWelderExamine); SubscribeLocalEvent(OnWelderAfterInteract); - SubscribeLocalEvent((uid, comp, ev) => { + SubscribeLocalEvent((uid, comp, ev) => + { CanCancelWelderUse((uid, comp), ev.User, ev.Fuel, ev); }); - SubscribeLocalEvent>((uid, comp, ev) => { + SubscribeLocalEvent>((uid, comp, ev) => + { CanCancelWelderUse((uid, comp), ev.Event.User, ev.Event.Fuel, ev); }); SubscribeLocalEvent(OnWelderDoAfter); @@ -71,6 +74,12 @@ public abstract partial class SharedToolSystem return (fuelSolution.GetTotalPrototypeQuantity(welder.FuelReagent), fuelSolution.MaxVolume); } + private void OnWelderInit(Entity ent, ref MapInitEvent args) + { + ent.Comp.NextUpdate = _timing.CurTime + ent.Comp.WelderUpdateTimer; + Dirty(ent); + } + private void OnWelderExamine(Entity entity, ref ExaminedEvent args) { using (args.PushGroup(nameof(WelderComponent))) @@ -169,7 +178,8 @@ public abstract partial class SharedToolSystem private void OnActivateAttempt(Entity entity, ref ItemToggleActivateAttemptEvent args) { - if (args.User != null && !_actionBlocker.CanComplexInteract(args.User.Value)) { + if (args.User != null && !_actionBlocker.CanComplexInteract(args.User.Value)) + { args.Cancelled = true; return; } @@ -191,9 +201,34 @@ public abstract partial class SharedToolSystem private void OnDeactivateAttempt(Entity entity, ref ItemToggleDeactivateAttemptEvent args) { - if (args.User != null && !_actionBlocker.CanComplexInteract(args.User.Value)) { + if (args.User != null && !_actionBlocker.CanComplexInteract(args.User.Value)) + { args.Cancelled = true; - return; + } + } + + private void UpdateWelders() + { + var query = EntityQueryEnumerator(); + var curTime = _timing.CurTime; + while (query.MoveNext(out var uid, out var welder, out var solutionContainer)) + { + if (curTime < welder.NextUpdate) + continue; + + welder.NextUpdate += welder.WelderUpdateTimer; + Dirty(uid, welder); + + if (!welder.Enabled) + continue; + + if (!SolutionContainerSystem.TryGetSolution((uid, solutionContainer), welder.FuelSolutionName, out var solutionComp, out var solution)) + continue; + + SolutionContainerSystem.RemoveReagent(solutionComp.Value, welder.FuelReagent, welder.FuelConsumption * welder.WelderUpdateTimer.TotalSeconds); + + if (solution.GetTotalPrototypeQuantity(welder.FuelReagent) <= FixedPoint2.Zero) + ItemToggle.Toggle(uid); } } } diff --git a/Content.Shared/Tools/Systems/SharedToolSystem.cs b/Content.Shared/Tools/Systems/SharedToolSystem.cs index bf98a365e7..7051cfea00 100644 --- a/Content.Shared/Tools/Systems/SharedToolSystem.cs +++ b/Content.Shared/Tools/Systems/SharedToolSystem.cs @@ -12,12 +12,14 @@ using Robust.Shared.Audio.Systems; using Robust.Shared.Map; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; +using Robust.Shared.Timing; using Robust.Shared.Utility; namespace Content.Shared.Tools.Systems; public abstract partial class SharedToolSystem : EntitySystem { + [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IPrototypeManager _protoMan = default!; [Dependency] protected readonly ISharedAdminLogManager AdminLogger = default!; @@ -263,6 +265,13 @@ public abstract partial class SharedToolSystem : EntitySystem return !beforeAttempt.Cancelled; } + public override void Update(float frameTime) + { + base.Update(frameTime); + + UpdateWelders(); + } + #region DoAfterEvents [Serializable, NetSerializable] From e2b08dba1fb68fa91e23e9b50cc3cde2d36d1227 Mon Sep 17 00:00:00 2001 From: EnrichedCaramel Date: Wed, 30 Jul 2025 19:40:53 -0300 Subject: [PATCH 039/149] Cleanup of scurret/role.ftl (#39281) Move contents from and delete scurret/role.ftl --- Resources/Locale/en-US/accent/accents.ftl | 24 +++++++++++++++++- .../interaction-popup-component.ftl | 2 ++ Resources/Locale/en-US/scurret/role.ftl | 25 ------------------- .../events/random-sentience.ftl | 5 ++-- 4 files changed, 28 insertions(+), 28 deletions(-) delete mode 100644 Resources/Locale/en-US/scurret/role.ftl diff --git a/Resources/Locale/en-US/accent/accents.ftl b/Resources/Locale/en-US/accent/accents.ftl index f54cecf714..75644c8b2e 100644 --- a/Resources/Locale/en-US/accent/accents.ftl +++ b/Resources/Locale/en-US/accent/accents.ftl @@ -130,4 +130,26 @@ accent-words-tomato-1 = Totato! accent-words-tomato-2 = Trotect accent-words-tomato-3 = Mastet? accent-words-tomato-4 = Reaty! -accent-words-tomato-5 = Water... \ No newline at end of file +accent-words-tomato-5 = Water... + +# Scurret +accent-words-scurret-1 = Wa! +accent-words-scurret-2 = Wa? +accent-words-scurret-3 = Wa. +accent-words-scurret-4 = Wa... +accent-words-scurret-5 = Wawa! +accent-words-scurret-6 = Wawa? +accent-words-scurret-7 = Wawa. +accent-words-scurret-8 = Wawa... +accent-words-scurret-9 = Wa wawa! +accent-words-scurret-10 = Wa wawa? +accent-words-scurret-11 = Wa wawa. +accent-words-scurret-12 = Wa wawa... +accent-words-scurret-13 = Wawa wa! +accent-words-scurret-14 = Wawa wa? +accent-words-scurret-15 = Wawa wa. +accent-words-scurret-16 = Wawa wa... +accent-words-scurret-17 = Waaaaaa. +accent-words-scurret-18 = Waaaaaa! +accent-words-scurret-19 = Waaaaaa? +accent-words-scurret-20 = Waaaaaa... diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index fa0a1fb655..bbafdd5ad3 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -32,6 +32,7 @@ petting-success-slimes = You pet {THE($target)} on {POSS-ADJ($target)} mucous su petting-success-snake = You pet {THE($target)} on {POSS-ADJ($target)} scaly large head. petting-success-monkey = You pet {THE($target)} on {POSS-ADJ($target)} mischevious little head. petting-success-nymph = You pet {THE($target)} on {POSS-ADJ($target)} wooden little head. +petting-success-scurret = You pet {THE($target)} on {POSS-ADJ($target)} legally distinct head. petting-failure-generic = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} aloof towards you. @@ -53,6 +54,7 @@ petting-failure-bear = You reach out to pet {THE($target)}, but {SUBJECT($target petting-failure-monkey = You reach out to pet {THE($target)}, but {SUBJECT($target)} almost {CONJUGATE-BASIC($target, "bite", "bites")} your fingers! petting-failure-nymph = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BASIC($target, "move", "moves")} {POSS-ADJ($target)} branches away. petting-failure-shadow = You try to pet {THE($target)}, but your hand passes through the cold darkness of {POSS-ADJ($target)} body. +petting-failure-scurret = You reach out to pet {THE($target)}, but {SUBJECT($target)} does a backflip! ## Petting silicons diff --git a/Resources/Locale/en-US/scurret/role.ftl b/Resources/Locale/en-US/scurret/role.ftl deleted file mode 100644 index cbc0f89657..0000000000 --- a/Resources/Locale/en-US/scurret/role.ftl +++ /dev/null @@ -1,25 +0,0 @@ -petting-success-scurret = You pet {THE($target)} on {POSS-ADJ($target)} legally distinct head. -petting-failure-scurret = You reach out to pet {THE($target)}, but {SUBJECT($target)} does a backflip! - -accent-words-scurret-1 = Wa! -accent-words-scurret-2 = Wa? -accent-words-scurret-3 = Wa. -accent-words-scurret-4 = Wa... -accent-words-scurret-5 = Wawa! -accent-words-scurret-6 = Wawa? -accent-words-scurret-7 = Wawa. -accent-words-scurret-8 = Wawa... -accent-words-scurret-9 = Wa wawa! -accent-words-scurret-10 = Wa wawa? -accent-words-scurret-11 = Wa wawa. -accent-words-scurret-12 = Wa wawa... -accent-words-scurret-13 = Wawa wa! -accent-words-scurret-14 = Wawa wa? -accent-words-scurret-15 = Wawa wa. -accent-words-scurret-16 = Wawa wa... -accent-words-scurret-17 = Waaaaaa. -accent-words-scurret-18 = Waaaaaa! -accent-words-scurret-19 = Waaaaaa? -accent-words-scurret-20 = Waaaaaa... - -station-event-random-sentience-flavor-scurret = scurret diff --git a/Resources/Locale/en-US/station-events/events/random-sentience.ftl b/Resources/Locale/en-US/station-events/events/random-sentience.ftl index f14a020d29..5cf07f4f08 100644 --- a/Resources/Locale/en-US/station-events/events/random-sentience.ftl +++ b/Resources/Locale/en-US/station-events/events/random-sentience.ftl @@ -1,4 +1,4 @@ -## Phrases used for where central command got this information. +## Phrases used for where central command got this information. random-sentience-event-data-1 = scans from our long-range sensors random-sentience-event-data-2 = our sophisticated probabilistic models random-sentience-event-data-3 = our omnipotence @@ -36,4 +36,5 @@ station-event-random-sentience-flavor-corgi = corgi station-event-random-sentience-flavor-primate = primate station-event-random-sentience-flavor-kobold = kobold station-event-random-sentience-flavor-slime = slime -station-event-random-sentience-flavor-inanimate = inanimate \ No newline at end of file +station-event-random-sentience-flavor-inanimate = inanimate +station-event-random-sentience-flavor-scurret = scurret From 9b0a17174397893cfd2ad5b988e79d72f0f113f2 Mon Sep 17 00:00:00 2001 From: Disp-Dev <91643998+Disp-Dev@users.noreply.github.com> Date: Thu, 31 Jul 2025 06:51:21 +0800 Subject: [PATCH 040/149] New recipe: Cotton Cakes (#39222) * add moth edible cotton cakes * oh fuck i accidentally changed the sln file * inhand sprite fix --------- Co-authored-by: DispenserDev --- .../Random/Food_Drinks/food_baked_single.yml | 1 + .../Random/Food_Drinks/food_baked_whole.yml | 1 + .../Objects/Consumable/Food/Baked/cake.yml | 55 ++++++++++++++++++ .../Recipes/Cooking/meal_recipes.yml | 12 ++++ .../Baked/cake.rsi/cotton-inhand-left.png | Bin 0 -> 579 bytes .../Baked/cake.rsi/cotton-inhand-right.png | Bin 0 -> 579 bytes .../cake.rsi/cotton-slice-inhand-left.png | Bin 0 -> 504 bytes .../cake.rsi/cotton-slice-inhand-right.png | Bin 0 -> 508 bytes .../Food/Baked/cake.rsi/cotton-slice.png | Bin 0 -> 526 bytes .../Consumable/Food/Baked/cake.rsi/cotton.png | Bin 0 -> 567 bytes .../Consumable/Food/Baked/cake.rsi/meta.json | 24 +++++++- 11 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-inhand-left.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-inhand-right.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-slice-inhand-left.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-slice-inhand-right.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-slice.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton.png diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml index 88506d33a6..5d559fa132 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml @@ -42,6 +42,7 @@ - FoodCakeChristmasSlice - FoodCakeVanillaSlice - FoodCakeBirthdaySlice + - FoodCakeCottonSlice - FoodBakedMuffin - FoodBakedMuffinBerry - FoodBakedMuffinCherry diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml index 7e580db980..719f2bd912 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml @@ -37,6 +37,7 @@ - FoodCakeChristmas - FoodCakeBirthday - FoodCakeVanilla + - FoodCakeCotton - FoodPieApple - FoodPieBaklava - FoodPieBananaCream diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml index eb6b71212a..5c0a4eb7cf 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml @@ -1190,3 +1190,58 @@ Burger: SuppermatterBurger - type: Item heldPrefix: suppermatter-shard + +- type: entity + name: cotton cake + parent: FoodCakeBase + id: FoodCakeCotton + description: A cake with a fiber frosting and a wad of cotton on top. + components: + - type: Sprite + state: cotton + - type: SliceableFood + slice: FoodCakeCottonSlice + - type: Tag + tags: + - Cake + - ClothMade + - type: SolutionContainerManager + solutions: + food: + maxVol: 55 + reagents: + - ReagentId: Nutriment + Quantity: 30 + - ReagentId: Vitamin + Quantity: 5 + - ReagentId: Fiber + Quantity: 10 + - type: Item + heldPrefix: cotton + +- type: entity + name: slice of cotton cake + parent: FoodCakeSliceBase + id: FoodCakeCottonSlice + description: A slice of cotton cake. You can just lick the frosting, it's fine. + components: + - type: Sprite + state: cotton-slice + - type: Tag + tags: + - Cake + - ClothMade + - Slice + - type: SolutionContainerManager + solutions: + food: + maxVol: 15 + reagents: + - ReagentId: Nutriment + Quantity: 8 + - ReagentId: Vitamin + Quantity: 1 + - ReagentId: Fiber + Quantity: 2 + - type: Item + heldPrefix: cotton-slice diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml index d576d5789e..baf3e7011c 100644 --- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml +++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml @@ -2435,3 +2435,15 @@ MobMothroach: 1 OrganAnimalHeart: 1 MoproachShoes: 1 + +- type: microwaveMealRecipe + id: RecipeCottonCake + name: cotton cake recipe + result: FoodCakeCotton + time: 5 + group: Cake + reagents: + Fiber: 10 + solids: + FoodCakePlain: 1 + \ No newline at end of file diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-inhand-left.png b/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..623d36ba2889e282f65c9f7bbecb9653c014a001 GIT binary patch literal 579 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`031o(uwo;r2v|Bf9$e*F0V?%ktDkN(e}|Nq1Zpyc@}60?C6M@f)h@P7zk zxYxWl5-7%5;1OBOz`%DHgc*L5h);ff2~^0%B<>8{`WOMrN=$$RCD`Obh}*Itqw0 z+gZTkSwJ=jES}83@B*j^Mx$BE0F;`*&cFgxX<%e*z__0NEhG1T>ck ztTM>b0?2~uGBhv%$?lT3aQ@k&*9l^Jx;TbJxWAp|&BbEK!D?#%zW%Y>2K8Bc4zwhe zUHhcyx=DMI{KC>5s;rs;K_B!P1rN$H^3C+pY_;%F3c6!(lQm}L)=Mk=n8R(eAHGQy z{}T9>yR^ijT$pfwTp~p~rp= co{n5o*v0E}Ly8Yh2?P1a)78&qol`;+06YVv+W-In literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-inhand-right.png b/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..117e4559b0d83e6e3f719c48ce7c682a507d4600 GIT binary patch literal 579 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`031o(uwo;r2v|Bf9$e*F0V?%ktDkN(e}|Nq1Zpyc@}60?C6M@f)h@P7zk zxYxWl5-7%5;1OBOz`%DHgc*L5h);ff2~^0%B<>8{`WOMrN=$$RCD`Obh}*Itqw0 z+gZTkSwJ=jES}83@B*j^Mx$BE0F;`*&cFgxX<%e*z__0NEhG1T>ck ztTM>b0?2~uGBhv%$?lT3aQ@k&*9l^Jx;TbJxWAp|$#>X*hdK48-@pHln>I0-l(2?m z_Rk7FaG_a8{M1k7LypsgrZ7x-(9a}T`7CPrtQD)g9`9!CYK}8=d~MXm_cC6Jjj!q^ z%jXvrt#v-@j>SAx&G2(7nEIDk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~O1^9%x{`m3Z(W6KI-@W@kfBydyCxF89mNHETQfwtbe!>4ifMN6gCHsLQ zoCO|{#S9F5hd`K7RKu$QC@4|l8c`CQpH@AC&ooa@Ed~xChm}E!k(GfF$npYWX($`ydJRTqus9QtZOF*PAONJJfHi7)^F literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-slice-inhand-right.png b/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton-slice-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..883083e177f5b07f74683e2707bd5f7bef67409b GIT binary patch literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~O1^9%x{(txG(W6H{e*E}<;>7>?^MS(b-g!kpimfEbFZe$QFl^qxWIs@Z zv%n*=n1O-sFbFdq&tH)O6qG1&jVKAuPb(=;EJ|evNX*PD(erZ+Q83jr)U%Mze6<3o zW?O26XPT#{76S*6!^$AV$jZP7WO)IxG?Wc;y#^yQSRCYjLq;YB0U#X(#F_0ZVDT&< z8w3_lW?*;$R0N~ZEM)*nO<-qW0je}GGB#jb05KJ0BkKZ)NmGDq5MTnD%LG;#WN86p zL3J4#7=UDV$y+%8?9uB4GOImZ977`9-(GX%Yf#{ExtR3&@A{my)TKO)FOH@B^J1KT zk@v<=qu1KmY%`cmGeE_`hQZP%>w6uL6+bC<*cl{tp2R z_nP-c0>wBBJR*x382Ao@Fyrz36)8YLi4xa{lHmNblJdl&REB`W%)AmkKi3ciQ$0gH z3+c>PD}ZXYrABzBd3tIwZ~!^13{s4&42(dQ7Z6KB*&ttNFfxP1LH;mgWMU8i(osO1 z+0FtM&jPYRVDV%Ih8I9ZFdEHL2B6dgb_N!pN&_Qf1I7gqQ$aSeE`XRc1;_>gCZM@Y zV3k3Z7C;tMm!W|HNOqUJh4arIy-pyr)zif>#KQmWglN9Q3Op>i@0GvrFMPViw^8XS z!`qsJRS_qT6gsatc&eZ4qR+t!OC=-YY@T%M)wfP4#Y9?{(Ju!ydcMUy85}Sb4q9e00%dmdH?_b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton.png b/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/cotton.png new file mode 100644 index 0000000000000000000000000000000000000000..eeee2e200ace440822837f78a5fd71baa60e4ba7 GIT binary patch literal 567 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCiji0(?STPn|mTz`TyU&`+wpDP*QhimwBBJR*x382Ao@Fyrz36)7OYN?apKg7ec#$`gxH83GbB^GfvmTtgI0^$hha zq%&Ww0IJ!R8sVAd>8ZuQ0pzeUNHMZ9FalX#Kr9VqgM6XE$P5+-`NNQri9rBJM*(qW zI}2Dm3&;k6#giErUH}!rXf#V1fKn6K8CZZS4UCKp7#BcH1=+~D0AkVyy zF`-@`4=(h5`PH>VJnyf(!_xGI8I?S3Ri(NtcKjSIF%25L=iVLhP@B{+E3ibr<)lt0 z1IxcV32q{R2lD*h2|E;@k Date: Wed, 30 Jul 2025 22:52:29 +0000 Subject: [PATCH 041/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 73942c4ff4..bba81beb75 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,13 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Bots now can examine, use zoom and see their alerts (health & stamina). - type: Tweak - - message: Added borgs emotes to bots. - type: Tweak - id: 8308 - time: '2025-04-21T22:49:43.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29949 - author: Ghagliiarghii changes: - message: The monkey version of captain uniforms and the hamster version of captain @@ -3917,3 +3908,10 @@ id: 8819 time: '2025-07-30T06:44:46.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/36289 +- author: Disp-Dev + changes: + - message: A new recipe has been added, moth-edible cotton cakes. + type: Add + id: 8820 + time: '2025-07-30T22:51:21.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39222 From f3aa14200b7d1310fdca90d04cb9986af898bb67 Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Wed, 30 Jul 2025 19:47:49 -0700 Subject: [PATCH 042/149] Change the description of barefoot drink. (#39285) --- .../Locale/en-US/reagents/meta/consumable/drink/alcohol.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Locale/en-US/reagents/meta/consumable/drink/alcohol.ftl b/Resources/Locale/en-US/reagents/meta/consumable/drink/alcohol.ftl index 773368be94..733fad4cf9 100644 --- a/Resources/Locale/en-US/reagents/meta/consumable/drink/alcohol.ftl +++ b/Resources/Locale/en-US/reagents/meta/consumable/drink/alcohol.ftl @@ -95,7 +95,7 @@ reagent-name-banana-honk = Banana Honk reagent-desc-banana-honk = A drink from Clown Heaven. reagent-name-barefoot = barefoot -reagent-desc-barefoot = Barefoot and pregnant. +reagent-desc-barefoot = A cassis milkshake, made from cream, fruit juice, and vermouth wine. reagent-name-beepsky-smash = Beepsky smash reagent-desc-beepsky-smash = Deny drinking this and prepare for THE LAW. From 31773e64f428c570a05c05f883123863bdd767c4 Mon Sep 17 00:00:00 2001 From: Spanky <180730777+spanky-spanky@users.noreply.github.com> Date: Thu, 31 Jul 2025 00:08:05 -0400 Subject: [PATCH 043/149] Adds Wizard's Den (Replaces Wizard Shuttle) (#37701) --- Resources/Maps/Nonstations/wizardsden.yml | 3886 +++++++++++++++++ Resources/Prototypes/GameRules/roundstart.yml | 2 +- Resources/Prototypes/Parallaxes/wizard.yml | 14 + .../Textures/Parallaxes/attributions.yml | 2 +- .../Textures/Parallaxes/purple_nebula.png | Bin 0 -> 278174 bytes 5 files changed, 3902 insertions(+), 2 deletions(-) create mode 100644 Resources/Maps/Nonstations/wizardsden.yml create mode 100644 Resources/Prototypes/Parallaxes/wizard.yml create mode 100644 Resources/Textures/Parallaxes/purple_nebula.png diff --git a/Resources/Maps/Nonstations/wizardsden.yml b/Resources/Maps/Nonstations/wizardsden.yml new file mode 100644 index 0000000000..b08dac6b68 --- /dev/null +++ b/Resources/Maps/Nonstations/wizardsden.yml @@ -0,0 +1,3886 @@ +meta: + format: 7 + category: Map + engineVersion: 261.1.0 + forkId: "" + forkVersion: "" + time: 06/03/2025 05:27:43 + entityCount: 625 +maps: +- 411 +grids: +- 1 +orphans: [] +nullspace: [] +tilemap: + 3: Space + 2: FloorBasalt + 6: FloorDark + 0: FloorDarkDiagonal + 5: FloorDarkMono + 4: FloorDarkPavementVertical + 17: FloorMiningDark + 16: FloorMiningLight + 9: FloorShowroom + 14: FloorTechMaint + 13: FloorTechMaint2 + 12: FloorWhite + 11: FloorWhiteMini + 15: FloorWhiteMono + 7: FloorWood + 8: FloorWoodTile + 10: Lattice + 1: Plating +entities: +- proto: "" + entities: + - uid: 1 + components: + - type: MetaData + name: Wizard's Den + - type: Transform + pos: -0.5138889,-0.4756779 + parent: 411 + - type: MapGrid + chunks: + 0,0: + ind: 0,0 + tiles: AAAAAAABAAAAAAAAAAABAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAIAAQAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAGAAAAAAEABQAAAAAAAAIAAAAAAAACAAAAAAAAAQAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABQAAAAABAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAYAAAAAAgAFAAAAAAIABgAAAAACAAYAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAHAAAAAAEABwAAAAADAAgAAAAAAgAGAAAAAAAABgAAAAADAAEAAAAAAAAJAAAAAAAAAQAAAAAAAAkAAAAAAAABAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABwAAAAABAAcAAAAAAAAIAAAAAAEACAAAAAADAAYAAAAAAgABAAAAAAAACQAAAAAAAAEAAAAAAAAJAAAAAAAAAQAAAAAAAAoAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAcAAAAAAQAHAAAAAAAACAAAAAADAAgAAAAAAgAGAAAAAAIAAQAAAAAAAAwAAAAAAgAMAAAAAAAADAAAAAAAAAEAAAAAAAAKAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAHAAAAAAMABwAAAAACAAgAAAAAAgAIAAAAAAAABgAAAAADAAUAAAAAAwAMAAAAAAIADwAAAAACAAEAAAAAAAABAAAAAAAACgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABwAAAAAAAAcAAAAAAAAIAAAAAAIACAAAAAAAAAYAAAAAAQABAAAAAAAADAAAAAACAAwAAAAAAQABAAAAAAAACgAAAAAAAAoAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAcAAAAAAAAHAAAAAAMACAAAAAACAAgAAAAAAwAGAAAAAAEAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAoAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAHAAAAAAAABwAAAAACAAYAAAAAAwAGAAAAAAAABgAAAAADAAEAAAAAAAAKAAAAAAAACgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABwAAAAACAAcAAAAAAwAGAAAAAAAABgAAAAADAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAcAAAAAAQAHAAAAAAMABgAAAAABAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== + version: 7 + -1,0: + ind: -1,0 + tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAABAAAAAAAAAAAAAAABAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAQAAAAAAAAAAAAAAAwADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAABAAAAAAAAAgAAAAAAAAIAAAAAAAAFAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAEABgAAAAACAAUAAAAAAgADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAQAAAAAAAAcAAAAAAAAIAAAAAAEACAAAAAACAAEAAAAAAAAGAAAAAAIABgAAAAABAAgAAAAAAQAHAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAEAAAAAAAAHAAAAAAEACAAAAAADAAgAAAAAAQABAAAAAAAABgAAAAAAAAgAAAAAAgAIAAAAAAMABwAAAAABAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAoAAAAAAAABAAAAAAAABwAAAAABAAcAAAAAAAAHAAAAAAMAAQAAAAAAAAYAAAAAAwAIAAAAAAEACAAAAAABAAcAAAAAAQADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAKAAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAIABgAAAAADAAUAAAAAAgAGAAAAAAMACAAAAAACAAgAAAAAAQAHAAAAAAMAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACgAAAAAAAAoAAAAAAAABAAAAAAAABgAAAAAAAAYAAAAAAQABAAAAAAAABgAAAAABAAgAAAAAAwAIAAAAAAAABwAAAAADAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAKAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAAAIAAAAAAAACAAAAAABAAcAAAAAAQADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAKAAAAAAAACgAAAAAAAAEAAAAAAAAGAAAAAAEABgAAAAADAAYAAAAAAwAHAAAAAAIAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAQAGAAAAAAEABwAAAAACAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAABAAAAAAAABgAAAAAAAAcAAAAAAQADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== + version: 7 + -1,-1: + ind: -1,-1 + tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAEAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAABEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAAQAAAAAAAAEQAAAAAAABEAAAAAAAAQAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAEAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAABAAAAAAAAAgAAAAAAAAIAAAAAAAAFAAAAAAIAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAABAAAAAAAAAAAAAAABAA== + version: 7 + 0,-1: + ind: 0,-1 + tiles: AgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAEQAAAAAAABEAAAAAAAARAAAAAAAAEQAAAAAAABAAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAEQAAAAAAABAAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAUAAAAAAwABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAGAAAAAAIABQAAAAACAAIAAAAAAAACAAAAAAAAAQAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAgABAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== + version: 7 + -1,-2: + ind: -1,-2 + tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAA== + version: 7 + 0,-2: + ind: 0,-2 + tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== + version: 7 + - type: Broadphase + - type: Physics + bodyStatus: InAir + fixedRotation: False + bodyType: Dynamic + - type: Fixtures + fixtures: {} + - type: OccluderTree + - type: SpreaderGrid + - type: Shuttle + dampingModifier: 0.25 + - type: ImplicitRoof + - type: GridPathfinding + - type: DecalGrid + chunkCollection: + version: 2 + nodes: + - node: + color: '#FFFFFFFF' + id: Basalt1 + decals: + 163: 2.7885406,-1.7337892 + 187: -4.594368,-12.802722 + - node: + color: '#FFFFFFFF' + id: Basalt2 + decals: + 170: 0.8227043,-6.7750106 + 190: -1.1881177,-12.948657 + - node: + color: '#FFFFFFFF' + id: Basalt3 + decals: + 161: -2.8052096,1.6956758 + 165: -5.7114596,2.0292413 + - node: + color: '#FFFFFFFF' + id: Basalt4 + decals: + 169: -1.5106289,-6.201695 + 193: 3.8869796,-12.234362 + - node: + color: '#FFFFFFFF' + id: Basalt5 + decals: + 162: 2.5072906,0.9451544 + 164: -2.6802096,-0.5558883 + 189: -3.365201,-11.843722 + - node: + color: '#FFFFFFFF' + id: Basalt6 + decals: + 198: -0.038194448,-11.283006 + - node: + color: '#FFFFFFFF' + id: Basalt7 + decals: + 192: 1.6265626,-14.944576 + - node: + color: '#FFFFFFFF' + id: Basalt8 + decals: + 191: 0.8743825,-12.125168 + 199: 2.4097223,-8.812541 + - node: + color: '#FFFFFFFF' + id: Basalt9 + decals: + 188: -2.8131177,-9.644279 + - node: + color: '#FFFFFFFF' + id: BrickTileDarkCornerNe + decals: + 10: 1,1 + - node: + color: '#FFFFFFFF' + id: BrickTileDarkCornerNw + decals: + 9: -1,1 + - node: + color: '#FFFFFFFF' + id: BrickTileDarkCornerSe + decals: + 11: 1,-1 + - node: + color: '#FFFFFFFF' + id: BrickTileDarkCornerSw + decals: + 12: -1,-1 + - node: + color: '#FFFFFFFF' + id: BrickTileDarkLineE + decals: + 15: 1,0 + - node: + color: '#FFFFFFFF' + id: BrickTileDarkLineN + decals: + 16: 0,1 + - node: + color: '#FFFFFFFF' + id: BrickTileDarkLineS + decals: + 13: 0,-1 + - node: + color: '#FFFFFFFF' + id: BrickTileDarkLineW + decals: + 14: -1,0 + - node: + color: '#52B4E996' + id: CheckerNWSE + decals: + 107: 6,9 + 108: 7,9 + 109: 8,6 + 110: 8,5 + 111: 6,6 + 112: 6,5 + - node: + color: '#8D03A5FF' + id: DiagonalCheckerAOverlay + decals: + 0: -1,1 + 1: -1,0 + 2: -1,-1 + 3: 0,-1 + 4: 1,-1 + 5: 1,0 + 6: 0,0 + 7: 0,1 + 8: 1,1 + - node: + color: '#8D03A566' + id: QuarterTileOverlayGreyscale + decals: + 113: -4,5 + 114: -4,6 + 115: -4,7 + 116: -4,8 + 117: -4,9 + 118: -4,10 + 119: -4,11 + 139: -3,4 + 155: -3,11 + 156: -3,12 + - node: + color: '#8D03A566' + id: QuarterTileOverlayGreyscale180 + decals: + 136: -2,4 + 137: -3,4 + 138: -4,5 + - node: + color: '#8D03A566' + id: QuarterTileOverlayGreyscale270 + decals: + 131: 4,5 + 132: 3,4 + 133: 2,4 + - node: + color: '#8D03A566' + id: QuarterTileOverlayGreyscale90 + decals: + 122: 4,5 + 123: 4,6 + 124: 4,7 + 125: 4,8 + 126: 4,9 + 127: 4,10 + 128: 4,11 + 140: 3,4 + 158: 3,11 + 159: 3,12 + - node: + cleanable: True + color: '#FFFFFFFF' + id: Remains + decals: + 18: -6,1 + 185: 0,-13 + 186: -5,-10 + - node: + color: '#FFFFFFFF' + id: Rock06 + decals: + 23: 5.231406,1.6660407 + - node: + color: '#FFFFFFFF' + id: Rock07 + decals: + 21: -2.8668027,-4.2268343 + 24: -5.185261,-1.8468163 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinCornerNe + decals: + 60: -3,5 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinCornerNw + decals: + 59: 3,5 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinCornerSe + decals: + 152: -2,11 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinCornerSw + decals: + 151: 2,11 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinInnerNe + decals: + 61: -3,4 + 66: -4,5 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinInnerNw + decals: + 62: 3,4 + 67: 4,5 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinInnerSe + decals: + 68: -4,11 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinInnerSw + decals: + 65: 4,11 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinLineE + decals: + 69: -4,10 + 70: -4,9 + 71: -4,8 + 72: -4,7 + 73: -4,6 + 196: -2,12 + 197: -2,13 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinLineN + decals: + 43: -2,4 + 45: 0,4 + 47: 2,4 + 183: -1,4 + 184: 1,4 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinLineS + decals: + 79: -7,8 + 80: -6,8 + 149: -3,11 + 150: 3,11 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinLineW + decals: + 74: 4,6 + 75: 4,7 + 76: 4,8 + 77: 4,9 + 78: 4,10 + 194: 2,12 + 195: 2,13 + - type: GridAtmosphere + version: 2 + data: + tiles: + 0,0: + 0: 4095 + 0,-1: + 0: 65295 + -1,0: + 0: 3822 + 0,1: + 0: 65535 + -1,1: + 0: 65534 + 0,2: + 0: 65535 + -1,2: + 0: 65535 + 0,3: + 0: 127 + -1,3: + 0: 206 + 1,1: + 0: 54608 + 1,2: + 0: 4573 + 1: 49152 + 1,0: + 0: 3822 + 1,-1: + 0: 26112 + 2,0: + 0: 48 + 2,1: + 0: 4368 + 1: 17408 + 2,2: + 1: 612 + -3,1: + 1: 16384 + -3,2: + 1: 2244 + -2,0: + 0: 3327 + -2,1: + 0: 30576 + -2,2: + 0: 102 + 1: 24576 + -2,-1: + 0: 60417 + -1,-1: + 0: 60942 + -2,-3: + 0: 36044 + -2,-2: + 0: 3200 + -2,-4: + 0: 32768 + -1,-4: + 0: 65472 + -1,-3: + 0: 65535 + -1,-2: + 0: 65535 + 0,-4: + 0: 65392 + 0,-3: + 0: 65535 + 0,-2: + 0: 65535 + 1,-4: + 0: 4096 + 1,-3: + 0: 28945 + 1,-2: + 0: 311 + uniqueMixes: + - volume: 2500 + temperature: 293.15 + moles: + - 21.824879 + - 82.10312 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + immutable: True + temperature: 248.15 + moles: + - 21.824879 + - 82.10312 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + chunkSize: 4 + - type: GasTileOverlay + - type: RadiationGridResistance + - type: IFF + color: '#BF40BFFF' + - type: GravityShake + shakeTimes: 10 + - type: NavMap + - type: Gravity + gravityShakeSound: !type:SoundPathSpecifier + path: /Audio/Effects/alert.ogg + - uid: 411 + components: + - type: MetaData + name: Map Entity + - type: Transform + - type: Map + mapPaused: True + - type: GridTree + - type: Broadphase + - type: OccluderTree + - type: Parallax + parallax: Wizard + - type: MapAtmosphere + space: False + mixture: + volume: 2500 + immutable: True + temperature: 293.2 + moles: + - 21.824879 + - 82.10312 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: APCHyperCapacity + entities: + - uid: 199 + components: + - type: MetaData + name: Wizard APC + - type: Transform + rot: 3.141592653589793 rad + pos: -3.5,4.5 + parent: 1 + - type: BatterySelfRecharger + autoRechargeRate: 200000 + autoRecharge: True +- proto: BarberScissors + entities: + - uid: 649 + components: + - type: Transform + pos: -6.5,9.5 + parent: 1 +- proto: BasaltFive + entities: + - uid: 414 + components: + - type: Transform + pos: 3.5,-7.5 + parent: 1 + - uid: 416 + components: + - type: Transform + pos: 3.5,2.5 + parent: 1 + - uid: 418 + components: + - type: Transform + pos: -4.5,-11.5 + parent: 1 +- proto: BasaltFour + entities: + - uid: 419 + components: + - type: Transform + pos: 2.5,-5.5 + parent: 1 + - uid: 424 + components: + - type: Transform + pos: -1.5,-13.5 + parent: 1 +- proto: BasaltThree + entities: + - uid: 245 + components: + - type: Transform + pos: 2.5,-12.5 + parent: 1 + - uid: 415 + components: + - type: Transform + pos: -2.5,0.5 + parent: 1 +- proto: BasaltTwo + entities: + - uid: 410 + components: + - type: Transform + pos: -2.5,-5.5 + parent: 1 + - uid: 417 + components: + - type: Transform + pos: -1.5,-10.5 + parent: 1 +- proto: Bed + entities: + - uid: 503 + components: + - type: Transform + pos: -5.5,5.5 + parent: 1 +- proto: BedsheetWiz + entities: + - uid: 506 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -5.5,5.5 + parent: 1 +- proto: BookNarsieLegend + entities: + - uid: 362 + components: + - type: Transform + pos: -1.9141665,4.7120576 + parent: 1 +- proto: BookRandomStory + entities: + - uid: 466 + components: + - type: Transform + pos: 8.5,7.5 + parent: 1 +- proto: BooksBag + entities: + - uid: 361 + components: + - type: Transform + pos: -1.5,4.5 + parent: 1 +- proto: Bookshelf + entities: + - uid: 471 + components: + - type: Transform + pos: 4.5,11.5 + parent: 1 + - uid: 472 + components: + - type: Transform + pos: 4.5,10.5 + parent: 1 + - uid: 474 + components: + - type: Transform + pos: -3.5,11.5 + parent: 1 + - uid: 475 + components: + - type: Transform + pos: -3.5,10.5 + parent: 1 +- proto: BookshelfFilled + entities: + - uid: 343 + components: + - type: Transform + pos: 2.5,7.5 + parent: 1 + - uid: 344 + components: + - type: Transform + pos: 2.5,8.5 + parent: 1 + - uid: 346 + components: + - type: Transform + pos: 2.5,9.5 + parent: 1 + - uid: 348 + components: + - type: Transform + pos: -1.5,9.5 + parent: 1 + - uid: 349 + components: + - type: Transform + pos: -1.5,8.5 + parent: 1 + - uid: 350 + components: + - type: Transform + pos: -1.5,7.5 + parent: 1 +- proto: CableApcExtension + entities: + - uid: 5 + components: + - type: Transform + pos: 6.5,8.5 + parent: 1 + - uid: 96 + components: + - type: Transform + pos: -0.5,5.5 + parent: 1 + - uid: 97 + components: + - type: Transform + pos: 5.5,8.5 + parent: 1 + - uid: 98 + components: + - type: Transform + pos: 1.5,5.5 + parent: 1 + - uid: 99 + components: + - type: Transform + pos: 4.5,9.5 + parent: 1 + - uid: 103 + components: + - type: Transform + pos: 0.5,-1.5 + parent: 1 + - uid: 104 + components: + - type: Transform + pos: 0.5,4.5 + parent: 1 + - uid: 105 + components: + - type: Transform + pos: 0.5,3.5 + parent: 1 + - uid: 106 + components: + - type: Transform + pos: -0.5,0.5 + parent: 1 + - uid: 107 + components: + - type: Transform + pos: 1.5,0.5 + parent: 1 + - uid: 108 + components: + - type: Transform + pos: -0.5,-0.5 + parent: 1 + - uid: 109 + components: + - type: Transform + pos: 1.5,-0.5 + parent: 1 + - uid: 110 + components: + - type: Transform + pos: -0.5,-1.5 + parent: 1 + - uid: 111 + components: + - type: Transform + pos: 1.5,-1.5 + parent: 1 + - uid: 112 + components: + - type: Transform + pos: 1.5,2.5 + parent: 1 + - uid: 113 + components: + - type: Transform + pos: -0.5,2.5 + parent: 1 + - uid: 114 + components: + - type: Transform + pos: -0.5,1.5 + parent: 1 + - uid: 115 + components: + - type: Transform + pos: 1.5,1.5 + parent: 1 + - uid: 116 + components: + - type: Transform + pos: 0.5,2.5 + parent: 1 + - uid: 117 + components: + - type: Transform + pos: 0.5,5.5 + parent: 1 + - uid: 420 + components: + - type: Transform + pos: -1.5,5.5 + parent: 1 + - uid: 421 + components: + - type: Transform + pos: -2.5,5.5 + parent: 1 + - uid: 422 + components: + - type: Transform + pos: -3.5,5.5 + parent: 1 + - uid: 423 + components: + - type: Transform + pos: -3.5,4.5 + parent: 1 + - uid: 425 + components: + - type: Transform + pos: 2.5,5.5 + parent: 1 + - uid: 426 + components: + - type: Transform + pos: 3.5,5.5 + parent: 1 + - uid: 427 + components: + - type: Transform + pos: 4.5,5.5 + parent: 1 + - uid: 428 + components: + - type: Transform + pos: -3.5,6.5 + parent: 1 + - uid: 429 + components: + - type: Transform + pos: -3.5,7.5 + parent: 1 + - uid: 430 + components: + - type: Transform + pos: -3.5,8.5 + parent: 1 + - uid: 431 + components: + - type: Transform + pos: -3.5,9.5 + parent: 1 + - uid: 432 + components: + - type: Transform + pos: -3.5,10.5 + parent: 1 + - uid: 433 + components: + - type: Transform + pos: -3.5,11.5 + parent: 1 + - uid: 434 + components: + - type: Transform + pos: -2.5,11.5 + parent: 1 + - uid: 435 + components: + - type: Transform + pos: -1.5,11.5 + parent: 1 + - uid: 436 + components: + - type: Transform + pos: -0.5,11.5 + parent: 1 + - uid: 437 + components: + - type: Transform + pos: 0.5,11.5 + parent: 1 + - uid: 438 + components: + - type: Transform + pos: 1.5,11.5 + parent: 1 + - uid: 439 + components: + - type: Transform + pos: 3.5,11.5 + parent: 1 + - uid: 440 + components: + - type: Transform + pos: 4.5,11.5 + parent: 1 + - uid: 441 + components: + - type: Transform + pos: 2.5,11.5 + parent: 1 + - uid: 442 + components: + - type: Transform + pos: 4.5,10.5 + parent: 1 + - uid: 443 + components: + - type: Transform + pos: 4.5,8.5 + parent: 1 + - uid: 444 + components: + - type: Transform + pos: 4.5,7.5 + parent: 1 + - uid: 445 + components: + - type: Transform + pos: 4.5,6.5 + parent: 1 + - uid: 447 + components: + - type: Transform + pos: 0.5,6.5 + parent: 1 + - uid: 448 + components: + - type: Transform + pos: 0.5,7.5 + parent: 1 + - uid: 449 + components: + - type: Transform + pos: 0.5,9.5 + parent: 1 + - uid: 450 + components: + - type: Transform + pos: 0.5,10.5 + parent: 1 + - uid: 451 + components: + - type: Transform + pos: 0.5,12.5 + parent: 1 + - uid: 452 + components: + - type: Transform + pos: 0.5,13.5 + parent: 1 + - uid: 534 + components: + - type: Transform + pos: 0.5,-2.5 + parent: 1 + - uid: 535 + components: + - type: Transform + pos: 0.5,-3.5 + parent: 1 + - uid: 566 + components: + - type: Transform + pos: -4.5,8.5 + parent: 1 + - uid: 567 + components: + - type: Transform + pos: -5.5,8.5 + parent: 1 + - uid: 568 + components: + - type: Transform + pos: -6.5,8.5 + parent: 1 + - uid: 569 + components: + - type: Transform + pos: -6.5,7.5 + parent: 1 + - uid: 570 + components: + - type: Transform + pos: -6.5,6.5 + parent: 1 + - uid: 571 + components: + - type: Transform + pos: -6.5,5.5 + parent: 1 + - uid: 572 + components: + - type: Transform + pos: -6.5,9.5 + parent: 1 + - uid: 655 + components: + - type: Transform + pos: 7.5,7.5 + parent: 1 + - uid: 679 + components: + - type: Transform + pos: 6.5,7.5 + parent: 1 + - uid: 680 + components: + - type: Transform + pos: 6.5,6.5 + parent: 1 + - uid: 681 + components: + - type: Transform + pos: 6.5,5.5 + parent: 1 + - uid: 682 + components: + - type: Transform + pos: 8.5,7.5 + parent: 1 + - uid: 683 + components: + - type: Transform + pos: 8.5,6.5 + parent: 1 + - uid: 684 + components: + - type: Transform + pos: 8.5,5.5 + parent: 1 +- proto: CandleBlackInfinite + entities: + - uid: 352 + components: + - type: Transform + pos: 0.34585947,8.704459 + parent: 1 +- proto: CandleBlueSmallInfinite + entities: + - uid: 388 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 1.9964747,13.631708 + parent: 1 +- proto: CandleGreenSmallInfinite + entities: + - uid: 351 + components: + - type: Transform + pos: 0.5854428,8.558525 + parent: 1 +- proto: CandleInfinite + entities: + - uid: 407 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,4.5 + parent: 1 +- proto: CandleRedSmallInfinite + entities: + - uid: 408 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.2612925,4.618674 + parent: 1 +- proto: CarpetPurple + entities: + - uid: 342 + components: + - type: Transform + pos: -0.5,7.5 + parent: 1 + - uid: 354 + components: + - type: Transform + pos: -0.5,9.5 + parent: 1 + - uid: 375 + components: + - type: Transform + pos: 0.5,9.5 + parent: 1 + - uid: 455 + components: + - type: Transform + pos: -0.5,8.5 + parent: 1 + - uid: 456 + components: + - type: Transform + pos: 0.5,8.5 + parent: 1 + - uid: 457 + components: + - type: Transform + pos: 0.5,7.5 + parent: 1 + - uid: 458 + components: + - type: Transform + pos: 1.5,8.5 + parent: 1 + - uid: 459 + components: + - type: Transform + pos: 1.5,7.5 + parent: 1 + - uid: 460 + components: + - type: Transform + pos: 1.5,9.5 + parent: 1 + - uid: 514 + components: + - type: Transform + pos: -6.5,6.5 + parent: 1 + - uid: 515 + components: + - type: Transform + pos: -6.5,5.5 + parent: 1 + - uid: 516 + components: + - type: Transform + pos: -5.5,6.5 + parent: 1 + - uid: 517 + components: + - type: Transform + pos: -5.5,5.5 + parent: 1 + - uid: 526 + components: + - type: Transform + pos: -0.5,13.5 + parent: 1 + - uid: 527 + components: + - type: Transform + pos: -0.5,12.5 + parent: 1 + - uid: 528 + components: + - type: Transform + pos: 0.5,13.5 + parent: 1 + - uid: 529 + components: + - type: Transform + pos: 0.5,12.5 + parent: 1 + - uid: 530 + components: + - type: Transform + pos: 1.5,13.5 + parent: 1 + - uid: 531 + components: + - type: Transform + pos: 1.5,12.5 + parent: 1 +- proto: ChairPilotSeat + entities: + - uid: 467 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 0.5,12.5 + parent: 1 +- proto: ChairWood + entities: + - uid: 468 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 1.5,8.5 + parent: 1 + - uid: 469 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -0.5,9.5 + parent: 1 + - uid: 512 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -7.5,6.5 + parent: 1 +- proto: ClockworkShield + entities: + - uid: 88 + components: + - type: Transform + pos: -1.4069316,1.4175825 + parent: 1 +- proto: ClothingBeltWand + entities: + - uid: 93 + components: + - type: Transform + pos: 2.5877786,0.864011 + parent: 1 +- proto: ClothingHeadHatWitch1 + entities: + - uid: 508 + components: + - type: Transform + parent: 507 + - type: Physics + canCollide: False +- proto: ClothingHeadHelmetWizardHelm + entities: + - uid: 405 + components: + - type: Transform + pos: 1.5,13.5 + parent: 1 +- proto: ClothingMaskGasChameleon + entities: + - uid: 404 + components: + - type: Transform + pos: -0.8681086,13.66298 + parent: 1 +- proto: ClothingShoesWizard + entities: + - uid: 95 + components: + - type: Transform + pos: 2.508839,1.4894459 + parent: 1 +- proto: ClothingUniformJumpskirtColorBlack + entities: + - uid: 510 + components: + - type: Transform + parent: 507 + - type: Physics + canCollide: False +- proto: ClothingUniformJumpsuitColorBlack + entities: + - uid: 509 + components: + - type: Transform + parent: 507 + - type: Physics + canCollide: False +- proto: ComfyChair + entities: + - uid: 340 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -3.5,5.5 + parent: 1 + - uid: 353 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -3.5,7.5 + parent: 1 + - uid: 465 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,7.5 + parent: 1 +- proto: CrayonRainbow + entities: + - uid: 646 + components: + - type: Transform + pos: 4.709585,6.241482 + parent: 1 +- proto: CrystalBlue + entities: + - uid: 274 + components: + - type: Transform + pos: 4.5,-5.5 + parent: 1 +- proto: CrystalOrange + entities: + - uid: 524 + components: + - type: Transform + pos: -3.5,-13.5 + parent: 1 +- proto: CrystalPink + entities: + - uid: 212 + components: + - type: Transform + pos: -7.5,1.5 + parent: 1 + - uid: 275 + components: + - type: Transform + pos: -1.5,-4.5 + parent: 1 +- proto: CrystalYellow + entities: + - uid: 525 + components: + - type: Transform + pos: 4.5,-12.5 + parent: 1 +- proto: CurtainsPurpleOpen + entities: + - uid: 513 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -5.5,5.5 + parent: 1 +- proto: DiceBag + entities: + - uid: 645 + components: + - type: Transform + pos: 0.6952908,8.840469 + parent: 1 +- proto: DogBed + entities: + - uid: 501 + components: + - type: Transform + pos: -5.5,9.5 + parent: 1 +- proto: Dresser + entities: + - uid: 507 + components: + - type: Transform + pos: -7.5,5.5 + parent: 1 + - type: Storage + storedItems: + 508: + position: 0,0 + _rotation: East + 509: + position: 2,0 + _rotation: South + 510: + position: 4,0 + _rotation: South + - type: ContainerContainer + containers: + storagebase: !type:Container + showEnts: False + occludes: True + ents: + - 508 + - 509 + - 510 +- proto: DrinkAleBottleFull + entities: + - uid: 651 + components: + - type: Transform + pos: -6.64086,5.9211173 + parent: 1 +- proto: DrinkGlass + entities: + - uid: 652 + components: + - type: Transform + pos: -6.4131513,5.5922756 + parent: 1 + - uid: 653 + components: + - type: Transform + pos: -6.2777348,5.686091 + parent: 1 +- proto: FaxMachineSyndie + entities: + - uid: 463 + components: + - type: Transform + pos: -3.5,6.5 + parent: 1 + - type: FaxMachine + name: Wizard's Den +- proto: FigureSpawner + entities: + - uid: 470 + components: + - type: Transform + pos: 0.5,9.5 + parent: 1 +- proto: Fireplace + entities: + - uid: 504 + components: + - type: Transform + pos: -7.5,7.5 + parent: 1 +- proto: FloorDrain + entities: + - uid: 618 + components: + - type: Transform + pos: 8.5,5.5 + parent: 1 + - type: Fixtures + fixtures: {} +- proto: FloorLavaEntity + entities: + - uid: 19 + components: + - type: Transform + pos: 5.5,-0.5 + parent: 1 + - uid: 20 + components: + - type: Transform + pos: -4.5,1.5 + parent: 1 + - uid: 26 + components: + - type: Transform + pos: 5.5,0.5 + parent: 1 + - uid: 30 + components: + - type: Transform + pos: 6.5,-0.5 + parent: 1 + - uid: 31 + components: + - type: Transform + pos: -4.5,-0.5 + parent: 1 + - uid: 33 + components: + - type: Transform + pos: -4.5,0.5 + parent: 1 + - uid: 60 + components: + - type: Transform + pos: -5.5,-1.5 + parent: 1 + - uid: 61 + components: + - type: Transform + pos: -5.5,-0.5 + parent: 1 + - uid: 62 + components: + - type: Transform + pos: -5.5,0.5 + parent: 1 + - uid: 63 + components: + - type: Transform + pos: 6.5,1.5 + parent: 1 + - uid: 65 + components: + - type: Transform + pos: 6.5,0.5 + parent: 1 + - uid: 118 + components: + - type: Transform + pos: 6.5,-7.5 + parent: 1 + - uid: 130 + components: + - type: Transform + pos: -4.5,-6.5 + parent: 1 + - uid: 160 + components: + - type: Transform + pos: -6.5,-0.5 + parent: 1 + - uid: 162 + components: + - type: Transform + pos: 8.5,1.5 + parent: 1 + - uid: 163 + components: + - type: Transform + pos: 7.5,1.5 + parent: 1 + - uid: 167 + components: + - type: Transform + pos: -5.5,-5.5 + parent: 1 + - uid: 169 + components: + - type: Transform + pos: 6.5,-8.5 + parent: 1 + - uid: 171 + components: + - type: Transform + pos: 5.5,-7.5 + parent: 1 + - uid: 206 + components: + - type: Transform + pos: 5.5,-8.5 + parent: 1 + - uid: 210 + components: + - type: Transform + pos: 5.5,-6.5 + parent: 1 + - uid: 211 + components: + - type: Transform + pos: -6.5,0.5 + parent: 1 + - uid: 213 + components: + - type: Transform + pos: 7.5,0.5 + parent: 1 + - uid: 248 + components: + - type: Transform + pos: -4.5,-5.5 + parent: 1 +- proto: FloraGreyStalagmite + entities: + - uid: 189 + components: + - type: Transform + pos: 0.7098959,-14.277794 + parent: 1 + - uid: 209 + components: + - type: Transform + pos: -2.3364596,-1.3592265 + parent: 1 +- proto: FloraStalagmite + entities: + - uid: 308 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 6.5,-1.5 + parent: 1 + - uid: 446 + components: + - type: Transform + pos: -5.1672845,-9.665474 + parent: 1 +- proto: FoodBurgerSpell + entities: + - uid: 647 + components: + - type: Transform + pos: -6.5,9.5 + parent: 1 +- proto: FoodMeat + entities: + - uid: 202 + components: + - type: Transform + pos: -2.7996593,-10.547044 + parent: 1 + - uid: 533 + components: + - type: Transform + pos: -0.23715895,-13.278107 + parent: 1 +- proto: GasPipeStraight + entities: + - uid: 300 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -0.5,3.5 + parent: 1 + - type: AtmosPipeColor + color: '#990000FF' +- proto: GravityGeneratorMini + entities: + - uid: 359 + components: + - type: Transform + pos: 3.5,12.5 + parent: 1 +- proto: Grille + entities: + - uid: 27 + components: + - type: Transform + pos: 4.5,-0.5 + parent: 1 + - uid: 28 + components: + - type: Transform + pos: 4.5,0.5 + parent: 1 + - uid: 29 + components: + - type: Transform + pos: 4.5,1.5 + parent: 1 + - uid: 50 + components: + - type: Transform + pos: -3.5,-0.5 + parent: 1 + - uid: 51 + components: + - type: Transform + pos: -3.5,1.5 + parent: 1 + - uid: 52 + components: + - type: Transform + pos: -3.5,0.5 + parent: 1 + - uid: 79 + components: + - type: Transform + pos: 1.5,-2.5 + parent: 1 + - uid: 84 + components: + - type: Transform + pos: -0.5,-2.5 + parent: 1 + - uid: 389 + components: + - type: Transform + pos: -2.5,13.5 + parent: 1 + - uid: 390 + components: + - type: Transform + pos: -2.5,14.5 + parent: 1 + - uid: 391 + components: + - type: Transform + pos: -1.5,14.5 + parent: 1 + - uid: 392 + components: + - type: Transform + pos: -0.5,14.5 + parent: 1 + - uid: 393 + components: + - type: Transform + pos: 0.5,14.5 + parent: 1 + - uid: 394 + components: + - type: Transform + pos: 1.5,14.5 + parent: 1 + - uid: 395 + components: + - type: Transform + pos: 2.5,14.5 + parent: 1 + - uid: 396 + components: + - type: Transform + pos: 3.5,14.5 + parent: 1 + - uid: 397 + components: + - type: Transform + pos: 3.5,13.5 + parent: 1 +- proto: HospitalCurtainsOpen + entities: + - uid: 619 + components: + - type: Transform + pos: 8.5,5.5 + parent: 1 +- proto: LightPostSmall + entities: + - uid: 481 + components: + - type: Transform + pos: 0.5,-8.5 + parent: 1 +- proto: LuxuryPen + entities: + - uid: 478 + components: + - type: Transform + pos: 4.5,5.5 + parent: 1 +- proto: MedkitAdvancedFilled + entities: + - uid: 89 + components: + - type: Transform + pos: -1.6541514,-0.17837936 + parent: 1 +- proto: MedkitOxygenFilled + entities: + - uid: 90 + components: + - type: Transform + pos: -1.391187,-0.4181292 + parent: 1 +- proto: Mirror + entities: + - uid: 625 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 7.5,10.5 + parent: 1 +- proto: MirrorShield + entities: + - uid: 87 + components: + - type: Transform + pos: -1.7423494,1.6781805 + parent: 1 +- proto: Paper + entities: + - uid: 479 + components: + - type: Transform + pos: 4.548043,5.679018 + parent: 1 + - uid: 480 + components: + - type: Transform + pos: 4.6209593,5.762409 + parent: 1 +- proto: PaperBin5 + entities: + - uid: 363 + components: + - type: Transform + pos: -2.5,4.5 + parent: 1 +- proto: PersonalAI + entities: + - uid: 94 + components: + - type: Transform + pos: -1.4747214,0.57214147 + parent: 1 +- proto: PlasmaDoor + entities: + - uid: 81 + components: + - type: Transform + pos: 0.5,3.5 + parent: 1 + - uid: 82 + components: + - type: Transform + pos: 0.5,-2.5 + parent: 1 + - uid: 355 + components: + - type: Transform + pos: 5.5,8.5 + parent: 1 + - uid: 356 + components: + - type: Transform + pos: -4.5,8.5 + parent: 1 +- proto: PlasmaWindow + entities: + - uid: 34 + components: + - type: Transform + pos: -3.5,-0.5 + parent: 1 + - uid: 35 + components: + - type: Transform + pos: -3.5,0.5 + parent: 1 + - uid: 36 + components: + - type: Transform + pos: -3.5,1.5 + parent: 1 + - uid: 47 + components: + - type: Transform + pos: 4.5,1.5 + parent: 1 + - uid: 48 + components: + - type: Transform + pos: 4.5,0.5 + parent: 1 + - uid: 49 + components: + - type: Transform + pos: 4.5,-0.5 + parent: 1 + - uid: 156 + components: + - type: Transform + pos: -0.5,-2.5 + parent: 1 + - uid: 159 + components: + - type: Transform + pos: 1.5,-2.5 + parent: 1 +- proto: PonderingOrbWizard + entities: + - uid: 92 + components: + - type: Transform + pos: 2.3481953,0.30111992 + parent: 1 +- proto: PottedPlantRandom + entities: + - uid: 271 + components: + - type: Transform + pos: -3.5,9.5 + parent: 1 + - uid: 280 + components: + - type: Transform + pos: 1.5,4.5 + parent: 1 + - uid: 303 + components: + - type: Transform + pos: -0.5,4.5 + parent: 1 + - uid: 648 + components: + - type: Transform + pos: 4.5,9.5 + parent: 1 +- proto: PowerCellRecharger + entities: + - uid: 403 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,13.5 + parent: 1 +- proto: PoweredSmallLight + entities: + - uid: 347 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -3.5,6.5 + parent: 1 + - uid: 387 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,6.5 + parent: 1 + - uid: 485 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -2.5,12.5 + parent: 1 + - uid: 486 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,12.5 + parent: 1 + - uid: 565 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 6.5,7.5 + parent: 1 + - uid: 620 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 8.5,5.5 + parent: 1 +- proto: PoweredWarmSmallLight + entities: + - uid: 4 + components: + - type: Transform + pos: 2.5,2.5 + parent: 1 + - uid: 25 + components: + - type: Transform + pos: -1.5,2.5 + parent: 1 + - uid: 505 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -5.5,7.5 + parent: 1 +- proto: Railing + entities: + - uid: 149 + components: + - type: Transform + pos: -2.5,-7.5 + parent: 1 + - uid: 266 + components: + - type: Transform + pos: -3.5,-7.5 + parent: 1 + - uid: 267 + components: + - type: Transform + pos: -1.5,-7.5 + parent: 1 + - uid: 268 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -0.5,-8.5 + parent: 1 + - uid: 306 + components: + - type: Transform + pos: 1.5,-9.5 + parent: 1 + - uid: 307 + components: + - type: Transform + pos: 0.5,-9.5 + parent: 1 + - uid: 310 + components: + - type: Transform + pos: 4.5,-9.5 + parent: 1 + - uid: 326 + components: + - type: Transform + pos: 3.5,-9.5 + parent: 1 + - uid: 413 + components: + - type: Transform + pos: 2.5,-9.5 + parent: 1 +- proto: RailingCorner + entities: + - uid: 309 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -0.5,-9.5 + parent: 1 +- proto: RailingCornerSmall + entities: + - uid: 219 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -0.5,-7.5 + parent: 1 +- proto: RandomStalagmiteOrCrystal + entities: + - uid: 119 + components: + - type: Transform + pos: -7.5,-3.5 + parent: 1 + - uid: 604 + components: + - type: Transform + pos: 9.5,1.5 + parent: 1 +- proto: ReinforcedPlasmaWindow + entities: + - uid: 364 + components: + - type: Transform + pos: -0.5,14.5 + parent: 1 + - uid: 366 + components: + - type: Transform + pos: 0.5,14.5 + parent: 1 + - uid: 367 + components: + - type: Transform + pos: 1.5,14.5 + parent: 1 + - uid: 368 + components: + - type: Transform + pos: 2.5,14.5 + parent: 1 + - uid: 369 + components: + - type: Transform + pos: -1.5,14.5 + parent: 1 + - uid: 370 + components: + - type: Transform + pos: 3.5,14.5 + parent: 1 + - uid: 371 + components: + - type: Transform + pos: 3.5,13.5 + parent: 1 + - uid: 372 + components: + - type: Transform + pos: -2.5,14.5 + parent: 1 + - uid: 373 + components: + - type: Transform + pos: -2.5,13.5 + parent: 1 +- proto: SinkWide + entities: + - uid: 624 + components: + - type: Transform + pos: 7.5,9.5 + parent: 1 +- proto: Skub + entities: + - uid: 623 + components: + - type: Transform + pos: 6.5,6.5 + parent: 1 +- proto: SoapOmega + entities: + - uid: 622 + components: + - type: Transform + pos: 8.5,5.5 + parent: 1 +- proto: SpawnMobBear + entities: + - uid: 204 + components: + - type: Transform + pos: 1.5,-12.5 + parent: 1 + - uid: 409 + components: + - type: Transform + pos: -3.5,-9.5 + parent: 1 + - uid: 532 + components: + - type: Transform + pos: -1.5,-11.5 + parent: 1 +- proto: SpawnMobLizard + entities: + - uid: 518 + components: + - type: Transform + pos: -5.5,9.5 + parent: 1 +- proto: SpawnPointWizard + entities: + - uid: 2 + components: + - type: Transform + pos: 0.5,0.5 + parent: 1 +- proto: StealthBox + entities: + - uid: 621 + components: + - type: Transform + pos: 6.5,9.5 + parent: 1 + - type: Stealth + enabled: False + - type: EntityStorage + open: True +- proto: TableCarpet + entities: + - uid: 341 + components: + - type: Transform + pos: 0.5,8.5 + parent: 1 + - uid: 461 + components: + - type: Transform + pos: 0.5,9.5 + parent: 1 + - uid: 473 + components: + - type: Transform + pos: 4.5,6.5 + parent: 1 + - uid: 476 + components: + - type: Transform + pos: 4.5,5.5 + parent: 1 +- proto: TableFancyOrange + entities: + - uid: 345 + components: + - type: Transform + pos: -3.5,6.5 + parent: 1 +- proto: TableFancyPurple + entities: + - uid: 357 + components: + - type: Transform + pos: -1.5,4.5 + parent: 1 + - uid: 358 + components: + - type: Transform + pos: -2.5,4.5 + parent: 1 +- proto: TableFancyRed + entities: + - uid: 360 + components: + - type: Transform + pos: 3.5,4.5 + parent: 1 +- proto: TableReinforced + entities: + - uid: 398 + components: + - type: Transform + pos: 1.5,13.5 + parent: 1 + - uid: 399 + components: + - type: Transform + pos: 2.5,13.5 + parent: 1 + - uid: 400 + components: + - type: Transform + pos: -0.5,13.5 + parent: 1 + - uid: 401 + components: + - type: Transform + pos: -1.5,13.5 + parent: 1 +- proto: TableStone + entities: + - uid: 3 + components: + - type: Transform + pos: -1.5,-0.5 + parent: 1 + - uid: 6 + components: + - type: Transform + pos: -1.5,1.5 + parent: 1 + - uid: 7 + components: + - type: Transform + pos: -1.5,0.5 + parent: 1 + - uid: 8 + components: + - type: Transform + pos: 2.5,-0.5 + parent: 1 + - uid: 9 + components: + - type: Transform + pos: 2.5,0.5 + parent: 1 + - uid: 10 + components: + - type: Transform + pos: 2.5,1.5 + parent: 1 +- proto: TableWood + entities: + - uid: 502 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,9.5 + parent: 1 + - uid: 511 + components: + - type: Transform + pos: -6.5,5.5 + parent: 1 +- proto: TargetHuman + entities: + - uid: 305 + components: + - type: Transform + pos: -2.5,-12.5 + parent: 1 +- proto: TargetStrange + entities: + - uid: 304 + components: + - type: Transform + pos: -4.5,-10.5 + parent: 1 +- proto: ToiletEmpty + entities: + - uid: 617 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 6.5,5.5 + parent: 1 +- proto: ToyFigurineWizard + entities: + - uid: 477 + components: + - type: Transform + pos: 4.5,6.5 + parent: 1 +- proto: VendingMachineDiscount + entities: + - uid: 454 + components: + - type: Transform + pos: 2.5,4.5 + parent: 1 +- proto: VendingMachineGames + entities: + - uid: 462 + components: + - type: Transform + pos: 0.5,7.5 + parent: 1 +- proto: VendingMachineMagivend + entities: + - uid: 453 + components: + - type: Transform + pos: -2.5,12.5 + parent: 1 +- proto: WallPlasma + entities: + - uid: 18 + components: + - type: Transform + pos: 2.5,3.5 + parent: 1 + - uid: 21 + components: + - type: Transform + pos: -3.5,2.5 + parent: 1 + - uid: 22 + components: + - type: Transform + pos: -3.5,-1.5 + parent: 1 + - uid: 23 + components: + - type: Transform + pos: -3.5,-2.5 + parent: 1 + - uid: 24 + components: + - type: Transform + pos: 2.5,-2.5 + parent: 1 + - uid: 32 + components: + - type: Transform + pos: -3.5,3.5 + parent: 1 + - uid: 37 + components: + - type: Transform + pos: 4.5,-1.5 + parent: 1 + - uid: 38 + components: + - type: Transform + pos: 4.5,2.5 + parent: 1 + - uid: 39 + components: + - type: Transform + pos: 4.5,-2.5 + parent: 1 + - uid: 40 + components: + - type: Transform + pos: 3.5,-2.5 + parent: 1 + - uid: 41 + components: + - type: Transform + pos: -2.5,-2.5 + parent: 1 + - uid: 42 + components: + - type: Transform + pos: -1.5,-2.5 + parent: 1 + - uid: 43 + components: + - type: Transform + pos: -2.5,3.5 + parent: 1 + - uid: 44 + components: + - type: Transform + pos: -1.5,3.5 + parent: 1 + - uid: 45 + components: + - type: Transform + pos: 4.5,3.5 + parent: 1 + - uid: 46 + components: + - type: Transform + pos: 3.5,3.5 + parent: 1 + - uid: 83 + components: + - type: Transform + pos: 1.5,3.5 + parent: 1 + - uid: 86 + components: + - type: Transform + pos: -0.5,3.5 + parent: 1 + - uid: 329 + components: + - type: Transform + pos: 8.5,4.5 + parent: 1 + - uid: 330 + components: + - type: Transform + pos: 7.5,4.5 + parent: 1 + - uid: 331 + components: + - type: Transform + pos: 4.5,4.5 + parent: 1 + - uid: 332 + components: + - type: Transform + pos: 6.5,4.5 + parent: 1 + - uid: 333 + components: + - type: Transform + pos: -4.5,5.5 + parent: 1 + - uid: 334 + components: + - type: Transform + pos: -4.5,4.5 + parent: 1 + - uid: 335 + components: + - type: Transform + pos: -4.5,6.5 + parent: 1 + - uid: 336 + components: + - type: Transform + pos: 5.5,4.5 + parent: 1 + - uid: 337 + components: + - type: Transform + pos: 5.5,5.5 + parent: 1 + - uid: 338 + components: + - type: Transform + pos: 5.5,6.5 + parent: 1 + - uid: 339 + components: + - type: Transform + pos: -3.5,4.5 + parent: 1 + - uid: 374 + components: + - type: Transform + pos: -4.5,7.5 + parent: 1 + - uid: 376 + components: + - type: Transform + pos: -4.5,10.5 + parent: 1 + - uid: 377 + components: + - type: Transform + pos: -4.5,11.5 + parent: 1 + - uid: 378 + components: + - type: Transform + pos: -4.5,12.5 + parent: 1 + - uid: 379 + components: + - type: Transform + pos: -3.5,12.5 + parent: 1 + - uid: 380 + components: + - type: Transform + pos: -3.5,13.5 + parent: 1 + - uid: 381 + components: + - type: Transform + pos: 4.5,13.5 + parent: 1 + - uid: 382 + components: + - type: Transform + pos: 4.5,12.5 + parent: 1 + - uid: 383 + components: + - type: Transform + pos: 5.5,12.5 + parent: 1 + - uid: 384 + components: + - type: Transform + pos: 5.5,11.5 + parent: 1 + - uid: 385 + components: + - type: Transform + pos: 5.5,10.5 + parent: 1 + - uid: 386 + components: + - type: Transform + pos: 5.5,9.5 + parent: 1 + - uid: 406 + components: + - type: Transform + pos: 5.5,7.5 + parent: 1 + - uid: 412 + components: + - type: Transform + pos: -4.5,9.5 + parent: 1 + - uid: 488 + components: + - type: Transform + pos: -5.5,10.5 + parent: 1 + - uid: 489 + components: + - type: Transform + pos: -6.5,10.5 + parent: 1 + - uid: 490 + components: + - type: Transform + pos: -7.5,10.5 + parent: 1 + - uid: 491 + components: + - type: Transform + pos: -7.5,9.5 + parent: 1 + - uid: 492 + components: + - type: Transform + pos: -7.5,8.5 + parent: 1 + - uid: 493 + components: + - type: Transform + pos: -8.5,8.5 + parent: 1 + - uid: 494 + components: + - type: Transform + pos: -8.5,7.5 + parent: 1 + - uid: 495 + components: + - type: Transform + pos: -8.5,6.5 + parent: 1 + - uid: 496 + components: + - type: Transform + pos: -8.5,5.5 + parent: 1 + - uid: 497 + components: + - type: Transform + pos: -8.5,4.5 + parent: 1 + - uid: 498 + components: + - type: Transform + pos: -7.5,4.5 + parent: 1 + - uid: 499 + components: + - type: Transform + pos: -6.5,4.5 + parent: 1 + - uid: 500 + components: + - type: Transform + pos: -5.5,4.5 + parent: 1 + - uid: 585 + components: + - type: Transform + pos: 6.5,10.5 + parent: 1 + - uid: 586 + components: + - type: Transform + pos: 7.5,10.5 + parent: 1 + - uid: 587 + components: + - type: Transform + pos: 8.5,10.5 + parent: 1 + - uid: 589 + components: + - type: Transform + pos: 7.5,6.5 + parent: 1 + - uid: 590 + components: + - type: Transform + pos: 7.5,5.5 + parent: 1 + - uid: 591 + components: + - type: Transform + pos: 9.5,5.5 + parent: 1 + - uid: 592 + components: + - type: Transform + pos: 9.5,6.5 + parent: 1 + - uid: 593 + components: + - type: Transform + pos: 9.5,7.5 + parent: 1 + - uid: 594 + components: + - type: Transform + pos: 9.5,8.5 + parent: 1 + - uid: 595 + components: + - type: Transform + pos: 8.5,9.5 + parent: 1 + - uid: 597 + components: + - type: Transform + pos: 8.5,8.5 + parent: 1 + - uid: 601 + components: + - type: Transform + pos: 9.5,4.5 + parent: 1 +- proto: WallRockBasalt + entities: + - uid: 11 + components: + - type: Transform + pos: -4.5,3.5 + parent: 1 + - uid: 12 + components: + - type: Transform + pos: 9.5,-12.5 + parent: 1 + - uid: 13 + components: + - type: Transform + pos: -7.5,-2.5 + parent: 1 + - uid: 14 + components: + - type: Transform + pos: -5.5,3.5 + parent: 1 + - uid: 15 + components: + - type: Transform + pos: 5.5,-15.5 + parent: 1 + - uid: 16 + components: + - type: Transform + pos: -7.5,-1.5 + parent: 1 + - uid: 17 + components: + - type: Transform + pos: -5.5,-3.5 + parent: 1 + - uid: 53 + components: + - type: Transform + pos: -6.5,-3.5 + parent: 1 + - uid: 54 + components: + - type: Transform + pos: -5.5,-2.5 + parent: 1 + - uid: 55 + components: + - type: Transform + pos: -4.5,-3.5 + parent: 1 + - uid: 56 + components: + - type: Transform + pos: -4.5,-2.5 + parent: 1 + - uid: 57 + components: + - type: Transform + pos: 5.5,3.5 + parent: 1 + - uid: 58 + components: + - type: Transform + pos: 5.5,-2.5 + parent: 1 + - uid: 59 + components: + - type: Transform + pos: 6.5,-2.5 + parent: 1 + - uid: 64 + components: + - type: Transform + pos: 6.5,3.5 + parent: 1 + - uid: 66 + components: + - type: Transform + pos: 7.5,3.5 + parent: 1 + - uid: 67 + components: + - type: Transform + pos: 4.5,-15.5 + parent: 1 + - uid: 68 + components: + - type: Transform + pos: 5.5,-14.5 + parent: 1 + - uid: 69 + components: + - type: Transform + pos: 7.5,-0.5 + parent: 1 + - uid: 70 + components: + - type: Transform + pos: 7.5,-1.5 + parent: 1 + - uid: 71 + components: + - type: Transform + pos: 7.5,-2.5 + parent: 1 + - uid: 72 + components: + - type: Transform + pos: 6.5,-14.5 + parent: 1 + - uid: 73 + components: + - type: Transform + pos: -6.5,3.5 + parent: 1 + - uid: 74 + components: + - type: Transform + pos: -6.5,2.5 + parent: 1 + - uid: 75 + components: + - type: Transform + pos: 7.5,-12.5 + parent: 1 + - uid: 76 + components: + - type: Transform + pos: 6.5,-13.5 + parent: 1 + - uid: 77 + components: + - type: Transform + pos: -6.5,-2.5 + parent: 1 + - uid: 78 + components: + - type: Transform + pos: -6.5,-1.5 + parent: 1 + - uid: 80 + components: + - type: Transform + pos: -7.5,-0.5 + parent: 1 + - uid: 85 + components: + - type: Transform + pos: 8.5,-13.5 + parent: 1 + - uid: 100 + components: + - type: Transform + pos: 7.5,-14.5 + parent: 1 + - uid: 101 + components: + - type: Transform + pos: 8.5,-12.5 + parent: 1 + - uid: 102 + components: + - type: Transform + pos: 10.5,-7.5 + parent: 1 + - uid: 120 + components: + - type: Transform + pos: -7.5,-5.5 + parent: 1 + - uid: 121 + components: + - type: Transform + pos: -7.5,-4.5 + parent: 1 + - uid: 122 + components: + - type: Transform + pos: -7.5,-6.5 + parent: 1 + - uid: 123 + components: + - type: Transform + pos: -6.5,-4.5 + parent: 1 + - uid: 124 + components: + - type: Transform + pos: -6.5,-5.5 + parent: 1 + - uid: 125 + components: + - type: Transform + pos: -6.5,-6.5 + parent: 1 + - uid: 126 + components: + - type: Transform + pos: -10.5,-2.5 + parent: 1 + - uid: 127 + components: + - type: Transform + pos: -5.5,-6.5 + parent: 1 + - uid: 128 + components: + - type: Transform + pos: -4.5,-4.5 + parent: 1 + - uid: 129 + components: + - type: Transform + pos: -6.5,-8.5 + parent: 1 + - uid: 131 + components: + - type: Transform + pos: -5.5,-4.5 + parent: 1 + - uid: 132 + components: + - type: Transform + pos: -5.5,-7.5 + parent: 1 + - uid: 133 + components: + - type: Transform + pos: -4.5,-7.5 + parent: 1 + - uid: 134 + components: + - type: Transform + pos: -9.5,-3.5 + parent: 1 + - uid: 135 + components: + - type: Transform + pos: -3.5,-3.5 + parent: 1 + - uid: 136 + components: + - type: Transform + pos: -6.5,-7.5 + parent: 1 + - uid: 137 + components: + - type: Transform + pos: 5.5,-3.5 + parent: 1 + - uid: 138 + components: + - type: Transform + pos: 4.5,-3.5 + parent: 1 + - uid: 139 + components: + - type: Transform + pos: 5.5,-4.5 + parent: 1 + - uid: 140 + components: + - type: Transform + pos: 6.5,-3.5 + parent: 1 + - uid: 141 + components: + - type: Transform + pos: 8.5,0.5 + parent: 1 + - uid: 142 + components: + - type: Transform + pos: 8.5,-0.5 + parent: 1 + - uid: 143 + components: + - type: Transform + pos: 8.5,-1.5 + parent: 1 + - uid: 144 + components: + - type: Transform + pos: 8.5,-4.5 + parent: 1 + - uid: 145 + components: + - type: Transform + pos: 8.5,-3.5 + parent: 1 + - uid: 146 + components: + - type: Transform + pos: 8.5,-5.5 + parent: 1 + - uid: 147 + components: + - type: Transform + pos: 8.5,-2.5 + parent: 1 + - uid: 148 + components: + - type: Transform + pos: 8.5,-6.5 + parent: 1 + - uid: 150 + components: + - type: Transform + pos: 7.5,-3.5 + parent: 1 + - uid: 151 + components: + - type: Transform + pos: 7.5,-4.5 + parent: 1 + - uid: 152 + components: + - type: Transform + pos: 7.5,-5.5 + parent: 1 + - uid: 153 + components: + - type: Transform + pos: 6.5,-4.5 + parent: 1 + - uid: 154 + components: + - type: Transform + pos: 6.5,-6.5 + parent: 1 + - uid: 155 + components: + - type: Transform + pos: 5.5,-5.5 + parent: 1 + - uid: 157 + components: + - type: Transform + pos: 6.5,-5.5 + parent: 1 + - uid: 158 + components: + - type: Transform + pos: 4.5,-4.5 + parent: 1 + - uid: 161 + components: + - type: Transform + pos: 7.5,-7.5 + parent: 1 + - uid: 164 + components: + - type: Transform + pos: -9.5,-1.5 + parent: 1 + - uid: 165 + components: + - type: Transform + pos: -9.5,-2.5 + parent: 1 + - uid: 166 + components: + - type: Transform + pos: -9.5,-0.5 + parent: 1 + - uid: 168 + components: + - type: Transform + pos: 7.5,-6.5 + parent: 1 + - uid: 170 + components: + - type: Transform + pos: 9.5,-7.5 + parent: 1 + - uid: 172 + components: + - type: Transform + pos: 2.5,-17.5 + parent: 1 + - uid: 173 + components: + - type: Transform + pos: 1.5,-17.5 + parent: 1 + - uid: 174 + components: + - type: Transform + pos: 0.5,-17.5 + parent: 1 + - uid: 175 + components: + - type: Transform + pos: 9.5,-10.5 + parent: 1 + - uid: 176 + components: + - type: Transform + pos: 3.5,-17.5 + parent: 1 + - uid: 177 + components: + - type: Transform + pos: 9.5,-6.5 + parent: 1 + - uid: 178 + components: + - type: Transform + pos: 9.5,-11.5 + parent: 1 + - uid: 179 + components: + - type: Transform + pos: -0.5,-17.5 + parent: 1 + - uid: 180 + components: + - type: Transform + pos: 9.5,-9.5 + parent: 1 + - uid: 181 + components: + - type: Transform + pos: 7.5,-15.5 + parent: 1 + - uid: 182 + components: + - type: Transform + pos: 6.5,-15.5 + parent: 1 + - uid: 183 + components: + - type: Transform + pos: 9.5,-8.5 + parent: 1 + - uid: 184 + components: + - type: Transform + pos: 10.5,-8.5 + parent: 1 + - uid: 185 + components: + - type: Transform + pos: 8.5,-10.5 + parent: 1 + - uid: 186 + components: + - type: Transform + pos: 6.5,-16.5 + parent: 1 + - uid: 187 + components: + - type: Transform + pos: 10.5,-6.5 + parent: 1 + - uid: 188 + components: + - type: Transform + pos: 1.5,-18.5 + parent: 1 + - uid: 190 + components: + - type: Transform + pos: -1.5,-18.5 + parent: 1 + - uid: 191 + components: + - type: Transform + pos: 7.5,-16.5 + parent: 1 + - uid: 192 + components: + - type: Transform + pos: 6.5,-17.5 + parent: 1 + - uid: 193 + components: + - type: Transform + pos: -0.5,-18.5 + parent: 1 + - uid: 194 + components: + - type: Transform + pos: 4.5,-16.5 + parent: 1 + - uid: 195 + components: + - type: Transform + pos: 3.5,-16.5 + parent: 1 + - uid: 196 + components: + - type: Transform + pos: 0.5,-18.5 + parent: 1 + - uid: 197 + components: + - type: Transform + pos: 5.5,-16.5 + parent: 1 + - uid: 198 + components: + - type: Transform + pos: 8.5,-11.5 + parent: 1 + - uid: 200 + components: + - type: Transform + pos: 5.5,-17.5 + parent: 1 + - uid: 201 + components: + - type: Transform + pos: -5.5,-8.5 + parent: 1 + - uid: 203 + components: + - type: Transform + pos: -2.5,-18.5 + parent: 1 + - uid: 205 + components: + - type: Transform + pos: 8.5,-14.5 + parent: 1 + - uid: 207 + components: + - type: Transform + pos: 10.5,-10.5 + parent: 1 + - uid: 208 + components: + - type: Transform + pos: 5.5,-9.5 + parent: 1 + - uid: 214 + components: + - type: Transform + pos: 4.5,-17.5 + parent: 1 + - uid: 215 + components: + - type: Transform + pos: -1.5,-17.5 + parent: 1 + - uid: 216 + components: + - type: Transform + pos: -2.5,-17.5 + parent: 1 + - uid: 217 + components: + - type: Transform + pos: -2.5,-14.5 + parent: 1 + - uid: 218 + components: + - type: Transform + pos: -6.5,-11.5 + parent: 1 + - uid: 220 + components: + - type: Transform + pos: 3.5,-15.5 + parent: 1 + - uid: 221 + components: + - type: Transform + pos: 2.5,-16.5 + parent: 1 + - uid: 222 + components: + - type: Transform + pos: -1.5,-15.5 + parent: 1 + - uid: 223 + components: + - type: Transform + pos: -0.5,-15.5 + parent: 1 + - uid: 224 + components: + - type: Transform + pos: 0.5,-15.5 + parent: 1 + - uid: 225 + components: + - type: Transform + pos: 1.5,-15.5 + parent: 1 + - uid: 226 + components: + - type: Transform + pos: 1.5,-16.5 + parent: 1 + - uid: 227 + components: + - type: Transform + pos: 0.5,-16.5 + parent: 1 + - uid: 228 + components: + - type: Transform + pos: -0.5,-16.5 + parent: 1 + - uid: 229 + components: + - type: Transform + pos: -1.5,-16.5 + parent: 1 + - uid: 230 + components: + - type: Transform + pos: -2.5,-16.5 + parent: 1 + - uid: 231 + components: + - type: Transform + pos: -2.5,-15.5 + parent: 1 + - uid: 232 + components: + - type: Transform + pos: -3.5,-15.5 + parent: 1 + - uid: 233 + components: + - type: Transform + pos: -3.5,-14.5 + parent: 1 + - uid: 234 + components: + - type: Transform + pos: -4.5,-14.5 + parent: 1 + - uid: 235 + components: + - type: Transform + pos: -5.5,-13.5 + parent: 1 + - uid: 236 + components: + - type: Transform + pos: -6.5,-12.5 + parent: 1 + - uid: 237 + components: + - type: Transform + pos: -7.5,-10.5 + parent: 1 + - uid: 238 + components: + - type: Transform + pos: -7.5,-9.5 + parent: 1 + - uid: 239 + components: + - type: Transform + pos: -8.5,-8.5 + parent: 1 + - uid: 240 + components: + - type: Transform + pos: 5.5,-11.5 + parent: 1 + - uid: 241 + components: + - type: Transform + pos: 5.5,-10.5 + parent: 1 + - uid: 242 + components: + - type: Transform + pos: -8.5,-7.5 + parent: 1 + - uid: 243 + components: + - type: Transform + pos: -8.5,-6.5 + parent: 1 + - uid: 244 + components: + - type: Transform + pos: -8.5,-5.5 + parent: 1 + - uid: 246 + components: + - type: Transform + pos: -10.5,-1.5 + parent: 1 + - uid: 247 + components: + - type: Transform + pos: -10.5,-0.5 + parent: 1 + - uid: 249 + components: + - type: Transform + pos: -10.5,0.5 + parent: 1 + - uid: 250 + components: + - type: Transform + pos: -10.5,1.5 + parent: 1 + - uid: 251 + components: + - type: Transform + pos: -10.5,2.5 + parent: 1 + - uid: 252 + components: + - type: Transform + pos: -10.5,-3.5 + parent: 1 + - uid: 253 + components: + - type: Transform + pos: 11.5,1.5 + parent: 1 + - uid: 254 + components: + - type: Transform + pos: -9.5,-4.5 + parent: 1 + - uid: 255 + components: + - type: Transform + pos: -9.5,-5.5 + parent: 1 + - uid: 256 + components: + - type: Transform + pos: -9.5,-6.5 + parent: 1 + - uid: 257 + components: + - type: Transform + pos: 11.5,0.5 + parent: 1 + - uid: 258 + components: + - type: Transform + pos: 11.5,-1.5 + parent: 1 + - uid: 259 + components: + - type: Transform + pos: 11.5,-2.5 + parent: 1 + - uid: 260 + components: + - type: Transform + pos: 11.5,-0.5 + parent: 1 + - uid: 261 + components: + - type: Transform + pos: 10.5,-2.5 + parent: 1 + - uid: 262 + components: + - type: Transform + pos: 10.5,-3.5 + parent: 1 + - uid: 263 + components: + - type: Transform + pos: 10.5,-4.5 + parent: 1 + - uid: 264 + components: + - type: Transform + pos: 10.5,-5.5 + parent: 1 + - uid: 265 + components: + - type: Transform + pos: 8.5,-15.5 + parent: 1 + - uid: 269 + components: + - type: Transform + pos: -4.5,-15.5 + parent: 1 + - uid: 270 + components: + - type: Transform + pos: -5.5,-14.5 + parent: 1 + - uid: 272 + components: + - type: Transform + pos: -6.5,-13.5 + parent: 1 + - uid: 273 + components: + - type: Transform + pos: -7.5,-11.5 + parent: 1 + - uid: 276 + components: + - type: Transform + pos: -8.5,-10.5 + parent: 1 + - uid: 277 + components: + - type: Transform + pos: -8.5,-9.5 + parent: 1 + - uid: 278 + components: + - type: Transform + pos: 7.5,-13.5 + parent: 1 + - uid: 279 + components: + - type: Transform + pos: -10.5,-4.5 + parent: 1 + - uid: 281 + components: + - type: Transform + pos: -10.5,-5.5 + parent: 1 + - uid: 282 + components: + - type: Transform + pos: -10.5,-6.5 + parent: 1 + - uid: 283 + components: + - type: Transform + pos: -9.5,-7.5 + parent: 1 + - uid: 284 + components: + - type: Transform + pos: -9.5,-8.5 + parent: 1 + - uid: 285 + components: + - type: Transform + pos: -9.5,-9.5 + parent: 1 + - uid: 286 + components: + - type: Transform + pos: -9.5,-10.5 + parent: 1 + - uid: 287 + components: + - type: Transform + pos: -9.5,-11.5 + parent: 1 + - uid: 288 + components: + - type: Transform + pos: -8.5,-11.5 + parent: 1 + - uid: 289 + components: + - type: Transform + pos: -8.5,-13.5 + parent: 1 + - uid: 290 + components: + - type: Transform + pos: -7.5,-12.5 + parent: 1 + - uid: 291 + components: + - type: Transform + pos: -8.5,-12.5 + parent: 1 + - uid: 292 + components: + - type: Transform + pos: -7.5,-13.5 + parent: 1 + - uid: 293 + components: + - type: Transform + pos: -6.5,-14.5 + parent: 1 + - uid: 294 + components: + - type: Transform + pos: -6.5,-15.5 + parent: 1 + - uid: 295 + components: + - type: Transform + pos: -5.5,-15.5 + parent: 1 + - uid: 296 + components: + - type: Transform + pos: -5.5,-16.5 + parent: 1 + - uid: 297 + components: + - type: Transform + pos: -4.5,-16.5 + parent: 1 + - uid: 298 + components: + - type: Transform + pos: -3.5,-16.5 + parent: 1 + - uid: 299 + components: + - type: Transform + pos: -3.5,-17.5 + parent: 1 + - uid: 301 + components: + - type: Transform + pos: -7.5,-14.5 + parent: 1 + - uid: 302 + components: + - type: Transform + pos: -10.5,-7.5 + parent: 1 + - uid: 311 + components: + - type: Transform + pos: -7.5,3.5 + parent: 1 + - uid: 312 + components: + - type: Transform + pos: -7.5,2.5 + parent: 1 + - uid: 313 + components: + - type: Transform + pos: 10.5,-9.5 + parent: 1 + - uid: 314 + components: + - type: Transform + pos: -8.5,0.5 + parent: 1 + - uid: 315 + components: + - type: Transform + pos: -8.5,-0.5 + parent: 1 + - uid: 316 + components: + - type: Transform + pos: -8.5,-1.5 + parent: 1 + - uid: 317 + components: + - type: Transform + pos: -8.5,-2.5 + parent: 1 + - uid: 318 + components: + - type: Transform + pos: -8.5,-4.5 + parent: 1 + - uid: 319 + components: + - type: Transform + pos: -8.5,-3.5 + parent: 1 + - uid: 320 + components: + - type: Transform + pos: 9.5,-1.5 + parent: 1 + - uid: 321 + components: + - type: Transform + pos: 9.5,-2.5 + parent: 1 + - uid: 322 + components: + - type: Transform + pos: 9.5,-3.5 + parent: 1 + - uid: 323 + components: + - type: Transform + pos: 9.5,-4.5 + parent: 1 + - uid: 324 + components: + - type: Transform + pos: 9.5,-0.5 + parent: 1 + - uid: 325 + components: + - type: Transform + pos: 9.5,0.5 + parent: 1 + - uid: 327 + components: + - type: Transform + pos: 8.5,2.5 + parent: 1 + - uid: 328 + components: + - type: Transform + pos: 8.5,3.5 + parent: 1 + - uid: 464 + components: + - type: Transform + pos: -9.5,6.5 + parent: 1 + - uid: 482 + components: + - type: Transform + pos: 2.5,-18.5 + parent: 1 + - uid: 483 + components: + - type: Transform + pos: -11.5,-0.5 + parent: 1 + - uid: 484 + components: + - type: Transform + pos: -11.5,-1.5 + parent: 1 + - uid: 487 + components: + - type: Transform + pos: -11.5,-2.5 + parent: 1 + - uid: 519 + components: + - type: Transform + pos: -11.5,-3.5 + parent: 1 + - uid: 520 + components: + - type: Transform + pos: 11.5,-3.5 + parent: 1 + - uid: 521 + components: + - type: Transform + pos: 11.5,-4.5 + parent: 1 + - uid: 522 + components: + - type: Transform + pos: 11.5,-5.5 + parent: 1 + - uid: 523 + components: + - type: Transform + pos: 11.5,2.5 + parent: 1 + - uid: 545 + components: + - type: Transform + pos: -9.5,4.5 + parent: 1 + - uid: 546 + components: + - type: Transform + pos: -9.5,5.5 + parent: 1 + - uid: 558 + components: + - type: Transform + pos: -9.5,3.5 + parent: 1 + - uid: 559 + components: + - type: Transform + pos: -9.5,1.5 + parent: 1 + - uid: 560 + components: + - type: Transform + pos: -9.5,0.5 + parent: 1 + - uid: 561 + components: + - type: Transform + pos: -9.5,2.5 + parent: 1 + - uid: 562 + components: + - type: Transform + pos: -8.5,1.5 + parent: 1 + - uid: 563 + components: + - type: Transform + pos: -8.5,2.5 + parent: 1 + - uid: 564 + components: + - type: Transform + pos: -8.5,3.5 + parent: 1 + - uid: 596 + components: + - type: Transform + pos: 10.5,5.5 + parent: 1 + - uid: 598 + components: + - type: Transform + pos: 10.5,4.5 + parent: 1 + - uid: 599 + components: + - type: Transform + pos: 10.5,3.5 + parent: 1 + - uid: 600 + components: + - type: Transform + pos: 10.5,2.5 + parent: 1 + - uid: 602 + components: + - type: Transform + pos: 9.5,3.5 + parent: 1 + - uid: 603 + components: + - type: Transform + pos: 9.5,2.5 + parent: 1 + - uid: 606 + components: + - type: Transform + pos: 6.5,-10.5 + parent: 1 + - uid: 607 + components: + - type: Transform + pos: 6.5,-9.5 + parent: 1 + - uid: 608 + components: + - type: Transform + pos: 7.5,-9.5 + parent: 1 + - uid: 609 + components: + - type: Transform + pos: 7.5,-8.5 + parent: 1 + - uid: 610 + components: + - type: Transform + pos: 8.5,-7.5 + parent: 1 + - uid: 613 + components: + - type: Transform + pos: 10.5,1.5 + parent: 1 + - uid: 614 + components: + - type: Transform + pos: 10.5,0.5 + parent: 1 + - uid: 615 + components: + - type: Transform + pos: 10.5,-0.5 + parent: 1 + - uid: 616 + components: + - type: Transform + pos: 10.5,-1.5 + parent: 1 + - uid: 656 + components: + - type: Transform + pos: 4.5,-13.5 + parent: 1 + - uid: 657 + components: + - type: Transform + pos: 5.5,-13.5 + parent: 1 + - uid: 658 + components: + - type: Transform + pos: 5.5,-12.5 + parent: 1 + - uid: 659 + components: + - type: Transform + pos: 6.5,-11.5 + parent: 1 + - uid: 660 + components: + - type: Transform + pos: 7.5,-10.5 + parent: 1 + - uid: 661 + components: + - type: Transform + pos: 8.5,-8.5 + parent: 1 + - uid: 663 + components: + - type: Transform + pos: -4.5,-13.5 + parent: 1 + - uid: 665 + components: + - type: Transform + pos: -5.5,-12.5 + parent: 1 + - uid: 668 + components: + - type: Transform + pos: -6.5,-10.5 + parent: 1 + - uid: 669 + components: + - type: Transform + pos: -6.5,-9.5 + parent: 1 + - uid: 670 + components: + - type: Transform + pos: -7.5,-7.5 + parent: 1 + - uid: 671 + components: + - type: Transform + pos: -7.5,-8.5 + parent: 1 + - uid: 672 + components: + - type: Transform + pos: 8.5,-9.5 + parent: 1 + - uid: 673 + components: + - type: Transform + pos: 9.5,-5.5 + parent: 1 + - uid: 674 + components: + - type: Transform + pos: 7.5,-11.5 + parent: 1 + - uid: 675 + components: + - type: Transform + pos: 6.5,-12.5 + parent: 1 + - uid: 676 + components: + - type: Transform + pos: 4.5,-14.5 + parent: 1 + - uid: 677 + components: + - type: Transform + pos: 3.5,-14.5 + parent: 1 + - uid: 678 + components: + - type: Transform + pos: 2.5,-15.5 + parent: 1 +- proto: WeaponCapacitorRecharger + entities: + - uid: 402 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.5,13.5 + parent: 1 +- proto: WindoorPlasma + entities: + - uid: 588 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 6.5,6.5 + parent: 1 + - uid: 605 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 8.5,6.5 + parent: 1 +- proto: WizardComputerComms + entities: + - uid: 365 + components: + - type: Transform + pos: 0.5,13.5 + parent: 1 +- proto: WoodblockInstrument + entities: + - uid: 91 + components: + - type: Transform + pos: 2.5347729,-0.35558593 + parent: 1 +... diff --git a/Resources/Prototypes/GameRules/roundstart.yml b/Resources/Prototypes/GameRules/roundstart.yml index 6056ac98d6..08d088a08c 100644 --- a/Resources/Prototypes/GameRules/roundstart.yml +++ b/Resources/Prototypes/GameRules/roundstart.yml @@ -271,7 +271,7 @@ - WizardSurviveObjective - WizardDemonstrateObjective - type: LoadMapRule - gridPath: /Maps/Shuttles/wizard.yml + mapPath: /Maps/Nonstations/wizardsden.yml - type: RuleGrids - type: AntagSelection - type: AntagLoadProfileRule diff --git a/Resources/Prototypes/Parallaxes/wizard.yml b/Resources/Prototypes/Parallaxes/wizard.yml new file mode 100644 index 0000000000..0fd482a485 --- /dev/null +++ b/Resources/Prototypes/Parallaxes/wizard.yml @@ -0,0 +1,14 @@ +- type: parallax + id: Wizard + layers: + - texture: + !type:ImageParallaxTextureSource + path: "/Textures/Parallaxes/purple_nebula.png" + slowness: 0.98 + scale: 1,1 + - texture: + !type:ImageParallaxTextureSource + path: "/Textures/Parallaxes/KettleParallaxNeb.png" + slowness: 0.95 + scale: "1.5, 1.5" + scrolling: "0.1, -0.05" diff --git a/Resources/Textures/Parallaxes/attributions.yml b/Resources/Textures/Parallaxes/attributions.yml index f980eafaec..ec4b2d8e05 100644 --- a/Resources/Textures/Parallaxes/attributions.yml +++ b/Resources/Textures/Parallaxes/attributions.yml @@ -3,7 +3,7 @@ copyright: "by Adipemdragon for tgstation, taken at commit 3839e860a7f3102b1488285d3319f61bbfe1fa51 from parallax.dmi" source: "https://github.com/tgstation/tgstation" -- files: ["KettleParallaxNeb.png", "KettleParallaxBG.png", "AspidParallaxBG.png", "AspidParallaxBG.png"] +- files: ["KettleParallaxNeb.png", "KettleParallaxBG.png", "AspidParallaxBG.png", "AspidParallaxBG.png", "purple_nebula.png"] license: "CC0-1.0" copyright: "adapted from Screaming Brain Studios" source: "https://opengameart.org/content/seamless-space-backgrounds" diff --git a/Resources/Textures/Parallaxes/purple_nebula.png b/Resources/Textures/Parallaxes/purple_nebula.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d187b7a1a11ddf6c7ac5b9ae8858f3c02ab7bc GIT binary patch literal 278174 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%0AY!N`sx=4kLlS=V;WY2{7< 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 M07*qoM6N<$f;51ri~s-t literal 0 HcmV?d00001 From c3374d86e477acc5e63021dfb4f61ef60661d55c Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 31 Jul 2025 04:09:13 +0000 Subject: [PATCH 044/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index bba81beb75..d43579dc4b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Ghagliiarghii - changes: - - message: The monkey version of captain uniforms and the hamster version of captain - hats updated to match humanoid versions - type: Tweak - id: 8309 - time: '2025-04-22T01:03:36.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/36804 - author: Doc-Michael changes: - message: Changed protection values of Security Hardsuits @@ -3915,3 +3907,10 @@ id: 8820 time: '2025-07-30T22:51:21.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39222 +- author: spanky-spanky + changes: + - message: The wizard now spawns in a den instead of a shuttle. + type: Tweak + id: 8821 + time: '2025-07-31T04:08:05.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/37701 From 66f64bc9523228e338071dc530926a4ff99dac92 Mon Sep 17 00:00:00 2001 From: "Mr. 27" <45323883+Dutch-VanDerLinde@users.noreply.github.com> Date: Thu, 31 Jul 2025 09:22:33 -0400 Subject: [PATCH 045/149] Allow EmoteSoundsPrototype to have parents (#38890) * inital * Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> * ProtoId * Unneeded * Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs * Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs --------- Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> --- .../Chat/Prototypes/EmoteSoundsPrototype.cs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs b/Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs index 4364e13d84..0138009ef9 100644 --- a/Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs +++ b/Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs @@ -1,7 +1,6 @@ using Robust.Shared.Audio; using Robust.Shared.Prototypes; -using Robust.Shared.Serialization; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array; namespace Content.Shared.Chat.Prototypes; @@ -10,11 +9,20 @@ namespace Content.Shared.Chat.Prototypes; /// Different entities may use different sounds collections. /// [Prototype] -public sealed partial class EmoteSoundsPrototype : IPrototype +public sealed partial class EmoteSoundsPrototype : IPrototype, IInheritingPrototype { [IdDataField] public string ID { get; private set; } = default!; + /// + [ParentDataField(typeof(AbstractPrototypeIdArraySerializer))] + public string[]? Parents { get; private set; } + + /// + [AbstractDataField] + [NeverPushInheritance] + public bool Abstract { get; } + /// /// Optional fallback sound that will play if collection /// doesn't have specific sound for this emote id. @@ -32,6 +40,7 @@ public sealed partial class EmoteSoundsPrototype : IPrototype /// /// Collection of emote prototypes and their sounds. /// - [DataField("sounds", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))] - public Dictionary Sounds = new(); + [DataField] + [AlwaysPushInheritance] + public Dictionary, SoundSpecifier> Sounds = new(); } From 623ea3dd63ae2c1196c2723a9f3dbaec3e3ccf6b Mon Sep 17 00:00:00 2001 From: Perry Fraser Date: Thu, 31 Jul 2025 14:34:29 -0400 Subject: [PATCH 046/149] Make VendingMachineInventoryEntry a data definition for post-init savegrid (#38406) fix: make VendingMachineInventoryEntry a data definition --- .../VendingMachines/VendingMachineComponent.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Content.Shared/VendingMachines/VendingMachineComponent.cs b/Content.Shared/VendingMachines/VendingMachineComponent.cs index cbd59dbfaa..32cd0ca382 100644 --- a/Content.Shared/VendingMachines/VendingMachineComponent.cs +++ b/Content.Shared/VendingMachines/VendingMachineComponent.cs @@ -193,15 +193,18 @@ namespace Content.Shared.VendingMachines #endregion } - [Serializable, NetSerializable] - public sealed class VendingMachineInventoryEntry + [Serializable, NetSerializable, DataDefinition] + public sealed partial class VendingMachineInventoryEntry { - [ViewVariables(VVAccess.ReadWrite)] + [DataField] public InventoryType Type; - [ViewVariables(VVAccess.ReadWrite)] + + [DataField] public string ID; - [ViewVariables(VVAccess.ReadWrite)] + + [DataField] public uint Amount; + public VendingMachineInventoryEntry(InventoryType type, string id, uint amount) { Type = type; From 12d2ed6cb6756baa22ffec71acd9f6c21070c78b Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 31 Jul 2025 18:35:37 +0000 Subject: [PATCH 047/149] Automatic changelog update --- Resources/Changelog/Admin.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml index 168a6c2c52..c52dcbe8cb 100644 --- a/Resources/Changelog/Admin.yml +++ b/Resources/Changelog/Admin.yml @@ -1293,5 +1293,13 @@ Entries: id: 157 time: '2025-07-25T16:53:01.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/36969 +- author: perryprog + changes: + - message: savegrid and savemap will no longer fail to save unpaused grids with + vending machines on them. + type: Fix + id: 158 + time: '2025-07-31T18:34:29.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/38406 Name: Admin Order: 2 From 45f6c1db73ab8233faa95a99da2012c6b2d8a165 Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Thu, 31 Jul 2025 22:28:39 +0200 Subject: [PATCH 048/149] Exo - Major Sec changes, and more! (#39295) --- Resources/Maps/exo.yml | 41067 +++++++++------- .../Structures/Walls/xeno.rsi/full.png | Bin 15089 -> 15530 bytes .../Walls/xeno.rsi/reinf_construct-0.png | Bin 15253 -> 15703 bytes .../Walls/xeno.rsi/reinf_construct-1.png | Bin 15289 -> 15750 bytes .../Walls/xeno.rsi/reinf_construct-2.png | Bin 15344 -> 15797 bytes .../Walls/xeno.rsi/reinf_construct-3.png | Bin 15362 -> 15817 bytes .../Walls/xeno.rsi/reinf_construct-4.png | Bin 15409 -> 15867 bytes .../Walls/xeno.rsi/reinf_construct-5.png | Bin 15407 -> 15866 bytes .../Structures/Walls/xeno.rsi/reinf_over0.png | Bin 16549 -> 16665 bytes .../Structures/Walls/xeno.rsi/reinf_over1.png | Bin 16002 -> 16568 bytes .../Structures/Walls/xeno.rsi/reinf_over2.png | Bin 16122 -> 16742 bytes .../Structures/Walls/xeno.rsi/reinf_over3.png | Bin 16030 -> 16565 bytes .../Structures/Walls/xeno.rsi/reinf_over4.png | Bin 16177 -> 16827 bytes .../Structures/Walls/xeno.rsi/reinf_over5.png | Bin 15640 -> 16098 bytes .../Structures/Walls/xeno.rsi/reinf_over6.png | Bin 15693 -> 16462 bytes .../Structures/Walls/xeno.rsi/reinf_over7.png | Bin 15222 -> 15653 bytes .../Structures/Walls/xeno.rsi/rgeneric.png | Bin 15781 -> 16232 bytes .../Structures/Walls/xeno.rsi/solid0.png | Bin 15289 -> 15831 bytes .../Structures/Walls/xeno.rsi/solid1.png | Bin 16186 -> 16150 bytes .../Structures/Walls/xeno.rsi/solid2.png | Bin 15289 -> 15831 bytes .../Structures/Walls/xeno.rsi/solid3.png | Bin 15985 -> 15949 bytes .../Structures/Walls/xeno.rsi/solid4.png | Bin 16230 -> 16275 bytes .../Structures/Walls/xeno.rsi/solid5.png | Bin 16421 -> 16446 bytes .../Structures/Walls/xeno.rsi/solid6.png | Bin 16230 -> 16275 bytes .../Structures/Walls/xeno.rsi/solid7.png | Bin 16022 -> 16022 bytes Resources/Textures/Tiles/xeno_flooring.png | Bin 16543 -> 16543 bytes Resources/Textures/Tiles/xeno_steel.png | Bin 16605 -> 16595 bytes .../Textures/Tiles/xeno_steel_corner.png | Bin 16831 -> 16817 bytes 28 files changed, 22263 insertions(+), 18804 deletions(-) diff --git a/Resources/Maps/exo.yml b/Resources/Maps/exo.yml index ae62cd95fa..d00cb05179 100644 --- a/Resources/Maps/exo.yml +++ b/Resources/Maps/exo.yml @@ -1,11 +1,11 @@ meta: format: 7 category: Map - engineVersion: 264.0.0 + engineVersion: 265.0.0 forkId: "" forkVersion: "" - time: 07/22/2025 16:43:19 - entityCount: 19680 + time: 07/31/2025 15:20:28 + entityCount: 20082 maps: - 1 grids: @@ -100,95 +100,95 @@ entities: chunks: 0,0: ind: 0,0 - tiles: YAAAAAACAGAAAAAAAQBgAAAAAAMAYAAAAAACAGAAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAgCBAAAAAAAAgQAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAADAGAAAAAAAwBgAAAAAAEAYAAAAAABAGAAAAAAAgBgAAAAAAIAYAAAAAAAAIEAAAAAAABvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAgBgAAAAAAEAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: YAAAAAAAAGAAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAACAGAAAAAAAwBgAAAAAAEAYAAAAAABAGAAAAAAAgBgAAAAAAEAYAAAAAACAIEAAAAAAABvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAEAYAAAAAABAGAAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -1,0: ind: -1,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAFgAAAAABABYAAAAAAQAWAAAAAAEAFgAAAAACABYAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAgBgAAAAAAIAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABYAAAAAAgAWAAAAAAIAFgAAAAACABYAAAAAAgCBAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABYAAAAAAwAWAAAAAAIAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAQBgAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAFgAAAAADABYAAAAAAgAWAAAAAAEAFgAAAAABABYAAAAAAABgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAEAYAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABYAAAAAAQAWAAAAAAEAFgAAAAAAABYAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABYAAAAAAAAWAAAAAAMAgQAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAABAGAAAAAAAQBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 0,-1: ind: 0,-1 - tiles: JQAAAAADACUAAAAAAwAlAAAAAAEAgQAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAAAAGAAAAAAAQCBAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAMAYAAAAAABAGAAAAAAAgCBAAAAAAAAYAAAAAAAAIEAAAAAAAAlAAAAAAAAJQAAAAABAIEAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAACBAAAAAAAAKwAAAAAAACsAAAAAAwCBAAAAAAAAKwAAAAABACsAAAAAAgArAAAAAAAAKwAAAAADACsAAAAAAwArAAAAAAMAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAAAAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAMAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAwBgAAAAAAEAgQAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAABAGAAAAAAAQBgAAAAAAMAgQAAAAAAAIEAAAAAAABvAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAEAYAAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAgBgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAABAIEAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: JQAAAAABACUAAAAAAgAlAAAAAAIAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAwCBAAAAAAAAYAAAAAADAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAACBAAAAAAAAYAAAAAAAAIEAAAAAAAAlAAAAAAMAJQAAAAABAIEAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAACBAAAAAAAAKwAAAAAAACsAAAAAAACBAAAAAAAAKwAAAAAAACsAAAAAAwArAAAAAAIAKwAAAAACACsAAAAAAwArAAAAAAEAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAIAgQAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAABAGAAAAAAAQBgAAAAAAMAYAAAAAADAGAAAAAAAgBgAAAAAAIAgQAAAAAAAIEAAAAAAABvAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAIAYAAAAAADAIEAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAQBgAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAABAIEAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -1,-1: ind: -1,-1 - tiles: gQAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAIEAAAAAAAAkAAAAAAMAJAAAAAABAIEAAAAAAAAlAAAAAAEAJQAAAAABACUAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAABACUAAAAAAgAlAAAAAAIAgQAAAAAAAGAAAAAAAQBgAAAAAAAAgQAAAAAAACUAAAAAAwAtAAAAAAADLQAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAAEYAAAAAAAALQAAAAAAAS4AAAAAAAMlAAAAAAEARAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAACAEQAAAAAAAAlAAAAAAIAKwAAAAAAACsAAAAAAwAYAAAAAAAAGAAAAAAAABgAAAAAAAArAAAAAAMAGAAAAAAAAIEAAAAAAAAtAAAAAAAAJQAAAAADAIEAAAAAAACBAAAAAAAARAAAAAAAAEQAAAAAAACBAAAAAAAAJQAAAAABAC0AAAAAAAMtAAAAAAADGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAARgAAAAAAAAtAAAAAAABLgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAIAgQAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAAAAGAAAAAAAABgAAAAAAEAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAMAYAAAAAACAIEAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAIAYAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAAAYAAAAAAAAGAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAACAIEAAAAAAABgAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAACAIEAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAQCBAAAAAAAAYAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAgBgAAAAAAMAgQAAAAAAAGAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAABAIEAAAAAAABgAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAIEAAAAAAAAkAAAAAAMAJAAAAAADAIEAAAAAAAAlAAAAAAIAJQAAAAAAACUAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAgAlAAAAAAIAgQAAAAAAAGAAAAAAAgBgAAAAAAMAgQAAAAAAACUAAAAAAAAtAAAAAAADLQAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAAEYAAAAAAAALQAAAAAAAS4AAAAAAAMlAAAAAAEARAAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAAAAEQAAAAAAAAlAAAAAAEAKwAAAAABACsAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAArAAAAAAEAGAAAAAAAACUAAAAAAAAtAAAAAAAAJQAAAAABAIEAAAAAAACBAAAAAAAARAAAAAAAAEQAAAAAAACBAAAAAAAAJQAAAAACAC0AAAAAAAMtAAAAAAADGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAARgAAAAAAAAtAAAAAAABLgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAEAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAACAGAAAAAAAABgAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAEAYAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAACAGAAAAAAAgBgAAAAAAIAYAAAAAABAGAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAACAIEAAAAAAABgAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAABAIEAAAAAAABgAAAAAAMAYAAAAAABAGAAAAAAAQCBAAAAAAAAYAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAABAGAAAAAAAwBgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAMAgQAAAAAAAGAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAMAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAABAIEAAAAAAABgAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 -1,-2: ind: -1,-2 - tiles: gQAAAAAAAC4AAAAAAAEuAAAAAAADLgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAC4AAAAAAAItAAAAAAAAJQAAAAACAIEAAAAAAACBAAAAAAAALgAAAAAAAS4AAAAAAAMlAAAAAAAAJQAAAAABAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy4AAAAAAAIuAAAAAAAALQAAAAAAACsAAAAAAAeBAAAAAAAAgQAAAAAAACAAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAwCBAAAAAAAAJAAAAAADACQAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHgQAAAAAAACAAAAAAAQAgAAAAAAAAIAAAAAACACUAAAAAAgAlAAAAAAEAgQAAAAAAACQAAAAAAwAkAAAAAAMAgQAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAAB4EAAAAAAAAgAAAAAAEALgAAAAAAAi0AAAAAAAMuAAAAAAADIAAAAAACAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAgCBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAIAAAAAABAC0AAAAAAAAEAAAAAAAALQAAAAAAACAAAAAAAQAgAAAAAAIAgQAAAAAAAC0AAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHIAAAAAACACAAAAAAAwAuAAAAAAABLQAAAAAAAy4AAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAAAtAAAAAAAAIAAAAAACABQAAAAAAAAUAAAAAAAAFAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAAByAAAAAAAgAgAAAAAAAAIAAAAAACACAAAAAAAQAgAAAAAAMAIAAAAAADACAAAAAAAgAgAAAAAAIALQAAAAAAACAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAAeBAAAAAAAAgQAAAAAAACAAAAAAAAAgAAAAAAEAAgAAAAAAAAIAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHRAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAEQAAAAAAAAtAAAAAAAAGAAAAAAAACQAAAAAAAAkAAAAAAIAJAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAAAuAAAAAAADLQAAAAAAAC4AAAAAAAIuAAAAAAACLQAAAAAAAy0AAAAAAAAuAAAAAAACLgAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAACQAAAAAAQCBAAAAAAAALQAAAAAAACsAAAAAAAcuAAAAAAAALgAAAAAAAS0AAAAAAAAuAAAAAAAALgAAAAAAAi0AAAAAAAMuAAAAAAAALQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAkAAAAAAMAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAy0AAAAAAAMtAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAYAAAAAAAAGAAAAAAAACQAAAAAAAAkAAAAAAEAJAAAAAABAIEAAAAAAAAtAAAAAAAAKwAAAAAABy8AAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAAvAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACUAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAACQAAAAAAQCBAAAAAAAAgQAAAAAAACQAAAAAAgAkAAAAAAAAJQAAAAACACUAAAAAAgAlAAAAAAIAJQAAAAABAC4AAAAAAAEtAAAAAAADgQAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAIEAAAAAAAAkAAAAAAEAJAAAAAABAC8AAAAAAAAkAAAAAAEAJQAAAAAAACUAAAAAAwAlAAAAAAAAJQAAAAADACUAAAAAAgAlAAAAAAAAJQAAAAABAA== + tiles: gQAAAAAAAC4AAAAAAAEuAAAAAAADLgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAC4AAAAAAAItAAAAAAAAJQAAAAABAIEAAAAAAACBAAAAAAAALgAAAAAAAS4AAAAAAAMlAAAAAAAAJQAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy4AAAAAAAIuAAAAAAAALQAAAAAAACsAAAAAAQeBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAJQAAAAAAACUAAAAAAgCBAAAAAAAAJAAAAAAAACQAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAIHgQAAAAAAACAAAAAAAgAgAAAAAAMAIAAAAAACACUAAAAAAQAlAAAAAAMAgQAAAAAAACQAAAAAAAAkAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAEAIAAAAAADAIEAAAAAAAAtAAAAAAAAKwAAAAABB4EAAAAAAAAgAAAAAAMALgAAAAAAAi0AAAAAAAMuAAAAAAADIAAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAAAgAAAAAAIAIAAAAAADACAAAAAAAQCBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAIAAAAAABAC0AAAAAAAAEAAAAAAAALQAAAAAAACAAAAAAAAAgAAAAAAEAgQAAAAAAAC0AAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAMHIAAAAAACACAAAAAAAgAuAAAAAAABLQAAAAAAAy4AAAAAAAAgAAAAAAMAIAAAAAADACAAAAAAAgAtAAAAAAAAIAAAAAACABQAAAAAAAAUAAAAAAAAFAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAACByAAAAAAAgAgAAAAAAAAIAAAAAABACAAAAAAAQAgAAAAAAIAIAAAAAABACAAAAAAAgAgAAAAAAAALQAAAAAAACAAAAAAAwAUAAAAAAAAFAAAAAAAABQAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAQeBAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAEAAgAAAAAAAAIAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAEHRAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAEQAAAAAAAAtAAAAAAAAGAAAAAAAACQAAAAAAwAkAAAAAAIAJAAAAAADAIEAAAAAAAAtAAAAAAAAKwAAAAACBy0AAAAAAAAuAAAAAAADLQAAAAAAAC4AAAAAAAIuAAAAAAACLQAAAAAAAy0AAAAAAAAuAAAAAAACLgAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAACQAAAAAAgCBAAAAAAAALQAAAAAAACsAAAAAAgcuAAAAAAAALgAAAAAAAS0AAAAAAAAuAAAAAAAALgAAAAAAAi0AAAAAAAMuAAAAAAAALQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAkAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAMHLQAAAAAAAy0AAAAAAAMtAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAYAAAAAAAAGAAAAAAAACQAAAAAAgAkAAAAAAMAJAAAAAABAIEAAAAAAAAtAAAAAAAAKwAAAAAABy8AAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAAvAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACUAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAACQAAAAAAACBAAAAAAAAgQAAAAAAACQAAAAAAgAkAAAAAAMAJQAAAAACACUAAAAAAwAlAAAAAAAAJQAAAAADAC4AAAAAAAEtAAAAAAADgQAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAIEAAAAAAAAkAAAAAAIAJAAAAAAAAC8AAAAAAAAkAAAAAAAAJQAAAAAAACUAAAAAAQAlAAAAAAEAJQAAAAAAACUAAAAAAQAlAAAAAAIAJQAAAAACAA== version: 7 0,-2: ind: 0,-2 - tiles: KwAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAQBgAAAAAAAAYAAAAAACAC4AAAAAAAKBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAABgAAAAAAEAYAAAAAABAGAAAAAAAgBgAAAAAAEAYAAAAAAAAGAAAAAAAwAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAAG8AAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAABgAAAAAAIALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAABAIEAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAgCBAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAADABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAMAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAgAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAQBgAAAAAAAAYAAAAAACAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwAVAAAAAAAAFQAAAAACABUAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAFQAAAAACABUAAAAAAwAVAAAAAAMAYAAAAAABAGAAAAAAAgBgAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAADAGAAAAAAAgCBAAAAAAAAYAAAAAABABUAAAAAAwAVAAAAAAAAFQAAAAABAGAAAAAAAgAyAAAAAAAAMgAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAgBgAAAAAAIAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAEALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAABAGAAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAgBgAAAAAAMAYAAAAAADAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAAAJQAAAAABACUAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAYAAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAIAYAAAAAADAIEAAAAAAABgAAAAAAMAJQAAAAABAIEAAAAAAABEAAAAAAAARAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAABAGAAAAAAAwBgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAMAYAAAAAADAGAAAAAAAACBAAAAAAAAYAAAAAAAAA== + tiles: KwAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAABAC4AAAAAAAKBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAgAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAAG8AAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAIALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAgCBAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAAAYAAAAAADABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAABgAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAMAYAAAAAACAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgAVAAAAAAAAFQAAAAABABUAAAAAAwBgAAAAAAMAYAAAAAADAGAAAAAAAwAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAMAFQAAAAACABUAAAAAAAAVAAAAAAIAYAAAAAADAGAAAAAAAgBgAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAADAGAAAAAAAgCBAAAAAAAAYAAAAAABABUAAAAAAAAVAAAAAAMAFQAAAAACAGAAAAAAAAAyAAAAAAAAMgAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAQBgAAAAAAMAgQAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAQBgAAAAAAEAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAIAYAAAAAACAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAMALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAwCBAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAMAYAAAAAAAAGAAAAAAAABgAAAAAAMAYAAAAAADAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAAAJQAAAAABACUAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAYAAAAAADAIEAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAQBgAAAAAAAAYAAAAAACAIEAAAAAAABgAAAAAAEAJQAAAAACAIEAAAAAAABEAAAAAAAARAAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAIAYAAAAAABAGAAAAAAAgBgAAAAAAMAYAAAAAADAG8AAAAAAACBAAAAAAAAYAAAAAADAA== version: 7 1,-1: ind: 1,-1 - tiles: YAAAAAADAGAAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAQCBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAAApAAAAAAMAKQAAAAAAACkAAAAAAQApAAAAAAEAKQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAIuAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAKQAAAAACACkAAAAAAQAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAJQAAAAAAACUAAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMuAAAAAAADgQAAAAAAACkAAAAAAwCBAAAAAAAAKwAAAAABACsAAAAAAQArAAAAAAMAKwAAAAACACsAAAAAAAArAAAAAAMAKwAAAAACACUAAAAAAQAlAAAAAAIAJQAAAAAAACsAAAAAAwAlAAAAAAEALQAAAAAAAIEAAAAAAAApAAAAAAIAKQAAAAACAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAALQAAAAAAAy4AAAAAAACBAAAAAAAAKQAAAAAAACkAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: YAAAAAACAGAAAAAAAABgAAAAAAMAYAAAAAABAGAAAAAAAwBgAAAAAAMAYAAAAAABAIEAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAAMtAAAAAAAAgQAAAAAAACkAAAAAAAApAAAAAAEAKQAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAi4AAAAAAAArAAAAAAADLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACkAAAAAAwAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAlAAAAAAIAJQAAAAAAAC4AAAAAAAEtAAAAAAADLgAAAAAAA4EAAAAAAACBAAAAAAAAKwAAAAAAACsAAAAAAwArAAAAAAMAKwAAAAADACsAAAAAAAArAAAAAAAAKwAAAAACACUAAAAAAQAlAAAAAAIAJQAAAAADACUAAAAAAAArAAAAAAAAJQAAAAAAAC0AAAAAAACBAAAAAAAAKQAAAAADAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAgQAAAAAAACkAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 1,-2: ind: 1,-2 - tiles: YAAAAAACAGAAAAAAAgBgAAAAAAEAYAAAAAABAGAAAAAAAgBgAAAAAAMAgQAAAAAAAC0AAAAAAAAlAAAAAAMALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAwBgAAAAAAMAYAAAAAADAIEAAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAACBAAAAAAAAgQAAAAAAACkAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAgCBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAApAAAAAAAAKQAAAAAAACUAAAAAAwAlAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAMAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAADAGAAAAAAAwBgAAAAAAMAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAMAFgAAAAADAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAAApAAAAAAIAKQAAAAADACkAAAAAAQAlAAAAAAIAJQAAAAACAGAAAAAAAABgAAAAAAAAYAAAAAABABoAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAAABAAAAAAEAAQAAAAACAAEAAAAAAgCBAAAAAAAAgQAAAAAAACkAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAwBgAAAAAAMAKQAAAAABACkAAAAAAAApAAAAAAMAKQAAAAAAACkAAAAAAwApAAAAAAEAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAAAYAAAAAADACkAAAAAAAApAAAAAAIAKQAAAAADACkAAAAAAwApAAAAAAEAKQAAAAADAIEAAAAAAABgAAAAAAEAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAABAAAAAAAAAQAAAAABAAEAAAAAAQCBAAAAAAAAKQAAAAADACkAAAAAAgApAAAAAAIAKQAAAAADACkAAAAAAwBgAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAIAYAAAAAABAGAAAAAAAgCBAAAAAAAALgAAAAAAAi0AAAAAAAMuAAAAAAADgQAAAAAAACkAAAAAAgApAAAAAAAAKQAAAAADACkAAAAAAAApAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAwBgAAAAAAAAgQAAAAAAAC0AAAAAAAAlAAAAAAEALQAAAAAAAIEAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAQApAAAAAAIAKQAAAAABAGAAAAAAAwBgAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAMAYAAAAAABAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAKQAAAAABACkAAAAAAAApAAAAAAEAKQAAAAAAACkAAAAAAwBgAAAAAAEAYAAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAADAGAAAAAAAwCBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAAApAAAAAAEAKQAAAAABACkAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAQBgAAAAAAEAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAAApAAAAAAIAKQAAAAACACkAAAAAAQApAAAAAAMAKQAAAAABAA== + tiles: YAAAAAAAAGAAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAABgAAAAAAAAgQAAAAAAAC0AAAAAAAAlAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAKQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAAAYAAAAAAAAIEAAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAACBAAAAAAAAKQAAAAADACkAAAAAAwApAAAAAAAAJQAAAAABACUAAAAAAwBgAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAAAYAAAAAADAGAAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAACkAAAAAAwAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAIAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAApAAAAAAEAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAACAGAAAAAAAQBgAAAAAAMAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAKQAAAAACABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAIEAAAAAAAApAAAAAAEAKQAAAAABACUAAAAAAwAlAAAAAAIAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAADABYAAAAAAwCBAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy4AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAAAAGAAAAAAAgBgAAAAAAIAgQAAAAAAAIEAAAAAAAAtAAAAAAAALgAAAAAAAi4AAAAAAAMuAAAAAAABLQAAAAAAAykAAAAAAgApAAAAAAIALQAAAAAAAy0AAAAAAANgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAAAYAAAAAACAGAAAAAAAwBgAAAAAAAAYAAAAAAAAC4AAAAAAAEuAAAAAAAAJQAAAAACACsAAAAAAgArAAAAAAIAKwAAAAACACsAAAAAAwArAAAAAAMAgQAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAABAGAAAAAAAwBgAAAAAAMAYAAAAAAAAGAAAAAAAQAtAAAAAAADLgAAAAAAAysAAAAAAwMuAAAAAAACLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAABgAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAy0AAAAAAAArAAAAAAEDLQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAEAYAAAAAAAAGAAAAAAAwBgAAAAAAEAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAAAy0AAAAAAACBAAAAAAAAKQAAAAAAACkAAAAAAQApAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAwMtAAAAAAAAGAAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAQBgAAAAAAMAYAAAAAADAGAAAAAAAgBgAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAIDLQAAAAAAABgAAAAAAAApAAAAAAIAKQAAAAAAACkAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAADAy0AAAAAAACBAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAEAYAAAAAABAGAAAAAAAQBgAAAAAAMAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAQCBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAApAAAAAAMAKQAAAAACAA== version: 7 0,-3: ind: 0,-3 - tiles: IAAAAAACAAMAAAAAAAADAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAIAAAAAAAACUAAAAAAwAlAAAAAAAAJQAAAAAAACUAAAAAAAAlAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAcAAAAAAAADAAAAAAAAAwAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAALgAAAAAAAi0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAi4AAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAYAAAAAAAAJAAAAAACABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAC0AAAAAAAAlAAAAAAIALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS4AAAAAAAOBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAuAAAAAAABLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAKwAAAAAABy4AAAAAAAEYAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADKwAAAAACACsAAAAAAgArAAAAAAIAKwAAAAADACUAAAAAAAArAAAAAAIAGAAAAAAAACsAAAAAAAArAAAAAAEAKwAAAAADACsAAAAAAAArAAAAAAEAKwAAAAAAACsAAAAAAAArAAAAAAEAKwAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAxgAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAAAAA== + tiles: IAAAAAACAAMAAAAAAAADAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAIAAAAAAAACUAAAAAAQAlAAAAAAIAJQAAAAACACUAAAAAAAAlAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAcAAAAAAAADAAAAAAAAAwAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAALgAAAAAAAi0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAi4AAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAYAAAAAAAAJAAAAAABABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAC0AAAAAAAAlAAAAAAEALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS4AAAAAAAOBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAuAAAAAAABLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAEHLQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAKwAAAAACBy4AAAAAAAEYAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADKwAAAAABACsAAAAAAAArAAAAAAAAKwAAAAABACUAAAAAAQArAAAAAAIAGAAAAAAAACsAAAAAAgArAAAAAAEAKwAAAAAAACsAAAAAAgArAAAAAAAAKwAAAAABACsAAAAAAgArAAAAAAMAKwAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAxgAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAABAA== version: 7 1,-3: ind: 1,-3 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAYAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAADFwAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAwAlAAAAAAEAJQAAAAADACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS4AAAAAAAOBAAAAAAAAIAAAAAABACsAAAAAAQAgAAAAAAIAgQAAAAAAACUAAAAAAwAlAAAAAAMAJQAAAAABACUAAAAAAQAlAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAABgAAAAAAAAlAAAAAAEAJQAAAAABACUAAAAAAQAlAAAAAAIAJQAAAAAAAC4AAAAAAAItAAAAAAADLgAAAAAAA4EAAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAAAYAAAAAAAAJQAAAAABACUAAAAAAgAlAAAAAAEAJQAAAAACACUAAAAAAAAtAAAAAAAABAAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAACUAAAAAAwAlAAAAAAAAJQAAAAACACUAAAAAAQAlAAAAAAAALgAAAAAAAS0AAAAAAAMuAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAAAlAAAAAAMAJQAAAAABACUAAAAAAAAlAAAAAAIAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAJQAAAAADACUAAAAAAwAlAAAAAAMAJQAAAAABACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAi4AAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAACUAAAAAAwAlAAAAAAEAJQAAAAAAACUAAAAAAAAlAAAAAAIALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAXAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAQAAAAAAMAEAAAAAABABAAAAAAAwAQAAAAAAEAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAEAAAAAACABAAAAAAAAAQAAAAAAAAEAAAAAADACUAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMYAAAAAAAALgAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAKwAAAAACACsAAAAAAgArAAAAAAEAKwAAAAAAACsAAAAAAAArAAAAAAAAGAAAAAAAACsAAAAAAQAlAAAAAAEALQAAAAAAAC0AAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAxgAAAAAAAAuAAAAAAADKwAAAAAABy0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAYAAAAAADAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAYAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAADFwAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAJQAAAAABACUAAAAAAAAlAAAAAAMAJQAAAAACACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS4AAAAAAAOBAAAAAAAAIAAAAAAAACsAAAAAAgAgAAAAAAMAgQAAAAAAACUAAAAAAAAlAAAAAAAAJQAAAAADACUAAAAAAgAlAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAIHLQAAAAAAABgAAAAAAAAlAAAAAAIAJQAAAAADACUAAAAAAQAlAAAAAAIAJQAAAAADAC4AAAAAAAItAAAAAAADLgAAAAAAA4EAAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAAAYAAAAAAAAJQAAAAACACUAAAAAAQAlAAAAAAEAJQAAAAACACUAAAAAAQAtAAAAAAAABAAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAQctAAAAAAAAgQAAAAAAACUAAAAAAQAlAAAAAAEAJQAAAAAAACUAAAAAAQAlAAAAAAIALgAAAAAAAS0AAAAAAAMuAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAMHLQAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAAAACUAAAAAAwAlAAAAAAMAJQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAAAlAAAAAAEAJQAAAAABACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAi4AAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAACUAAAAAAAAlAAAAAAEAJQAAAAACACUAAAAAAwAlAAAAAAIALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAXAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAQAAAAAAAAEAAAAAADABAAAAAAAgAQAAAAAAIAJQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAADBy0AAAAAAACBAAAAAAAAEAAAAAABABAAAAAAAAAQAAAAAAIAEAAAAAAAACUAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMYAAAAAAAALgAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAKwAAAAACACsAAAAAAwArAAAAAAEAKwAAAAAAACsAAAAAAgArAAAAAAEAGAAAAAAAACsAAAAAAAAlAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAxgAAAAAAAAuAAAAAAADKwAAAAACBy0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAALQAAAAAAACsAAAAAAQctAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAYAAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAIHLQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 -1,-3: ind: -1,-3 - tiles: gQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAABvAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAgQAAAAAAACAAAAAAAAAgAAAAAAIAIAAAAAACACAAAAAAAQCBAAAAAAAAIAAAAAADAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAAAgAAAAAAMAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAIAAAAAACAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAJAAAAAABACQAAAAAAwAkAAAAAAMAJAAAAAACACQAAAAAAwCBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAACQAAAAAAQAkAAAAAAIAJAAAAAADACQAAAAAAgAkAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAMAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAABy4AAAAAAAOBAAAAAAAAFwAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAABcAAAAAAAAYAAAAAAAALQAAAAAAACUAAAAAAAArAAAAAAAAJQAAAAADAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAtAAAAAAAALQAAAAAAACAAAAAAAgCBAAAAAAAAGAAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAC4AAAAAAAIuAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAC4AAAAAAAEtAAAAAAAHLgAAAAAAAxgAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAABGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAuAAAAAAACLQAAAAAABy4AAAAAAAWBAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAAC4AAAAAAAEtAAAAAAADgQAAAAAAAC0AAAAAAAAuAAAAAAABLQAAAAAAA4EAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAABAIEAAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAtAAAAAAAALQAAAAAAACsAAAAAAAeBAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAABLgAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAAC0AAAAAAAArAAAAAAAHgQAAAAAAAC0AAAAAAAAuAAAAAAABLgAAAAAAAy4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAtAAAAAAAAKwAAAAAABw== + tiles: gQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAABvAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAAAACAAAAAAAgCBAAAAAAAAIAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAMALQAAAAAAACsAAAAAAQctAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAAC0AAAAAAAArAAAAAAIHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAIAAAAAACAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAJAAAAAABACQAAAAAAwAkAAAAAAIAJAAAAAABACQAAAAAAQCBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAwctAAAAAAAAgQAAAAAAACQAAAAAAAAkAAAAAAEAJAAAAAAAACQAAAAAAwAkAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAIHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAEAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAABy4AAAAAAAOBAAAAAAAAFwAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAABBy0AAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAABcAAAAAAAAYAAAAAAAALQAAAAAAACUAAAAAAgArAAAAAAMAJQAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAtAAAAAAAALQAAAAAAACAAAAAAAACBAAAAAAAAGAAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAC4AAAAAAAIuAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAC4AAAAAAAEtAAAAAAAHLgAAAAAAAxgAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAABGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAuAAAAAAACLQAAAAAABy4AAAAAAAWBAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAAC4AAAAAAAEtAAAAAAADgQAAAAAAAC0AAAAAAAAuAAAAAAABLQAAAAAAA4EAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAABAIEAAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAtAAAAAAAALQAAAAAAACsAAAAAAAeBAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAABLgAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAAC0AAAAAAAArAAAAAAAHgQAAAAAAAC0AAAAAAAAuAAAAAAABLgAAAAAAAy4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAtAAAAAAAAKwAAAAAABw== version: 7 -2,-2: ind: -2,-2 - tiles: gQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAIAAAAAABAAEAAAAAAwAYAAAAAAAAAAAAAAAAAIEAAAAAAAABAAAAAAAAAQAAAAADAAEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAACAAAAAAAwABAAAAAAIAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAAYAAAAAAQAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAAAgAAAAAAMAAQAAAAACAAEAAAAAAAAmAAAAAAIAJgAAAAABABgAAAAAAAAGAAAAAAIAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAABgAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAgAAAAAAEALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAIAIAAAAAADAAEAAAAAAwABAAAAAAEAAQAAAAADAAYAAAAAAAABAAAAAAEAAQAAAAADAAEAAAAAAwCBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAACAAAAAAAAAgAAAAAAAALgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAMgAAAAAAAALgAAAAAAA4EAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAIAAAAAACAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAIAAAAAAAAC4AAAAAAAAYAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAEAIAAAAAADACAAAAAAAwAgAAAAAAMAIAAAAAACACAAAAAAAQAuAAAAAAADGAAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAARAAAAAAAAEQAAAAAAAAYAAAAAAAARAAAAAAAAC0AAAAAAAAYAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy4AAAAAAAMuAAAAAAAAGAAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAABgAAAAAAAAtAAAAAAAAGAAAAAAAABgAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAALQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAAEQAAAAAAACBAAAAAAAAIAAAAAADAC0AAAAAAAArAAAAAAAHLQAAAAAAAC0AAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAABEAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAAAtAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAEAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAABBy0AAAAAAACBAAAAAAAAIAAAAAACAAEAAAAAAgAYAAAAAAAAAAAAAAAAAIEAAAAAAAABAAAAAAEAAQAAAAABAAEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAACAAAAAAAAABAAAAAAIAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAAYAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAMHLQAAAAAAAIEAAAAAAAAgAAAAAAEAAQAAAAABAAEAAAAAAgAmAAAAAAIAJgAAAAABABgAAAAAAAAGAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAABBy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAABgAAAAABABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAvAAAAAAAALQAAAAAAACsAAAAAAgctAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAEAIAAAAAACAAEAAAAAAwABAAAAAAEAAQAAAAABAAYAAAAAAwABAAAAAAMAAQAAAAADAAEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAMHLQAAAAAAACAAAAAAAQAgAAAAAAIALgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAMgAAAAAAIALgAAAAAAA4EAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAIAAAAAACAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAIAAAAAADAC4AAAAAAAAYAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAMAIAAAAAADACAAAAAAAgAgAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAMAIAAAAAACACAAAAAAAwAuAAAAAAADGAAAAAAAAC0AAAAAAAArAAAAAAMHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAABBy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAARAAAAAAAAEQAAAAAAAAYAAAAAAAARAAAAAAAAC0AAAAAAAAYAAAAAAAALQAAAAAAACsAAAAAAwctAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy4AAAAAAAMuAAAAAAAAGAAAAAAAAC0AAAAAAAArAAAAAAMHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAABgAAAAAAAAtAAAAAAAAGAAAAAAAABgAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAwctAAAAAAAALQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAAEQAAAAAAACBAAAAAAAAIAAAAAACAC0AAAAAAAArAAAAAAMHLQAAAAAAAC0AAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAABEAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAABBy0AAAAAAAAtAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAEAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAA== version: 7 -2,-1: ind: -2,-1 - tiles: IAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAABEAAAAAAAARAAAAAAAACAAAAAAAAAgAAAAAAEALQAAAAAAACsAAAAAAActAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAMALgAAAAAAAi4AAAAAAAArAAAAAAAHLgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADGAAAAAAAABgAAAAAAAAtAAAAAAADLQAAAAAAAy4AAAAAAAAlAAAAAAEAJQAAAAACACsAAAAAAQArAAAAAAEAKwAAAAAAACsAAAAAAwArAAAAAAAAKwAAAAABACsAAAAAAgArAAAAAAIAKwAAAAABABgAAAAAAAAYAAAAAAAAKwAAAAAAACsAAAAAAgArAAAAAAMAJQAAAAACAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMYAAAAAAAAGAAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACAIEAAAAAAAAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAIAAAAAABAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAgAAAAAAMAgQAAAAAAACAAAAAAAwCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: IAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAABEAAAAAAAARAAAAAAAACAAAAAAAgAgAAAAAAIALQAAAAAAACsAAAAAAgctAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAIALgAAAAAAAi4AAAAAAAArAAAAAAAHLgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADGAAAAAAAABgAAAAAAAAtAAAAAAADLQAAAAAAAy4AAAAAAAAlAAAAAAMAJQAAAAADACsAAAAAAgArAAAAAAIAKwAAAAAAACsAAAAAAwArAAAAAAEAKwAAAAACACsAAAAAAAArAAAAAAEAKwAAAAADABgAAAAAAAAYAAAAAAAAKwAAAAACACsAAAAAAQArAAAAAAMAJQAAAAACAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMYAAAAAAAAGAAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAABAIEAAAAAAAAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAACBAAAAAAAAIAAAAAACAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAgAAAAAAMAgQAAAAAAACAAAAAAAwCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -2,-3: ind: -2,-3 - tiles: gQAAAAAAAIEAAAAAAAAlAAAAAAEAAQAAAAAAACUAAAAAAgAlAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACACAAAAAAAwAgAAAAAAMAIAAAAAADAIEAAAAAAACBAAAAAAAALwAAAAAAAAAAAAAAAACBAAAAAAAAJQAAAAAAAAEAAAAAAwAlAAAAAAMAJQAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAAAIAAAAAACACAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAACUAAAAAAAABAAAAAAEAJQAAAAAAACUAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAEAIAAAAAADACAAAAAAAAAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAAAlAAAAAAAAAQAAAAACACUAAAAAAgAlAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAABACAAAAAAAwAgAAAAAAAAIAAAAAACAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAAAEAAAAAAQAlAAAAAAIAJQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAAAJQAAAAABACUAAAAAAwAlAAAAAAIAJQAAAAAAACUAAAAAAwAgAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAIAIAAAAAABACAAAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAAAgAAAAAAMAGAAAAAAAACUAAAAAAwAlAAAAAAEAJQAAAAACACUAAAAAAQAlAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAAAIAAAAAADACAAAAAAAgAgAAAAAAEAIAAAAAADAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAABACAAAAAAAgAgAAAAAAEAIAAAAAABACAAAAAAAgAYAAAAAAAAJQAAAAABACUAAAAAAwAlAAAAAAMAJQAAAAACAIEAAAAAAAAgAAAAAAMAIAAAAAABACAAAAAAAwAgAAAAAAIAIAAAAAABACAAAAAAAgAgAAAAAAMAIAAAAAADACAAAAAAAQAgAAAAAAEAGAAAAAAAABgAAAAAAAAlAAAAAAMAJQAAAAABACUAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAwAgAAAAAAIAIAAAAAADACAAAAAAAwAgAAAAAAMAIAAAAAABACAAAAAAAAAgAAAAAAMAIAAAAAADABgAAAAAAAAYAAAAAAAAGAAAAAAAACUAAAAAAAAlAAAAAAEAGAAAAAAAACAAAAAAAAABAAAAAAIAAQAAAAADAAEAAAAAAwABAAAAAAMAAQAAAAACAAYAAAAAAQABAAAAAAEAAQAAAAACAAEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAlAAAAAAAAJQAAAAABABgAAAAAAAAgAAAAAAAAAQAAAAADABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAABAAAAAAEAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAACACUAAAAAAgAYAAAAAAAAIAAAAAAAAAEAAAAAAQABAAAAAAIAJgAAAAACACYAAAAAAAAYAAAAAAAABgAAAAADABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAADACUAAAAAAwAlAAAAAAIAgQAAAAAAACAAAAAAAAABAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAAYAAAAAAQAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAADACUAAAAAAwAlAAAAAAIAJQAAAAACAIEAAAAAAAAgAAAAAAAAAQAAAAACABgAAAAAAAAAAAAAAAAAgQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAABABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAJQAAAAADAC0AAAAAAACBAAAAAAAAIAAAAAACAAEAAAAAAQAYAAAAAAAAAAAAAAAAAIEAAAAAAAArAAAAAAAAKwAAAAADACsAAAAAAQAYAAAAAAAAGAAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAAAlAAAAAAMAAQAAAAABACUAAAAAAwAlAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADACAAAAAAAAAgAAAAAAMAIAAAAAACAIEAAAAAAACBAAAAAAAALwAAAAAAAAAAAAAAAACBAAAAAAAAJQAAAAADAAEAAAAAAgAlAAAAAAEAJQAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAAAIAAAAAAAACAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAACUAAAAAAwABAAAAAAAAJQAAAAACACUAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAAAACAAAAAAAwAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAAAlAAAAAAMAAQAAAAAAACUAAAAAAAAlAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAgAgAAAAAAEAIAAAAAACAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAAAEAAAAAAwAlAAAAAAIAJQAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAAAJQAAAAAAACUAAAAAAwAlAAAAAAIAJQAAAAACACUAAAAAAQAgAAAAAAMAgQAAAAAAAIEAAAAAAAAgAAAAAAIAIAAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAACACAAAAAAAAAgAAAAAAAAGAAAAAAAACUAAAAAAwAlAAAAAAIAJQAAAAACACUAAAAAAAAlAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAABACAAAAAAAAAgAAAAAAMAIAAAAAACACAAAAAAAgAgAAAAAAAAIAAAAAADAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAMAIAAAAAABACAAAAAAAAAgAAAAAAMAIAAAAAAAACAAAAAAAwAYAAAAAAAAJQAAAAAAACUAAAAAAAAlAAAAAAMAJQAAAAABAIEAAAAAAAAgAAAAAAIAIAAAAAAAACAAAAAAAwAgAAAAAAMAIAAAAAACACAAAAAAAwAgAAAAAAMAIAAAAAAAACAAAAAAAwAgAAAAAAEAGAAAAAAAABgAAAAAAAAlAAAAAAAAJQAAAAADACUAAAAAAQCBAAAAAAAAIAAAAAADACAAAAAAAwAgAAAAAAIAIAAAAAABACAAAAAAAgAgAAAAAAMAIAAAAAACACAAAAAAAAAgAAAAAAAAIAAAAAABABgAAAAAAAAYAAAAAAAAGAAAAAAAACUAAAAAAgAlAAAAAAAAGAAAAAAAACAAAAAAAwABAAAAAAAAAQAAAAADAAEAAAAAAgABAAAAAAEAAQAAAAABAAYAAAAAAQABAAAAAAAAAQAAAAACAAEAAAAAAQCBAAAAAAAAGAAAAAAAABgAAAAAAAAlAAAAAAMAJQAAAAAAABgAAAAAAAAgAAAAAAIAAQAAAAACABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAABAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAADACUAAAAAAAAYAAAAAAAAIAAAAAADAAEAAAAAAwABAAAAAAMAJgAAAAAAACYAAAAAAgAYAAAAAAAABgAAAAACABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAACACUAAAAAAQAlAAAAAAMAgQAAAAAAACAAAAAAAgABAAAAAAMAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAAYAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAADACUAAAAAAwAlAAAAAAAAJQAAAAABAIEAAAAAAAAgAAAAAAIAAQAAAAADABgAAAAAAAAAAAAAAAAAgQAAAAAAAAEAAAAAAQABAAAAAAMAAQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAJQAAAAAAAC0AAAAAAACBAAAAAAAAIAAAAAADAAEAAAAAAAAYAAAAAAAAAAAAAAAAAIEAAAAAAAArAAAAAAMAKwAAAAABACsAAAAAAgAYAAAAAAAAGAAAAAAAAA== version: 7 0,-4: ind: 0,-4 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAArAAAAAAAHKwAAAAAAB4EAAAAAAAAYAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAMAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAKwAAAAAABysAAAAAAAeBAAAAAAAAGAAAAAAAACAAAAAAAgAgAAAAAAEAIAAAAAADACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAABkAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAwAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAADAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAMAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAgAtAAAAAAAALQAAAAAAAGAAAAAAAAAwAAAAAAEAGgAAAAACACAAAAAAAgAgAAAAAAMAIAAAAAAAACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAADEAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAQAgAAAAAAMAIAAAAAABACAAAAAAAwAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAxAAAAAAEAIAAAAAACACAAAAAAAgAgAAAAAAIAIAAAAAACACAAAAAAAgAgAAAAAAMAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAMQAAAAACAIEAAAAAAAAgAAAAAAAAIAAAAAADACAAAAAAAQAgAAAAAAMAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAADEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAIAAAAAAAACAAAAAAAgAgAAAAAAMALgAAAAAAAi0AAAAAAAMtAAAAAAADGAAAAAAAAC4AAAAAAAAtAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAyAAAAAAAAAgAAAAAAIAIAAAAAACAC0AAAAAAAAlAAAAAAEAKwAAAAADABgAAAAAAAArAAAAAAEAKwAAAAACACsAAAAAAgArAAAAAAMAKwAAAAADACsAAAAAAgArAAAAAAEAKwAAAAAAACsAAAAAAwAgAAAAAAIAIAAAAAABACAAAAAAAwAtAAAAAAAALQAAAAAAAC4AAAAAAAIYAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAAMAAAAAAAADAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAACACUAAAAAAwAlAAAAAAMAJQAAAAACAIEAAAAAAAAgAAAAAAEALgAAAAAAAi0AAAAAAAMDAAAAAAAAAwAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAAgAAAAAAAAJQAAAAABACAAAAAAAAAgAAAAAAAAIAAAAAADACUAAAAAAwCBAAAAAAAAIAAAAAAAAC0AAAAAAAAlAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAACUAAAAAAgAgAAAAAAMAIAAAAAACACAAAAAAAwAlAAAAAAEAgQAAAAAAACAAAAAAAAAuAAAAAAABLQAAAAAAAw== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAArAAAAAAIHKwAAAAABB4EAAAAAAAAYAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAIAIAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAKwAAAAABBysAAAAAAQeBAAAAAAAAGAAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAADACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAABkAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAwAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAACAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAAAIAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAGAAAAAAAQAwAAAAAAMAGgAAAAAAACAAAAAAAgAgAAAAAAMAIAAAAAACACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAADEAAAAAAgCBAAAAAAAAIAAAAAABACAAAAAAAAAgAAAAAAIAIAAAAAABACAAAAAAAAAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAxAAAAAAMAIAAAAAABACAAAAAAAQAgAAAAAAAAIAAAAAADACAAAAAAAgAgAAAAAAIAIAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAMQAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAABACAAAAAAAgAgAAAAAAIAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAADEAAAAAAwCBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAALgAAAAAAAi0AAAAAAAMtAAAAAAADGAAAAAAAAC4AAAAAAAAtAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAyAAAAAAAgAgAAAAAAAAIAAAAAACAC0AAAAAAAAlAAAAAAAAKwAAAAABABgAAAAAAAArAAAAAAAAKwAAAAAAACsAAAAAAgArAAAAAAIAKwAAAAADACsAAAAAAAArAAAAAAIAKwAAAAADACsAAAAAAQAgAAAAAAEAIAAAAAADACAAAAAAAQAtAAAAAAAALQAAAAAAAC4AAAAAAAIYAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAAMAAAAAAAADAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAlAAAAAAMAJQAAAAABACUAAAAAAQAlAAAAAAIAJQAAAAAAAIEAAAAAAAAgAAAAAAAALgAAAAAAAi0AAAAAAAMDAAAAAAAAAwAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAAgAAAAAAIAJQAAAAABACAAAAAAAAAgAAAAAAMAIAAAAAADACUAAAAAAACBAAAAAAAAIAAAAAADAC0AAAAAAAAlAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAACUAAAAAAQAgAAAAAAEAIAAAAAACACAAAAAAAQAlAAAAAAAAgQAAAAAAACAAAAAAAAAuAAAAAAABLQAAAAAAAw== version: 7 1,-4: ind: 1,-4 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAAAgAAAAAAAAIAAAAAABAIEAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAIAAAAAABACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACACsAAAAAAwAgAAAAAAMAgQAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAgAAAAAAIAIAAAAAABACAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAGAAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADLgAAAAAAABgAAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAAOBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAIuAAAAAAAAGAAAAAAAABgAAAAAAAAlAAAAAAMAGAAAAAAAABgAAAAAAAAuAAAAAAABLgAAAAAAA4EAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAIuAAAAAAAAGAAAAAAAABgAAAAAAAAuAAAAAAACLQAAAAAAAy4AAAAAAAMYAAAAAAAAGAAAAAAAAC4AAAAAAAEuAAAAAAADgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAGAAAAAAAABgAAAAAAAAuAAAAAAACLgAAAAAAAGAAAAAAAAAuAAAAAAABLgAAAAAAAxgAAAAAAAAYAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADABgAAAAAAAAtAAAAAAADLgAAAAAAABgAAAAAAAAuAAAAAAACLgAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAC4AAAAAAAEuAAAAAAADGAAAAAAAAC4AAAAAAAEtAAAAAAADGAAAAAAAACsAAAAAAQAYAAAAAAAAGAAAAAAAABgAAAAAAAAlAAAAAAMALQAAAAAAAGAAAAAAAgAYAAAAAAAAEwAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAACUAAAAAAwAYAAAAAAAAGAAAAAAAABgAAAAAAAAgAAAAAAEAGAAAAAAAAC0AAAAAAAMuAAAAAAADGAAAAAAAAC4AAAAAAAEuAAAAAAADGAAAAAAAABgAAAAAAAAYAAAAAAAALgAAAAAAAi4AAAAAAAAYAAAAAAAALgAAAAAAAi0AAAAAAAMYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAABgAAAAAAAAYAAAAAAAALgAAAAAAAS4AAAAAAANgAAAAAAMALgAAAAAAAi4AAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMuAAAAAAADgQAAAAAAAC4AAAAAAAEuAAAAAAADGAAAAAAAABgAAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAAAYAAAAAAAAGAAAAAAAAC4AAAAAAAIuAAAAAAAAgQAAAAAAACAAAAAAAwAlAAAAAAEALQAAAAAAAIEAAAAAAAAuAAAAAAADLgAAAAAAAS4AAAAAAAMYAAAAAAAAGAAAAAAAACUAAAAAAwAYAAAAAAAAGAAAAAAAAC4AAAAAAAIuAAAAAAAALgAAAAAAAoEAAAAAAAAgAAAAAAIALQAAAAAAAy4AAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAAMYAAAAAAAALgAAAAAAAi0AAAAAAAMuAAAAAAAALgAAAAAAAi4AAAAAAACBAAAAAAAAIAAAAAACAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAMHLQAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAABAIEAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAADBy0AAAAAAACBAAAAAAAAIAAAAAABACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACACsAAAAAAQAgAAAAAAIAgQAAAAAAACAAAAAAAwAgAAAAAAIAIAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAADACAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAGAAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADLgAAAAAAABgAAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAAOBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAIuAAAAAAAAGAAAAAAAABgAAAAAAAAlAAAAAAEAGAAAAAAAABgAAAAAAAAuAAAAAAABLgAAAAAAA4EAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAIuAAAAAAAAGAAAAAAAABgAAAAAAAAuAAAAAAACLQAAAAAAAy4AAAAAAAMYAAAAAAAAGAAAAAAAAC4AAAAAAAEuAAAAAAADgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAGAAAAAAAABgAAAAAAAAuAAAAAAACLgAAAAAAAGAAAAAAAQAuAAAAAAABLgAAAAAAAxgAAAAAAAAYAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAABABgAAAAAAAAtAAAAAAADLgAAAAAAABgAAAAAAAAuAAAAAAACLgAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAC4AAAAAAAEuAAAAAAADGAAAAAAAAC4AAAAAAAEtAAAAAAADGAAAAAAAACsAAAAAAgAYAAAAAAAAGAAAAAAAABgAAAAAAAAlAAAAAAAALQAAAAAAAGAAAAAAAAAYAAAAAAAAEwAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAACUAAAAAAgAYAAAAAAAAGAAAAAAAABgAAAAAAAAgAAAAAAEAGAAAAAAAAC0AAAAAAAMuAAAAAAADGAAAAAAAAC4AAAAAAAEuAAAAAAADGAAAAAAAABgAAAAAAAAYAAAAAAAALgAAAAAAAi4AAAAAAAAYAAAAAAAALgAAAAAAAi0AAAAAAAMYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAABgAAAAAAAAYAAAAAAAALgAAAAAAAS4AAAAAAANgAAAAAAAALgAAAAAAAi4AAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMuAAAAAAADgQAAAAAAAC4AAAAAAAEuAAAAAAADGAAAAAAAABgAAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAAAYAAAAAAAAGAAAAAAAAC4AAAAAAAIuAAAAAAAAgQAAAAAAACAAAAAAAwAlAAAAAAIALQAAAAAAAIEAAAAAAAAuAAAAAAADLgAAAAAAAS4AAAAAAAMYAAAAAAAAGAAAAAAAACUAAAAAAgAYAAAAAAAAGAAAAAAAAC4AAAAAAAIuAAAAAAAALgAAAAAAAoEAAAAAAAAgAAAAAAIALQAAAAAAAy4AAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAAMYAAAAAAAALgAAAAAAAi0AAAAAAAMuAAAAAAAALgAAAAAAAi4AAAAAAACBAAAAAAAAIAAAAAABAA== version: 7 -1,-4: ind: -1,-4 - tiles: gQAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAACBAAAAAAAAIAAAAAABACAAAAAAAAAgAAAAAAEAIAAAAAADACAAAAAAAwAgAAAAAAMAIAAAAAADACAAAAAAAQAgAAAAAAIAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAADACAAAAAAAgAgAAAAAAEAIAAAAAACACAAAAAAAAAgAAAAAAEAIAAAAAADACAAAAAAAwBgAAAAAAMAYAAAAAACAGAAAAAAAgBgAAAAAAMAYAAAAAABAIEAAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAwAgAAAAAAIAIAAAAAADACAAAAAAAAAgAAAAAAIAIAAAAAACACAAAAAAAQAgAAAAAAMAYAAAAAACAGAAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAcAAAAAAAAgAAAAAAEABwAAAAAAAAcAAAAAAAAHAAAAAAAAIAAAAAACAC0AAAAAAAMuAAAAAAADLwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAHAAAAAAAAIAAAAAACACAAAAAAAQAgAAAAAAEAIAAAAAAAACAAAAAAAwAlAAAAAAIALgAAAAAAAS4AAAAAAAMvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAABwAAAAAAACAAAAAAAgAgAAAAAAMABwAAAAAAAAcAAAAAAAAHAAAAAAAAJQAAAAACACUAAAAAAwAuAAAAAAABLgAAAAAAA4EAAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAAAcAAAAAAAAgAAAAAAEAIAAAAAAAACAAAAAAAwAgAAAAAAAAIAAAAAABAC4AAAAAAAMlAAAAAAIAJQAAAAAAACAAAAAAAQBvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAIEAAAAAAAAgAAAAAAAAIAAAAAADACAAAAAAAAAgAAAAAAMAIAAAAAACACAAAAAAAQAuAAAAAAABLgAAAAAAAyUAAAAAAwAgAAAAAAEAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAIAAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAAC0AAAAAAAArAAAAAAAHIAAAAAABAG8AAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAIAAAAAACAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAIEAAAAAAAAHAAAAAAAABwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAG8AAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADAIEAAAAAAAAgAAAAAAEAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAACAAAAAAAABvAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAIAIAAAAAACACAAAAAAAAAgAAAAAAIAIAAAAAABAA== + tiles: gQAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAACBAAAAAAAAIAAAAAADACAAAAAAAwAgAAAAAAEAIAAAAAABACAAAAAAAAAgAAAAAAMAIAAAAAACACAAAAAAAwAgAAAAAAAAIAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAMAIAAAAAACACAAAAAAAgAgAAAAAAIAIAAAAAADACAAAAAAAgAgAAAAAAIAIAAAAAADACAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAAAYAAAAAABAIEAAAAAAAAgAAAAAAEAIAAAAAACACAAAAAAAQAgAAAAAAMAIAAAAAACACAAAAAAAwAgAAAAAAIAIAAAAAADACAAAAAAAwAgAAAAAAEAYAAAAAADAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAQBgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAcAAAAAAAAgAAAAAAIABwAAAAAAAAcAAAAAAAAHAAAAAAAAIAAAAAABAC0AAAAAAAMuAAAAAAADLwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAHAAAAAAAAIAAAAAAAACAAAAAAAQAgAAAAAAEAIAAAAAAAACAAAAAAAwAlAAAAAAEALgAAAAAAAS4AAAAAAAMvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAABwAAAAAAACAAAAAAAAAgAAAAAAIABwAAAAAAAAcAAAAAAAAHAAAAAAAAJQAAAAAAACUAAAAAAQAuAAAAAAABLgAAAAAAA4EAAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAAAcAAAAAAAAgAAAAAAEAIAAAAAABACAAAAAAAgAgAAAAAAIAIAAAAAAAAC4AAAAAAAMlAAAAAAEAJQAAAAABACAAAAAAAQBvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAIEAAAAAAAAgAAAAAAEAIAAAAAADACAAAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAwAuAAAAAAABLgAAAAAAAyUAAAAAAQAgAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQCBAAAAAAAAIAAAAAAAAIEAAAAAAAAgAAAAAAMAgQAAAAAAAC0AAAAAAAArAAAAAAEHIAAAAAACAG8AAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAACAAAAAAAAAgAAAAAAIAgQAAAAAAACAAAAAAAACBAAAAAAAAIAAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAACBy0AAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAIEAAAAAAAAHAAAAAAAABwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAALQAAAAAAACsAAAAAAwctAAAAAAAAgQAAAAAAAG8AAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAAC0AAAAAAAArAAAAAAIHLQAAAAAAACAAAAAAAQBvAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAgQAAAAAAACAAAAAAAAAgAAAAAAEAIAAAAAAAACAAAAAAAAAgAAAAAAIAIAAAAAABAA== version: 7 0,-5: ind: 0,-5 - tiles: LwAAAAAAAIEAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy8AAAAAAACBAAAAAAAAGwAAAAAAACkAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACUAAAAAAAArAAAAAAMAKwAAAAAAACsAAAAAAAArAAAAAAAAJQAAAAACACsAAAAAAgAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACkAAAAAAQCBAAAAAAAAgQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAysAAAAAAAcuAAAAAAACgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAABsAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAApAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAADACUAAAAAAwAlAAAAAAIAJQAAAAACAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAApAAAAAAEAgQAAAAAAACkAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAwAlAAAAAAIAJQAAAAAAAIEAAAAAAAAuAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAKQAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAArAAAAAAAHLQAAAAAAABsAAAAAAACBAAAAAAAAKQAAAAABACkAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACUAAAAAAAArAAAAAAMAKwAAAAABACsAAAAAAAArAAAAAAIAJQAAAAADAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAApAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAALQAAAAAAAy0AAAAAAAMuAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAIAYAAAAAAAAC0AAAAAAAMuAAAAAAADLQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAAAAGAAAAAAAwAgAAAAAAEALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAAIAAAAAADAC0AAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAJAAAAAADACQAAAAAAAAgAAAAAAIAJAAAAAADACAAAAAAAwAtAAAAAAAAJQAAAAADACsAAAAAAgArAAAAAAAAKwAAAAACACsAAAAAAwArAAAAAAEAKwAAAAADACUAAAAAAgAtAAAAAAAAIAAAAAABACAAAAAAAgAgAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAMALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAIEAAAAAAAAKAAAAAAAACgAAAAAAACAAAAAAAwAgAAAAAAEAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: LwAAAAAAAIEAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy8AAAAAAACBAAAAAAAAGwAAAAAAACkAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACUAAAAAAQArAAAAAAEAKwAAAAADACsAAAAAAQArAAAAAAMAJQAAAAADACsAAAAAAgAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACkAAAAAAgCBAAAAAAAAgQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAysAAAAAAAcuAAAAAAACgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAEHLQAAAAAAABsAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAApAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAABACUAAAAAAQAlAAAAAAIAJQAAAAACAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAApAAAAAAEAgQAAAAAAACkAAAAAAwCBAAAAAAAAgQAAAAAAACUAAAAAAQAlAAAAAAAAJQAAAAACAIEAAAAAAAAuAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAKQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAArAAAAAAEHLQAAAAAAABsAAAAAAACBAAAAAAAAKQAAAAACACkAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACUAAAAAAgArAAAAAAMAKwAAAAADACsAAAAAAAArAAAAAAMAJQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAApAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAIHLgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAALQAAAAAAAy0AAAAAAAMuAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAABBy0AAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAADAC0AAAAAAAMuAAAAAAADLQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAQctAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAABAGAAAAAAAAAgAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAAIAAAAAABAC0AAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAKwAAAAAABy0AAAAAAACBAAAAAAAAJAAAAAACACQAAAAAAAAgAAAAAAMAJAAAAAAAACAAAAAAAAAtAAAAAAAAJQAAAAADACsAAAAAAQArAAAAAAMAKwAAAAADACsAAAAAAAArAAAAAAIAKwAAAAAAACUAAAAAAwAtAAAAAAAAIAAAAAADACAAAAAAAQAgAAAAAAAAIAAAAAABACAAAAAAAAAgAAAAAAMALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAIEAAAAAAAAKAAAAAAAACgAAAAAAACAAAAAAAgAgAAAAAAIAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 -2,-4: ind: -2,-4 - tiles: YAAAAAACAGAAAAAAAwCBAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAgBgAAAAAAEAYAAAAAACAGAAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAQBgAAAAAAMAgQAAAAAAACAAAAAAAwCBAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAQCBAAAAAAAAgQAAAAAAACAAAAAAAwBgAAAAAAEAYAAAAAACAGAAAAAAAABgAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAgBgAAAAAAMAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAADAGAAAAAAAwBgAAAAAAIAYAAAAAADAIEAAAAAAABrAAAAAAMAawAAAAACAGsAAAAAAQBrAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAQCBAAAAAAAAYAAAAAABAGAAAAAAAQAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAA8AAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAIAGAAAAAAAACUAAAAAAwAlAAAAAAEAJQAAAAAAACUAAAAAAgAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAA4EAAAAAAACBAAAAAAAAIAAAAAABABgAAAAAAAAYAAAAAAAAJQAAAAAAACUAAAAAAgAlAAAAAAIAJQAAAAADACsAAAAAAgArAAAAAAMAKwAAAAADACsAAAAAAgAlAAAAAAAAJQAAAAABAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMYAAAAAAAAGAAAAAAAABgAAAAAAAAlAAAAAAEAJQAAAAADAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAADJQAAAAADACUAAAAAAgArAAAAAAIAKwAAAAAAACsAAAAAAwAlAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAADACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAACUAAAAAAgAlAAAAAAAAgQAAAAAAAC8AAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAy4AAAAAAAEYAAAAAAAAGAAAAAAAACUAAAAAAwAlAAAAAAIAJQAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAJQAAAAAAACUAAAAAAABgAAAAAAMAgQAAAAAAAIEAAAAAAAAuAAAAAAADGAAAAAAAACUAAAAAAwAlAAAAAAEAJQAAAAABACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAACUAAAAAAgAlAAAAAAIAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAGAAAAAAAwAlAAAAAAAAJQAAAAABAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAJQAAAAACACUAAAAAAAAlAAAAAAIAJQAAAAABACUAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAJQAAAAADACUAAAAAAwBgAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAJQAAAAAAACUAAAAAAAAlAAAAAAIAJQAAAAADACUAAAAAAAAlAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: YAAAAAACAGAAAAAAAgCBAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAMAYAAAAAACAGAAAAAAAgBgAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAAYAAAAAACAGAAAAAAAQBgAAAAAAEAYAAAAAADAGAAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAgCBAAAAAAAAgQAAAAAAACAAAAAAAQBgAAAAAAIAYAAAAAAAAGAAAAAAAwBgAAAAAAIAgQAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAABAGAAAAAAAgBgAAAAAAAAYAAAAAADAGAAAAAAAgBgAAAAAAMAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAAAAIEAAAAAAABrAAAAAAMAawAAAAAAAGsAAAAAAQBrAAAAAAIAgQAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAwCBAAAAAAAAYAAAAAAAAGAAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAADAGAAAAAAAgCBAAAAAAAAgQAAAAAAAA8AAAAAAwCBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAMAGAAAAAAAACUAAAAAAQAlAAAAAAEAJQAAAAAAACUAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAA4EAAAAAAACBAAAAAAAAIAAAAAABABgAAAAAAAAYAAAAAAAAJQAAAAADACUAAAAAAAAlAAAAAAEAJQAAAAADACsAAAAAAwArAAAAAAIAKwAAAAADACsAAAAAAgAlAAAAAAIAJQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMYAAAAAAAAGAAAAAAAABgAAAAAAAAlAAAAAAMAJQAAAAABAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAADJQAAAAABACUAAAAAAAArAAAAAAEAKwAAAAADACsAAAAAAwAlAAAAAAEAgQAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAAAACUAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAACUAAAAAAwAlAAAAAAAAgQAAAAAAAC8AAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAy4AAAAAAAEYAAAAAAAAGAAAAAAAACUAAAAAAgAlAAAAAAIAJQAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAJQAAAAAAACUAAAAAAQBgAAAAAAIAgQAAAAAAAIEAAAAAAAAuAAAAAAADGAAAAAAAACUAAAAAAAAlAAAAAAIAJQAAAAABACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACACUAAAAAAQAlAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAGAAAAAAAwAlAAAAAAAAJQAAAAAAAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAJQAAAAABACUAAAAAAwAlAAAAAAMAJQAAAAADACUAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAJQAAAAACACUAAAAAAgBgAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAJQAAAAADACUAAAAAAQAlAAAAAAMAJQAAAAABACUAAAAAAgAlAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 -3,-4: ind: -3,-4 - tiles: gQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAtAAAAAAAAJQAAAAABAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMuAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAlAAAAAAIAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAMAJQAAAAADABgAAAAAAAAuAAAAAAADgQAAAAAAABgAAAAAAAAYAAAAAAAALgAAAAAAAi0AAAAAAAMtAAAAAAADIAAAAAACAIEAAAAAAAAgAAAAAAMAIAAAAAABAIEAAAAAAACBAAAAAAAAJQAAAAADABgAAAAAAAAYAAAAAAAALQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAgCBAAAAAAAAIAAAAAABACAAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAIAAAAAACACAAAAAAAQAgAAAAAAMAIAAAAAABACAAAAAAAAAgAAAAAAMAgQAAAAAAAIEAAAAAAAAlAAAAAAAAGAAAAAAAABgAAAAAAAAtAAAAAAADgQAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAMAIAAAAAABAIEAAAAAAAAgAAAAAAMAIAAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAAAYAAAAAAAALQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAAC0AAAAAAAMtAAAAAAAALQAAAAAAAC0AAAAAAAMuAAAAAAADLgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAC0AAAAAAAAuAAAAAAADLQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAAy0AAAAAAAOBAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMYAAAAAAAALQAAAAAAAy0AAAAAAAMuAAAAAAADLQAAAAAAAC0AAAAAAAAlAAAAAAEAJQAAAAADAA== + tiles: gQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAQctAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAIHLQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAtAAAAAAAAJQAAAAACAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMuAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAlAAAAAAEAJQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAAAABgAAAAAAAAuAAAAAAADgQAAAAAAABgAAAAAAAAYAAAAAAAALgAAAAAAAi0AAAAAAAMtAAAAAAADIAAAAAADAIEAAAAAAAAgAAAAAAMAIAAAAAACAIEAAAAAAACBAAAAAAAAJQAAAAABABgAAAAAAAAYAAAAAAAALQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAAAgAAAAAAMAIAAAAAABACAAAAAAAACBAAAAAAAAIAAAAAABACAAAAAAAgCBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAIAAAAAAAACAAAAAAAQAgAAAAAAEAIAAAAAACACAAAAAAAQAgAAAAAAIAgQAAAAAAAIEAAAAAAAAlAAAAAAMAGAAAAAAAABgAAAAAAAAtAAAAAAADgQAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAACACAAAAAAAQAgAAAAAAMAIAAAAAADAIEAAAAAAAAgAAAAAAEAIAAAAAABAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAQAYAAAAAAAALQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAACAC0AAAAAAAMtAAAAAAAALQAAAAAAAC0AAAAAAAMuAAAAAAADLgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAC0AAAAAAAAuAAAAAAADLQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAxgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAAy0AAAAAAAOBAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMYAAAAAAAALQAAAAAAAy0AAAAAAAMuAAAAAAADLQAAAAAAAC0AAAAAAAAlAAAAAAIAJQAAAAABAA== version: 7 -3,-3: ind: -3,-3 - tiles: LQAAAAAAAC4AAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAACBAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAAIAAAAAADAIEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAIEAAAAAAAAkAAAAAAMAJAAAAAAAACQAAAAAAQAgAAAAAAAAgQAAAAAAAC0AAAAAAAAuAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAA4EAAAAAAAAtAAAAAAAALQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAxgAAAAAAAAtAAAAAAADLQAAAAAAAy4AAAAAAAAtAAAAAAAALQAAAAAAACUAAAAAAAAlAAAAAAEALQAAAAAAAy0AAAAAAAAtAAAAAAAALgAAAAAAAC0AAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAAMtAAAAAAAALQAAAAAAAC0AAAAAAAMuAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAIEAAAAAAAAtAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACQAAAAAAwAkAAAAAAIAKQAAAAACACkAAAAAAAAkAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAMAIAAAAAADAIEAAAAAAAAkAAAAAAAAJAAAAAADAIEAAAAAAACBAAAAAAAAJAAAAAAAACQAAAAAAwAkAAAAAAEAJAAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAACACUAAAAAAAAlAAAAAAEAGAAAAAAAAC4AAAAAAAKBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAAAlAAAAAAMAGAAAAAAAABgAAAAAAAAtAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAACACUAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAMAJQAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAABACUAAAAAAQAlAAAAAAMAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAAA== + tiles: LQAAAAAAAC4AAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAACBAAAAAAAAJAAAAAABACQAAAAAAgAkAAAAAAMAIAAAAAADAIEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAIEAAAAAAAAkAAAAAAMAJAAAAAACACQAAAAAAAAgAAAAAAEAgQAAAAAAAC0AAAAAAAAuAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAA4EAAAAAAAAtAAAAAAAALQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAxgAAAAAAAAtAAAAAAADLQAAAAAAAy4AAAAAAAAtAAAAAAAALQAAAAAAACUAAAAAAQAlAAAAAAEALQAAAAAAAy0AAAAAAAAtAAAAAAAALgAAAAAAAC0AAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAAMtAAAAAAAALQAAAAAAAC0AAAAAAAMuAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAIEAAAAAAAAtAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACQAAAAAAgAkAAAAAAIAKQAAAAABACkAAAAAAgAkAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEALQAAAAAAA4EAAAAAAAAkAAAAAAMAJAAAAAADAIEAAAAAAACBAAAAAAAAJAAAAAADACQAAAAAAwAkAAAAAAAAJAAAAAABAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAwAlAAAAAAEAGAAAAAAAAC4AAAAAAAKBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAgAlAAAAAAMAGAAAAAAAABgAAAAAAAAtAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAADACUAAAAAAgAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAIAJQAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAAAlAAAAAAMAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAEAgQAAAAAAAA== version: 7 -3,-2: ind: -3,-2 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAACgAAAAAAAIEAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAKAAAAAAAAgQAAAAAAAAoAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAEALgAAAAAAAS0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADgQAAAAAAAC8AAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAEtAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFgAAAAACABYAAAAAAACBAAAAAAAALgAAAAAAAi0AAAAAAAMuAAAAAAADgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAACgAAAAAAAIEAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAKAAAAAAAAgQAAAAAAAAoAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAAALgAAAAAAAS0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADgQAAAAAAAC8AAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAEtAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFgAAAAACABYAAAAAAwCBAAAAAAAALgAAAAAAAi0AAAAAAAMuAAAAAAADgQAAAAAAAA== version: 7 -3,-1: ind: -3,-1 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABYAAAAAAAAWAAAAAAEAFgAAAAAAABYAAAAAAQCBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLgAAAAAAAoEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAWAAAAAAMAFgAAAAABABYAAAAAAwAWAAAAAAIAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAgAAAAAAMALQAAAAAAAC0AAAAAAAAvAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFgAAAAAAAIEAAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMuAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC8AAAAAAAAtAAAAAAAAJQAAAAAAACsAAAAAAgArAAAAAAEAKwAAAAABACsAAAAAAgArAAAAAAEAKwAAAAACACsAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAMAgQAAAAAAACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAAIEAAAAAAAAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAACAAAAAAAQCBAAAAAAAAIAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABYAAAAAAQAWAAAAAAAAFgAAAAADABYAAAAAAQCBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLgAAAAAAAoEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAWAAAAAAAAFgAAAAABABYAAAAAAQAWAAAAAAIAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAAAgAAAAAAMALQAAAAAAAC0AAAAAAAAvAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFgAAAAADAIEAAAAAAAAuAAAAAAABLQAAAAAAAy4AAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMuAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC8AAAAAAAAtAAAAAAAAJQAAAAAAACsAAAAAAgArAAAAAAAAKwAAAAADACsAAAAAAQArAAAAAAIAKwAAAAAAACsAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAACAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAABAIEAAAAAAAAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAAIAAAAAADAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -4,-1: ind: -4,-1 @@ -196,7 +196,7 @@ entities: version: 7 -4,-2: ind: -4,-2 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAAsAAAAAAACBAAAAAAAACQAAAAAAAAkAAAAAAAArAAAAAAMAKwAAAAADACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAALAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAAKwAAAAAAACsAAAAAAAAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAACwAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAACsAAAAAAQArAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAADMAAAAAAAAzAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAMwAAAAAAAIEAAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAAsAAAAAAACBAAAAAAAACQAAAAAAAAkAAAAAAAArAAAAAAIAKwAAAAADACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAALAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAAKwAAAAADACsAAAAAAQAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAACwAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAACsAAAAAAQArAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAADMAAAAAAAAzAAAAAAwAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAMwAAAAAJAIEAAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 -5,-2: ind: -5,-2 @@ -204,7 +204,7 @@ entities: version: 7 -4,-4: ind: -4,-4 - tiles: DAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAALAAAAAAAAgQAAAAAAAA0AAAAAAAANAAAAAAAAKwAAAAAAACsAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgCBAAAAAAAAgQAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACwAAAAAAAIEAAAAAAAANAAAAAAAADQAAAAAAACsAAAAAAAArAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAsAAAAAAACBAAAAAAAADQAAAAAAAA0AAAAAAAArAAAAAAIAKwAAAAADAB4AAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAxcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAAuAAAAAAABFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAAuAAAAAAABLQAAAAAAAxcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAtAAAAAAADLgAAAAAAAy4AAAAAAAIuAAAAAAAALgAAAAAAAi0AAAAAAAMXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAALgAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAy4AAAAAAAAuAAAAAAACFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALgAAAAAAAYEAAAAAAACBAAAAAAAALgAAAAAAAQ== + tiles: DAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAALAAAAAAAAgQAAAAAAAA0AAAAAAAANAAAAAAAAKwAAAAADACsAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQCBAAAAAAAAgQAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACwAAAAAAAIEAAAAAAAANAAAAAAAADQAAAAAAACsAAAAAAAArAAAAAAEAHgAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAsAAAAAAACBAAAAAAAADQAAAAAAAA0AAAAAAAArAAAAAAIAKwAAAAACAB4AAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAxcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAAuAAAAAAABFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAAuAAAAAAABLQAAAAAAAxcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAtAAAAAAADLgAAAAAAAy4AAAAAAAIuAAAAAAAALgAAAAAAAi0AAAAAAAMXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAALgAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAy4AAAAAAAAuAAAAAAACFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALgAAAAAAAYEAAAAAAACBAAAAAAAALgAAAAAAAQ== version: 7 -4,-3: ind: -4,-3 @@ -212,7 +212,7 @@ entities: version: 7 -3,-5: ind: -3,-5 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLgAAAAAAA4EAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAADLgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMuAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALwAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAALQAAAAAAAy0AAAAAAAAuAAAAAAABLgAAAAAAAw8AAAAAAwAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAAAJQAAAAABAC0AAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLgAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAtAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMuAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALwAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAALQAAAAAAAy0AAAAAAAAuAAAAAAABLgAAAAAAAw8AAAAAAQAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAAAJQAAAAAAAC0AAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAACsAAAAAAQctAAAAAAAAgQAAAAAAAA== version: 7 -4,-5: ind: -4,-5 @@ -220,7 +220,7 @@ entities: version: 7 -3,-6: ind: -3,-6 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAACBAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 -5,-4: ind: -5,-4 @@ -232,11 +232,11 @@ entities: version: 7 -2,-5: ind: -2,-5 - tiles: gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAawAAAAABAGsAAAAAAABrAAAAAAEAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAACQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAADAGAAAAAAAwCBAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgCBAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAEAgQAAAAAAAAkAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAIAYAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAMAgQAAAAAAAGAAAAAAAABgAAAAAAMAYAAAAAADAIEAAAAAAAAJAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAACAIEAAAAAAABgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAIAYAAAAAADAGAAAAAAAwCBAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgCBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAIAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAABgAAAAAAEAgQAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAABgAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAQCBAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAABAA== + tiles: gQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAawAAAAAAAGsAAAAAAwBrAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAACQAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAAAAGAAAAAAAwCBAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAAAgQAAAAAAAAkAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAgBgAAAAAAEAYAAAAAABAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAMAgQAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAADAIEAAAAAAAAJAAAAAAAAYAAAAAACAGAAAAAAAwBgAAAAAAIAYAAAAAAAAIEAAAAAAABgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAgBgAAAAAAEAYAAAAAADAGAAAAAAAwCBAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQCBAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAACAGAAAAAAAgBgAAAAAAMAYAAAAAACAGAAAAAAAgBgAAAAAAIAgQAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAABAGAAAAAAAABgAAAAAAMAgQAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAADAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAADAGAAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAQBgAAAAAAIAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAADAGAAAAAAAgBgAAAAAAAAYAAAAAADAA== version: 7 -1,-5: ind: -1,-5 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC0AAAAAAAAgAAAAAAEALQAAAAAAAC8AAAAAAACBAAAAAAAALwAAAAAAAC0AAAAAAAAgAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAAvAAAAAAAAgQAAAAAAAC8AAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAALgAAAAAAAC0AAAAAAAAuAAAAAAAALwAAAAAAAIEAAAAAAAAvAAAAAAAALgAAAAAAAC0AAAAAAAAuAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAABsAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAbAAAAAAAAGwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABsAAAAAAACBAAAAAAAAGwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAGwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAABsAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAgAgAAAAAAMAgQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAIAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAwAgAAAAAAMAIAAAAAAAACAAAAAAAwAgAAAAAAMAIAAAAAADACAAAAAAAAAgAAAAAAIAIAAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAAbAAAAAAAAgQAAAAAAACAAAAAAAAAgAAAAAAIAIAAAAAACACAAAAAAAQAgAAAAAAMAIAAAAAAAACAAAAAAAAAgAAAAAAMAIAAAAAAAACAAAAAAAwCBAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAGwAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAABACAAAAAAAwAgAAAAAAMAIAAAAAACACAAAAAAAAAgAAAAAAIAIAAAAAAAACAAAAAAAwAgAAAAAAMAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAwAgAAAAAAIAIAAAAAABACAAAAAAAQAgAAAAAAEAIAAAAAABAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC0AAAAAAAAgAAAAAAAALQAAAAAAAC8AAAAAAACBAAAAAAAALwAAAAAAAC0AAAAAAAAgAAAAAAEALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAAvAAAAAAAAgQAAAAAAAC8AAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAALgAAAAAAAC0AAAAAAAAuAAAAAAAALwAAAAAAAIEAAAAAAAAvAAAAAAAALgAAAAAAAC0AAAAAAAAuAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAABsAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAbAAAAAAAAGwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABsAAAAAAACBAAAAAAAAGwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAGwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAABsAAAAAAACBAAAAAAAAIAAAAAACACAAAAAAAQAgAAAAAAAAgQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAAAJAAAAAAAACQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAAAgAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAACBAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAMAIAAAAAABACAAAAAAAAAgAAAAAAIAIAAAAAABACAAAAAAAQAgAAAAAAMAIAAAAAADAIEAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAAbAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAAAACAAAAAAAQAgAAAAAAEAIAAAAAAAACAAAAAAAwAgAAAAAAEAIAAAAAABACAAAAAAAQCBAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAGwAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAABACAAAAAAAwAgAAAAAAAAIAAAAAADACAAAAAAAwAgAAAAAAEAIAAAAAABACAAAAAAAgAgAAAAAAAAgQAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAACBAAAAAAAAIAAAAAADACAAAAAAAwAgAAAAAAEAIAAAAAABACAAAAAAAwAgAAAAAAIAIAAAAAACACAAAAAAAgAgAAAAAAIAIAAAAAABAA== version: 7 -1,-6: ind: -1,-6 @@ -244,31 +244,31 @@ entities: version: 7 0,-6: ind: 0,-6 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAADAGAAAAAAAwBgAAAAAAMAYAAAAAADAGAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAABAGAAAAAAAgBgAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAQBgAAAAAAAAYAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAADAIEAAAAAAAAXAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAAAQAAAAAAAAEAAAAAADABAAAAAAAwCBAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAEAAAAAAAABAAAAAAAgAQAAAAAAEAgQAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAABAAAAAAAAAQAAAAAAIAEAAAAAADAIEAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAEAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAQAAAAAAIAEAAAAAABABAAAAAAAwCBAAAAAAAAFwAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAQAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAwBgAAAAAAIAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAABAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAARAAAAAAAAIEAAAAAAABEAAAAAAAAgQAAAAAAAEQAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAEQAAAAAAACBAAAAAAAARAAAAAAAAIEAAAAAAABEAAAAAAAAgQAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAgBgAAAAAAMAYAAAAAADAGAAAAAAAwBgAAAAAAEAYAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAAAYAAAAAADAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAgBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAwBgAAAAAAIAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAADAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABAAAAAAAQAQAAAAAAAAEAAAAAADAIEAAAAAAAAXAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAAAQAAAAAAIAEAAAAAAAABAAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAEAAAAAACABAAAAAAAwAQAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAABAAAAAAAgAQAAAAAAEAEAAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAQAAAAAAMAEAAAAAADABAAAAAAAgCBAAAAAAAAFwAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAABAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAgAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAADAGAAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAgBgAAAAAAIAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAACAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAARAAAAAAAAIEAAAAAAABEAAAAAAAAgQAAAAAAAEQAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAEQAAAAAAACBAAAAAAAARAAAAAAAAIEAAAAAAABEAAAAAAAAgQAAAAAAAA== version: 7 0,-7: ind: 0,-7 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAgBgAAAAAAEAYAAAAAACAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAgBgAAAAAAEAYAAAAAACAGAAAAAAAgBgAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAwBgAAAAAAIAYAAAAAABAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAACAGAAAAAAAQBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAIAYAAAAAACAGAAAAAAAgBgAAAAAAEAYAAAAAACAA== version: 7 1,-6: ind: 1,-6 - tiles: YAAAAAACAGAAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAwBgAAAAAAIAYAAAAAACAGAAAAAAAwAaAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAQBgAAAAAAEAYAAAAAADAIEAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAQBgAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAAAYAAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAIAYAAAAAABABoAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAABAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAQBgAAAAAAEAYAAAAAADAGAAAAAAAABgAAAAAAAAYAAAAAACAIEAAAAAAABgAAAAAAIAYAAAAAACAGsAAAAAAABgAAAAAAMAYAAAAAACAGsAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAgBrAAAAAAEAYAAAAAABAGsAAAAAAABgAAAAAAMAYAAAAAABAGAAAAAAAgCBAAAAAAAAYAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAACAGAAAAAAAQBgAAAAAAEAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAIAYAAAAAACAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAIAYAAAAAABAGAAAAAAAgBgAAAAAAEAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAgBgAAAAAAMAYAAAAAABAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAABAGAAAAAAAQBgAAAAAAEAYAAAAAADAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: YAAAAAADAGAAAAAAAwBgAAAAAAMAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAAAaAAAAAAEAYAAAAAACAGAAAAAAAQBgAAAAAAIAYAAAAAADAGAAAAAAAgBgAAAAAAIAYAAAAAACAIEAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAwBgAAAAAAMAYAAAAAACAGAAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAgBgAAAAAAIAYAAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAABABoAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAgBgAAAAAAEAYAAAAAAAAGAAAAAAAwBgAAAAAAEAgQAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAMAYAAAAAADAGAAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAEAYAAAAAABAIEAAAAAAABgAAAAAAEAYAAAAAAAAGsAAAAAAgBgAAAAAAIAYAAAAAACAGsAAAAAAgBgAAAAAAEAYAAAAAACAGAAAAAAAABrAAAAAAAAYAAAAAABAGsAAAAAAwBgAAAAAAEAYAAAAAAAAGAAAAAAAwCBAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAMAYAAAAAABAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAgBgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAIAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAMAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAABAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAMAYAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 1,-7: ind: 1,-7 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAgQAAAAAAAGAAAAAAAABgAAAAAAMAYAAAAAADAIEAAAAAAABgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAABAIEAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAgCBAAAAAAAAYAAAAAACAIEAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAwCBAAAAAAAAGgAAAAADAGAAAAAAAABgAAAAAAEAgQAAAAAAAGAAAAAAAwCBAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAIAgQAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAEAgQAAAAAAABoAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAQAaAAAAAAMAYAAAAAACAGAAAAAAAgBgAAAAAAMAYAAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAABAIEAAAAAAAAaAAAAAAMAYAAAAAACAGAAAAAAAgBgAAAAAAMAYAAAAAADAGAAAAAAAgBgAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAAAYAAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAQBgAAAAAAIAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAABABoAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAQBgAAAAAAEAYAAAAAABAGAAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAQBgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAMAYAAAAAACAGAAAAAAAwBgAAAAAAIAYAAAAAABAGAAAAAAAQBgAAAAAAMAYAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAIEAAAAAAABgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAgCBAAAAAAAAYAAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAQCBAAAAAAAAYAAAAAADAIEAAAAAAABgAAAAAAMAYAAAAAACAGAAAAAAAACBAAAAAAAAGgAAAAAAAGAAAAAAAABgAAAAAAEAgQAAAAAAAGAAAAAAAQCBAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAIAgQAAAAAAAGAAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAQBgAAAAAAIAgQAAAAAAABoAAAAAAwBgAAAAAAIAYAAAAAABAGAAAAAAAQBgAAAAAAIAYAAAAAAAAGAAAAAAAgAaAAAAAAIAYAAAAAADAGAAAAAAAgBgAAAAAAEAYAAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAAAAIEAAAAAAAAaAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAAAYAAAAAABAGAAAAAAAgCBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAADAGAAAAAAAwBgAAAAAAAAYAAAAAACABoAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAACAGAAAAAAAgBgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAQBgAAAAAAEAYAAAAAABAGAAAAAAAgBgAAAAAAEAYAAAAAACAA== version: 7 1,-5: ind: 1,-5 - tiles: LQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACsAAAAAAQArAAAAAAAAKwAAAAAAACsAAAAAAwArAAAAAAEAKwAAAAADACsAAAAAAwArAAAAAAEAJQAAAAACAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAysAAAAAAActAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAoEAAAAAAAAPAAAAAAAADwAAAAAAAA8AAAAAAACBAAAAAAAALgAAAAAAAy0AAAAAAAArAAAAAAAHLQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAADwAAAAACAA8AAAAAAgAPAAAAAAEAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAADwAAAAABAA8AAAAAAAAPAAAAAAIADwAAAAACAA8AAAAAAgCBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAA8AAAAAAwAPAAAAAAIADwAAAAADAA8AAAAAAQAPAAAAAAEAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAgAAAAAAMAIAAAAAADAIEAAAAAAAAPAAAAAAAADwAAAAABAA8AAAAAAAAPAAAAAAEADwAAAAACAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAADwAAAAADAA8AAAAAAAAPAAAAAAMADwAAAAACAA8AAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAACAAAAAAAAAgAAAAAAIAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAA8AAAAAAwAPAAAAAAMADwAAAAADAA8AAAAAAgAkAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAACAAAAAAAQAgAAAAAAMAIAAAAAABACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAAABy0AAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADACAAAAAAAgAgAAAAAAMAIAAAAAABACAAAAAAAgAgAAAAAAEALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJAAAAAACACAAAAAAAgAgAAAAAAMAJQAAAAABACAAAAAAAQAgAAAAAAMAgQAAAAAAAC0AAAAAAAArAAAAAAAHLgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAACAAAAAAAgAgAAAAAAAAIAAAAAABACUAAAAAAQAgAAAAAAIAIAAAAAABAIEAAAAAAAAtAAAAAAAAKwAAAAAABy4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAAAgAAAAAAEAIAAAAAABACAAAAAAAgAgAAAAAAAAIAAAAAADACQAAAAAAgCBAAAAAAAALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAAAgAAAAAAAAIAAAAAADAIEAAAAAAAAKAAAAAAAAgQAAAAAAAA== + tiles: LQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACsAAAAAAgArAAAAAAEAKwAAAAABACsAAAAAAQArAAAAAAMAKwAAAAAAACsAAAAAAgArAAAAAAIAJQAAAAADAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAysAAAAAAActAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAoEAAAAAAAAPAAAAAAMADwAAAAACAA8AAAAAAgCBAAAAAAAALgAAAAAAAy0AAAAAAAArAAAAAAEHLQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAADwAAAAADAA8AAAAAAAAPAAAAAAIAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAADwAAAAAAAA8AAAAAAgAPAAAAAAAADwAAAAABAA8AAAAAAQCBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAA8AAAAAAwAPAAAAAAMADwAAAAAAAA8AAAAAAgAPAAAAAAIAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAgAAAAAAMAIAAAAAACAIEAAAAAAAAPAAAAAAMADwAAAAACAA8AAAAAAgAPAAAAAAIADwAAAAABAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAADwAAAAADAA8AAAAAAgAPAAAAAAAADwAAAAABAA8AAAAAAACBAAAAAAAALQAAAAAAACsAAAAAAgctAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA8AAAAAAQAPAAAAAAEADwAAAAADAA8AAAAAAwAkAAAAAAMAgQAAAAAAAC0AAAAAAAArAAAAAAEHLQAAAAAAACAAAAAAAAAgAAAAAAEAIAAAAAACACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAAKwAAAAABBy0AAAAAAAAgAAAAAAMAIAAAAAABACAAAAAAAwAgAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAEAIAAAAAACACAAAAAAAAAgAAAAAAIALQAAAAAAACsAAAAAAActAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJAAAAAABACAAAAAAAQAgAAAAAAEAJQAAAAADACAAAAAAAwAgAAAAAAEAgQAAAAAAAC0AAAAAAAArAAAAAAIHLgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAACAAAAAAAwAgAAAAAAMAIAAAAAADACUAAAAAAwAgAAAAAAMAIAAAAAADAIEAAAAAAAAtAAAAAAAAKwAAAAADBy4AAAAAAAItAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAA4EAAAAAAAAgAAAAAAIAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACQAAAAAAgCBAAAAAAAALQAAAAAAACsAAAAAAgctAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAArAAAAAAAHLQAAAAAAAIEAAAAAAAAgAAAAAAIAIAAAAAACAIEAAAAAAAAKAAAAAAAAgQAAAAAAAA== version: 7 2,-6: ind: 2,-6 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAA== version: 7 2,-5: ind: 2,-5 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADACAAAAAAAQCBAAAAAAAACgAAAAAAAAoAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAAgQAAAAAAAAoAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADACAAAAAAAQCBAAAAAAAACgAAAAAAAAoAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAAgQAAAAAAAAoAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 2,-7: ind: 2,-7 @@ -276,63 +276,63 @@ entities: version: 7 3,-5: ind: 3,-5 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAeAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAKAAAAAAAAHgAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAACgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAKAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 4,-5: ind: 4,-5 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAHgAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAB4AAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAoAAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 3,-6: ind: 3,-6 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAeAAAAAAAAHgAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAeAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAA== version: 7 4,-4: ind: 4,-4 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAAAIAAAAAADACAAAAAAAQAsAAAAAAMALAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAMAJAAAAAACAIEAAAAAAAAgAAAAAAIAIAAAAAAAACAAAAAAAgAgAAAAAAAALAAAAAADACwAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAC8AAAAAAACBAAAAAAAAIAAAAAADACAAAAAAAQAgAAAAAAEAIAAAAAADACAAAAAAAgAgAAAAAAMAIAAAAAACACAAAAAAAgAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAEAgQAAAAAAACAAAAAAAgAgAAAAAAMAIAAAAAACACAAAAAAAQAgAAAAAAAAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAAAIAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAAAvAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAACgAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAHgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAHgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAgBgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAC8AAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAMARAAAAAAAAEQAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAAAAGAAAAAAAAAaAAAAAAIAGgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACABAAAAAAAQAQAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAIAgQAAAAAAACAAAAAAAQAgAAAAAAEAIAAAAAAAACAAAAAAAgAQAAAAAAAAEAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 5,-4: ind: 5,-4 - tiles: LwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: LwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAAAGAAAAAAAAA== version: 7 5,-5: ind: 5,-5 - tiles: FwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAHQAAAAAAAB0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: FwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAHQAAAAAAAB0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 3,-4: ind: 3,-4 - tiles: CgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAARAAAAAAAAEQAAAAAAABEAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAUAAAAAADAFAAAAAAAABQAAAAAAAAUAAAAAABAFAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAABACUAAAAAAAAlAAAAAAIAJQAAAAABACUAAAAAAwCBAAAAAAAAgQAAAAAAAFAAAAAAAgBQAAAAAAEAUAAAAAAAAFAAAAAAAgBQAAAAAAIAgQAAAAAAAIEAAAAAAAAlAAAAAAMAJQAAAAACACUAAAAAAQAlAAAAAAIAJQAAAAAAACUAAAAAAwAlAAAAAAMAgQAAAAAAAIEAAAAAAABQAAAAAAAAUAAAAAACAFAAAAAAAwBQAAAAAAMAUAAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAACACUAAAAAAAAlAAAAAAMAJQAAAAACACUAAAAAAQAlAAAAAAIAJQAAAAADAIEAAAAAAACBAAAAAAAAUAAAAAAAAFAAAAAAAwBQAAAAAAMAUAAAAAADAFAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAIAJQAAAAABACUAAAAAAgAlAAAAAAEAJQAAAAAAACUAAAAAAACBAAAAAAAAgQAAAAAAAFAAAAAAAgBQAAAAAAAAUAAAAAABAFAAAAAAAwCBAAAAAAAAgQAAAAAAAC0AAAAAAAOBAAAAAAAAJQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAARAAAAAAAAEQAAAAAAABEAAAAAAAARAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAMlAAAAAAMAIAAAAAADACAAAAAAAgAgAAAAAAMAUAAAAAACAFAAAAAAAwBQAAAAAAEAUAAAAAADACAAAAAAAAAgAAAAAAMALQAAAAAAAy4AAAAAAAMuAAAAAAACLQAAAAAAAy4AAAAAAAMtAAAAAAAAJQAAAAACACAAAAAAAQAgAAAAAAAAIAAAAAADACAAAAAAAAAgAAAAAAIAIAAAAAACACAAAAAAAAAgAAAAAAIAIAAAAAACAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAAMuAAAAAAAALQAAAAAAACUAAAAAAgAgAAAAAAIAIAAAAAABACAAAAAAAQAgAAAAAAMAIAAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAABACAAAAAAAQCBAAAAAAAALQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy4AAAAAAAAlAAAAAAMAIAAAAAADACAAAAAAAQAgAAAAAAIAIAAAAAADACAAAAAAAgAgAAAAAAIAIAAAAAABACAAAAAAAgAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAMAIAAAAAAAACAAAAAAAwAgAAAAAAMAIAAAAAAAACAAAAAAAQAgAAAAAAAAIAAAAAACAA== + tiles: CgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAgAlAAAAAAEAJQAAAAACACUAAAAAAQAlAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAABACUAAAAAAwAlAAAAAAAAJQAAAAADACUAAAAAAQAlAAAAAAEAJQAAAAACAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAABACUAAAAAAQAlAAAAAAIAJQAAAAACACUAAAAAAAAlAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAIAJQAAAAADACUAAAAAAgAlAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAHgAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAC0AAAAAAAOBAAAAAAAAJQAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAFAAAAAAAwBEAAAAAAAARAAAAAAAAEQAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAAtAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABQAAAAAAEAUAAAAAADAFAAAAAAAgBQAAAAAAIAUAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAALQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAUAAAAAAAAFAAAAAAAQBQAAAAAAMAUAAAAAABAFAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAAALQAAAAAAAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAFAAAAAAAwBQAAAAAAAAUAAAAAADAFAAAAAAAABQAAAAAAAAgQAAAAAAAA== version: 7 4,-3: ind: 4,-3 - tiles: gQAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAACAGAAAAAAAQBgAAAAAAMAYAAAAAAAAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAQBgAAAAAAIAYAAAAAAAAGAAAAAAAQBgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAEAIAAAAAAAACAAAAAAAQCBAAAAAAAAYAAAAAADAGAAAAAAAwBgAAAAAAEAYAAAAAAAAGAAAAAAAwBEAAAAAAAARAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACYAAAAAAAAmAAAAAAIAJgAAAAABACYAAAAAAQAmAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAAAIAAAAAADAGAAAAAAAwBgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAIAgQAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAABACAAAAAAAABgAAAAAAMAYAAAAAABAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAIAYAAAAAADAGAAAAAAAwCBAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAMAgQAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAwCBAAAAAAAAIAAAAAABACAAAAAAAwBEAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAIAgQAAAAAAACAAAAAAAgAgAAAAAAIARAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABACAAAAAAAwAgAAAAAAEAIAAAAAABAEQAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAgAgAAAAAAAAIAAAAAACACAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: YAAAAAAAAGAAAAAAAwBgAAAAAAEAIAAAAAAAACAAAAAAAQAgAAAAAAEAIAAAAAACACAAAAAAAQAgAAAAAAEAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAABAGAAAAAAAwBgAAAAAAMAYAAAAAADAIEAAAAAAAAgAAAAAAEAIAAAAAADACAAAAAAAQAgAAAAAAEAIAAAAAADACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAABACAAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAgBgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACYAAAAAAwAmAAAAAAIAYAAAAAABAGAAAAAAAQBgAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAADAGAAAAAAAQBgAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAEAIAAAAAADAGAAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAQBgAAAAAAEAgQAAAAAAAIEAAAAAAABvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAABACAAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAABvAAAAAAAAbwAAAAAAAG8AAAAAAABvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAwBgAAAAAAIAgQAAAAAAAGAAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAgBgAAAAAAAAbwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAADAGAAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAgBgAAAAAAMAYAAAAAABAGAAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAACAIEAAAAAAACBAAAAAAAAIAAAAAAAAEQAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAgCBAAAAAAAAIAAAAAAAACAAAAAAAwBEAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAAARAAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAACACAAAAAAAQAgAAAAAAEAIAAAAAACACAAAAAAAgCBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAwCBAAAAAAAAIAAAAAACACAAAAAAAwAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 5,-3: ind: 5,-3 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAEAAAAAAAABAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAACAAAAAAAQAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAAAQAAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAAAmAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAABAAAAAAAAIEAAAAAAAAEAAAAAAAARwAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAIAAAAAABABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAABAAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAA== + tiles: IAAAAAADACAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAAACAAAAAAAQAgAAAAAAEAIAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAABAAAAAAAABgAAAAAAAAmAAAAAAEAJgAAAAAAACYAAAAAAwAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAEAAAAAAAAgQAAAAAAAAQAAAAAAABHAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAAAIAAAAAABACAAAAAAAwAgAAAAAAEAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAEAAAAAAAAGAAAAAAAACAAAAAAAQAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAEAAAAAAAABAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAEAAAAAAAABAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAA== version: 7 3,-3: ind: 3,-3 - tiles: gQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAAAeAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAABAIEAAAAAAABgAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAgCBAAAAAAAAYAAAAAAAAGAAAAAAAwAlAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAIAgQAAAAAAAGAAAAAAAwBgAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAgBgAAAAAAAAYAAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAAAACUAAAAAAwCBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAGAAAAAAAgAlAAAAAAEAgQAAAAAAAC8AAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAQBgAAAAAAIAYAAAAAAAAGAAAAAAAQBgAAAAAAMAJQAAAAABAIEAAAAAAAAvAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAARAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAABAGAAAAAAAQBgAAAAAAAAYAAAAAAAACUAAAAAAwCBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAgCBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAIAgQAAAAAAAGAAAAAAAABgAAAAAAMAgQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAACAGAAAAAAAQBgAAAAAAIAYAAAAAACAGAAAAAAAwCBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAABgAAAAAAMAgQAAAAAAAGAAAAAAAwBgAAAAAAEAgQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAbwAAAAAAAGAAAAAAAgBgAAAAAAIAbwAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAIEAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAADAG8AAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAQAYAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAwCBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAGQAAAAACABkAAAAAAAAZAAAAAAIAGQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAABAA== + tiles: gQAAAAAAAIEAAAAAAAAtAAAAAAAAIAAAAAACAC0AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAFAAAAAAAgBQAAAAAAMAUAAAAAADAFAAAAAAAABQAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAC0AAAAAAAAuAAAAAAABLgAAAAAAA4EAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAUAAAAAACAFAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAAtAAAAAAAAIAAAAAAAAC4AAAAAAAEtAAAAAAABLQAAAAAAAYEAAAAAAACBAAAAAAAAUAAAAAABAFAAAAAAAgBQAAAAAAMAUAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAAALgAAAAAAAS4AAAAAAAMgAAAAAAAAIAAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAQAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAAAtAAAAAAAAIAAAAAACACAAAAAAAwAgAAAAAAAAIAAAAAAAACAAAAAAAgAgAAAAAAEAIAAAAAACACAAAAAAAgAgAAAAAAMAIAAAAAADAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAIAIAAAAAADACAAAAAAAgAgAAAAAAAAIAAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAADACAAAAAAAABgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACACAAAAAAAQAgAAAAAAAAIAAAAAAAACAAAAAAAgAgAAAAAAAAIAAAAAABACAAAAAAAQAgAAAAAAEAgQAAAAAAAIEAAAAAAAAeAAAAAAAAHgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAADAIEAAAAAAABgAAAAAAMAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEARAAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAgCBAAAAAAAAYAAAAAADAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAgCBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAMAgQAAAAAAAGAAAAAAAgBgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAMAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAADAIEAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAIAYAAAAAADAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAwBgAAAAAAEAYAAAAAABAGAAAAAAAQBgAAAAAAEAYAAAAAACAGAAAAAAAABgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQCBAAAAAAAAgQAAAAAAAGAAAAAAAQCBAAAAAAAAYAAAAAADAGAAAAAAAgCBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAAAAIEAAAAAAACBAAAAAAAAFgAAAAACABYAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAQBgAAAAAAMAYAAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAABYAAAAAAwAWAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAwBgAAAAAAIAYAAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAABgAAAAAAIAgQAAAAAAAIEAAAAAAAAWAAAAAAAAFgAAAAACABYAAAAAAQBgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAgBgAAAAAAIAYAAAAAACAGAAAAAAAQBgAAAAAAMAYAAAAAADAA== version: 7 4,-2: ind: 4,-2 - tiles: YAAAAAABAGAAAAAAAQCBAAAAAAAAIAAAAAACACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAAAABIAAAAAAAASAAAAAAAAEgAAAAAAABIAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAIAYAAAAAAAAGAAAAAAAwBgAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAAAEgAAAAAAABIAAAAAAAASAAAAAAAAEgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAARwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAS8AAAAAAAAtAAAAAAABLQAAAAAAAS0AAAAAAAEuAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAEvAAAAAAAALQAAAAAAAS0AAAAAAAEuAAAAAAADLgAAAAAAAS4AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAABLwAAAAAAAC0AAAAAAAGBAAAAAAAALgAAAAAAAS0AAAAAAAEtAAAAAAAALwAAAAAAACAAAAAAAQAgAAAAAAAAIAAAAAACACAAAAAAAAAgAAAAAAMAIAAAAAADACAAAAAAAwAgAAAAAAAAgQAAAAAAAEcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS4AAAAAAAOBAAAAAAAAIAAAAAADACAAAAAAAgAgAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAMAIAAAAAACAIEAAAAAAAAlAAAAAAMAJQAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAMtAAAAAAAAgQAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAADACAAAAAAAwAgAAAAAAAAIAAAAAADACAAAAAAAACBAAAAAAAAJQAAAAABACUAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAABLgAAAAAAAIEAAAAAAAAgAAAAAAIAIAAAAAABACAAAAAAAgAgAAAAAAEAIAAAAAACACAAAAAAAQAgAAAAAAEAgQAAAAAAACUAAAAAAAAlAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAOBAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAIAIAAAAAAAACAAAAAAAgAgAAAAAAAAIAAAAAACACUAAAAAAgAlAAAAAAAAJQAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAMAJQAAAAAAACUAAAAAAwCBAAAAAAAAIQAAAAABACEAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAA== + tiles: YAAAAAAAAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQCBAAAAAAAAgQAAAAAAABIAAAAAAAASAAAAAAAAEgAAAAAAABIAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAwBgAAAAAAEAYAAAAAACAGAAAAAAAgBgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAEAYAAAAAADAGAAAAAAAQBgAAAAAAIAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAABgAAAAAAEAEgAAAAAAABIAAAAAAAASAAAAAAAAEgAAAAAAABIAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAARwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAS8AAAAAAAAtAAAAAAABLQAAAAAAAS0AAAAAAAEuAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC0AAAAAAAEvAAAAAAAALQAAAAAAAS0AAAAAAAEuAAAAAAADLgAAAAAAAS4AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAABLwAAAAAAAC0AAAAAAAGBAAAAAAAALgAAAAAAAS0AAAAAAAEtAAAAAAAALwAAAAAAACAAAAAAAwAgAAAAAAEAIAAAAAAAACAAAAAAAgAgAAAAAAAAIAAAAAADACAAAAAAAQAgAAAAAAMAgQAAAAAAAEcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAS4AAAAAAAOBAAAAAAAAIAAAAAACACAAAAAAAAAgAAAAAAIAIAAAAAADACAAAAAAAwAgAAAAAAIAIAAAAAACAIEAAAAAAAAlAAAAAAAAJQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAMtAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAAAIAAAAAADACAAAAAAAwAgAAAAAAMAIAAAAAACACAAAAAAAQCBAAAAAAAAJQAAAAABACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAABLgAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAAAACAAAAAAAAAgAAAAAAIAIAAAAAABACAAAAAAAQAgAAAAAAIAgQAAAAAAACUAAAAAAwAlAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAALQAAAAAAAy0AAAAAAAOBAAAAAAAAIAAAAAACACAAAAAAAAAgAAAAAAEAIAAAAAABACAAAAAAAgAgAAAAAAIAIAAAAAADACUAAAAAAQAlAAAAAAEAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAIAJQAAAAADACUAAAAAAgCBAAAAAAAAIQAAAAAAACEAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAA== version: 7 3,-2: ind: 3,-2 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAGQAAAAABABkAAAAAAAAZAAAAAAMAGQAAAAACAIEAAAAAAABgAAAAAAIAYAAAAAADAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAwAvAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAgBgAAAAAAMAYAAAAAACAGAAAAAAAQBgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADAIEAAAAAAABgAAAAAAEAYAAAAAABABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAACAGAAAAAAAABgAAAAAAEAYAAAAAACAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAAAAGAAAAAAAABgAAAAAAIAgQAAAAAAAIEAAAAAAABHAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAABLwAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAABLQAAAAAAAS8AAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAS0AAAAAAAEvAAAAAAAAIAAAAAACACAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAgAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAARwAAAAAAACUAAAAAAAAlAAAAAAMAJQAAAAAAACUAAAAAAwAlAAAAAAAAJQAAAAAAACUAAAAAAgAlAAAAAAAAJQAAAAABACUAAAAAAwAlAAAAAAMARwAAAAAAAIEAAAAAAABHAAAAAAAAgQAAAAAAACUAAAAAAABgAAAAAAAAYAAAAAACAGAAAAAAAgBgAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAAAAGAAAAAAAQCBAAAAAAAAIAAAAAABACAAAAAAAwAgAAAAAAMAIAAAAAADACAAAAAAAwAlAAAAAAMAIgAAAAADACIAAAAAAQAiAAAAAAMAIgAAAAADACQAAAAAAgAiAAAAAAMAIgAAAAACACIAAAAAAgBgAAAAAAEAIAAAAAAAACAAAAAAAwAgAAAAAAIAIAAAAAADACAAAAAAAgCBAAAAAAAARwAAAAAAAGAAAAAAAgBgAAAAAAIAYAAAAAABAGAAAAAAAwBgAAAAAAMAYAAAAAADAGAAAAAAAgAiAAAAAAEAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAwAfAAAAAAIAgQAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAIEAAAAAAABgAAAAAAAAIgAAAAAAAGAAAAAAAABHAAAAAAAAJQAAAAAAACUAAAAAAwAlAAAAAAIAJQAAAAABACUAAAAAAwAlAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQAiAAAAAAMAIgAAAAAAACIAAAAAAQBgAAAAAAEAgQAAAAAAACQAAAAAAgAlAAAAAAAAJQAAAAAAACUAAAAAAQAlAAAAAAMAJQAAAAABAA== + tiles: gQAAAAAAAIEAAAAAAAAWAAAAAAIAFgAAAAADABYAAAAAAABgAAAAAAIAgQAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAACAGAAAAAAAwBgAAAAAAMAYAAAAAABAGAAAAAAAgBgAAAAAAEAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAADAIEAAAAAAABgAAAAAAMAYAAAAAABAIEAAAAAAABgAAAAAAAAYAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAQCBAAAAAAAAYAAAAAACAGAAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAgBgAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAABAIEAAAAAAABgAAAAAAEAYAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAEAYAAAAAACAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQCBAAAAAAAAYAAAAAABAGAAAAAAAABgAAAAAAMAgQAAAAAAAIEAAAAAAABHAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAiAAAAAAAgAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAtAAAAAAABLwAAAAAAAC0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAADLgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAABLQAAAAAAAS8AAAAAAAAuAAAAAAABLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAS0AAAAAAAEvAAAAAAAAIAAAAAADACAAAAAAAAAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADACAAAAAAAgAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAARwAAAAAAACUAAAAAAwAlAAAAAAEAJQAAAAADACUAAAAAAQAlAAAAAAAAJQAAAAABACUAAAAAAAAlAAAAAAMAJQAAAAACACUAAAAAAwAlAAAAAAAARwAAAAAAAIEAAAAAAABHAAAAAAAAgQAAAAAAACUAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAABgAAAAAAMAYAAAAAAAAGAAAAAAAQBgAAAAAAEAYAAAAAACAGAAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAIAIAAAAAACACAAAAAAAwAlAAAAAAAAIgAAAAABACIAAAAAAgAiAAAAAAAAIgAAAAADACQAAAAAAAAiAAAAAAIAIgAAAAAAACIAAAAAAwBgAAAAAAIAIAAAAAAAACAAAAAAAQAgAAAAAAAAIAAAAAABACAAAAAAAwCBAAAAAAAARwAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAAAiAAAAAAAAYAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAQAfAAAAAAIAgQAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAIEAAAAAAABgAAAAAAMAIgAAAAADAGAAAAAAAQBHAAAAAAAAJQAAAAADACUAAAAAAwAlAAAAAAEAJQAAAAABACUAAAAAAQAlAAAAAAEAgQAAAAAAAGAAAAAAAgCBAAAAAAAAgQAAAAAAAGAAAAAAAwAiAAAAAAEAIgAAAAABACIAAAAAAwBgAAAAAAIAgQAAAAAAACQAAAAAAwAlAAAAAAEAJQAAAAACACUAAAAAAwAlAAAAAAIAJQAAAAABAA== version: 7 2,-2: ind: 2,-2 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAAAvAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAMAJQAAAAACACUAAAAAAQApAAAAAAAAgQAAAAAAAC8AAAAAAAAvAAAAAAAALwAAAAAAAC8AAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAKQAAAAACAIEAAAAAAAAvAAAAAAAALwAAAAAAAC8AAAAAAAAvAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAACkAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAJQAAAAADACUAAAAAAgApAAAAAAMAKQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADgQAAAAAAACAAAAAAAwCBAAAAAAAAgQAAAAAAAC4AAAAAAAKBAAAAAAAALgAAAAAAAi0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAAKQAAAAACAC0AAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAIEAAAAAAAAgAAAAAAEAgQAAAAAAACAAAAAAAAAgAAAAAAEAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAABAIEAAAAAAAAtAAAAAAAALgAAAAAAAS0AAAAAAAMuAAAAAAADLwAAAAAAAIEAAAAAAACBAAAAAAAARwAAAAAAACUAAAAAAQAlAAAAAAEAJQAAAAABACUAAAAAAwAlAAAAAAIAJQAAAAAAACUAAAAAAwCBAAAAAAAALgAAAAAAAS0AAAAAAAMtAAAAAAADLgAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAgBgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAAAZAAAAAAIAgQAAAAAAACIAAAAAAQAiAAAAAAMAIgAAAAAAACIAAAAAAAAiAAAAAAMAIgAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAYAAAAAACACIAAAAAAQAiAAAAAAIAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAABAGAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAgAiAAAAAAMAYAAAAAAAAIEAAAAAAAAfAAAAAAEAHwAAAAADAGAAAAAAAAAfAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAEAIgAAAAAAAGAAAAAAAgBgAAAAAAMAgQAAAAAAAIEAAAAAAABgAAAAAAIAgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAALwAAAAAAACUAAAAAAgAlAAAAAAEAJQAAAAADACkAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAApAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAACkAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAYAAAAAAAAGAAAAAAAAIEAAAAAAAAlAAAAAAAAJQAAAAACACkAAAAAAwApAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAuAAAAAAACLQAAAAAAAy0AAAAAAAMuAAAAAAACLgAAAAAAA4EAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC0AAAAAAAMYAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAMtAAAAAAADLgAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy4AAAAAAAIrAAAAAAMAGAAAAAAAACsAAAAAAwArAAAAAAIAKwAAAAABACUAAAAAAwAtAAAAAAAALQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLQAAAAAAAy0AAAAAAAMuAAAAAAAALQAAAAAAAxgAAAAAAAAtAAAAAAADLQAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAACAAAAAAAQAgAAAAAAIAIAAAAAADACAAAAAAAAAgAAAAAAAAIAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAARwAAAAAAACUAAAAAAQAlAAAAAAIAJQAAAAADACUAAAAAAgAlAAAAAAIAJQAAAAADACUAAAAAAgApAAAAAAAAKQAAAAAAAIEAAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAAAAGAAAAAAAwBgAAAAAAIAKQAAAAACACkAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAAAZAAAAAAMAgQAAAAAAACIAAAAAAgAiAAAAAAMAIgAAAAABACIAAAAAAgAiAAAAAAIAIgAAAAADACkAAAAAAwApAAAAAAAAKQAAAAABACkAAAAAAwApAAAAAAEAgQAAAAAAABcAAAAAAACBAAAAAAAAYAAAAAAAACIAAAAAAwAiAAAAAAMAYAAAAAAAAGAAAAAAAQBgAAAAAAAAYAAAAAABAGAAAAAAAwApAAAAAAMAKQAAAAABACkAAAAAAwApAAAAAAIAKQAAAAADAIEAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAwAiAAAAAAAAYAAAAAADAIEAAAAAAAAfAAAAAAMAHwAAAAABAGAAAAAAAwAfAAAAAAIAKQAAAAAAAIEAAAAAAACBAAAAAAAAKQAAAAABAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAMAIgAAAAACAGAAAAAAAQBgAAAAAAEAgQAAAAAAAIEAAAAAAABgAAAAAAIAgQAAAAAAAA== version: 7 2,-3: ind: 2,-3 - tiles: gQAAAAAAACAAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAMAgQAAAAAAAIEAAAAAAAAPAAAAAAIADwAAAAABAA8AAAAAAAAPAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAwAlAAAAAAAAJQAAAAACAIEAAAAAAAABAAAAAAIAAQAAAAABACAAAAAAAgAPAAAAAAMADwAAAAAAAA8AAAAAAwAPAAAAAAIADwAAAAAAAA8AAAAAAgCBAAAAAAAAgQAAAAAAACUAAAAAAwAlAAAAAAAAJQAAAAACACUAAAAAAwAgAAAAAAIAAQAAAAADAAEAAAAAAAAgAAAAAAEADwAAAAAAAA8AAAAAAwAPAAAAAAMADwAAAAAAAA8AAAAAAgAPAAAAAAMAgQAAAAAAACUAAAAAAQAlAAAAAAAAJQAAAAACACUAAAAAAAAlAAAAAAAAIAAAAAAAAAEAAAAAAQABAAAAAAMAIAAAAAABAA8AAAAAAAAPAAAAAAMADwAAAAAAAA8AAAAAAgAPAAAAAAEADwAAAAAAAIEAAAAAAAAlAAAAAAIAGAAAAAAAACUAAAAAAQAlAAAAAAMAJQAAAAAAACAAAAAAAQABAAAAAAIAAQAAAAABACAAAAAAAQAPAAAAAAIADwAAAAADAA8AAAAAAgAPAAAAAAEADwAAAAACAA8AAAAAAwAPAAAAAAAAJQAAAAADACUAAAAAAwAlAAAAAAEAJQAAAAABACUAAAAAAgAgAAAAAAEAAQAAAAAAAAEAAAAAAQAgAAAAAAAADwAAAAABAA8AAAAAAAAPAAAAAAIADwAAAAABAA8AAAAAAAAPAAAAAAAAgQAAAAAAACUAAAAAAAAlAAAAAAIAJQAAAAAAACUAAAAAAAAlAAAAAAEAIAAAAAAAAAEAAAAAAwABAAAAAAIAgQAAAAAAAA8AAAAAAwAPAAAAAAEADwAAAAACAA8AAAAAAAAPAAAAAAIADwAAAAABAIEAAAAAAAAlAAAAAAIAJQAAAAACACUAAAAAAQAlAAAAAAAAJQAAAAACAIEAAAAAAAABAAAAAAIAAQAAAAACACAAAAAAAgAPAAAAAAIADwAAAAAAAA8AAAAAAwAPAAAAAAAADwAAAAADAA8AAAAAAgCBAAAAAAAAJQAAAAACACUAAAAAAwAlAAAAAAEAJQAAAAABACUAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAgAlAAAAAAIAgQAAAAAAAC8AAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAAAlAAAAAAAAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAB4AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAACAAAAAAAQCBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAIAgQAAAAAAACAAAAAAAwAPAAAAAAAADwAAAAAAAA8AAAAAAwAPAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAwAlAAAAAAMAJQAAAAACAIEAAAAAAAABAAAAAAMAAQAAAAACACAAAAAAAwAPAAAAAAIADwAAAAAAAA8AAAAAAQAPAAAAAAIADwAAAAAAAA8AAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAIAJQAAAAAAACUAAAAAAAAgAAAAAAAAAQAAAAADAAEAAAAAAAAgAAAAAAEADwAAAAAAAA8AAAAAAwAPAAAAAAIADwAAAAAAAA8AAAAAAwAPAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAQAlAAAAAAMAIAAAAAAAAAEAAAAAAQABAAAAAAIAIAAAAAABAA8AAAAAAAAPAAAAAAMADwAAAAACAA8AAAAAAQAPAAAAAAMADwAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAAAlAAAAAAEAJQAAAAAAACAAAAAAAwABAAAAAAEAAQAAAAAAACAAAAAAAQAPAAAAAAEADwAAAAADAA8AAAAAAgAPAAAAAAIADwAAAAAAAA8AAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAADACUAAAAAAAAgAAAAAAMAAQAAAAADAAEAAAAAAQAgAAAAAAAADwAAAAAAAA8AAAAAAAAPAAAAAAAADwAAAAAAAA8AAAAAAAAPAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAAAACUAAAAAAAAlAAAAAAMAIAAAAAACAAEAAAAAAAABAAAAAAAAgQAAAAAAAA8AAAAAAwAPAAAAAAIADwAAAAAAAA8AAAAAAwAPAAAAAAIADwAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAACUAAAAAAwAlAAAAAAEAJQAAAAACAIEAAAAAAAABAAAAAAMAAQAAAAABACAAAAAAAgAPAAAAAAIADwAAAAADAA8AAAAAAAAPAAAAAAMADwAAAAABAA8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAAAJQAAAAACACUAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJQAAAAABACUAAAAAAgAlAAAAAAMAgQAAAAAAAC8AAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAABACUAAAAAAwAlAAAAAAEAJQAAAAADACUAAAAAAQCBAAAAAAAAgQAAAAAAACUAAAAAAQAlAAAAAAEAJQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAlAAAAAAEAJQAAAAAAACUAAAAAAwAlAAAAAAIAJQAAAAACACUAAAAAAwAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAACUAAAAAAAAlAAAAAAEAJQAAAAABACUAAAAAAAAlAAAAAAMAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAAAvAAAAAAAALwAAAAAAAIEAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAAC8AAAAAAAAvAAAAAAAAGAAAAAAAAC8AAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAvAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALwAAAAAAABgAAAAAAAAvAAAAAAAAgQAAAAAAAA== version: 7 5,-2: ind: 5,-2 - tiles: gQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAEAgQAAAAAAACAAAAAAAQAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACAIEAAAAAAAAgAAAAAAMAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAwAgAAAAAAEAIAAAAAAAACAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAIAgQAAAAAAACAAAAAAAAAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAHAAAAAAAABwAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAABAIEAAAAAAAAgAAAAAAEAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAQAgAAAAAAMAIAAAAAAAACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgQAAAAAAACAAAAAAAwAgAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAHAAAAAACABwAAAAAAwCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 5,-1: ind: 5,-1 @@ -340,7 +340,7 @@ entities: version: 7 3,-1: ind: 3,-1 - tiles: YAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAADACIAAAAAAwAiAAAAAAMAYAAAAAACAGAAAAAAAQBgAAAAAAMARwAAAAAAACUAAAAAAwAlAAAAAAIAJQAAAAADACUAAAAAAgCBAAAAAAAAgQAAAAAAACIAAAAAAQAiAAAAAAIAIgAAAAABACIAAAAAAQAiAAAAAAIAIwAAAAAAACMAAAAAAAAjAAAAAAAAIwAAAAAAAIEAAAAAAAAlAAAAAAIAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAABAGAAAAAAAgBgAAAAAAEAYAAAAAAAACMAAAAAAAAjAAAAAAAAHwAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: YAAAAAABAGAAAAAAAABgAAAAAAMAYAAAAAADACIAAAAAAgAiAAAAAAAAYAAAAAACAGAAAAAAAwBgAAAAAAEARwAAAAAAACUAAAAAAwAlAAAAAAIAJQAAAAADACUAAAAAAwCBAAAAAAAAgQAAAAAAACIAAAAAAwAiAAAAAAIAIgAAAAAAACIAAAAAAQAiAAAAAAMAIwAAAAAAACMAAAAAAAAjAAAAAAAAIwAAAAAAAIEAAAAAAAAlAAAAAAIAJQAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAADACMAAAAAAAAjAAAAAAAAHwAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 4,-1: ind: 4,-1 @@ -348,15 +348,15 @@ entities: version: 7 2,-1: ind: 2,-1 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAADAIEAAAAAAACBAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAEAIgAAAAADAGAAAAAAAACBAAAAAAAAYAAAAAACAGAAAAAAAwBgAAAAAAMAYAAAAAABAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAAAACIAAAAAAgAiAAAAAAMAIgAAAAACACIAAAAAAAAiAAAAAAAAIgAAAAACACIAAAAAAwCBAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: KQAAAAABACkAAAAAAwApAAAAAAAAKQAAAAAAACkAAAAAAwCBAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAEAIgAAAAADAGAAAAAAAQCBAAAAAAAAYAAAAAAAAGAAAAAAAwBgAAAAAAIAYAAAAAADACkAAAAAAAApAAAAAAAAKQAAAAACACkAAAAAAwApAAAAAAIAgQAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAABACIAAAAAAAAiAAAAAAEAIgAAAAAAACIAAAAAAgAiAAAAAAMAIgAAAAABACIAAAAAAgCBAAAAAAAAgQAAAAAAACkAAAAAAQApAAAAAAEAKQAAAAABAIEAAAAAAAAXAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAAAAGAAAAAAAgBgAAAAAAAAKQAAAAACAIEAAAAAAAApAAAAAAMAKQAAAAABACkAAAAAAQCBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACkAAAAAAgCBAAAAAAAAKQAAAAABACkAAAAAAgApAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 2,-4: ind: 2,-4 - tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAALQAAAAAAAC0AAAAAAAMtAAAAAAADGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAAy0AAAAAAAMuAAAAAAAGgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAAMuAAAAAAADGAAAAAAAAC0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAMtAAAAAAAALQAAAAAAAy0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAABBgAAAAAAAAYAAAAAAAAGAAAAAAAAC4AAAAAAAEtAAAAAAADLgAAAAAAAy4AAAAAAAEtAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAIAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAyAAAAAAAAAgAAAAAAEAIAAAAAABACAAAAAAAAAgAAAAAAIAIAAAAAAAAIEAAAAAAAAgAAAAAAMAIAAAAAABACAAAAAAAgAYAAAAAAAAIAAAAAADAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAAAIAAAAAADACAAAAAAAQAgAAAAAAEAIAAAAAADACAAAAAAAQAgAAAAAAMAIAAAAAADACAAAAAAAgAgAAAAAAMAGAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAACACAAAAAAAgAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== + tiles: gQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAALQAAAAAAAC0AAAAAAAMtAAAAAAADGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAALQAAAAAAAy0AAAAAAAMuAAAAAAAGgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAABgAAAAAAAAYAAAAAAAAGAAAAAAAAC0AAAAAAAMuAAAAAAADGAAAAAAAAC0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAMtAAAAAAADLgAAAAAAAy0AAAAAAAMtAAAAAAAALQAAAAAAAy0AAAAAAAOBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAALgAAAAAABBgAAAAAAAAYAAAAAAAAGAAAAAAAAC4AAAAAAAEtAAAAAAADLgAAAAAAAy4AAAAAAAEtAAAAAAADgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACAAAAAAAgAgAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAAC4AAAAAAAEtAAAAAAADLQAAAAAAAyAAAAAAAwAgAAAAAAMAIAAAAAACACAAAAAAAgAgAAAAAAEAIAAAAAACAIEAAAAAAAAgAAAAAAMAIAAAAAACACAAAAAAAgAYAAAAAAAAIAAAAAACAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAgAAAAAAEAIAAAAAACACAAAAAAAwAgAAAAAAEAIAAAAAADACAAAAAAAgAgAAAAAAIAIAAAAAADACAAAAAAAgAYAAAAAAAAGAAAAAAAACAAAAAAAgCBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAIAAAAAAAACAAAAAAAgAgAAAAAAIAIAAAAAAAACAAAAAAAgAgAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAA== version: 7 -2,-6: ind: -2,-6 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAA== version: 7 -4,-6: ind: -4,-6 @@ -372,19 +372,19 @@ entities: version: 7 6,-3: ind: 6,-3 - tiles: gQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: GAAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 6,-2: ind: 6,-2 - tiles: FwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: FwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 6,-4: ind: 6,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAFwAAAAAAABcAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAABcAAAAAAAAXAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAFwAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 3,-7: ind: 3,-7 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAADAGAAAAAAAQBgAAAAAAAAYAAAAAAAAGAAAAAAAQCBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAQBgAAAAAAIAYAAAAAACAGAAAAAAAwBgAAAAAAAAYAAAAAABAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAwBgAAAAAAEAYAAAAAADAGAAAAAAAwBgAAAAAAAAYAAAAAADAGAAAAAAAwCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAIAYAAAAAADAGAAAAAAAQBgAAAAAAEAYAAAAAAAAGAAAAAAAQBgAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAADAGAAAAAAAQBgAAAAAAMAYAAAAAAAAGAAAAAAAABgAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAAAYAAAAAADAGAAAAAAAABgAAAAAAMAgQAAAAAAAIEAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAMAYAAAAAADAGAAAAAAAgBgAAAAAAEAYAAAAAABAGAAAAAAAABgAAAAAAEAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAABAGAAAAAAAQBgAAAAAAIAYAAAAAAAAGAAAAAAAwBgAAAAAAAAYAAAAAABAGAAAAAAAQCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAGAAAAAAAgBgAAAAAAMAYAAAAAADAGAAAAAAAQBgAAAAAAMAYAAAAAABAGAAAAAAAQBgAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAABgAAAAAAEAYAAAAAABAGAAAAAAAQBgAAAAAAAAYAAAAAABAGAAAAAAAwBgAAAAAAIAYAAAAAADAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAYAAAAAAAAGAAAAAAAgBgAAAAAAEAYAAAAAABAGAAAAAAAABgAAAAAAEAYAAAAAACAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAG8AAAAAAABvAAAAAAAAbwAAAAAAAGAAAAAAAwBgAAAAAAMAYAAAAAABAIEAAAAAAACBAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -5,-3: ind: -5,-3 @@ -411,6 +411,12 @@ entities: chunkCollection: version: 2 nodes: + - node: + angle: -1.5707963267948966 rad + color: '#FFFFFFFF' + id: Arrows + decals: + 4809: 52,-97 - node: color: '#FFFFFFFF' id: Arrows @@ -520,30 +526,18 @@ entities: 173: 11,-58 174: 11,-59 175: 11,-60 - 455: 50,-97 - 456: 51,-97 - 457: 52,-97 458: 54,-102 - 459: 53,-102 - 463: 49,-101 1726: 40,-14 1727: 41,-14 1890: -7,-78 1891: -6,-78 3321: 60,-16 3322: 61,-16 - 3385: 68,-41 - 3386: 67,-41 - 3387: 57,-37 - 3388: 57,-38 - 3389: 57,-39 - 3390: 57,-40 3412: 63,-27 3413: 65,-27 3414: 65,-23 3415: 57,-18 3416: 57,-16 - 3438: 66,-28 3665: -4,-18 3666: -5,-18 3667: -6,-18 @@ -562,14 +556,24 @@ entities: 4062: 43,-74 4067: 54,-72 4068: 54,-73 - - node: - zIndex: 1 - color: '#FFFFFFFF' - id: Bot - decals: - 1011: 31,-20 - 1012: 31,-21 - 1013: 31,-22 + 4416: 36,-18 + 4417: 36,-19 + 4418: 36,-15 + 4419: 29,-18 + 4420: 29,-21 + 4495: 23,-19 + 4496: 23,-20 + 4497: 15,-17 + 4498: 15,-18 + 4645: 68,-39 + 4646: 69,-39 + 4647: 70,-39 + 4648: 71,-39 + 4649: 72,-39 + 4671: 54,-37 + 4672: 56,-37 + 4776: 54,-97 + 4780: 53,-102 - node: angle: 3.141592653589793 rad color: '#FFFFFFFF' @@ -620,17 +624,10 @@ entities: 66: -27,-61 67: -13,-62 68: -12,-62 - 460: 55,-99 - 461: 55,-100 - 462: 55,-101 - - node: - zIndex: 1 - color: '#FFFFFFFF' - id: BotLeft - decals: - 1014: 27,-22 - 1015: 27,-21 - 1016: 27,-20 + 4772: 56,-99 + 4773: 56,-100 + 4774: 56,-101 + 4781: 55,-98 - node: angle: 3.141592653589793 rad color: '#FFFFFFFF' @@ -664,14 +661,11 @@ entities: 2253: 30,-74 2254: 31,-74 2255: 33,-74 - 3392: 57,-35 - 3431: 67,-28 - 3432: 68,-28 - 3433: 69,-28 - 3434: 69,-30 - 3435: 68,-30 - 3436: 67,-30 - 3437: 66,-30 + 4413: 32,-21 + 4414: 33,-18 + 4415: 34,-18 + 4593: 33,-20 + 4644: 68,-42 - node: angle: 3.141592653589793 rad color: '#FFFFFFFF' @@ -698,10 +692,11 @@ entities: 305: 23,-103 306: 24,-103 307: 25,-103 - 464: 49,-102 615: 18,-69 616: 17,-69 2003: -24,-82 + 4777: 49,-102 + 4778: 55,-102 - node: color: '#00FFFFFF' id: BoxGreyscale @@ -731,6 +726,11 @@ entities: decals: 947: 9,-76 948: 8,-76 + - node: + color: '#2E99FF96' + id: BrickBoxOverlay + decals: + 4494: 18,-16 - node: color: '#95FF6F72' id: BrickCornerOverlayNE @@ -749,6 +749,11 @@ entities: 1862: 53,-16 1863: 55,-17 1865: 42,-19 + - node: + color: '#52B4E996' + id: BrickCornerOverlayNW + decals: + 4488: 23,-17 - node: color: '#95FF6F72' id: BrickCornerOverlayNW @@ -764,6 +769,11 @@ entities: id: BrickCornerOverlayNW decals: 1860: 41,-15 + - node: + color: '#52B4E996' + id: BrickCornerOverlaySE + decals: + 4489: 22,-16 - node: color: '#95FF6F72' id: BrickCornerOverlaySE @@ -779,6 +789,12 @@ entities: id: BrickCornerOverlaySE decals: 1864: 55,-20 + - node: + color: '#52B4E996' + id: BrickCornerOverlaySW + decals: + 4486: 19,-16 + 4487: 23,-18 - node: color: '#95FF6F72' id: BrickCornerOverlaySW @@ -822,10 +838,18 @@ entities: 2986: 13,-31 2987: 17,-30 - node: - color: '#724276FF' + color: '#334E6DC8' id: BrickLineOverlayE decals: - 8: -13,-49 + 4899: -35,-49 + 4900: -35,-43 + 4903: -35,-44 + 4904: -35,-48 + - node: + color: '#8C347F96' + id: BrickLineOverlayE + decals: + 4945: -13,-49 - node: color: '#95FF6F72' id: BrickLineOverlayE @@ -896,6 +920,12 @@ entities: 3538: 10,-43 3539: 9,-43 3540: 8,-43 + - node: + color: '#DE3A3A96' + id: BrickLineOverlayN + decals: + 4616: 61,-42 + 4617: 62,-42 - node: color: '#FA750096' id: BrickLineOverlayN @@ -927,6 +957,12 @@ entities: 1843: 50,-15 1844: 51,-15 1845: 54,-17 + - node: + color: '#52B4E996' + id: BrickLineOverlayS + decals: + 4490: 20,-16 + 4491: 21,-16 - node: color: '#95FF6F72' id: BrickLineOverlayS @@ -944,11 +980,6 @@ entities: 534: 2,-7 535: 8,-7 537: 1,-7 - - node: - color: '#9FED5896' - id: BrickLineOverlayS - decals: - 2001: 39,-47 - node: color: '#D381C926' id: BrickLineOverlayS @@ -968,6 +999,12 @@ entities: 938: 8,-74 939: 9,-74 940: 10,-74 + - node: + color: '#DE3A3A96' + id: BrickLineOverlayS + decals: + 4618: 55,-26 + 4619: 56,-26 - node: color: '#EFB34196' id: BrickLineOverlayS @@ -1025,11 +1062,6 @@ entities: 503: -4,-6 504: 6,2 580: 4,-6 - - node: - color: '#9FED5896' - id: BrickLineOverlayW - decals: - 2000: 40,-48 - node: color: '#A4610696' id: BrickLineOverlayW @@ -1068,14 +1100,9 @@ entities: 1429: -12,-38 2904: -18,-26 3512: 7,-42 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkCornerNe - decals: - 381: 92,-44 - 382: 91,-43 - 383: 90,-42 + 4137: 92,-42 + 4138: 93,-43 + 4139: 94,-44 - node: color: '#FFFFFFFF' id: BrickTileDarkCornerNw @@ -1084,13 +1111,8 @@ entities: 2903: -25,-26 3508: 6,-42 3892: -7,-27 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkCornerNw - decals: - 361: 90,-49 - 362: 91,-48 + 4142: 92,-49 + 4143: 93,-48 - node: color: '#FFFFFFFF' id: BrickTileDarkCornerSe @@ -1099,47 +1121,31 @@ entities: 2905: -18,-27 3513: 7,-44 3896: -4,-27 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkCornerSe - decals: - 356: 90,-50 - 357: 91,-49 - 358: 92,-48 + 4134: 92,-50 + 4135: 93,-49 + 4136: 94,-48 - node: color: '#FFFFFFFF' id: BrickTileDarkCornerSw decals: 2902: -25,-27 3509: 6,-44 + 4140: 93,-44 + 4141: 92,-43 - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkCornerSw - decals: - 379: 90,-43 - 380: 91,-44 - - node: - zIndex: 2 color: '#FFFFFFFF' id: BrickTileDarkEndW decals: - 391: 87,-50 - 392: 87,-42 + 4165: 89,-42 + 4166: 89,-50 - node: color: '#FFFFFFFF' id: BrickTileDarkInnerNe decals: 1435: -12,-39 2208: 23,-55 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkInnerNe - decals: - 389: 90,-43 - 390: 91,-44 + 4163: 92,-43 + 4164: 93,-44 - node: color: '#FFFFFFFF' id: BrickTileDarkInnerNw @@ -1148,15 +1154,10 @@ entities: 1430: -3,-39 2207: 25,-55 3894: -6,-27 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkInnerNw - decals: - 363: 90,-50 - 364: 91,-49 - 365: 92,-48 - 371: 92,-46 + 4153: 92,-50 + 4154: 93,-49 + 4155: 94,-48 + 4156: 94,-46 - node: color: '#FFFFFFFF' id: BrickTileDarkInnerSe @@ -1164,13 +1165,8 @@ entities: 1432: -12,-33 2209: 23,-53 3893: -7,-27 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkInnerSe - decals: - 368: 91,-48 - 369: 90,-49 + 4161: 92,-49 + 4162: 93,-48 - node: color: '#FFFFFFFF' id: BrickTileDarkInnerSw @@ -1178,15 +1174,10 @@ entities: 758: -4,-34 1431: -3,-33 2210: 25,-53 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkInnerSw - decals: - 370: 92,-46 - 386: 90,-42 - 387: 91,-43 - 388: 92,-44 + 4157: 93,-43 + 4158: 92,-42 + 4159: 94,-44 + 4160: 94,-46 - node: color: '#FFFFFFFF' id: BrickTileDarkLineE @@ -1194,14 +1185,18 @@ entities: 14: -4,-26 2205: 23,-54 3835: 10,-67 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkLineE - decals: - 367: 92,-47 - 374: 92,-46 - 375: 92,-45 + 4146: 94,-45 + 4147: 94,-46 + 4148: 94,-47 + 4896: -35,-49 + 4897: -35,-43 + 4901: -35,-48 + 4902: -35,-44 + 4930: -48,-51 + 4931: -48,-50 + 4932: -48,-42 + 4933: -48,-41 + 4944: -13,-49 - node: color: '#FFFFFFFF' id: BrickTileDarkLineN @@ -1242,17 +1237,11 @@ entities: 3519: 13,-43 3520: 14,-43 3532: 15,-43 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkLineN - decals: - 359: 88,-50 - 360: 89,-50 - 373: 91,-46 - 384: 89,-42 - 385: 88,-42 - 407: 87,-46 + 4132: 90,-50 + 4133: 91,-50 + 4150: 93,-46 + 4151: 90,-42 + 4152: 91,-42 - node: color: '#FFFFFFFF' id: BrickTileDarkLineS @@ -1272,7 +1261,6 @@ entities: 1423: -10,-33 1424: -11,-33 2206: 24,-53 - 2786: -29,-50 2787: -28,-50 2906: -24,-27 2907: -23,-27 @@ -1297,17 +1285,12 @@ entities: 3529: 8,-43 3531: 15,-43 3895: -6,-27 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkLineS - decals: - 354: 88,-50 - 355: 89,-50 - 372: 91,-46 - 377: 88,-42 - 378: 89,-42 - 408: 87,-46 + 4128: 90,-42 + 4129: 91,-42 + 4130: 90,-50 + 4131: 91,-50 + 4149: 93,-46 + 4925: -29,-50 - node: color: '#FFFFFFFF' id: BrickTileDarkLineW @@ -1332,13 +1315,12 @@ entities: 3181: -4,-37 3507: 6,-43 3837: 23,-69 - - node: - zIndex: 2 - color: '#FFFFFFFF' - id: BrickTileDarkLineW - decals: - 366: 92,-47 - 376: 92,-45 + 4144: 94,-47 + 4145: 94,-45 + 4926: -45,-41 + 4927: -45,-42 + 4928: -45,-50 + 4929: -45,-51 - node: color: '#FFFFFFFF' id: BrickTileSteelCornerNe @@ -1393,7 +1375,6 @@ entities: 1796: 53,-16 1797: 52,-15 1798: 55,-17 - 1999: 40,-47 - node: color: '#FFFFFFFF' id: BrickTileSteelLineE @@ -1464,7 +1445,6 @@ entities: 1778: 51,-20 1779: 53,-20 1780: 54,-20 - 1997: 39,-47 2375: 10,-83 2376: 9,-83 2377: 11,-83 @@ -1489,7 +1469,6 @@ entities: 1750: 41,-16 1753: 55,-18 1754: 55,-19 - 1998: 40,-48 2120: -8,-2 2121: -8,-4 2488: 14,-87 @@ -1595,6 +1574,7 @@ entities: id: Caution decals: 991: -26,-74 + 4516: 19,-26 - node: angle: 1.5707963267948966 rad color: '#FFFFFFFF' @@ -1613,22 +1593,20 @@ entities: color: '#FFFFFFFF' id: Caution decals: - 189: 18,-26 1915: -26,-75 - node: - color: '#00B6FF28' + color: '#334E6DC8' id: CheckerNESW decals: - 430: 28,-24 + 4934: -41,-40 + 4935: -40,-40 - node: - color: '#00E26A4E' + color: '#43995C96' id: CheckerNESW decals: - 425: 27,-19 - 426: 28,-19 - 427: 29,-19 - 428: 30,-19 - 429: 31,-19 + 4380: 32,-18 + 4381: 31,-18 + 4382: 30,-18 - node: color: '#52B4E996' id: CheckerNESW @@ -1668,43 +1646,53 @@ entities: 1621: 47,-23 1622: 48,-23 1623: 49,-23 - 1624: 53,-23 1625: 54,-23 1626: 55,-23 1627: 56,-23 - 3269: 62,-47 - 3270: 62,-46 - 3271: 63,-46 - 3272: 63,-47 - 3273: 58,-39 - 3274: 58,-38 - 3275: 58,-37 - 3276: 58,-36 - 3277: 59,-36 - 3278: 59,-37 - 3279: 59,-38 - 3280: 59,-39 - 3362: 63,-33 - 3363: 63,-34 - 3364: 64,-35 - 3365: 64,-36 - 3366: 63,-37 - 3367: 63,-38 - 3368: 64,-39 - 3369: 64,-40 - 3370: 63,-41 - 3371: 63,-42 - 3442: 62,-49 - 3443: 63,-49 - 3448: 62,-45 - 3449: 63,-45 - 3450: 63,-48 - 3451: 62,-48 - 3460: 57,-32 - 3461: 57,-33 - 3462: 60,-32 - 3463: 60,-33 - 3495: 64,-43 + 4206: 50,-23 + 4210: 50,-32 + 4213: 50,-35 + 4229: 51,-35 + 4231: 52,-32 + 4283: 61,-39 + 4284: 61,-40 + 4285: 62,-40 + 4286: 62,-39 + 4287: 56,-28 + 4288: 55,-29 + 4289: 56,-29 + 4290: 55,-28 + 4291: 61,-41 + 4292: 62,-41 + 4293: 62,-38 + 4294: 61,-38 + 4295: 55,-30 + 4296: 56,-30 + 4297: 56,-27 + 4298: 55,-27 + 4325: 56,-34 + 4326: 56,-33 + 4327: 57,-33 + 4328: 57,-34 + 4329: 58,-33 + 4330: 58,-34 + 4331: 59,-34 + 4332: 59,-33 + 4637: 69,-41 + 4638: 70,-41 + 4639: 71,-41 + 4640: 71,-40 + 4641: 70,-40 + 4642: 69,-40 + 4733: 65,-39 + 4734: 65,-40 + 4735: 65,-41 + 4736: 65,-42 + 4738: 65,-44 + 4739: 65,-45 + 4740: 65,-46 + 4741: 65,-47 + 4744: 65,-43 - node: color: '#EFB34196' id: CheckerNESW @@ -1716,11 +1704,6 @@ entities: 3875: 26,-70 3876: 26,-71 3878: 29,-70 - - node: - color: '#00B6FF28' - id: CheckerNWSE - decals: - 431: 28,-24 - node: color: '#3E92D883' id: CheckerNWSE @@ -1767,7 +1750,6 @@ entities: 1968: 41,-43 1969: 42,-43 1970: 43,-47 - 1971: 40,-47 1972: 40,-42 1973: 43,-42 1974: 43,-41 @@ -1787,12 +1769,12 @@ entities: 1988: 39,-44 1989: 39,-45 1990: 39,-46 - 1991: 40,-48 1992: 41,-48 1993: 42,-48 1994: 43,-48 - 1995: 39,-47 - 1996: 45,-44 + 4827: 40,-47 + 4828: 40,-48 + 4829: 39,-47 - node: color: '#DE3A3A49' id: CheckerNWSE @@ -1803,21 +1785,6 @@ entities: 3804: 9,-50 3805: 8,-49 3806: 10,-49 - - node: - color: '#DE3A3A96' - id: CheckerNWSE - decals: - 3372: 64,-38 - 3373: 64,-37 - 3374: 63,-36 - 3375: 63,-35 - 3376: 64,-34 - 3377: 64,-33 - 3378: 63,-39 - 3379: 63,-40 - 3380: 64,-41 - 3381: 64,-42 - 3496: 63,-43 - node: color: '#EFB34196' id: CheckerNWSE @@ -1852,9 +1819,6 @@ entities: color: '#FFFFFFFF' id: Delivery decals: - 5: -13,-54 - 6: -13,-53 - 7: -13,-52 57: -25,-74 58: -24,-74 59: -23,-74 @@ -1881,12 +1845,15 @@ entities: 988: -23,-75 3319: 59,-15 3320: 58,-15 + 4946: -13,-52 + 4947: -13,-53 + 4948: -13,-54 - node: color: '#DE3A3AFF' id: DeliveryGreyscale decals: - 3217: 60,-45 - 3384: 66,-41 + 4660: 59,-38 + 4753: 67,-44 - node: color: '#00000056' id: DiagonalCheckerAOverlay @@ -1989,26 +1956,16 @@ entities: color: '#FFFFFFFF' id: Dirt decals: - 949: 58,-77 950: 80,-68 - 951: 78,-62 953: 74,-38 954: 77,-40 955: 76,-31 956: 76,-27 957: 76,-28 958: 80,-29 - 959: 79,-28 960: 80,-27 961: 79,-34 - 962: 76,-33 - 1469: 57,-77 1477: 28,-36 - 1480: 40,-38 - 1481: 41,-39 - 1482: 47,-36 - 1483: 48,-36 - 1484: 44,-33 1498: -12,-80 1499: -6,-73 1506: 3,-77 @@ -2024,6 +1981,8 @@ entities: 1934: 50,-16 1935: 40,-16 3408: 73,-28 + 4754: 67,-70 + 4755: 63,-62 - node: cleanable: True color: '#000000FF' @@ -2066,6 +2025,8 @@ entities: 1936: 41,-32 2122: -8,-7 2403: 10,-84 + 4756: 67,-58 + 4850: 65,-69 - node: cleanable: True color: '#000000FF' @@ -2126,6 +2087,8 @@ entities: 3405: 65,-22 3406: 57,-16 3407: 57,-18 + 4760: 78,-60 + 4851: 63,-66 - node: cleanable: True color: '#000000FF' @@ -2148,7 +2111,6 @@ entities: 965: 59,-65 1474: 44,-50 1476: 41,-50 - 1485: 33,-24 1487: 37,-13 1488: 72,-28 1494: 78,-33 @@ -2192,7 +2154,10 @@ entities: 2415: 12,-84 2417: 23,-82 3054: 31,-99 - 3397: 61,-49 + 4758: 69,-70 + 4761: 73,-57 + 4853: 57,-73 + 4854: 55,-76 - node: cleanable: True color: '#000000FF' @@ -2209,7 +2174,6 @@ entities: decals: 963: 57,-65 1475: 39,-50 - 1486: 35,-17 1497: 77,-50 1524: -42,-29 1552: 12,-14 @@ -2228,14 +2192,20 @@ entities: 2418: 25,-83 3051: 30,-90 3052: 17,-92 - 3394: 63,-50 - 3395: 56,-50 - 3396: 59,-49 + 4757: 71,-66 + 4759: 78,-71 + 4763: 49,-17 + 4852: 61,-74 - node: color: '#334E6DC8' id: FullTileOverlayGreyscale decals: 3808: 9,-60 + - node: + color: '#43995C96' + id: FullTileOverlayGreyscale + decals: + 4385: 31,-17 - node: color: '#9FED5896' id: FullTileOverlayGreyscale @@ -2257,11 +2227,9 @@ entities: color: '#DE3A3A96' id: FullTileOverlayGreyscale decals: - 3202: 66,-44 - 3452: 61,-42 - 3453: 61,-43 - 3454: 61,-44 - 3455: 66,-45 + 4336: 65,-49 + 4731: 63,-34 + 4732: 63,-35 - node: color: '#EFB34196' id: FullTileOverlayGreyscale @@ -2325,11 +2293,11 @@ entities: color: '#DE3A3A96' id: HalfTileOverlayGreyscale decals: - 3425: 59,-27 - 3426: 58,-27 - 3439: 58,-49 - 3440: 59,-49 - 3441: 60,-49 + 4565: 57,-42 + 4566: 58,-42 + 4567: 59,-42 + 4686: 59,-27 + 4726: 63,-33 - node: color: '#EFB34196' id: HalfTileOverlayGreyscale @@ -2362,6 +2330,12 @@ entities: 2579: -20,-43 2580: -19,-43 2581: -18,-43 + - node: + color: '#43995C96' + id: HalfTileOverlayGreyscale180 + decals: + 4386: 30,-21 + 4387: 31,-21 - node: color: '#52B4E996' id: HalfTileOverlayGreyscale180 @@ -2370,16 +2344,23 @@ entities: 1573: 14,-71 1574: 13,-71 3978: -40,-16 + 4408: 28,-25 + 4409: 29,-25 - node: color: '#DE3A3A96' id: HalfTileOverlayGreyscale180 decals: - 3203: 65,-44 - 3204: 67,-44 - 3423: 58,-30 - 3424: 59,-30 - 3429: 63,-30 - 3430: 64,-30 + 4337: 66,-49 + 4338: 64,-49 + 4685: 59,-30 + 4693: 63,-30 + 4694: 64,-30 + 4723: 63,-36 + - node: + color: '#FA750096' + id: HalfTileOverlayGreyscale180 + decals: + 4510: 20,-25 - node: color: '#00000067' id: HalfTileOverlayGreyscale270 @@ -2407,18 +2388,26 @@ entities: id: HalfTileOverlayGreyscale270 decals: 228: -5,0 + - node: + color: '#43995C96' + id: HalfTileOverlayGreyscale270 + decals: + 4388: 29,-20 + 4389: 29,-19 - node: color: '#52B4E996' id: HalfTileOverlayGreyscale270 decals: - 3566: 23,-23 - 3567: 23,-24 + 4579: 23,-23 + 4580: 23,-24 - node: color: '#DE3A3A96' id: HalfTileOverlayGreyscale270 decals: - 3421: 57,-28 - 3422: 57,-29 + 4683: 58,-29 + 4684: 58,-28 + 4724: 62,-34 + 4725: 62,-35 - node: color: '#EFB34196' id: HalfTileOverlayGreyscale270 @@ -2430,13 +2419,6 @@ entities: id: HalfTileOverlayGreyscale270 decals: 229: -5,-6 - - node: - color: '#00000026' - id: HalfTileOverlayGreyscale90 - decals: - 25: -44,-55 - 26: -44,-54 - 27: -44,-53 - node: color: '#00000067' id: HalfTileOverlayGreyscale90 @@ -2457,11 +2439,16 @@ entities: color: '#52B4E996' id: HalfTileOverlayGreyscale90 decals: - 3568: 25,-23 - 3569: 25,-24 3621: 10,-31 3622: 10,-30 3979: -38,-16 + - node: + color: '#8C347F96' + id: HalfTileOverlayGreyscale90 + decals: + 4941: -13,-52 + 4942: -13,-53 + 4943: -13,-54 - node: color: '#A4610696' id: HalfTileOverlayGreyscale90 @@ -2471,20 +2458,29 @@ entities: color: '#DE3A3A96' id: HalfTileOverlayGreyscale90 decals: - 3427: 60,-28 - 3428: 60,-29 + 4569: 62,-43 + 4570: 62,-44 + 4687: 60,-29 + 4688: 60,-28 + 4727: 64,-34 + 4728: 64,-35 - node: color: '#EFB34196' id: HalfTileOverlayGreyscale90 decals: 3690: -28,-70 + - node: + color: '#FA750096' + id: HalfTileOverlayGreyscale90 + decals: + 4509: 19,-26 - node: angle: -1.5707963267948966 rad color: '#FFFFFFFF' id: LoadingArea decals: - 1565: 97,-58 - 1566: 97,-34 + 4125: 96,-58 + 4127: 96,-34 - node: color: '#FFFFFFFF' id: LoadingArea @@ -2541,6 +2537,46 @@ entities: id: LoadingAreaGreyscale decals: 3903: -11,-70 + - node: + angle: 1.5707963267948966 rad + color: '#00000019' + id: MarkupRectangle1x2 + decals: + 4962: -44,-55 + 4963: -44,-54 + 4964: -44,-53 + - node: + color: '#0000003F' + id: MarkupRectangle1x2 + decals: + 4837: 51,-39 + 4842: 50,-39 + 4843: 52,-39 + - node: + angle: 1.5707963267948966 rad + color: '#0000003F' + id: MarkupRectangle1x2 + decals: + 4838: 52,-38 + - node: + angle: 3.141592653589793 rad + color: '#0000003F' + id: MarkupRectangle1x2 + decals: + 4839: 51,-37 + 4840: 50,-37 + 4841: 52,-37 + - node: + angle: 4.71238898038469 rad + color: '#0000003F' + id: MarkupRectangle1x2 + decals: + 4844: 50,-38 + - node: + color: '#0000003F' + id: MarkupSquare + decals: + 4845: 49,-37 - node: zIndex: 1 color: '#5283FF37' @@ -2574,6 +2610,29 @@ entities: 2895: -19,-27 2896: -18,-27 2897: -18,-26 + - node: + color: '#0000003F' + id: MarkupSquareQuater + decals: + 4846: 52,-37 + - node: + angle: 1.5707963267948966 rad + color: '#0000003F' + id: MarkupSquareQuater + decals: + 4847: 52,-39 + - node: + angle: 3.141592653589793 rad + color: '#0000003F' + id: MarkupSquareQuater + decals: + 4848: 50,-39 + - node: + angle: 4.71238898038469 rad + color: '#0000003F' + id: MarkupSquareQuater + decals: + 4849: 50,-37 - node: color: '#FF800066' id: MiniTileBoxOverlay @@ -2657,7 +2716,6 @@ entities: 161: -33,-38 162: -33,-56 200: 29,-73 - 215: 33,-75 223: 40,-76 638: 26,-50 639: 27,-51 @@ -2666,15 +2724,14 @@ entities: 647: 22,-57 761: 35,-54 764: 37,-54 - 1197: 46,-32 - 1199: 49,-34 - 1202: 51,-41 - 1219: 50,-36 1246: -30,-36 1247: -31,-35 1263: -30,-54 1264: -31,-53 1296: -32,-50 + 4177: 34,-28 + 4201: 42,-50 + 4602: 33,-75 - node: color: '#FFFFFFFF' id: MiniTileDarkCornerNw @@ -2688,22 +2745,21 @@ entities: 627: 27,-56 763: 36,-54 767: 40,-53 - 793: 42,-50 1250: -34,-36 1251: -33,-35 1258: -33,-53 1260: -34,-54 1285: -40,-42 + 4174: 28,-28 + 4601: 35,-76 - node: color: '#FFFFFFFF' id: MiniTileDarkCornerSe decals: - 98: 34,-29 136: -53,-47 158: -33,-36 164: -33,-54 224: 40,-77 - 621: 27,-30 628: 26,-58 629: 27,-57 630: 28,-56 @@ -2712,13 +2768,13 @@ entities: 762: 36,-55 766: 40,-55 768: 42,-53 - 794: 43,-50 1248: -30,-38 1249: -31,-39 1261: -31,-57 1262: -30,-56 1270: -32,-42 3726: -32,-59 + 4176: 34,-30 - node: color: '#C8C8FFFF' id: MiniTileDarkCornerSw @@ -2739,26 +2795,26 @@ entities: 637: 27,-52 765: 37,-55 769: 35,-55 - 1195: 44,-32 - 1198: 46,-34 - 1200: 49,-36 - 1201: 50,-41 1244: -33,-39 1245: -34,-38 1257: -34,-56 1259: -33,-57 - 1288: -40,-50 + 4175: 28,-30 + 4202: 41,-50 + 4868: -40,-50 - node: color: '#FFFFFFFF' id: MiniTileDarkEndN decals: 157: -31,-21 3867: -35,-58 + 4205: 41,-49 - node: color: '#FFFFFFFF' id: MiniTileDarkEndS decals: 156: -31,-22 + 4961: 37,-78 - node: color: '#FFFFFFFF' id: MiniTileDarkEndW @@ -2768,10 +2824,7 @@ entities: color: '#FFFFFFFF' id: MiniTileDarkInnerNe decals: - 105: 35,-28 - 112: 46,-46 201: 29,-75 - 216: 33,-76 641: 27,-52 642: 26,-51 643: 21,-57 @@ -2783,18 +2836,18 @@ entities: 1167: -34,-56 1174: -33,-39 1175: -34,-38 - 1213: 50,-41 - 1224: 46,-34 - 1225: 49,-36 - 1226: 44,-32 1256: -31,-36 1265: -31,-54 - 1305: -40,-50 2761: 22,-77 2773: 7,-66 2784: -31,-52 2840: -23,-55 3868: -35,-59 + 4191: 34,-29 + 4198: 44,-39 + 4204: 41,-50 + 4607: 33,-77 + 4879: -40,-50 - node: color: '#FFFFFFFF' id: MiniTileDarkInnerNw @@ -2808,7 +2861,6 @@ entities: 780: 40,-55 786: 36,-55 788: 42,-53 - 796: 43,-50 1170: -31,-57 1171: -30,-56 1172: -31,-39 @@ -2821,14 +2873,12 @@ entities: 2774: 10,-66 2839: -20,-55 3729: -32,-59 + 4518: 7,-56 + 4606: 35,-77 - node: color: '#FFFFFFFF' id: MiniTileDarkInnerSe decals: - 102: 35,-26 - 104: 34,-27 - 111: 46,-44 - 622: 27,-29 680: 20,-52 681: 21,-51 682: 22,-50 @@ -2836,7 +2886,6 @@ entities: 684: 27,-56 783: 36,-54 785: 40,-53 - 795: 42,-50 1168: -34,-54 1169: -33,-53 1176: -34,-36 @@ -2848,6 +2897,9 @@ entities: 2783: -31,-40 2841: -23,-53 3728: -34,-59 + 4190: 34,-29 + 4517: 5,-52 + 4960: 37,-77 - node: color: '#FFFFFFFF' id: MiniTileDarkInnerSw @@ -2866,20 +2918,16 @@ entities: 1166: -30,-54 1178: -31,-35 1179: -30,-36 - 1212: 51,-41 - 1218: 50,-36 - 1232: 49,-34 - 1233: 46,-32 1253: -33,-38 1268: -33,-56 1297: -32,-50 2842: -20,-53 + 4203: 42,-50 + 4959: 37,-77 - node: color: '#FFFFFFFF' id: MiniTileDarkLineE decals: - 99: 34,-28 - 108: 46,-45 122: -12,-12 123: -12,-13 124: -12,-14 @@ -2908,16 +2956,6 @@ entities: 1183: -32,-40 1184: -32,-35 1185: -32,-34 - 1204: 51,-44 - 1205: 51,-43 - 1206: 51,-42 - 1214: 50,-40 - 1215: 50,-37 - 1228: 46,-33 - 1229: 49,-35 - 1236: 50,-39 - 1237: 50,-38 - 1239: 44,-31 1252: -30,-37 1269: -30,-55 1306: -40,-49 @@ -2945,9 +2983,15 @@ entities: 2844: 14,-13 2863: 25,-45 2864: 25,-44 - 3015: 44,-30 - 3016: 44,-29 3681: -8,-18 + 4194: 44,-37 + 4195: 44,-38 + 4421: 32,-23 + 4422: 32,-24 + 4423: 32,-25 + 4603: 33,-76 + 4635: 66,-48 + 4771: -17,-38 - node: color: '#C8C8FFFF' id: MiniTileDarkLineN @@ -2957,20 +3001,6 @@ entities: color: '#FFFFFFFF' id: MiniTileDarkLineN decals: - 81: 23,-27 - 82: 25,-27 - 84: 24,-27 - 85: 27,-27 - 86: 28,-27 - 87: 29,-27 - 88: 30,-27 - 89: 32,-27 - 90: 31,-27 - 91: 33,-27 - 100: 34,-27 - 101: 35,-27 - 106: 48,-46 - 107: 47,-46 113: 23,-73 114: 24,-73 115: 25,-73 @@ -2985,7 +3015,6 @@ entities: 203: 30,-75 204: 31,-75 214: 32,-75 - 217: 35,-76 218: 36,-76 219: 34,-76 220: 37,-76 @@ -3010,11 +3039,6 @@ entities: 1188: -34,-37 1189: -35,-37 1190: -36,-37 - 1207: 52,-46 - 1208: 51,-46 - 1222: 48,-34 - 1223: 47,-34 - 1227: 45,-32 1278: -33,-42 1279: -34,-42 1280: -35,-42 @@ -3024,11 +3048,6 @@ entities: 1284: -39,-42 1298: -33,-50 1299: -34,-50 - 1300: -35,-50 - 1301: -36,-50 - 1302: -37,-50 - 1303: -38,-50 - 1304: -39,-50 2213: 26,-54 2214: 27,-54 2541: -21,-34 @@ -3072,12 +3091,30 @@ entities: 2867: 28,-49 2868: 29,-49 2955: 34,-38 - 2958: 22,-27 - 2961: 26,-27 3724: -34,-59 3725: -33,-59 3730: -35,-61 3731: -34,-61 + 4178: 29,-28 + 4179: 30,-28 + 4180: 31,-28 + 4181: 32,-28 + 4182: 33,-28 + 4193: 35,-29 + 4200: 45,-39 + 4353: 23,-28 + 4354: 24,-28 + 4355: 25,-28 + 4383: 35,-18 + 4590: 25,-18 + 4591: 26,-18 + 4592: 27,-18 + 4604: 34,-77 + 4869: -39,-50 + 4870: -38,-50 + 4871: -37,-50 + 4872: -36,-50 + 4873: -35,-50 - node: color: '#C8C8FFFF' id: MiniTileDarkLineS @@ -3088,15 +3125,6 @@ entities: color: '#FFFFFFFF' id: MiniTileDarkLineS decals: - 92: 28,-29 - 93: 29,-29 - 94: 30,-29 - 95: 31,-29 - 96: 32,-29 - 97: 33,-29 - 103: 35,-27 - 109: 47,-44 - 110: 48,-44 133: -55,-47 134: -54,-47 137: -52,-45 @@ -3106,11 +3134,7 @@ entities: 205: 31,-77 206: 32,-77 207: 33,-77 - 208: 34,-77 - 209: 35,-77 210: 36,-77 - 211: 37,-77 - 212: 38,-77 213: 39,-77 617: 23,-30 618: 24,-30 @@ -3133,11 +3157,6 @@ entities: 1191: -34,-37 1192: -35,-37 1193: -36,-37 - 1196: 45,-32 - 1203: 52,-44 - 1220: 47,-34 - 1221: 48,-34 - 1238: 44,-25 1271: -33,-42 1272: -34,-42 1273: -35,-42 @@ -3145,11 +3164,6 @@ entities: 1275: -37,-42 1276: -38,-42 1277: -39,-42 - 1289: -39,-50 - 1290: -38,-50 - 1291: -37,-50 - 1292: -36,-50 - 1293: -35,-50 1294: -34,-50 1295: -33,-50 1599: -23,-19 @@ -3196,6 +3210,24 @@ entities: 2959: 25,-30 2960: 26,-30 3727: -33,-59 + 4183: 29,-30 + 4184: 30,-30 + 4185: 31,-30 + 4186: 32,-30 + 4187: 33,-30 + 4192: 35,-29 + 4587: 25,-16 + 4588: 26,-16 + 4589: 27,-16 + 4600: 35,-77 + 4605: 34,-77 + 4636: 72,-45 + 4874: -35,-50 + 4875: -36,-50 + 4876: -37,-50 + 4877: -38,-50 + 4878: -39,-50 + 4958: 38,-77 - node: color: '#C8C8FFFF' id: MiniTileDarkLineW @@ -3236,19 +3268,8 @@ entities: 1186: -32,-35 1187: -32,-34 1194: -30,-37 - 1209: 51,-44 - 1210: 51,-43 - 1211: 51,-42 - 1216: 50,-40 - 1217: 50,-37 - 1230: 49,-35 - 1231: 46,-33 - 1234: 50,-39 - 1235: 50,-38 - 1240: 44,-31 1286: -40,-43 1287: -40,-49 - 1913: 23,-33 2702: 7,-37 2703: 7,-36 2704: 7,-35 @@ -3276,10 +3297,12 @@ entities: 2880: -9,-12 2921: -27,-56 2922: -27,-58 - 3017: 44,-30 - 3018: 44,-29 3682: -7,-18 3866: -35,-59 + 4188: 28,-29 + 4424: 34,-23 + 4425: 34,-24 + 4426: 34,-25 - node: color: '#00000054' id: MiniTileDiagonalCheckerAOverlay @@ -3307,6 +3330,12 @@ entities: id: MiniTileEndOverlayW decals: 3677: -8,-18 + - node: + color: '#334E6DC8' + id: MiniTileInnerOverlayNE + decals: + 4906: -35,-50 + 4907: -35,-42 - node: color: '#52B4E996' id: MiniTileInnerOverlayNE @@ -3330,7 +3359,7 @@ entities: color: '#DE3A3A96' id: MiniTileInnerOverlayNE decals: - 3201: 69,-47 + 4750: 69,-53 - node: color: '#EFB34196' id: MiniTileInnerOverlayNE @@ -3382,16 +3411,17 @@ entities: id: MiniTileInnerOverlayNW decals: 3685: -7,-18 - - node: - color: '#DE3A3A96' - id: MiniTileInnerOverlayNW - decals: - 3210: 58,-43 - node: color: '#FF940093' id: MiniTileInnerOverlayNW decals: 1875: 55,-20 + - node: + color: '#334E6DC8' + id: MiniTileInnerOverlaySE + decals: + 4905: -35,-50 + 4908: -35,-42 - node: color: '#52B4E996' id: MiniTileInnerOverlaySE @@ -3415,6 +3445,12 @@ entities: id: MiniTileInnerOverlaySE decals: 3683: -8,-18 + - node: + color: '#DE3A3A96' + id: MiniTileInnerOverlaySE + decals: + 4659: 54,-39 + 4749: 69,-51 - node: color: '#EFB34196' id: MiniTileInnerOverlaySE @@ -3448,11 +3484,6 @@ entities: decals: 554: -3,-7 556: 3,-7 - - node: - color: '#9FED5896' - id: MiniTileInnerOverlaySW - decals: - 2002: 40,-47 - node: color: '#A4610696' id: MiniTileInnerOverlaySW @@ -3468,6 +3499,11 @@ entities: id: MiniTileInnerOverlaySW decals: 3684: -7,-18 + - node: + color: '#DE3A3A96' + id: MiniTileInnerOverlaySW + decals: + 4658: 56,-39 - node: color: '#EFB34196' id: MiniTileInnerOverlaySW @@ -3496,7 +3532,8 @@ entities: color: '#DE3A3A96' id: MiniTileLineOverlayE decals: - 3198: 69,-46 + 4623: 69,-52 + 4657: 54,-40 - node: color: '#EFB34196' id: MiniTileLineOverlayE @@ -3520,6 +3557,19 @@ entities: decals: 255: 22,-92 256: 26,-92 + - node: + color: '#334E6DC8' + id: MiniTileLineOverlayN + decals: + 4884: -34,-45 + 4885: -35,-45 + 4886: -36,-45 + 4887: -37,-45 + - node: + color: '#43995C96' + id: MiniTileLineOverlayN + decals: + 4384: 35,-18 - node: color: '#52B4E996' id: MiniTileLineOverlayN @@ -3532,10 +3582,9 @@ entities: id: MiniTileLineOverlayN decals: 1442: -27,-12 - 1452: 51,-24 3399: 66,-24 - 3401: 53,-50 3411: 4,-35 + 4209: 52,-24 - node: color: '#D10000A3' id: MiniTileLineOverlayN @@ -3551,9 +3600,8 @@ entities: color: '#DE3A3A96' id: MiniTileLineOverlayN decals: - 3199: 70,-47 - 3200: 71,-47 - 3209: 57,-43 + 4751: 70,-53 + 4752: 71,-53 - node: color: '#00000056' id: MiniTileLineOverlayS @@ -3566,6 +3614,10 @@ entities: id: MiniTileLineOverlayS decals: 3809: 11,-55 + 4880: -35,-47 + 4881: -36,-47 + 4882: -37,-47 + 4883: -34,-47 - node: color: '#3C44AA33' id: MiniTileLineOverlayS @@ -3589,6 +3641,12 @@ entities: id: MiniTileLineOverlayS decals: 2229: -5,-20 + - node: + color: '#DE3A3A96' + id: MiniTileLineOverlayS + decals: + 4621: 65,-49 + 4656: 55,-39 - node: color: '#EFB34196' id: MiniTileLineOverlayS @@ -3611,8 +3669,9 @@ entities: 1440: -35,-57 1454: -15,-35 1912: 8,-71 - 1914: 23,-33 4109: 17,-93 + 4586: 25,-20 + 4957: 23,-32 - node: color: '#D381C926' id: MiniTileLineOverlayW @@ -3623,7 +3682,7 @@ entities: color: '#DE3A3A96' id: MiniTileLineOverlayW decals: - 3208: 58,-42 + 4655: 56,-40 - node: color: '#FF800066' id: MiniTileLineOverlayW @@ -3643,7 +3702,7 @@ entities: 1115: -28,-67 1885: 43,-19 1886: 46,-19 - 3197: 69,-47 + 4746: 69,-53 - node: color: '#FFFFFFFF' id: MiniTileSteelInnerNw @@ -3651,7 +3710,6 @@ entities: 1883: 46,-19 1884: 49,-19 3042: 18,-102 - 3207: 58,-43 - node: color: '#FFFFFFFF' id: MiniTileSteelInnerSe @@ -3661,6 +3719,8 @@ entities: 1145: -18,-57 1888: 46,-17 3814: 15,-85 + 4654: 54,-39 + 4745: 69,-51 - node: color: '#FFFFFFFF' id: MiniTileSteelInnerSw @@ -3671,6 +3731,7 @@ entities: 2967: 19,-19 3041: 18,-98 3815: 14,-85 + 4653: 56,-39 - node: color: '#FFFFFFFF' id: MiniTileSteelLineE @@ -3679,8 +3740,10 @@ entities: 1443: 29,-51 1597: 7,-17 1882: 46,-18 - 3196: 69,-46 - 3502: 68,-43 + 4342: 66,-40 + 4343: 66,-41 + 4622: 69,-52 + 4652: 54,-40 - node: color: '#FFFFFFFF' id: MiniTileSteelLineN @@ -3690,20 +3753,23 @@ entities: 253: 19,-92 254: 28,-92 1441: -27,-12 - 1451: 51,-24 1877: 44,-19 1878: 45,-19 1879: 47,-19 1880: 48,-19 - 3194: 70,-47 - 3195: 71,-47 - 3205: 57,-43 3398: 66,-24 - 3400: 53,-50 3410: 4,-35 3623: 14,-35 3624: 15,-35 3625: 16,-35 + 4208: 52,-24 + 4344: 71,-45 + 4347: 58,-32 + 4348: 59,-32 + 4349: 63,-32 + 4350: 64,-32 + 4747: 70,-53 + 4748: 71,-53 - node: color: '#FFFFFFFF' id: MiniTileSteelLineS @@ -3722,6 +3788,10 @@ entities: 2964: 18,-19 3040: 17,-98 3807: 11,-55 + 4351: 55,-35 + 4352: 52,-35 + 4620: 65,-49 + 4651: 55,-39 - node: color: '#FFFFFFFF' id: MiniTileSteelLineW @@ -3735,13 +3805,11 @@ entities: 3037: 18,-101 3038: 18,-100 3039: 18,-99 - 3206: 58,-42 - 3497: 62,-39 - 3498: 62,-38 - 3501: 62,-42 - 3503: 62,-43 - 3504: 62,-44 4108: 17,-93 + 4346: 61,-37 + 4585: 25,-20 + 4650: 56,-40 + 4956: 23,-32 - node: color: '#1488C2FF' id: MiniTileWhiteInnerNe @@ -3777,11 +3845,21 @@ entities: id: MiniTileWhiteInnerSe decals: 600: -1,-52 + - node: + color: '#48AC56FF' + id: MiniTileWhiteInnerSe + decals: + 4834: 38,-47 - node: color: '#DE8000FF' id: MiniTileWhiteInnerSe decals: 593: -1,-57 + - node: + color: '#48AC56FF' + id: MiniTileWhiteInnerSw + decals: + 4833: 40,-47 - node: color: '#DE8000FF' id: MiniTileWhiteInnerSw @@ -3822,6 +3900,11 @@ entities: id: MiniTileWhiteLineN decals: 612: 15,-67 + - node: + color: '#48AC56FF' + id: MiniTileWhiteLineS + decals: + 4832: 39,-47 - node: color: '#DE8000FF' id: MiniTileWhiteLineS @@ -3852,11 +3935,17 @@ entities: id: MiniTileWhiteLineW decals: 611: 16,-66 + 4831: 40,-48 - node: color: '#DE8000FF' id: MiniTileWhiteLineW decals: 591: 1,-58 + - node: + color: '#334E6DC8' + id: MonoOverlay + decals: + 4894: -34,-43 - node: color: '#D381C971' id: MonoOverlay @@ -3888,8 +3977,8 @@ entities: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale decals: - 3261: 58,-52 - 3262: 59,-52 + 4559: 58,-44 + 4560: 59,-44 - node: color: '#EFB34196' id: QuarterTileOverlayGreyscale @@ -3910,18 +3999,12 @@ entities: 52: -23,-52 53: -23,-53 54: -23,-50 - - node: - color: '#00B6FF28' - id: QuarterTileOverlayGreyscale180 - decals: - 432: 27,-24 - node: color: '#52B4E996' id: QuarterTileOverlayGreyscale180 decals: - 3003: 21,-24 - 3004: 20,-24 - 3005: 19,-24 + 4405: 21,-24 + 4406: 20,-24 - node: color: '#A4610696' id: QuarterTileOverlayGreyscale180 @@ -3932,18 +4015,17 @@ entities: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale180 decals: - 3265: 62,-52 - 3266: 62,-53 + 4564: 62,-45 + - node: + color: '#FA750096' + id: QuarterTileOverlayGreyscale180 + decals: + 4512: 19,-25 - node: color: '#00000067' id: QuarterTileOverlayGreyscale270 decals: 2588: -23,-40 - - node: - color: '#00B6FF28' - id: QuarterTileOverlayGreyscale270 - decals: - 433: 29,-24 - node: color: '#52B4E996' id: QuarterTileOverlayGreyscale270 @@ -3959,8 +4041,8 @@ entities: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale270 decals: - 3259: 57,-53 - 3260: 57,-52 + 4557: 57,-45 + 4558: 57,-44 - node: color: '#52B4E996' id: QuarterTileOverlayGreyscale90 @@ -3973,9 +4055,9 @@ entities: 1069: 15,-20 1070: 14,-20 1071: 13,-20 - 3000: 21,-23 - 3001: 20,-23 - 3002: 19,-23 + 4398: 19,-23 + 4401: 20,-23 + 4402: 21,-23 - node: color: '#A4610696' id: QuarterTileOverlayGreyscale90 @@ -3985,8 +4067,8 @@ entities: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale90 decals: - 3263: 60,-52 - 3264: 61,-52 + 4561: 60,-44 + 4562: 61,-44 - node: color: '#EFB34196' id: QuarterTileOverlayGreyscale90 @@ -4025,8 +4107,8 @@ entities: 2422: 23,-81 2423: 24,-81 2424: 25,-81 - 3257: 59,-53 - 3258: 60,-53 + 4555: 59,-45 + 4556: 60,-45 - node: color: '#00000067' id: ThreeQuarterTileOverlayGreyscale @@ -4042,7 +4124,8 @@ entities: color: '#DE3A3A96' id: ThreeQuarterTileOverlayGreyscale decals: - 3420: 57,-27 + 4692: 58,-27 + 4720: 62,-33 - node: color: '#00000067' id: ThreeQuarterTileOverlayGreyscale180 @@ -4058,7 +4141,8 @@ entities: color: '#DE3A3A96' id: ThreeQuarterTileOverlayGreyscale180 decals: - 3417: 60,-30 + 4689: 60,-30 + 4722: 64,-36 - node: color: '#00000067' id: ThreeQuarterTileOverlayGreyscale270 @@ -4076,7 +4160,8 @@ entities: color: '#DE3A3A96' id: ThreeQuarterTileOverlayGreyscale270 decals: - 3419: 57,-30 + 4690: 58,-30 + 4719: 62,-36 - node: color: '#52B4E996' id: ThreeQuarterTileOverlayGreyscale90 @@ -4087,7 +4172,8 @@ entities: color: '#DE3A3A96' id: ThreeQuarterTileOverlayGreyscale90 decals: - 3418: 60,-27 + 4691: 60,-27 + 4721: 64,-33 - node: color: '#FFFFFFFF' id: WarnBox @@ -4095,8 +4181,9 @@ entities: 584: 17,-66 586: 0,-58 587: 0,-53 - 601: 19,-26 608: 15,-66 + 4356: 20,-26 + 4835: 39,-48 - node: color: '#41AC28FF' id: WarnBoxGreyscale @@ -4107,16 +4194,17 @@ entities: id: WarnBoxGreyscale decals: 609: 15,-66 + 4836: 39,-48 - node: color: '#70D7FFFF' id: WarnBoxGreyscale decals: 585: 17,-66 - node: - color: '#FF8B00FF' + color: '#FA7500FF' id: WarnBoxGreyscale decals: - 602: 19,-26 + 4357: 20,-26 - node: color: '#FF9C00FF' id: WarnBoxGreyscale @@ -4137,8 +4225,8 @@ entities: color: '#DE3A3AFF' id: WarnCornerSmallGreyscaleNE decals: - 3216: 60,-46 - 3288: 65,-35 + 4666: 59,-39 + 4702: 65,-36 - node: color: '#D381C9FF' id: WarnCornerSmallGreyscaleNW @@ -4157,9 +4245,9 @@ entities: color: '#DE3A3AFF' id: WarnCornerSmallGreyscaleSE decals: - 3215: 60,-44 - 3256: 57,-52 - 3287: 65,-32 + 4553: 57,-44 + 4665: 59,-37 + 4701: 65,-33 - node: color: '#D381C9FF' id: WarnCornerSmallGreyscaleSW @@ -4170,7 +4258,7 @@ entities: color: '#DE3A3AFF' id: WarnCornerSmallGreyscaleSW decals: - 3255: 62,-52 + 4572: 62,-44 - node: color: '#FFFFFFFF' id: WarnCornerSmallNE @@ -4179,10 +4267,10 @@ entities: 2241: 22,-12 3013: 16,-44 3122: -18,-24 - 3213: 60,-46 - 3283: 65,-35 3472: -18,-20 4098: 45,-72 + 4663: 59,-39 + 4698: 65,-36 - node: color: '#FFFFFFFF' id: WarnCornerSmallNW @@ -4199,15 +4287,15 @@ entities: decals: 247: 26,-83 1130: -26,-64 - 3006: 18,-25 3014: 16,-42 3092: -18,-22 3117: -10,-22 - 3212: 60,-44 - 3234: 57,-52 - 3284: 65,-32 3471: -18,-17 4099: 45,-68 + 4515: 19,-25 + 4540: 57,-44 + 4662: 59,-37 + 4697: 65,-33 - node: color: '#FFFFFFFF' id: WarnCornerSmallSW @@ -4217,39 +4305,39 @@ entities: 3011: 18,-42 3091: -18,-22 3113: -8,-22 - 3233: 62,-52 4101: 47,-68 + 4571: 62,-44 - node: color: '#FFFFFFFF' id: WarnEndE decals: - 3222: 61,-53 + 4528: 61,-45 - node: color: '#DE3A3AFF' id: WarnEndGreyscaleE decals: - 3254: 61,-53 + 4548: 61,-45 - node: color: '#DE3A3AFF' id: WarnEndGreyscaleW decals: - 3253: 58,-53 + 4547: 58,-45 - node: color: '#FFFFFFFF' id: WarnEndW decals: - 3221: 58,-53 + 4527: 58,-45 - node: color: '#FFFFFFFF' id: WarnFull decals: 3159: -11,-36 - 3962: 80,-46 + 4765: 82,-46 - node: color: '#D381C9FF' id: WarnFullGreyscale decals: - 3963: 80,-46 + 4768: 82,-46 - node: color: '#FFFFFFFF' id: WarnLineE @@ -4263,7 +4351,6 @@ entities: 183: -56,-30 184: -56,-29 185: -56,-28 - 186: 18,-26 233: -17,-68 234: -17,-67 235: -17,-66 @@ -4271,22 +4358,14 @@ entities: 246: 26,-84 1124: -26,-65 1560: 20,-64 - 2242: 80,-47 - 2244: 80,-45 2529: -56,-64 2530: -56,-63 2531: -56,-62 3090: -18,-23 - 3219: 60,-45 - 3232: 57,-53 - 3281: 65,-33 - 3282: 65,-34 3315: 56,-20 3323: 66,-22 3324: 66,-20 3325: 66,-21 - 3340: 61,-70 - 3341: 61,-69 3468: -18,-19 3469: -18,-18 3554: 16,-43 @@ -4295,6 +4374,17 @@ entities: 4090: 45,-71 4091: 45,-70 4092: 45,-69 + 4167: 76,-65 + 4168: 76,-66 + 4169: 76,-64 + 4513: 19,-26 + 4538: 57,-45 + 4661: 59,-38 + 4695: 65,-35 + 4696: 65,-34 + 4764: 76,-44 + 4766: 82,-45 + 4767: 82,-47 - node: color: '#33A9E7FF' id: WarnLineGreyscaleE @@ -4305,19 +4395,19 @@ entities: color: '#D381C9FF' id: WarnLineGreyscaleE decals: - 2245: 80,-47 - 2247: 80,-45 3106: -18,-23 3475: -18,-19 3476: -18,-18 + 4769: 82,-45 + 4770: 82,-47 - node: color: '#DE3A3AFF' id: WarnLineGreyscaleE decals: - 3220: 60,-45 - 3251: 57,-53 - 3285: 65,-34 - 3286: 65,-33 + 4546: 57,-45 + 4664: 59,-38 + 4699: 65,-35 + 4700: 65,-34 - node: color: '#70FFB3FF' id: WarnLineGreyscaleN @@ -4337,15 +4427,12 @@ entities: color: '#DE3A3AFF' id: WarnLineGreyscaleN decals: - 3239: 58,-54 - 3240: 59,-54 - 3241: 60,-54 - 3242: 61,-54 - 3243: 59,-53 - 3244: 60,-53 4119: 58,-22 4120: 59,-22 4121: 61,-22 + 4239: 51,-32 + 4551: 59,-45 + 4552: 60,-45 - node: color: '#70FFB3FF' id: WarnLineGreyscaleS @@ -4383,15 +4470,15 @@ entities: 1640: 54,-21 1641: 55,-21 1642: 56,-21 - 3245: 59,-53 - 3246: 60,-53 - 3247: 58,-52 - 3248: 59,-52 - 3249: 60,-52 - 3250: 61,-52 4122: 58,-22 4123: 59,-22 4124: 61,-22 + 4542: 61,-44 + 4543: 60,-44 + 4544: 59,-44 + 4545: 58,-44 + 4549: 59,-45 + 4550: 60,-45 - node: color: '#D381C9FF' id: WarnLineGreyscaleW @@ -4402,7 +4489,7 @@ entities: color: '#DE3A3AFF' id: WarnLineGreyscaleW decals: - 3252: 62,-53 + 4541: 62,-45 - node: color: '#FFFFFFFF' id: WarnLineN @@ -4447,13 +4534,6 @@ entities: 3087: -17,-22 3088: -16,-22 3111: -9,-22 - 3223: 60,-53 - 3224: 59,-53 - 3227: 58,-52 - 3228: 59,-52 - 3229: 60,-52 - 3230: 61,-52 - 3346: 60,-66 3470: -17,-17 3908: -28,-71 3909: -29,-71 @@ -4465,6 +4545,15 @@ entities: 4112: 59,-22 4113: 58,-22 4114: 61,-22 + 4172: 74,-61 + 4173: 75,-61 + 4514: 20,-25 + 4531: 59,-45 + 4532: 60,-45 + 4534: 61,-44 + 4535: 60,-44 + 4536: 59,-44 + 4537: 58,-44 - node: color: '#FFFFFFFF' id: WarnLineS @@ -4480,13 +4569,13 @@ entities: 3089: -18,-23 3112: -8,-23 3160: -10,-36 - 3231: 62,-53 3316: 58,-20 3901: -31,-71 3906: -13,-70 4093: 47,-69 4094: 47,-70 4095: 47,-71 + 4533: 62,-45 - node: color: '#FFFFFFFF' id: WarnLineW @@ -4500,13 +4589,6 @@ entities: 2337: 10,-83 2366: 12,-83 3007: 17,-44 - 3225: 59,-53 - 3226: 60,-53 - 3235: 58,-54 - 3236: 59,-54 - 3237: 60,-54 - 3238: 61,-54 - 3347: 60,-68 3465: -18,-17 3466: -17,-17 3467: -17,-20 @@ -4514,6 +4596,13 @@ entities: 4110: 61,-22 4111: 59,-22 4115: 58,-22 + 4170: 75,-63 + 4171: 74,-63 + 4529: 59,-45 + 4530: 60,-45 + 4806: 49,-98 + 4807: 50,-98 + 4808: 51,-98 - node: angle: 4.71238898038469 rad color: '#FFFFFFFF' @@ -4524,12 +4613,23 @@ entities: color: '#FFFFFFFF' id: WoodTrimThinCornerNw decals: - 3192: 71,-53 + 4625: 72,-49 - node: color: '#FFFFFFFF' id: WoodTrimThinInnerNw decals: 313: 31,-40 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinInnerSe + decals: + 4634: 71,-48 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinLineE + decals: + 4630: 71,-49 + 4631: 71,-50 - node: color: '#FFFFFFFF' id: WoodTrimThinLineN @@ -4538,14 +4638,20 @@ entities: 309: 29,-40 310: 30,-40 314: 27,-40 - 3193: 72,-53 + 4626: 73,-49 + - node: + color: '#FFFFFFFF' + id: WoodTrimThinLineS + decals: + 4632: 73,-48 + 4633: 72,-48 - node: color: '#FFFFFFFF' id: WoodTrimThinLineW decals: 311: 31,-39 312: 31,-38 - 3191: 71,-54 + 4627: 72,-50 - node: cleanable: True color: '#008CE9FF' @@ -4583,6 +4689,8 @@ entities: 3494: 53,-67 4102: 45,-71 4106: 47,-72 + 4951: -37,-80 + 4952: -37,-81 - node: cleanable: True color: '#FFFFFFFF' @@ -4591,6 +4699,7 @@ entities: 4071: 51,-67 4084: 48,-71 4105: 47,-71 + 4950: -37,-79 - node: cleanable: True color: '#FFFFFFFF' @@ -4608,6 +4717,8 @@ entities: 4070: 50,-67 4073: 44,-71 4103: 46,-72 + 4949: -38,-80 + 4955: -36,-81 - node: cleanable: True color: '#FFFFFFFF' @@ -4615,12 +4726,8 @@ entities: decals: 4076: 46,-71 4104: 45,-72 - - node: - cleanable: True - color: '#FF0000FF' - id: danger - decals: - 2485: -39.515587,-77.16985 + 4953: -36,-80 + 4954: -39,-80 - node: angle: 1.5707963267948966 rad color: '#262626FF' @@ -4651,12 +4758,6 @@ entities: id: heart decals: 1889: 68.50545,-17.796177 - - node: - cleanable: True - color: '#FF0000FF' - id: radiation - decals: - 2484: -40.09371,-76.7011 - node: cleanable: True zIndex: 2 @@ -4664,12 +4765,6 @@ entities: id: shop decals: 409: 70.97659,-23.924938 - - node: - cleanable: True - color: '#FF0000FF' - id: skull - decals: - 2483: -40.171837,-77.79485 - node: cleanable: True color: '#FFFF00FF' @@ -4917,56 +5012,63 @@ entities: 4,-5: 0: 65535 5,-4: - 0: 65481 + 0: 65287 5,-3: 0: 2191 5,-5: - 0: 48059 + 0: 65535 6,-4: - 0: 65339 + 0: 65534 6,-3: 0: 559 6,-5: - 0: 46011 + 0: 61166 7,-4: - 0: 54735 + 0: 48014 7,-3: - 0: 13 - 1: 3072 + 0: 11 + 1: 2048 7,-5: - 0: 63487 + 0: 52991 + 8,-4: + 0: 56575 + 8,-3: + 0: 13 + 1: 256 4,-9: 0: 14591 5,-8: 0: 48059 5,-7: - 0: 36041 + 0: 39305 5,-6: - 0: 47359 + 0: 28927 5,-9: 0: 35839 6,-8: - 0: 47923 + 0: 48051 6,-7: - 0: 15291 + 0: 63291 6,-6: - 0: 48127 + 0: 61439 6,-9: 0: 32631 7,-8: - 0: 65311 + 0: 65521 7,-7: - 0: 8191 + 0: 62463 7,-6: - 0: 65535 + 0: 60671 7,-9: - 0: 39743 + 0: 64319 8,-8: - 0: 65295 + 0: 65520 8,-7: - 0: 4095 + 0: 61695 8,-6: - 0: 61182 + 0: 47359 + 8,-5: + 0: 40955 0,-12: 0: 119 1: 24576 @@ -5178,9 +5280,9 @@ entities: -1,-16: 0: 4095 0,-16: - 0: 58976 + 0: 26208 0,-15: - 0: 30471 + 0: 30479 -1,-15: 0: 65295 0,-14: @@ -5194,7 +5296,7 @@ entities: 1,-16: 0: 55607 1,-15: - 0: 47581 + 0: 47583 1,-14: 0: 65529 2,-16: @@ -5599,7 +5701,7 @@ entities: -12,-18: 0: 61440 -11,-20: - 0: 56607 + 0: 32767 -11,-19: 1: 61696 0: 12 @@ -5609,9 +5711,9 @@ entities: 0: 32768 1: 49 -10,-20: - 0: 64415 + 0: 61439 -10,-19: - 0: 34987 + 0: 36015 -10,-18: 1: 817 -10,-21: @@ -5707,22 +5809,21 @@ entities: -7,-18: 0: 57309 -7,-20: - 1: 7709 - 0: 256 + 1: 7701 + 0: 264 -7,-21: - 1: 21853 - 0: 35456 + 1: 22365 + 0: 34976 -6,-20: - 0: 1 - 1: 7958 + 1: 7959 -6,-19: 1: 15 0: 2032 -6,-18: 0: 63351 -6,-21: - 0: 15153 - 1: 17478 + 0: 45874 + 1: 19525 -5,-20: 0: 256 1: 55441 @@ -5919,21 +6020,21 @@ entities: 0: 8738 1: 2176 9,-20: - 0: 62579 + 0: 62067 10,-22: 1: 12561 10,-21: 1: 24234 11,-21: - 1: 57215 + 1: 57343 11,-22: 1: 49152 11,-24: 1: 136 12,-24: - 1: 36848 + 1: 4080 12,-22: - 1: 65228 + 1: 65160 12,-21: 1: 65535 9,-19: @@ -6013,47 +6114,46 @@ entities: 13,-17: 0: 10928 13,-21: - 1: 16177 + 1: 16179 13,-16: 4: 819 1: 8 14,-20: - 0: 61704 + 0: 53504 1: 4 14,-19: - 0: 39743 + 0: 65247 14,-18: - 0: 56829 + 0: 65535 14,-17: - 0: 43933 + 0: 59311 14,-16: - 0: 238 + 0: 24814 14,-21: - 1: 16708 - 0: 36352 + 1: 20292 15,-19: - 0: 14563 + 0: 15347 15,-18: 0: 30583 15,-17: - 0: 49527 + 0: 64695 15,-20: 1: 2222 - 15,-16: - 0: 119 15,-21: - 1: 47247 + 1: 47503 + 15,-16: + 0: 64550 16,-20: 1: 44728 16,-19: 0: 62208 1: 8 16,-18: - 0: 52700 + 0: 65436 16,-17: - 0: 24060 + 0: 57297 16,-16: - 0: 26231 + 0: 61917 16,-21: 1: 50736 17,-20: @@ -6062,31 +6162,34 @@ entities: 0: 12288 1: 136 17,-18: - 0: 60943 + 0: 26351 17,-17: - 0: 61070 + 0: 56660 17,-16: - 0: 28671 + 0: 43229 17,-21: 1: 12288 18,-20: - 1: 240 + 1: 4336 18,-19: - 1: 243 + 0: 17 + 1: 226 18,-18: - 0: 32015 + 0: 61663 18,-17: - 0: 65293 + 0: 65263 18,-16: - 0: 20479 + 0: 52974 19,-20: 1: 37244 19,-19: 1: 253 19,-18: - 0: 35755 + 0: 36603 19,-17: - 0: 34959 + 0: 48059 + 19,-16: + 0: 35771 20,-20: 1: 65223 20,-19: @@ -6096,112 +6199,105 @@ entities: 0: 57297 20,-17: 0: 4445 - 19,-16: - 0: 52616 13,-24: - 1: 6136 - 12,-23: - 1: 34952 - 13,-23: - 1: 4369 + 1: 32752 13,-22: - 1: 7985 + 1: 16179 13,-25: - 0: 14335 + 0: 32767 + 13,-23: + 1: 13107 14,-24: - 1: 1 + 1: 19 14,-22: 1: 61696 14,-25: - 1: 4096 + 1: 8192 + 0: 17 15,-22: 1: 4096 16,-15: - 0: 61038 + 0: 65273 16,-14: - 0: 45678 + 0: 64515 + 15,-15: + 0: 63255 16,-13: - 0: 33727 - 15,-14: - 0: 61447 - 15,-13: - 0: 65535 + 0: 29439 16,-12: - 0: 20206 + 0: 63359 17,-15: - 0: 30696 + 0: 32138 17,-14: - 0: 65287 + 0: 65280 17,-13: - 0: 61695 + 0: 63551 17,-12: - 0: 4095 + 0: 61695 18,-15: - 0: 45311 - 18,-14: - 0: 56777 + 0: 63989 18,-13: - 0: 19487 + 0: 47884 18,-12: - 0: 19524 + 0: 63931 + 18,-14: + 0: 52416 19,-15: - 0: 47870 + 0: 61438 19,-14: - 0: 30583 + 0: 30578 19,-13: - 0: 1815 + 0: 5911 19,-12: - 0: 65535 + 0: 57309 20,-16: 0: 35225 - 20,-13: - 1: 3584 + 20,-12: + 0: 63475 20,-15: 1: 49356 0: 3072 + 20,-13: + 1: 2048 21,-15: 1: 61680 0: 3840 21,-13: - 0: 3968 - 20,-12: - 0: 65016 + 1: 800 + 0: 3072 21,-12: - 0: 65535 + 0: 65534 22,-15: 1: 61680 0: 3840 22,-13: - 0: 65520 + 0: 53216 22,-12: - 0: 36495 + 0: 15167 23,-15: - 1: 28912 - 0: 36608 + 1: 61680 + 0: 3840 23,-13: - 0: 12544 - 23,-14: - 1: 18724 - 0: 9928 + 0: 63280 23,-12: - 0: 22359 + 0: 28527 + 23,-14: + 1: 1152 + 0: 34816 24,-15: - 1: 35063 - 0: 30464 + 1: 4343 + 0: 61184 24,-14: - 0: 61431 - 1: 4104 - 24,-13: - 1: 8977 - 0: 52462 + 0: 36350 + 1: 20993 21,-20: 1: 65534 21,-18: 0: 10024 1: 34944 21,-17: - 0: 4680 - 1: 8320 + 0: 4672 + 1: 9352 21,-19: 0: 33280 1: 3072 @@ -6211,6 +6307,8 @@ entities: 1: 4403 22,-19: 1: 273 + 22,-18: + 1: 4368 22,-21: 1: 30188 12,-15: @@ -6225,74 +6323,73 @@ entities: 1: 12 0: 65280 12,-13: - 0: 3823 + 0: 56575 11,-13: - 0: 61262 + 0: 26382 12,-12: - 0: 43215 - 6: 4352 + 0: 56799 13,-15: 0: 65280 1: 4 13,-14: - 0: 61695 + 0: 55351 13,-13: - 0: 36863 + 0: 56799 13,-12: - 0: 53747 - 14,-14: - 0: 61452 - 14,-13: - 0: 65535 + 0: 65465 14,-15: + 0: 57102 + 14,-14: + 0: 5116 + 14,-13: 0: 52424 14,-12: - 0: 61164 - 15,-15: + 0: 61452 + 15,-14: + 0: 119 + 15,-13: 0: 30579 15,-12: - 0: 56797 + 0: 28679 16,-11: - 0: 65535 + 0: 63359 15,-11: - 0: 53247 + 0: 26623 16,-10: - 0: 15347 - 15,-10: - 0: 57341 + 0: 14207 16,-9: - 0: 65467 + 0: 49147 + 15,-10: + 0: 63078 15,-9: - 0: 56541 + 0: 65534 16,-8: - 0: 65307 + 0: 65427 17,-11: - 0: 24061 + 0: 65481 17,-10: - 0: 3952 + 0: 12543 17,-9: - 0: 4915 - 17,-8: - 0: 15241 + 0: 13107 18,-11: - 0: 19797 + 0: 7096 18,-10: - 0: 38397 + 0: 56413 18,-9: - 0: 46047 + 0: 20375 18,-8: - 0: 61323 + 0: 53015 19,-11: - 0: 18191 + 0: 5917 19,-10: - 0: 29286 + 0: 13895 19,-9: - 0: 63701 + 0: 36311 19,-8: - 0: 43932 + 0: 60383 20,-11: - 1: 3584 - 0: 8 + 0: 3 + 1: 2048 20,-9: 1: 49344 0: 3072 @@ -6300,69 +6397,72 @@ entities: 1: 12 0: 39296 21,-11: - 0: 36623 + 1: 8960 + 0: 3086 21,-9: 1: 61680 0: 3840 22,-11: - 0: 65535 + 0: 61391 22,-9: 1: 61680 0: 3840 23,-11: - 0: 311 + 0: 14335 23,-9: - 1: 61556 - 0: 3976 + 1: 61680 + 0: 3840 23,-10: - 1: 10560 - 0: 50720 + 1: 33792 + 0: 2176 + 24,-12: + 0: 4369 + 1: 34952 24,-11: - 1: 4898 - 0: 60620 + 0: 32769 + 1: 19592 24,-10: - 0: 65518 - 1: 17 + 1: 596 + 0: 64904 24,-9: - 0: 1911 - 1: 63624 + 1: 61457 + 0: 4078 11,-12: - 0: 4508 - 6: 52224 + 0: 54740 12,-11: - 6: 4369 - 0: 52424 + 0: 65437 11,-11: - 6: 52428 - 0: 4371 + 0: 21853 12,-10: - 0: 17748 + 0: 60625 11,-10: - 0: 22512 + 0: 34944 + 6: 13104 12,-9: - 0: 30567 + 0: 56784 11,-9: - 0: 56589 + 0: 65416 + 6: 2 12,-8: - 0: 4082 + 0: 57117 13,-11: - 0: 56793 + 0: 7407 13,-10: - 0: 61944 + 0: 56797 13,-9: - 0: 61945 + 0: 65529 13,-8: - 0: 35768 + 0: 48043 14,-11: - 0: 52974 + 0: 61439 14,-10: - 0: 61166 + 0: 65535 14,-9: - 0: 60654 + 0: 65526 14,-8: - 0: 61134 + 0: 64991 15,-8: - 0: 57229 + 0: 57231 16,-7: 0: 65327 15,-7: @@ -6375,8 +6475,10 @@ entities: 0: 1918 15,-5: 0: 65419 + 17,-8: + 0: 30576 17,-7: - 0: 29579 + 0: 29447 17,-6: 0: 56783 17,-5: @@ -6396,7 +6498,7 @@ entities: 18,-4: 1: 61443 19,-7: - 0: 411 + 0: 3475 19,-6: 0: 65439 19,-5: @@ -6410,30 +6512,32 @@ entities: 0: 57293 20,-5: 0: 193 + 11,-8: + 0: 18024 12,-7: - 0: 63247 + 0: 61681 11,-7: - 0: 38365 + 0: 63590 12,-6: - 0: 65343 + 0: 65407 11,-6: 0: 65535 12,-5: - 0: 3583 + 0: 11775 11,-5: 0: 20479 12,-4: 0: 4095 13,-7: - 0: 61693 + 0: 64952 13,-6: - 0: 65519 + 0: 65487 13,-5: 0: 65023 13,-4: 0: 4095 14,-7: - 0: 61678 + 0: 61919 14,-6: 0: 57119 14,-5: @@ -6443,38 +6547,32 @@ entities: 15,-4: 0: 3 1: 43008 - 8,-5: - 0: 61156 - 8,-4: - 0: 61166 - 9,-8: - 0: 60999 + 9,-7: + 0: 65030 9,-6: 0: 4991 9,-5: - 0: 4368 + 0: 272 1: 68 9,-9: - 0: 23887 - 9,-7: - 0: 57568 + 0: 15091 + 9,-8: + 0: 57574 9,-4: 0: 4369 1: 17408 10,-8: - 0: 30576 + 0: 40176 10,-7: - 0: 30896 + 0: 64461 10,-6: 0: 53215 10,-5: 0: 63485 10,-9: - 0: 32013 + 0: 65520 10,-4: 0: 4087 - 11,-8: - 0: 5399 11,-4: 0: 4095 9,-12: @@ -6482,7 +6580,7 @@ entities: 9,-11: 0: 64511 9,-10: - 0: 30578 + 0: 28530 9,-13: 0: 16307 10,-12: @@ -6490,20 +6588,23 @@ entities: 10,-11: 0: 65535 10,-10: - 0: 22384 + 6: 65520 + 0: 4 10,-13: 0: 12276 20,-4: 1: 53247 21,-7: 0: 16912 - 1: 32800 + 1: 33824 21,-6: - 0: 10024 - 1: 34944 + 0: 10016 + 1: 34952 21,-5: 0: 648 1: 3072 + 22,-6: + 1: 4368 22,-5: 1: 4352 22,-4: @@ -6540,8 +6641,6 @@ entities: 1: 16008 17,-3: 1: 62 - 8,-3: - 0: 14 9,-3: 0: 1 1: 3072 @@ -6579,40 +6678,52 @@ entities: 1: 8031 -5,-24: 1: 12288 - 24,-12: - 1: 8738 - 0: 52428 24,-8: 1: 3927 + 24,-13: + 1: 35908 + 0: 136 25,-12: - 0: 4369 - 1: 28270 + 0: 30583 + 1: 2056 25,-11: - 0: 273 - 1: 63086 + 0: 14199 + 1: 49160 25,-10: - 1: 48051 + 0: 13107 + 1: 34952 25,-9: - 1: 22431 + 0: 273 + 1: 24142 25,-13: - 0: 4352 - 1: 26355 - 26,-12: - 1: 4369 - 26,-11: - 1: 4369 - 26,-13: - 1: 4369 - 26,-10: - 1: 1 + 0: 30515 + 1: 200 25,-8: - 1: 256 + 1: 785 + 26,-12: + 1: 22359 + 26,-11: + 1: 30039 + 26,-9: + 1: 4387 + 26,-13: + 1: 21876 + 26,-10: + 1: 8740 24,-16: 1: 24320 + 25,-16: + 1: 4864 25,-15: - 1: 38736 + 1: 20049 + 0: 4352 25,-14: - 1: 48063 + 0: 13105 + 1: 34958 + 26,-15: + 1: 8464 + 26,-14: + 1: 8739 12,-26: 0: 61064 12,-27: @@ -6620,7 +6731,9 @@ entities: 13,-27: 0: 4096 13,-26: - 0: 63249 + 0: 65299 + 14,-26: + 0: 4096 uniqueMixes: - volume: 2500 temperature: 293.15 @@ -6733,24 +6846,32 @@ entities: - type: BecomesStation id: Exo - type: ImplicitRoof -- proto: AcousticGuitarInstrument - entities: - - uid: 1616 - components: - - type: Transform - pos: -61.538322,-25.478237 - parent: 2 - - uid: 19232 - components: - - type: Transform - pos: 46.37038,-29.595928 - parent: 2 - proto: ActionStethoscope entities: - uid: 6661 components: - type: Transform parent: 6660 +- proto: ActionToggleBlock + entities: + - uid: 6618 + mapInit: true + paused: true + components: + - type: Transform + parent: 13842 + - type: Action + originalIconColor: '#FFFFFFFF' + container: 13842 + - uid: 6619 + mapInit: true + paused: true + components: + - type: Transform + parent: 13901 + - type: Action + originalIconColor: '#FFFFFFFF' + container: 13901 - proto: ActionToggleInternals entities: - uid: 3031 @@ -6865,18 +6986,21 @@ entities: components: - type: Transform parent: 33 - - uid: 2230 - mapInit: true - paused: true - components: - - type: Transform - parent: 2223 - uid: 3844 mapInit: true paused: true components: - type: Transform parent: 17536 + - uid: 4915 + mapInit: true + paused: true + components: + - type: Transform + parent: 10499 + - type: Action + originalIconColor: '#FFFFFFFF' + container: 10499 - uid: 5672 components: - type: Transform @@ -6889,6 +7013,15 @@ entities: components: - type: Transform parent: 5848 + - uid: 7566 + mapInit: true + paused: true + components: + - type: Transform + parent: 15343 + - type: Action + originalIconColor: '#FFFFFFFF' + container: 15343 - uid: 8005 components: - type: Transform @@ -6897,12 +7030,6 @@ entities: components: - type: Transform parent: 16318 - - uid: 15464 - mapInit: true - paused: true - components: - - type: Transform - parent: 15463 - proto: AirAlarm entities: - uid: 364 @@ -6919,11 +7046,11 @@ entities: - 18775 - 530 - 8920 - - 5203 - - 2388 - 18544 - 18545 - 19139 + - 19838 + - 19837 - uid: 459 components: - type: Transform @@ -6932,118 +7059,15 @@ entities: parent: 2 - type: DeviceList devices: - - 8541 - - 8540 - - 8539 - 10476 - 10477 - 10478 - 16422 - 1099 - 16423 - - uid: 3446 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,-27.5 - parent: 2 - - type: DeviceList - devices: - - 3551 - - 9351 - - 3447 - - 7119 - - 7117 - - uid: 7104 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-39.5 - parent: 2 - - type: DeviceList - devices: - - 4174 - - 4175 - - 10754 - - 7117 - - 7119 - - 3552 - - 4200 - - uid: 7131 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-53.5 - parent: 2 - - type: DeviceList - devices: - - 13816 - - 275 - - 9287 - - 7733 - - 9363 - - 3531 - - 17963 - - 3399 - - 3400 - - 6164 - - 3396 - - 3397 - - 13917 - - 3398 - - uid: 7950 - components: - - type: Transform - pos: 69.5,-49.5 - parent: 2 - - type: DeviceList - devices: - - 13910 - - 13894 - - 17963 - - uid: 7952 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-44.5 - parent: 2 - - type: DeviceList - devices: - - 3553 - - 9357 - - uid: 7953 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-35.5 - parent: 2 - - type: DeviceList - devices: - - 7954 - - 2157 - - 9293 - - 8403 - - 4175 - - 4174 - - 8404 - - 7987 - - 9213 - - 10298 - - 7105 - - 7114 - - 7103 - - uid: 8124 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-56.5 - parent: 2 - - type: DeviceList - devices: - - 10796 - - 10267 - - 275 - - 13816 + - 19831 + - 19832 + - 19833 - uid: 8767 components: - type: Transform @@ -7051,15 +7075,15 @@ entities: parent: 2 - type: DeviceList devices: - - 8525 - - 8524 - - 8873 - - 8526 - - 8870 - - 872 - - 8891 - - 9463 - 8655 + - 9463 + - 8870 + - 8873 + - 4972 + - 872 + - 6667 + - 13188 + - 4984 - uid: 8816 components: - type: Transform @@ -7084,17 +7108,6 @@ entities: devices: - 6133 - 9819 - - uid: 10295 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-49.5 - parent: 2 - - type: DeviceList - devices: - - 7751 - - 5415 - - 10298 - uid: 14458 components: - type: Transform @@ -7198,7 +7211,8 @@ entities: - 8664 - 2516 - 8665 - - 12821 + - 15401 + - 8712 - uid: 14642 components: - type: Transform @@ -7207,7 +7221,6 @@ entities: parent: 2 - type: DeviceList devices: - - 18546 - 14657 - 14656 - 14654 @@ -7272,7 +7285,9 @@ entities: parent: 2 - type: DeviceList devices: - - 579 + - 19924 + - 9080 + - 12242 - uid: 14778 components: - type: Transform @@ -7287,6 +7302,101 @@ entities: - 14547 - 14549 - 14545 + - uid: 16343 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-49.5 + parent: 2 + - type: DeviceList + devices: + - 17517 + - 17518 + - uid: 16344 + components: + - type: Transform + pos: 67.5,-49.5 + parent: 2 + - type: DeviceList + devices: + - 17943 + - 17926 + - uid: 16345 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 72.5,-43.5 + parent: 2 + - type: DeviceList + devices: + - 17695 + - 17700 + - uid: 16346 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-38.5 + parent: 2 + - type: DeviceList + devices: + - 19900 + - 19901 + - 19902 + - 19908 + - 19907 + - 17956 + - 17957 + - uid: 16353 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-36.5 + parent: 2 + - type: DeviceList + devices: + - 17908 + - 17909 + - uid: 16354 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-32.5 + parent: 2 + - type: DeviceList + devices: + - 16247 + - 16252 + - 16259 + - 16431 + - 16433 + - 16240 + - 16239 + - 16238 + - 16448 + - 16437 + - 17907 + - 2157 + - 7954 + - 19908 + - 19907 + - 17906 + - 17997 + - uid: 16356 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 67.5,-45.5 + parent: 2 + - type: DeviceList + devices: + - 16240 + - 16239 + - 16238 + - 19903 + - 19904 + - 17601 + - 17516 + - 17996 - uid: 17282 components: - type: Transform @@ -7302,6 +7412,16 @@ entities: - 18547 - 2334 - 2406 + - uid: 17993 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-36.5 + parent: 2 + - type: DeviceList + devices: + - 17992 + - 17990 - uid: 18013 components: - type: Transform @@ -7334,6 +7454,8 @@ entities: - 13846 - 14728 - 7109 + - 2155 + - 4170 - uid: 18493 components: - type: Transform @@ -7356,7 +7478,7 @@ entities: - 11725 - 11724 - 11723 - - 11722 + - 7979 - 11721 - 11720 - 11719 @@ -7369,44 +7491,95 @@ entities: - 8778 - 18055 - 18056 + - 4171 + - 13846 + - 9297 + - 7800 + - 8607 + - 9082 + - 9066 + - 19872 - uid: 19220 components: - type: Transform pos: -29.5,-58.5 parent: 2 -- proto: AirAlarmFreezer - entities: - - uid: 164 + - type: DeviceList + devices: + - 19267 + - 8020 + - uid: 19835 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 45.5,-42.5 + rot: 3.141592653589793 rad + pos: 6.5,-18.5 parent: 2 - type: DeviceList devices: - - 8793 - - 14697 -- proto: AirAlarmXeno - entities: - - uid: 467 + - 8665 + - 19834 + - 8832 + - 8831 + - uid: 19836 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 5.5,-23.5 + parent: 2 + - type: DeviceList + devices: + - 8757 + - 8666 + - 14635 + - 14634 + - 10070 + - uid: 19905 components: - type: Transform rot: -1.5707963267948966 rad - pos: 95.5,-45.5 + pos: 63.5,-48.5 parent: 2 - type: DeviceList devices: - - 8709 - - 10421 - - 8586 - - 8587 - - 8588 - - 8589 - - 8590 - - 8591 - - 7498 - - 7654 - - 18127 + - 17267 + - 17265 + - uid: 19909 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-30.5 + parent: 2 + - type: DeviceList + devices: + - 3551 + - 9351 + - 3449 + - 19906 + - 19912 + - 3447 + - uid: 19911 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 53.5,-35.5 + parent: 2 + - type: DeviceList + devices: + - 16259 + - 16252 + - 16247 + - 17913 + - 17911 +- proto: AirAlarmFreezer + entities: + - uid: 7344 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 44.5,-39.5 + parent: 2 +- proto: AirAlarmXeno + entities: - uid: 469 components: - type: Transform @@ -7416,29 +7589,28 @@ entities: devices: - 10003 - 10002 - - 7443 + - 19818 - 9649 - 9620 - 7957 - 567 - - 8532 - - 8531 - - 8530 - - 8520 - - 8519 - - 8518 - - 8514 - - 8513 - - 8512 - 8524 - 8525 - 8526 - - 8453 - - 8452 - - 8451 - - 8445 - - 8446 - - 8447 + - 19817 + - 19816 + - 9878 + - 15243 + - 15173 + - 4096 + - 19820 + - 19821 + - 19822 + - 19823 + - 19824 + - 19825 + - 19826 + - 19827 - uid: 569 components: - type: Transform @@ -7449,18 +7621,17 @@ entities: - 8687 - 3185 - 18862 - - 6614 + - 19889 - 18801 - - 14832 - - 14831 - 8442 - 8441 - 8440 - 8439 - 8438 - - 8390 - - 8391 - - 8392 + - 19890 + - 19893 + - 19894 + - 19895 - uid: 572 components: - type: Transform @@ -7476,6 +7647,26 @@ entities: - 9613 - 6422 - 18812 + - uid: 579 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-25.5 + parent: 2 + - type: DeviceList + devices: + - 14728 + - 7109 + - 11725 + - 11724 + - 11723 + - 9877 + - 9383 + - 16452 + - 16453 + - 19871 + - 19870 + - 8480 - uid: 1075 components: - type: Transform @@ -7505,12 +7696,12 @@ entities: - 518 - 8765 - 18859 - - 8529 - - 8528 - - 8527 - 10479 - 10480 - 10481 + - 4096 + - 19820 + - 19821 - uid: 1751 components: - type: Transform @@ -7521,12 +7712,12 @@ entities: devices: - 8647 - 9796 - - 8548 - - 8549 - - 8550 - 19402 - 12859 - 19401 + - 19841 + - 19840 + - 19839 - uid: 1876 components: - type: Transform @@ -7564,6 +7755,8 @@ entities: - 18880 - 9715 - 2462 + - 19815 + - 811 - uid: 2197 components: - type: Transform @@ -7582,15 +7775,14 @@ entities: parent: 2 - type: DeviceList devices: - - 9287 - - 7733 - - 9363 - - 3531 - 14283 - 12148 - 3402 - - 3403 - 8745 + - 8547 + - 8548 + - 8549 + - 16872 - uid: 3897 components: - type: Transform @@ -7617,13 +7809,11 @@ entities: - 10479 - 10480 - 10481 - - 8533 - - 8534 - - 8535 - - 8831 - - 8832 - - 8665 + - 19829 + - 19828 + - 8107 - 16242 + - 19830 - uid: 5107 components: - type: Transform @@ -7661,7 +7851,8 @@ entities: - 14798 - 9493 - 9494 - - 8744 + - 14797 + - 19819 - uid: 5862 components: - type: Transform @@ -7701,35 +7892,6 @@ entities: - 8439 - 8438 - 18862 - - uid: 6353 - components: - - type: Transform - pos: 34.5,-24.5 - parent: 2 - - type: DeviceList - devices: - - 8781 - - 6670 - - 8685 - - 8789 - - uid: 6354 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 32.5,-23.5 - parent: 2 - - type: DeviceList - devices: - - 8797 - - 8777 - - 8774 - - 8783 - - 8784 - - 8789 - - 8785 - - 8788 - - 8787 - - 8786 - uid: 6358 components: - type: Transform @@ -7738,18 +7900,11 @@ entities: parent: 2 - type: DeviceList devices: - - 8592 - - 8818 - - 8740 - - uid: 6360 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-66.5 - parent: 2 - - type: DeviceList - devices: - - 8746 + - 19875 + - 14730 + - 3448 + - 19873 + - 19874 - uid: 6406 components: - type: Transform @@ -7763,6 +7918,7 @@ entities: - 8681 - 8433 - 8434 + - 19885 - uid: 6407 components: - type: Transform @@ -7775,6 +7931,7 @@ entities: - 8495 - 8860 - 8859 + - 8721 - uid: 6410 components: - type: Transform @@ -7787,12 +7944,6 @@ entities: - 8613 - 8776 - 8493 - - 8456 - - 8455 - - 8454 - - 8459 - - 8458 - - 8457 - 8862 - 8863 - uid: 6411 @@ -7804,15 +7955,16 @@ entities: devices: - 8750 - 8654 - - 8466 - - 8468 - - 8467 - - 8460 - - 8461 - - 8462 - 8471 - 8469 - 8470 + - 19802 + - 19803 + - 19804 + - 19799 + - 19800 + - 19801 + - 8751 - uid: 6413 components: - type: Transform @@ -7830,6 +7982,10 @@ entities: - 8472 - 8473 - 8474 + - 19806 + - 19805 + - 19807 + - 19808 - uid: 6416 components: - type: Transform @@ -7841,17 +7997,6 @@ entities: - 8713 - 8714 - 8715 - - uid: 6418 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,-55.5 - parent: 2 - - type: DeviceList - devices: - - 12148 - - 14283 - - 8745 - uid: 6646 components: - type: Transform @@ -7860,17 +8005,16 @@ entities: parent: 2 - type: DeviceList devices: - - 8463 - - 8464 - - 8465 - - 8598 - - 8597 - - 8596 - - 8856 - - 8857 + - 19800 + - 19801 - 8753 - 8756 - 8661 + - 19799 + - 19796 + - 19797 + - 19798 + - 4002 - uid: 7245 components: - type: Transform @@ -7896,6 +8040,19 @@ entities: - 8399 - 3081 - 18842 + - 19920 + - uid: 7582 + components: + - type: Transform + pos: 34.5,-25.5 + parent: 2 + - type: DeviceList + devices: + - 19854 + - 19851 + - 18293 + - 18312 + - 6423 - uid: 7875 components: - type: Transform @@ -7915,26 +8072,6 @@ entities: - type: DeviceList devices: - 1112 - - uid: 9040 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 26.5,-30.5 - parent: 2 - - type: DeviceList - devices: - - 8644 - - 9840 - - 8703 - - 8545 - - 8546 - - 8547 - - 8551 - - 8552 - - 8553 - - 18860 - - 18861 - - 9822 - uid: 9180 components: - type: Transform @@ -7965,13 +8102,18 @@ entities: devices: - 8741 - 8742 - - 8743 + - 19809 - 5571 - 5570 - 5569 - 5573 - 5572 - 5574 + - 19810 + - 19811 + - 19812 + - 19814 + - 19813 - uid: 9195 components: - type: Transform @@ -7989,6 +8131,8 @@ entities: - 5578 - 10154 - 10030 + - 20047 + - 20048 - uid: 9198 components: - type: Transform @@ -7997,7 +8141,6 @@ entities: parent: 2 - type: DeviceList devices: - - 18781 - 16964 - 18782 - 8604 @@ -8006,6 +8149,7 @@ entities: - 9541 - 11336 - 18786 + - 8605 - uid: 9199 components: - type: Transform @@ -8016,12 +8160,12 @@ entities: devices: - 8768 - 8770 - - 8536 - - 8537 - - 8538 - 8601 - 8600 - 8599 + - 19830 + - 19829 + - 19828 - uid: 9216 components: - type: Transform @@ -8033,14 +8177,14 @@ entities: - 9962 - 8673 - 8507 - - 8504 - - 8503 - - 8502 - 8505 - 8506 - - 1809 - - 1807 - - 9834 + - 19888 + - 19887 + - 19886 + - 19892 + - 19891 + - 8759 - uid: 9234 components: - type: Transform @@ -8052,15 +8196,16 @@ entities: - 14799 - 14800 - 14798 - - 8448 - - 8449 - - 8450 - 8498 - 8497 - 8496 - 8716 - 16897 - 8401 + - 9878 + - 15243 + - 15173 + - 14797 - uid: 9235 components: - type: Transform @@ -8069,16 +8214,16 @@ entities: parent: 2 - type: DeviceList devices: - - 8551 - - 8552 - - 8553 - - 8423 - - 8422 - - 8421 - 8554 - 8555 - 8638 - 8639 + - 19850 + - 19849 + - 19848 + - 19877 + - 19878 + - 19879 - uid: 9236 components: - type: Transform @@ -8089,20 +8234,22 @@ entities: devices: - 8616 - 8615 - - 8429 - - 8428 - - 8427 - - 8393 - - 8394 - - 8395 - - 8418 - - 8419 - - 8420 - - 8423 - - 8422 - - 8421 - 6602 - 15637 + - 19879 + - 19878 + - 19877 + - 8430 + - 8431 + - 8432 + - 8398 + - 8397 + - 8396 + - 8415 + - 8416 + - 8417 + - 8424 + - 8556 - uid: 9239 components: - type: Transform @@ -8117,18 +8264,19 @@ entities: - 8676 - 8678 - 8677 - - 8389 - - 12781 - - 8387 - - 8384 - - 8385 - - 8386 - 6976 - 6977 - 6978 - 17153 - 17130 - 17129 + - 19896 + - 19897 + - 19898 + - 19893 + - 19894 + - 19895 + - 19899 - uid: 9240 components: - type: Transform @@ -8140,14 +8288,14 @@ entities: - 1732 - 8612 - 6616 - - 4276 - - 8382 - - 8383 - 8398 - 8397 - 8396 - 10326 - 9410 + - 19896 + - 19897 + - 19898 - uid: 9241 components: - type: Transform @@ -8162,7 +8310,8 @@ entities: - 7017 - 15635 - 8790 - - 10059 + - 19882 + - 1800 - uid: 9243 components: - type: Transform @@ -8181,7 +8330,6 @@ entities: - 7011 - 7012 - 9833 - - 18811 - 7056 - uid: 9248 components: @@ -8197,6 +8345,7 @@ entities: - 8402 - 9410 - 10326 + - 19920 - uid: 9262 components: - type: Transform @@ -8206,14 +8355,15 @@ entities: - type: DeviceList devices: - 8735 - - 8736 - - 8730 + - 8732 + - 8734 - 8737 - 8728 - 8729 - - 8732 + - 8628 + - 8730 + - 8479 - 8731 - - 8734 - uid: 9403 components: - type: Transform @@ -8225,18 +8375,17 @@ entities: - 8667 - 8668 - 3440 - - 8499 - - 8500 - - 8501 - 8430 - 8431 - 8432 - - 7930 - - 7926 - 8433 - 8434 - - 10370 - - 10371 + - 19888 + - 19885 + - 19887 + - 19886 + - 19889 + - 19890 - uid: 10429 components: - type: Transform @@ -8246,12 +8395,74 @@ entities: devices: - 8622 - 9834 + - uid: 10761 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 21.5,-14.5 + parent: 2 + - type: DeviceList + devices: + - 18702 + - 18703 + - 18704 + - 914 + - 913 + - 19831 + - 19832 + - 19833 + - 18399 + - 18398 + - 15636 + - uid: 10839 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 97.5,-45.5 + parent: 2 + - type: DeviceList + devices: + - 10811 + - 10788 + - 15191 + - 15192 + - 15193 + - 15194 + - 19914 + - 19915 + - 3747 + - 9311 + - 7594 + - uid: 12980 + components: + - type: Transform + pos: -4.5,-46.5 + parent: 2 + - type: DeviceList + devices: + - 10474 + - 10473 - uid: 15885 components: - type: Transform rot: 3.141592653589793 rad pos: -23.5,-15.5 parent: 2 + - type: DeviceList + devices: + - 8602 + - 8603 + - 8604 + - 8601 + - 8600 + - 8599 + - 19798 + - 19797 + - 19796 + - 18795 + - 14692 + - 18794 + - 18793 - uid: 16120 components: - type: Transform @@ -8268,6 +8479,94 @@ entities: - 9963 - 8717 - 4002 + - uid: 16312 + components: + - type: Transform + pos: 53.5,-41.5 + parent: 2 + - type: DeviceList + devices: + - 19903 + - 19904 + - 16450 + - 16451 + - 19902 + - 19901 + - 19900 + - 8549 + - 8548 + - 8547 + - 16910 + - 16911 + - 17995 + - uid: 16342 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 49.5,-54.5 + parent: 2 + - type: DeviceList + devices: + - 10595 + - 10279 + - uid: 16362 + components: + - type: Transform + pos: 33.5,-16.5 + parent: 2 + - type: DeviceList + devices: + - 18706 + - 18707 + - 18708 + - 18724 + - 18723 + - 18709 + - 18705 + - 18554 + - 18525 + - 18731 + - uid: 16363 + components: + - type: Transform + pos: 33.5,-13.5 + parent: 2 + - type: DeviceList + devices: + - 18724 + - 18723 + - 18709 + - 18726 + - 18725 + - 18735 + - uid: 16367 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-27.5 + parent: 2 + - type: DeviceList + devices: + - 19845 + - 19846 + - 19847 + - 19838 + - 19837 + - 18702 + - 18703 + - 18704 + - 18705 + - 18706 + - 18707 + - 18708 + - 8550 + - 8551 + - 8552 + - 19854 + - 19851 + - 15526 + - 1104 + - 18400 - uid: 16603 components: - type: Transform @@ -8291,31 +8590,23 @@ entities: - 7893 - 17678 - 18800 - - 8515 - - 8516 - - 8517 - - 1438 - - 1806 - - uid: 18598 + - 19827 + - 19826 + - 19825 + - 19892 + - 19891 + - uid: 18736 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 26.5,-14.5 + rot: 1.5707963267948966 rad + pos: 33.5,-12.5 parent: 2 - type: DeviceList devices: - - 8764 - - 14668 - - 14669 - - 8542 - - 8543 - - 8544 - - 914 - - 913 - - 9643 - - 15636 - - 9496 - - 14601 + - 18735 + - 18731 + - 18665 + - 18666 - uid: 18783 components: - type: Transform @@ -8340,54 +8631,6 @@ entities: - 8677 - 8678 - 262 - - uid: 18869 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-11.5 - parent: 2 - - type: DeviceList - devices: - - 17679 - - 8426 - - uid: 18873 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 47.5,-25.5 - parent: 2 - - type: DeviceList - devices: - - 18828 - - 11721 - - 8572 - - 8571 - - 11720 - - 11719 - - 11718 - - 11717 - - 11716 - - 11715 - - 11712 - - 18827 - - 8785 - - uid: 18874 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 56.5,-25.5 - parent: 2 - - type: DeviceList - devices: - - 18061 - - 8571 - - 8572 - - 11722 - - 11723 - - 11724 - - 11725 - - 7109 - - 14728 - uid: 19200 components: - type: Transform @@ -8413,21 +8656,6 @@ entities: rot: -1.5707963267948966 rad pos: 52.5,-65.5 parent: 2 - - uid: 19354 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 32.5,-15.5 - parent: 2 - - type: DeviceList - devices: - - 8426 - - 16879 - - 13106 - - 8779 - - 8788 - - 8787 - - 8786 - uid: 19400 components: - type: Transform @@ -8438,14 +8666,14 @@ entities: devices: - 1796 - 531 - - 8523 - - 8522 - - 8521 - 19401 - 12859 - 19402 - 4972 - 872 + - 19822 + - 19823 + - 19824 - uid: 19419 components: - type: Transform @@ -8459,27 +8687,198 @@ entities: - 18786 - 9596 - 11935 + - uid: 19853 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-31.5 + parent: 2 + - type: DeviceList + devices: + - 19841 + - 19840 + - 19839 + - 19848 + - 19849 + - 19850 + - 19845 + - 19846 + - 19847 + - 8644 + - 9840 + - uid: 19856 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 46.5,-25.5 + parent: 2 + - type: DeviceList + devices: + - 8552 + - 8551 + - 8550 + - 9383 + - 9877 + - 7979 + - 11721 + - 11720 + - 11719 + - 11718 + - 11717 + - 11716 + - 11715 + - 11712 + - 18681 + - 18673 + - 18828 + - uid: 19876 + components: + - type: Transform + pos: 76.5,-18.5 + parent: 2 + - type: DeviceList + devices: + - 19875 + - 8592 + - 8818 + - 2646 + - 8740 + - uid: 19880 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 35.5,-46.5 + parent: 2 + - type: DeviceList + devices: + - 7009 + - 7056 + - 7010 + - 7011 + - 7012 + - 7017 + - 7016 + - 7015 + - 7014 + - 7013 + - 10646 + - 18789 + - 18811 + - 19882 + - uid: 19883 + components: + - type: Transform + pos: 42.5,-48.5 + parent: 2 + - type: DeviceList + devices: + - 9247 + - 582 + - uid: 19884 + components: + - type: Transform + pos: 13.5,-47.5 + parent: 2 + - type: DeviceList + devices: + - 10371 + - 10370 + - uid: 19916 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 77.5,-47.5 + parent: 2 + - type: DeviceList + devices: + - 19913 + - 19914 + - 19915 + - 18832 + - 591 + - uid: 19917 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 72.5,-63.5 + parent: 2 + - type: DeviceList + devices: + - 19064 + - uid: 19922 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-72.5 + parent: 2 + - type: DeviceList + devices: + - 19923 + - uid: 19961 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -47.5,-62.5 + parent: 2 + - type: DeviceList + devices: + - 9696 + - 9699 + - uid: 19962 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -43.5,-62.5 + parent: 2 + - type: DeviceList + devices: + - 11944 + - 10832 + - uid: 19963 + components: + - type: Transform + pos: -44.5,-67.5 + parent: 2 + - type: DeviceList + devices: + - 9702 + - 14581 + - uid: 19964 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -39.5,-61.5 + parent: 2 + - type: DeviceList + devices: + - 5830 + - 9701 - proto: AirCanister entities: - - uid: 8805 + - uid: 6560 components: - type: Transform - pos: 64.5,-62.5 + pos: 59.5,-63.5 parent: 2 - - uid: 15140 + - uid: 10815 components: - type: Transform - pos: 71.5,-69.5 + pos: 62.5,-54.5 parent: 2 - - uid: 17695 + - uid: 15475 components: - type: Transform - pos: 70.5,-55.5 + pos: 58.5,-60.5 parent: 2 - - uid: 19227 + - uid: 16265 components: - type: Transform - pos: 51.5,-30.5 + pos: 57.5,-60.5 + parent: 2 + - uid: 19079 + components: + - type: Transform + pos: 74.5,-51.5 parent: 2 - uid: 19307 components: @@ -8491,27 +8890,48 @@ entities: - type: Transform pos: 54.5,-71.5 parent: 2 + - uid: 19970 + components: + - type: Transform + pos: -54.5,-25.5 + parent: 2 +- proto: AirGrenade + entities: + - uid: 20007 + components: + - type: Transform + parent: 20005 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 20021 + components: + - type: Transform + pos: 57.73585,-59.328594 + parent: 2 - proto: AirlockArmoryGlassLocked entities: - - uid: 3217 - components: - - type: Transform - pos: 66.5,-32.5 - parent: 2 - - uid: 3287 + - uid: 3617 components: - type: Transform + rot: 1.5707963267948966 rad pos: 66.5,-33.5 parent: 2 - - uid: 7307 + - uid: 5427 components: - type: Transform - pos: 58.5,-40.5 + pos: 60.5,-36.5 parent: 2 - - uid: 9258 + - uid: 7279 components: - type: Transform - pos: 61.5,-41.5 + rot: 1.5707963267948966 rad + pos: 66.5,-34.5 + parent: 2 + - uid: 7951 + components: + - type: Transform + pos: 55.5,-35.5 parent: 2 - proto: AirlockAtmosphericsLocked entities: @@ -8530,6 +8950,17 @@ entities: - type: Transform pos: 34.5,-70.5 parent: 2 + - uid: 8225 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-59.5 + parent: 2 + - uid: 15488 + components: + - type: Transform + pos: -52.5,-25.5 + parent: 2 - proto: AirlockBarLocked entities: - uid: 3879 @@ -8544,25 +8975,45 @@ entities: parent: 2 - proto: AirlockBrigGlassLocked entities: - - uid: 3065 + - uid: 3469 components: - type: Transform - pos: 63.5,-44.5 + pos: 61.5,-37.5 parent: 2 - - uid: 3094 + - uid: 3525 components: - type: Transform - pos: 62.5,-47.5 + pos: 56.5,-26.5 parent: 2 - - uid: 3101 + - uid: 4379 components: - type: Transform - pos: 63.5,-47.5 + pos: 62.5,-37.5 parent: 2 - - uid: 8413 + - uid: 4712 components: - type: Transform - pos: 62.5,-44.5 + pos: 62.5,-40.5 + parent: 2 + - uid: 4874 + components: + - type: Transform + pos: 55.5,-29.5 + parent: 2 + - uid: 4907 + components: + - type: Transform + pos: 55.5,-26.5 + parent: 2 + - uid: 6125 + components: + - type: Transform + pos: 61.5,-40.5 + parent: 2 + - uid: 9229 + components: + - type: Transform + pos: 56.5,-29.5 parent: 2 - proto: AirlockBrigLocked entities: @@ -8680,29 +9131,10 @@ entities: parent: 2 - proto: AirlockCommandGlassLocked entities: - - uid: 2146 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 81.5,-46.5 - parent: 2 - - uid: 17853 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 81.5,-44.5 - parent: 2 -- proto: AirlockCommandLocked - entities: - - uid: 5 - components: - - type: Transform - pos: -46.5,-36.5 - parent: 2 - uid: 155 components: - type: Transform - pos: -30.5,-42.5 + pos: -30.5,-41.5 parent: 2 - uid: 157 components: @@ -8734,33 +9166,53 @@ entities: - type: Transform pos: -33.5,-42.5 parent: 2 + - uid: 291 + components: + - type: Transform + pos: -30.5,-42.5 + parent: 2 + - uid: 3188 + components: + - type: Transform + pos: 83.5,-46.5 + parent: 2 + - uid: 5321 + components: + - type: Transform + pos: 83.5,-44.5 + parent: 2 +- proto: AirlockCommandLocked + entities: + - uid: 5 + components: + - type: Transform + pos: -46.5,-36.5 + parent: 2 - uid: 276 components: - type: Transform pos: -5.5,-2.5 parent: 2 - - uid: 797 + - uid: 7597 components: - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,-45.5 + rot: 1.5707963267948966 rad + pos: 77.5,-45.5 parent: 2 - - uid: 5425 +- proto: AirlockDetectiveGlassLocked + entities: + - uid: 10249 components: - type: Transform - pos: -30.5,-41.5 + pos: 67.5,-47.5 parent: 2 - proto: AirlockDetectiveLocked entities: - - uid: 9247 + - uid: 7307 components: - type: Transform - pos: 66.5,-51.5 - parent: 2 - - uid: 15386 - components: - - type: Transform - pos: 73.5,-51.5 + rot: -1.5707963267948966 rad + pos: 72.5,-45.5 parent: 2 - proto: AirlockEngineering entities: @@ -8799,11 +9251,6 @@ entities: - type: Transform pos: 4.5,-61.5 parent: 2 - - uid: 325 - components: - - type: Transform - pos: 47.5,-38.5 - parent: 2 - uid: 350 components: - type: Transform @@ -8859,6 +9306,12 @@ entities: - type: Transform pos: -26.5,-69.5 parent: 2 + - uid: 3461 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 49.5,-29.5 + parent: 2 - uid: 4725 components: - type: Transform @@ -8869,10 +9322,10 @@ entities: - type: Transform pos: -60.5,-66.5 parent: 2 - - uid: 7165 + - uid: 12988 components: - type: Transform - pos: 71.5,-37.5 + pos: 46.5,-42.5 parent: 2 - uid: 14122 components: @@ -8914,28 +9367,30 @@ entities: - DoorBolt - proto: AirlockExternalCommandLocked entities: - - uid: 340 + - uid: 797 components: - type: Transform - pos: 84.5,-49.5 + rot: -1.5707963267948966 rad + pos: 86.5,-41.5 parent: 2 - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource linkedPorts: - 3051: + 15197: - - DoorStatus - DoorBolt - - uid: 2499 + - uid: 799 components: - type: Transform - pos: 84.5,-41.5 + rot: -1.5707963267948966 rad + pos: 86.5,-49.5 parent: 2 - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource linkedPorts: - 3032: + 15198: - - DoorStatus - DoorBolt - proto: AirlockExternalEngineeringLocked @@ -9142,28 +9597,30 @@ entities: - InputB - proto: AirlockExternalGlassCommandLocked entities: - - uid: 3032 + - uid: 15197 components: - type: Transform - pos: 86.5,-41.5 + rot: -1.5707963267948966 rad + pos: 88.5,-41.5 parent: 2 - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource linkedPorts: - 2499: + 797: - - DoorStatus - DoorBolt - - uid: 3051 + - uid: 15198 components: - type: Transform - pos: 86.5,-49.5 + rot: -1.5707963267948966 rad + pos: 88.5,-49.5 parent: 2 - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource linkedPorts: - 340: + 799: - - DoorStatus - DoorBolt - proto: AirlockExternalGlassEngineeringLocked @@ -9381,15 +9838,17 @@ entities: parent: 2 - proto: AirlockFreezerLocked entities: - - uid: 4273 + - uid: 800 components: - type: Transform - pos: 45.5,-43.5 + rot: 1.5707963267948966 rad + pos: 42.5,-39.5 parent: 2 - - uid: 4274 + - uid: 3473 components: - type: Transform - pos: 47.5,-46.5 + rot: 1.5707963267948966 rad + pos: 39.5,-37.5 parent: 2 - proto: AirlockGlass entities: @@ -9459,11 +9918,21 @@ entities: - type: Transform pos: 6.5,-35.5 parent: 2 + - uid: 918 + components: + - type: Transform + pos: 33.5,-23.5 + parent: 2 - uid: 923 components: - type: Transform pos: -27.5,-40.5 parent: 2 + - uid: 924 + components: + - type: Transform + pos: 33.5,-24.5 + parent: 2 - uid: 926 components: - type: Transform @@ -9789,11 +10258,29 @@ entities: - type: Transform pos: 23.5,-38.5 parent: 2 + - uid: 5417 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 27.5,-16.5 + parent: 2 + - uid: 5835 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-16.5 + parent: 2 - uid: 5887 components: - type: Transform pos: 24.5,-38.5 parent: 2 + - uid: 6140 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 25.5,-16.5 + parent: 2 - uid: 7112 components: - type: Transform @@ -9809,6 +10296,37 @@ entities: - type: Transform pos: 15.5,-13.5 parent: 2 + - uid: 8682 + components: + - type: Transform + pos: 33.5,-22.5 + parent: 2 + - uid: 8774 + components: + - type: Transform + pos: 31.5,-21.5 + parent: 2 + - uid: 8994 + components: + - type: Transform + pos: 28.5,-18.5 + parent: 2 + - uid: 9259 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 23.5,-28.5 + parent: 2 + - uid: 9291 + components: + - type: Transform + pos: 30.5,-21.5 + parent: 2 + - uid: 9417 + components: + - type: Transform + pos: 28.5,-19.5 + parent: 2 - uid: 10733 components: - type: Transform @@ -9841,6 +10359,18 @@ entities: rot: 1.5707963267948966 rad pos: -34.5,-59.5 parent: 2 + - uid: 19843 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-28.5 + parent: 2 + - uid: 19844 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 25.5,-28.5 + parent: 2 - proto: AirlockHeadOfPersonnelLocked entities: - uid: 1491 @@ -9860,10 +10390,11 @@ entities: parent: 2 - proto: AirlockHeadOfSecurityGlassLocked entities: - - uid: 17245 + - uid: 4099 components: - type: Transform - pos: 66.5,-44.5 + rot: -1.5707963267948966 rad + pos: 65.5,-49.5 parent: 2 - proto: AirlockHydroGlassLocked entities: @@ -9977,11 +10508,19 @@ entities: parent: 2 - proto: AirlockMaintKitchenLocked entities: - - uid: 2279 + - uid: 4713 components: - type: Transform + rot: 3.141592653589793 rad pos: 41.5,-48.5 parent: 2 +- proto: AirlockMaintLawyerLocked + entities: + - uid: 9615 + components: + - type: Transform + pos: 57.5,-57.5 + parent: 2 - proto: AirlockMaintLocked entities: - uid: 156 @@ -9999,23 +10538,37 @@ entities: - type: Transform pos: 81.5,-21.5 parent: 2 - - uid: 4609 + - uid: 9899 components: - type: Transform - pos: 79.5,-30.5 + pos: 80.5,-27.5 parent: 2 - proto: AirlockMaintMedLocked entities: - - uid: 295 - components: - - type: Transform - pos: 28.5,-30.5 - parent: 2 - uid: 3673 components: - type: Transform pos: 3.5,-21.5 parent: 2 + - uid: 4147 + components: + - type: Transform + pos: 28.5,-31.5 + parent: 2 +- proto: AirlockMaintSecLocked + entities: + - uid: 601 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-44.5 + parent: 2 + - uid: 714 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 52.5,-39.5 + parent: 2 - proto: AirlockMaintServiceLocked entities: - uid: 689 @@ -10023,16 +10576,6 @@ entities: - type: Transform pos: -34.5,-24.5 parent: 2 - - uid: 1711 - components: - - type: Transform - pos: 44.5,-49.5 - parent: 2 - - uid: 1803 - components: - - type: Transform - pos: 42.5,-51.5 - parent: 2 - proto: AirlockMedicalGlassLocked entities: - uid: 357 @@ -10058,7 +10601,7 @@ entities: pos: 11.5,-30.5 parent: 2 - type: Door - secondsUntilStateChange: -127847.92 + secondsUntilStateChange: -221892.55 state: Opening - type: DeviceLinkSource lastSignals: @@ -10088,42 +10631,34 @@ entities: parent: 2 - proto: AirlockMedicalLocked entities: - - uid: 234 - components: - - type: Transform - pos: 26.5,-23.5 - parent: 2 - - uid: 237 - components: - - type: Transform - pos: 26.5,-22.5 - parent: 2 - - uid: 283 - components: - - type: Transform - pos: 22.5,-23.5 - parent: 2 - - uid: 284 - components: - - type: Transform - pos: 22.5,-22.5 - parent: 2 - uid: 286 components: - type: Transform pos: -5.5,0.5 parent: 2 + - uid: 2388 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-23.5 + parent: 2 + - uid: 7795 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-22.5 + parent: 2 - proto: AirlockMedicalMorgueLocked entities: - - uid: 296 + - uid: 3714 components: - type: Transform - pos: 28.5,-24.5 + pos: 28.5,-25.5 parent: 2 - - uid: 297 + - uid: 9409 components: - type: Transform - pos: 32.5,-22.5 + pos: 29.5,-25.5 parent: 2 - proto: AirlockQuartermasterGlassLocked entities: @@ -10237,21 +10772,21 @@ entities: - type: Transform pos: 63.5,-30.5 parent: 2 + - uid: 2725 + components: + - type: Transform + pos: 67.5,-39.5 + parent: 2 + - uid: 3033 + components: + - type: Transform + pos: 67.5,-40.5 + parent: 2 - uid: 3102 components: - type: Transform pos: 64.5,-30.5 parent: 2 - - uid: 4176 - components: - - type: Transform - pos: 61.5,-37.5 - parent: 2 - - uid: 5386 - components: - - type: Transform - pos: 61.5,-38.5 - parent: 2 - uid: 7190 components: - type: Transform @@ -10264,10 +10799,10 @@ entities: parent: 2 - proto: AirlockSecurityLawyerLocked entities: - - uid: 7301 + - uid: 7238 components: - type: Transform - pos: 69.5,-42.5 + pos: 52.5,-35.5 parent: 2 - proto: AirlockSecurityLocked entities: @@ -10291,26 +10826,21 @@ entities: - type: Transform pos: 57.5,-19.5 parent: 2 - - uid: 4612 + - uid: 3023 components: - type: Transform - pos: 59.5,-33.5 + pos: 71.5,-43.5 + parent: 2 + - uid: 3541 + components: + - type: Transform + pos: 53.5,-30.5 parent: 2 - uid: 6267 components: - type: Transform pos: 61.5,-29.5 parent: 2 - - uid: 8651 - components: - - type: Transform - pos: 66.5,-38.5 - parent: 2 - - uid: 8691 - components: - - type: Transform - pos: 58.5,-33.5 - parent: 2 - proto: AirlockServiceGlassLocked entities: - uid: 3529 @@ -10372,15 +10902,22 @@ entities: parent: 2 - proto: AirlockVirologyGlassLocked entities: - - uid: 7767 + - uid: 7953 components: - type: Transform - pos: 29.5,-17.5 + pos: 31.5,-13.5 parent: 2 - - uid: 7769 + - uid: 8785 components: - type: Transform - pos: 30.5,-13.5 + pos: 31.5,-16.5 + parent: 2 +- proto: AirlockVirologyLocked + entities: + - uid: 7807 + components: + - type: Transform + pos: 35.5,-16.5 parent: 2 - proto: AirlockXeno entities: @@ -10416,16 +10953,16 @@ entities: - type: Transform pos: -15.5,-45.5 parent: 2 - - uid: 291 - components: - - type: Transform - pos: -39.5,-78.5 - parent: 2 - uid: 321 components: - type: Transform pos: -44.5,-77.5 parent: 2 + - uid: 340 + components: + - type: Transform + pos: 64.5,-62.5 + parent: 2 - uid: 360 components: - type: Transform @@ -10461,11 +10998,6 @@ entities: - type: Transform pos: -11.5,-45.5 parent: 2 - - uid: 601 - components: - - type: Transform - pos: 3.5,-60.5 - parent: 2 - uid: 602 components: - type: Transform @@ -10516,11 +11048,6 @@ entities: - type: Transform pos: -34.5,-68.5 parent: 2 - - uid: 730 - components: - - type: Transform - pos: -37.5,-76.5 - parent: 2 - uid: 732 components: - type: Transform @@ -10536,6 +11063,12 @@ entities: - type: Transform pos: 6.5,-68.5 parent: 2 + - uid: 739 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 42.5,-51.5 + parent: 2 - uid: 742 components: - type: Transform @@ -10546,61 +11079,6 @@ entities: - type: Transform pos: 37.5,-80.5 parent: 2 - - uid: 746 - components: - - type: Transform - pos: 38.5,-77.5 - parent: 2 - - uid: 751 - components: - - type: Transform - pos: 73.5,-68.5 - parent: 2 - - uid: 753 - components: - - type: Transform - pos: 71.5,-66.5 - parent: 2 - - uid: 792 - components: - - type: Transform - pos: 74.5,-60.5 - parent: 2 - - uid: 793 - components: - - type: Transform - pos: 77.5,-57.5 - parent: 2 - - uid: 798 - components: - - type: Transform - pos: 34.5,-19.5 - parent: 2 - - uid: 799 - components: - - type: Transform - pos: 52.5,-43.5 - parent: 2 - - uid: 800 - components: - - type: Transform - pos: 52.5,-45.5 - parent: 2 - - uid: 801 - components: - - type: Transform - pos: 51.5,-45.5 - parent: 2 - - uid: 806 - components: - - type: Transform - pos: 51.5,-43.5 - parent: 2 - - uid: 810 - components: - - type: Transform - pos: 50.5,-39.5 - parent: 2 - uid: 812 components: - type: Transform @@ -10611,6 +11089,11 @@ entities: - type: Transform pos: 72.5,-23.5 parent: 2 + - uid: 863 + components: + - type: Transform + pos: 55.5,-46.5 + parent: 2 - uid: 879 components: - type: Transform @@ -10641,11 +11124,6 @@ entities: - type: Transform pos: -35.5,-68.5 parent: 2 - - uid: 896 - components: - - type: Transform - pos: 38.5,-34.5 - parent: 2 - uid: 897 components: - type: Transform @@ -10656,11 +11134,6 @@ entities: - type: Transform pos: -30.5,-17.5 parent: 2 - - uid: 901 - components: - - type: Transform - pos: 38.5,-30.5 - parent: 2 - uid: 922 components: - type: Transform @@ -10672,40 +11145,142 @@ entities: rot: 3.141592653589793 rad pos: -34.5,-17.5 parent: 2 - - uid: 1815 + - uid: 3144 components: - type: Transform - pos: 44.5,-24.5 + pos: 57.5,-75.5 parent: 2 - - uid: 3361 + - uid: 3160 components: - type: Transform - pos: 57.5,-70.5 + rot: -1.5707963267948966 rad + pos: 44.5,-33.5 parent: 2 - - uid: 3818 + - uid: 3552 components: - type: Transform - pos: 44.5,-27.5 + pos: 53.5,-51.5 parent: 2 - - uid: 4077 + - uid: 3685 components: - type: Transform - pos: 74.5,-42.5 + rot: -1.5707963267948966 rad + pos: 44.5,-32.5 parent: 2 - - uid: 7214 + - uid: 3687 components: - type: Transform - pos: 59.5,-64.5 + rot: -1.5707963267948966 rad + pos: 46.5,-33.5 + parent: 2 + - uid: 3934 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 76.5,-40.5 + parent: 2 + - uid: 5485 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-74.5 + parent: 2 + - uid: 5892 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 46.5,-32.5 + parent: 2 + - uid: 6360 + components: + - type: Transform + pos: 67.5,-70.5 + parent: 2 + - uid: 7261 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 43.5,-25.5 parent: 2 - uid: 7297 components: - type: Transform pos: 44.5,-76.5 parent: 2 - - uid: 10244 + - uid: 7570 components: - type: Transform - pos: 65.5,-53.5 + pos: 60.5,-64.5 + parent: 2 + - uid: 8141 + components: + - type: Transform + pos: 74.5,-59.5 + parent: 2 + - uid: 8420 + components: + - type: Transform + pos: 38.5,-34.5 + parent: 2 + - uid: 8421 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 49.5,-47.5 + parent: 2 + - uid: 8620 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-25.5 + parent: 2 + - uid: 9251 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 44.5,-49.5 + parent: 2 + - uid: 9371 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 35.5,-19.5 + parent: 2 + - uid: 9887 + components: + - type: Transform + pos: 60.5,-58.5 + parent: 2 + - uid: 9888 + components: + - type: Transform + pos: 63.5,-56.5 + parent: 2 + - uid: 10303 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 72.5,-64.5 + parent: 2 + - uid: 10742 + components: + - type: Transform + pos: 3.5,-59.5 + parent: 2 + - uid: 10786 + components: + - type: Transform + pos: 5.5,-59.5 + parent: 2 + - uid: 10805 + components: + - type: Transform + pos: 51.5,-42.5 + parent: 2 + - uid: 11902 + components: + - type: Transform + pos: 77.5,-55.5 parent: 2 - uid: 12409 components: @@ -10713,16 +11288,16 @@ entities: rot: 3.141592653589793 rad pos: -11.5,-56.5 parent: 2 + - uid: 12960 + components: + - type: Transform + pos: 43.5,-28.5 + parent: 2 - uid: 13804 components: - type: Transform pos: 61.5,-24.5 parent: 2 - - uid: 13807 - components: - - type: Transform - pos: 46.5,-50.5 - parent: 2 - uid: 13811 components: - type: Transform @@ -10738,21 +11313,31 @@ entities: - type: Transform pos: 75.5,-24.5 parent: 2 + - uid: 14237 + components: + - type: Transform + pos: 57.5,-66.5 + parent: 2 + - uid: 14303 + components: + - type: Transform + pos: 65.5,-65.5 + parent: 2 - uid: 14396 components: - type: Transform pos: 52.5,-76.5 parent: 2 - - uid: 15174 - components: - - type: Transform - pos: 49.5,-31.5 - parent: 2 - uid: 15470 components: - type: Transform pos: 5.5,-72.5 parent: 2 + - uid: 16387 + components: + - type: Transform + pos: 37.5,-77.5 + parent: 2 - uid: 18040 components: - type: Transform @@ -10770,19 +11355,14 @@ entities: parent: 2 - proto: AirSensor entities: - - uid: 579 - components: - - type: Transform - pos: 49.5,-97.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 14759 - uid: 1800 components: - type: Transform pos: 40.5,-40.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 9241 - uid: 2195 components: - type: Transform @@ -10807,6 +11387,22 @@ entities: - type: DeviceNetwork deviceLists: - 9403 + - uid: 3747 + components: + - type: Transform + pos: 86.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10839 + - uid: 6423 + components: + - type: Transform + pos: 35.5,-29.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 7582 - uid: 6602 components: - type: Transform @@ -10828,9 +11424,6 @@ entities: - type: Transform pos: -1.5,-69.5 parent: 2 - - type: DeviceNetwork - deviceLists: - - 569 - uid: 6615 components: - type: Transform @@ -10847,14 +11440,6 @@ entities: - type: DeviceNetwork deviceLists: - 9240 - - uid: 7103 - components: - - type: Transform - pos: 67.5,-42.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7953 - uid: 7956 components: - type: Transform @@ -10900,6 +11485,9 @@ entities: - type: Transform pos: -64.5,-62.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 9262 - uid: 8643 components: - type: Transform @@ -10948,19 +11536,14 @@ entities: - type: DeviceNetwork deviceLists: - 6406 - - uid: 8685 - components: - - type: Transform - pos: 34.5,-25.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6353 - uid: 8712 components: - type: Transform pos: 9.5,-16.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 14636 - uid: 8715 components: - type: Transform @@ -10990,6 +11573,9 @@ entities: - type: Transform pos: -21.5,-50.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 6407 - uid: 8722 components: - type: Transform @@ -11029,23 +11615,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 6358 - - uid: 8743 - components: - - type: Transform - pos: -36.5,-43.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9190 - - uid: 8744 - components: - - type: Transform - pos: -9.5,-52.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 5526 + - 19876 - uid: 8745 components: - type: Transform @@ -11053,16 +11623,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 6418 - 3424 - - uid: 8746 - components: - - type: Transform - pos: 74.5,-64.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6360 - uid: 8752 components: - type: Transform @@ -11084,6 +11645,9 @@ entities: - type: Transform pos: 4.5,-53.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 9216 - uid: 8760 components: - type: Transform @@ -11121,14 +11685,6 @@ entities: - type: DeviceNetwork deviceLists: - 18818 - - uid: 8779 - components: - - type: Transform - pos: 29.5,-15.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 19354 - uid: 8791 components: - type: Transform @@ -11145,14 +11701,6 @@ entities: - type: DeviceNetwork deviceLists: - 19200 - - uid: 8797 - components: - - type: Transform - pos: 29.5,-19.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6354 - uid: 8814 components: - type: Transform @@ -11171,9 +11719,6 @@ entities: - type: Transform pos: 2.5,-32.5 parent: 2 - - type: DeviceNetwork - deviceLists: - - 8767 - uid: 9606 components: - type: Transform @@ -11182,14 +11727,6 @@ entities: - type: DeviceNetwork deviceLists: - 14458 - - uid: 9643 - components: - - type: Transform - pos: 24.5,-19.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18598 - uid: 9647 components: - type: Transform @@ -11206,14 +11743,6 @@ entities: - type: DeviceNetwork deviceLists: - 469 - - uid: 9822 - components: - - type: Transform - pos: 24.5,-34.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - uid: 10030 components: - type: Transform @@ -11227,6 +11756,9 @@ entities: - type: Transform pos: 7.5,-20.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19836 - uid: 10154 components: - type: Transform @@ -11251,6 +11783,14 @@ entities: - type: DeviceNetwork deviceLists: - 9195 + - uid: 15526 + components: + - type: Transform + pos: 24.5,-26.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16367 - uid: 15636 components: - type: Transform @@ -11258,7 +11798,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18598 + - 10761 - uid: 15637 components: - type: Transform @@ -11297,30 +11837,40 @@ entities: - type: Transform pos: -20.5,-47.5 parent: 2 - - uid: 18061 + - uid: 17995 components: - type: Transform - pos: 57.5,-23.5 + pos: 61.5,-42.5 parent: 2 - type: DeviceNetwork deviceLists: - - 18874 - - uid: 18127 + - 16312 + - uid: 17996 components: - type: Transform - pos: 84.5,-45.5 + pos: 70.5,-44.5 parent: 2 - type: DeviceNetwork deviceLists: - - 467 + - 16356 + - uid: 17997 + components: + - type: Transform + pos: 65.5,-39.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16354 + - uid: 17998 + components: + - type: Transform + pos: 64.5,-32.5 + parent: 2 - uid: 18546 components: - type: Transform pos: 13.5,-24.5 parent: 2 - - type: DeviceNetwork - deviceLists: - - 14642 - uid: 18547 components: - type: Transform @@ -11342,19 +11892,22 @@ entities: - type: Transform pos: -33.5,-11.5 parent: 2 - - type: DeviceNetwork - deviceLists: - - 9198 - uid: 18793 components: - type: Transform pos: -28.5,-17.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 15885 - uid: 18794 components: - type: Transform pos: -22.5,-12.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 15885 - uid: 18799 components: - type: Transform @@ -11394,7 +11947,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 9243 + - 19880 - uid: 18812 components: - type: Transform @@ -11403,14 +11956,6 @@ entities: - type: DeviceNetwork deviceLists: - 572 - - uid: 18827 - components: - - type: Transform - pos: 34.5,-21.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18873 - uid: 18828 components: - type: Transform @@ -11418,7 +11963,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18873 + - 19856 - uid: 18841 components: - type: Transform @@ -11467,12 +12012,77 @@ entities: - type: DeviceNetwork deviceLists: - 364 -- proto: AltarConvertMaint - entities: - - uid: 8374 + - uid: 19813 components: - type: Transform - pos: -41.5,-76.5 + pos: -36.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9190 + - uid: 19814 + components: + - type: Transform + pos: -36.5,-50.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9190 + - uid: 19819 + components: + - type: Transform + pos: -10.5,-48.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 5526 + - uid: 19870 + components: + - type: Transform + pos: 54.5,-23.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 579 + - uid: 19872 + components: + - type: Transform + pos: 61.5,-17.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 18818 + - uid: 19899 + components: + - type: Transform + pos: 9.5,-78.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9239 + - uid: 19923 + components: + - type: Transform + pos: 58.5,-71.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19922 + - uid: 19924 + components: + - type: Transform + pos: 50.5,-101.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 14759 +- proto: AltarConvertMaint + entities: + - uid: 17343 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -40.5,-77.5 parent: 2 - proto: AltarSpawner entities: @@ -11493,6 +12103,13 @@ entities: - type: Transform pos: -10.5,-35.5 parent: 2 +- proto: AnalysisComputerCircuitboard + entities: + - uid: 17120 + components: + - type: Transform + pos: -40.61705,-80.25643 + parent: 2 - proto: AnomalyScanner entities: - uid: 8653 @@ -11522,6 +12139,22 @@ entities: parent: 2 - proto: APCBasic entities: + - uid: 295 + components: + - type: MetaData + name: Virology APC + - type: Transform + rot: -1.5707963267948966 rad + pos: 34.5,-19.5 + parent: 2 + - uid: 474 + components: + - type: MetaData + name: Morgue APC + - type: Transform + rot: 1.5707963267948966 rad + pos: 27.5,-26.5 + parent: 2 - uid: 3106 components: - type: MetaData @@ -11530,20 +12163,36 @@ entities: rot: -1.5707963267948966 rad pos: -15.5,-16.5 parent: 2 - - uid: 3653 + - uid: 3338 components: - type: MetaData name: Disposals APC - type: Transform rot: 1.5707963267948966 rad - pos: 57.5,-68.5 + pos: 72.5,-62.5 parent: 2 - - uid: 5615 + - uid: 3733 components: - type: MetaData - name: Detective's Office APC + name: D.I.Y. Bar APC - type: Transform - pos: 67.5,-49.5 + rot: 3.141592653589793 rad + pos: 58.5,-66.5 + parent: 2 + - uid: 4618 + components: + - type: MetaData + name: Security Main APC + - type: Transform + pos: 54.5,-31.5 + parent: 2 + - uid: 4912 + components: + - type: MetaData + name: Warden's Office APC + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-37.5 parent: 2 - uid: 5884 components: @@ -11561,22 +12210,6 @@ entities: rot: 3.141592653589793 rad pos: -50.5,-42.5 parent: 2 - - uid: 7302 - components: - - type: MetaData - name: AI Upload APC - - type: Transform - rot: 1.5707963267948966 rad - pos: 75.5,-44.5 - parent: 2 - - uid: 7963 - components: - - type: MetaData - name: Armory APC - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-56.5 - parent: 2 - uid: 8197 components: - type: MetaData @@ -11593,35 +12226,13 @@ entities: rot: 3.141592653589793 rad pos: 38.5,-72.5 parent: 2 - - uid: 9341 + - uid: 9317 components: - type: MetaData - name: Genpop Lockers APC + name: AI Upload APC - type: Transform - pos: 65.5,-30.5 - parent: 2 - - uid: 10250 - components: - - type: MetaData - name: Warden's Office APC - - type: Transform - pos: 60.5,-40.5 - parent: 2 - - uid: 10276 - components: - - type: MetaData - name: HoS' Office APC - - type: Transform - rot: -1.5707963267948966 rad - pos: 72.5,-46.5 - parent: 2 - - uid: 10284 - components: - - type: MetaData - name: Security APC - - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-39.5 + rot: 1.5707963267948966 rad + pos: 77.5,-44.5 parent: 2 - uid: 10475 components: @@ -11730,14 +12341,6 @@ entities: - type: Transform pos: 43.5,-39.5 parent: 2 - - uid: 10503 - components: - - type: MetaData - name: Virology / Morgue APC - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-24.5 - parent: 2 - uid: 10504 components: - type: MetaData @@ -11777,26 +12380,11 @@ entities: - uid: 10512 components: - type: MetaData - name: Maints shop APC + name: Maints Shop APC - type: Transform rot: 1.5707963267948966 rad pos: 72.5,-20.5 parent: 2 - - uid: 10515 - components: - - type: MetaData - name: Maints Bar APC - - type: Transform - rot: 3.141592653589793 rad - pos: 73.5,-66.5 - parent: 2 - - uid: 10516 - components: - - type: MetaData - name: AI Core APC - - type: Transform - pos: 93.5,-46.5 - parent: 2 - uid: 10518 components: - type: MetaData @@ -11819,6 +12407,13 @@ entities: - type: Transform pos: -6.5,-76.5 parent: 2 + - uid: 10838 + components: + - type: MetaData + name: AI Core APC + - type: Transform + pos: 95.5,-46.5 + parent: 2 - uid: 10918 components: - type: MetaData @@ -11864,6 +12459,22 @@ entities: rot: 1.5707963267948966 rad pos: -9.5,-22.5 parent: 2 + - uid: 11637 + components: + - type: MetaData + name: Genpop Lockers APC + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-30.5 + parent: 2 + - uid: 11638 + components: + - type: MetaData + name: Security Offices APC + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-48.5 + parent: 2 - uid: 11956 components: - type: MetaData @@ -11894,14 +12505,6 @@ entities: - type: Transform pos: 28.5,-59.5 parent: 2 - - uid: 12929 - components: - - type: MetaData - name: Bar Maints APC - - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,-34.5 - parent: 2 - uid: 13030 components: - type: MetaData @@ -11910,6 +12513,22 @@ entities: rot: -1.5707963267948966 rad pos: 1.5,-18.5 parent: 2 + - uid: 13649 + components: + - type: MetaData + name: Armory APC + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-48.5 + parent: 2 + - uid: 13857 + components: + - type: MetaData + name: Security Hallway APC + - type: Transform + rot: 1.5707963267948966 rad + pos: 49.5,-45.5 + parent: 2 - uid: 13911 components: - type: MetaData @@ -11943,7 +12562,7 @@ entities: - uid: 17057 components: - type: MetaData - name: Law APC + name: Lawyer's Office APC - type: Transform rot: 3.141592653589793 rad pos: 50.5,-57.5 @@ -11994,6 +12613,14 @@ entities: rot: 3.141592653589793 rad pos: -33.5,-17.5 parent: 2 + - uid: 19925 + components: + - type: MetaData + name: Visitor Docks APC + - type: Transform + rot: 3.141592653589793 rad + pos: 24.5,-15.5 + parent: 2 - proto: APCHighCapacity entities: - uid: 1126 @@ -12032,6 +12659,11 @@ entities: parent: 2 - proto: ArtifactAnalyzerMachineCircuitboard entities: + - uid: 1801 + components: + - type: Transform + pos: -40.408714,-80.51703 + parent: 2 - uid: 8509 components: - type: Transform @@ -12042,15 +12674,10 @@ entities: - uid: 18616 components: - type: Transform - pos: 76.62189,-43.345737 + pos: 78.645355,-43.3176 parent: 2 - proto: Ashtray entities: - - uid: 3020 - components: - - type: Transform - pos: 49.633816,-49.261665 - parent: 2 - uid: 15122 components: - type: Transform @@ -12076,10 +12703,16 @@ entities: - uid: 18617 components: - type: Transform - pos: 78.0073,-43.64803 + pos: 80.05838,-43.49481 parent: 2 - proto: AtmosDeviceFanDirectional entities: + - uid: 753 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 39.5,-37.5 + parent: 2 - uid: 910 components: - type: Transform @@ -12163,17 +12796,11 @@ entities: - type: Transform pos: 52.5,-104.5 parent: 2 - - uid: 6261 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 45.5,-43.5 - parent: 2 - - uid: 7286 + - uid: 12886 components: - type: Transform rot: 3.141592653589793 rad - pos: 47.5,-46.5 + pos: 42.5,-39.5 parent: 2 - uid: 18062 components: @@ -12297,95 +12924,100 @@ entities: parent: 2 - proto: AtmosFixFreezerMarker entities: - - uid: 8348 + - uid: 2269 components: - type: Transform - pos: 47.5,-42.5 + pos: 40.5,-36.5 parent: 2 - - uid: 16342 + - uid: 2320 components: - type: Transform - pos: 46.5,-42.5 + pos: 40.5,-38.5 parent: 2 - - uid: 16343 + - uid: 3379 components: - type: Transform - pos: 47.5,-43.5 + pos: 40.5,-37.5 parent: 2 - - uid: 16353 + - uid: 3500 components: - type: Transform - pos: 46.5,-43.5 + pos: 43.5,-36.5 parent: 2 - - uid: 16354 + - uid: 3501 components: - type: Transform - pos: 46.5,-44.5 + pos: 42.5,-36.5 parent: 2 - - uid: 16355 + - uid: 3555 components: - type: Transform - pos: 46.5,-45.5 + pos: 44.5,-36.5 parent: 2 - - uid: 16356 + - uid: 3556 components: - type: Transform - pos: 47.5,-45.5 + pos: 44.5,-37.5 parent: 2 - - uid: 16357 + - uid: 3606 components: - type: Transform - pos: 47.5,-44.5 + pos: 45.5,-36.5 parent: 2 - - uid: 16358 + - uid: 3935 components: - type: Transform - pos: 48.5,-44.5 + pos: 44.5,-38.5 parent: 2 - - uid: 16359 + - uid: 3963 components: - type: Transform - pos: 48.5,-45.5 + pos: 43.5,-38.5 parent: 2 - - uid: 16360 + - uid: 4047 components: - type: Transform - pos: 48.5,-43.5 + pos: 42.5,-37.5 parent: 2 - - uid: 16361 + - uid: 4077 components: - type: Transform - pos: 48.5,-42.5 + pos: 42.5,-38.5 parent: 2 - - uid: 16362 + - uid: 4636 components: - type: Transform - pos: 48.5,-41.5 + pos: 41.5,-38.5 parent: 2 - - uid: 16363 + - uid: 4637 components: - type: Transform - pos: 47.5,-41.5 + pos: 43.5,-37.5 parent: 2 - - uid: 16365 + - uid: 4864 components: - type: Transform - pos: 46.5,-41.5 + pos: 45.5,-38.5 parent: 2 - - uid: 16366 + - uid: 4910 components: - type: Transform - pos: 46.5,-40.5 + pos: 45.5,-37.5 parent: 2 - - uid: 16367 + - uid: 5834 components: - type: Transform - pos: 47.5,-40.5 + pos: 45.5,-35.5 parent: 2 - - uid: 16368 + - uid: 8146 components: - type: Transform - pos: 48.5,-40.5 + pos: 41.5,-36.5 + parent: 2 + - uid: 12703 + components: + - type: Transform + pos: 41.5,-37.5 parent: 2 - proto: AtmosFixNitrogenMarker entities: @@ -12462,6 +13094,13 @@ entities: - type: Transform pos: -64.37506,-61.441326 parent: 2 +- proto: BanjoInstrument + entities: + - uid: 285 + components: + - type: Transform + pos: -61.48744,-25.476637 + parent: 2 - proto: BannerCargo entities: - uid: 6762 @@ -12476,64 +13115,63 @@ entities: parent: 2 - proto: BarricadeBlock entities: - - uid: 6280 + - uid: 6277 components: - type: Transform - rot: 3.141592653589793 rad - pos: 79.5,-30.5 + pos: 76.5,-40.5 + parent: 2 + - uid: 7590 + components: + - type: Transform + pos: 80.5,-27.5 parent: 2 - uid: 11847 components: - type: Transform pos: 75.5,-24.5 parent: 2 - - uid: 18263 - components: - - type: Transform - pos: 74.5,-42.5 - parent: 2 - proto: BarricadeDirectional entities: - - uid: 7120 + - uid: 7258 components: - type: Transform - pos: 79.5,-29.5 + pos: 80.5,-26.5 + parent: 2 + - uid: 7380 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 76.5,-41.5 parent: 2 - uid: 13938 components: - type: Transform pos: 75.5,-23.5 parent: 2 - - uid: 13943 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 74.5,-43.5 - parent: 2 - proto: BarSign entities: - - uid: 5872 - components: - - type: Transform - pos: 72.5,-60.5 - parent: 2 - uid: 7070 components: - type: Transform rot: -1.5707963267948966 rad pos: 26.5,-41.5 parent: 2 + - uid: 20080 + components: + - type: Transform + pos: 60.5,-66.5 + parent: 2 - proto: BaseChemistryEmptyVial entities: - - uid: 6023 + - uid: 10854 components: - type: Transform - pos: 37.30002,-29.200367 + pos: 68.31389,-65.30021 parent: 2 - - uid: 6047 + - uid: 11687 components: - type: Transform - pos: 42.366875,-29.288502 + pos: 66.68898,-62.46224 parent: 2 - uid: 17573 components: @@ -12598,10 +13236,10 @@ entities: - type: Transform pos: 44.38433,-15.204194 parent: 2 - - uid: 9389 + - uid: 10859 components: - type: Transform - pos: 37.64377,-28.731617 + pos: 67.048355,-62.27461 parent: 2 - uid: 15421 components: @@ -12615,10 +13253,15 @@ entities: - type: Transform pos: 10.5,-14.5 parent: 2 - - uid: 811 + - uid: 1196 components: - type: Transform - pos: 42.5,-28.5 + pos: 70.5,-53.5 + parent: 2 + - uid: 3538 + components: + - type: Transform + pos: 54.5,-37.5 parent: 2 - uid: 4721 components: @@ -12675,31 +13318,26 @@ entities: - type: Transform pos: 32.5,-50.5 parent: 2 - - uid: 7084 - components: - - type: Transform - pos: 57.5,-43.5 - parent: 2 - uid: 7735 components: - type: Transform pos: -30.5,-64.5 parent: 2 - - uid: 7979 + - uid: 8347 components: - type: Transform - pos: 71.5,-47.5 + pos: 68.5,-66.5 + parent: 2 + - uid: 10670 + components: + - type: Transform + pos: 43.5,-16.5 parent: 2 - uid: 13893 components: - type: Transform pos: 42.5,-17.5 parent: 2 - - uid: 14263 - components: - - type: Transform - pos: 42.5,-16.5 - parent: 2 - proto: BedsheetBlack entities: - uid: 5669 @@ -12709,11 +13347,17 @@ entities: parent: 2 - proto: BedsheetBrigmedic entities: - - uid: 19421 + - uid: 3479 components: - type: Transform rot: 1.5707963267948966 rad - pos: 60.5,-31.5 + pos: 50.5,-32.5 + parent: 2 + - uid: 3502 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 50.5,-33.5 parent: 2 - proto: BedsheetCaptain entities: @@ -12746,10 +13390,10 @@ entities: parent: 2 - proto: BedsheetGreen entities: - - uid: 7791 + - uid: 9357 components: - type: Transform - pos: 31.5,-11.5 + pos: 32.5,-11.5 parent: 2 - proto: BedsheetHOP entities: @@ -12760,10 +13404,10 @@ entities: parent: 2 - proto: BedsheetHOS entities: - - uid: 14824 + - uid: 7105 components: - type: Transform - pos: 71.5,-47.5 + pos: 70.5,-53.5 parent: 2 - proto: BedsheetMedical entities: @@ -12823,18 +13467,18 @@ entities: parent: 2 - proto: BedsheetOrange entities: + - uid: 10777 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-16.5 + parent: 2 - uid: 14264 components: - type: Transform rot: -1.5707963267948966 rad pos: 42.5,-17.5 parent: 2 - - uid: 14265 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-16.5 - parent: 2 - proto: BedsheetQM entities: - uid: 6830 @@ -12852,10 +13496,10 @@ entities: parent: 2 - proto: BedsheetRed entities: - - uid: 7095 + - uid: 7131 components: - type: Transform - pos: 57.5,-43.5 + pos: 54.5,-37.5 parent: 2 - proto: BedsheetSpawner entities: @@ -12915,25 +13559,25 @@ entities: - type: Transform pos: -15.5,-67.5 parent: 2 - - uid: 4366 + - uid: 3324 components: - type: Transform - pos: 60.5,-53.5 + pos: 58.5,-45.5 parent: 2 - - uid: 4377 + - uid: 3548 components: - type: Transform - pos: 58.5,-53.5 + pos: 60.5,-45.5 parent: 2 - - uid: 4380 + - uid: 3867 components: - type: Transform - pos: 61.5,-53.5 + pos: 59.5,-45.5 parent: 2 - - uid: 13934 + - uid: 4000 components: - type: Transform - pos: 59.5,-53.5 + pos: 61.5,-45.5 parent: 2 - uid: 18451 components: @@ -12958,11 +13602,6 @@ entities: - type: Transform pos: 31.5,-10.5 parent: 2 - - uid: 625 - components: - - type: Transform - pos: 30.5,-10.5 - parent: 2 - uid: 626 components: - type: Transform @@ -13030,10 +13669,15 @@ entities: rot: -1.5707963267948966 rad pos: -21.5,-31.5 parent: 2 - - uid: 7185 + - uid: 9352 components: - type: Transform - pos: 59.5,-78.5 + pos: 32.5,-10.5 + parent: 2 + - uid: 11883 + components: + - type: Transform + pos: 72.5,-73.5 parent: 2 - proto: BlastDoorXenoOpen entities: @@ -13151,12 +13795,12 @@ entities: - uid: 13193 components: - type: Transform - pos: 27.248169,-28.225496 + pos: 27.34858,-28.666481 parent: 2 - uid: 13206 components: - type: Transform - pos: 27.539835,-28.350582 + pos: 27.69233,-28.947927 parent: 2 - uid: 16847 components: @@ -13165,15 +13809,15 @@ entities: parent: 2 - proto: Bola entities: - - uid: 14582 + - uid: 16291 components: - type: Transform - pos: 60.580673,-36.178726 + pos: 72.450516,-40.26418 parent: 2 - - uid: 16109 + - uid: 16311 components: - type: Transform - pos: 60.719563,-36.428898 + pos: 72.64801,-40.45181 parent: 2 - proto: Bonfire entities: @@ -13314,17 +13958,16 @@ entities: - type: Transform pos: 11.5,-15.5 parent: 2 + - uid: 5306 + components: + - type: Transform + pos: 60.5,-67.5 + parent: 2 - uid: 5493 components: - type: Transform pos: -45.5,-52.5 parent: 2 - - uid: 6630 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 72.5,-52.5 - parent: 2 - uid: 6844 components: - type: Transform @@ -13337,11 +13980,11 @@ entities: rot: 3.141592653589793 rad pos: 36.5,-46.5 parent: 2 - - uid: 8083 + - uid: 10258 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-62.5 + rot: -1.5707963267948966 rad + pos: 73.5,-48.5 parent: 2 - proto: BorgCharger entities: @@ -13361,29 +14004,16 @@ entities: - type: Transform pos: -10.5,-23.5 parent: 2 - - uid: 11684 + - uid: 14835 components: - type: Transform - pos: 33.5,-11.5 + pos: 93.5,-40.5 + parent: 2 + - uid: 14836 + components: + - type: Transform + pos: 93.5,-50.5 parent: 2 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14673 - moles: - - 1.7459903 - - 6.568249 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - uid: 17415 components: - type: Transform @@ -13394,16 +14024,6 @@ entities: - type: Transform pos: -40.5,-61.5 parent: 2 - - uid: 18887 - components: - - type: Transform - pos: 91.5,-40.5 - parent: 2 - - uid: 18888 - components: - - type: Transform - pos: 91.5,-50.5 - parent: 2 - uid: 19481 components: - type: Transform @@ -13414,13 +14034,6 @@ entities: - type: Transform pos: 30.5,-46.5 parent: 2 -- proto: BorgModuleTool - entities: - - uid: 17951 - components: - - type: Transform - pos: 35.857727,-13.805476 - parent: 2 - proto: BoxBeaker entities: - uid: 7456 @@ -13438,7 +14051,7 @@ entities: - uid: 13160 components: - type: Transform - pos: 27.352335,-27.339464 + pos: 27.41108,-29.35446 parent: 2 - uid: 16848 components: @@ -13459,13 +14072,6 @@ entities: parent: 2 - proto: BoxCartridgeCap entities: - - uid: 6029 - components: - - type: Transform - parent: 2004 - - type: Physics - canCollide: False - - type: InsideEntityStorage - uid: 17387 components: - type: Transform @@ -13481,29 +14087,28 @@ entities: - uid: 7965 components: - type: Transform - pos: 64.38522,-69.34135 + pos: 69.54453,-60.30261 parent: 2 - proto: BoxFlashbang entities: - uid: 19251 components: - type: Transform - pos: 60.50701,-57.15892 + pos: 60.476963,-49.15756 parent: 2 - proto: BoxFolderBase entities: - - uid: 15225 + - uid: 8079 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 37.64377,-29.309742 + pos: 67.5849,-62.318325 parent: 2 - proto: BoxFolderBlack entities: - uid: 3522 components: - type: Transform - pos: 53.386242,-56.416996 + pos: 53.62837,-55.43601 parent: 2 - uid: 18172 components: @@ -13549,14 +14154,6 @@ entities: rot: -1.5707963267948966 rad pos: -48.45786,-44.761845 parent: 2 -- proto: BoxFolderGreen - entities: - - uid: 18186 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 28.48726,-17.412195 - parent: 2 - proto: BoxFolderGrey entities: - uid: 5062 @@ -13576,10 +14173,10 @@ entities: parent: 2 - proto: BoxFolderRed entities: - - uid: 197 + - uid: 10268 components: - type: Transform - pos: 69.42398,-50.73358 + pos: 70.4067,-46.639835 parent: 2 - uid: 18171 components: @@ -13615,7 +14212,7 @@ entities: - uid: 5243 components: - type: Transform - pos: 19.54645,-17.287466 + pos: 19.714624,-17.186592 parent: 2 - uid: 13336 components: @@ -13627,12 +14224,12 @@ entities: - uid: 11826 components: - type: Transform - pos: 68.74172,-31.31939 + pos: 69.64778,-32.437996 parent: 2 - uid: 13945 components: - type: Transform - pos: 68.42691,-31.195847 + pos: 69.408195,-32.385876 parent: 2 - proto: BoxLightbulb entities: @@ -13646,11 +14243,6 @@ entities: - type: Transform pos: 32.59527,-78.26717 parent: 2 - - uid: 17793 - components: - - type: Transform - pos: 71.517525,-59.410625 - parent: 2 - uid: 17795 components: - type: Transform @@ -13658,11 +14250,6 @@ entities: parent: 2 - proto: BoxLightMixed entities: - - uid: 16895 - components: - - type: Transform - pos: 53.617245,-30.419283 - parent: 2 - uid: 18131 components: - type: Transform @@ -13695,21 +14282,21 @@ entities: - uid: 19250 components: - type: Transform - pos: 60.26743,-57.45079 + pos: 60.372795,-49.240948 parent: 2 - proto: BoxMouthSwab entities: - - uid: 7787 + - uid: 7771 components: - type: Transform - pos: 27.498543,-16.372534 + pos: 34.507298,-13.337973 parent: 2 - proto: BoxStinger entities: - uid: 19252 components: - type: Transform - pos: 60.38201,-57.304855 + pos: 60.572186,-49.080368 parent: 2 - proto: BoxSyringe entities: @@ -13718,6 +14305,13 @@ entities: - type: Transform pos: 21.570786,-31.379005 parent: 2 +- proto: BoxVial + entities: + - uid: 7789 + components: + - type: Transform + pos: 36.569798,-12.369223 + parent: 2 - proto: BrbSign entities: - uid: 18161 @@ -13737,12 +14331,7 @@ entities: - uid: 9364 components: - type: Transform - pos: 55.399124,-54.352894 - parent: 2 - - uid: 17420 - components: - - type: Transform - pos: 46.49753,-47.4596 + pos: 55.498257,-56.247276 parent: 2 - uid: 19673 components: @@ -13845,18 +14434,18 @@ entities: rot: -1.5707963267948966 rad pos: 26.5,-100.5 parent: 2 - - uid: 7321 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 36.5,-25.5 - parent: 2 - uid: 8851 components: - type: Transform rot: -1.5707963267948966 rad pos: -20.5,-18.5 parent: 2 + - uid: 15697 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 36.5,-27.5 + parent: 2 - uid: 17653 components: - type: Transform @@ -13897,6 +14486,12 @@ entities: - type: Transform pos: -63.5,-60.5 parent: 2 + - uid: 6096 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-37.5 + parent: 2 - uid: 6226 components: - type: Transform @@ -13909,18 +14504,6 @@ entities: rot: 3.141592653589793 rad pos: -63.5,-30.5 parent: 2 - - uid: 7771 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 32.5,-14.5 - parent: 2 - - uid: 14247 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-44.5 - parent: 2 - uid: 17743 components: - type: Transform @@ -13956,23 +14539,17 @@ entities: - type: Transform pos: 22.5,-90.5 parent: 2 - - uid: 7067 + - uid: 7178 components: - type: Transform rot: 3.141592653589793 rad - pos: 66.5,-48.5 + pos: 65.5,-53.5 parent: 2 - - uid: 7320 + - uid: 15699 components: - type: Transform rot: -1.5707963267948966 rad - pos: 36.5,-27.5 - parent: 2 - - uid: 7808 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 27.5,-24.5 + pos: 36.5,-29.5 parent: 2 - uid: 16618 components: @@ -13980,12 +14557,6 @@ entities: rot: 3.141592653589793 rad pos: 10.5,-76.5 parent: 2 - - uid: 19186 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 21.5,-24.5 - parent: 2 - proto: ButtonFrameJanitor entities: - uid: 5811 @@ -14000,15 +14571,15 @@ entities: - type: Transform pos: 6.5,-78.5 parent: 2 - - uid: 287 + - uid: 234 components: - type: Transform - pos: 66.5,-64.5 + pos: 32.5,-10.5 parent: 2 - uid: 351 components: - type: Transform - pos: 61.5,-68.5 + pos: 57.5,-70.5 parent: 2 - uid: 391 components: @@ -14045,10 +14616,10 @@ entities: - type: Transform pos: -27.5,-15.5 parent: 2 - - uid: 822 + - uid: 717 components: - type: Transform - pos: 44.5,-29.5 + pos: 2.5,-59.5 parent: 2 - uid: 903 components: @@ -14075,36 +14646,26 @@ entities: - type: Transform pos: -51.5,-37.5 parent: 2 - - uid: 1073 + - uid: 1063 components: - type: Transform - pos: 76.5,-41.5 + pos: 35.5,-28.5 parent: 2 - uid: 1096 components: - type: Transform pos: -26.5,-15.5 parent: 2 + - uid: 1111 + components: + - type: Transform + pos: 62.5,-64.5 + parent: 2 - uid: 1130 components: - type: Transform pos: -22.5,-18.5 parent: 2 - - uid: 1140 - components: - - type: Transform - pos: 77.5,-41.5 - parent: 2 - - uid: 1158 - components: - - type: Transform - pos: 64.5,-41.5 - parent: 2 - - uid: 1169 - components: - - type: Transform - pos: 63.5,-45.5 - parent: 2 - uid: 1172 components: - type: Transform @@ -14150,11 +14711,6 @@ entities: - type: Transform pos: -37.5,-12.5 parent: 2 - - uid: 1546 - components: - - type: Transform - pos: 72.5,-36.5 - parent: 2 - uid: 1563 components: - type: Transform @@ -14175,11 +14731,36 @@ entities: - type: Transform pos: -13.5,-16.5 parent: 2 + - uid: 1998 + components: + - type: Transform + pos: 75.5,-43.5 + parent: 2 + - uid: 2005 + components: + - type: Transform + pos: -39.5,-79.5 + parent: 2 + - uid: 2006 + components: + - type: Transform + pos: -40.5,-79.5 + parent: 2 + - uid: 2007 + components: + - type: Transform + pos: -41.5,-79.5 + parent: 2 - uid: 2241 components: - type: Transform pos: -16.5,-74.5 parent: 2 + - uid: 2246 + components: + - type: Transform + pos: 38.5,-28.5 + parent: 2 - uid: 2275 components: - type: Transform @@ -14205,21 +14786,26 @@ entities: - type: Transform pos: 18.5,-84.5 parent: 2 - - uid: 2735 + - uid: 2656 components: - type: Transform - pos: 48.5,-44.5 + pos: -41.5,-78.5 + parent: 2 + - uid: 2678 + components: + - type: Transform + pos: 59.5,-72.5 + parent: 2 + - uid: 2739 + components: + - type: Transform + pos: 64.5,-69.5 parent: 2 - uid: 2741 components: - type: Transform pos: -7.5,-22.5 parent: 2 - - uid: 2767 - components: - - type: Transform - pos: 66.5,-71.5 - parent: 2 - uid: 2936 components: - type: Transform @@ -14230,10 +14816,10 @@ entities: - type: Transform pos: 50.5,-65.5 parent: 2 - - uid: 3019 + - uid: 2962 components: - type: Transform - pos: 59.5,-80.5 + pos: -42.5,-78.5 parent: 2 - uid: 3022 components: @@ -14250,10 +14836,10 @@ entities: - type: Transform pos: 53.5,-56.5 parent: 2 - - uid: 3029 + - uid: 3032 components: - type: Transform - pos: 59.5,-34.5 + pos: 56.5,-75.5 parent: 2 - uid: 3048 components: @@ -14265,11 +14851,6 @@ entities: - type: Transform pos: 45.5,-72.5 parent: 2 - - uid: 3055 - components: - - type: Transform - pos: 74.5,-39.5 - parent: 2 - uid: 3056 components: - type: Transform @@ -14280,11 +14861,6 @@ entities: - type: Transform pos: 33.5,-76.5 parent: 2 - - uid: 3058 - components: - - type: Transform - pos: 38.5,-77.5 - parent: 2 - uid: 3063 components: - type: Transform @@ -14305,35 +14881,15 @@ entities: - type: Transform pos: 35.5,-79.5 parent: 2 - - uid: 3079 - components: - - type: Transform - pos: 58.5,-81.5 - parent: 2 - - uid: 3080 - components: - - type: Transform - pos: 59.5,-81.5 - parent: 2 - uid: 3085 components: - type: Transform pos: 63.5,-20.5 parent: 2 - - uid: 3089 - components: - - type: Transform - pos: 59.5,-76.5 - parent: 2 - - uid: 3090 - components: - - type: Transform - pos: 59.5,-78.5 - parent: 2 - uid: 3091 components: - type: Transform - pos: 59.5,-77.5 + pos: 45.5,-31.5 parent: 2 - uid: 3095 components: @@ -14345,46 +14901,141 @@ entities: - type: Transform pos: 5.5,-73.5 parent: 2 + - uid: 3129 + components: + - type: Transform + pos: 67.5,-72.5 + parent: 2 + - uid: 3147 + components: + - type: Transform + pos: 67.5,-70.5 + parent: 2 + - uid: 3148 + components: + - type: Transform + pos: 58.5,-68.5 + parent: 2 + - uid: 3149 + components: + - type: Transform + pos: 45.5,-32.5 + parent: 2 + - uid: 3153 + components: + - type: Transform + pos: 65.5,-69.5 + parent: 2 + - uid: 3157 + components: + - type: Transform + pos: 64.5,-64.5 + parent: 2 + - uid: 3161 + components: + - type: Transform + pos: 81.5,-46.5 + parent: 2 + - uid: 3162 + components: + - type: Transform + pos: 81.5,-45.5 + parent: 2 + - uid: 3163 + components: + - type: Transform + pos: 58.5,-59.5 + parent: 2 + - uid: 3180 + components: + - type: Transform + pos: 95.5,-46.5 + parent: 2 - uid: 3183 components: - type: Transform pos: 73.5,-25.5 parent: 2 + - uid: 3190 + components: + - type: Transform + pos: 63.5,-64.5 + parent: 2 - uid: 3192 components: - type: Transform pos: 72.5,-25.5 parent: 2 + - uid: 3197 + components: + - type: Transform + pos: 43.5,-24.5 + parent: 2 + - uid: 3199 + components: + - type: Transform + pos: 74.5,-27.5 + parent: 2 + - uid: 3200 + components: + - type: Transform + pos: 72.5,-30.5 + parent: 2 + - uid: 3204 + components: + - type: Transform + pos: 79.5,-31.5 + parent: 2 + - uid: 3210 + components: + - type: Transform + pos: 78.5,-31.5 + parent: 2 + - uid: 3277 + components: + - type: Transform + pos: 78.5,-37.5 + parent: 2 + - uid: 3280 + components: + - type: Transform + pos: 77.5,-37.5 + parent: 2 + - uid: 3281 + components: + - type: Transform + pos: 77.5,-35.5 + parent: 2 - uid: 3283 components: - type: Transform - pos: 74.5,-41.5 + pos: 74.5,-38.5 parent: 2 - uid: 3284 components: - type: Transform - pos: 74.5,-40.5 + pos: 72.5,-33.5 parent: 2 - - uid: 3314 + - uid: 3285 components: - type: Transform - pos: 57.5,-63.5 + pos: 73.5,-33.5 parent: 2 - - uid: 3315 + - uid: 3299 components: - type: Transform - pos: 56.5,-73.5 + pos: 73.5,-35.5 + parent: 2 + - uid: 3300 + components: + - type: Transform + pos: 77.5,-28.5 parent: 2 - uid: 3316 components: - type: Transform pos: 39.5,-76.5 parent: 2 - - uid: 3317 - components: - - type: Transform - pos: 56.5,-75.5 - parent: 2 - uid: 3318 components: - type: Transform @@ -14395,105 +15046,105 @@ entities: - type: Transform pos: 43.5,-76.5 parent: 2 + - uid: 3333 + components: + - type: Transform + pos: 73.5,-62.5 + parent: 2 + - uid: 3334 + components: + - type: Transform + pos: 74.5,-62.5 + parent: 2 + - uid: 3354 + components: + - type: Transform + pos: 77.5,-64.5 + parent: 2 + - uid: 3355 + components: + - type: Transform + pos: 77.5,-63.5 + parent: 2 - uid: 3356 components: - type: Transform - pos: 60.5,-72.5 + pos: 77.5,-62.5 parent: 2 - uid: 3358 components: - type: Transform pos: 40.5,-72.5 parent: 2 + - uid: 3361 + components: + - type: Transform + pos: 77.5,-61.5 + parent: 2 + - uid: 3362 + components: + - type: Transform + pos: 76.5,-61.5 + parent: 2 - uid: 3364 components: - type: Transform - pos: 56.5,-70.5 + pos: 75.5,-61.5 parent: 2 - uid: 3365 components: - type: Transform - pos: 58.5,-70.5 + pos: 74.5,-61.5 parent: 2 - uid: 3377 components: - type: Transform - pos: 58.5,-69.5 + pos: 58.5,-66.5 parent: 2 - uid: 3378 components: - type: Transform - pos: 59.5,-67.5 + pos: 57.5,-66.5 parent: 2 - - uid: 3442 + - uid: 3387 components: - type: Transform - pos: 52.5,-37.5 + pos: 72.5,-62.5 parent: 2 - - uid: 3443 + - uid: 3388 components: - type: Transform - pos: 63.5,-47.5 + pos: 43.5,-37.5 parent: 2 - - uid: 3450 + - uid: 3389 components: - type: Transform - pos: 66.5,-46.5 + pos: 42.5,-37.5 parent: 2 - - uid: 3452 + - uid: 3390 components: - type: Transform - pos: 63.5,-56.5 + pos: 43.5,-38.5 parent: 2 - - uid: 3457 + - uid: 3426 components: - type: Transform - pos: 67.5,-49.5 + pos: 39.5,-28.5 parent: 2 - - uid: 3459 + - uid: 3435 components: - type: Transform - pos: 69.5,-52.5 + pos: 30.5,-75.5 parent: 2 - - uid: 3460 + - uid: 3455 components: - type: Transform - pos: 68.5,-51.5 + pos: 33.5,-19.5 parent: 2 - - uid: 3463 + - uid: 3492 components: - type: Transform - pos: 60.5,-58.5 - parent: 2 - - uid: 3464 - components: - - type: Transform - pos: 60.5,-54.5 - parent: 2 - - uid: 3470 - components: - - type: Transform - pos: 59.5,-44.5 - parent: 2 - - uid: 3471 - components: - - type: Transform - pos: 59.5,-46.5 - parent: 2 - - uid: 3474 - components: - - type: Transform - pos: 72.5,-46.5 - parent: 2 - - uid: 3479 - components: - - type: Transform - pos: 58.5,-42.5 - parent: 2 - - uid: 3480 - components: - - type: Transform - pos: 72.5,-51.5 + pos: 34.5,-19.5 parent: 2 - uid: 3512 components: @@ -14510,11 +15161,21 @@ entities: - type: Transform pos: -14.5,-79.5 parent: 2 + - uid: 3554 + components: + - type: Transform + pos: 64.5,-68.5 + parent: 2 - uid: 3566 components: - type: Transform pos: 69.5,-28.5 parent: 2 + - uid: 3581 + components: + - type: Transform + pos: 55.5,-44.5 + parent: 2 - uid: 3586 components: - type: Transform @@ -14525,30 +15186,40 @@ entities: - type: Transform pos: 63.5,-26.5 parent: 2 + - uid: 3607 + components: + - type: Transform + pos: 64.5,-67.5 + parent: 2 + - uid: 3608 + components: + - type: Transform + pos: 37.5,-28.5 + parent: 2 - uid: 3610 components: - type: Transform pos: 47.5,-52.5 parent: 2 - - uid: 3612 + - uid: 3611 components: - type: Transform - pos: 59.5,-53.5 - parent: 2 - - uid: 3614 - components: - - type: Transform - pos: 61.5,-53.5 + pos: 39.5,-37.5 parent: 2 - uid: 3615 components: - type: Transform pos: 46.5,-52.5 parent: 2 - - uid: 3617 + - uid: 3622 components: - type: Transform - pos: 60.5,-53.5 + pos: 34.5,-29.5 + parent: 2 + - uid: 3623 + components: + - type: Transform + pos: 40.5,-37.5 parent: 2 - uid: 3644 components: @@ -14565,20 +15236,200 @@ entities: - type: Transform pos: 42.5,-14.5 parent: 2 + - uid: 3652 + components: + - type: Transform + pos: 51.5,-43.5 + parent: 2 + - uid: 3653 + components: + - type: Transform + pos: 37.5,-34.5 + parent: 2 - uid: 3654 components: - type: Transform - pos: 57.5,-81.5 + pos: 37.5,-36.5 parent: 2 - - uid: 3723 + - uid: 3661 components: - type: Transform - pos: 44.5,-28.5 + pos: 37.5,-33.5 parent: 2 - - uid: 3836 + - uid: 3683 components: - type: Transform - pos: 66.5,-58.5 + pos: 64.5,-66.5 + parent: 2 + - uid: 3684 + components: + - type: Transform + pos: 43.5,-27.5 + parent: 2 + - uid: 3686 + components: + - type: Transform + pos: 40.5,-27.5 + parent: 2 + - uid: 3694 + components: + - type: Transform + pos: 43.5,-26.5 + parent: 2 + - uid: 3695 + components: + - type: Transform + pos: 45.5,-26.5 + parent: 2 + - uid: 3696 + components: + - type: Transform + pos: 46.5,-27.5 + parent: 2 + - uid: 3698 + components: + - type: Transform + pos: 45.5,-27.5 + parent: 2 + - uid: 3699 + components: + - type: Transform + pos: 46.5,-28.5 + parent: 2 + - uid: 3700 + components: + - type: Transform + pos: 45.5,-33.5 + parent: 2 + - uid: 3701 + components: + - type: Transform + pos: 45.5,-35.5 + parent: 2 + - uid: 3702 + components: + - type: Transform + pos: 45.5,-30.5 + parent: 2 + - uid: 3703 + components: + - type: Transform + pos: 45.5,-29.5 + parent: 2 + - uid: 3704 + components: + - type: Transform + pos: 45.5,-38.5 + parent: 2 + - uid: 3707 + components: + - type: Transform + pos: 45.5,-36.5 + parent: 2 + - uid: 3712 + components: + - type: Transform + pos: 75.5,-46.5 + parent: 2 + - uid: 3724 + components: + - type: Transform + pos: 45.5,-34.5 + parent: 2 + - uid: 3735 + components: + - type: Transform + pos: 29.5,-32.5 + parent: 2 + - uid: 3736 + components: + - type: Transform + pos: 60.5,-68.5 + parent: 2 + - uid: 3740 + components: + - type: Transform + pos: 67.5,-69.5 + parent: 2 + - uid: 3746 + components: + - type: Transform + pos: 59.5,-68.5 + parent: 2 + - uid: 3754 + components: + - type: Transform + pos: 91.5,-49.5 + parent: 2 + - uid: 3755 + components: + - type: Transform + pos: 92.5,-49.5 + parent: 2 + - uid: 3761 + components: + - type: Transform + pos: 30.5,-32.5 + parent: 2 + - uid: 3765 + components: + - type: Transform + pos: 31.5,-32.5 + parent: 2 + - uid: 3781 + components: + - type: Transform + pos: 74.5,-31.5 + parent: 2 + - uid: 3786 + components: + - type: Transform + pos: 77.5,-31.5 + parent: 2 + - uid: 3794 + components: + - type: Transform + pos: 77.5,-29.5 + parent: 2 + - uid: 3795 + components: + - type: Transform + pos: 76.5,-31.5 + parent: 2 + - uid: 3796 + components: + - type: Transform + pos: 74.5,-32.5 + parent: 2 + - uid: 3800 + components: + - type: Transform + pos: 76.5,-26.5 + parent: 2 + - uid: 3802 + components: + - type: Transform + pos: 74.5,-39.5 + parent: 2 + - uid: 3803 + components: + - type: Transform + pos: 74.5,-37.5 + parent: 2 + - uid: 3804 + components: + - type: Transform + pos: 72.5,-35.5 + parent: 2 + - uid: 3807 + components: + - type: Transform + pos: 74.5,-36.5 + parent: 2 + - uid: 3808 + components: + - type: Transform + pos: 77.5,-27.5 parent: 2 - uid: 3921 components: @@ -14600,16 +15451,6 @@ entities: - type: Transform pos: 42.5,-72.5 parent: 2 - - uid: 3934 - components: - - type: Transform - pos: 73.5,-38.5 - parent: 2 - - uid: 3935 - components: - - type: Transform - pos: 72.5,-38.5 - parent: 2 - uid: 3939 components: - type: Transform @@ -14623,7 +15464,7 @@ entities: - uid: 3952 components: - type: Transform - pos: 38.5,-78.5 + pos: 37.5,-79.5 parent: 2 - uid: 4017 components: @@ -14645,6 +15486,11 @@ entities: - type: Transform pos: 72.5,-27.5 parent: 2 + - uid: 4080 + components: + - type: Transform + pos: 44.5,-38.5 + parent: 2 - uid: 4104 components: - type: Transform @@ -14680,11 +15526,6 @@ entities: - type: Transform pos: 59.5,-24.5 parent: 2 - - uid: 4212 - components: - - type: Transform - pos: 68.5,-32.5 - parent: 2 - uid: 4213 components: - type: Transform @@ -14715,11 +15556,6 @@ entities: - type: Transform pos: 47.5,-19.5 parent: 2 - - uid: 4252 - components: - - type: Transform - pos: 30.5,-15.5 - parent: 2 - uid: 4264 components: - type: Transform @@ -14730,6 +15566,16 @@ entities: - type: Transform pos: 66.5,-28.5 parent: 2 + - uid: 4266 + components: + - type: Transform + pos: 44.5,-42.5 + parent: 2 + - uid: 4274 + components: + - type: Transform + pos: 76.5,-67.5 + parent: 2 - uid: 4281 components: - type: Transform @@ -14740,21 +15586,11 @@ entities: - type: Transform pos: -31.5,-74.5 parent: 2 - - uid: 4297 - components: - - type: Transform - pos: 58.5,-53.5 - parent: 2 - uid: 4326 components: - type: Transform pos: -15.5,-74.5 parent: 2 - - uid: 4405 - components: - - type: Transform - pos: 62.5,-70.5 - parent: 2 - uid: 4407 components: - type: Transform @@ -14765,16 +15601,16 @@ entities: - type: Transform pos: -17.5,-74.5 parent: 2 - - uid: 4433 - components: - - type: Transform - pos: 61.5,-72.5 - parent: 2 - uid: 4559 components: - type: Transform pos: 31.5,-79.5 parent: 2 + - uid: 4634 + components: + - type: Transform + pos: 41.5,-37.5 + parent: 2 - uid: 4678 components: - type: Transform @@ -14808,12 +15644,7 @@ entities: - uid: 4816 components: - type: Transform - pos: 36.5,-78.5 - parent: 2 - - uid: 4864 - components: - - type: Transform - pos: 66.5,-59.5 + pos: 32.5,-68.5 parent: 2 - uid: 4881 components: @@ -14830,11 +15661,6 @@ entities: - type: Transform pos: 78.5,-44.5 parent: 2 - - uid: 4910 - components: - - type: Transform - pos: 78.5,-45.5 - parent: 2 - uid: 4997 components: - type: Transform @@ -14865,21 +15691,6 @@ entities: - type: Transform pos: -10.5,-18.5 parent: 2 - - uid: 5089 - components: - - type: Transform - pos: 57.5,-64.5 - parent: 2 - - uid: 5181 - components: - - type: Transform - pos: 60.5,-66.5 - parent: 2 - - uid: 5192 - components: - - type: Transform - pos: 78.5,-41.5 - parent: 2 - uid: 5197 components: - type: Transform @@ -14900,15 +15711,40 @@ entities: - type: Transform pos: 4.5,-52.5 parent: 2 - - uid: 5254 + - uid: 5281 components: - type: Transform - pos: 57.5,-65.5 + pos: 40.5,-28.5 parent: 2 - - uid: 5276 + - uid: 5282 components: - type: Transform - pos: 66.5,-60.5 + pos: 36.5,-28.5 + parent: 2 + - uid: 5284 + components: + - type: Transform + pos: 34.5,-28.5 + parent: 2 + - uid: 5285 + components: + - type: Transform + pos: 51.5,-42.5 + parent: 2 + - uid: 5286 + components: + - type: Transform + pos: 33.5,-29.5 + parent: 2 + - uid: 5287 + components: + - type: Transform + pos: 37.5,-35.5 + parent: 2 + - uid: 5288 + components: + - type: Transform + pos: 37.5,-32.5 parent: 2 - uid: 5289 components: @@ -14935,15 +15771,70 @@ entities: - type: Transform pos: 4.5,-57.5 parent: 2 + - uid: 5300 + components: + - type: Transform + pos: 33.5,-32.5 + parent: 2 + - uid: 5304 + components: + - type: Transform + pos: 51.5,-41.5 + parent: 2 + - uid: 5307 + components: + - type: Transform + pos: 41.5,-27.5 + parent: 2 - uid: 5309 components: - type: Transform - pos: 49.5,-31.5 + pos: 51.5,-49.5 parent: 2 - - uid: 5346 + - uid: 5311 components: - type: Transform - pos: 47.5,-27.5 + pos: 51.5,-44.5 + parent: 2 + - uid: 5324 + components: + - type: Transform + pos: 92.5,-48.5 + parent: 2 + - uid: 5326 + components: + - type: Transform + pos: 74.5,-29.5 + parent: 2 + - uid: 5327 + components: + - type: Transform + pos: 57.5,-68.5 + parent: 2 + - uid: 5331 + components: + - type: Transform + pos: 76.5,-27.5 + parent: 2 + - uid: 5368 + components: + - type: Transform + pos: 74.5,-33.5 + parent: 2 + - uid: 5370 + components: + - type: Transform + pos: 76.5,-30.5 + parent: 2 + - uid: 5371 + components: + - type: Transform + pos: 76.5,-29.5 + parent: 2 + - uid: 5372 + components: + - type: Transform + pos: 75.5,-45.5 parent: 2 - uid: 5382 components: @@ -14965,25 +15856,20 @@ entities: - type: Transform pos: 68.5,-21.5 parent: 2 + - uid: 5404 + components: + - type: Transform + pos: 66.5,-69.5 + parent: 2 - uid: 5424 components: - type: Transform pos: 4.5,-56.5 parent: 2 - - uid: 5538 + - uid: 5461 components: - type: Transform - pos: 58.5,-56.5 - parent: 2 - - uid: 5539 - components: - - type: Transform - pos: 60.5,-59.5 - parent: 2 - - uid: 5603 - components: - - type: Transform - pos: 62.5,-56.5 + pos: 37.5,-76.5 parent: 2 - uid: 5610 components: @@ -14995,11 +15881,31 @@ entities: - type: Transform pos: -48.5,-37.5 parent: 2 + - uid: 5731 + components: + - type: Transform + pos: 58.5,-71.5 + parent: 2 + - uid: 5736 + components: + - type: Transform + pos: 57.5,-71.5 + parent: 2 - uid: 5790 components: - type: Transform pos: 15.5,-83.5 parent: 2 + - uid: 5791 + components: + - type: Transform + pos: 57.5,-69.5 + parent: 2 + - uid: 5795 + components: + - type: Transform + pos: 74.5,-35.5 + parent: 2 - uid: 5804 components: - type: Transform @@ -15010,51 +15916,56 @@ entities: - type: Transform pos: 80.5,-45.5 parent: 2 - - uid: 5809 + - uid: 5857 components: - type: Transform - pos: 78.5,-46.5 + pos: 37.5,-37.5 + parent: 2 + - uid: 5872 + components: + - type: Transform + pos: 37.5,-39.5 parent: 2 - uid: 5891 components: - type: Transform - pos: 80.5,-44.5 - parent: 2 - - uid: 5892 - components: - - type: Transform - pos: 80.5,-46.5 + pos: 37.5,-38.5 parent: 2 - uid: 5927 components: - type: Transform pos: 4.5,-55.5 parent: 2 - - uid: 5957 + - uid: 6014 components: - type: Transform - pos: 66.5,-45.5 + pos: 72.5,-34.5 + parent: 2 + - uid: 6029 + components: + - type: Transform + pos: 55.5,-98.5 + parent: 2 + - uid: 6032 + components: + - type: Transform + pos: 55.5,-97.5 parent: 2 - uid: 6082 components: - type: Transform - pos: 34.5,-20.5 + pos: 51.5,-50.5 parent: 2 - - uid: 6083 + - uid: 6092 components: - type: Transform - pos: 34.5,-19.5 + pos: 70.5,-44.5 parent: 2 - uid: 6099 components: - type: Transform pos: 55.5,-17.5 parent: 2 - - uid: 6100 - components: - - type: Transform - pos: 62.5,-68.5 - parent: 2 - uid: 6101 components: - type: Transform @@ -15070,26 +15981,11 @@ entities: - type: Transform pos: 42.5,-19.5 parent: 2 - - uid: 6104 - components: - - type: Transform - pos: 62.5,-69.5 - parent: 2 - - uid: 6106 - components: - - type: Transform - pos: 59.5,-72.5 - parent: 2 - uid: 6115 components: - type: Transform pos: 55.5,-19.5 parent: 2 - - uid: 6118 - components: - - type: Transform - pos: 34.5,-21.5 - parent: 2 - uid: 6122 components: - type: Transform @@ -15100,31 +15996,11 @@ entities: - type: Transform pos: 53.5,-19.5 parent: 2 - - uid: 6132 - components: - - type: Transform - pos: 56.5,-66.5 - parent: 2 - - uid: 6136 - components: - - type: Transform - pos: 57.5,-70.5 - parent: 2 - uid: 6137 components: - type: Transform pos: 58.5,-17.5 parent: 2 - - uid: 6139 - components: - - type: Transform - pos: 56.5,-74.5 - parent: 2 - - uid: 6140 - components: - - type: Transform - pos: 56.5,-65.5 - parent: 2 - uid: 6216 components: - type: Transform @@ -15145,6 +16021,31 @@ entities: - type: Transform pos: 49.5,-72.5 parent: 2 + - uid: 6288 + components: + - type: Transform + pos: 74.5,-28.5 + parent: 2 + - uid: 6294 + components: + - type: Transform + pos: 37.5,-40.5 + parent: 2 + - uid: 6380 + components: + - type: Transform + pos: 44.5,-26.5 + parent: 2 + - uid: 6384 + components: + - type: Transform + pos: 77.5,-67.5 + parent: 2 + - uid: 6402 + components: + - type: Transform + pos: 72.5,-75.5 + parent: 2 - uid: 6472 components: - type: Transform @@ -15155,11 +16056,6 @@ entities: - type: Transform pos: -2.5,-36.5 parent: 2 - - uid: 6612 - components: - - type: Transform - pos: 56.5,-72.5 - parent: 2 - uid: 6626 components: - type: Transform @@ -15168,58 +16064,58 @@ entities: - uid: 6627 components: - type: Transform - pos: 49.5,-32.5 + pos: 91.5,-41.5 parent: 2 - uid: 6680 components: - type: Transform pos: 53.5,-72.5 parent: 2 - - uid: 6716 + - uid: 6847 components: - type: Transform - pos: 43.5,-26.5 - parent: 2 - - uid: 6717 - components: - - type: Transform - pos: 41.5,-32.5 + pos: 61.5,-68.5 parent: 2 - uid: 6935 components: - type: Transform pos: 54.5,-71.5 parent: 2 - - uid: 7168 + - uid: 7035 components: - type: Transform - pos: 64.5,-34.5 + pos: 28.5,-30.5 parent: 2 - - uid: 7169 + - uid: 7043 components: - type: Transform - pos: 63.5,-46.5 + pos: 61.5,-69.5 parent: 2 - - uid: 7172 + - uid: 7046 components: - type: Transform - pos: 59.5,-37.5 + pos: 32.5,-29.5 + parent: 2 + - uid: 7047 + components: + - type: Transform + pos: 31.5,-29.5 + parent: 2 + - uid: 7116 + components: + - type: Transform + pos: 30.5,-29.5 + parent: 2 + - uid: 7127 + components: + - type: Transform + pos: 29.5,-29.5 parent: 2 - uid: 7175 components: - type: Transform pos: 54.5,-56.5 parent: 2 - - uid: 7203 - components: - - type: Transform - pos: 67.5,-57.5 - parent: 2 - - uid: 7226 - components: - - type: Transform - pos: 63.5,-43.5 - parent: 2 - uid: 7229 components: - type: Transform @@ -15230,15 +16126,20 @@ entities: - type: Transform pos: 49.5,-19.5 parent: 2 - - uid: 7261 + - uid: 7240 components: - type: Transform - pos: 66.5,-61.5 + pos: 32.5,-32.5 parent: 2 - - uid: 7275 + - uid: 7281 components: - type: Transform - pos: 60.5,-40.5 + pos: 27.5,-26.5 + parent: 2 + - uid: 7291 + components: + - type: Transform + pos: 55.5,-45.5 parent: 2 - uid: 7296 components: @@ -15270,25 +16171,25 @@ entities: - type: Transform pos: 52.5,-14.5 parent: 2 - - uid: 7332 + - uid: 7339 components: - type: Transform - pos: 61.5,-71.5 + pos: 3.5,-59.5 parent: 2 - - uid: 7342 + - uid: 7393 components: - type: Transform - pos: 62.5,-71.5 + pos: 72.5,-69.5 parent: 2 - - uid: 7344 + - uid: 7401 components: - type: Transform - pos: 59.5,-73.5 + pos: 72.5,-71.5 parent: 2 - - uid: 7426 + - uid: 7402 components: - type: Transform - pos: 84.5,-43.5 + pos: 72.5,-72.5 parent: 2 - uid: 7451 components: @@ -15300,11 +16201,6 @@ entities: - type: Transform pos: 49.5,-63.5 parent: 2 - - uid: 7486 - components: - - type: Transform - pos: 93.5,-46.5 - parent: 2 - uid: 7487 components: - type: Transform @@ -15395,35 +16291,85 @@ entities: - type: Transform pos: 93.5,-43.5 parent: 2 - - uid: 7509 + - uid: 7572 components: - type: Transform - pos: 93.5,-44.5 + pos: 65.5,-65.5 parent: 2 - - uid: 7510 + - uid: 7580 components: - type: Transform - pos: 93.5,-45.5 + pos: 67.5,-65.5 + parent: 2 + - uid: 7587 + components: + - type: Transform + pos: 58.5,-73.5 + parent: 2 + - uid: 7588 + components: + - type: Transform + pos: 36.5,-40.5 + parent: 2 + - uid: 7589 + components: + - type: Transform + pos: 58.5,-72.5 + parent: 2 + - uid: 7600 + components: + - type: Transform + pos: 95.5,-45.5 + parent: 2 + - uid: 7619 + components: + - type: Transform + pos: 95.5,-44.5 parent: 2 - uid: 7648 components: - type: Transform pos: -21.5,-19.5 parent: 2 + - uid: 7658 + components: + - type: Transform + pos: 67.5,-71.5 + parent: 2 + - uid: 7706 + components: + - type: Transform + pos: 49.5,-45.5 + parent: 2 - uid: 7712 components: - type: Transform pos: 24.5,-90.5 parent: 2 + - uid: 7716 + components: + - type: Transform + pos: 64.5,-65.5 + parent: 2 + - uid: 7723 + components: + - type: Transform + pos: 56.5,-76.5 + parent: 2 - uid: 7732 components: - type: Transform pos: 65.5,-20.5 parent: 2 - - uid: 7754 + - uid: 7742 components: - type: Transform - pos: 59.5,-38.5 + pos: 77.5,-54.5 + parent: 2 + - uid: 7750 + components: + - type: Transform + pos: 46.5,-29.5 parent: 2 - uid: 7757 components: @@ -15435,6 +16381,16 @@ entities: - type: Transform pos: 49.5,-14.5 parent: 2 + - uid: 7808 + components: + - type: Transform + pos: 7.5,-59.5 + parent: 2 + - uid: 7892 + components: + - type: Transform + pos: 48.5,-29.5 + parent: 2 - uid: 7910 components: - type: Transform @@ -15455,6 +16411,11 @@ entities: - type: Transform pos: 15.5,-67.5 parent: 2 + - uid: 7926 + components: + - type: Transform + pos: 64.5,-63.5 + parent: 2 - uid: 7941 components: - type: Transform @@ -15465,21 +16426,6 @@ entities: - type: Transform pos: 64.5,-28.5 parent: 2 - - uid: 7947 - components: - - type: Transform - pos: 62.5,-67.5 - parent: 2 - - uid: 7948 - components: - - type: Transform - pos: 62.5,-66.5 - parent: 2 - - uid: 7949 - components: - - type: Transform - pos: 61.5,-66.5 - parent: 2 - uid: 7966 components: - type: Transform @@ -15490,61 +16436,56 @@ entities: - type: Transform pos: 35.5,-70.5 parent: 2 - - uid: 7969 + - uid: 8045 components: - type: Transform - pos: 51.5,-50.5 + pos: 67.5,-64.5 parent: 2 - - uid: 7971 + - uid: 8074 components: - type: Transform - pos: 63.5,-44.5 + pos: 57.5,-67.5 parent: 2 - - uid: 7985 + - uid: 8081 components: - type: Transform - pos: 58.5,-48.5 + pos: 77.5,-66.5 parent: 2 - - uid: 8035 + - uid: 8083 components: - type: Transform - pos: 62.5,-63.5 + pos: 77.5,-65.5 parent: 2 - - uid: 8047 + - uid: 8091 components: - type: Transform - pos: 62.5,-64.5 + pos: 67.5,-63.5 parent: 2 - - uid: 8068 + - uid: 8094 components: - type: Transform - pos: 69.5,-42.5 + pos: 92.5,-41.5 parent: 2 - - uid: 8113 + - uid: 8099 components: - type: Transform - pos: 59.5,-65.5 - parent: 2 - - uid: 8116 - components: - - type: Transform - pos: 59.5,-63.5 - parent: 2 - - uid: 8134 - components: - - type: Transform - pos: 61.5,-63.5 - parent: 2 - - uid: 8135 - components: - - type: Transform - pos: 63.5,-42.5 + pos: 92.5,-42.5 parent: 2 - uid: 8142 components: - type: Transform pos: 55.5,-56.5 parent: 2 + - uid: 8149 + components: + - type: Transform + pos: 28.5,-35.5 + parent: 2 + - uid: 8157 + components: + - type: Transform + pos: 75.5,-48.5 + parent: 2 - uid: 8178 components: - type: Transform @@ -15605,31 +16546,26 @@ entities: - type: Transform pos: 65.5,-27.5 parent: 2 - - uid: 8412 + - uid: 8449 components: - type: Transform - pos: 58.5,-35.5 + pos: 66.5,-65.5 parent: 2 - - uid: 8573 + - uid: 8545 components: - type: Transform - pos: 56.5,-71.5 + pos: 37.5,-77.5 + parent: 2 + - uid: 8546 + components: + - type: Transform + pos: 56.5,-57.5 parent: 2 - uid: 8579 components: - type: Transform pos: 59.5,-27.5 parent: 2 - - uid: 8611 - components: - - type: Transform - pos: 63.5,-38.5 - parent: 2 - - uid: 8620 - components: - - type: Transform - pos: 65.5,-33.5 - parent: 2 - uid: 8626 components: - type: Transform @@ -15640,11 +16576,6 @@ entities: - type: Transform pos: 56.5,-17.5 parent: 2 - - uid: 8642 - components: - - type: Transform - pos: 38.5,-32.5 - parent: 2 - uid: 8660 components: - type: Transform @@ -15660,10 +16591,10 @@ entities: - type: Transform pos: 54.5,-70.5 parent: 2 - - uid: 8812 + - uid: 8804 components: - type: Transform - pos: 59.5,-56.5 + pos: 76.5,-25.5 parent: 2 - uid: 8815 components: @@ -15680,21 +16611,6 @@ entities: - type: Transform pos: -33.5,-57.5 parent: 2 - - uid: 8825 - components: - - type: Transform - pos: 59.5,-42.5 - parent: 2 - - uid: 8826 - components: - - type: Transform - pos: 69.5,-46.5 - parent: 2 - - uid: 8827 - components: - - type: Transform - pos: 65.5,-39.5 - parent: 2 - uid: 8828 components: - type: Transform @@ -15705,11 +16621,6 @@ entities: - type: Transform pos: -34.5,-65.5 parent: 2 - - uid: 8864 - components: - - type: Transform - pos: 71.5,-52.5 - parent: 2 - uid: 9054 components: - type: Transform @@ -15780,11 +16691,6 @@ entities: - type: Transform pos: 12.5,-83.5 parent: 2 - - uid: 9211 - components: - - type: Transform - pos: 55.5,-52.5 - parent: 2 - uid: 9220 components: - type: Transform @@ -15810,11 +16716,6 @@ entities: - type: Transform pos: 47.5,-72.5 parent: 2 - - uid: 9275 - components: - - type: Transform - pos: 31.5,-69.5 - parent: 2 - uid: 9276 components: - type: Transform @@ -15835,16 +16736,6 @@ entities: - type: Transform pos: 65.5,-72.5 parent: 2 - - uid: 9320 - components: - - type: Transform - pos: 63.5,-64.5 - parent: 2 - - uid: 9332 - components: - - type: Transform - pos: 55.5,-50.5 - parent: 2 - uid: 9338 components: - type: Transform @@ -15860,86 +16751,36 @@ entities: - type: Transform pos: 48.5,-19.5 parent: 2 - - uid: 9349 - components: - - type: Transform - pos: 34.5,-13.5 - parent: 2 - uid: 9350 components: - type: Transform - pos: 34.5,-18.5 + pos: 31.5,-11.5 parent: 2 - uid: 9365 components: - type: Transform pos: 65.5,-21.5 parent: 2 - - uid: 9388 + - uid: 9389 components: - type: Transform - pos: 38.5,-31.5 + pos: 60.5,-64.5 parent: 2 - - uid: 9446 + - uid: 9397 components: - type: Transform - pos: 83.5,-47.5 + pos: 61.5,-64.5 parent: 2 - uid: 9454 components: - type: Transform pos: 50.5,-72.5 parent: 2 - - uid: 9459 - components: - - type: Transform - pos: 60.5,-41.5 - parent: 2 - - uid: 9483 - components: - - type: Transform - pos: 60.5,-42.5 - parent: 2 - - uid: 9586 - components: - - type: Transform - pos: 60.5,-55.5 - parent: 2 - - uid: 9589 - components: - - type: Transform - pos: 61.5,-56.5 - parent: 2 - uid: 9599 components: - type: Transform pos: -33.5,-16.5 parent: 2 - - uid: 9602 - components: - - type: Transform - pos: 69.5,-47.5 - parent: 2 - - uid: 9610 - components: - - type: Transform - pos: 67.5,-50.5 - parent: 2 - - uid: 9672 - components: - - type: Transform - pos: 59.5,-45.5 - parent: 2 - - uid: 9675 - components: - - type: Transform - pos: 64.5,-39.5 - parent: 2 - - uid: 9676 - components: - - type: Transform - pos: 67.5,-46.5 - parent: 2 - uid: 9677 components: - type: Transform @@ -15980,51 +16821,11 @@ entities: - type: Transform pos: 47.5,-63.5 parent: 2 - - uid: 10259 - components: - - type: Transform - pos: 71.5,-46.5 - parent: 2 - uid: 10270 components: - type: Transform pos: 68.5,-35.5 parent: 2 - - uid: 10275 - components: - - type: Transform - pos: 59.5,-43.5 - parent: 2 - - uid: 10277 - components: - - type: Transform - pos: 60.5,-57.5 - parent: 2 - - uid: 10279 - components: - - type: Transform - pos: 60.5,-56.5 - parent: 2 - - uid: 10280 - components: - - type: Transform - pos: 69.5,-48.5 - parent: 2 - - uid: 10281 - components: - - type: Transform - pos: 67.5,-51.5 - parent: 2 - - uid: 10285 - components: - - type: Transform - pos: 68.5,-46.5 - parent: 2 - - uid: 10314 - components: - - type: Transform - pos: 71.5,-51.5 - parent: 2 - uid: 10329 components: - type: Transform @@ -16060,91 +16861,101 @@ entities: - type: Transform pos: 52.5,-52.5 parent: 2 - - uid: 10734 + - uid: 10709 components: - type: Transform - pos: 70.5,-46.5 + pos: 72.5,-68.5 parent: 2 - - uid: 10741 + - uid: 10711 components: - type: Transform - pos: 34.5,-17.5 + pos: 73.5,-68.5 parent: 2 - - uid: 10742 + - uid: 10712 components: - type: Transform - pos: 34.5,-16.5 + pos: 74.5,-68.5 parent: 2 - - uid: 10743 + - uid: 10715 components: - type: Transform - pos: 34.5,-15.5 + pos: 78.5,-45.5 parent: 2 - - uid: 10755 + - uid: 10716 components: - type: Transform - pos: 66.5,-39.5 + pos: 81.5,-44.5 + parent: 2 + - uid: 10718 + components: + - type: Transform + pos: 79.5,-46.5 + parent: 2 + - uid: 10751 + components: + - type: Transform + pos: 74.5,-60.5 parent: 2 - uid: 10765 components: - type: Transform pos: 65.5,-19.5 parent: 2 - - uid: 10777 - components: - - type: Transform - pos: 70.5,-52.5 - parent: 2 - - uid: 10778 - components: - - type: Transform - pos: 58.5,-38.5 - parent: 2 - uid: 10779 components: - type: Transform pos: 35.5,-95.5 parent: 2 - - uid: 10782 - components: - - type: Transform - pos: 58.5,-45.5 - parent: 2 - - uid: 10787 - components: - - type: Transform - pos: 53.5,-52.5 - parent: 2 - uid: 10789 components: - type: Transform pos: 40.5,-76.5 parent: 2 - - uid: 10792 - components: - - type: Transform - pos: 59.5,-66.5 - parent: 2 - - uid: 10795 - components: - - type: Transform - pos: 54.5,-52.5 - parent: 2 - - uid: 10797 - components: - - type: Transform - pos: 68.5,-52.5 - parent: 2 - - uid: 10814 - components: - - type: Transform - pos: 58.5,-31.5 - parent: 2 - uid: 10824 components: - type: Transform pos: -56.5,-68.5 parent: 2 + - uid: 10834 + components: + - type: Transform + pos: 98.5,-43.5 + parent: 2 + - uid: 10844 + components: + - type: Transform + pos: 96.5,-43.5 + parent: 2 + - uid: 10845 + components: + - type: Transform + pos: 98.5,-47.5 + parent: 2 + - uid: 10846 + components: + - type: Transform + pos: 97.5,-43.5 + parent: 2 + - uid: 10847 + components: + - type: Transform + pos: 97.5,-47.5 + parent: 2 + - uid: 10848 + components: + - type: Transform + pos: 96.5,-47.5 + parent: 2 + - uid: 10858 + components: + - type: Transform + pos: 74.5,-59.5 + parent: 2 + - uid: 10861 + components: + - type: Transform + pos: 74.5,-58.5 + parent: 2 - uid: 10920 components: - type: Transform @@ -16875,31 +17686,6 @@ entities: - type: Transform pos: -38.5,-79.5 parent: 2 - - uid: 11128 - components: - - type: Transform - pos: -39.5,-79.5 - parent: 2 - - uid: 11129 - components: - - type: Transform - pos: -40.5,-79.5 - parent: 2 - - uid: 11130 - components: - - type: Transform - pos: -41.5,-79.5 - parent: 2 - - uid: 11131 - components: - - type: Transform - pos: -42.5,-79.5 - parent: 2 - - uid: 11132 - components: - - type: Transform - pos: -43.5,-79.5 - parent: 2 - uid: 11133 components: - type: Transform @@ -17910,10 +18696,10 @@ entities: - type: Transform pos: -6.5,-11.5 parent: 2 - - uid: 11413 + - uid: 11412 components: - type: Transform - pos: 57.5,-48.5 + pos: 57.5,-57.5 parent: 2 - uid: 11414 components: @@ -17925,11 +18711,6 @@ entities: - type: Transform pos: -18.5,-16.5 parent: 2 - - uid: 11416 - components: - - type: Transform - pos: 60.5,-48.5 - parent: 2 - uid: 11417 components: - type: Transform @@ -18815,71 +19596,6 @@ entities: - type: Transform pos: 12.5,-16.5 parent: 2 - - uid: 11633 - components: - - type: Transform - pos: 30.5,-24.5 - parent: 2 - - uid: 11634 - components: - - type: Transform - pos: 30.5,-23.5 - parent: 2 - - uid: 11635 - components: - - type: Transform - pos: 30.5,-22.5 - parent: 2 - - uid: 11636 - components: - - type: Transform - pos: 30.5,-21.5 - parent: 2 - - uid: 11637 - components: - - type: Transform - pos: 29.5,-21.5 - parent: 2 - - uid: 11638 - components: - - type: Transform - pos: 29.5,-20.5 - parent: 2 - - uid: 11639 - components: - - type: Transform - pos: 29.5,-19.5 - parent: 2 - - uid: 11640 - components: - - type: Transform - pos: 29.5,-18.5 - parent: 2 - - uid: 11641 - components: - - type: Transform - pos: 29.5,-17.5 - parent: 2 - - uid: 11642 - components: - - type: Transform - pos: 29.5,-16.5 - parent: 2 - - uid: 11643 - components: - - type: Transform - pos: 29.5,-15.5 - parent: 2 - - uid: 11646 - components: - - type: Transform - pos: 30.5,-14.5 - parent: 2 - - uid: 11647 - components: - - type: Transform - pos: 29.5,-23.5 - parent: 2 - uid: 11648 components: - type: Transform @@ -18935,36 +19651,6 @@ entities: - type: Transform pos: 34.5,-27.5 parent: 2 - - uid: 11659 - components: - - type: Transform - pos: 31.5,-22.5 - parent: 2 - - uid: 11660 - components: - - type: Transform - pos: 32.5,-22.5 - parent: 2 - - uid: 11661 - components: - - type: Transform - pos: 33.5,-22.5 - parent: 2 - - uid: 11662 - components: - - type: Transform - pos: 34.5,-22.5 - parent: 2 - - uid: 11663 - components: - - type: Transform - pos: 35.5,-22.5 - parent: 2 - - uid: 11664 - components: - - type: Transform - pos: 36.5,-22.5 - parent: 2 - uid: 11670 components: - type: Transform @@ -18975,50 +19661,100 @@ entities: - type: Transform pos: 44.5,-76.5 parent: 2 - - uid: 11676 - components: - - type: Transform - pos: 34.5,-14.5 - parent: 2 - - uid: 11677 - components: - - type: Transform - pos: 34.5,-12.5 - parent: 2 - uid: 11681 components: - type: Transform pos: 47.5,-76.5 parent: 2 - - uid: 11689 + - uid: 11703 components: - type: Transform - pos: 49.5,-27.5 + pos: 59.5,-32.5 parent: 2 - - uid: 11690 + - uid: 11704 components: - type: Transform - pos: 50.5,-27.5 + pos: 58.5,-32.5 parent: 2 - - uid: 11691 + - uid: 11705 components: - type: Transform - pos: 51.5,-27.5 - parent: 2 - - uid: 11692 - components: - - type: Transform - pos: 52.5,-27.5 - parent: 2 - - uid: 11702 - components: - - type: Transform - pos: 64.5,-42.5 + pos: 57.5,-32.5 parent: 2 - uid: 11706 components: - type: Transform - pos: 61.5,-48.5 + pos: 56.5,-32.5 + parent: 2 + - uid: 11714 + components: + - type: Transform + pos: 55.5,-32.5 + parent: 2 + - uid: 11722 + components: + - type: Transform + pos: 54.5,-32.5 + parent: 2 + - uid: 11732 + components: + - type: Transform + pos: 54.5,-31.5 + parent: 2 + - uid: 11733 + components: + - type: Transform + pos: 53.5,-31.5 + parent: 2 + - uid: 11734 + components: + - type: Transform + pos: 53.5,-30.5 + parent: 2 + - uid: 11735 + components: + - type: Transform + pos: 53.5,-29.5 + parent: 2 + - uid: 11738 + components: + - type: Transform + pos: 53.5,-28.5 + parent: 2 + - uid: 11739 + components: + - type: Transform + pos: 52.5,-28.5 + parent: 2 + - uid: 11740 + components: + - type: Transform + pos: 51.5,-28.5 + parent: 2 + - uid: 11742 + components: + - type: Transform + pos: 50.5,-28.5 + parent: 2 + - uid: 11750 + components: + - type: Transform + pos: 54.5,-33.5 + parent: 2 + - uid: 11753 + components: + - type: Transform + pos: 53.5,-33.5 + parent: 2 + - uid: 11756 + components: + - type: Transform + pos: 52.5,-33.5 + parent: 2 + - uid: 11757 + components: + - type: Transform + pos: 51.5,-33.5 parent: 2 - uid: 11764 components: @@ -19110,11 +19846,6 @@ entities: - type: Transform pos: 43.5,-23.5 parent: 2 - - uid: 11793 - components: - - type: Transform - pos: 42.5,-23.5 - parent: 2 - uid: 11794 components: - type: Transform @@ -19235,16 +19966,16 @@ entities: - type: Transform pos: 75.5,-25.5 parent: 2 + - uid: 11827 + components: + - type: Transform + pos: 52.5,-34.5 + parent: 2 - uid: 11829 components: - type: Transform pos: 73.5,-27.5 parent: 2 - - uid: 11830 - components: - - type: Transform - pos: 73.5,-28.5 - parent: 2 - uid: 11831 components: - type: Transform @@ -19255,21 +19986,6 @@ entities: - type: Transform pos: 72.5,-29.5 parent: 2 - - uid: 11833 - components: - - type: Transform - pos: 71.5,-29.5 - parent: 2 - - uid: 11834 - components: - - type: Transform - pos: 71.5,-30.5 - parent: 2 - - uid: 11835 - components: - - type: Transform - pos: 71.5,-31.5 - parent: 2 - uid: 11836 components: - type: Transform @@ -19280,50 +19996,35 @@ entities: - type: Transform pos: 73.5,-31.5 parent: 2 - - uid: 11838 - components: - - type: Transform - pos: 73.5,-33.5 - parent: 2 - - uid: 11839 - components: - - type: Transform - pos: 73.5,-32.5 - parent: 2 - - uid: 11840 - components: - - type: Transform - pos: 72.5,-33.5 - parent: 2 - uid: 11841 components: - type: Transform pos: 76.5,-44.5 parent: 2 + - uid: 11845 + components: + - type: Transform + pos: 52.5,-35.5 + parent: 2 + - uid: 11846 + components: + - type: Transform + pos: 52.5,-36.5 + parent: 2 - uid: 11849 components: - type: Transform - pos: 75.5,-41.5 + pos: 51.5,-36.5 parent: 2 - - uid: 11854 + - uid: 11850 components: - type: Transform - pos: 77.5,-38.5 + pos: 51.5,-37.5 parent: 2 - - uid: 11855 + - uid: 11851 components: - type: Transform - pos: 77.5,-37.5 - parent: 2 - - uid: 11856 - components: - - type: Transform - pos: 77.5,-36.5 - parent: 2 - - uid: 11857 - components: - - type: Transform - pos: 78.5,-36.5 + pos: 50.5,-37.5 parent: 2 - uid: 11858 components: @@ -19350,40 +20051,10 @@ entities: - type: Transform pos: 79.5,-32.5 parent: 2 - - uid: 11863 + - uid: 11871 components: - type: Transform - pos: 78.5,-32.5 - parent: 2 - - uid: 11864 - components: - - type: Transform - pos: 77.5,-32.5 - parent: 2 - - uid: 11865 - components: - - type: Transform - pos: 76.5,-32.5 - parent: 2 - - uid: 11866 - components: - - type: Transform - pos: 75.5,-32.5 - parent: 2 - - uid: 11867 - components: - - type: Transform - pos: 75.5,-31.5 - parent: 2 - - uid: 11868 - components: - - type: Transform - pos: 75.5,-30.5 - parent: 2 - - uid: 11869 - components: - - type: Transform - pos: 74.5,-38.5 + pos: 52.5,-38.5 parent: 2 - uid: 11873 components: @@ -19420,11 +20091,6 @@ entities: - type: Transform pos: 76.5,-54.5 parent: 2 - - uid: 11880 - components: - - type: Transform - pos: 76.5,-55.5 - parent: 2 - uid: 11881 components: - type: Transform @@ -19435,165 +20101,45 @@ entities: - type: Transform pos: 77.5,-56.5 parent: 2 - - uid: 11883 - components: - - type: Transform - pos: 77.5,-57.5 - parent: 2 - - uid: 11884 - components: - - type: Transform - pos: 73.5,-66.5 - parent: 2 - uid: 11885 components: - type: Transform - pos: 73.5,-65.5 - parent: 2 - - uid: 11886 - components: - - type: Transform - pos: 72.5,-65.5 - parent: 2 - - uid: 11887 - components: - - type: Transform - pos: 71.5,-65.5 + pos: 59.5,-64.5 parent: 2 - uid: 11888 components: - type: Transform - pos: 70.5,-65.5 + pos: 54.5,-34.5 parent: 2 - uid: 11889 components: - type: Transform - pos: 70.5,-64.5 - parent: 2 - - uid: 11890 - components: - - type: Transform - pos: 70.5,-63.5 - parent: 2 - - uid: 11891 - components: - - type: Transform - pos: 70.5,-62.5 - parent: 2 - - uid: 11892 - components: - - type: Transform - pos: 74.5,-65.5 - parent: 2 - - uid: 11893 - components: - - type: Transform - pos: 74.5,-64.5 + pos: 58.5,-64.5 parent: 2 - uid: 11894 components: - type: Transform - pos: 74.5,-63.5 - parent: 2 - - uid: 11895 - components: - - type: Transform - pos: 74.5,-62.5 + pos: 57.5,-75.5 parent: 2 - uid: 11896 components: - type: Transform - pos: 74.5,-61.5 + pos: 55.5,-76.5 parent: 2 - uid: 11897 components: - type: Transform - pos: 74.5,-60.5 + pos: 54.5,-76.5 parent: 2 - - uid: 11898 + - uid: 11909 components: - type: Transform - pos: 74.5,-59.5 - parent: 2 - - uid: 11899 - components: - - type: Transform - pos: 74.5,-58.5 - parent: 2 - - uid: 11900 - components: - - type: Transform - pos: 73.5,-58.5 - parent: 2 - - uid: 11901 - components: - - type: Transform - pos: 72.5,-58.5 - parent: 2 - - uid: 11902 - components: - - type: Transform - pos: 71.5,-58.5 - parent: 2 - - uid: 11903 - components: - - type: Transform - pos: 70.5,-58.5 - parent: 2 - - uid: 11904 - components: - - type: Transform - pos: 69.5,-58.5 - parent: 2 - - uid: 11905 - components: - - type: Transform - pos: 69.5,-57.5 - parent: 2 - - uid: 11906 - components: - - type: Transform - pos: 68.5,-57.5 - parent: 2 - - uid: 11908 - components: - - type: Transform - pos: 66.5,-57.5 - parent: 2 - - uid: 11910 - components: - - type: Transform - pos: 71.5,-66.5 + pos: 55.5,-34.5 parent: 2 - uid: 11911 components: - type: Transform - pos: 71.5,-67.5 - parent: 2 - - uid: 11912 - components: - - type: Transform - pos: 71.5,-68.5 - parent: 2 - - uid: 11913 - components: - - type: Transform - pos: 72.5,-68.5 - parent: 2 - - uid: 11914 - components: - - type: Transform - pos: 73.5,-68.5 - parent: 2 - - uid: 11915 - components: - - type: Transform - pos: 74.5,-68.5 - parent: 2 - - uid: 11919 - components: - - type: Transform - pos: 77.5,-67.5 + pos: 55.5,-36.5 parent: 2 - uid: 11921 components: @@ -19665,6 +20211,46 @@ entities: - type: Transform pos: 51.5,-101.5 parent: 2 + - uid: 11939 + components: + - type: Transform + pos: 55.5,-37.5 + parent: 2 + - uid: 11940 + components: + - type: Transform + pos: 55.5,-38.5 + parent: 2 + - uid: 11941 + components: + - type: Transform + pos: 57.5,-39.5 + parent: 2 + - uid: 11949 + components: + - type: Transform + pos: 58.5,-39.5 + parent: 2 + - uid: 11950 + components: + - type: Transform + pos: 59.5,-39.5 + parent: 2 + - uid: 11953 + components: + - type: Transform + pos: 65.5,-31.5 + parent: 2 + - uid: 11955 + components: + - type: Transform + pos: 65.5,-32.5 + parent: 2 + - uid: 11957 + components: + - type: Transform + pos: 65.5,-33.5 + parent: 2 - uid: 11958 components: - type: Transform @@ -19755,41 +20341,6 @@ entities: - type: Transform pos: 40.5,-40.5 parent: 2 - - uid: 11976 - components: - - type: Transform - pos: 44.5,-43.5 - parent: 2 - - uid: 11977 - components: - - type: Transform - pos: 45.5,-43.5 - parent: 2 - - uid: 11978 - components: - - type: Transform - pos: 46.5,-43.5 - parent: 2 - - uid: 11979 - components: - - type: Transform - pos: 47.5,-43.5 - parent: 2 - - uid: 11980 - components: - - type: Transform - pos: 47.5,-42.5 - parent: 2 - - uid: 11981 - components: - - type: Transform - pos: 47.5,-41.5 - parent: 2 - - uid: 11982 - components: - - type: Transform - pos: 47.5,-44.5 - parent: 2 - uid: 11983 components: - type: Transform @@ -20690,16 +21241,6 @@ entities: - type: Transform pos: 54.5,-100.5 parent: 2 - - uid: 12242 - components: - - type: Transform - pos: 54.5,-99.5 - parent: 2 - - uid: 12243 - components: - - type: Transform - pos: 54.5,-98.5 - parent: 2 - uid: 12244 components: - type: Transform @@ -22075,6 +22616,11 @@ entities: - type: Transform pos: -19.5,-30.5 parent: 2 + - uid: 12579 + components: + - type: Transform + pos: 59.5,-36.5 + parent: 2 - uid: 12595 components: - type: Transform @@ -22635,6 +23181,11 @@ entities: - type: Transform pos: -28.5,-16.5 parent: 2 + - uid: 12729 + components: + - type: Transform + pos: 60.5,-36.5 + parent: 2 - uid: 12731 components: - type: Transform @@ -22700,31 +23251,6 @@ entities: - type: Transform pos: -49.5,-61.5 parent: 2 - - uid: 12744 - components: - - type: Transform - pos: -36.5,-76.5 - parent: 2 - - uid: 12745 - components: - - type: Transform - pos: -37.5,-76.5 - parent: 2 - - uid: 12746 - components: - - type: Transform - pos: -38.5,-76.5 - parent: 2 - - uid: 12747 - components: - - type: Transform - pos: -39.5,-76.5 - parent: 2 - - uid: 12748 - components: - - type: Transform - pos: -40.5,-76.5 - parent: 2 - uid: 12749 components: - type: Transform @@ -22915,6 +23441,11 @@ entities: - type: Transform pos: 24.5,-68.5 parent: 2 + - uid: 12792 + components: + - type: Transform + pos: 42.5,-27.5 + parent: 2 - uid: 12798 components: - type: Transform @@ -22940,6 +23471,11 @@ entities: - type: Transform pos: 66.5,-33.5 parent: 2 + - uid: 12805 + components: + - type: Transform + pos: 59.5,-37.5 + parent: 2 - uid: 12806 components: - type: Transform @@ -23008,12 +23544,37 @@ entities: - uid: 12819 components: - type: Transform - pos: 64.5,-33.5 + pos: 59.5,-38.5 + parent: 2 + - uid: 12822 + components: + - type: Transform + pos: 60.5,-32.5 + parent: 2 + - uid: 12828 + components: + - type: Transform + pos: 62.5,-32.5 + parent: 2 + - uid: 12829 + components: + - type: Transform + pos: 61.5,-32.5 + parent: 2 + - uid: 12830 + components: + - type: Transform + pos: 62.5,-33.5 + parent: 2 + - uid: 12832 + components: + - type: Transform + pos: 62.5,-34.5 parent: 2 - uid: 12835 components: - type: Transform - pos: 59.5,-33.5 + pos: 62.5,-35.5 parent: 2 - uid: 12836 components: @@ -23023,22 +23584,22 @@ entities: - uid: 12837 components: - type: Transform - pos: 59.5,-32.5 + pos: 62.5,-36.5 parent: 2 - uid: 12838 components: - type: Transform - pos: 61.5,-38.5 + pos: 62.5,-37.5 parent: 2 - uid: 12839 components: - type: Transform pos: 62.5,-38.5 parent: 2 - - uid: 12842 + - uid: 12840 components: - type: Transform - pos: 57.5,-75.5 + pos: 62.5,-39.5 parent: 2 - uid: 12843 components: @@ -23050,6 +23611,31 @@ entities: - type: Transform pos: 59.5,-75.5 parent: 2 + - uid: 12855 + components: + - type: Transform + pos: 62.5,-40.5 + parent: 2 + - uid: 12856 + components: + - type: Transform + pos: 63.5,-36.5 + parent: 2 + - uid: 12857 + components: + - type: Transform + pos: 64.5,-36.5 + parent: 2 + - uid: 12858 + components: + - type: Transform + pos: 67.5,-48.5 + parent: 2 + - uid: 12860 + components: + - type: Transform + pos: 66.5,-48.5 + parent: 2 - uid: 12861 components: - type: Transform @@ -23090,6 +23676,16 @@ entities: - type: Transform pos: 65.5,-73.5 parent: 2 + - uid: 12882 + components: + - type: Transform + pos: 65.5,-48.5 + parent: 2 + - uid: 12883 + components: + - type: Transform + pos: 65.5,-49.5 + parent: 2 - uid: 12888 components: - type: Transform @@ -23145,11 +23741,21 @@ entities: - type: Transform pos: 29.5,-66.5 parent: 2 + - uid: 12912 + components: + - type: Transform + pos: 65.5,-50.5 + parent: 2 - uid: 12913 components: - type: Transform pos: 53.5,-55.5 parent: 2 + - uid: 12914 + components: + - type: Transform + pos: 65.5,-51.5 + parent: 2 - uid: 12917 components: - type: Transform @@ -23180,270 +23786,130 @@ entities: - type: Transform pos: 43.5,-49.5 parent: 2 - - uid: 12933 + - uid: 12927 components: - type: Transform - pos: 48.5,-35.5 + pos: 66.5,-51.5 + parent: 2 + - uid: 12930 + components: + - type: Transform + pos: 66.5,-52.5 + parent: 2 + - uid: 12931 + components: + - type: Transform + pos: 67.5,-52.5 + parent: 2 + - uid: 12932 + components: + - type: Transform + pos: 68.5,-52.5 + parent: 2 + - uid: 12934 + components: + - type: Transform + pos: 69.5,-52.5 parent: 2 - uid: 12935 components: - type: Transform - pos: 47.5,-35.5 + pos: 70.5,-52.5 parent: 2 - uid: 12936 components: - type: Transform - pos: 46.5,-35.5 + pos: 68.5,-48.5 parent: 2 - uid: 12937 components: - type: Transform - pos: 46.5,-36.5 + pos: 69.5,-48.5 parent: 2 - uid: 12938 components: - type: Transform - pos: 46.5,-37.5 + pos: 70.5,-48.5 parent: 2 - uid: 12939 components: - type: Transform - pos: 45.5,-37.5 + pos: 71.5,-48.5 parent: 2 - uid: 12940 components: - type: Transform - pos: 44.5,-37.5 + pos: 72.5,-48.5 parent: 2 - uid: 12941 components: - type: Transform - pos: 44.5,-36.5 - parent: 2 - - uid: 12942 - components: - - type: Transform - pos: 44.5,-35.5 - parent: 2 - - uid: 12943 - components: - - type: Transform - pos: 43.5,-35.5 - parent: 2 - - uid: 12944 - components: - - type: Transform - pos: 42.5,-35.5 + pos: 72.5,-47.5 parent: 2 - uid: 12945 components: - type: Transform - pos: 42.5,-36.5 + pos: 72.5,-46.5 parent: 2 - uid: 12946 components: - type: Transform - pos: 42.5,-37.5 + pos: 69.5,-47.5 parent: 2 - uid: 12947 components: - type: Transform - pos: 42.5,-38.5 + pos: 72.5,-49.5 parent: 2 - uid: 12948 components: - type: Transform - pos: 41.5,-38.5 + pos: 65.5,-47.5 parent: 2 - uid: 12949 components: - type: Transform - pos: 40.5,-38.5 - parent: 2 - - uid: 12950 - components: - - type: Transform - pos: 40.5,-37.5 + pos: 65.5,-46.5 parent: 2 - uid: 12951 components: - type: Transform - pos: 40.5,-36.5 - parent: 2 - - uid: 12952 - components: - - type: Transform - pos: 40.5,-35.5 + pos: 65.5,-45.5 parent: 2 - uid: 12953 components: - type: Transform - pos: 39.5,-35.5 + pos: 65.5,-44.5 parent: 2 - uid: 12954 components: - type: Transform - pos: 38.5,-35.5 - parent: 2 - - uid: 12955 - components: - - type: Transform - pos: 38.5,-34.5 - parent: 2 - - uid: 12956 - components: - - type: Transform - pos: 38.5,-33.5 - parent: 2 - - uid: 12957 - components: - - type: Transform - pos: 49.5,-35.5 - parent: 2 - - uid: 12958 - components: - - type: Transform - pos: 50.5,-35.5 - parent: 2 - - uid: 12959 - components: - - type: Transform - pos: 50.5,-36.5 - parent: 2 - - uid: 12960 - components: - - type: Transform - pos: 50.5,-37.5 - parent: 2 - - uid: 12961 - components: - - type: Transform - pos: 50.5,-38.5 - parent: 2 - - uid: 12962 - components: - - type: Transform - pos: 50.5,-39.5 - parent: 2 - - uid: 12963 - components: - - type: Transform - pos: 50.5,-40.5 - parent: 2 - - uid: 12964 - components: - - type: Transform - pos: 51.5,-40.5 - parent: 2 - - uid: 12965 - components: - - type: Transform - pos: 52.5,-40.5 + pos: 65.5,-43.5 parent: 2 - uid: 12966 components: - type: Transform - pos: 52.5,-41.5 + pos: 65.5,-42.5 parent: 2 - uid: 12967 components: - type: Transform - pos: 52.5,-42.5 + pos: 65.5,-41.5 parent: 2 - uid: 12969 components: - type: Transform - pos: 48.5,-33.5 + pos: 65.5,-40.5 parent: 2 - uid: 12970 components: - type: Transform - pos: 49.5,-33.5 - parent: 2 - - uid: 12974 - components: - - type: Transform - pos: 48.5,-34.5 - parent: 2 - - uid: 12976 - components: - - type: Transform - pos: 50.5,-29.5 - parent: 2 - - uid: 12977 - components: - - type: Transform - pos: 51.5,-29.5 - parent: 2 - - uid: 12978 - components: - - type: Transform - pos: 52.5,-29.5 + pos: 66.5,-40.5 parent: 2 - uid: 12979 components: - type: Transform - pos: 47.5,-33.5 - parent: 2 - - uid: 12980 - components: - - type: Transform - pos: 46.5,-33.5 - parent: 2 - - uid: 12981 - components: - - type: Transform - pos: 46.5,-32.5 - parent: 2 - - uid: 12982 - components: - - type: Transform - pos: 46.5,-31.5 - parent: 2 - - uid: 12983 - components: - - type: Transform - pos: 45.5,-31.5 - parent: 2 - - uid: 12984 - components: - - type: Transform - pos: 44.5,-31.5 - parent: 2 - - uid: 12985 - components: - - type: Transform - pos: 44.5,-32.5 - parent: 2 - - uid: 12986 - components: - - type: Transform - pos: 44.5,-33.5 - parent: 2 - - uid: 12987 - components: - - type: Transform - pos: 43.5,-33.5 - parent: 2 - - uid: 12988 - components: - - type: Transform - pos: 42.5,-33.5 - parent: 2 - - uid: 12989 - components: - - type: Transform - pos: 42.5,-32.5 - parent: 2 - - uid: 12993 - components: - - type: Transform - pos: 40.5,-32.5 - parent: 2 - - uid: 12994 - components: - - type: Transform - pos: 40.5,-33.5 + pos: 67.5,-40.5 parent: 2 - uid: 12995 components: @@ -23533,42 +23999,42 @@ entities: - uid: 13012 components: - type: Transform - pos: 24.5,-22.5 + pos: 68.5,-40.5 parent: 2 - uid: 13013 components: - type: Transform - pos: 24.5,-21.5 + pos: 69.5,-40.5 parent: 2 - uid: 13014 components: - type: Transform - pos: 24.5,-20.5 + pos: 70.5,-40.5 parent: 2 - uid: 13015 components: - type: Transform - pos: 24.5,-19.5 + pos: 71.5,-40.5 parent: 2 - uid: 13016 components: - type: Transform - pos: 24.5,-18.5 + pos: 71.5,-41.5 parent: 2 - uid: 13017 components: - type: Transform - pos: 24.5,-17.5 + pos: 69.5,-39.5 parent: 2 - uid: 13018 components: - type: Transform - pos: 24.5,-16.5 + pos: 71.5,-39.5 parent: 2 - uid: 13019 components: - type: Transform - pos: 24.5,-15.5 + pos: 71.5,-42.5 parent: 2 - uid: 13020 components: @@ -23915,6 +24381,11 @@ entities: - type: Transform pos: -2.5,-40.5 parent: 2 + - uid: 13106 + components: + - type: Transform + pos: 71.5,-43.5 + parent: 2 - uid: 13107 components: - type: Transform @@ -24130,6 +24601,31 @@ entities: - type: Transform pos: 4.5,-37.5 parent: 2 + - uid: 13154 + components: + - type: Transform + pos: 71.5,-44.5 + parent: 2 + - uid: 13155 + components: + - type: Transform + pos: 72.5,-44.5 + parent: 2 + - uid: 13156 + components: + - type: Transform + pos: 73.5,-44.5 + parent: 2 + - uid: 13157 + components: + - type: Transform + pos: 72.5,-45.5 + parent: 2 + - uid: 13161 + components: + - type: Transform + pos: 65.5,-39.5 + parent: 2 - uid: 13174 components: - type: Transform @@ -24200,6 +24696,11 @@ entities: - type: Transform pos: 8.5,-59.5 parent: 2 + - uid: 13198 + components: + - type: Transform + pos: 65.5,-36.5 + parent: 2 - uid: 13199 components: - type: Transform @@ -24365,31 +24866,6 @@ entities: - type: Transform pos: 37.5,-88.5 parent: 2 - - uid: 13253 - components: - - type: Transform - pos: 74.5,-69.5 - parent: 2 - - uid: 13254 - components: - - type: Transform - pos: 75.5,-69.5 - parent: 2 - - uid: 13255 - components: - - type: Transform - pos: 76.5,-69.5 - parent: 2 - - uid: 13256 - components: - - type: Transform - pos: 77.5,-69.5 - parent: 2 - - uid: 13257 - components: - - type: Transform - pos: 77.5,-70.5 - parent: 2 - uid: 13258 components: - type: Transform @@ -24510,15 +24986,150 @@ entities: - type: Transform pos: 16.5,-67.5 parent: 2 - - uid: 13645 + - uid: 13634 components: - type: Transform - pos: 59.5,-74.5 + pos: 34.5,-68.5 + parent: 2 + - uid: 13689 + components: + - type: Transform + pos: 58.5,-48.5 + parent: 2 + - uid: 13690 + components: + - type: Transform + pos: 59.5,-48.5 + parent: 2 + - uid: 13691 + components: + - type: Transform + pos: 57.5,-48.5 + parent: 2 + - uid: 13692 + components: + - type: Transform + pos: 59.5,-49.5 + parent: 2 + - uid: 13693 + components: + - type: Transform + pos: 59.5,-50.5 + parent: 2 + - uid: 13694 + components: + - type: Transform + pos: 61.5,-51.5 + parent: 2 + - uid: 13695 + components: + - type: Transform + pos: 61.5,-50.5 + parent: 2 + - uid: 13696 + components: + - type: Transform + pos: 61.5,-49.5 + parent: 2 + - uid: 13697 + components: + - type: Transform + pos: 61.5,-48.5 + parent: 2 + - uid: 13698 + components: + - type: Transform + pos: 61.5,-47.5 + parent: 2 + - uid: 13699 + components: + - type: Transform + pos: 60.5,-47.5 + parent: 2 + - uid: 13700 + components: + - type: Transform + pos: 59.5,-47.5 + parent: 2 + - uid: 13701 + components: + - type: Transform + pos: 62.5,-48.5 + parent: 2 + - uid: 13721 + components: + - type: Transform + pos: 60.5,-51.5 + parent: 2 + - uid: 13789 + components: + - type: Transform + pos: 59.5,-51.5 + parent: 2 + - uid: 13790 + components: + - type: Transform + pos: 60.5,-46.5 + parent: 2 + - uid: 13791 + components: + - type: Transform + pos: 60.5,-45.5 + parent: 2 + - uid: 13792 + components: + - type: Transform + pos: 60.5,-44.5 + parent: 2 + - uid: 13793 + components: + - type: Transform + pos: 59.5,-44.5 + parent: 2 + - uid: 13797 + components: + - type: Transform + pos: 58.5,-44.5 + parent: 2 + - uid: 13798 + components: + - type: Transform + pos: 61.5,-44.5 + parent: 2 + - uid: 13799 + components: + - type: Transform + pos: 56.5,-39.5 parent: 2 - uid: 13800 components: - type: Transform - pos: 64.5,-40.5 + pos: 55.5,-39.5 + parent: 2 + - uid: 13801 + components: + - type: Transform + pos: 56.5,-36.5 + parent: 2 + - uid: 13809 + components: + - type: Transform + pos: 57.5,-36.5 + parent: 2 + - uid: 13810 + components: + - type: Transform + pos: 58.5,-36.5 + parent: 2 + - uid: 13815 + components: + - type: Transform + pos: 56.5,-31.5 + parent: 2 + - uid: 13816 + components: + - type: Transform + pos: 56.5,-30.5 parent: 2 - uid: 13817 components: @@ -24530,10 +25141,20 @@ entities: - type: Transform pos: 48.5,-52.5 parent: 2 + - uid: 13819 + components: + - type: Transform + pos: 56.5,-29.5 + parent: 2 + - uid: 13821 + components: + - type: Transform + pos: 56.5,-28.5 + parent: 2 - uid: 13822 components: - type: Transform - pos: 65.5,-42.5 + pos: 56.5,-27.5 parent: 2 - uid: 13823 components: @@ -24545,20 +25166,70 @@ entities: - type: Transform pos: 59.5,-30.5 parent: 2 + - uid: 13825 + components: + - type: Transform + pos: 56.5,-26.5 + parent: 2 + - uid: 13826 + components: + - type: Transform + pos: 69.5,-29.5 + parent: 2 + - uid: 13827 + components: + - type: Transform + pos: 67.5,-29.5 + parent: 2 + - uid: 13828 + components: + - type: Transform + pos: 70.5,-28.5 + parent: 2 + - uid: 13830 + components: + - type: Transform + pos: 65.5,-26.5 + parent: 2 + - uid: 13831 + components: + - type: Transform + pos: 65.5,-25.5 + parent: 2 + - uid: 13832 + components: + - type: Transform + pos: 65.5,-24.5 + parent: 2 + - uid: 13834 + components: + - type: Transform + pos: 66.5,-24.5 + parent: 2 + - uid: 13841 + components: + - type: Transform + pos: 69.5,-44.5 + parent: 2 + - uid: 13848 + components: + - type: Transform + pos: 68.5,-44.5 + parent: 2 + - uid: 13851 + components: + - type: Transform + pos: 67.5,-44.5 + parent: 2 - uid: 13854 components: - type: Transform - pos: 70.5,-42.5 - parent: 2 - - uid: 13858 - components: - - type: Transform - pos: 60.5,-63.5 + pos: 66.5,-44.5 parent: 2 - uid: 13862 components: - type: Transform - pos: 59.5,-64.5 + pos: 50.5,-45.5 parent: 2 - uid: 13863 components: @@ -24570,35 +25241,265 @@ entities: - type: Transform pos: 75.5,-23.5 parent: 2 + - uid: 13867 + components: + - type: Transform + pos: 51.5,-45.5 + parent: 2 + - uid: 13869 + components: + - type: Transform + pos: 51.5,-46.5 + parent: 2 + - uid: 13870 + components: + - type: Transform + pos: 51.5,-47.5 + parent: 2 + - uid: 13872 + components: + - type: Transform + pos: 51.5,-48.5 + parent: 2 + - uid: 13875 + components: + - type: Transform + pos: 52.5,-44.5 + parent: 2 + - uid: 13877 + components: + - type: Transform + pos: 53.5,-44.5 + parent: 2 + - uid: 13878 + components: + - type: Transform + pos: 59.5,-56.5 + parent: 2 + - uid: 13882 + components: + - type: Transform + pos: 53.5,-43.5 + parent: 2 + - uid: 13894 + components: + - type: Transform + pos: 55.5,-43.5 + parent: 2 + - uid: 13895 + components: + - type: Transform + pos: 55.5,-42.5 + parent: 2 + - uid: 13896 + components: + - type: Transform + pos: 56.5,-42.5 + parent: 2 + - uid: 13897 + components: + - type: Transform + pos: 57.5,-42.5 + parent: 2 + - uid: 13898 + components: + - type: Transform + pos: 58.5,-42.5 + parent: 2 + - uid: 13902 + components: + - type: Transform + pos: 59.5,-42.5 + parent: 2 + - uid: 13907 + components: + - type: Transform + pos: 58.5,-65.5 + parent: 2 + - uid: 13910 + components: + - type: Transform + pos: 60.5,-42.5 + parent: 2 + - uid: 13915 + components: + - type: Transform + pos: 61.5,-42.5 + parent: 2 - uid: 13916 components: - type: Transform pos: 31.5,-70.5 parent: 2 + - uid: 13917 + components: + - type: Transform + pos: 55.5,-46.5 + parent: 2 + - uid: 13920 + components: + - type: Transform + pos: 55.5,-47.5 + parent: 2 + - uid: 13921 + components: + - type: Transform + pos: 55.5,-48.5 + parent: 2 + - uid: 13922 + components: + - type: Transform + pos: 55.5,-49.5 + parent: 2 + - uid: 13923 + components: + - type: Transform + pos: 55.5,-50.5 + parent: 2 + - uid: 13924 + components: + - type: Transform + pos: 55.5,-51.5 + parent: 2 + - uid: 13925 + components: + - type: Transform + pos: 55.5,-52.5 + parent: 2 + - uid: 13926 + components: + - type: Transform + pos: 62.5,-59.5 + parent: 2 + - uid: 13927 + components: + - type: Transform + pos: 56.5,-53.5 + parent: 2 + - uid: 13928 + components: + - type: Transform + pos: 59.5,-59.5 + parent: 2 + - uid: 13929 + components: + - type: Transform + pos: 57.5,-54.5 + parent: 2 + - uid: 13930 + components: + - type: Transform + pos: 58.5,-54.5 + parent: 2 + - uid: 13931 + components: + - type: Transform + pos: 58.5,-55.5 + parent: 2 + - uid: 13933 + components: + - type: Transform + pos: 59.5,-55.5 + parent: 2 + - uid: 13934 + components: + - type: Transform + pos: 54.5,-43.5 + parent: 2 + - uid: 13935 + components: + - type: Transform + pos: 60.5,-56.5 + parent: 2 + - uid: 13936 + components: + - type: Transform + pos: 61.5,-56.5 + parent: 2 + - uid: 13937 + components: + - type: Transform + pos: 62.5,-56.5 + parent: 2 + - uid: 13940 + components: + - type: Transform + pos: 63.5,-56.5 + parent: 2 + - uid: 13986 + components: + - type: Transform + pos: 64.5,-56.5 + parent: 2 + - uid: 14082 + components: + - type: Transform + pos: 60.5,-57.5 + parent: 2 + - uid: 14083 + components: + - type: Transform + pos: 60.5,-58.5 + parent: 2 - uid: 14086 components: - type: Transform - pos: 64.5,-37.5 - parent: 2 - - uid: 14093 - components: - - type: Transform - pos: 78.5,-40.5 + pos: 60.5,-59.5 parent: 2 - uid: 14096 components: - type: Transform pos: 78.5,-39.5 parent: 2 + - uid: 14118 + components: + - type: Transform + pos: 73.5,-58.5 + parent: 2 - uid: 14199 components: - type: Transform pos: -34.5,-10.5 parent: 2 + - uid: 14200 + components: + - type: Transform + pos: 77.5,-36.5 + parent: 2 - uid: 14212 components: - type: Transform - pos: 50.5,-51.5 + pos: 72.5,-58.5 + parent: 2 + - uid: 14240 + components: + - type: Transform + pos: 72.5,-57.5 + parent: 2 + - uid: 14247 + components: + - type: Transform + pos: 71.5,-57.5 + parent: 2 + - uid: 14248 + components: + - type: Transform + pos: 70.5,-57.5 + parent: 2 + - uid: 14249 + components: + - type: Transform + pos: 70.5,-56.5 + parent: 2 + - uid: 14250 + components: + - type: Transform + pos: 66.5,-56.5 + parent: 2 + - uid: 14254 + components: + - type: Transform + pos: 61.5,-59.5 parent: 2 - uid: 14257 components: @@ -24608,17 +25509,62 @@ entities: - uid: 14261 components: - type: Transform - pos: 52.5,-50.5 + pos: 75.5,-58.5 parent: 2 - - uid: 14297 + - uid: 14263 components: - type: Transform - pos: 72.5,-35.5 + pos: 73.5,-63.5 parent: 2 - - uid: 14298 + - uid: 14265 components: - type: Transform - pos: 31.5,-68.5 + pos: 73.5,-64.5 + parent: 2 + - uid: 14275 + components: + - type: Transform + pos: 72.5,-64.5 + parent: 2 + - uid: 14276 + components: + - type: Transform + pos: 71.5,-64.5 + parent: 2 + - uid: 14277 + components: + - type: Transform + pos: 70.5,-64.5 + parent: 2 + - uid: 14279 + components: + - type: Transform + pos: 70.5,-65.5 + parent: 2 + - uid: 14281 + components: + - type: Transform + pos: 70.5,-66.5 + parent: 2 + - uid: 14282 + components: + - type: Transform + pos: 70.5,-67.5 + parent: 2 + - uid: 14287 + components: + - type: Transform + pos: 70.5,-68.5 + parent: 2 + - uid: 14290 + components: + - type: Transform + pos: 70.5,-69.5 + parent: 2 + - uid: 14295 + components: + - type: Transform + pos: 70.5,-70.5 parent: 2 - uid: 14299 components: @@ -24640,6 +25586,16 @@ entities: - type: Transform pos: 31.5,-64.5 parent: 2 + - uid: 14304 + components: + - type: Transform + pos: 70.5,-71.5 + parent: 2 + - uid: 14308 + components: + - type: Transform + pos: 79.5,-61.5 + parent: 2 - uid: 14309 components: - type: Transform @@ -24660,6 +25616,41 @@ entities: - type: Transform pos: 65.5,-29.5 parent: 2 + - uid: 14316 + components: + - type: Transform + pos: 61.5,-72.5 + parent: 2 + - uid: 14317 + components: + - type: Transform + pos: 67.5,-66.5 + parent: 2 + - uid: 14320 + components: + - type: Transform + pos: 55.5,-53.5 + parent: 2 + - uid: 14321 + components: + - type: Transform + pos: 56.5,-54.5 + parent: 2 + - uid: 14327 + components: + - type: Transform + pos: 60.5,-72.5 + parent: 2 + - uid: 14328 + components: + - type: Transform + pos: 50.5,-41.5 + parent: 2 + - uid: 14331 + components: + - type: Transform + pos: 49.5,-41.5 + parent: 2 - uid: 14333 components: - type: Transform @@ -24670,20 +25661,85 @@ entities: - type: Transform pos: 70.5,-20.5 parent: 2 + - uid: 14343 + components: + - type: Transform + pos: 48.5,-41.5 + parent: 2 + - uid: 14344 + components: + - type: Transform + pos: 48.5,-40.5 + parent: 2 - uid: 14345 components: - type: Transform pos: 70.5,-21.5 parent: 2 + - uid: 14350 + components: + - type: Transform + pos: 48.5,-39.5 + parent: 2 + - uid: 14352 + components: + - type: Transform + pos: 48.5,-38.5 + parent: 2 + - uid: 14353 + components: + - type: Transform + pos: 58.5,-74.5 + parent: 2 + - uid: 14355 + components: + - type: Transform + pos: 75.5,-47.5 + parent: 2 - uid: 14356 components: - type: Transform pos: 65.5,-18.5 parent: 2 + - uid: 14357 + components: + - type: Transform + pos: 47.5,-38.5 + parent: 2 + - uid: 14358 + components: + - type: Transform + pos: 50.5,-29.5 + parent: 2 + - uid: 14362 + components: + - type: Transform + pos: 49.5,-29.5 + parent: 2 + - uid: 14363 + components: + - type: Transform + pos: 47.5,-37.5 + parent: 2 + - uid: 14386 + components: + - type: Transform + pos: 48.5,-42.5 + parent: 2 + - uid: 14393 + components: + - type: Transform + pos: 48.5,-43.5 + parent: 2 + - uid: 14406 + components: + - type: Transform + pos: 47.5,-43.5 + parent: 2 - uid: 14410 components: - type: Transform - pos: 60.5,-38.5 + pos: 44.5,-49.5 parent: 2 - uid: 14422 components: @@ -24705,31 +25761,236 @@ entities: - type: Transform pos: 85.5,-22.5 parent: 2 + - uid: 14427 + components: + - type: Transform + pos: 45.5,-49.5 + parent: 2 + - uid: 14428 + components: + - type: Transform + pos: 46.5,-43.5 + parent: 2 + - uid: 14450 + components: + - type: Transform + pos: 46.5,-44.5 + parent: 2 + - uid: 14555 + components: + - type: Transform + pos: 46.5,-45.5 + parent: 2 + - uid: 14574 + components: + - type: Transform + pos: 46.5,-46.5 + parent: 2 + - uid: 14582 + components: + - type: Transform + pos: 47.5,-46.5 + parent: 2 + - uid: 14583 + components: + - type: Transform + pos: 48.5,-46.5 + parent: 2 + - uid: 14585 + components: + - type: Transform + pos: 48.5,-45.5 + parent: 2 + - uid: 14588 + components: + - type: Transform + pos: 38.5,-34.5 + parent: 2 + - uid: 14601 + components: + - type: Transform + pos: 39.5,-34.5 + parent: 2 + - uid: 14602 + components: + - type: Transform + pos: 32.5,-19.5 + parent: 2 + - uid: 14622 + components: + - type: Transform + pos: 31.5,-19.5 + parent: 2 + - uid: 14641 + components: + - type: Transform + pos: 31.5,-18.5 + parent: 2 + - uid: 14668 + components: + - type: Transform + pos: 31.5,-17.5 + parent: 2 + - uid: 14669 + components: + - type: Transform + pos: 31.5,-16.5 + parent: 2 + - uid: 14679 + components: + - type: Transform + pos: 31.5,-15.5 + parent: 2 - uid: 14689 components: - type: Transform pos: -30.5,-13.5 parent: 2 + - uid: 14694 + components: + - type: Transform + pos: 31.5,-14.5 + parent: 2 + - uid: 14698 + components: + - type: Transform + pos: 31.5,-12.5 + parent: 2 + - uid: 14700 + components: + - type: Transform + pos: 31.5,-13.5 + parent: 2 + - uid: 14724 + components: + - type: Transform + pos: 32.5,-15.5 + parent: 2 + - uid: 14732 + components: + - type: Transform + pos: 33.5,-15.5 + parent: 2 + - uid: 14733 + components: + - type: Transform + pos: 34.5,-15.5 + parent: 2 - uid: 14734 components: - type: Transform pos: 59.5,-28.5 parent: 2 + - uid: 14735 + components: + - type: Transform + pos: 35.5,-15.5 + parent: 2 + - uid: 14736 + components: + - type: Transform + pos: 35.5,-14.5 + parent: 2 - uid: 14750 components: - type: Transform pos: 67.5,-28.5 parent: 2 + - uid: 14760 + components: + - type: Transform + pos: 35.5,-13.5 + parent: 2 + - uid: 14762 + components: + - type: Transform + pos: 55.5,-100.5 + parent: 2 + - uid: 14763 + components: + - type: Transform + pos: 55.5,-99.5 + parent: 2 + - uid: 14772 + components: + - type: Transform + pos: 35.5,-12.5 + parent: 2 - uid: 14802 components: - type: Transform pos: -17.5,-52.5 parent: 2 + - uid: 14804 + components: + - type: Transform + pos: 30.5,-15.5 + parent: 2 - uid: 14813 components: - type: Transform pos: 65.5,-30.5 parent: 2 + - uid: 14814 + components: + - type: Transform + pos: 31.5,-20.5 + parent: 2 + - uid: 14823 + components: + - type: Transform + pos: 30.5,-18.5 + parent: 2 + - uid: 14824 + components: + - type: Transform + pos: 29.5,-18.5 + parent: 2 + - uid: 14831 + components: + - type: Transform + pos: 35.5,-16.5 + parent: 2 + - uid: 14832 + components: + - type: Transform + pos: 35.5,-17.5 + parent: 2 + - uid: 14874 + components: + - type: Transform + pos: 35.5,-18.5 + parent: 2 + - uid: 14875 + components: + - type: Transform + pos: 29.5,-23.5 + parent: 2 + - uid: 14917 + components: + - type: Transform + pos: 35.5,-19.5 + parent: 2 + - uid: 14922 + components: + - type: Transform + pos: 35.5,-20.5 + parent: 2 + - uid: 14923 + components: + - type: Transform + pos: 35.5,-21.5 + parent: 2 + - uid: 14925 + components: + - type: Transform + pos: 30.5,-23.5 + parent: 2 + - uid: 14956 + components: + - type: Transform + pos: 31.5,-23.5 + parent: 2 - uid: 14986 components: - type: Transform @@ -24810,305 +26071,80 @@ entities: - type: Transform pos: 19.5,-60.5 parent: 2 + - uid: 15127 + components: + - type: Transform + pos: 75.5,-68.5 + parent: 2 + - uid: 15129 + components: + - type: Transform + pos: 32.5,-23.5 + parent: 2 + - uid: 15137 + components: + - type: Transform + pos: 33.5,-23.5 + parent: 2 + - uid: 15138 + components: + - type: Transform + pos: 34.5,-23.5 + parent: 2 + - uid: 15139 + components: + - type: Transform + pos: 35.5,-23.5 + parent: 2 + - uid: 15140 + components: + - type: Transform + pos: 75.5,-67.5 + parent: 2 - uid: 15141 components: - type: Transform pos: -15.5,-16.5 parent: 2 - - uid: 15146 + - uid: 15145 components: - type: Transform - pos: 67.5,-42.5 + pos: 36.5,-23.5 + parent: 2 + - uid: 15147 + components: + - type: Transform + pos: 72.5,-70.5 parent: 2 - uid: 15149 components: - type: Transform - pos: 34.5,-26.5 + pos: 72.5,-74.5 parent: 2 - uid: 15150 components: - type: Transform - pos: 35.5,-26.5 - parent: 2 - - uid: 15151 - components: - - type: Transform - pos: 36.5,-26.5 - parent: 2 - - uid: 15152 - components: - - type: Transform - pos: 37.5,-26.5 - parent: 2 - - uid: 15153 - components: - - type: Transform - pos: 38.5,-26.5 - parent: 2 - - uid: 15154 - components: - - type: Transform - pos: 39.5,-26.5 - parent: 2 - - uid: 15155 - components: - - type: Transform - pos: 40.5,-26.5 - parent: 2 - - uid: 15156 - components: - - type: Transform - pos: 41.5,-26.5 - parent: 2 - - uid: 15157 - components: - - type: Transform - pos: 42.5,-26.5 - parent: 2 - - uid: 15161 - components: - - type: Transform - pos: 45.5,-25.5 - parent: 2 - - uid: 15162 - components: - - type: Transform - pos: 44.5,-30.5 - parent: 2 - - uid: 15163 - components: - - type: Transform - pos: 49.5,-30.5 - parent: 2 - - uid: 15164 - components: - - type: Transform - pos: 49.5,-29.5 - parent: 2 - - uid: 15166 - components: - - type: Transform - pos: 44.5,-26.5 - parent: 2 - - uid: 15167 - components: - - type: Transform - pos: 44.5,-25.5 - parent: 2 - - uid: 15168 - components: - - type: Transform - pos: 46.5,-25.5 - parent: 2 - - uid: 15169 - components: - - type: Transform - pos: 46.5,-26.5 - parent: 2 - - uid: 15170 - components: - - type: Transform - pos: 46.5,-27.5 - parent: 2 - - uid: 15176 - components: - - type: Transform - pos: 48.5,-27.5 - parent: 2 - - uid: 15181 - components: - - type: Transform - pos: 52.5,-26.5 - parent: 2 - - uid: 15182 - components: - - type: Transform - pos: 53.5,-26.5 + pos: 72.5,-73.5 parent: 2 - uid: 15183 components: - type: Transform - pos: 54.5,-26.5 + pos: 84.5,-44.5 parent: 2 - uid: 15184 components: - type: Transform - pos: 55.5,-26.5 + pos: 85.5,-44.5 parent: 2 - uid: 15185 components: - type: Transform - pos: 55.5,-27.5 + pos: 84.5,-46.5 parent: 2 - uid: 15186 components: - type: Transform - pos: 55.5,-28.5 - parent: 2 - - uid: 15187 - components: - - type: Transform - pos: 55.5,-29.5 - parent: 2 - - uid: 15188 - components: - - type: Transform - pos: 55.5,-30.5 - parent: 2 - - uid: 15189 - components: - - type: Transform - pos: 55.5,-31.5 - parent: 2 - - uid: 15190 - components: - - type: Transform - pos: 55.5,-32.5 - parent: 2 - - uid: 15191 - components: - - type: Transform - pos: 54.5,-32.5 - parent: 2 - - uid: 15192 - components: - - type: Transform - pos: 53.5,-32.5 - parent: 2 - - uid: 15193 - components: - - type: Transform - pos: 52.5,-32.5 - parent: 2 - - uid: 15194 - components: - - type: Transform - pos: 52.5,-33.5 - parent: 2 - - uid: 15195 - components: - - type: Transform - pos: 52.5,-34.5 - parent: 2 - - uid: 15196 - components: - - type: Transform - pos: 53.5,-34.5 - parent: 2 - - uid: 15197 - components: - - type: Transform - pos: 54.5,-34.5 - parent: 2 - - uid: 15198 - components: - - type: Transform - pos: 55.5,-34.5 - parent: 2 - - uid: 15199 - components: - - type: Transform - pos: 55.5,-35.5 - parent: 2 - - uid: 15200 - components: - - type: Transform - pos: 55.5,-36.5 - parent: 2 - - uid: 15201 - components: - - type: Transform - pos: 49.5,-44.5 - parent: 2 - - uid: 15202 - components: - - type: Transform - pos: 50.5,-44.5 - parent: 2 - - uid: 15203 - components: - - type: Transform - pos: 51.5,-44.5 - parent: 2 - - uid: 15204 - components: - - type: Transform - pos: 52.5,-44.5 - parent: 2 - - uid: 15205 - components: - - type: Transform - pos: 53.5,-44.5 - parent: 2 - - uid: 15206 - components: - - type: Transform - pos: 54.5,-44.5 - parent: 2 - - uid: 15207 - components: - - type: Transform - pos: 55.5,-44.5 - parent: 2 - - uid: 15208 - components: - - type: Transform - pos: 55.5,-43.5 - parent: 2 - - uid: 15209 - components: - - type: Transform - pos: 55.5,-42.5 - parent: 2 - - uid: 15210 - components: - - type: Transform - pos: 55.5,-41.5 - parent: 2 - - uid: 15211 - components: - - type: Transform - pos: 55.5,-40.5 - parent: 2 - - uid: 15212 - components: - - type: Transform - pos: 55.5,-39.5 - parent: 2 - - uid: 15213 - components: - - type: Transform - pos: 55.5,-38.5 - parent: 2 - - uid: 15214 - components: - - type: Transform - pos: 54.5,-36.5 - parent: 2 - - uid: 15215 - components: - - type: Transform - pos: 53.5,-36.5 - parent: 2 - - uid: 15216 - components: - - type: Transform - pos: 52.5,-36.5 - parent: 2 - - uid: 15217 - components: - - type: Transform - pos: 52.5,-38.5 - parent: 2 - - uid: 15218 - components: - - type: Transform - pos: 53.5,-38.5 - parent: 2 - - uid: 15219 - components: - - type: Transform - pos: 54.5,-38.5 + pos: 85.5,-46.5 parent: 2 - uid: 15263 components: @@ -25145,46 +26181,111 @@ entities: - type: Transform pos: 60.5,-28.5 parent: 2 + - uid: 15400 + components: + - type: Transform + pos: 79.5,-60.5 + parent: 2 - uid: 15407 components: - type: Transform pos: 49.5,-76.5 parent: 2 - - uid: 15408 - components: - - type: Transform - pos: 55.5,-75.5 - parent: 2 - - uid: 15438 - components: - - type: Transform - pos: 64.5,-36.5 - parent: 2 - uid: 15439 components: - type: Transform pos: 68.5,-28.5 parent: 2 - - uid: 15454 + - uid: 15463 components: - type: Transform - pos: 74.5,-44.5 + pos: 62.5,-60.5 + parent: 2 + - uid: 15464 + components: + - type: Transform + pos: 63.5,-60.5 + parent: 2 + - uid: 15465 + components: + - type: Transform + pos: 64.5,-60.5 parent: 2 - uid: 15468 components: - type: Transform pos: 61.5,-28.5 parent: 2 - - uid: 15469 + - uid: 15473 components: - type: Transform - pos: 64.5,-32.5 + pos: 65.5,-57.5 + parent: 2 + - uid: 15474 + components: + - type: Transform + pos: 65.5,-56.5 parent: 2 - uid: 15511 components: - type: Transform pos: 29.5,-35.5 parent: 2 + - uid: 15850 + components: + - type: Transform + pos: 48.5,-28.5 + parent: 2 + - uid: 15851 + components: + - type: Transform + pos: 48.5,-27.5 + parent: 2 + - uid: 15854 + components: + - type: Transform + pos: 48.5,-30.5 + parent: 2 + - uid: 15855 + components: + - type: Transform + pos: 48.5,-31.5 + parent: 2 + - uid: 15884 + components: + - type: Transform + pos: 40.5,-34.5 + parent: 2 + - uid: 15893 + components: + - type: Transform + pos: 41.5,-34.5 + parent: 2 + - uid: 15908 + components: + - type: Transform + pos: 41.5,-33.5 + parent: 2 + - uid: 15909 + components: + - type: Transform + pos: 41.5,-32.5 + parent: 2 + - uid: 15911 + components: + - type: Transform + pos: 42.5,-32.5 + parent: 2 + - uid: 16036 + components: + - type: Transform + pos: 65.5,-58.5 + parent: 2 + - uid: 16037 + components: + - type: Transform + pos: 67.5,-56.5 + parent: 2 - uid: 16043 components: - type: Transform @@ -25195,41 +26296,16 @@ entities: - type: Transform pos: 46.5,-63.5 parent: 2 - - uid: 16117 + - uid: 16155 components: - type: Transform - pos: 30.5,-31.5 + pos: 6.5,-59.5 parent: 2 - uid: 16232 components: - type: Transform pos: -18.5,-20.5 parent: 2 - - uid: 16240 - components: - - type: Transform - pos: 71.5,-42.5 - parent: 2 - - uid: 16247 - components: - - type: Transform - pos: 64.5,-35.5 - parent: 2 - - uid: 16252 - components: - - type: Transform - pos: 66.5,-42.5 - parent: 2 - - uid: 16259 - components: - - type: Transform - pos: 68.5,-42.5 - parent: 2 - - uid: 16270 - components: - - type: Transform - pos: 64.5,-38.5 - parent: 2 - uid: 16275 components: - type: Transform @@ -25515,11 +26591,6 @@ entities: - type: Transform pos: -7.5,-8.5 parent: 2 - - uid: 16453 - components: - - type: Transform - pos: 60.5,-68.5 - parent: 2 - uid: 16455 components: - type: Transform @@ -25535,11 +26606,6 @@ entities: - type: Transform pos: -10.5,-16.5 parent: 2 - - uid: 16552 - components: - - type: Transform - pos: 3.5,-60.5 - parent: 2 - uid: 16553 components: - type: Transform @@ -25575,16 +26641,6 @@ entities: - type: Transform pos: -37.5,-35.5 parent: 2 - - uid: 16590 - components: - - type: Transform - pos: 66.5,-62.5 - parent: 2 - - uid: 16591 - components: - - type: Transform - pos: 66.5,-63.5 - parent: 2 - uid: 16613 components: - type: Transform @@ -25810,11 +26866,6 @@ entities: - type: Transform pos: 50.5,-52.5 parent: 2 - - uid: 17472 - components: - - type: Transform - pos: 59.5,-48.5 - parent: 2 - uid: 17485 components: - type: Transform @@ -25915,11 +26966,6 @@ entities: - type: Transform pos: 37.5,-75.5 parent: 2 - - uid: 17508 - components: - - type: Transform - pos: 38.5,-75.5 - parent: 2 - uid: 17509 components: - type: Transform @@ -25965,10 +27011,15 @@ entities: - type: Transform pos: -15.5,-71.5 parent: 2 - - uid: 17650 + - uid: 17728 components: - type: Transform - pos: 84.5,-47.5 + pos: 33.5,-68.5 + parent: 2 + - uid: 17729 + components: + - type: Transform + pos: 35.5,-68.5 parent: 2 - uid: 17735 components: @@ -26000,11 +27051,6 @@ entities: - type: Transform pos: 28.5,-82.5 parent: 2 - - uid: 17767 - components: - - type: Transform - pos: 85.5,-41.5 - parent: 2 - uid: 17830 components: - type: Transform @@ -26055,21 +27101,6 @@ entities: - type: Transform pos: 69.5,-23.5 parent: 2 - - uid: 17896 - components: - - type: Transform - pos: 57.5,-68.5 - parent: 2 - - uid: 17897 - components: - - type: Transform - pos: 58.5,-68.5 - parent: 2 - - uid: 17898 - components: - - type: Transform - pos: 59.5,-68.5 - parent: 2 - uid: 17932 components: - type: Transform @@ -26115,16 +27146,6 @@ entities: - type: Transform pos: 20.5,-51.5 parent: 2 - - uid: 17990 - components: - - type: Transform - pos: 85.5,-49.5 - parent: 2 - - uid: 17992 - components: - - type: Transform - pos: 72.5,-34.5 - parent: 2 - uid: 18008 components: - type: Transform @@ -26135,21 +27156,6 @@ entities: - type: Transform pos: 83.5,-44.5 parent: 2 - - uid: 18029 - components: - - type: Transform - pos: 64.5,-31.5 - parent: 2 - - uid: 18037 - components: - - type: Transform - pos: 59.5,-35.5 - parent: 2 - - uid: 18038 - components: - - type: Transform - pos: 59.5,-36.5 - parent: 2 - uid: 18104 components: - type: Transform @@ -26180,21 +27186,6 @@ entities: - type: Transform pos: 50.5,-53.5 parent: 2 - - uid: 18165 - components: - - type: Transform - pos: 58.5,-63.5 - parent: 2 - - uid: 18212 - components: - - type: Transform - pos: 72.5,-37.5 - parent: 2 - - uid: 18228 - components: - - type: Transform - pos: 50.5,-50.5 - parent: 2 - uid: 18234 components: - type: Transform @@ -26235,16 +27226,6 @@ entities: - type: Transform pos: 59.5,-20.5 parent: 2 - - uid: 18363 - components: - - type: Transform - pos: 53.5,-50.5 - parent: 2 - - uid: 18364 - components: - - type: Transform - pos: 59.5,-47.5 - parent: 2 - uid: 18381 components: - type: Transform @@ -26305,26 +27286,6 @@ entities: - type: Transform pos: -0.5,-12.5 parent: 2 - - uid: 18398 - components: - - type: Transform - pos: 30.5,-13.5 - parent: 2 - - uid: 18399 - components: - - type: Transform - pos: 30.5,-12.5 - parent: 2 - - uid: 18400 - components: - - type: Transform - pos: 30.5,-11.5 - parent: 2 - - uid: 18405 - components: - - type: Transform - pos: 30.5,-10.5 - parent: 2 - uid: 18407 components: - type: Transform @@ -26365,16 +27326,6 @@ entities: - type: Transform pos: -45.5,-35.5 parent: 2 - - uid: 18419 - components: - - type: Transform - pos: 90.5,-48.5 - parent: 2 - - uid: 18420 - components: - - type: Transform - pos: 90.5,-42.5 - parent: 2 - uid: 18421 components: - type: Transform @@ -26430,11 +27381,6 @@ entities: - type: Transform pos: 69.5,-24.5 parent: 2 - - uid: 18464 - components: - - type: Transform - pos: 83.5,-43.5 - parent: 2 - uid: 18499 components: - type: Transform @@ -26450,31 +27396,11 @@ entities: - type: Transform pos: 28.5,-32.5 parent: 2 - - uid: 18505 - components: - - type: Transform - pos: 28.5,-31.5 - parent: 2 - - uid: 18507 - components: - - type: Transform - pos: 31.5,-31.5 - parent: 2 - - uid: 18508 - components: - - type: Transform - pos: 38.5,-30.5 - parent: 2 - uid: 18510 components: - type: Transform pos: 32.5,-38.5 parent: 2 - - uid: 18511 - components: - - type: Transform - pos: 38.5,-29.5 - parent: 2 - uid: 18514 components: - type: Transform @@ -26485,31 +27411,11 @@ entities: - type: Transform pos: 33.5,-35.5 parent: 2 - - uid: 18516 - components: - - type: Transform - pos: 29.5,-31.5 - parent: 2 - - uid: 18517 - components: - - type: Transform - pos: 29.5,-34.5 - parent: 2 - - uid: 18519 - components: - - type: Transform - pos: 32.5,-31.5 - parent: 2 - uid: 18524 components: - type: Transform pos: 46.5,-76.5 parent: 2 - - uid: 18633 - components: - - type: Transform - pos: 54.5,-50.5 - parent: 2 - uid: 18695 components: - type: Transform @@ -26525,20 +27431,40 @@ entities: - type: Transform pos: 84.5,-68.5 parent: 2 - - uid: 18740 - components: - - type: Transform - pos: 59.5,-79.5 - parent: 2 - uid: 18771 components: - type: Transform pos: -57.5,-68.5 parent: 2 - - uid: 18816 + - uid: 18838 components: - type: Transform - pos: 68.5,-24.5 + pos: 35.5,-69.5 + parent: 2 + - uid: 18839 + components: + - type: Transform + pos: 51.5,-67.5 + parent: 2 + - uid: 18840 + components: + - type: Transform + pos: 51.5,-68.5 + parent: 2 + - uid: 18853 + components: + - type: Transform + pos: 52.5,-68.5 + parent: 2 + - uid: 18891 + components: + - type: Transform + pos: 21.5,-19.5 + parent: 2 + - uid: 18915 + components: + - type: Transform + pos: 22.5,-19.5 parent: 2 - uid: 18916 components: @@ -26615,6 +27541,21 @@ entities: - type: Transform pos: 43.5,-63.5 parent: 2 + - uid: 18934 + components: + - type: Transform + pos: 22.5,-18.5 + parent: 2 + - uid: 19061 + components: + - type: Transform + pos: 22.5,-17.5 + parent: 2 + - uid: 19062 + components: + - type: Transform + pos: 22.5,-16.5 + parent: 2 - uid: 19068 components: - type: Transform @@ -26845,31 +27786,6 @@ entities: - type: Transform pos: -4.5,-20.5 parent: 2 - - uid: 19244 - components: - - type: Transform - pos: 74.5,-49.5 - parent: 2 - - uid: 19245 - components: - - type: Transform - pos: 74.5,-48.5 - parent: 2 - - uid: 19246 - components: - - type: Transform - pos: 74.5,-47.5 - parent: 2 - - uid: 19247 - components: - - type: Transform - pos: 74.5,-46.5 - parent: 2 - - uid: 19248 - components: - - type: Transform - pos: 74.5,-45.5 - parent: 2 - uid: 19310 components: - type: Transform @@ -27055,6 +27971,156 @@ entities: - type: Transform pos: 95.5,-47.5 parent: 2 + - uid: 19730 + components: + - type: Transform + pos: 52.5,-103.5 + parent: 2 + - uid: 19755 + components: + - type: Transform + pos: 53.5,-37.5 + parent: 2 + - uid: 19756 + components: + - type: Transform + pos: 54.5,-37.5 + parent: 2 + - uid: 19757 + components: + - type: Transform + pos: 51.5,-38.5 + parent: 2 + - uid: 19936 + components: + - type: Transform + pos: 24.5,-15.5 + parent: 2 + - uid: 19937 + components: + - type: Transform + pos: 28.5,-12.5 + parent: 2 + - uid: 19938 + components: + - type: Transform + pos: 26.5,-13.5 + parent: 2 + - uid: 19939 + components: + - type: Transform + pos: 26.5,-14.5 + parent: 2 + - uid: 19940 + components: + - type: Transform + pos: 26.5,-15.5 + parent: 2 + - uid: 19941 + components: + - type: Transform + pos: 22.5,-11.5 + parent: 2 + - uid: 19942 + components: + - type: Transform + pos: 22.5,-10.5 + parent: 2 + - uid: 19943 + components: + - type: Transform + pos: 26.5,-11.5 + parent: 2 + - uid: 19944 + components: + - type: Transform + pos: 26.5,-10.5 + parent: 2 + - uid: 19945 + components: + - type: Transform + pos: 16.5,-12.5 + parent: 2 + - uid: 19946 + components: + - type: Transform + pos: 26.5,-16.5 + parent: 2 + - uid: 19947 + components: + - type: Transform + pos: 26.5,-17.5 + parent: 2 + - uid: 19948 + components: + - type: Transform + pos: 26.5,-18.5 + parent: 2 + - uid: 19949 + components: + - type: Transform + pos: 26.5,-19.5 + parent: 2 + - uid: 19950 + components: + - type: Transform + pos: 26.5,-20.5 + parent: 2 + - uid: 19951 + components: + - type: Transform + pos: 75.5,-42.5 + parent: 2 + - uid: 19956 + components: + - type: Transform + pos: 31.5,-69.5 + parent: 2 + - uid: 19957 + components: + - type: Transform + pos: 32.5,-70.5 + parent: 2 + - uid: 19958 + components: + - type: Transform + pos: 33.5,-70.5 + parent: 2 + - uid: 19959 + components: + - type: Transform + pos: 32.5,-67.5 + parent: 2 + - uid: 19960 + components: + - type: Transform + pos: 28.5,-74.5 + parent: 2 + - uid: 19966 + components: + - type: Transform + pos: -50.5,-25.5 + parent: 2 + - uid: 19967 + components: + - type: Transform + pos: -51.5,-25.5 + parent: 2 + - uid: 19968 + components: + - type: Transform + pos: -52.5,-25.5 + parent: 2 + - uid: 19969 + components: + - type: Transform + pos: -53.5,-25.5 + parent: 2 + - uid: 20081 + components: + - type: Transform + pos: 60.5,-67.5 + parent: 2 - proto: CableApcStack entities: - uid: 9765 @@ -27069,10 +28135,10 @@ entities: parent: 2 - proto: CableHV entities: - - uid: 717 + - uid: 325 components: - type: Transform - pos: 49.5,-52.5 + pos: 46.5,-48.5 parent: 2 - uid: 718 components: @@ -27084,16 +28150,6 @@ entities: - type: Transform pos: 24.5,-74.5 parent: 2 - - uid: 739 - components: - - type: Transform - pos: 63.5,-43.5 - parent: 2 - - uid: 748 - components: - - type: Transform - pos: 63.5,-45.5 - parent: 2 - uid: 868 components: - type: Transform @@ -27119,15 +28175,10 @@ entities: - type: Transform pos: -29.5,-48.5 parent: 2 - - uid: 1113 + - uid: 1447 components: - type: Transform - pos: 63.5,-41.5 - parent: 2 - - uid: 1196 - components: - - type: Transform - pos: 63.5,-42.5 + pos: 37.5,-12.5 parent: 2 - uid: 1483 components: @@ -27149,15 +28200,15 @@ entities: - type: Transform pos: 40.5,-13.5 parent: 2 - - uid: 1849 + - uid: 1885 components: - type: Transform - pos: 51.5,-52.5 + pos: 55.5,-28.5 parent: 2 - - uid: 1877 + - uid: 2146 components: - type: Transform - pos: 63.5,-40.5 + pos: 33.5,-32.5 parent: 2 - uid: 2276 components: @@ -27174,36 +28225,101 @@ entities: - type: Transform pos: -10.5,-43.5 parent: 2 - - uid: 2739 + - uid: 2735 components: - type: Transform - pos: 48.5,-53.5 + pos: 78.5,-31.5 + parent: 2 + - uid: 2756 + components: + - type: Transform + pos: 55.5,-31.5 parent: 2 - uid: 2890 components: - type: Transform pos: 41.5,-13.5 parent: 2 + - uid: 2920 + components: + - type: Transform + pos: 53.5,-29.5 + parent: 2 - uid: 2941 components: - type: Transform pos: 42.5,-13.5 parent: 2 + - uid: 2943 + components: + - type: Transform + pos: 55.5,-26.5 + parent: 2 + - uid: 2948 + components: + - type: Transform + pos: 53.5,-31.5 + parent: 2 - uid: 3036 components: - type: Transform pos: 39.5,-13.5 parent: 2 + - uid: 3055 + components: + - type: Transform + pos: 46.5,-42.5 + parent: 2 + - uid: 3068 + components: + - type: Transform + pos: 55.5,-30.5 + parent: 2 - uid: 3075 components: - type: Transform pos: 67.5,-19.5 parent: 2 + - uid: 3079 + components: + - type: Transform + pos: 36.5,-32.5 + parent: 2 + - uid: 3080 + components: + - type: Transform + pos: 34.5,-32.5 + parent: 2 + - uid: 3117 + components: + - type: Transform + pos: 102.5,-46.5 + parent: 2 + - uid: 3118 + components: + - type: Transform + pos: 102.5,-48.5 + parent: 2 + - uid: 3158 + components: + - type: Transform + pos: 102.5,-47.5 + parent: 2 - uid: 3212 components: - type: Transform pos: -10.5,-41.5 parent: 2 + - uid: 3325 + components: + - type: Transform + pos: 53.5,-30.5 + parent: 2 + - uid: 3327 + components: + - type: Transform + pos: 55.5,-27.5 + parent: 2 - uid: 3339 components: - type: Transform @@ -27239,16 +28355,51 @@ entities: - type: Transform pos: -29.5,-74.5 parent: 2 + - uid: 3392 + components: + - type: Transform + pos: 46.5,-40.5 + parent: 2 + - uid: 3398 + components: + - type: Transform + pos: 49.5,-29.5 + parent: 2 + - uid: 3401 + components: + - type: Transform + pos: 55.5,-29.5 + parent: 2 + - uid: 3409 + components: + - type: Transform + pos: 46.5,-41.5 + parent: 2 + - uid: 3418 + components: + - type: Transform + pos: 53.5,-32.5 + parent: 2 - uid: 3419 components: - type: Transform pos: 71.5,-23.5 parent: 2 + - uid: 3427 + components: + - type: Transform + pos: 50.5,-29.5 + parent: 2 - uid: 3431 components: - type: Transform pos: 70.5,-23.5 parent: 2 + - uid: 3443 + components: + - type: Transform + pos: 55.5,-25.5 + parent: 2 - uid: 3490 components: - type: Transform @@ -27284,60 +28435,20 @@ entities: - type: Transform pos: 75.5,-25.5 parent: 2 - - uid: 3500 + - uid: 3549 components: - type: Transform - pos: 76.5,-26.5 + pos: 54.5,-32.5 parent: 2 - - uid: 3501 + - uid: 3558 components: - type: Transform - pos: 76.5,-27.5 + pos: 55.5,-24.5 parent: 2 - - uid: 3554 + - uid: 3560 components: - type: Transform - pos: 72.5,-37.5 - parent: 2 - - uid: 3555 - components: - - type: Transform - pos: 74.5,-40.5 - parent: 2 - - uid: 3556 - components: - - type: Transform - pos: 74.5,-38.5 - parent: 2 - - uid: 3568 - components: - - type: Transform - pos: 55.5,-52.5 - parent: 2 - - uid: 3573 - components: - - type: Transform - pos: 58.5,-52.5 - parent: 2 - - uid: 3574 - components: - - type: Transform - pos: 57.5,-52.5 - parent: 2 - - uid: 3578 - components: - - type: Transform - pos: 53.5,-52.5 - parent: 2 - - uid: 3579 - components: - - type: Transform - pos: 54.5,-52.5 - parent: 2 - - uid: 3582 - components: - - type: Transform - pos: 56.5,-52.5 + pos: 52.5,-28.5 parent: 2 - uid: 3589 components: @@ -27374,40 +28485,120 @@ entities: - type: Transform pos: 43.5,-13.5 parent: 2 - - uid: 3676 + - uid: 3762 components: - type: Transform - pos: 28.5,-31.5 + pos: 30.5,-32.5 parent: 2 - - uid: 3683 + - uid: 3763 components: - type: Transform - pos: 77.5,-27.5 + pos: 48.5,-29.5 parent: 2 - - uid: 3684 + - uid: 3770 components: - type: Transform - pos: 29.5,-31.5 + pos: 31.5,-32.5 parent: 2 - - uid: 3685 + - uid: 3787 components: - type: Transform - pos: 30.5,-31.5 + pos: 41.5,-32.5 parent: 2 - - uid: 3686 + - uid: 3792 components: - type: Transform - pos: 35.5,-31.5 + pos: 56.5,-76.5 parent: 2 - - uid: 3687 + - uid: 3809 components: - type: Transform - pos: 34.5,-31.5 + pos: 99.5,-51.5 parent: 2 - - uid: 3742 + - uid: 3816 components: - type: Transform - pos: 33.5,-31.5 + pos: 100.5,-47.5 + parent: 2 + - uid: 3817 + components: + - type: Transform + pos: 100.5,-48.5 + parent: 2 + - uid: 3818 + components: + - type: Transform + pos: 100.5,-43.5 + parent: 2 + - uid: 3821 + components: + - type: Transform + pos: 99.5,-50.5 + parent: 2 + - uid: 3822 + components: + - type: Transform + pos: 100.5,-42.5 + parent: 2 + - uid: 3853 + components: + - type: Transform + pos: 98.5,-57.5 + parent: 2 + - uid: 3854 + components: + - type: Transform + pos: 97.5,-57.5 + parent: 2 + - uid: 3856 + components: + - type: Transform + pos: 97.5,-33.5 + parent: 2 + - uid: 3858 + components: + - type: Transform + pos: 100.5,-35.5 + parent: 2 + - uid: 3865 + components: + - type: Transform + pos: 98.5,-33.5 + parent: 2 + - uid: 3866 + components: + - type: Transform + pos: 99.5,-57.5 + parent: 2 + - uid: 3901 + components: + - type: Transform + pos: 99.5,-33.5 + parent: 2 + - uid: 3904 + components: + - type: Transform + pos: 99.5,-52.5 + parent: 2 + - uid: 3905 + components: + - type: Transform + pos: 77.5,-36.5 + parent: 2 + - uid: 3907 + components: + - type: Transform + pos: 77.5,-54.5 + parent: 2 + - uid: 4020 + components: + - type: Transform + pos: 37.5,-23.5 + parent: 2 + - uid: 4049 + components: + - type: Transform + pos: 51.5,-28.5 parent: 2 - uid: 4054 components: @@ -27419,6 +28610,11 @@ entities: - type: Transform pos: 37.5,-15.5 parent: 2 + - uid: 4063 + components: + - type: Transform + pos: 53.5,-28.5 + parent: 2 - uid: 4065 components: - type: Transform @@ -27489,11 +28685,56 @@ entities: - type: Transform pos: 49.5,-76.5 parent: 2 + - uid: 4139 + components: + - type: Transform + pos: 39.5,-34.5 + parent: 2 + - uid: 4167 + components: + - type: Transform + pos: 36.5,-23.5 + parent: 2 + - uid: 4184 + components: + - type: Transform + pos: 35.5,-23.5 + parent: 2 + - uid: 4190 + components: + - type: Transform + pos: 79.5,-59.5 + parent: 2 + - uid: 4191 + components: + - type: Transform + pos: 34.5,-23.5 + parent: 2 + - uid: 4273 + components: + - type: Transform + pos: 79.5,-60.5 + parent: 2 + - uid: 4276 + components: + - type: Transform + pos: 38.5,-34.5 + parent: 2 - uid: 4357 components: - type: Transform pos: 46.5,-76.5 parent: 2 + - uid: 4358 + components: + - type: Transform + pos: 55.5,-32.5 + parent: 2 + - uid: 4366 + components: + - type: Transform + pos: 50.5,-28.5 + parent: 2 - uid: 4400 components: - type: Transform @@ -27519,31 +28760,36 @@ entities: - type: Transform pos: 34.5,-70.5 parent: 2 + - uid: 4465 + components: + - type: Transform + pos: 37.5,-33.5 + parent: 2 - uid: 4473 components: - type: Transform pos: 52.5,-76.5 parent: 2 - - uid: 4492 - components: - - type: Transform - pos: 56.5,-76.5 - parent: 2 - uid: 4501 components: - type: Transform pos: 33.5,-70.5 parent: 2 + - uid: 4623 + components: + - type: Transform + pos: 41.5,-33.5 + parent: 2 + - uid: 4638 + components: + - type: Transform + pos: 41.5,-34.5 + parent: 2 - uid: 4760 components: - type: Transform pos: 65.5,-21.5 parent: 2 - - uid: 4916 - components: - - type: Transform - pos: 76.5,-29.5 - parent: 2 - uid: 4917 components: - type: Transform @@ -27559,6 +28805,16 @@ entities: - type: Transform pos: 79.5,-58.5 parent: 2 + - uid: 5192 + components: + - type: Transform + pos: 101.5,-53.5 + parent: 2 + - uid: 5193 + components: + - type: Transform + pos: 100.5,-57.5 + parent: 2 - uid: 5214 components: - type: Transform @@ -27569,26 +28825,61 @@ entities: - type: Transform pos: 83.5,-33.5 parent: 2 + - uid: 5280 + components: + - type: Transform + pos: 40.5,-34.5 + parent: 2 + - uid: 5283 + components: + - type: Transform + pos: 37.5,-34.5 + parent: 2 - uid: 5294 components: - type: Transform pos: 80.5,-33.5 parent: 2 + - uid: 5319 + components: + - type: Transform + pos: 98.5,-56.5 + parent: 2 + - uid: 5350 + components: + - type: Transform + pos: 98.5,-34.5 + parent: 2 + - uid: 5353 + components: + - type: Transform + pos: 98.5,-35.5 + parent: 2 - uid: 5356 components: - type: Transform - pos: 77.5,-28.5 + pos: 99.5,-37.5 + parent: 2 + - uid: 5358 + components: + - type: Transform + pos: 98.5,-37.5 + parent: 2 + - uid: 5359 + components: + - type: Transform + pos: 98.5,-36.5 + parent: 2 + - uid: 5373 + components: + - type: Transform + pos: 102.5,-49.5 parent: 2 - uid: 5391 components: - type: Transform pos: 81.5,-33.5 parent: 2 - - uid: 5392 - components: - - type: Transform - pos: 77.5,-29.5 - parent: 2 - uid: 5396 components: - type: Transform @@ -27599,35 +28890,15 @@ entities: - type: Transform pos: -25.5,-80.5 parent: 2 - - uid: 5412 + - uid: 5421 components: - type: Transform - pos: 52.5,-52.5 + pos: 33.5,-23.5 parent: 2 - - uid: 5416 + - uid: 5432 components: - type: Transform - pos: 71.5,-37.5 - parent: 2 - - uid: 5417 - components: - - type: Transform - pos: 74.5,-39.5 - parent: 2 - - uid: 5418 - components: - - type: Transform - pos: 73.5,-38.5 - parent: 2 - - uid: 5427 - components: - - type: Transform - pos: 70.5,-38.5 - parent: 2 - - uid: 5430 - components: - - type: Transform - pos: 69.5,-38.5 + pos: 48.5,-30.5 parent: 2 - uid: 5566 components: @@ -27674,10 +28945,10 @@ entities: - type: Transform pos: -14.5,-75.5 parent: 2 - - uid: 5795 + - uid: 5794 components: - type: Transform - pos: 75.5,-30.5 + pos: 30.5,-23.5 parent: 2 - uid: 5802 components: @@ -27709,45 +28980,25 @@ entities: - type: Transform pos: 46.5,-71.5 parent: 2 + - uid: 5886 + components: + - type: Transform + pos: 28.5,-23.5 + parent: 2 - uid: 5893 components: - type: Transform pos: 79.5,-32.5 parent: 2 - - uid: 5894 - components: - - type: Transform - pos: 78.5,-32.5 - parent: 2 - - uid: 5895 - components: - - type: Transform - pos: 77.5,-32.5 - parent: 2 - - uid: 5896 - components: - - type: Transform - pos: 76.5,-32.5 - parent: 2 - uid: 5941 components: - type: Transform pos: -24.5,-65.5 parent: 2 - - uid: 5944 - components: - - type: Transform - pos: 75.5,-32.5 - parent: 2 - - uid: 6009 - components: - - type: Transform - pos: 32.5,-31.5 - parent: 2 - uid: 6011 components: - type: Transform - pos: 31.5,-31.5 + pos: 76.5,-26.5 parent: 2 - uid: 6066 components: @@ -27769,6 +29020,16 @@ entities: - type: Transform pos: 46.5,-11.5 parent: 2 + - uid: 6083 + components: + - type: Transform + pos: 27.5,-23.5 + parent: 2 + - uid: 6100 + components: + - type: Transform + pos: 29.5,-32.5 + parent: 2 - uid: 6105 components: - type: Transform @@ -27814,10 +29075,20 @@ entities: - type: Transform pos: 63.5,-23.5 parent: 2 - - uid: 6230 + - uid: 6273 components: - type: Transform - pos: 75.5,-31.5 + pos: 29.5,-23.5 + parent: 2 + - uid: 6274 + components: + - type: Transform + pos: 31.5,-23.5 + parent: 2 + - uid: 6275 + components: + - type: Transform + pos: 32.5,-23.5 parent: 2 - uid: 6291 components: @@ -27834,11 +29105,36 @@ entities: - type: Transform pos: 24.5,-67.5 parent: 2 + - uid: 6299 + components: + - type: Transform + pos: 77.5,-28.5 + parent: 2 - uid: 6352 components: - type: Transform pos: 24.5,-70.5 parent: 2 + - uid: 6354 + components: + - type: Transform + pos: 25.5,-23.5 + parent: 2 + - uid: 6369 + components: + - type: Transform + pos: 46.5,-45.5 + parent: 2 + - uid: 6379 + components: + - type: Transform + pos: 47.5,-37.5 + parent: 2 + - uid: 6389 + components: + - type: Transform + pos: 24.5,-23.5 + parent: 2 - uid: 6468 components: - type: Transform @@ -27889,10 +29185,15 @@ entities: - type: Transform pos: 67.5,-21.5 parent: 2 - - uid: 6638 + - uid: 7128 components: - type: Transform - pos: 75.5,-29.5 + pos: 100.5,-56.5 + parent: 2 + - uid: 7133 + components: + - type: Transform + pos: 46.5,-47.5 parent: 2 - uid: 7149 components: @@ -27914,46 +29215,51 @@ entities: - type: Transform pos: 63.5,-16.5 parent: 2 - - uid: 7228 + - uid: 7256 components: - type: Transform - pos: 58.5,-53.5 - parent: 2 - - uid: 7266 - components: - - type: Transform - pos: 59.5,-52.5 + pos: 46.5,-43.5 parent: 2 - uid: 7276 components: - type: Transform pos: 31.5,-70.5 parent: 2 - - uid: 7277 - components: - - type: Transform - pos: 60.5,-52.5 - parent: 2 - uid: 7288 components: - type: Transform pos: 50.5,-76.5 parent: 2 - - uid: 7293 - components: - - type: Transform - pos: 65.5,-38.5 - parent: 2 - uid: 7298 components: - type: Transform pos: 30.5,-72.5 parent: 2 + - uid: 7318 + components: + - type: Transform + pos: 26.5,-23.5 + parent: 2 + - uid: 7365 + components: + - type: Transform + pos: 4.5,-59.5 + parent: 2 + - uid: 7366 + components: + - type: Transform + pos: 3.5,-59.5 + parent: 2 - uid: 7418 components: - type: Transform pos: 26.5,-70.5 parent: 2 + - uid: 7422 + components: + - type: Transform + pos: 102.5,-45.5 + parent: 2 - uid: 7424 components: - type: Transform @@ -28044,250 +29350,45 @@ entities: - type: Transform pos: 78.5,-45.5 parent: 2 - - uid: 7528 + - uid: 7510 components: - type: Transform - pos: 98.5,-55.5 + pos: 102.5,-44.5 + parent: 2 + - uid: 7511 + components: + - type: Transform + pos: 102.5,-43.5 + parent: 2 + - uid: 7512 + components: + - type: Transform + pos: 102.5,-41.5 parent: 2 - uid: 7535 components: - type: Transform pos: 82.5,-33.5 parent: 2 - - uid: 7536 + - uid: 7547 components: - type: Transform - pos: 96.5,-56.5 + pos: 102.5,-42.5 parent: 2 - - uid: 7537 + - uid: 7555 components: - type: Transform - pos: 96.5,-55.5 - parent: 2 - - uid: 7554 - components: - - type: Transform - pos: 98.5,-56.5 - parent: 2 - - uid: 7557 - components: - - type: Transform - pos: 98.5,-57.5 - parent: 2 - - uid: 7558 - components: - - type: Transform - pos: 99.5,-54.5 - parent: 2 - - uid: 7559 - components: - - type: Transform - pos: 99.5,-53.5 - parent: 2 - - uid: 7560 - components: - - type: Transform - pos: 99.5,-52.5 - parent: 2 - - uid: 7561 - components: - - type: Transform - pos: 99.5,-51.5 - parent: 2 - - uid: 7562 - components: - - type: Transform - pos: 97.5,-53.5 + pos: 101.5,-51.5 parent: 2 - uid: 7563 components: - type: Transform - pos: 97.5,-52.5 + pos: 94.5,-45.5 parent: 2 - - uid: 7564 + - uid: 7614 components: - type: Transform - pos: 97.5,-51.5 - parent: 2 - - uid: 7565 - components: - - type: Transform - pos: 97.5,-50.5 - parent: 2 - - uid: 7566 - components: - - type: Transform - pos: 100.5,-49.5 - parent: 2 - - uid: 7567 - components: - - type: Transform - pos: 100.5,-48.5 - parent: 2 - - uid: 7568 - components: - - type: Transform - pos: 100.5,-47.5 - parent: 2 - - uid: 7569 - components: - - type: Transform - pos: 100.5,-46.5 - parent: 2 - - uid: 7570 - components: - - type: Transform - pos: 100.5,-45.5 - parent: 2 - - uid: 7571 - components: - - type: Transform - pos: 100.5,-44.5 - parent: 2 - - uid: 7572 - components: - - type: Transform - pos: 100.5,-43.5 - parent: 2 - - uid: 7573 - components: - - type: Transform - pos: 100.5,-42.5 - parent: 2 - - uid: 7574 - components: - - type: Transform - pos: 100.5,-41.5 - parent: 2 - - uid: 7575 - components: - - type: Transform - pos: 98.5,-48.5 - parent: 2 - - uid: 7576 - components: - - type: Transform - pos: 98.5,-47.5 - parent: 2 - - uid: 7577 - components: - - type: Transform - pos: 98.5,-46.5 - parent: 2 - - uid: 7578 - components: - - type: Transform - pos: 98.5,-45.5 - parent: 2 - - uid: 7579 - components: - - type: Transform - pos: 98.5,-44.5 - parent: 2 - - uid: 7580 - components: - - type: Transform - pos: 98.5,-43.5 - parent: 2 - - uid: 7581 - components: - - type: Transform - pos: 98.5,-42.5 - parent: 2 - - uid: 7582 - components: - - type: Transform - pos: 97.5,-40.5 - parent: 2 - - uid: 7583 - components: - - type: Transform - pos: 97.5,-39.5 - parent: 2 - - uid: 7584 - components: - - type: Transform - pos: 97.5,-38.5 - parent: 2 - - uid: 7585 - components: - - type: Transform - pos: 97.5,-37.5 - parent: 2 - - uid: 7586 - components: - - type: Transform - pos: 99.5,-39.5 - parent: 2 - - uid: 7587 - components: - - type: Transform - pos: 99.5,-38.5 - parent: 2 - - uid: 7588 - components: - - type: Transform - pos: 99.5,-37.5 - parent: 2 - - uid: 7589 - components: - - type: Transform - pos: 99.5,-36.5 - parent: 2 - - uid: 7590 - components: - - type: Transform - pos: 98.5,-35.5 - parent: 2 - - uid: 7591 - components: - - type: Transform - pos: 98.5,-34.5 - parent: 2 - - uid: 7592 - components: - - type: Transform - pos: 98.5,-33.5 - parent: 2 - - uid: 7593 - components: - - type: Transform - pos: 96.5,-34.5 - parent: 2 - - uid: 7594 - components: - - type: Transform - pos: 96.5,-35.5 - parent: 2 - - uid: 7595 - components: - - type: Transform - pos: 98.5,-36.5 - parent: 2 - - uid: 7596 - components: - - type: Transform - pos: 96.5,-36.5 - parent: 2 - - uid: 7597 - components: - - type: Transform - pos: 96.5,-37.5 - parent: 2 - - uid: 7598 - components: - - type: Transform - pos: 96.5,-53.5 - parent: 2 - - uid: 7599 - components: - - type: Transform - pos: 96.5,-54.5 - parent: 2 - - uid: 7623 - components: - - type: Transform - pos: 98.5,-54.5 + pos: 32.5,-32.5 parent: 2 - uid: 7624 components: @@ -28309,11 +29410,6 @@ entities: - type: Transform pos: 78.5,-35.5 parent: 2 - - uid: 7628 - components: - - type: Transform - pos: 78.5,-36.5 - parent: 2 - uid: 7630 components: - type: Transform @@ -28402,7 +29498,7 @@ entities: - uid: 7647 components: - type: Transform - pos: 78.5,-55.5 + pos: 45.5,-32.5 parent: 2 - uid: 7649 components: @@ -28429,66 +29525,56 @@ entities: - type: Transform pos: 83.5,-57.5 parent: 2 - - uid: 7748 - components: - - type: Transform - pos: 67.5,-38.5 - parent: 2 - - uid: 7749 - components: - - type: Transform - pos: 63.5,-39.5 - parent: 2 - - uid: 7750 - components: - - type: Transform - pos: 77.5,-41.5 - parent: 2 - uid: 7986 components: - type: Transform pos: 28.5,-69.5 parent: 2 - - uid: 7988 - components: - - type: Transform - pos: 61.5,-53.5 - parent: 2 - uid: 7991 components: - type: Transform pos: 67.5,-24.5 parent: 2 - - uid: 7993 - components: - - type: Transform - pos: 50.5,-52.5 - parent: 2 - - uid: 8069 - components: - - type: Transform - pos: 63.5,-44.5 - parent: 2 - uid: 8072 components: - type: Transform pos: 66.5,-24.5 parent: 2 + - uid: 8118 + components: + - type: Transform + pos: 100.5,-54.5 + parent: 2 + - uid: 8127 + components: + - type: Transform + pos: 35.5,-32.5 + parent: 2 - uid: 8128 components: - type: Transform pos: -28.5,-88.5 parent: 2 - - uid: 8131 + - uid: 8133 components: - type: Transform - pos: 61.5,-54.5 + pos: 37.5,-32.5 parent: 2 - uid: 8137 components: - type: Transform pos: -26.5,-88.5 parent: 2 + - uid: 8147 + components: + - type: Transform + pos: 47.5,-32.5 + parent: 2 + - uid: 8167 + components: + - type: Transform + pos: 98.5,-53.5 + parent: 2 - uid: 8179 components: - type: Transform @@ -28509,11 +29595,26 @@ entities: - type: Transform pos: 24.5,-72.5 parent: 2 + - uid: 8194 + components: + - type: Transform + pos: 101.5,-39.5 + parent: 2 - uid: 8203 components: - type: Transform pos: 24.5,-62.5 parent: 2 + - uid: 8219 + components: + - type: Transform + pos: 101.5,-38.5 + parent: 2 + - uid: 8221 + components: + - type: Transform + pos: 101.5,-37.5 + parent: 2 - uid: 8250 components: - type: Transform @@ -28826,11 +29927,96 @@ entities: - type: Transform pos: -54.5,-23.5 parent: 2 + - uid: 8345 + components: + - type: Transform + pos: 101.5,-36.5 + parent: 2 + - uid: 8348 + components: + - type: Transform + pos: 100.5,-36.5 + parent: 2 + - uid: 8359 + components: + - type: Transform + pos: 100.5,-34.5 + parent: 2 - uid: 8370 components: - type: Transform pos: -25.5,-88.5 parent: 2 + - uid: 8371 + components: + - type: Transform + pos: 100.5,-33.5 + parent: 2 + - uid: 8393 + components: + - type: Transform + pos: 47.5,-34.5 + parent: 2 + - uid: 8418 + components: + - type: Transform + pos: 47.5,-33.5 + parent: 2 + - uid: 8445 + components: + - type: Transform + pos: 47.5,-35.5 + parent: 2 + - uid: 8446 + components: + - type: Transform + pos: 47.5,-36.5 + parent: 2 + - uid: 8457 + components: + - type: Transform + pos: 47.5,-38.5 + parent: 2 + - uid: 8458 + components: + - type: Transform + pos: 48.5,-38.5 + parent: 2 + - uid: 8459 + components: + - type: Transform + pos: 48.5,-39.5 + parent: 2 + - uid: 8460 + components: + - type: Transform + pos: 48.5,-40.5 + parent: 2 + - uid: 8461 + components: + - type: Transform + pos: 48.5,-41.5 + parent: 2 + - uid: 8462 + components: + - type: Transform + pos: 48.5,-42.5 + parent: 2 + - uid: 8463 + components: + - type: Transform + pos: 48.5,-43.5 + parent: 2 + - uid: 8464 + components: + - type: Transform + pos: 47.5,-43.5 + parent: 2 + - uid: 8510 + components: + - type: Transform + pos: 99.5,-40.5 + parent: 2 - uid: 8559 components: - type: Transform @@ -28846,16 +30032,46 @@ entities: - type: Transform pos: 64.5,-23.5 parent: 2 - - uid: 8569 + - uid: 8566 components: - type: Transform - pos: 75.5,-41.5 + pos: 99.5,-39.5 + parent: 2 + - uid: 8573 + components: + - type: Transform + pos: 100.5,-46.5 + parent: 2 + - uid: 8580 + components: + - type: Transform + pos: 100.5,-44.5 parent: 2 - uid: 8583 components: - type: Transform pos: 24.5,-59.5 parent: 2 + - uid: 8584 + components: + - type: Transform + pos: 100.5,-45.5 + parent: 2 + - uid: 8586 + components: + - type: Transform + pos: 98.5,-55.5 + parent: 2 + - uid: 8587 + components: + - type: Transform + pos: 98.5,-54.5 + parent: 2 + - uid: 8588 + components: + - type: Transform + pos: 99.5,-53.5 + parent: 2 - uid: 8694 components: - type: Transform @@ -28896,6 +30112,21 @@ entities: - type: Transform pos: 7.5,-87.5 parent: 2 + - uid: 9275 + components: + - type: Transform + pos: 37.5,-78.5 + parent: 2 + - uid: 9284 + components: + - type: Transform + pos: 37.5,-76.5 + parent: 2 + - uid: 9314 + components: + - type: Transform + pos: 99.5,-38.5 + parent: 2 - uid: 9339 components: - type: Transform @@ -28921,21 +30152,6 @@ entities: - type: Transform pos: 43.5,-12.5 parent: 2 - - uid: 9384 - components: - - type: Transform - pos: 72.5,-38.5 - parent: 2 - - uid: 9385 - components: - - type: Transform - pos: 64.5,-38.5 - parent: 2 - - uid: 9386 - components: - - type: Transform - pos: 66.5,-38.5 - parent: 2 - uid: 10007 components: - type: Transform @@ -28976,21 +30192,6 @@ entities: - type: Transform pos: 56.5,-15.5 parent: 2 - - uid: 10289 - components: - - type: Transform - pos: 68.5,-38.5 - parent: 2 - - uid: 10290 - components: - - type: Transform - pos: 63.5,-38.5 - parent: 2 - - uid: 10291 - components: - - type: Transform - pos: 74.5,-41.5 - parent: 2 - uid: 10325 components: - type: Transform @@ -29001,6 +30202,31 @@ entities: - type: Transform pos: 65.5,-17.5 parent: 2 + - uid: 10676 + components: + - type: Transform + pos: 46.5,-44.5 + parent: 2 + - uid: 10719 + components: + - type: Transform + pos: 101.5,-52.5 + parent: 2 + - uid: 10720 + components: + - type: Transform + pos: 77.5,-29.5 + parent: 2 + - uid: 10722 + components: + - type: Transform + pos: 100.5,-55.5 + parent: 2 + - uid: 10738 + components: + - type: Transform + pos: 101.5,-54.5 + parent: 2 - uid: 10744 components: - type: Transform @@ -29019,12 +30245,7 @@ entities: - uid: 10750 components: - type: Transform - pos: 70.5,-37.5 - parent: 2 - - uid: 10752 - components: - - type: Transform - pos: 76.5,-41.5 + pos: 76.5,-30.5 parent: 2 - uid: 10769 components: @@ -29051,10 +30272,10 @@ entities: - type: Transform pos: 78.5,-46.5 parent: 2 - - uid: 10861 + - uid: 10857 components: - type: Transform - pos: 63.5,-46.5 + pos: 76.5,-27.5 parent: 2 - uid: 10879 components: @@ -29091,6 +30312,11 @@ entities: - type: Transform pos: -26.5,-21.5 parent: 2 + - uid: 11633 + components: + - type: Transform + pos: 48.5,-32.5 + parent: 2 - uid: 11679 components: - type: Transform @@ -29171,21 +30397,41 @@ entities: - type: Transform pos: 52.5,-14.5 parent: 2 - - uid: 11827 + - uid: 11833 components: - type: Transform - pos: 48.5,-52.5 + pos: 77.5,-27.5 parent: 2 - - uid: 11871 + - uid: 11835 components: - type: Transform - pos: 63.5,-50.5 + pos: 76.5,-29.5 + parent: 2 + - uid: 11855 + components: + - type: Transform + pos: 78.5,-69.5 + parent: 2 + - uid: 11901 + components: + - type: Transform + pos: 76.5,-31.5 parent: 2 - uid: 11943 components: - type: Transform pos: 76.5,-25.5 parent: 2 + - uid: 11976 + components: + - type: Transform + pos: 44.5,-49.5 + parent: 2 + - uid: 11977 + components: + - type: Transform + pos: 45.5,-49.5 + parent: 2 - uid: 12419 components: - type: Transform @@ -29196,6 +30442,66 @@ entities: - type: Transform pos: 1.5,-35.5 parent: 2 + - uid: 12933 + components: + - type: Transform + pos: 48.5,-31.5 + parent: 2 + - uid: 12963 + components: + - type: Transform + pos: 44.5,-32.5 + parent: 2 + - uid: 12964 + components: + - type: Transform + pos: 43.5,-32.5 + parent: 2 + - uid: 12965 + components: + - type: Transform + pos: 45.5,-48.5 + parent: 2 + - uid: 12972 + components: + - type: Transform + pos: 46.5,-32.5 + parent: 2 + - uid: 12982 + components: + - type: Transform + pos: 42.5,-52.5 + parent: 2 + - uid: 12984 + components: + - type: Transform + pos: 42.5,-51.5 + parent: 2 + - uid: 12985 + components: + - type: Transform + pos: 42.5,-50.5 + parent: 2 + - uid: 12986 + components: + - type: Transform + pos: 42.5,-49.5 + parent: 2 + - uid: 12987 + components: + - type: Transform + pos: 43.5,-49.5 + parent: 2 + - uid: 13253 + components: + - type: Transform + pos: 77.5,-35.5 + parent: 2 + - uid: 13255 + components: + - type: Transform + pos: 79.5,-31.5 + parent: 2 - uid: 13265 components: - type: Transform @@ -30316,11 +31622,6 @@ entities: - type: Transform pos: 2.5,-60.5 parent: 2 - - uid: 13560 - components: - - type: Transform - pos: 3.5,-60.5 - parent: 2 - uid: 13561 components: - type: Transform @@ -30626,25 +31927,15 @@ entities: - type: Transform pos: 37.5,-79.5 parent: 2 - - uid: 13634 - components: - - type: Transform - pos: 37.5,-78.5 - parent: 2 - uid: 13635 components: - type: Transform - pos: 38.5,-78.5 + pos: 38.5,-76.5 parent: 2 - uid: 13636 components: - type: Transform - pos: 38.5,-77.5 - parent: 2 - - uid: 13637 - components: - - type: Transform - pos: 38.5,-76.5 + pos: 37.5,-77.5 parent: 2 - uid: 13638 components: @@ -30856,86 +32147,6 @@ entities: - type: Transform pos: 24.5,-24.5 parent: 2 - - uid: 13686 - components: - - type: Transform - pos: 24.5,-23.5 - parent: 2 - - uid: 13687 - components: - - type: Transform - pos: 24.5,-22.5 - parent: 2 - - uid: 13688 - components: - - type: Transform - pos: 25.5,-22.5 - parent: 2 - - uid: 13689 - components: - - type: Transform - pos: 26.5,-22.5 - parent: 2 - - uid: 13690 - components: - - type: Transform - pos: 27.5,-22.5 - parent: 2 - - uid: 13691 - components: - - type: Transform - pos: 28.5,-22.5 - parent: 2 - - uid: 13692 - components: - - type: Transform - pos: 29.5,-22.5 - parent: 2 - - uid: 13693 - components: - - type: Transform - pos: 30.5,-22.5 - parent: 2 - - uid: 13694 - components: - - type: Transform - pos: 31.5,-22.5 - parent: 2 - - uid: 13695 - components: - - type: Transform - pos: 32.5,-22.5 - parent: 2 - - uid: 13696 - components: - - type: Transform - pos: 33.5,-22.5 - parent: 2 - - uid: 13697 - components: - - type: Transform - pos: 34.5,-22.5 - parent: 2 - - uid: 13698 - components: - - type: Transform - pos: 35.5,-22.5 - parent: 2 - - uid: 13699 - components: - - type: Transform - pos: 36.5,-22.5 - parent: 2 - - uid: 13700 - components: - - type: Transform - pos: 37.5,-22.5 - parent: 2 - - uid: 13701 - components: - - type: Transform - pos: 38.5,-22.5 - parent: 2 - uid: 13702 components: - type: Transform @@ -31361,31 +32572,6 @@ entities: - type: Transform pos: 42.5,-53.5 parent: 2 - - uid: 13789 - components: - - type: Transform - pos: 43.5,-53.5 - parent: 2 - - uid: 13790 - components: - - type: Transform - pos: 44.5,-53.5 - parent: 2 - - uid: 13791 - components: - - type: Transform - pos: 45.5,-53.5 - parent: 2 - - uid: 13792 - components: - - type: Transform - pos: 46.5,-53.5 - parent: 2 - - uid: 13793 - components: - - type: Transform - pos: 47.5,-53.5 - parent: 2 - uid: 13795 components: - type: Transform @@ -31396,16 +32582,6 @@ entities: - type: Transform pos: 61.5,-15.5 parent: 2 - - uid: 13826 - components: - - type: Transform - pos: 63.5,-51.5 - parent: 2 - - uid: 13827 - components: - - type: Transform - pos: 63.5,-48.5 - parent: 2 - uid: 13835 components: - type: Transform @@ -31426,21 +32602,21 @@ entities: - type: Transform pos: 68.5,-24.5 parent: 2 + - uid: 13919 + components: + - type: Transform + pos: 77.5,-31.5 + parent: 2 + - uid: 13943 + components: + - type: Transform + pos: 77.5,-37.5 + parent: 2 - uid: 14030 components: - type: Transform pos: -22.5,-74.5 parent: 2 - - uid: 14083 - components: - - type: Transform - pos: 63.5,-52.5 - parent: 2 - - uid: 14118 - components: - - type: Transform - pos: 63.5,-47.5 - parent: 2 - uid: 14143 components: - type: Transform @@ -31451,40 +32627,35 @@ entities: - type: Transform pos: 29.5,-71.5 parent: 2 - - uid: 14316 - components: - - type: Transform - pos: 62.5,-52.5 - parent: 2 - - uid: 14358 - components: - - type: Transform - pos: 61.5,-52.5 - parent: 2 - uid: 14394 components: - type: Transform pos: -3.5,-40.5 parent: 2 - - uid: 14583 - components: - - type: Transform - pos: 58.5,-54.5 - parent: 2 - uid: 14722 components: - type: Transform pos: -28.5,-72.5 parent: 2 + - uid: 14737 + components: + - type: Transform + pos: 42.5,-32.5 + parent: 2 - uid: 14790 components: - type: Transform pos: -21.5,-74.5 parent: 2 - - uid: 14814 + - uid: 14837 components: - type: Transform - pos: 63.5,-49.5 + pos: 95.5,-45.5 + parent: 2 + - uid: 14864 + components: + - type: Transform + pos: 46.5,-46.5 parent: 2 - uid: 14977 components: @@ -31971,136 +33142,6 @@ entities: - type: Transform pos: 28.5,-33.5 parent: 2 - - uid: 15236 - components: - - type: Transform - pos: 38.5,-35.5 - parent: 2 - - uid: 15237 - components: - - type: Transform - pos: 39.5,-35.5 - parent: 2 - - uid: 15238 - components: - - type: Transform - pos: 40.5,-35.5 - parent: 2 - - uid: 15239 - components: - - type: Transform - pos: 40.5,-36.5 - parent: 2 - - uid: 15240 - components: - - type: Transform - pos: 40.5,-37.5 - parent: 2 - - uid: 15241 - components: - - type: Transform - pos: 40.5,-38.5 - parent: 2 - - uid: 15242 - components: - - type: Transform - pos: 41.5,-38.5 - parent: 2 - - uid: 15243 - components: - - type: Transform - pos: 42.5,-38.5 - parent: 2 - - uid: 15244 - components: - - type: Transform - pos: 42.5,-37.5 - parent: 2 - - uid: 15245 - components: - - type: Transform - pos: 42.5,-36.5 - parent: 2 - - uid: 15246 - components: - - type: Transform - pos: 42.5,-35.5 - parent: 2 - - uid: 15247 - components: - - type: Transform - pos: 43.5,-35.5 - parent: 2 - - uid: 15248 - components: - - type: Transform - pos: 44.5,-35.5 - parent: 2 - - uid: 15249 - components: - - type: Transform - pos: 44.5,-36.5 - parent: 2 - - uid: 15250 - components: - - type: Transform - pos: 44.5,-37.5 - parent: 2 - - uid: 15251 - components: - - type: Transform - pos: 45.5,-37.5 - parent: 2 - - uid: 15252 - components: - - type: Transform - pos: 46.5,-37.5 - parent: 2 - - uid: 15253 - components: - - type: Transform - pos: 46.5,-38.5 - parent: 2 - - uid: 15254 - components: - - type: Transform - pos: 47.5,-38.5 - parent: 2 - - uid: 15255 - components: - - type: Transform - pos: 48.5,-38.5 - parent: 2 - - uid: 15256 - components: - - type: Transform - pos: 48.5,-37.5 - parent: 2 - - uid: 15259 - components: - - type: Transform - pos: 38.5,-34.5 - parent: 2 - - uid: 15260 - components: - - type: Transform - pos: 38.5,-33.5 - parent: 2 - - uid: 15264 - components: - - type: Transform - pos: 38.5,-32.5 - parent: 2 - - uid: 15508 - components: - - type: Transform - pos: 38.5,-31.5 - parent: 2 - - uid: 15509 - components: - - type: Transform - pos: 37.5,-31.5 - parent: 2 - uid: 15789 components: - type: Transform @@ -32451,11 +33492,6 @@ entities: - type: Transform pos: -1.5,-74.5 parent: 2 - - uid: 17224 - components: - - type: Transform - pos: 36.5,-31.5 - parent: 2 - uid: 17585 components: - type: Transform @@ -32741,51 +33777,6 @@ entities: - type: Transform pos: 77.5,-69.5 parent: 2 - - uid: 18665 - components: - - type: Transform - pos: 76.5,-69.5 - parent: 2 - - uid: 18666 - components: - - type: Transform - pos: 75.5,-69.5 - parent: 2 - - uid: 18667 - components: - - type: Transform - pos: 74.5,-69.5 - parent: 2 - - uid: 18668 - components: - - type: Transform - pos: 74.5,-68.5 - parent: 2 - - uid: 18669 - components: - - type: Transform - pos: 74.5,-67.5 - parent: 2 - - uid: 18670 - components: - - type: Transform - pos: 75.5,-67.5 - parent: 2 - - uid: 18671 - components: - - type: Transform - pos: 77.5,-67.5 - parent: 2 - - uid: 18672 - components: - - type: Transform - pos: 78.5,-67.5 - parent: 2 - - uid: 18673 - components: - - type: Transform - pos: 76.5,-67.5 - parent: 2 - uid: 18674 components: - type: Transform @@ -32821,21 +33812,6 @@ entities: - type: Transform pos: 78.5,-58.5 parent: 2 - - uid: 18681 - components: - - type: Transform - pos: 78.5,-59.5 - parent: 2 - - uid: 18682 - components: - - type: Transform - pos: 78.5,-60.5 - parent: 2 - - uid: 18683 - components: - - type: Transform - pos: 78.5,-61.5 - parent: 2 - uid: 18684 components: - type: Transform @@ -32968,10 +33944,10 @@ entities: - type: Transform pos: 7.5,-49.5 parent: 2 - - uid: 256 + - uid: 386 components: - type: Transform - pos: 64.5,-39.5 + pos: 41.5,-44.5 parent: 2 - uid: 527 components: @@ -32988,11 +33964,21 @@ entities: - type: Transform pos: -21.5,-23.5 parent: 2 + - uid: 751 + components: + - type: Transform + pos: 58.5,-74.5 + parent: 2 - uid: 773 components: - type: Transform pos: 64.5,-28.5 parent: 2 + - uid: 810 + components: + - type: Transform + pos: 46.5,-43.5 + parent: 2 - uid: 824 components: - type: Transform @@ -33003,11 +33989,6 @@ entities: - type: Transform pos: 31.5,-70.5 parent: 2 - - uid: 1062 - components: - - type: Transform - pos: 64.5,-41.5 - parent: 2 - uid: 1070 components: - type: Transform @@ -33053,10 +34034,10 @@ entities: - type: Transform pos: -7.5,-21.5 parent: 2 - - uid: 1885 + - uid: 1849 components: - type: Transform - pos: 63.5,-54.5 + pos: 33.5,-19.5 parent: 2 - uid: 2240 components: @@ -33128,11 +34109,6 @@ entities: - type: Transform pos: 4.5,-59.5 parent: 2 - - uid: 2948 - components: - - type: Transform - pos: 69.5,-38.5 - parent: 2 - uid: 3024 components: - type: Transform @@ -33143,6 +34119,11 @@ entities: - type: Transform pos: 61.5,-74.5 parent: 2 + - uid: 3051 + components: + - type: Transform + pos: 41.5,-41.5 + parent: 2 - uid: 3052 components: - type: Transform @@ -33158,6 +34139,36 @@ entities: - type: Transform pos: -16.5,-16.5 parent: 2 + - uid: 3154 + components: + - type: Transform + pos: 57.5,-67.5 + parent: 2 + - uid: 3155 + components: + - type: Transform + pos: 78.5,-45.5 + parent: 2 + - uid: 3170 + components: + - type: Transform + pos: 57.5,-69.5 + parent: 2 + - uid: 3178 + components: + - type: Transform + pos: 95.5,-46.5 + parent: 2 + - uid: 3179 + components: + - type: Transform + pos: 94.5,-45.5 + parent: 2 + - uid: 3193 + components: + - type: Transform + pos: 34.5,-19.5 + parent: 2 - uid: 3301 components: - type: Transform @@ -33168,30 +34179,30 @@ entities: - type: Transform pos: 32.5,-70.5 parent: 2 - - uid: 3409 + - uid: 3384 components: - type: Transform - pos: 71.5,-66.5 + pos: 57.5,-70.5 parent: 2 - - uid: 3451 + - uid: 3386 components: - type: Transform - pos: 67.5,-49.5 + pos: 57.5,-68.5 parent: 2 - - uid: 3453 + - uid: 3391 components: - type: Transform - pos: 66.5,-51.5 + pos: 46.5,-40.5 parent: 2 - - uid: 3454 + - uid: 3403 components: - type: Transform - pos: 66.5,-49.5 + pos: 27.5,-26.5 parent: 2 - - uid: 3465 + - uid: 3423 components: - type: Transform - pos: 61.5,-42.5 + pos: 46.5,-41.5 parent: 2 - uid: 3481 components: @@ -33213,21 +34224,6 @@ entities: - type: Transform pos: -47.5,-36.5 parent: 2 - - uid: 3561 - components: - - type: Transform - pos: 63.5,-52.5 - parent: 2 - - uid: 3580 - components: - - type: Transform - pos: 54.5,-52.5 - parent: 2 - - uid: 3581 - components: - - type: Transform - pos: 53.5,-52.5 - parent: 2 - uid: 3585 components: - type: Transform @@ -33243,11 +34239,6 @@ entities: - type: Transform pos: -48.5,-38.5 parent: 2 - - uid: 3611 - components: - - type: Transform - pos: 57.5,-75.5 - parent: 2 - uid: 3628 components: - type: Transform @@ -33268,6 +34259,16 @@ entities: - type: Transform pos: 4.5,-57.5 parent: 2 + - uid: 3771 + components: + - type: Transform + pos: 30.5,-23.5 + parent: 2 + - uid: 3812 + components: + - type: Transform + pos: 32.5,-19.5 + parent: 2 - uid: 3896 components: - type: Transform @@ -33278,20 +34279,10 @@ entities: - type: Transform pos: 58.5,-22.5 parent: 2 - - uid: 4000 + - uid: 4118 components: - type: Transform - pos: 60.5,-41.5 - parent: 2 - - uid: 4049 - components: - - type: Transform - pos: 62.5,-52.5 - parent: 2 - - uid: 4063 - components: - - type: Transform - pos: 61.5,-52.5 + pos: 29.5,-23.5 parent: 2 - uid: 4128 components: @@ -33303,11 +34294,46 @@ entities: - type: Transform pos: 31.5,-69.5 parent: 2 + - uid: 4160 + components: + - type: Transform + pos: 78.5,-69.5 + parent: 2 - uid: 4194 components: - type: Transform pos: 59.5,-21.5 parent: 2 + - uid: 4258 + components: + - type: Transform + pos: 31.5,-19.5 + parent: 2 + - uid: 4347 + components: + - type: Transform + pos: 31.5,-20.5 + parent: 2 + - uid: 4356 + components: + - type: Transform + pos: 31.5,-21.5 + parent: 2 + - uid: 4399 + components: + - type: Transform + pos: 31.5,-22.5 + parent: 2 + - uid: 4405 + components: + - type: Transform + pos: 95.5,-47.5 + parent: 2 + - uid: 4419 + components: + - type: Transform + pos: 31.5,-23.5 + parent: 2 - uid: 4438 components: - type: Transform @@ -33323,6 +34349,11 @@ entities: - type: Transform pos: 29.5,-68.5 parent: 2 + - uid: 4562 + components: + - type: Transform + pos: 25.5,-23.5 + parent: 2 - uid: 4691 components: - type: Transform @@ -33353,6 +34384,31 @@ entities: - type: Transform pos: 82.5,-45.5 parent: 2 + - uid: 4916 + components: + - type: Transform + pos: 46.5,-48.5 + parent: 2 + - uid: 4919 + components: + - type: Transform + pos: 46.5,-47.5 + parent: 2 + - uid: 4920 + components: + - type: Transform + pos: 46.5,-46.5 + parent: 2 + - uid: 4925 + components: + - type: Transform + pos: 46.5,-45.5 + parent: 2 + - uid: 4926 + components: + - type: Transform + pos: 46.5,-44.5 + parent: 2 - uid: 4999 components: - type: Transform @@ -33388,6 +34444,21 @@ entities: - type: Transform pos: -32.5,-83.5 parent: 2 + - uid: 5318 + components: + - type: Transform + pos: 58.5,-66.5 + parent: 2 + - uid: 5323 + components: + - type: Transform + pos: 95.5,-45.5 + parent: 2 + - uid: 5333 + components: + - type: Transform + pos: 41.5,-49.5 + parent: 2 - uid: 5379 components: - type: Transform @@ -33403,20 +34474,10 @@ entities: - type: Transform pos: 58.5,-18.5 parent: 2 - - uid: 5432 + - uid: 5412 components: - type: Transform - pos: 65.5,-52.5 - parent: 2 - - uid: 5435 - components: - - type: Transform - pos: 64.5,-52.5 - parent: 2 - - uid: 5474 - components: - - type: Transform - pos: 60.5,-42.5 + pos: 3.5,-59.5 parent: 2 - uid: 5558 components: @@ -33458,11 +34519,6 @@ entities: - type: Transform pos: -39.5,-45.5 parent: 2 - - uid: 5600 - components: - - type: Transform - pos: 66.5,-50.5 - parent: 2 - uid: 5748 components: - type: Transform @@ -33633,21 +34689,51 @@ entities: - type: Transform pos: 79.5,-45.5 parent: 2 + - uid: 5827 + components: + - type: Transform + pos: 42.5,-49.5 + parent: 2 + - uid: 5828 + components: + - type: Transform + pos: 43.5,-49.5 + parent: 2 + - uid: 5831 + components: + - type: Transform + pos: 44.5,-49.5 + parent: 2 - uid: 6025 components: - type: Transform pos: 12.5,-21.5 parent: 2 - - uid: 6041 + - uid: 6118 components: - type: Transform - pos: 66.5,-48.5 + pos: 51.5,-48.5 + parent: 2 + - uid: 6217 + components: + - type: Transform + pos: 51.5,-50.5 parent: 2 - uid: 6361 components: - type: Transform pos: 27.5,-65.5 parent: 2 + - uid: 6374 + components: + - type: Transform + pos: 41.5,-45.5 + parent: 2 + - uid: 6382 + components: + - type: Transform + pos: 49.5,-47.5 + parent: 2 - uid: 6404 components: - type: Transform @@ -33668,6 +34754,11 @@ entities: - type: Transform pos: 27.5,-68.5 parent: 2 + - uid: 6424 + components: + - type: Transform + pos: 51.5,-51.5 + parent: 2 - uid: 6473 components: - type: Transform @@ -33743,11 +34834,21 @@ entities: - type: Transform pos: 29.5,-69.5 parent: 2 + - uid: 6639 + components: + - type: Transform + pos: 70.5,-66.5 + parent: 2 - uid: 6653 components: - type: Transform pos: 12.5,-26.5 parent: 2 + - uid: 6670 + components: + - type: Transform + pos: 73.5,-64.5 + parent: 2 - uid: 6679 components: - type: Transform @@ -33763,25 +34864,110 @@ entities: - type: Transform pos: 12.5,-22.5 parent: 2 + - uid: 6711 + components: + - type: Transform + pos: 73.5,-62.5 + parent: 2 + - uid: 6716 + components: + - type: Transform + pos: 73.5,-63.5 + parent: 2 + - uid: 6717 + components: + - type: Transform + pos: 70.5,-64.5 + parent: 2 + - uid: 6901 + components: + - type: Transform + pos: 51.5,-49.5 + parent: 2 + - uid: 7000 + components: + - type: Transform + pos: 51.5,-47.5 + parent: 2 + - uid: 7036 + components: + - type: Transform + pos: 70.5,-69.5 + parent: 2 + - uid: 7037 + components: + - type: Transform + pos: 70.5,-65.5 + parent: 2 + - uid: 7038 + components: + - type: Transform + pos: 72.5,-64.5 + parent: 2 + - uid: 7039 + components: + - type: Transform + pos: 71.5,-64.5 + parent: 2 + - uid: 7041 + components: + - type: Transform + pos: 70.5,-70.5 + parent: 2 + - uid: 7044 + components: + - type: Transform + pos: 70.5,-67.5 + parent: 2 + - uid: 7045 + components: + - type: Transform + pos: 70.5,-68.5 + parent: 2 + - uid: 7101 + components: + - type: Transform + pos: 47.5,-46.5 + parent: 2 + - uid: 7113 + components: + - type: Transform + pos: 72.5,-62.5 + parent: 2 - uid: 7126 components: - type: Transform pos: -32.5,-74.5 parent: 2 + - uid: 7143 + components: + - type: Transform + pos: 48.5,-46.5 + parent: 2 + - uid: 7152 + components: + - type: Transform + pos: 48.5,-45.5 + parent: 2 - uid: 7174 components: - type: Transform pos: 58.5,-75.5 parent: 2 - - uid: 7179 + - uid: 7214 components: - type: Transform - pos: 68.5,-38.5 + pos: 58.5,-71.5 parent: 2 - - uid: 7195 + - uid: 7219 components: - type: Transform - pos: 67.5,-44.5 + pos: 49.5,-45.5 + parent: 2 + - uid: 7224 + components: + - type: Transform + pos: 48.5,-47.5 parent: 2 - uid: 7225 components: @@ -33818,10 +35004,15 @@ entities: - type: Transform pos: 75.5,-71.5 parent: 2 - - uid: 7291 + - uid: 7275 components: - type: Transform - pos: 60.5,-40.5 + pos: 28.5,-26.5 + parent: 2 + - uid: 7286 + components: + - type: Transform + pos: 41.5,-46.5 parent: 2 - uid: 7324 components: @@ -33833,6 +35024,11 @@ entities: - type: Transform pos: 34.5,-70.5 parent: 2 + - uid: 7377 + components: + - type: Transform + pos: 28.5,-25.5 + parent: 2 - uid: 7462 components: - type: Transform @@ -33858,16 +35054,6 @@ entities: - type: Transform pos: 91.5,-45.5 parent: 2 - - uid: 7477 - components: - - type: Transform - pos: 90.5,-45.5 - parent: 2 - - uid: 7478 - components: - - type: Transform - pos: 89.5,-45.5 - parent: 2 - uid: 7479 components: - type: Transform @@ -33878,15 +35064,30 @@ entities: - type: Transform pos: 88.5,-47.5 parent: 2 - - uid: 7497 + - uid: 7534 components: - type: Transform - pos: 84.5,-47.5 + pos: 57.5,-71.5 parent: 2 - - uid: 7500 + - uid: 7577 components: - type: Transform - pos: 93.5,-46.5 + pos: 58.5,-73.5 + parent: 2 + - uid: 7602 + components: + - type: Transform + pos: 95.5,-43.5 + parent: 2 + - uid: 7604 + components: + - type: Transform + pos: 28.5,-24.5 + parent: 2 + - uid: 7620 + components: + - type: Transform + pos: 94.5,-47.5 parent: 2 - uid: 7703 components: @@ -33898,46 +35099,51 @@ entities: - type: Transform pos: -2.5,-48.5 parent: 2 - - uid: 7745 - components: - - type: Transform - pos: 63.5,-56.5 - parent: 2 - - uid: 7746 - components: - - type: Transform - pos: 66.5,-52.5 - parent: 2 - uid: 7946 components: - type: Transform pos: 65.5,-30.5 parent: 2 - - uid: 7961 - components: - - type: Transform - pos: 74.5,-69.5 - parent: 2 - - uid: 8003 - components: - - type: Transform - pos: 67.5,-38.5 - parent: 2 - uid: 8070 components: - type: Transform pos: 64.5,-29.5 parent: 2 + - uid: 8082 + components: + - type: Transform + pos: 57.5,-66.5 + parent: 2 + - uid: 8084 + components: + - type: Transform + pos: 46.5,-42.5 + parent: 2 + - uid: 8087 + components: + - type: Transform + pos: 45.5,-49.5 + parent: 2 + - uid: 8090 + components: + - type: Transform + pos: 45.5,-48.5 + parent: 2 + - uid: 8116 + components: + - type: Transform + pos: 41.5,-43.5 + parent: 2 + - uid: 8117 + components: + - type: Transform + pos: 41.5,-42.5 + parent: 2 - uid: 8123 components: - type: Transform pos: 74.5,-71.5 parent: 2 - - uid: 8162 - components: - - type: Transform - pos: 64.5,-38.5 - parent: 2 - uid: 8350 components: - type: Transform @@ -33948,26 +35154,16 @@ entities: - type: Transform pos: -18.5,-16.5 parent: 2 - - uid: 8577 + - uid: 8595 components: - type: Transform - pos: 58.5,-52.5 - parent: 2 - - uid: 8578 - components: - - type: Transform - pos: 55.5,-52.5 + pos: 50.5,-47.5 parent: 2 - uid: 8698 components: - type: Transform pos: 17.5,-94.5 parent: 2 - - uid: 8823 - components: - - type: Transform - pos: 66.5,-47.5 - parent: 2 - uid: 8916 components: - type: Transform @@ -34003,31 +35199,16 @@ entities: - type: Transform pos: 38.5,-72.5 parent: 2 - - uid: 9333 + - uid: 9310 components: - type: Transform - pos: 60.5,-52.5 - parent: 2 - - uid: 9334 - components: - - type: Transform - pos: 59.5,-52.5 - parent: 2 - - uid: 9417 - components: - - type: Transform - pos: 66.5,-45.5 + pos: 94.5,-43.5 parent: 2 - uid: 9419 components: - type: Transform pos: 4.5,-39.5 parent: 2 - - uid: 9666 - components: - - type: Transform - pos: 66.5,-42.5 - parent: 2 - uid: 10019 components: - type: Transform @@ -34048,31 +35229,11 @@ entities: - type: Transform pos: 0.5,-35.5 parent: 2 - - uid: 10271 - components: - - type: Transform - pos: 64.5,-31.5 - parent: 2 - uid: 10274 components: - type: Transform pos: 64.5,-30.5 parent: 2 - - uid: 10282 - components: - - type: Transform - pos: 63.5,-42.5 - parent: 2 - - uid: 10286 - components: - - type: Transform - pos: 65.5,-44.5 - parent: 2 - - uid: 10287 - components: - - type: Transform - pos: 63.5,-53.5 - parent: 2 - uid: 10316 components: - type: Transform @@ -34083,15 +35244,10 @@ entities: - type: Transform pos: 61.5,-19.5 parent: 2 - - uid: 10339 + - uid: 10401 components: - type: Transform - pos: 57.5,-52.5 - parent: 2 - - uid: 10340 - components: - - type: Transform - pos: 56.5,-52.5 + pos: 84.5,-44.5 parent: 2 - uid: 10519 components: @@ -34368,21 +35524,6 @@ entities: - type: Transform pos: 4.5,-60.5 parent: 2 - - uid: 10595 - components: - - type: Transform - pos: 3.5,-60.5 - parent: 2 - - uid: 10596 - components: - - type: Transform - pos: 2.5,-60.5 - parent: 2 - - uid: 10597 - components: - - type: Transform - pos: 1.5,-60.5 - parent: 2 - uid: 10598 components: - type: Transform @@ -34648,11 +35789,6 @@ entities: - type: Transform pos: 20.5,-69.5 parent: 2 - - uid: 10672 - components: - - type: Transform - pos: 63.5,-55.5 - parent: 2 - uid: 10677 components: - type: Transform @@ -34756,132 +35892,12 @@ entities: - uid: 10698 components: - type: Transform - pos: 48.5,-37.5 - parent: 2 - - uid: 10699 - components: - - type: Transform - pos: 48.5,-38.5 + pos: 41.5,-47.5 parent: 2 - uid: 10700 components: - type: Transform - pos: 47.5,-38.5 - parent: 2 - - uid: 10701 - components: - - type: Transform - pos: 46.5,-38.5 - parent: 2 - - uid: 10702 - components: - - type: Transform - pos: 46.5,-37.5 - parent: 2 - - uid: 10703 - components: - - type: Transform - pos: 45.5,-37.5 - parent: 2 - - uid: 10704 - components: - - type: Transform - pos: 44.5,-37.5 - parent: 2 - - uid: 10705 - components: - - type: Transform - pos: 44.5,-36.5 - parent: 2 - - uid: 10706 - components: - - type: Transform - pos: 44.5,-35.5 - parent: 2 - - uid: 10707 - components: - - type: Transform - pos: 43.5,-35.5 - parent: 2 - - uid: 10708 - components: - - type: Transform - pos: 42.5,-35.5 - parent: 2 - - uid: 10709 - components: - - type: Transform - pos: 42.5,-36.5 - parent: 2 - - uid: 10710 - components: - - type: Transform - pos: 42.5,-37.5 - parent: 2 - - uid: 10711 - components: - - type: Transform - pos: 42.5,-38.5 - parent: 2 - - uid: 10712 - components: - - type: Transform - pos: 41.5,-38.5 - parent: 2 - - uid: 10713 - components: - - type: Transform - pos: 40.5,-38.5 - parent: 2 - - uid: 10714 - components: - - type: Transform - pos: 40.5,-37.5 - parent: 2 - - uid: 10715 - components: - - type: Transform - pos: 40.5,-36.5 - parent: 2 - - uid: 10716 - components: - - type: Transform - pos: 40.5,-35.5 - parent: 2 - - uid: 10717 - components: - - type: Transform - pos: 39.5,-35.5 - parent: 2 - - uid: 10718 - components: - - type: Transform - pos: 38.5,-35.5 - parent: 2 - - uid: 10719 - components: - - type: Transform - pos: 37.5,-35.5 - parent: 2 - - uid: 10720 - components: - - type: Transform - pos: 37.5,-36.5 - parent: 2 - - uid: 10721 - components: - - type: Transform - pos: 37.5,-37.5 - parent: 2 - - uid: 10722 - components: - - type: Transform - pos: 37.5,-38.5 - parent: 2 - - uid: 10723 - components: - - type: Transform - pos: 37.5,-39.5 + pos: 41.5,-48.5 parent: 2 - uid: 10724 components: @@ -34933,51 +35949,21 @@ entities: - type: Transform pos: 35.5,-40.5 parent: 2 - - uid: 10753 - components: - - type: Transform - pos: 62.5,-42.5 - parent: 2 - uid: 10772 components: - type: Transform pos: 63.5,-19.5 parent: 2 - - uid: 10805 + - uid: 10785 components: - type: Transform - pos: 66.5,-39.5 + pos: 2.5,-59.5 parent: 2 - uid: 10827 components: - type: Transform pos: 93.5,-47.5 parent: 2 - - uid: 10828 - components: - - type: Transform - pos: 71.5,-65.5 - parent: 2 - - uid: 10829 - components: - - type: Transform - pos: 72.5,-65.5 - parent: 2 - - uid: 10830 - components: - - type: Transform - pos: 73.5,-65.5 - parent: 2 - - uid: 10831 - components: - - type: Transform - pos: 73.5,-66.5 - parent: 2 - - uid: 10835 - components: - - type: Transform - pos: 78.5,-45.5 - parent: 2 - uid: 10836 components: - type: Transform @@ -34988,100 +35974,10 @@ entities: - type: Transform pos: 77.5,-44.5 parent: 2 - - uid: 10838 - components: - - type: Transform - pos: 76.5,-44.5 - parent: 2 - - uid: 10843 - components: - - type: Transform - pos: 46.5,-36.5 - parent: 2 - - uid: 10844 - components: - - type: Transform - pos: 46.5,-35.5 - parent: 2 - - uid: 10845 - components: - - type: Transform - pos: 47.5,-35.5 - parent: 2 - - uid: 10846 - components: - - type: Transform - pos: 48.5,-35.5 - parent: 2 - - uid: 10847 - components: - - type: Transform - pos: 49.5,-35.5 - parent: 2 - - uid: 10848 - components: - - type: Transform - pos: 50.5,-35.5 - parent: 2 - - uid: 10849 - components: - - type: Transform - pos: 50.5,-36.5 - parent: 2 - - uid: 10850 - components: - - type: Transform - pos: 50.5,-37.5 - parent: 2 - uid: 10851 components: - type: Transform - pos: 50.5,-38.5 - parent: 2 - - uid: 10852 - components: - - type: Transform - pos: 50.5,-39.5 - parent: 2 - - uid: 10853 - components: - - type: Transform - pos: 50.5,-40.5 - parent: 2 - - uid: 10854 - components: - - type: Transform - pos: 51.5,-40.5 - parent: 2 - - uid: 10855 - components: - - type: Transform - pos: 52.5,-40.5 - parent: 2 - - uid: 10856 - components: - - type: Transform - pos: 52.5,-41.5 - parent: 2 - - uid: 10857 - components: - - type: Transform - pos: 52.5,-42.5 - parent: 2 - - uid: 10858 - components: - - type: Transform - pos: 52.5,-43.5 - parent: 2 - - uid: 10859 - components: - - type: Transform - pos: 52.5,-44.5 - parent: 2 - - uid: 10860 - components: - - type: Transform - pos: 52.5,-45.5 + pos: 95.5,-44.5 parent: 2 - uid: 10863 components: @@ -35888,20 +36784,25 @@ entities: - type: Transform pos: -12.5,-10.5 parent: 2 - - uid: 11612 + - uid: 11413 components: - type: Transform - pos: 30.5,-24.5 + pos: 50.5,-28.5 + parent: 2 + - uid: 11416 + components: + - type: Transform + pos: 51.5,-28.5 parent: 2 - uid: 11613 components: - type: Transform - pos: 30.5,-23.5 + pos: 52.5,-28.5 parent: 2 - uid: 11614 components: - type: Transform - pos: 29.5,-23.5 + pos: 53.5,-28.5 parent: 2 - uid: 11615 components: @@ -35921,7 +36822,7 @@ entities: - uid: 11618 components: - type: Transform - pos: 25.5,-23.5 + pos: 53.5,-29.5 parent: 2 - uid: 11619 components: @@ -35993,11 +36894,181 @@ entities: - type: Transform pos: 14.5,-20.5 parent: 2 + - uid: 11634 + components: + - type: Transform + pos: 53.5,-30.5 + parent: 2 + - uid: 11635 + components: + - type: Transform + pos: 53.5,-31.5 + parent: 2 + - uid: 11636 + components: + - type: Transform + pos: 54.5,-31.5 + parent: 2 + - uid: 11639 + components: + - type: Transform + pos: 54.5,-32.5 + parent: 2 + - uid: 11640 + components: + - type: Transform + pos: 55.5,-32.5 + parent: 2 + - uid: 11641 + components: + - type: Transform + pos: 56.5,-32.5 + parent: 2 + - uid: 11642 + components: + - type: Transform + pos: 57.5,-32.5 + parent: 2 + - uid: 11643 + components: + - type: Transform + pos: 58.5,-32.5 + parent: 2 + - uid: 11646 + components: + - type: Transform + pos: 59.5,-32.5 + parent: 2 + - uid: 11647 + components: + - type: Transform + pos: 60.5,-32.5 + parent: 2 + - uid: 11659 + components: + - type: Transform + pos: 61.5,-32.5 + parent: 2 + - uid: 11660 + components: + - type: Transform + pos: 62.5,-32.5 + parent: 2 + - uid: 11661 + components: + - type: Transform + pos: 63.5,-32.5 + parent: 2 + - uid: 11662 + components: + - type: Transform + pos: 64.5,-32.5 + parent: 2 + - uid: 11663 + components: + - type: Transform + pos: 64.5,-31.5 + parent: 2 + - uid: 11664 + components: + - type: Transform + pos: 64.5,-33.5 + parent: 2 + - uid: 11665 + components: + - type: Transform + pos: 64.5,-34.5 + parent: 2 + - uid: 11667 + components: + - type: Transform + pos: 64.5,-35.5 + parent: 2 + - uid: 11676 + components: + - type: Transform + pos: 65.5,-35.5 + parent: 2 + - uid: 11677 + components: + - type: Transform + pos: 65.5,-36.5 + parent: 2 + - uid: 11684 + components: + - type: Transform + pos: 65.5,-37.5 + parent: 2 + - uid: 11685 + components: + - type: Transform + pos: 65.5,-38.5 + parent: 2 + - uid: 11686 + components: + - type: Transform + pos: 65.5,-39.5 + parent: 2 + - uid: 11691 + components: + - type: Transform + pos: 65.5,-40.5 + parent: 2 + - uid: 11692 + components: + - type: Transform + pos: 65.5,-41.5 + parent: 2 + - uid: 11693 + components: + - type: Transform + pos: 65.5,-42.5 + parent: 2 + - uid: 11694 + components: + - type: Transform + pos: 65.5,-43.5 + parent: 2 + - uid: 11695 + components: + - type: Transform + pos: 65.5,-44.5 + parent: 2 + - uid: 11696 + components: + - type: Transform + pos: 65.5,-45.5 + parent: 2 + - uid: 11697 + components: + - type: Transform + pos: 65.5,-46.5 + parent: 2 + - uid: 11698 + components: + - type: Transform + pos: 65.5,-47.5 + parent: 2 + - uid: 11699 + components: + - type: Transform + pos: 65.5,-48.5 + parent: 2 + - uid: 11700 + components: + - type: Transform + pos: 66.5,-48.5 + parent: 2 - uid: 11701 components: - type: Transform pos: 65.5,-27.5 parent: 2 + - uid: 11702 + components: + - type: Transform + pos: 67.5,-48.5 + parent: 2 - uid: 11802 components: - type: Transform @@ -36018,6 +37089,11 @@ entities: - type: Transform pos: 66.5,-25.5 parent: 2 + - uid: 11910 + components: + - type: Transform + pos: 54.5,-33.5 + parent: 2 - uid: 11952 components: - type: Transform @@ -36588,31 +37664,16 @@ entities: - type: Transform pos: -13.5,-12.5 parent: 2 - - uid: 12791 + - uid: 12781 components: - type: Transform - pos: 56.5,-72.5 - parent: 2 - - uid: 12801 - components: - - type: Transform - pos: 57.5,-70.5 + pos: 55.5,-37.5 parent: 2 - uid: 12826 components: - type: Transform pos: 70.5,-23.5 parent: 2 - - uid: 12840 - components: - - type: Transform - pos: 66.5,-38.5 - parent: 2 - - uid: 12860 - components: - - type: Transform - pos: 65.5,-38.5 - parent: 2 - uid: 12875 components: - type: Transform @@ -36683,11 +37744,6 @@ entities: - type: Transform pos: 60.5,-75.5 parent: 2 - - uid: 12934 - components: - - type: Transform - pos: 48.5,-34.5 - parent: 2 - uid: 13031 components: - type: Transform @@ -36753,6 +37809,11 @@ entities: - type: Transform pos: -6.5,-41.5 parent: 2 + - uid: 13162 + components: + - type: Transform + pos: 64.5,-46.5 + parent: 2 - uid: 13163 components: - type: Transform @@ -36813,6 +37874,16 @@ entities: - type: Transform pos: 33.5,-95.5 parent: 2 + - uid: 13256 + components: + - type: Transform + pos: 63.5,-46.5 + parent: 2 + - uid: 13257 + components: + - type: Transform + pos: 62.5,-46.5 + parent: 2 - uid: 13272 components: - type: Transform @@ -36838,41 +37909,51 @@ entities: - type: Transform pos: -35.5,-24.5 parent: 2 + - uid: 13436 + components: + - type: Transform + pos: 61.5,-46.5 + parent: 2 - uid: 13449 components: - type: Transform pos: -19.5,-19.5 parent: 2 - - uid: 13836 + - uid: 13519 components: - type: Transform - pos: 56.5,-71.5 + pos: 60.5,-46.5 parent: 2 - - uid: 13838 + - uid: 13520 components: - type: Transform - pos: 76.5,-69.5 + pos: 59.5,-46.5 + parent: 2 + - uid: 13560 + components: + - type: Transform + pos: 58.5,-46.5 + parent: 2 + - uid: 13686 + components: + - type: Transform + pos: 58.5,-47.5 + parent: 2 + - uid: 13687 + components: + - type: Transform + pos: 58.5,-48.5 + parent: 2 + - uid: 13688 + components: + - type: Transform + pos: 57.5,-48.5 parent: 2 - uid: 13865 components: - type: Transform pos: 65.5,-72.5 parent: 2 - - uid: 13874 - components: - - type: Transform - pos: 56.5,-73.5 - parent: 2 - - uid: 13919 - components: - - type: Transform - pos: 57.5,-68.5 - parent: 2 - - uid: 13932 - components: - - type: Transform - pos: 58.5,-70.5 - parent: 2 - uid: 13939 components: - type: Transform @@ -36898,16 +37979,6 @@ entities: - type: Transform pos: 85.5,-47.5 parent: 2 - - uid: 14304 - components: - - type: Transform - pos: 64.5,-40.5 - parent: 2 - - uid: 14315 - components: - - type: Transform - pos: 56.5,-70.5 - parent: 2 - uid: 14322 components: - type: Transform @@ -36943,16 +38014,6 @@ entities: - type: Transform pos: 4.5,-38.5 parent: 2 - - uid: 14450 - components: - - type: Transform - pos: 58.5,-69.5 - parent: 2 - - uid: 14555 - components: - - type: Transform - pos: 83.5,-47.5 - parent: 2 - uid: 14575 components: - type: Transform @@ -36968,11 +38029,6 @@ entities: - type: Transform pos: 63.5,-73.5 parent: 2 - - uid: 14723 - components: - - type: Transform - pos: 75.5,-69.5 - parent: 2 - uid: 14782 components: - type: Transform @@ -36983,25 +38039,30 @@ entities: - type: Transform pos: 5.5,-25.5 parent: 2 + - uid: 15104 + components: + - type: Transform + pos: 58.5,-72.5 + parent: 2 - uid: 15123 components: - type: Transform pos: 8.5,-49.5 parent: 2 - - uid: 15148 + - uid: 15176 components: - type: Transform - pos: 64.5,-35.5 + pos: 85.5,-44.5 parent: 2 - - uid: 15158 + - uid: 15181 components: - type: Transform - pos: 64.5,-32.5 + pos: 84.5,-46.5 parent: 2 - - uid: 15336 + - uid: 15182 components: - type: Transform - pos: 64.5,-37.5 + pos: 85.5,-46.5 parent: 2 - uid: 15338 components: @@ -37033,11 +38094,6 @@ entities: - type: Transform pos: 51.5,-52.5 parent: 2 - - uid: 15399 - components: - - type: Transform - pos: 70.5,-38.5 - parent: 2 - uid: 15466 components: - type: Transform @@ -37068,21 +38124,6 @@ entities: - type: Transform pos: 18.5,-56.5 parent: 2 - - uid: 16238 - components: - - type: Transform - pos: 64.5,-34.5 - parent: 2 - - uid: 16239 - components: - - type: Transform - pos: 64.5,-36.5 - parent: 2 - - uid: 16271 - components: - - type: Transform - pos: 64.5,-33.5 - parent: 2 - uid: 16320 components: - type: Transform @@ -37093,11 +38134,6 @@ entities: - type: Transform pos: -18.5,-17.5 parent: 2 - - uid: 16448 - components: - - type: Transform - pos: 66.5,-44.5 - parent: 2 - uid: 16454 components: - type: Transform @@ -37108,11 +38144,6 @@ entities: - type: Transform pos: 67.5,-72.5 parent: 2 - - uid: 16483 - components: - - type: Transform - pos: 58.5,-68.5 - parent: 2 - uid: 16484 components: - type: Transform @@ -37138,11 +38169,6 @@ entities: - type: Transform pos: 77.5,-69.5 parent: 2 - - uid: 16510 - components: - - type: Transform - pos: 56.5,-75.5 - parent: 2 - uid: 16517 components: - type: Transform @@ -37173,56 +38199,21 @@ entities: - type: Transform pos: -15.5,-77.5 parent: 2 - - uid: 16868 + - uid: 17280 components: - type: Transform - pos: 67.5,-46.5 + pos: 64.5,-44.5 parent: 2 - - uid: 16869 + - uid: 17283 components: - type: Transform - pos: 66.5,-46.5 - parent: 2 - - uid: 16870 - components: - - type: Transform - pos: 71.5,-46.5 - parent: 2 - - uid: 16871 - components: - - type: Transform - pos: 64.5,-42.5 - parent: 2 - - uid: 16872 - components: - - type: Transform - pos: 70.5,-46.5 - parent: 2 - - uid: 16873 - components: - - type: Transform - pos: 65.5,-42.5 - parent: 2 - - uid: 16874 - components: - - type: Transform - pos: 66.5,-43.5 - parent: 2 - - uid: 17267 - components: - - type: Transform - pos: 75.5,-44.5 + pos: 63.5,-44.5 parent: 2 - uid: 17436 components: - type: Transform pos: 20.5,-62.5 parent: 2 - - uid: 17471 - components: - - type: Transform - pos: 52.5,-52.5 - parent: 2 - uid: 17512 components: - type: Transform @@ -37233,21 +38224,6 @@ entities: - type: Transform pos: -7.5,-20.5 parent: 2 - - uid: 17855 - components: - - type: Transform - pos: 68.5,-46.5 - parent: 2 - - uid: 17859 - components: - - type: Transform - pos: 69.5,-46.5 - parent: 2 - - uid: 17866 - components: - - type: Transform - pos: 72.5,-46.5 - parent: 2 - uid: 17927 components: - type: Transform @@ -37303,11 +38279,6 @@ entities: - type: Transform pos: 50.5,-57.5 parent: 2 - - uid: 18229 - components: - - type: Transform - pos: 56.5,-74.5 - parent: 2 - uid: 18231 components: - type: Transform @@ -37373,16 +38344,6 @@ entities: - type: Transform pos: 83.5,-44.5 parent: 2 - - uid: 18604 - components: - - type: Transform - pos: 83.5,-43.5 - parent: 2 - - uid: 18605 - components: - - type: Transform - pos: 84.5,-43.5 - parent: 2 - uid: 18606 components: - type: Transform @@ -37428,71 +38389,6 @@ entities: - type: Transform pos: 93.5,-43.5 parent: 2 - - uid: 18615 - components: - - type: Transform - pos: 93.5,-44.5 - parent: 2 - - uid: 18698 - components: - - type: Transform - pos: 71.5,-67.5 - parent: 2 - - uid: 18699 - components: - - type: Transform - pos: 71.5,-68.5 - parent: 2 - - uid: 18700 - components: - - type: Transform - pos: 72.5,-68.5 - parent: 2 - - uid: 18701 - components: - - type: Transform - pos: 73.5,-68.5 - parent: 2 - - uid: 18702 - components: - - type: Transform - pos: 74.5,-68.5 - parent: 2 - - uid: 18703 - components: - - type: Transform - pos: 74.5,-67.5 - parent: 2 - - uid: 18704 - components: - - type: Transform - pos: 75.5,-67.5 - parent: 2 - - uid: 18705 - components: - - type: Transform - pos: 76.5,-67.5 - parent: 2 - - uid: 18706 - components: - - type: Transform - pos: 77.5,-67.5 - parent: 2 - - uid: 18707 - components: - - type: Transform - pos: 78.5,-67.5 - parent: 2 - - uid: 18708 - components: - - type: Transform - pos: 79.5,-67.5 - parent: 2 - - uid: 18709 - components: - - type: Transform - pos: 79.5,-68.5 - parent: 2 - uid: 18710 components: - type: Transform @@ -37538,6 +38434,11 @@ entities: - type: Transform pos: -18.5,-15.5 parent: 2 + - uid: 19063 + components: + - type: Transform + pos: 54.5,-34.5 + parent: 2 - uid: 19072 components: - type: Transform @@ -37558,6 +38459,11 @@ entities: - type: Transform pos: -45.5,-35.5 parent: 2 + - uid: 19368 + components: + - type: Transform + pos: 54.5,-35.5 + parent: 2 - uid: 19623 components: - type: Transform @@ -37583,6 +38489,156 @@ entities: - type: Transform pos: 62.5,-21.5 parent: 2 + - uid: 19752 + components: + - type: Transform + pos: 54.5,-36.5 + parent: 2 + - uid: 19753 + components: + - type: Transform + pos: 54.5,-37.5 + parent: 2 + - uid: 19754 + components: + - type: Transform + pos: 53.5,-37.5 + parent: 2 + - uid: 19758 + components: + - type: Transform + pos: 55.5,-38.5 + parent: 2 + - uid: 19759 + components: + - type: Transform + pos: 55.5,-39.5 + parent: 2 + - uid: 19760 + components: + - type: Transform + pos: 55.5,-40.5 + parent: 2 + - uid: 19761 + components: + - type: Transform + pos: 56.5,-40.5 + parent: 2 + - uid: 19762 + components: + - type: Transform + pos: 55.5,-35.5 + parent: 2 + - uid: 19763 + components: + - type: Transform + pos: 56.5,-35.5 + parent: 2 + - uid: 19764 + components: + - type: Transform + pos: 57.5,-35.5 + parent: 2 + - uid: 19765 + components: + - type: Transform + pos: 58.5,-35.5 + parent: 2 + - uid: 19766 + components: + - type: Transform + pos: 59.5,-35.5 + parent: 2 + - uid: 19767 + components: + - type: Transform + pos: 60.5,-35.5 + parent: 2 + - uid: 19768 + components: + - type: Transform + pos: 60.5,-36.5 + parent: 2 + - uid: 19769 + components: + - type: Transform + pos: 60.5,-37.5 + parent: 2 + - uid: 19770 + components: + - type: Transform + pos: 60.5,-38.5 + parent: 2 + - uid: 19771 + components: + - type: Transform + pos: 60.5,-39.5 + parent: 2 + - uid: 19772 + components: + - type: Transform + pos: 66.5,-49.5 + parent: 2 + - uid: 19773 + components: + - type: Transform + pos: 64.5,-48.5 + parent: 2 + - uid: 19774 + components: + - type: Transform + pos: 64.5,-49.5 + parent: 2 + - uid: 19926 + components: + - type: Transform + pos: 26.5,-22.5 + parent: 2 + - uid: 19927 + components: + - type: Transform + pos: 26.5,-21.5 + parent: 2 + - uid: 19928 + components: + - type: Transform + pos: 26.5,-20.5 + parent: 2 + - uid: 19929 + components: + - type: Transform + pos: 26.5,-19.5 + parent: 2 + - uid: 19930 + components: + - type: Transform + pos: 26.5,-18.5 + parent: 2 + - uid: 19931 + components: + - type: Transform + pos: 26.5,-17.5 + parent: 2 + - uid: 19932 + components: + - type: Transform + pos: 26.5,-16.5 + parent: 2 + - uid: 19933 + components: + - type: Transform + pos: 26.5,-15.5 + parent: 2 + - uid: 19934 + components: + - type: Transform + pos: 24.5,-15.5 + parent: 2 + - uid: 19935 + components: + - type: Transform + pos: 25.5,-15.5 + parent: 2 - proto: CableTerminal entities: - uid: 3002 @@ -37595,6 +38651,12 @@ entities: - type: Transform pos: 31.5,-70.5 parent: 2 + - uid: 4343 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 88.5,-45.5 + parent: 2 - uid: 4401 components: - type: Transform @@ -37641,12 +38703,6 @@ entities: rot: 1.5707963267948966 rad pos: 67.5,-21.5 parent: 2 - - uid: 18071 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 86.5,-45.5 - parent: 2 - proto: CandleGreen entities: - uid: 19004 @@ -37784,6 +38840,36 @@ entities: parent: 2 - proto: Carpet entities: + - uid: 256 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-53.5 + parent: 2 + - uid: 3540 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-52.5 + parent: 2 + - uid: 3726 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-53.5 + parent: 2 + - uid: 4380 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-52.5 + parent: 2 + - uid: 5301 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 54.5,-37.5 + parent: 2 - uid: 7087 components: - type: Transform @@ -37809,35 +38895,23 @@ entities: - type: Transform pos: 36.5,-49.5 parent: 2 - - uid: 10330 + - uid: 7117 components: - type: Transform - pos: 57.5,-44.5 + rot: 3.141592653589793 rad + pos: 54.5,-38.5 parent: 2 - - uid: 10790 + - uid: 7177 components: - type: Transform - pos: 57.5,-43.5 + rot: -1.5707963267948966 rad + pos: 69.5,-53.5 parent: 2 - - uid: 12883 + - uid: 7202 components: - type: Transform - pos: 71.5,-47.5 - parent: 2 - - uid: 13834 - components: - - type: Transform - pos: 71.5,-48.5 - parent: 2 - - uid: 16200 - components: - - type: Transform - pos: 70.5,-47.5 - parent: 2 - - uid: 16205 - components: - - type: Transform - pos: 70.5,-48.5 + rot: -1.5707963267948966 rad + pos: 69.5,-52.5 parent: 2 - uid: 17424 components: @@ -37926,6 +39000,11 @@ entities: - type: Transform pos: -0.5,-66.5 parent: 2 + - uid: 3582 + components: + - type: Transform + pos: 54.5,-57.5 + parent: 2 - uid: 3587 components: - type: Transform @@ -37946,11 +39025,6 @@ entities: - type: Transform pos: 54.5,-56.5 parent: 2 - - uid: 3915 - components: - - type: Transform - pos: 54.5,-57.5 - parent: 2 - uid: 4752 components: - type: Transform @@ -38201,22 +39275,12 @@ entities: - type: Transform pos: -5.5,-61.5 parent: 2 - - uid: 8627 + - uid: 8126 components: - type: Transform - pos: 55.5,-57.5 + pos: 52.5,-57.5 parent: 2 - - uid: 9219 - components: - - type: Transform - pos: 55.5,-55.5 - parent: 2 - - uid: 9252 - components: - - type: Transform - pos: 55.5,-56.5 - parent: 2 - - uid: 9373 + - uid: 8135 components: - type: Transform pos: 53.5,-57.5 @@ -38236,11 +39300,6 @@ entities: - type: Transform pos: 54.5,-55.5 parent: 2 - - uid: 14698 - components: - - type: Transform - pos: 52.5,-57.5 - parent: 2 - uid: 15390 components: - type: Transform @@ -39161,83 +40220,6 @@ entities: rot: 0.7853981633974483 rad pos: 4.501627,-10.320071 parent: 2 - - uid: 18837 - components: - - type: Transform - rot: -0.6108652381980153 rad - pos: 59.640903,-49.893475 - parent: 2 - - uid: 18838 - components: - - type: Transform - rot: 0.3490658503988659 rad - pos: 59.109653,-50.15407 - parent: 2 - - uid: 18839 - components: - - type: Transform - rot: -1.0471975511965976 rad - pos: 58.536736,-49.69542 - parent: 2 - - uid: 18840 - components: - - type: Transform - rot: -0.3490658503988659 rad - pos: 59.005486,-49.309734 - parent: 2 - - uid: 18870 - components: - - type: Transform - rot: 0.4188790204786391 rad - pos: 58.067986,-49.236767 - parent: 2 - - uid: 18871 - components: - - type: Transform - rot: 1.6231562043547265 rad - pos: 57.422153,-50.07068 - parent: 2 - - uid: 18872 - components: - - type: Transform - rot: 0.24434609527920614 rad - pos: 56.939404,-49.486263 - parent: 2 - - uid: 18875 - components: - - type: Transform - pos: 57.265903,-49.184647 - parent: 2 - - uid: 18878 - components: - - type: Transform - rot: 0.4363323129985824 rad - pos: 56.526318,-49.841354 - parent: 2 - - uid: 18879 - components: - - type: Transform - rot: -0.3490658503988659 rad - pos: 57.213818,-48.74684 - parent: 2 - - uid: 18882 - components: - - type: Transform - rot: 0.5934119456780721 rad - pos: 57.536736,-49.476517 - parent: 2 - - uid: 18884 - components: - - type: Transform - rot: 2.3387411976724017 rad - pos: 56.533154,-49.26804 - parent: 2 - - uid: 18915 - components: - - type: Transform - rot: 2.6878070480712677 rad - pos: 56.69982,-49.017864 - parent: 2 - uid: 19051 components: - type: Transform @@ -39273,6 +40255,60 @@ entities: rot: 0.9599310885968813 rad pos: -29.21888,-36.33141 parent: 2 + - uid: 20069 + components: + - type: Transform + rot: 0.6981317007977318 rad + pos: 55.905697,-42.965652 + parent: 2 + - uid: 20070 + components: + - type: Transform + rot: 0.5235987755982988 rad + pos: 55.29111,-42.69463 + parent: 2 + - uid: 20071 + components: + - type: Transform + rot: 0.17453292519943295 rad + pos: 54.92249,-42.811863 + parent: 2 + - uid: 20072 + components: + - type: Transform + rot: -0.5235987755982988 rad + pos: 54.38486,-42.767597 + parent: 2 + - uid: 20073 + components: + - type: Transform + rot: -0.17453292519943295 rad + pos: 54.78707,-42.6972 + parent: 2 + - uid: 20074 + components: + - type: Transform + rot: -0.3490658503988659 rad + pos: 54.155697,-42.507 + parent: 2 + - uid: 20075 + components: + - type: Transform + rot: -0.17453292519943295 rad + pos: 53.672485,-42.926468 + parent: 2 + - uid: 20076 + components: + - type: Transform + rot: -0.17453292519943295 rad + pos: 54.97457,-42.269817 + parent: 2 + - uid: 20077 + components: + - type: Transform + rot: 0.08726646259971647 rad + pos: 54.526653,-42.457447 + parent: 2 - proto: Catwalk entities: - uid: 488 @@ -39280,21 +40316,28 @@ entities: - type: Transform pos: 77.5,-52.5 parent: 2 + - uid: 730 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 37.5,-88.5 + parent: 2 - uid: 1485 components: - type: Transform rot: -1.5707963267948966 rad pos: -59.5,-25.5 parent: 2 - - uid: 2883 + - uid: 1856 components: - type: Transform - pos: 76.5,-35.5 + pos: 85.5,-43.5 parent: 2 - - uid: 2917 + - uid: 1997 components: - type: Transform - pos: 71.5,-31.5 + rot: 3.141592653589793 rad + pos: 37.5,-81.5 parent: 2 - uid: 2930 components: @@ -39311,16 +40354,25 @@ entities: - type: Transform pos: 68.5,-21.5 parent: 2 - - uid: 3337 + - uid: 3119 components: - type: Transform - pos: 66.5,-56.5 + pos: 74.5,-29.5 parent: 2 - - uid: 3338 + - uid: 3213 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 47.5,-48.5 + pos: 77.5,-28.5 + parent: 2 + - uid: 3282 + components: + - type: Transform + pos: 74.5,-35.5 + parent: 2 + - uid: 3302 + components: + - type: Transform + pos: 74.5,-39.5 parent: 2 - uid: 3344 components: @@ -39342,21 +40394,15 @@ entities: - type: Transform pos: 31.5,-72.5 parent: 2 - - uid: 3380 + - uid: 3450 components: - type: Transform - pos: 56.5,-71.5 + pos: 50.5,-26.5 parent: 2 - - uid: 3425 + - uid: 3471 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 47.5,-49.5 - parent: 2 - - uid: 3435 - components: - - type: Transform - pos: 75.5,-30.5 + pos: 49.5,-26.5 parent: 2 - uid: 3508 components: @@ -39373,21 +40419,168 @@ entities: - type: Transform pos: -15.5,-65.5 parent: 2 + - uid: 3632 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-28.5 + parent: 2 + - uid: 3677 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 33.5,-32.5 + parent: 2 + - uid: 3678 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 48.5,-31.5 + parent: 2 - uid: 3688 components: - type: Transform pos: 33.5,-35.5 parent: 2 - - uid: 3948 + - uid: 3713 components: - type: Transform - pos: 83.5,-43.5 + pos: 79.5,-31.5 parent: 2 - - uid: 4185 + - uid: 3748 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-46.5 + pos: 77.5,-27.5 + parent: 2 + - uid: 3753 + components: + - type: Transform + pos: 73.5,-29.5 + parent: 2 + - uid: 3782 + components: + - type: Transform + pos: 72.5,-29.5 + parent: 2 + - uid: 3784 + components: + - type: Transform + pos: 77.5,-31.5 + parent: 2 + - uid: 3785 + components: + - type: Transform + pos: 29.5,-32.5 + parent: 2 + - uid: 3788 + components: + - type: Transform + pos: 31.5,-32.5 + parent: 2 + - uid: 3789 + components: + - type: Transform + pos: 30.5,-32.5 + parent: 2 + - uid: 3798 + components: + - type: Transform + pos: 78.5,-31.5 + parent: 2 + - uid: 3801 + components: + - type: Transform + pos: 74.5,-36.5 + parent: 2 + - uid: 3820 + components: + - type: Transform + pos: 99.5,-54.5 + parent: 2 + - uid: 3827 + components: + - type: Transform + pos: 101.5,-49.5 + parent: 2 + - uid: 3828 + components: + - type: Transform + pos: 101.5,-47.5 + parent: 2 + - uid: 3830 + components: + - type: Transform + pos: 101.5,-48.5 + parent: 2 + - uid: 3836 + components: + - type: Transform + pos: 101.5,-43.5 + parent: 2 + - uid: 3837 + components: + - type: Transform + pos: 101.5,-41.5 + parent: 2 + - uid: 3838 + components: + - type: Transform + pos: 101.5,-42.5 + parent: 2 + - uid: 3839 + components: + - type: Transform + pos: 101.5,-46.5 + parent: 2 + - uid: 3840 + components: + - type: Transform + pos: 101.5,-44.5 + parent: 2 + - uid: 3841 + components: + - type: Transform + pos: 101.5,-45.5 + parent: 2 + - uid: 3857 + components: + - type: Transform + pos: 100.5,-39.5 + parent: 2 + - uid: 3859 + components: + - type: Transform + pos: 100.5,-38.5 + parent: 2 + - uid: 3860 + components: + - type: Transform + pos: 100.5,-40.5 + parent: 2 + - uid: 3861 + components: + - type: Transform + pos: 99.5,-36.5 + parent: 2 + - uid: 3863 + components: + - type: Transform + pos: 99.5,-34.5 + parent: 2 + - uid: 3864 + components: + - type: Transform + pos: 99.5,-35.5 + parent: 2 + - uid: 3882 + components: + - type: Transform + pos: 100.5,-37.5 + parent: 2 + - uid: 4193 + components: + - type: Transform + pos: 51.5,-26.5 parent: 2 - uid: 4642 components: @@ -39616,6 +40809,18 @@ entities: - type: Transform pos: -17.5,-70.5 parent: 2 + - uid: 5296 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 34.5,-32.5 + parent: 2 + - uid: 5299 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 48.5,-32.5 + parent: 2 - uid: 5378 components: - type: Transform @@ -39726,11 +40931,6 @@ entities: rot: 3.141592653589793 rad pos: 39.5,-50.5 parent: 2 - - uid: 6092 - components: - - type: Transform - pos: 70.5,-24.5 - parent: 2 - uid: 6227 components: - type: Transform @@ -39749,16 +40949,23 @@ entities: rot: -1.5707963267948966 rad pos: -56.5,-25.5 parent: 2 + - uid: 6381 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 74.5,-31.5 + parent: 2 + - uid: 7084 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-28.5 + parent: 2 - uid: 7191 components: - type: Transform pos: 74.5,-52.5 parent: 2 - - uid: 7232 - components: - - type: Transform - pos: 68.5,-37.5 - parent: 2 - uid: 7284 components: - type: Transform @@ -39774,120 +40981,30 @@ entities: - type: Transform pos: 33.5,-70.5 parent: 2 - - uid: 7600 + - uid: 7411 components: - type: Transform - pos: 99.5,-43.5 - parent: 2 - - uid: 7601 - components: - - type: Transform - pos: 99.5,-41.5 - parent: 2 - - uid: 7602 - components: - - type: Transform - pos: 99.5,-44.5 - parent: 2 - - uid: 7603 - components: - - type: Transform - pos: 99.5,-42.5 - parent: 2 - - uid: 7604 - components: - - type: Transform - pos: 99.5,-45.5 - parent: 2 - - uid: 7605 - components: - - type: Transform - pos: 99.5,-46.5 - parent: 2 - - uid: 7606 - components: - - type: Transform - pos: 99.5,-47.5 - parent: 2 - - uid: 7607 - components: - - type: Transform - pos: 99.5,-48.5 + pos: 86.5,-47.5 parent: 2 - uid: 7608 components: - type: Transform - pos: 99.5,-49.5 + pos: 75.5,-45.5 parent: 2 - uid: 7609 components: - type: Transform - pos: 98.5,-50.5 - parent: 2 - - uid: 7610 - components: - - type: Transform - pos: 98.5,-51.5 - parent: 2 - - uid: 7611 - components: - - type: Transform - pos: 98.5,-52.5 - parent: 2 - - uid: 7612 - components: - - type: Transform - pos: 98.5,-53.5 - parent: 2 - - uid: 7613 - components: - - type: Transform - pos: 97.5,-54.5 - parent: 2 - - uid: 7614 - components: - - type: Transform - pos: 97.5,-55.5 - parent: 2 - - uid: 7615 - components: - - type: Transform - pos: 97.5,-56.5 - parent: 2 - - uid: 7616 - components: - - type: Transform - pos: 98.5,-40.5 - parent: 2 - - uid: 7617 - components: - - type: Transform - pos: 98.5,-39.5 - parent: 2 - - uid: 7618 - components: - - type: Transform - pos: 98.5,-38.5 - parent: 2 - - uid: 7619 - components: - - type: Transform - pos: 98.5,-37.5 - parent: 2 - - uid: 7620 - components: - - type: Transform - pos: 97.5,-36.5 + pos: 75.5,-46.5 parent: 2 - uid: 7621 components: - type: Transform - pos: 97.5,-35.5 + pos: 86.5,-43.5 parent: 2 - uid: 7622 components: - type: Transform - pos: 97.5,-34.5 + pos: 85.5,-47.5 parent: 2 - uid: 7714 components: @@ -39899,31 +41016,22 @@ entities: - type: Transform pos: 78.5,-35.5 parent: 2 - - uid: 7716 - components: - - type: Transform - pos: 78.5,-36.5 - parent: 2 - - uid: 7722 - components: - - type: Transform - pos: 77.5,-27.5 - parent: 2 - - uid: 7723 - components: - - type: Transform - pos: 77.5,-28.5 - parent: 2 - - uid: 7724 - components: - - type: Transform - pos: 77.5,-29.5 - parent: 2 - uid: 7886 components: - type: Transform pos: -11.5,-35.5 parent: 2 + - uid: 7925 + components: + - type: Transform + pos: 75.5,-47.5 + parent: 2 + - uid: 8071 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 48.5,-30.5 + parent: 2 - uid: 8102 components: - type: Transform @@ -39944,31 +41052,11 @@ entities: - type: Transform pos: 78.5,-49.5 parent: 2 - - uid: 8110 - components: - - type: Transform - pos: 78.5,-40.5 - parent: 2 - - uid: 8111 - components: - - type: Transform - pos: 78.5,-41.5 - parent: 2 - uid: 8112 components: - type: Transform pos: 78.5,-38.5 parent: 2 - - uid: 8117 - components: - - type: Transform - pos: 72.5,-71.5 - parent: 2 - - uid: 8118 - components: - - type: Transform - pos: 73.5,-71.5 - parent: 2 - uid: 8119 components: - type: Transform @@ -39989,31 +41077,6 @@ entities: - type: Transform pos: 77.5,-71.5 parent: 2 - - uid: 8146 - components: - - type: Transform - pos: 67.5,-66.5 - parent: 2 - - uid: 8147 - components: - - type: Transform - pos: 67.5,-67.5 - parent: 2 - - uid: 8148 - components: - - type: Transform - pos: 67.5,-68.5 - parent: 2 - - uid: 8149 - components: - - type: Transform - pos: 67.5,-69.5 - parent: 2 - - uid: 8150 - components: - - type: Transform - pos: 67.5,-70.5 - parent: 2 - uid: 8155 components: - type: Transform @@ -40024,11 +41087,6 @@ entities: - type: Transform pos: 65.5,-73.5 parent: 2 - - uid: 8157 - components: - - type: Transform - pos: 62.5,-74.5 - parent: 2 - uid: 8158 components: - type: Transform @@ -40037,12 +41095,7 @@ entities: - uid: 8159 components: - type: Transform - pos: 60.5,-75.5 - parent: 2 - - uid: 8160 - components: - - type: Transform - pos: 61.5,-75.5 + pos: 75.5,-48.5 parent: 2 - uid: 8327 components: @@ -40116,45 +41169,144 @@ entities: rot: -1.5707963267948966 rad pos: 35.5,-79.5 parent: 2 + - uid: 8406 + components: + - type: Transform + pos: 99.5,-56.5 + parent: 2 + - uid: 8407 + components: + - type: Transform + pos: 100.5,-53.5 + parent: 2 + - uid: 8408 + components: + - type: Transform + pos: 99.5,-55.5 + parent: 2 + - uid: 8465 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 46.5,-43.5 + parent: 2 + - uid: 8466 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 48.5,-42.5 + parent: 2 + - uid: 8467 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 48.5,-41.5 + parent: 2 + - uid: 8468 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 48.5,-40.5 + parent: 2 + - uid: 8499 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 48.5,-39.5 + parent: 2 + - uid: 8500 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 47.5,-37.5 + parent: 2 + - uid: 8501 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 47.5,-36.5 + parent: 2 + - uid: 8502 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 47.5,-35.5 + parent: 2 + - uid: 8511 + components: + - type: Transform + pos: 99.5,-57.5 + parent: 2 + - uid: 8568 + components: + - type: Transform + pos: 100.5,-52.5 + parent: 2 + - uid: 8569 + components: + - type: Transform + pos: 100.5,-50.5 + parent: 2 + - uid: 8570 + components: + - type: Transform + pos: 100.5,-51.5 + parent: 2 + - uid: 8827 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 50.5,-28.5 + parent: 2 - uid: 8913 components: - type: Transform pos: 82.5,-24.5 parent: 2 - - uid: 9310 + - uid: 9254 components: - type: Transform - pos: 69.5,-55.5 + rot: 3.141592653589793 rad + pos: 46.5,-44.5 parent: 2 - - uid: 9721 + - uid: 9258 components: - type: Transform - pos: 56.5,-72.5 + rot: 3.141592653589793 rad + pos: 46.5,-45.5 parent: 2 - - uid: 10332 + - uid: 9281 components: - type: Transform - pos: 70.5,-55.5 + rot: 3.141592653589793 rad + pos: 46.5,-46.5 + parent: 2 + - uid: 9287 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 46.5,-47.5 + parent: 2 + - uid: 9711 + components: + - type: Transform + pos: 37.5,-30.5 parent: 2 - uid: 10530 components: - type: Transform pos: -25.5,-21.5 parent: 2 - - uid: 10676 + - uid: 11793 components: - type: Transform - pos: 68.5,-55.5 + rot: 1.5707963267948966 rad + pos: 74.5,-32.5 parent: 2 - - uid: 10811 + - uid: 11834 components: - type: Transform - pos: 75.5,-31.5 - parent: 2 - - uid: 10823 - components: - - type: Transform - pos: 56.5,-73.5 + pos: 77.5,-29.5 parent: 2 - uid: 12410 components: @@ -40167,16 +41319,17 @@ entities: - type: Transform pos: 33.5,-72.5 parent: 2 + - uid: 12992 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 74.5,-33.5 + parent: 2 - uid: 13812 components: - type: Transform pos: 68.5,-19.5 parent: 2 - - uid: 13848 - components: - - type: Transform - pos: 67.5,-37.5 - parent: 2 - uid: 13885 components: - type: Transform @@ -40187,12 +41340,22 @@ entities: - type: Transform pos: -28.5,-71.5 parent: 2 + - uid: 14070 + components: + - type: Transform + pos: 74.5,-38.5 + parent: 2 - uid: 14121 components: - type: Transform rot: 1.5707963267948966 rad pos: 6.5,-63.5 parent: 2 + - uid: 14809 + components: + - type: Transform + pos: 74.5,-37.5 + parent: 2 - uid: 15261 components: - type: Transform @@ -40203,20 +41366,95 @@ entities: - type: Transform pos: 32.5,-35.5 parent: 2 + - uid: 15402 + components: + - type: Transform + pos: 71.5,-62.5 + parent: 2 + - uid: 15426 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 46.5,-49.5 + parent: 2 - uid: 15431 components: - type: Transform pos: 30.5,-71.5 parent: 2 + - uid: 15443 + components: + - type: Transform + pos: 79.5,-63.5 + parent: 2 + - uid: 15444 + components: + - type: Transform + pos: 79.5,-64.5 + parent: 2 + - uid: 15445 + components: + - type: Transform + pos: 79.5,-62.5 + parent: 2 + - uid: 15446 + components: + - type: Transform + pos: 79.5,-66.5 + parent: 2 + - uid: 15447 + components: + - type: Transform + pos: 79.5,-67.5 + parent: 2 + - uid: 15448 + components: + - type: Transform + pos: 79.5,-65.5 + parent: 2 + - uid: 15451 + components: + - type: Transform + pos: 70.5,-67.5 + parent: 2 - uid: 15452 components: - type: Transform - pos: 74.5,-45.5 + pos: 70.5,-66.5 parent: 2 - uid: 15453 components: - type: Transform - pos: 74.5,-46.5 + pos: 70.5,-68.5 + parent: 2 + - uid: 15454 + components: + - type: Transform + pos: 70.5,-65.5 + parent: 2 + - uid: 15518 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 79.5,-58.5 + parent: 2 + - uid: 15520 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,-48.5 + parent: 2 + - uid: 15547 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,-49.5 + parent: 2 + - uid: 15548 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,-50.5 parent: 2 - uid: 16004 components: @@ -40224,105 +41462,80 @@ entities: rot: 3.141592653589793 rad pos: 78.5,-39.5 parent: 2 + - uid: 16031 + components: + - type: Transform + pos: 55.5,-53.5 + parent: 2 + - uid: 16032 + components: + - type: Transform + pos: 56.5,-54.5 + parent: 2 + - uid: 16040 + components: + - type: Transform + pos: 68.5,-23.5 + parent: 2 - uid: 16148 components: - type: Transform rot: -1.5707963267948966 rad pos: -31.5,-18.5 parent: 2 - - uid: 16284 + - uid: 16164 components: - type: Transform - pos: 74.5,-47.5 + rot: 1.5707963267948966 rad + pos: 39.5,-30.5 parent: 2 - - uid: 16528 + - uid: 16175 components: - type: Transform - pos: 74.5,-48.5 + rot: 1.5707963267948966 rad + pos: 40.5,-30.5 parent: 2 - - uid: 16565 + - uid: 16193 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 51.5,-46.5 + rot: 1.5707963267948966 rad + pos: 41.5,-30.5 parent: 2 - - uid: 16566 + - uid: 16587 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 52.5,-46.5 + rot: 1.5707963267948966 rad + pos: 67.5,-56.5 parent: 2 - - uid: 16567 + - uid: 16588 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,-46.5 + rot: 1.5707963267948966 rad + pos: 66.5,-56.5 parent: 2 - - uid: 16570 + - uid: 16589 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-35.5 + rot: 1.5707963267948966 rad + pos: 65.5,-56.5 parent: 2 - - uid: 16571 + - uid: 16590 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-36.5 + rot: 1.5707963267948966 rad + pos: 55.5,-51.5 parent: 2 - - uid: 16572 + - uid: 16591 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-37.5 + rot: 1.5707963267948966 rad + pos: 61.5,-56.5 parent: 2 - - uid: 16573 + - uid: 16592 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-38.5 - parent: 2 - - uid: 16574 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 40.5,-35.5 - parent: 2 - - uid: 16575 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 40.5,-36.5 - parent: 2 - - uid: 16577 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-32.5 - parent: 2 - - uid: 16578 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-33.5 - parent: 2 - - uid: 16582 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-38.5 - parent: 2 - - uid: 16583 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-37.5 - parent: 2 - - uid: 16584 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-36.5 + rot: 1.5707963267948966 rad + pos: 60.5,-56.5 parent: 2 - uid: 16594 components: @@ -40336,24 +41549,6 @@ entities: rot: -1.5707963267948966 rad pos: -40.5,-79.5 parent: 2 - - uid: 16596 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,-79.5 - parent: 2 - - uid: 16597 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -38.5,-79.5 - parent: 2 - - uid: 16598 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -37.5,-79.5 - parent: 2 - uid: 16599 components: - type: Transform @@ -40378,6 +41573,21 @@ entities: rot: -1.5707963267948966 rad pos: -35.5,-73.5 parent: 2 + - uid: 16607 + components: + - type: Transform + pos: 71.5,-61.5 + parent: 2 + - uid: 16608 + components: + - type: Transform + pos: 71.5,-60.5 + parent: 2 + - uid: 16609 + components: + - type: Transform + pos: 71.5,-59.5 + parent: 2 - uid: 16764 components: - type: Transform @@ -40414,26 +41624,6 @@ entities: rot: 3.141592653589793 rad pos: -24.5,-43.5 parent: 2 - - uid: 17093 - components: - - type: Transform - pos: 52.5,-29.5 - parent: 2 - - uid: 17102 - components: - - type: Transform - pos: -35.5,-76.5 - parent: 2 - - uid: 17118 - components: - - type: Transform - pos: -35.5,-77.5 - parent: 2 - - uid: 17119 - components: - - type: Transform - pos: -35.5,-78.5 - parent: 2 - uid: 17174 components: - type: Transform @@ -40610,30 +41800,6 @@ entities: - type: Transform pos: 21.5,-63.5 parent: 2 - - uid: 17718 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 75.5,-67.5 - parent: 2 - - uid: 17719 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 76.5,-67.5 - parent: 2 - - uid: 17720 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 77.5,-67.5 - parent: 2 - - uid: 17721 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 78.5,-67.5 - parent: 2 - uid: 17723 components: - type: Transform @@ -40664,56 +41830,11 @@ entities: - type: Transform pos: 76.5,-52.5 parent: 2 - - uid: 17856 - components: - - type: Transform - pos: 75.5,-35.5 - parent: 2 - - uid: 17857 - components: - - type: Transform - pos: 74.5,-35.5 - parent: 2 - - uid: 17858 - components: - - type: Transform - pos: 73.5,-35.5 - parent: 2 - - uid: 17860 - components: - - type: Transform - pos: 73.5,-33.5 - parent: 2 - - uid: 17861 - components: - - type: Transform - pos: 71.5,-29.5 - parent: 2 - - uid: 17862 - components: - - type: Transform - pos: 73.5,-32.5 - parent: 2 - uid: 17869 components: - type: Transform pos: -24.5,-21.5 parent: 2 - - uid: 17870 - components: - - type: Transform - pos: 71.5,-30.5 - parent: 2 - - uid: 17871 - components: - - type: Transform - pos: 73.5,-31.5 - parent: 2 - - uid: 17998 - components: - - type: Transform - pos: 75.5,-32.5 - parent: 2 - uid: 18477 components: - type: Transform @@ -40783,10 +41904,11 @@ entities: rot: -1.5707963267948966 rad pos: 82.5,-70.5 parent: 2 - - uid: 18790 + - uid: 18861 components: - type: Transform - pos: 83.5,-47.5 + rot: -1.5707963267948966 rad + pos: 54.5,-70.5 parent: 2 - uid: 18892 components: @@ -40842,36 +41964,6 @@ entities: rot: -1.5707963267948966 rad pos: 34.5,-93.5 parent: 2 - - uid: 19078 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 30.5,-31.5 - parent: 2 - - uid: 19079 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 31.5,-31.5 - parent: 2 - - uid: 19080 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 29.5,-31.5 - parent: 2 - - uid: 19147 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 84.5,-47.5 - parent: 2 - - uid: 19171 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 84.5,-43.5 - parent: 2 - uid: 19329 components: - type: Transform @@ -40910,6 +42002,12 @@ entities: parent: 2 - proto: Chair entities: + - uid: 748 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 66.5,-38.5 + parent: 2 - uid: 1266 components: - type: Transform @@ -40922,23 +42020,11 @@ entities: rot: 3.141592653589793 rad pos: 59.5,-27.5 parent: 2 - - uid: 3021 + - uid: 3649 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-37.5 - parent: 2 - - uid: 4304 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-49.5 - parent: 2 - - uid: 4305 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 49.5,-50.5 + rot: 1.5707963267948966 rad + pos: 66.5,-51.5 parent: 2 - uid: 4867 components: @@ -41085,18 +42171,6 @@ entities: rot: 1.5707963267948966 rad pos: -35.5,-15.5 parent: 2 - - uid: 12857 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-36.5 - parent: 2 - - uid: 12858 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-35.5 - parent: 2 - uid: 13852 components: - type: Transform @@ -41146,12 +42220,6 @@ entities: - type: Transform pos: 26.5,-81.5 parent: 2 - - uid: 17601 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-46.5 - parent: 2 - uid: 17899 components: - type: Transform @@ -41211,17 +42279,17 @@ entities: rot: -1.5707963267948966 rad pos: 5.5,-28.5 parent: 2 - - uid: 348 - components: - - type: Transform - pos: 21.5,-18.5 - parent: 2 - uid: 877 components: - type: Transform rot: -1.5707963267948966 rad pos: 10.5,-31.5 parent: 2 + - uid: 915 + components: + - type: Transform + pos: 34.5,-17.5 + parent: 2 - uid: 2198 components: - type: Transform @@ -41234,12 +42302,24 @@ entities: rot: -1.5707963267948966 rad pos: -1.5554351,-26.347584 parent: 2 - - uid: 3209 + - uid: 4613 components: - type: Transform - rot: 3.141592653589793 rad + rot: -1.5707963267948966 rad + pos: 22.5,-20.5 + parent: 2 + - uid: 4614 + components: + - type: Transform + rot: 1.5707963267948966 rad pos: 20.5,-20.5 parent: 2 + - uid: 4627 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 33.5,-19.5 + parent: 2 - uid: 5141 components: - type: Transform @@ -41307,23 +42387,17 @@ entities: rot: -1.5707963267948966 rad pos: -61.426323,-25.462961 parent: 2 - - uid: 6657 + - uid: 6904 components: - type: Transform - rot: 3.141592653589793 rad - pos: 21.5,-20.5 + rot: -1.5707963267948966 rad + pos: 54.5,-98.5 parent: 2 - uid: 6920 components: - type: Transform rot: -1.5707963267948966 rad - pos: 53.5,-99.5 - parent: 2 - - uid: 6921 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,-98.5 + pos: 54.5,-99.5 parent: 2 - uid: 7674 components: @@ -41331,23 +42405,16 @@ entities: rot: -1.5707963267948966 rad pos: 78.5,-20.5 parent: 2 - - uid: 7796 + - uid: 7774 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-20.5 + pos: 33.5,-17.5 parent: 2 - - uid: 7797 + - uid: 7775 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-19.5 - parent: 2 - - uid: 7798 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-21.5 + rot: 3.141592653589793 rad + pos: 32.5,-20.5 parent: 2 - uid: 7937 components: @@ -41355,22 +42422,22 @@ entities: rot: 3.141592653589793 rad pos: 49.5,-23.5 parent: 2 - - uid: 8568 + - uid: 8845 components: - type: Transform rot: -1.5707963267948966 rad - pos: 50.5,-25.5 + pos: 22.5,-19.5 parent: 2 - uid: 10302 components: - type: Transform pos: 49.5,-20.5 parent: 2 - - uid: 11756 + - uid: 19152 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,-25.5 + rot: -1.5707963267948966 rad + pos: 41.5,-25.5 parent: 2 - uid: 19669 components: @@ -41380,15 +42447,17 @@ entities: parent: 2 - proto: ChairFoldingSpawnFolded entities: - - uid: 9949 + - uid: 7752 components: - type: Transform - pos: 36.415863,-13.360202 + rot: -1.5707963267948966 rad + pos: 47.450993,-25.454924 parent: 2 - - uid: 11686 + - uid: 15417 components: - type: Transform - pos: 36.322113,-13.21948 + rot: -1.5707963267948966 rad + pos: 47.482243,-25.298674 parent: 2 - uid: 16294 components: @@ -41405,19 +42474,36 @@ entities: - type: Transform pos: 43.51082,-13.164188 parent: 2 - - uid: 17954 - components: - - type: Transform - pos: 36.525238,-13.125664 - parent: 2 - proto: ChairOfficeDark entities: + - uid: 237 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-46.5 + parent: 2 - uid: 2929 components: - type: Transform rot: 1.5707963267948966 rad pos: -0.5,-67.5 parent: 2 + - uid: 3460 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-55.5 + parent: 2 + - uid: 3527 + components: + - type: Transform + pos: 64.5,-43.5 + parent: 2 + - uid: 5414 + components: + - type: Transform + pos: 58.5,-39.5 + parent: 2 - uid: 5479 components: - type: Transform @@ -41448,26 +42534,38 @@ entities: rot: -1.5707963267948966 rad pos: 13.5,-59.5 parent: 2 + - uid: 7169 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.606865,-56.41906 + parent: 2 - uid: 7977 components: - type: Transform pos: 29.5,-75.5 parent: 2 - - uid: 9092 + - uid: 10421 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-39.5 + pos: 50.5,-36.5 parent: 2 - - uid: 10410 + - uid: 10424 components: - type: Transform - pos: 54.5,-55.5 + pos: 51.5,-36.5 parent: 2 - - uid: 14248 + - uid: 12942 components: - type: Transform - pos: 59.5,-46.5 + rot: 3.141592653589793 rad + pos: 51.5,-38.5 + parent: 2 + - uid: 12943 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 50.5,-38.5 parent: 2 - uid: 15610 components: @@ -41475,34 +42573,6 @@ entities: rot: 1.5707963267948966 rad pos: -28.5,-67.5 parent: 2 - - uid: 17515 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 72.5,-43.5 - parent: 2 - - uid: 17516 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 71.5,-43.5 - parent: 2 - - uid: 17517 - components: - - type: Transform - pos: 72.5,-41.5 - parent: 2 - - uid: 17518 - components: - - type: Transform - pos: 71.5,-41.5 - parent: 2 - - uid: 17748 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 68.5,-50.5 - parent: 2 - uid: 18595 components: - type: Transform @@ -41521,26 +42591,38 @@ entities: rot: 3.141592653589793 rad pos: 17.5,-72.5 parent: 2 - - uid: 2293 + - uid: 3927 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 28.352335,-27.985746 + pos: 32.5,-15.5 + parent: 2 + - uid: 3936 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 35.5,-12.5 + parent: 2 + - uid: 4626 + components: + - type: Transform + pos: 30.5,-15.5 parent: 2 - uid: 6281 components: - type: Transform pos: 21.5,-73.5 parent: 2 - - uid: 7766 + - uid: 7769 components: - type: Transform - pos: 30.5,-16.5 + rot: 3.141592653589793 rad + pos: 34.5,-12.5 parent: 2 - - uid: 7782 + - uid: 10414 components: - type: Transform - pos: 28.5,-16.5 + rot: -1.5707963267948966 rad + pos: 28.41108,-29.119923 parent: 2 - proto: ChairPilotSeat entities: @@ -41588,21 +42670,16 @@ entities: parent: 2 - proto: ChairXeno entities: - - uid: 3386 - components: - - type: Transform - pos: 59.5,-62.5 - parent: 2 - uid: 5085 components: - type: Transform pos: -22.5,-21.5 parent: 2 - - uid: 5485 + - uid: 5419 components: - type: Transform rot: 3.141592653589793 rad - pos: 66.5,-70.5 + pos: 67.5,-63.5 parent: 2 - uid: 5544 components: @@ -41634,11 +42711,6 @@ entities: rot: 1.5707963267948966 rad pos: 41.5,-77.5 parent: 2 - - uid: 6901 - components: - - type: Transform - pos: 66.5,-68.5 - parent: 2 - uid: 7008 components: - type: Transform @@ -41668,18 +42740,6 @@ entities: rot: 3.141592653589793 rad pos: -51.5,-37.5 parent: 2 - - uid: 8359 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 38.5,-28.5 - parent: 2 - - uid: 8817 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-62.5 - parent: 2 - uid: 9201 components: - type: Transform @@ -41698,6 +42758,28 @@ entities: rot: -1.5707963267948966 rad pos: -53.5,-45.5 parent: 2 + - uid: 15433 + components: + - type: Transform + pos: 80.5,-63.5 + parent: 2 + - uid: 15434 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 80.5,-65.5 + parent: 2 + - uid: 15484 + components: + - type: Transform + pos: 62.5,-59.5 + parent: 2 + - uid: 15633 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,-78.5 + parent: 2 - uid: 19198 components: - type: Transform @@ -41705,14 +42787,11 @@ entities: parent: 2 - proto: CheapLighter entities: - - uid: 18268 + - uid: 3613 components: - type: Transform - pos: 47.771713,-26.742779 + pos: 45.30708,-27.668627 parent: 2 - - type: CollisionWake - enabled: False - - type: Conveyed - proto: CheapRollerBed entities: - uid: 2888 @@ -41720,11 +42799,6 @@ entities: - type: Transform pos: 4.5,-19.5 parent: 2 - - uid: 17880 - components: - - type: Transform - pos: 36.237247,-17.218662 - parent: 2 - proto: ChemDispenser entities: - uid: 4427 @@ -41749,12 +42823,31 @@ entities: - uid: 699 components: - type: Transform - pos: 60.3243,-32.26429 + pos: 50.284008,-34.290295 parent: 2 - uid: 14384 components: - type: Transform - pos: 60.46319,-32.208694 + pos: 50.431988,-34.165295 + parent: 2 +- proto: ChemistryBottleRobustHarvest + entities: + - uid: 16200 + components: + - type: Transform + pos: 3.406568,-79.26463 + parent: 2 +- proto: ChemistryEmptyBottle01 + entities: + - uid: 3159 + components: + - type: Transform + pos: 66.35149,-62.94295 + parent: 2 + - uid: 7197 + components: + - type: Transform + pos: 66.50148,-63.087673 parent: 2 - proto: ChemistryHotplate entities: @@ -41819,16 +42912,6 @@ entities: parent: 2 - proto: CigaretteSpent entities: - - uid: 9354 - components: - - type: Transform - pos: 68.70699,-38.075283 - parent: 2 - - uid: 10268 - components: - - type: Transform - pos: 68.09442,-38.40559 - parent: 2 - uid: 19660 components: - type: Transform @@ -42107,10 +43190,10 @@ entities: parent: 2 - proto: ClosetChefFilled entities: - - uid: 7041 + - uid: 7203 components: - type: Transform - pos: 47.5,-40.5 + pos: 41.5,-38.5 parent: 2 - proto: ClosetEmergencyFilledRandom entities: @@ -42119,11 +43202,21 @@ entities: - type: Transform pos: 2.5,-64.5 parent: 2 + - uid: 1095 + components: + - type: Transform + pos: 54.5,-48.5 + parent: 2 - uid: 3194 components: - type: Transform pos: -33.5,-16.5 parent: 2 + - uid: 3769 + components: + - type: Transform + pos: 29.5,-34.5 + parent: 2 - uid: 5343 components: - type: Transform @@ -42164,6 +43257,11 @@ entities: - type: Transform pos: 0.5,-77.5 parent: 2 + - uid: 6915 + components: + - type: Transform + pos: 49.5,-100.5 + parent: 2 - uid: 6919 components: - type: Transform @@ -42194,20 +43292,25 @@ entities: - type: Transform pos: 27.5,-77.5 parent: 2 + - uid: 8374 + components: + - type: Transform + pos: -38.5,-74.5 + parent: 2 + - uid: 9764 + components: + - type: Transform + pos: 80.5,-66.5 + parent: 2 - uid: 10348 components: - type: Transform pos: 18.5,-101.5 parent: 2 - - uid: 11474 + - uid: 10674 components: - type: Transform - pos: 49.5,-96.5 - parent: 2 - - uid: 12927 - components: - - type: Transform - pos: 38.5,-22.5 + pos: 62.5,-63.5 parent: 2 - uid: 12971 components: @@ -42219,21 +43322,31 @@ entities: - type: Transform pos: -59.5,-24.5 parent: 2 - - uid: 15257 + - uid: 15408 components: - type: Transform - pos: 28.5,-35.5 + pos: 50.5,-40.5 + parent: 2 + - uid: 15425 + components: + - type: Transform + pos: 38.5,-25.5 + parent: 2 + - uid: 15596 + components: + - type: Transform + pos: 47.5,-31.5 + parent: 2 + - uid: 16038 + components: + - type: Transform + pos: 9.5,-37.5 parent: 2 - uid: 17038 components: - type: Transform pos: -12.5,-80.5 parent: 2 - - uid: 17352 - components: - - type: Transform - pos: -43.5,-76.5 - parent: 2 - uid: 17396 components: - type: Transform @@ -42278,6 +43391,11 @@ entities: - type: Transform pos: -58.5,-24.5 parent: 2 + - uid: 3676 + components: + - type: Transform + pos: 35.5,-34.5 + parent: 2 - uid: 4552 components: - type: Transform @@ -42293,6 +43411,11 @@ entities: - type: Transform pos: 83.5,-23.5 parent: 2 + - uid: 7786 + components: + - type: Transform + pos: 37.5,-25.5 + parent: 2 - uid: 8210 components: - type: Transform @@ -42303,11 +43426,6 @@ entities: - type: Transform pos: -24.5,-41.5 parent: 2 - - uid: 16287 - components: - - type: Transform - pos: 38.5,-37.5 - parent: 2 - uid: 17100 components: - type: Transform @@ -42370,20 +43488,45 @@ entities: - type: Transform pos: 18.5,-91.5 parent: 2 + - uid: 10755 + components: + - type: Transform + pos: 35.5,-75.5 + parent: 2 + - uid: 10812 + components: + - type: Transform + pos: 54.5,-49.5 + parent: 2 - uid: 12147 components: - type: Transform pos: 1.5,-64.5 parent: 2 + - uid: 15410 + components: + - type: Transform + pos: 49.5,-40.5 + parent: 2 + - uid: 15412 + components: + - type: Transform + pos: 39.5,-25.5 + parent: 2 - uid: 15640 components: - type: Transform pos: 48.5,-63.5 parent: 2 - - uid: 17246 + - uid: 16039 components: - type: Transform - pos: 36.5,-20.5 + pos: 10.5,-37.5 + parent: 2 + - uid: 16050 + components: + - type: Transform + pos: 36.5,-75.5 parent: 2 - uid: 17296 components: @@ -42425,6 +43568,11 @@ entities: - type: Transform pos: 19.5,-33.5 parent: 2 + - uid: 20050 + components: + - type: Transform + pos: 74.5,-70.5 + parent: 2 - proto: ClosetJanitorFilled entities: - uid: 5620 @@ -42439,50 +43587,62 @@ entities: - type: Transform pos: -7.5,-50.5 parent: 2 -- proto: ClosetL3VirologyFilled +- proto: ClosetL3SecurityFilled entities: - - uid: 7779 - components: - - type: Transform - pos: 31.5,-20.5 - parent: 2 - uid: 7780 components: - type: Transform - pos: 31.5,-19.5 + pos: 66.5,-18.5 + parent: 2 + - uid: 9292 + components: + - type: Transform + pos: 66.5,-17.5 + parent: 2 +- proto: ClosetL3VirologyFilled + entities: + - uid: 3634 + components: + - type: Transform + pos: 36.5,-17.5 + parent: 2 + - uid: 4219 + components: + - type: Transform + pos: 36.5,-14.5 + parent: 2 + - uid: 4220 + components: + - type: Transform + pos: 36.5,-18.5 parent: 2 - proto: ClosetMaintenanceFilledRandom entities: - - uid: 4345 + - uid: 919 components: - type: Transform - pos: 66.5,-54.5 + pos: 37.5,-30.5 + parent: 2 + - uid: 3006 + components: + - type: Transform + pos: 53.5,-26.5 + parent: 2 + - uid: 6013 + components: + - type: Transform + pos: 78.5,-30.5 + parent: 2 + - uid: 7390 + components: + - type: Transform + pos: 75.5,-28.5 parent: 2 - uid: 7629 components: - type: Transform pos: -53.5,-27.5 parent: 2 - - uid: 7705 - components: - - type: Transform - pos: 71.5,-26.5 - parent: 2 - - uid: 7708 - components: - - type: Transform - pos: 74.5,-34.5 - parent: 2 - - uid: 8043 - components: - - type: Transform - pos: 44.5,-38.5 - parent: 2 - - uid: 8046 - components: - - type: Transform - pos: 37.5,-24.5 - parent: 2 - uid: 8049 components: - type: Transform @@ -42513,16 +43673,6 @@ entities: - type: Transform pos: -54.5,-65.5 parent: 2 - - uid: 8057 - components: - - type: Transform - pos: -38.5,-74.5 - parent: 2 - - uid: 8058 - components: - - type: Transform - pos: -35.5,-80.5 - parent: 2 - uid: 8062 components: - type: Transform @@ -42548,50 +43698,55 @@ entities: - type: Transform pos: -46.5,-28.5 parent: 2 + - uid: 8373 + components: + - type: Transform + pos: -43.5,-76.5 + parent: 2 - uid: 8380 components: - type: Transform pos: -25.5,-53.5 parent: 2 - - uid: 8584 + - uid: 8504 components: - type: Transform - pos: 57.5,-73.5 + pos: 64.5,-70.5 parent: 2 - - uid: 10334 + - uid: 10672 components: - type: Transform - pos: 55.5,-65.5 + pos: 75.5,-37.5 parent: 2 - - uid: 10788 + - uid: 10673 components: - type: Transform - pos: 77.5,-39.5 + pos: 48.5,-48.5 parent: 2 - - uid: 12703 + - uid: 10748 components: - type: Transform - pos: 74.5,-54.5 + pos: 1.5,-61.5 parent: 2 - - uid: 12991 + - uid: 13158 components: - type: Transform - pos: 47.5,-32.5 + pos: 72.5,-36.5 parent: 2 - uid: 13905 components: - type: Transform pos: 73.5,-21.5 parent: 2 - - uid: 14296 + - uid: 14242 components: - type: Transform - pos: 74.5,-27.5 + pos: 56.5,-74.5 parent: 2 - - uid: 16268 + - uid: 15477 components: - type: Transform - pos: 50.5,-42.5 + pos: 69.5,-68.5 parent: 2 - uid: 17044 components: @@ -42613,16 +43768,6 @@ entities: - type: Transform pos: 3.5,-71.5 parent: 2 - - uid: 17887 - components: - - type: Transform - pos: 2.5,-59.5 - parent: 2 - - uid: 17995 - components: - - type: Transform - pos: 72.5,-39.5 - parent: 2 - uid: 18250 components: - type: Transform @@ -42645,11 +43790,6 @@ entities: - type: Transform pos: -48.5,-55.5 parent: 2 - - uid: 7800 - components: - - type: Transform - pos: 31.5,-21.5 - parent: 2 - uid: 8201 components: - type: Transform @@ -42660,6 +43800,11 @@ entities: - type: Transform pos: -45.5,-12.5 parent: 2 + - uid: 10776 + components: + - type: Transform + pos: 36.5,-20.5 + parent: 2 - uid: 17043 components: - type: Transform @@ -42670,11 +43815,6 @@ entities: - type: Transform pos: -9.5,-79.5 parent: 2 - - uid: 17958 - components: - - type: Transform - pos: 35.5,-20.5 - parent: 2 - uid: 19389 components: - type: Transform @@ -42692,11 +43832,40 @@ entities: - type: Transform pos: -11.5,-74.5 parent: 2 - - uid: 19225 +- proto: ClosetWallAtmospherics + entities: + - uid: 20005 components: - type: Transform - pos: 48.5,-30.5 + pos: -53.5,-24.5 parent: 2 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14673 + moles: + - 1.7459903 + - 6.568249 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 20006 + - 20007 + - 20008 - proto: ClosetWallBlue entities: - uid: 5967 @@ -42759,25 +43928,17 @@ entities: - 6069 - 6068 - 6075 -- proto: ClosetWallMaintenanceFilledRandom - entities: - - uid: 4047 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,-67.5 - parent: 2 - proto: ClothingBackpack entities: - uid: 12849 components: - type: Transform - pos: 66.59503,-17.370646 + pos: 66.39443,-29.194597 parent: 2 - uid: 14243 components: - type: Transform - pos: 66.62203,-17.271994 + pos: 66.67568,-29.241472 parent: 2 - proto: ClothingBackpackDuffelMedical entities: @@ -42836,7 +43997,14 @@ entities: - uid: 5236 components: - type: Transform - pos: 17.505743,-17.404364 + pos: 20.337646,-17.241425 + parent: 2 +- proto: ClothingBeltPlantFilled + entities: + - uid: 15598 + components: + - type: Transform + pos: 2.510798,-79.082664 parent: 2 - proto: ClothingBeltUtilityEngineering entities: @@ -42874,12 +44042,12 @@ entities: - uid: 6987 components: - type: Transform - pos: 51.629555,-99.27984 + pos: 52.425804,-99.20869 parent: 2 - uid: 6988 components: - type: Transform - pos: 52.44282,-99.49868 + pos: 52.83198,-99.4205 parent: 2 - uid: 7958 components: @@ -42912,6 +44080,18 @@ entities: - type: Transform pos: -9.340807,-26.550825 parent: 2 +- proto: ClothingEyesHudMedical + entities: + - uid: 7754 + components: + - type: Transform + pos: 20.337646,-17.5383 + parent: 2 + - uid: 7798 + components: + - type: Transform + pos: 20.634521,-17.44455 + parent: 2 - proto: ClothingHandsGlovesBoxingBlue entities: - uid: 7687 @@ -42976,15 +44156,10 @@ entities: - type: Transform pos: 9.506972,-24.333637 parent: 2 - - uid: 7786 - components: - - type: Transform - pos: 27.561043,-15.543834 - parent: 2 - uid: 16849 components: - type: Transform - pos: 27.414835,-27.933626 + pos: 27.47358,-28.431944 parent: 2 - proto: ClothingHeadBandMerc entities: @@ -42993,13 +44168,6 @@ entities: - type: Transform pos: -56.602005,-29.002491 parent: 2 -- proto: ClothingHeadBandSkull - entities: - - uid: 17950 - components: - - type: Transform - pos: 35.406235,-18.407043 - parent: 2 - proto: ClothingHeadFishCap entities: - uid: 16710 @@ -43025,10 +44193,10 @@ entities: parent: 2 - proto: ClothingHeadHatBeretMerc entities: - - uid: 11757 + - uid: 19171 components: - type: Transform - pos: 49.279545,-25.185894 + pos: 40.35338,-25.259914 parent: 2 - proto: ClothingHeadHatBrownFlatcap entities: @@ -43063,6 +44231,13 @@ entities: - type: Transform pos: -42.64476,-62.24417 parent: 2 +- proto: ClothingHeadHatChef + entities: + - uid: 19742 + components: + - type: Transform + pos: 42.692513,-34.382397 + parent: 2 - proto: ClothingHeadHatCone entities: - uid: 2336 @@ -43100,13 +44275,6 @@ entities: - type: Transform pos: 11.390965,-79.291046 parent: 2 -- proto: ClothingHeadHatCowboyRed - entities: - - uid: 19230 - components: - - type: Transform - pos: 46.667255,-29.220667 - parent: 2 - proto: ClothingHeadHatFedoraBrown entities: - uid: 6070 @@ -43156,7 +44324,14 @@ entities: - uid: 17525 components: - type: Transform - pos: 83.5435,-72.335686 + pos: 83.39368,-72.298546 + parent: 2 +- proto: ClothingHeadHatPaper + entities: + - uid: 16035 + components: + - type: Transform + pos: 61.497665,-57.252792 parent: 2 - proto: ClothingHeadHatPartyGreen entities: @@ -43207,19 +44382,12 @@ entities: - type: Transform pos: -12.630263,-28.354128 parent: 2 -- proto: ClothingHeadHatWeldingMaskFlame - entities: - - uid: 3302 - components: - - type: Transform - pos: 53.542313,-29.537529 - parent: 2 - proto: ClothingHeadHatWeldingMaskFlameBlue entities: - - uid: 19226 + - uid: 15457 components: - type: Transform - pos: 48.679688,-29.271996 + pos: 67.39528,-68.335495 parent: 2 - proto: ClothingHeadHatYellowsoftFlipped entities: @@ -43230,6 +44398,12 @@ entities: parent: 2 - proto: ClothingHeadHelmetEVA entities: + - uid: 15545 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 38.77258,-19.393414 + parent: 2 - uid: 16569 components: - type: Transform @@ -43284,12 +44458,12 @@ entities: - uid: 11848 components: - type: Transform - pos: 67.23555,-31.516634 + pos: 68.52531,-32.620815 parent: 2 - uid: 14558 components: - type: Transform - pos: 67.531845,-31.618555 + pos: 68.27531,-32.564243 parent: 2 - proto: ClothingHeadHelmetWizardHelm entities: @@ -43336,7 +44510,7 @@ entities: - type: MetaData desc: Something about this particular mime mask makes you feel like you should run amok across the station... - type: Transform - pos: 83.44597,-72.587036 + pos: 83.56729,-72.486176 parent: 2 - proto: ClothingMultipleHeadphones entities: @@ -43361,27 +44535,27 @@ entities: parent: 2 - proto: ClothingNeckCloakAro entities: - - uid: 17334 + - uid: 8150 components: - type: Transform - pos: 37.522045,-26.442745 + pos: 39.571434,-28.464401 parent: 2 - type: CollisionWake enabled: False - type: Conveyed - proto: ClothingNeckCloakBi entities: - - uid: 17329 + - uid: 6921 components: - type: Transform - pos: 56.517162,-96.50428 + pos: 57.523323,-96.46691 parent: 2 - proto: ClothingNeckCloakEnby entities: - - uid: 17333 + - uid: 13645 components: - type: Transform - pos: 80.59616,-29.47204 + pos: 79.02105,-25.344301 parent: 2 - proto: ClothingNeckCloakGay entities: @@ -43392,10 +44566,10 @@ entities: parent: 2 - proto: ClothingNeckCloakIntersex entities: - - uid: 17327 + - uid: 7509 components: - type: Transform - pos: 103.49843,-45.428753 + pos: 105.5457,-45.44423 parent: 2 - proto: ClothingNeckCloakLesbian entities: @@ -43413,10 +44587,10 @@ entities: parent: 2 - proto: ClothingNeckCloakPan entities: - - uid: 17326 + - uid: 11982 components: - type: Transform - pos: 46.512062,-41.474453 + pos: 44.485863,-38.413647 parent: 2 - proto: ClothingNeckCloakPirateCap entities: @@ -43458,13 +44632,6 @@ entities: - type: Transform pos: -24.46909,-39.37975 parent: 2 -- proto: ClothingOuterApron - entities: - - uid: 19224 - components: - - type: Transform - pos: 48.45174,-29.451004 - parent: 2 - proto: ClothingOuterApronChef entities: - uid: 13574 @@ -43477,48 +44644,41 @@ entities: - uid: 3326 components: - type: Transform - pos: 62.66438,-56.32613 + pos: 62.646404,-48.329308 parent: 2 - uid: 12928 components: - type: Transform - pos: 62.516026,-56.163982 + pos: 62.771404,-48.454395 parent: 2 - uid: 18163 components: - type: Transform - pos: 62.738453,-56.48828 + pos: 62.479736,-48.235493 parent: 2 - proto: ClothingOuterArmorReflective entities: - uid: 13210 components: - type: Transform - pos: 62.456047,-56.506813 + pos: 62.485695,-48.574135 parent: 2 - uid: 13547 components: - type: Transform - pos: 62.19195,-56.32613 + pos: 62.256527,-48.454395 parent: 2 - proto: ClothingOuterArmorRiot entities: - uid: 13853 components: - type: Transform - pos: 67.58277,-31.423977 + pos: 68.61906,-32.512123 parent: 2 - uid: 13944 components: - type: Transform - pos: 67.318886,-31.368382 - parent: 2 -- proto: ClothingOuterCoatExpensive - entities: - - uid: 19228 - components: - - type: Transform - pos: 46.408375,-29.34115 + pos: 68.40031,-32.439156 parent: 2 - proto: ClothingOuterCoatJensen entities: @@ -43537,7 +44697,7 @@ entities: - uid: 16581 components: - type: Transform - pos: 19.3277,-17.56891 + pos: 19.48025,-17.483467 parent: 2 - uid: 19195 components: @@ -43625,14 +44785,14 @@ entities: - uid: 16579 components: - type: Transform - pos: 18.963116,-17.370857 + pos: 19.0115,-17.311592 parent: 2 - proto: ClothingOuterJacketChef entities: - - uid: 17121 + - uid: 11128 components: - type: Transform - pos: -36.48301,-78.397415 + pos: -40.301754,-80.29031 parent: 2 - proto: ClothingOuterNunRobe entities: @@ -43686,13 +44846,6 @@ entities: - type: Transform pos: -5.464688,-51.46298 parent: 2 -- proto: ClothingShoesBootsCowboyFancy - entities: - - uid: 19229 - components: - - type: Transform - pos: 46.68288,-29.752285 - parent: 2 - proto: ClothingShoesBootsMagSci entities: - uid: 203 @@ -43712,10 +44865,10 @@ entities: parent: 2 - proto: ClothingShoesBootsWinterWeb entities: - - uid: 15425 + - uid: 3569 components: - type: Transform - pos: 71.44248,-48.105747 + pos: 71.453255,-53.02562 parent: 2 - proto: ClothingShoesBootsWork entities: @@ -43741,14 +44894,14 @@ entities: - uid: 17526 components: - type: Transform - pos: 83.44124,-72.75265 + pos: 83.45022,-72.70801 parent: 2 - proto: ClothingShoesSlippers entities: - uid: 16481 components: - type: Transform - pos: 43.431202,-16.162926 + pos: 42.48139,-16.580917 parent: 2 - uid: 17390 components: @@ -43786,12 +44939,12 @@ entities: - uid: 12848 components: - type: Transform - pos: 66.41339,-17.527605 + pos: 66.25381,-29.431435 parent: 2 - uid: 18042 components: - type: Transform - pos: 66.45755,-17.432138 + pos: 66.51943,-29.493935 parent: 2 - proto: ClothingUniformJumpskirtLawyerBlack entities: @@ -43822,19 +44975,19 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: 68.67686,-48.527916 + pos: 68.50647,-53.550026 parent: 2 - proto: ClothingUniformJumpsuitColorGrey entities: - uid: 7216 components: - type: Transform - pos: 66.257866,-17.398647 + pos: 66.75381,-29.444597 parent: 2 - uid: 7217 components: - type: Transform - pos: 66.26817,-17.333786 + pos: 66.44131,-29.366472 parent: 2 - proto: ClothingUniformJumpsuitColorMaroon entities: @@ -43895,15 +45048,27 @@ entities: - uid: 7173 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 68.37998,-48.309013 + rot: -1.5707965016404568 rad + pos: 68.14163,-53.268776 parent: 2 - proto: Cobweb1 entities: - - uid: 3719 + - uid: 2933 components: - type: Transform - pos: 40.5,-32.5 + rot: -1.5707963267948966 rad + pos: 71.5,-51.5 + parent: 2 + - uid: 3710 + components: + - type: Transform + pos: 77.5,-69.5 + parent: 2 + - uid: 7574 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 74.5,-39.5 parent: 2 - uid: 8220 components: @@ -43922,18 +45087,6 @@ entities: rot: -1.5707963267948966 rad pos: -56.5,-25.5 parent: 2 - - uid: 13798 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 67.5,-48.5 - parent: 2 - - uid: 16509 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 75.5,-38.5 - parent: 2 - uid: 17713 components: - type: Transform @@ -43952,29 +45105,11 @@ entities: rot: 1.5707963267948966 rad pos: 42.5,-77.5 parent: 2 - - uid: 17717 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 77.5,-69.5 - parent: 2 - uid: 17965 components: - type: Transform pos: 72.5,-25.5 parent: 2 - - uid: 18218 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 44.5,-35.5 - parent: 2 - - uid: 18221 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 46.5,-33.5 - parent: 2 - uid: 18909 components: - type: Transform @@ -43983,27 +45118,27 @@ entities: parent: 2 - proto: Cobweb2 entities: + - uid: 896 + components: + - type: Transform + pos: 74.5,-35.5 + parent: 2 + - uid: 8113 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 76.5,-31.5 + parent: 2 - uid: 8222 components: - type: Transform pos: -44.5,-22.5 parent: 2 - - uid: 13799 - components: - - type: Transform - pos: 71.5,-45.5 - parent: 2 - - uid: 16497 + - uid: 12989 components: - type: Transform rot: 1.5707963267948966 rad - pos: 71.5,-29.5 - parent: 2 - - uid: 16506 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 76.5,-30.5 + pos: 72.5,-29.5 parent: 2 - uid: 16507 components: @@ -44023,30 +45158,26 @@ entities: rot: 3.141592653589793 rad pos: -40.5,-80.5 parent: 2 - - uid: 17722 - components: - - type: Transform - pos: 67.5,-65.5 - parent: 2 - - uid: 18220 - components: - - type: Transform - pos: 40.5,-35.5 - parent: 2 - proto: ComfyChair entities: + - uid: 3465 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,-55.5 + parent: 2 + - uid: 4177 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-51.5 + parent: 2 - uid: 4995 components: - type: Transform rot: 3.141592653589793 rad pos: 24.5,-90.5 parent: 2 - - uid: 6289 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 70.5,-50.5 - parent: 2 - uid: 6724 components: - type: Transform @@ -44109,41 +45240,42 @@ entities: - type: Transform pos: 34.5,-48.5 parent: 2 - - uid: 7734 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 54.5,-57.5 - parent: 2 - - uid: 8089 - components: - - type: Transform - pos: 75.5,-63.5 - parent: 2 - - uid: 8090 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,-65.5 - parent: 2 - - uid: 17170 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 53.5,-57.5 - parent: 2 - - uid: 17683 + - uid: 7110 components: - type: Transform rot: -1.5707963267948966 rad - pos: 68.5,-46.5 + pos: 54.5,-56.5 + parent: 2 + - uid: 7384 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-73.5 + parent: 2 + - uid: 7385 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-73.5 + parent: 2 + - uid: 7388 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-76.5 + parent: 2 + - uid: 10250 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-46.5 parent: 2 - proto: CommandmentCircuitBoard entities: - uid: 18626 components: - type: Transform - pos: 76.992035,-47.50165 + pos: 80.45743,-47.240086 parent: 2 - proto: CommsComputerCircuitboard entities: @@ -44166,18 +45298,18 @@ entities: rot: 1.5707963267948966 rad pos: -31.5,-60.5 parent: 2 + - uid: 7526 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 86.5,-47.5 + parent: 2 - uid: 18594 components: - type: Transform rot: 3.141592653589793 rad pos: 27.5,-71.5 parent: 2 - - uid: 19128 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 84.5,-47.5 - parent: 2 - proto: ComputerAnalysisConsole entities: - uid: 5049 @@ -44281,11 +45413,10 @@ entities: parent: 2 - proto: ComputerCargoOrdersSecurity entities: - - uid: 10561 + - uid: 9332 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-33.5 + pos: 66.5,-37.5 parent: 2 - proto: ComputerCargoOrdersService entities: @@ -44316,12 +45447,6 @@ entities: parent: 2 - proto: ComputerCrewMonitoring entities: - - uid: 3543 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 58.5,-46.5 - parent: 2 - uid: 5109 components: - type: Transform @@ -44334,6 +45459,18 @@ entities: rot: 1.5707963267948966 rad pos: -53.5,-40.5 parent: 2 + - uid: 6370 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-39.5 + parent: 2 + - uid: 12821 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 15.5,-58.5 + parent: 2 - proto: ComputerCriminalRecords entities: - uid: 373 @@ -44342,11 +45479,16 @@ entities: rot: 3.141592653589793 rad pos: -2.5,-14.5 parent: 2 - - uid: 3547 + - uid: 4212 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-39.5 + pos: 68.5,-50.5 + parent: 2 + - uid: 5202 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 64.5,-44.5 parent: 2 - uid: 5542 components: @@ -44360,35 +45502,38 @@ entities: rot: 3.141592653589793 rad pos: 8.5,-50.5 parent: 2 - - uid: 10248 + - uid: 7267 components: - type: Transform rot: -1.5707963267948966 rad - pos: 60.5,-46.5 + pos: 59.5,-39.5 parent: 2 - - uid: 15445 + - uid: 8558 components: - type: Transform - pos: 58.5,-26.5 + pos: 59.5,-26.5 parent: 2 - - uid: 16106 - components: - - type: Transform - pos: 68.5,-45.5 - parent: 2 - - uid: 18166 + - uid: 10244 components: - type: Transform rot: -1.5707963267948966 rad - pos: 72.5,-50.5 + pos: 73.5,-46.5 + parent: 2 +- proto: ComputerFrame + entities: + - uid: 7207 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -39.5,-80.5 parent: 2 - proto: ComputerFundingAllocation entities: - - uid: 19368 + - uid: 15385 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 15.5,-58.5 + rot: 1.5707963267948966 rad + pos: 13.5,-57.5 parent: 2 - proto: ComputerId entities: @@ -44444,17 +45589,17 @@ entities: rot: 1.5707963267948966 rad pos: -53.5,-50.5 parent: 2 + - uid: 7527 + components: + - type: Transform + pos: 86.5,-43.5 + parent: 2 - uid: 10232 components: - type: Transform rot: 1.5707963267948966 rad pos: -31.5,-61.5 parent: 2 - - uid: 18834 - components: - - type: Transform - pos: 84.5,-43.5 - parent: 2 - proto: ComputerRadar entities: - uid: 5514 @@ -44463,11 +45608,11 @@ entities: rot: 1.5707963267948966 rad pos: -54.5,-46.5 parent: 2 - - uid: 6912 + - uid: 17228 components: - type: Transform - rot: 3.141592653589793 rad - pos: 54.5,-101.5 + rot: -1.5707963267948966 rad + pos: 53.5,-103.5 parent: 2 - proto: ComputerResearchAndDevelopment entities: @@ -44493,18 +45638,18 @@ entities: parent: 2 - proto: ComputerSalvageExpedition entities: - - uid: 6904 - components: - - type: Transform - pos: 52.5,-96.5 - parent: 2 -- proto: ComputerSalvageJobBoard - entities: - - uid: 561 + - uid: 6894 components: - type: Transform pos: 53.5,-96.5 parent: 2 +- proto: ComputerSalvageJobBoard + entities: + - uid: 6924 + components: + - type: Transform + pos: 54.5,-96.5 + parent: 2 - proto: ComputerShuttleCargo entities: - uid: 6714 @@ -44544,42 +45689,34 @@ entities: rot: 1.5707963267948966 rad pos: -57.5,-68.5 parent: 2 -- proto: ComputerStationRecords - entities: - - uid: 15486 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-29.5 - parent: 2 - proto: ComputerSurveillanceCameraMonitor entities: - - uid: 374 + - uid: 1158 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-45.5 - parent: 2 - - uid: 7040 - components: - - type: Transform - pos: 69.5,-45.5 + pos: 69.5,-50.5 parent: 2 - uid: 8248 components: - type: Transform pos: -51.5,-36.5 parent: 2 + - uid: 9225 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-38.5 + parent: 2 + - uid: 9288 + components: + - type: Transform + pos: 58.5,-26.5 + parent: 2 - uid: 13269 components: - type: Transform pos: 7.5,-48.5 parent: 2 - - uid: 15489 - components: - - type: Transform - pos: 59.5,-26.5 - parent: 2 - proto: ComputerTelevision entities: - uid: 5478 @@ -44652,6 +45789,18 @@ entities: parent: 2 - proto: ConveyorBelt entities: + - uid: 1073 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 41.5,-27.5 + parent: 2 + - uid: 1140 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 42.5,-27.5 + parent: 2 - uid: 2500 components: - type: Transform @@ -44664,11 +45813,33 @@ entities: rot: 1.5707963267948966 rad pos: 18.5,-84.5 parent: 2 - - uid: 3387 + - uid: 2883 components: - type: Transform rot: -1.5707963267948966 rad - pos: 58.5,-81.5 + pos: 76.5,-67.5 + parent: 2 + - uid: 3168 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 46.5,-29.5 + parent: 2 + - uid: 3314 + components: + - type: Transform + pos: 72.5,-68.5 + parent: 2 + - uid: 3530 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 45.5,-26.5 + parent: 2 + - uid: 3531 + components: + - type: Transform + pos: 46.5,-26.5 parent: 2 - uid: 3681 components: @@ -44676,17 +45847,44 @@ entities: rot: 1.5707963267948966 rad pos: 20.5,-90.5 parent: 2 - - uid: 3792 + - uid: 3717 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 43.5,-26.5 + pos: 45.5,-30.5 parent: 2 - - uid: 3816 + - uid: 3718 + components: + - type: Transform + pos: 45.5,-29.5 + parent: 2 + - uid: 3719 components: - type: Transform rot: 1.5707963267948966 rad - pos: 42.5,-26.5 + pos: 39.5,-28.5 + parent: 2 + - uid: 3720 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 38.5,-28.5 + parent: 2 + - uid: 3721 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 40.5,-28.5 + parent: 2 + - uid: 3725 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 34.5,-28.5 + parent: 2 + - uid: 3729 + components: + - type: Transform + pos: 46.5,-27.5 parent: 2 - uid: 4946 components: @@ -44934,324 +46132,55 @@ entities: - type: Transform pos: 19.5,-84.5 parent: 2 - - uid: 5296 + - uid: 5374 + components: + - type: Transform + pos: 72.5,-73.5 + parent: 2 + - uid: 6139 + components: + - type: Transform + pos: 46.5,-28.5 + parent: 2 + - uid: 6388 components: - type: Transform rot: 1.5707963267948966 rad - pos: 35.5,-26.5 + pos: 35.5,-28.5 parent: 2 - - uid: 5297 + - uid: 6396 components: - type: Transform rot: 1.5707963267948966 rad - pos: 36.5,-26.5 + pos: 37.5,-28.5 parent: 2 - - uid: 5298 + - uid: 6397 components: - type: Transform rot: 1.5707963267948966 rad - pos: 37.5,-26.5 + pos: 43.5,-26.5 parent: 2 - - uid: 5299 + - uid: 6400 components: - type: Transform rot: 1.5707963267948966 rad - pos: 38.5,-26.5 + pos: 40.5,-27.5 parent: 2 - - uid: 5300 + - uid: 6401 components: - type: Transform rot: 1.5707963267948966 rad - pos: 39.5,-26.5 - parent: 2 - - uid: 5301 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 40.5,-26.5 - parent: 2 - - uid: 5302 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 41.5,-26.5 - parent: 2 - - uid: 5306 - components: - - type: Transform - pos: 46.5,-25.5 - parent: 2 - - uid: 5307 - components: - - type: Transform - pos: 46.5,-26.5 - parent: 2 - - uid: 5310 - components: - - type: Transform - pos: 55.5,-26.5 - parent: 2 - - uid: 5311 - components: - - type: Transform - pos: 55.5,-27.5 - parent: 2 - - uid: 5312 - components: - - type: Transform - pos: 55.5,-28.5 - parent: 2 - - uid: 5313 - components: - - type: Transform - pos: 55.5,-29.5 - parent: 2 - - uid: 5314 - components: - - type: Transform - pos: 55.5,-30.5 - parent: 2 - - uid: 5315 - components: - - type: Transform - pos: 55.5,-31.5 - parent: 2 - - uid: 5316 - components: - - type: Transform - pos: 52.5,-32.5 - parent: 2 - - uid: 5317 - components: - - type: Transform - pos: 52.5,-33.5 - parent: 2 - - uid: 5318 - components: - - type: Transform - pos: 55.5,-34.5 - parent: 2 - - uid: 5319 - components: - - type: Transform - pos: 55.5,-35.5 - parent: 2 - - uid: 5320 - components: - - type: Transform - pos: 52.5,-36.5 - parent: 2 - - uid: 5321 - components: - - type: Transform - pos: 52.5,-37.5 - parent: 2 - - uid: 5322 - components: - - type: Transform - pos: 55.5,-38.5 - parent: 2 - - uid: 5323 - components: - - type: Transform - pos: 55.5,-39.5 - parent: 2 - - uid: 5324 - components: - - type: Transform - pos: 55.5,-40.5 - parent: 2 - - uid: 5325 - components: - - type: Transform - pos: 55.5,-41.5 - parent: 2 - - uid: 5326 - components: - - type: Transform - pos: 55.5,-42.5 - parent: 2 - - uid: 5327 - components: - - type: Transform - pos: 55.5,-43.5 - parent: 2 - - uid: 5328 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-44.5 - parent: 2 - - uid: 5329 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,-44.5 - parent: 2 - - uid: 5330 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,-44.5 - parent: 2 - - uid: 5331 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 51.5,-44.5 - parent: 2 - - uid: 5332 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 52.5,-44.5 - parent: 2 - - uid: 5333 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-44.5 - parent: 2 - - uid: 5334 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 49.5,-44.5 - parent: 2 - - uid: 5335 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-36.5 - parent: 2 - - uid: 5336 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,-36.5 - parent: 2 - - uid: 5337 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,-36.5 - parent: 2 - - uid: 5338 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-32.5 - parent: 2 - - uid: 5339 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,-32.5 - parent: 2 - - uid: 5341 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 46.5,-27.5 - parent: 2 - - uid: 5342 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 47.5,-27.5 - parent: 2 - - uid: 5344 - components: - - type: Transform - rot: 3.141592653589793 rad pos: 44.5,-26.5 parent: 2 - - uid: 5350 + - uid: 6403 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 44.5,-25.5 + pos: 72.5,-75.5 parent: 2 - - uid: 5351 + - uid: 6412 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 45.5,-25.5 - parent: 2 - - uid: 5358 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 52.5,-26.5 - parent: 2 - - uid: 5359 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 53.5,-26.5 - parent: 2 - - uid: 5360 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,-26.5 - parent: 2 - - uid: 5361 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 52.5,-34.5 - parent: 2 - - uid: 5362 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 53.5,-34.5 - parent: 2 - - uid: 5363 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,-34.5 - parent: 2 - - uid: 5364 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 52.5,-38.5 - parent: 2 - - uid: 5365 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 53.5,-38.5 - parent: 2 - - uid: 5366 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,-38.5 - parent: 2 - - uid: 5370 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 48.5,-44.5 - parent: 2 - - uid: 6127 - components: - - type: Transform - pos: 61.5,-71.5 - parent: 2 - - uid: 6128 - components: - - type: Transform - pos: 59.5,-73.5 - parent: 2 - - uid: 6129 - components: - - type: Transform - pos: 59.5,-75.5 + pos: 72.5,-74.5 parent: 2 - uid: 6708 components: @@ -45259,145 +46188,152 @@ entities: rot: 3.141592653589793 rad pos: 20.5,-91.5 parent: 2 - - uid: 7132 + - uid: 6868 components: - type: Transform rot: -1.5707963267948966 rad - pos: 59.5,-81.5 + pos: 51.5,-96.5 parent: 2 - - uid: 7133 + - uid: 6918 components: - type: Transform - pos: 59.5,-80.5 + rot: -1.5707963267948966 rad + pos: 49.5,-96.5 parent: 2 - - uid: 7136 + - uid: 7408 components: - type: Transform - pos: 59.5,-78.5 + rot: -1.5707963267948966 rad + pos: 73.5,-68.5 parent: 2 - - uid: 7137 + - uid: 7571 components: - type: Transform - pos: 59.5,-77.5 + rot: -1.5707963267948966 rad + pos: 75.5,-68.5 parent: 2 - - uid: 7139 - components: - - type: Transform - pos: 59.5,-76.5 - parent: 2 - - uid: 7141 - components: - - type: Transform - pos: 59.5,-74.5 - parent: 2 - - uid: 7142 - components: - - type: Transform - pos: 59.5,-72.5 - parent: 2 - - uid: 7143 - components: - - type: Transform - pos: 62.5,-69.5 - parent: 2 - - uid: 7704 + - uid: 7891 components: - type: Transform rot: 1.5707963267948966 rad - pos: 60.5,-66.5 + pos: 36.5,-28.5 parent: 2 - - uid: 7706 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-71.5 - parent: 2 - - uid: 7727 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-72.5 - parent: 2 - - uid: 7728 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-72.5 - parent: 2 - - uid: 7730 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-81.5 - parent: 2 - - uid: 8219 - components: - - type: Transform - pos: 62.5,-70.5 - parent: 2 - - uid: 8566 + - uid: 8075 components: - type: Transform rot: 1.5707963267948966 rad - pos: 50.5,-27.5 + pos: 75.5,-61.5 parent: 2 - - uid: 8580 + - uid: 8077 components: - type: Transform - pos: 59.5,-79.5 + pos: 77.5,-63.5 parent: 2 - - uid: 8637 + - uid: 8089 + components: + - type: Transform + pos: 45.5,-34.5 + parent: 2 + - uid: 8148 + components: + - type: Transform + pos: 45.5,-31.5 + parent: 2 + - uid: 8822 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 76.5,-61.5 + parent: 2 + - uid: 9301 + components: + - type: Transform + pos: 77.5,-61.5 + parent: 2 + - uid: 9305 + components: + - type: Transform + pos: 77.5,-62.5 + parent: 2 + - uid: 10278 + components: + - type: Transform + pos: 77.5,-65.5 + parent: 2 + - uid: 10301 + components: + - type: Transform + pos: 77.5,-66.5 + parent: 2 + - uid: 10306 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 77.5,-67.5 + parent: 2 + - uid: 10703 + components: + - type: Transform + pos: 72.5,-72.5 + parent: 2 + - uid: 10704 + components: + - type: Transform + pos: 72.5,-71.5 + parent: 2 + - uid: 11460 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-68.5 + parent: 2 + - uid: 11690 + components: + - type: Transform + pos: 72.5,-69.5 + parent: 2 + - uid: 11899 + components: + - type: Transform + pos: 75.5,-67.5 + parent: 2 + - uid: 11903 + components: + - type: Transform + pos: 72.5,-70.5 + parent: 2 + - uid: 11978 + components: + - type: Transform + pos: 45.5,-36.5 + parent: 2 + - uid: 11979 + components: + - type: Transform + pos: 45.5,-35.5 + parent: 2 + - uid: 11980 + components: + - type: Transform + pos: 45.5,-33.5 + parent: 2 + - uid: 12955 + components: + - type: Transform + pos: 45.5,-32.5 + parent: 2 + - uid: 12962 components: - type: Transform rot: 3.141592653589793 rad - pos: 52.5,-27.5 - parent: 2 - - uid: 8801 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 61.5,-66.5 - parent: 2 - - uid: 8804 - components: - - type: Transform - pos: 62.5,-67.5 - parent: 2 - - uid: 11693 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,-27.5 - parent: 2 - - uid: 11694 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 49.5,-27.5 - parent: 2 - - uid: 11695 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 51.5,-27.5 - parent: 2 - - uid: 16537 - components: - - type: Transform - pos: 62.5,-66.5 - parent: 2 - - uid: 17406 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,-32.5 + pos: 43.5,-27.5 parent: 2 - proto: CorporateCircuitBoard entities: - uid: 18621 components: - type: Transform - pos: 76.60105,-47.30546 + pos: 80.12597,-47.469414 parent: 2 - proto: CrateArtifactContainer entities: @@ -45413,6 +46349,11 @@ entities: parent: 2 - proto: CrateCoffin entities: + - uid: 3715 + components: + - type: Transform + pos: 34.5,-26.5 + parent: 2 - uid: 5029 components: - type: Transform @@ -45423,24 +46364,24 @@ entities: - type: Transform pos: -21.5,-29.5 parent: 2 - - uid: 10301 + - uid: 7605 components: - type: Transform - pos: 35.5,-25.5 + pos: 35.5,-26.5 parent: 2 - proto: CrateContrabandStorageSecure entities: - - uid: 10331 + - uid: 9219 components: - type: Transform - pos: 60.5,-43.5 + pos: 56.5,-36.5 parent: 2 - proto: CrateEmergencyInternals entities: - - uid: 10756 + - uid: 8086 components: - type: Transform - pos: 57.5,-62.5 + pos: 63.5,-66.5 parent: 2 - proto: CrateEmergencyRadiation entities: @@ -45488,6 +46429,11 @@ entities: - type: Transform pos: 28.5,-11.5 parent: 2 + - uid: 5203 + components: + - type: Transform + pos: 29.5,-11.5 + parent: 2 - proto: CrateEngineeringAMEJar entities: - uid: 8027 @@ -45519,6 +46465,11 @@ entities: - type: Transform pos: -14.5,-64.5 parent: 2 + - uid: 18860 + components: + - type: Transform + pos: 54.5,-70.5 + parent: 2 - proto: CrateEngineeringCableHV entities: - uid: 3369 @@ -45615,11 +46566,6 @@ entities: - type: Transform pos: 27.5,-95.5 parent: 2 - - uid: 17957 - components: - - type: Transform - pos: 33.5,-23.5 - parent: 2 - proto: CrateFreezer entities: - uid: 5993 @@ -45641,27 +46587,11 @@ entities: showEnts: False occludes: True ent: null - - uid: 7043 + - uid: 12842 components: - type: Transform - pos: 46.5,-45.5 + pos: 45.5,-38.5 parent: 2 - - type: ContainerContainer - containers: - entity_storage: !type:Container - showEnts: False - occludes: True - ents: - - 7044 - - 7045 - - 7046 - - 7047 - - 7048 - - 7049 - paper_label: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - uid: 13205 components: - type: Transform @@ -45687,8 +46617,8 @@ entities: immutable: False temperature: 293.14673 moles: - - 1.7459903 - - 6.568249 + - 1.8856695 + - 7.0937095 - 0 - 0 - 0 @@ -45705,45 +46635,27 @@ entities: showEnts: False occludes: True ents: + - 561 + - 5788 + - 6036 - 6024 - - 6026 - 6027 - 6028 - - 6029 - 6030 - 6031 - - 6032 - 6033 - 6034 - 6035 - - 6036 + - 6026 paper_label: !type:ContainerSlot showEnts: False occludes: True ent: null - - uid: 8099 + - uid: 7383 components: - type: Transform - pos: 69.5,-68.5 + pos: 55.5,-65.5 parent: 2 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14673 - moles: - - 1.7459903 - - 6.568249 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - proto: CrateHydroponicsSeeds entities: - uid: 19590 @@ -45779,10 +46691,10 @@ entities: parent: 2 - proto: CrateLockBoxSecurity entities: - - uid: 12856 + - uid: 9795 components: - type: Transform - pos: 66.5,-40.5 + pos: 67.5,-43.5 parent: 2 - proto: CrateLockBoxService entities: @@ -45829,10 +46741,10 @@ entities: parent: 2 - proto: CrateMindShieldImplants entities: - - uid: 16980 + - uid: 6628 components: - type: Transform - pos: 68.5,-35.5 + pos: 68.5,-36.5 parent: 2 - proto: CrateNPCHamlet entities: @@ -45862,17 +46774,17 @@ entities: parent: 2 - proto: CrateSecurityTrackingMindshieldImplants entities: - - uid: 15462 + - uid: 7223 components: - type: Transform - pos: 58.5,-56.5 + pos: 58.5,-48.5 parent: 2 - proto: CrateServiceJanitorialSupplies entities: - - uid: 15413 + - uid: 2158 components: - type: Transform - pos: 60.5,-65.5 + pos: 75.5,-60.5 parent: 2 - proto: CrateSurgery entities: @@ -45915,7 +46827,7 @@ entities: - uid: 19375 components: - type: Transform - pos: 80.55276,-27.64461 + pos: 78.83267,-25.61246 parent: 2 - uid: 19376 components: @@ -45932,14 +46844,11 @@ entities: parent: 2 - proto: CrewMonitoringServer entities: - - uid: 15383 + - uid: 18836 components: - type: Transform - pos: -47.5,-38.5 + pos: 13.5,-16.5 parent: 2 - - type: SingletonDeviceNetServer - active: False - available: False - proto: CriminalRecordsComputerCircuitboard entities: - uid: 18304 @@ -46090,23 +46999,6 @@ entities: - type: Transform pos: 13.567814,-24.401138 parent: 2 -- proto: CrystalSpawner - entities: - - uid: 17343 - components: - - type: Transform - pos: -37.5,-80.5 - parent: 2 - - uid: 17347 - components: - - type: Transform - pos: -40.5,-75.5 - parent: 2 - - uid: 18377 - components: - - type: Transform - pos: -40.5,-77.5 - parent: 2 - proto: CurtainsBlueOpen entities: - uid: 243 @@ -46175,27 +47067,20 @@ entities: parent: 2 - proto: CurtainsRedOpen entities: - - uid: 3030 + - uid: 3568 components: - type: Transform - pos: 66.5,-50.5 + pos: 54.5,-37.5 parent: 2 - - uid: 7094 + - uid: 3868 components: - type: Transform - pos: 57.5,-43.5 + pos: 70.5,-53.5 parent: 2 - - uid: 16272 + - uid: 10277 components: - type: Transform - pos: 71.5,-47.5 - parent: 2 -- proto: CyborgEndoskeleton - entities: - - uid: 17946 - components: - - type: Transform - pos: 35.46804,-15.35495 + pos: 67.5,-46.5 parent: 2 - proto: d6Dice entities: @@ -46233,10 +47118,17 @@ entities: parent: 2 - proto: DefaultStationBeaconAICore entities: - - uid: 16345 + - uid: 7532 components: - type: Transform - pos: 89.5,-45.5 + pos: 92.5,-45.5 + parent: 2 +- proto: DefaultStationBeaconAIUpload + entities: + - uid: 18127 + components: + - type: Transform + pos: 81.5,-45.5 parent: 2 - proto: DefaultStationBeaconAME entities: @@ -46254,11 +47146,6 @@ entities: parent: 2 - proto: DefaultStationBeaconArmory entities: - - uid: 6096 - components: - - type: Transform - pos: 60.5,-57.5 - parent: 2 - uid: 15449 components: - type: Transform @@ -46266,6 +47153,11 @@ entities: parent: 2 - type: NavMapBeacon defaultText: Mini-Armory + - uid: 18100 + components: + - type: Transform + pos: 60.5,-49.5 + parent: 2 - proto: DefaultStationBeaconArrivals entities: - uid: 16222 @@ -46312,10 +47204,10 @@ entities: - type: BombingTarget - proto: DefaultStationBeaconBrigMed entities: - - uid: 7204 + - uid: 18105 components: - type: Transform - pos: 58.5,-32.5 + pos: 51.5,-32.5 parent: 2 - proto: DefaultStationBeaconCaptainsQuarters entities: @@ -46379,17 +47271,17 @@ entities: parent: 2 - proto: DefaultStationBeaconDetectiveRoom entities: - - uid: 6097 + - uid: 18115 components: - type: Transform - pos: 69.5,-52.5 + pos: 70.5,-47.5 parent: 2 - proto: DefaultStationBeaconDisposals entities: - - uid: 13900 + - uid: 11865 components: - type: Transform - pos: 60.5,-69.5 + pos: 75.5,-65.5 parent: 2 - proto: DefaultStationBeaconDorms entities: @@ -46459,10 +47351,10 @@ entities: - type: BombingTarget - proto: DefaultStationBeaconHOSRoom entities: - - uid: 7202 + - uid: 18071 components: - type: Transform - pos: 69.5,-47.5 + pos: 67.5,-51.5 parent: 2 - proto: DefaultStationBeaconJanitorsCloset entities: @@ -46501,22 +47393,12 @@ entities: pos: 14.5,-29.5 parent: 2 - type: BombingTarget -- proto: DefaultStationBeaconMedical - entities: - - uid: 7768 - components: - - type: Transform - pos: 29.5,-16.5 - parent: 2 - - type: NavMapBeacon - defaultText: Virology - - type: BombingTarget - proto: DefaultStationBeaconMorgue entities: - - uid: 16250 + - uid: 8744 components: - type: Transform - pos: 31.5,-27.5 + pos: 31.5,-28.5 parent: 2 - proto: DefaultStationBeaconPermaBrig entities: @@ -46559,12 +47441,11 @@ entities: parent: 2 - proto: DefaultStationBeaconSalvage entities: - - uid: 16262 + - uid: 8736 components: - type: Transform - pos: 51.5,-99.5 + pos: 52.5,-99.5 parent: 2 - - type: BombingTarget - proto: DefaultStationBeaconScience entities: - uid: 16215 @@ -46575,10 +47456,10 @@ entities: - type: BombingTarget - proto: DefaultStationBeaconSecurity entities: - - uid: 7211 + - uid: 18001 components: - type: Transform - pos: 65.5,-42.5 + pos: 59.5,-33.5 parent: 2 - proto: DefaultStationBeaconSecurityCheckpoint entities: @@ -46602,29 +47483,27 @@ entities: pos: -23.5,-71.5 parent: 2 - type: BombingTarget -- proto: DefaultStationBeaconSolars +- proto: DefaultStationBeaconSolarsE entities: - - uid: 16263 + - uid: 8642 components: - type: Transform - pos: 99.5,-45.5 + pos: 101.5,-45.5 parent: 2 - - type: NavMapBeacon - defaultText: Eastern Solars - - uid: 16264 +- proto: DefaultStationBeaconSolarsNW + entities: + - uid: 8763 components: - type: Transform pos: -64.5,-21.5 parent: 2 - - type: NavMapBeacon - defaultText: NW Solars - - uid: 16265 +- proto: DefaultStationBeaconSolarsSW + entities: + - uid: 10671 components: - type: Transform pos: -64.5,-69.5 parent: 2 - - type: NavMapBeacon - defaultText: SW Solars - proto: DefaultStationBeaconTEG entities: - uid: 3076 @@ -46648,13 +47527,6 @@ entities: parent: 2 - type: NavMapBeacon defaultText: Medical Telecoms - - uid: 6093 - components: - - type: Transform - pos: 68.5,-38.5 - parent: 2 - - type: NavMapBeacon - defaultText: Security Telecoms - uid: 7294 components: - type: Transform @@ -46669,10 +47541,10 @@ entities: parent: 2 - type: NavMapBeacon defaultText: Engineer Telecoms - - uid: 12841 + - uid: 8743 components: - type: Transform - pos: 83.5,-47.5 + pos: 85.5,-47.5 parent: 2 - type: NavMapBeacon defaultText: Common Telecoms @@ -46690,6 +47562,13 @@ entities: parent: 2 - type: NavMapBeacon defaultText: Command Telecoms + - uid: 18114 + components: + - type: Transform + pos: 52.5,-28.5 + parent: 2 + - type: NavMapBeacon + defaultText: Security Telecoms - proto: DefaultStationBeaconTheater entities: - uid: 16236 @@ -46717,18 +47596,17 @@ entities: parent: 2 - proto: DefaultStationBeaconVault entities: - - uid: 16229 + - uid: 18573 components: - type: Transform - pos: 10.5,-41.5 + pos: 10.5,-42.5 parent: 2 - - type: BombingTarget - proto: DefaultStationBeaconWardensOffice entities: - - uid: 13933 + - uid: 18066 components: - type: Transform - pos: 58.5,-44.5 + pos: 57.5,-38.5 parent: 2 - proto: Defibrillator entities: @@ -46742,13 +47620,15 @@ entities: - type: Transform pos: -52.604927,-39.291473 parent: 2 -- proto: DefibrillatorCabinetFilled +- proto: DefibrillatorCabinet entities: - - uid: 582 + - uid: 2218 components: - type: Transform - pos: 60.5,-30.5 + pos: 51.5,-30.5 parent: 2 +- proto: DefibrillatorCabinetFilled + entities: - uid: 5238 components: - type: Transform @@ -46770,12 +47650,6 @@ entities: - type: Transform pos: 13.5,-68.5 parent: 2 - - uid: 15334 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 20.5,-24.5 - parent: 2 - uid: 17131 components: - type: Transform @@ -46850,10 +47724,10 @@ entities: parent: 2 - proto: DiseaseDiagnoser entities: - - uid: 908 + - uid: 9610 components: - type: Transform - pos: 28.5,-15.5 + pos: 35.5,-11.5 parent: 2 - proto: DisposalBend entities: @@ -46892,6 +47766,12 @@ entities: rot: 3.141592653589793 rad pos: 19.5,-59.5 parent: 2 + - uid: 1815 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-64.5 + parent: 2 - uid: 2104 components: - type: Transform @@ -46904,11 +47784,17 @@ entities: rot: -1.5707963267948966 rad pos: 29.5,-56.5 parent: 2 - - uid: 2302 + - uid: 3317 components: - type: Transform - rot: 3.141592653589793 rad - pos: 21.5,-27.5 + rot: 1.5707963267948966 rad + pos: 70.5,-64.5 + parent: 2 + - uid: 3352 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 73.5,-61.5 parent: 2 - uid: 3385 components: @@ -46916,30 +47802,12 @@ entities: rot: -1.5707963267948966 rad pos: 28.5,-57.5 parent: 2 - - uid: 3602 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-47.5 - parent: 2 - uid: 3603 components: - type: Transform rot: 1.5707963267948966 rad pos: 64.5,-29.5 parent: 2 - - uid: 4266 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 60.5,-46.5 - parent: 2 - - uid: 4272 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-51.5 - parent: 2 - uid: 4288 components: - type: Transform @@ -46951,29 +47819,11 @@ entities: rot: 1.5707963267948966 rad pos: 20.5,-70.5 parent: 2 - - uid: 5193 + - uid: 6359 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,-70.5 - parent: 2 - - uid: 5730 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 58.5,-67.5 - parent: 2 - - uid: 5734 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 59.5,-66.5 - parent: 2 - - uid: 5736 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-67.5 + rot: 3.141592653589793 rad + pos: 40.5,-44.5 parent: 2 - uid: 6408 components: @@ -46990,27 +47840,15 @@ entities: - type: Transform pos: 15.5,-64.5 parent: 2 - - uid: 7258 + - uid: 7232 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-70.5 + pos: 22.5,-25.5 parent: 2 - - uid: 7306 + - uid: 7565 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,-76.5 - parent: 2 - - uid: 7707 - components: - - type: Transform - pos: 22.5,-27.5 - parent: 2 - - uid: 7759 - components: - - type: Transform - pos: 63.5,-46.5 + pos: 35.5,-29.5 parent: 2 - uid: 7890 components: @@ -47034,17 +47872,6 @@ entities: - type: Transform pos: 9.5,-67.5 parent: 2 - - uid: 7928 - components: - - type: Transform - pos: -16.5,-56.5 - parent: 2 - - uid: 7942 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 48.5,-53.5 - parent: 2 - uid: 7996 components: - type: Transform @@ -47054,14 +47881,80 @@ entities: - uid: 8411 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,-56.5 + rot: -1.5707963267948966 rad + pos: 61.5,-42.5 parent: 2 - - uid: 8576 + - uid: 8516 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-76.5 + parent: 2 + - uid: 8517 components: - type: Transform rot: 1.5707963267948966 rad - pos: 62.5,-43.5 + pos: 56.5,-75.5 + parent: 2 + - uid: 8518 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-75.5 + parent: 2 + - uid: 8519 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 61.5,-74.5 + parent: 2 + - uid: 8520 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-74.5 + parent: 2 + - uid: 8521 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-73.5 + parent: 2 + - uid: 8522 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-73.5 + parent: 2 + - uid: 8523 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-72.5 + parent: 2 + - uid: 8527 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-72.5 + parent: 2 + - uid: 8528 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-71.5 + parent: 2 + - uid: 8529 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-71.5 + parent: 2 + - uid: 8593 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -16.5,-58.5 parent: 2 - uid: 8720 components: @@ -47104,35 +47997,51 @@ entities: rot: -1.5707963267948966 rad pos: -33.5,-65.5 parent: 2 - - uid: 8865 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-30.5 - parent: 2 - uid: 8927 components: - type: Transform rot: -1.5707963267948966 rad pos: -2.5,-40.5 parent: 2 - - uid: 8960 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,-51.5 - parent: 2 - - uid: 9337 + - uid: 8975 components: - type: Transform rot: 3.141592653589793 rad - pos: 63.5,-49.5 + pos: 54.5,-42.5 parent: 2 - - uid: 10324 + - uid: 9204 components: - type: Transform rot: -1.5707963267948966 rad - pos: 43.5,-54.5 + pos: 64.5,-32.5 + parent: 2 + - uid: 9540 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-39.5 + parent: 2 + - uid: 9675 + components: + - type: Transform + pos: 62.5,-38.5 + parent: 2 + - uid: 10333 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 30.5,-24.5 + parent: 2 + - uid: 10339 + components: + - type: Transform + pos: 30.5,-17.5 + parent: 2 + - uid: 10393 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 25.5,-24.5 parent: 2 - uid: 10517 components: @@ -47140,11 +48049,17 @@ entities: rot: 1.5707963267948966 rad pos: 17.5,-64.5 parent: 2 - - uid: 12579 + - uid: 11937 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-29.5 + parent: 2 + - uid: 13637 components: - type: Transform rot: 1.5707963267948966 rad - pos: 43.5,-53.5 + pos: 37.5,-76.5 parent: 2 - uid: 14239 components: @@ -47152,16 +48067,6 @@ entities: rot: 1.5707963267948966 rad pos: 27.5,-57.5 parent: 2 - - uid: 14287 - components: - - type: Transform - pos: 66.5,-43.5 - parent: 2 - - uid: 14700 - components: - - type: Transform - pos: 25.5,-30.5 - parent: 2 - uid: 14850 components: - type: Transform @@ -47218,23 +48123,18 @@ entities: rot: -1.5707963267948966 rad pos: 22.5,-37.5 parent: 2 - - uid: 14927 - components: - - type: Transform - pos: 1.5,-52.5 - parent: 2 - - uid: 14928 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-53.5 - parent: 2 - uid: 14966 components: - type: Transform rot: -1.5707963267948966 rad pos: 39.5,-53.5 parent: 2 + - uid: 15383 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 37.5,-78.5 + parent: 2 - uid: 15510 components: - type: Transform @@ -47259,18 +48159,6 @@ entities: rot: 1.5707963267948966 rad pos: 34.5,-78.5 parent: 2 - - uid: 15545 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 38.5,-78.5 - parent: 2 - - uid: 15546 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 38.5,-76.5 - parent: 2 - uid: 15552 components: - type: Transform @@ -47414,11 +48302,6 @@ entities: rot: 3.141592653589793 rad pos: 11.5,-11.5 parent: 2 - - uid: 15849 - components: - - type: Transform - pos: 23.5,-13.5 - parent: 2 - uid: 15867 components: - type: Transform @@ -47537,6 +48420,84 @@ entities: rot: 1.5707963267948966 rad pos: 28.5,-56.5 parent: 2 + - uid: 16483 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 55.5,-53.5 + parent: 2 + - uid: 16497 + components: + - type: Transform + pos: 56.5,-53.5 + parent: 2 + - uid: 16506 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-54.5 + parent: 2 + - uid: 16509 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-57.5 + parent: 2 + - uid: 16510 + components: + - type: Transform + pos: 71.5,-57.5 + parent: 2 + - uid: 16571 + components: + - type: Transform + pos: 70.5,-56.5 + parent: 2 + - uid: 16572 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-56.5 + parent: 2 + - uid: 16573 + components: + - type: Transform + pos: 59.5,-55.5 + parent: 2 + - uid: 16574 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-55.5 + parent: 2 + - uid: 16575 + components: + - type: Transform + pos: 58.5,-54.5 + parent: 2 + - uid: 16586 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 61.5,-32.5 + parent: 2 + - uid: 16640 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-44.5 + parent: 2 + - uid: 16641 + components: + - type: Transform + pos: 65.5,-36.5 + parent: 2 + - uid: 16643 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-44.5 + parent: 2 - uid: 16937 components: - type: Transform @@ -47554,11 +48515,6 @@ entities: - type: Transform pos: 8.5,-61.5 parent: 2 - - uid: 18372 - components: - - type: Transform - pos: 21.5,-25.5 - parent: 2 - uid: 19369 components: - type: Transform @@ -47571,16 +48527,11 @@ entities: rot: 3.141592653589793 rad pos: 25.5,-77.5 parent: 2 - - uid: 19542 + - uid: 19744 components: - type: Transform rot: 3.141592653589793 rad - pos: 28.5,-28.5 - parent: 2 - - uid: 19543 - components: - - type: Transform - pos: 35.5,-28.5 + pos: 0.5,-53.5 parent: 2 - proto: DisposalJunction entities: @@ -47606,17 +48557,22 @@ entities: - type: Transform pos: 26.5,-77.5 parent: 2 - - uid: 8806 + - uid: 7969 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-46.5 + rot: 1.5707963267948966 rad + pos: -15.5,-56.5 parent: 2 - - uid: 10673 + - uid: 8978 components: - type: Transform rot: -1.5707963267948966 rad - pos: 64.5,-43.5 + pos: 62.5,-32.5 + parent: 2 + - uid: 9871 + components: + - type: Transform + pos: 7.5,-60.5 parent: 2 - uid: 15507 components: @@ -47659,27 +48615,33 @@ entities: parent: 2 - proto: DisposalJunctionFlipped entities: - - uid: 529 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 28.5,-23.5 - parent: 2 - uid: 8061 components: - type: Transform rot: 1.5707963267948966 rad pos: 8.5,-67.5 parent: 2 - - uid: 8795 + - uid: 8594 components: - type: Transform - pos: 29.5,-54.5 + rot: 1.5707963267948966 rad + pos: 71.5,-64.5 parent: 2 - - uid: 10661 + - uid: 8596 components: - type: Transform - pos: 64.5,-31.5 + rot: 3.141592653589793 rad + pos: -15.5,-58.5 + parent: 2 + - uid: 9669 + components: + - type: Transform + pos: 61.5,-39.5 + parent: 2 + - uid: 9798 + components: + - type: Transform + pos: 7.5,-59.5 parent: 2 - uid: 15537 components: @@ -47703,12 +48665,6 @@ entities: - type: Transform pos: 25.5,-32.5 parent: 2 - - uid: 15694 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 23.5,-23.5 - parent: 2 - uid: 15703 components: - type: Transform @@ -47733,19 +48689,13 @@ entities: rot: 1.5707963267948966 rad pos: -43.5,-48.5 parent: 2 - - uid: 19472 + - uid: 16582 components: - type: Transform - rot: 3.141592653589793 rad - pos: -15.5,-59.5 + pos: 61.5,-36.5 parent: 2 - proto: DisposalPipe entities: - - uid: 285 - components: - - type: Transform - pos: 21.5,-26.5 - parent: 2 - uid: 339 components: - type: Transform @@ -47805,39 +48755,32 @@ entities: - type: Transform pos: 20.5,-71.5 parent: 2 + - uid: 2960 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 38.5,-76.5 + parent: 2 + - uid: 3058 + components: + - type: Transform + pos: 37.5,-77.5 + parent: 2 + - uid: 3329 + components: + - type: Transform + pos: 73.5,-63.5 + parent: 2 - uid: 3350 components: - type: Transform - rot: 3.141592653589793 rad - pos: 56.5,-73.5 + pos: 73.5,-62.5 parent: 2 - uid: 3351 components: - type: Transform rot: 1.5707963267948966 rad - pos: 57.5,-70.5 - parent: 2 - - uid: 3352 - components: - - type: Transform - pos: 58.5,-68.5 - parent: 2 - - uid: 3353 - components: - - type: Transform - pos: 58.5,-69.5 - parent: 2 - - uid: 3354 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 56.5,-74.5 - parent: 2 - - uid: 3355 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 56.5,-75.5 + pos: 72.5,-64.5 parent: 2 - uid: 3383 components: @@ -47845,29 +48788,6 @@ entities: rot: 3.141592653589793 rad pos: 2.5,-69.5 parent: 2 - - uid: 3455 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-48.5 - parent: 2 - - uid: 3456 - components: - - type: Transform - pos: 64.5,-32.5 - parent: 2 - - uid: 3461 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-49.5 - parent: 2 - - uid: 3462 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-50.5 - parent: 2 - uid: 3776 components: - type: Transform @@ -47880,17 +48800,6 @@ entities: rot: 1.5707963267948966 rad pos: -43.5,-65.5 parent: 2 - - uid: 3961 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-48.5 - parent: 2 - - uid: 4165 - components: - - type: Transform - pos: 64.5,-40.5 - parent: 2 - uid: 4351 components: - type: Transform @@ -47909,17 +48818,21 @@ entities: rot: 1.5707963267948966 rad pos: -9.5,-20.5 parent: 2 - - uid: 5373 + - uid: 5381 components: - type: Transform - rot: 3.141592653589793 rad - pos: 56.5,-71.5 + pos: 22.5,-27.5 parent: 2 - - uid: 5374 + - uid: 5430 components: - type: Transform - rot: 3.141592653589793 rad - pos: 56.5,-72.5 + pos: 22.5,-26.5 + parent: 2 + - uid: 5445 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-25.5 parent: 2 - uid: 5732 components: @@ -47931,53 +48844,28 @@ entities: - type: Transform pos: -7.5,-28.5 parent: 2 - - uid: 6065 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-47.5 - parent: 2 - uid: 6084 components: - type: Transform pos: 64.5,-30.5 parent: 2 - - uid: 6087 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-49.5 - parent: 2 - - uid: 6088 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-47.5 - parent: 2 - - uid: 6089 - components: - - type: Transform - pos: 64.5,-33.5 - parent: 2 - - uid: 6090 - components: - - type: Transform - pos: 64.5,-34.5 - parent: 2 - uid: 6351 components: - type: Transform - pos: 40.5,-45.5 + rot: 1.5707963267948966 rad + pos: 41.5,-44.5 parent: 2 - - uid: 6409 + - uid: 6355 components: - type: Transform - pos: 40.5,-46.5 + rot: 1.5707963267948966 rad + pos: 42.5,-44.5 parent: 2 - uid: 6414 components: - type: Transform - pos: 40.5,-44.5 + rot: 1.5707963267948966 rad + pos: 43.5,-44.5 parent: 2 - uid: 6426 components: @@ -48031,67 +48919,94 @@ entities: - type: Transform pos: 40.5,-42.5 parent: 2 + - uid: 7028 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 1.5,-53.5 + parent: 2 + - uid: 7049 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 31.5,-29.5 + parent: 2 + - uid: 7050 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 33.5,-29.5 + parent: 2 + - uid: 7053 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 34.5,-29.5 + parent: 2 + - uid: 7054 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 32.5,-29.5 + parent: 2 - uid: 7106 components: - type: Transform rot: -1.5707963267948966 rad pos: 19.5,-64.5 parent: 2 - - uid: 7110 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-43.5 - parent: 2 - - uid: 7111 - components: - - type: Transform - pos: 66.5,-46.5 - parent: 2 - uid: 7145 components: - type: Transform rot: -1.5707963267948966 rad pos: 45.5,-76.5 parent: 2 - - uid: 7224 + - uid: 7292 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-28.5 + parent: 2 + - uid: 7338 components: - type: Transform rot: 1.5707963267948966 rad - pos: 52.5,-51.5 + pos: 29.5,-29.5 parent: 2 - - uid: 7235 - components: - - type: Transform - pos: 64.5,-37.5 - parent: 2 - - uid: 7236 + - uid: 7372 components: - type: Transform rot: 1.5707963267948966 rad - pos: 55.5,-51.5 - parent: 2 - - uid: 7311 - components: - - type: Transform - pos: 64.5,-39.5 - parent: 2 - - uid: 7891 - components: - - type: Transform - pos: -15.5,-58.5 + pos: 30.5,-29.5 parent: 2 - uid: 7914 components: - type: Transform pos: -15.5,-60.5 parent: 2 + - uid: 7928 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -16.5,-56.5 + parent: 2 + - uid: 7942 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 56.5,-42.5 + parent: 2 - uid: 7968 components: - type: Transform rot: -1.5707963267948966 rad pos: 12.5,-72.5 parent: 2 + - uid: 7993 + components: + - type: Transform + pos: 55.5,-44.5 + parent: 2 - uid: 8060 components: - type: Transform @@ -48128,25 +49043,117 @@ entities: rot: 3.141592653589793 rad pos: 9.5,-69.5 parent: 2 - - uid: 8231 - components: - - type: Transform - pos: 24.5,-27.5 - parent: 2 - uid: 8376 components: - type: Transform pos: 22.5,-28.5 parent: 2 - - uid: 8377 + - uid: 8435 components: - type: Transform - pos: 24.5,-25.5 + rot: 3.141592653589793 rad + pos: 61.5,-41.5 parent: 2 - - uid: 8378 + - uid: 8530 components: - type: Transform - pos: 24.5,-24.5 + rot: 3.141592653589793 rad + pos: 70.5,-65.5 + parent: 2 + - uid: 8531 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-66.5 + parent: 2 + - uid: 8532 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-67.5 + parent: 2 + - uid: 8533 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-68.5 + parent: 2 + - uid: 8534 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-69.5 + parent: 2 + - uid: 8535 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-70.5 + parent: 2 + - uid: 8536 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-71.5 + parent: 2 + - uid: 8537 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 68.5,-71.5 + parent: 2 + - uid: 8538 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-72.5 + parent: 2 + - uid: 8539 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-73.5 + parent: 2 + - uid: 8540 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 62.5,-74.5 + parent: 2 + - uid: 8541 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 60.5,-75.5 + parent: 2 + - uid: 8542 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 59.5,-75.5 + parent: 2 + - uid: 8543 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-75.5 + parent: 2 + - uid: 8544 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-75.5 + parent: 2 + - uid: 8553 + components: + - type: Transform + pos: 25.5,-28.5 + parent: 2 + - uid: 8561 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 29.5,-54.5 parent: 2 - uid: 8581 components: @@ -48154,20 +49161,17 @@ entities: rot: 1.5707963267948966 rad pos: -16.5,-61.5 parent: 2 - - uid: 8607 + - uid: 8597 components: - type: Transform - pos: 24.5,-26.5 + rot: 1.5707963267948966 rad + pos: 60.5,-42.5 parent: 2 - - uid: 8610 + - uid: 8598 components: - type: Transform - pos: 24.5,-28.5 - parent: 2 - - uid: 8617 - components: - - type: Transform - pos: 24.5,-29.5 + rot: 1.5707963267948966 rad + pos: 59.5,-42.5 parent: 2 - uid: 8619 components: @@ -48189,6 +49193,12 @@ entities: - type: Transform pos: -2.5,-37.5 parent: 2 + - uid: 8688 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-42.5 + parent: 2 - uid: 8696 components: - type: Transform @@ -48206,6 +49216,17 @@ entities: rot: 3.141592653589793 rad pos: 4.5,-41.5 parent: 2 + - uid: 8749 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-42.5 + parent: 2 + - uid: 8795 + components: + - type: Transform + pos: 55.5,-46.5 + parent: 2 - uid: 8796 components: - type: Transform @@ -48296,42 +49317,18 @@ entities: rot: 3.141592653589793 rad pos: 4.5,-39.5 parent: 2 - - uid: 8975 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 44.5,-53.5 - parent: 2 - - uid: 8977 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 45.5,-53.5 - parent: 2 - - uid: 8978 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 46.5,-53.5 - parent: 2 - - uid: 8979 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 47.5,-53.5 - parent: 2 - - uid: 8994 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 25.5,-23.5 - parent: 2 - uid: 9037 components: - type: Transform rot: -1.5707963267948966 rad pos: -37.5,-65.5 parent: 2 + - uid: 9252 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 64.5,-31.5 + parent: 2 - uid: 9260 components: - type: Transform @@ -48386,53 +49383,147 @@ entities: rot: -1.5707963267948966 rad pos: 50.5,-76.5 parent: 2 - - uid: 9288 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-44.5 - parent: 2 - - uid: 9289 + - uid: 9334 components: - type: Transform rot: 1.5707963267948966 rad - pos: 63.5,-43.5 - parent: 2 - - uid: 9290 - components: - - type: Transform - pos: 66.5,-44.5 - parent: 2 - - uid: 9291 - components: - - type: Transform - pos: 66.5,-45.5 - parent: 2 - - uid: 9292 - components: - - type: Transform - pos: 64.5,-42.5 + pos: 63.5,-32.5 parent: 2 - uid: 9429 components: - type: Transform pos: -2.5,-33.5 parent: 2 + - uid: 9676 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-40.5 + parent: 2 + - uid: 9678 + components: + - type: Transform + pos: 55.5,-43.5 + parent: 2 + - uid: 9697 + components: + - type: Transform + pos: 55.5,-45.5 + parent: 2 + - uid: 9722 + components: + - type: Transform + pos: 55.5,-47.5 + parent: 2 + - uid: 9882 + components: + - type: Transform + pos: 25.5,-27.5 + parent: 2 + - uid: 9883 + components: + - type: Transform + pos: 30.5,-21.5 + parent: 2 + - uid: 9884 + components: + - type: Transform + pos: 25.5,-26.5 + parent: 2 - uid: 9906 components: - type: Transform rot: 3.141592653589793 rad pos: 4.5,-43.5 parent: 2 - - uid: 10327 + - uid: 10280 components: - type: Transform - pos: 64.5,-38.5 + pos: 25.5,-25.5 parent: 2 - - uid: 10761 + - uid: 10284 components: - type: Transform - pos: 64.5,-41.5 + rot: -1.5707963267948966 rad + pos: 29.5,-24.5 + parent: 2 + - uid: 10295 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.5,-24.5 + parent: 2 + - uid: 10296 + components: + - type: Transform + pos: 25.5,-29.5 + parent: 2 + - uid: 10297 + components: + - type: Transform + pos: 25.5,-30.5 + parent: 2 + - uid: 10319 + components: + - type: Transform + pos: 55.5,-51.5 + parent: 2 + - uid: 10330 + components: + - type: Transform + pos: 55.5,-52.5 + parent: 2 + - uid: 10331 + components: + - type: Transform + pos: 30.5,-22.5 + parent: 2 + - uid: 10396 + components: + - type: Transform + pos: 30.5,-18.5 + parent: 2 + - uid: 10398 + components: + - type: Transform + pos: 30.5,-19.5 + parent: 2 + - uid: 10409 + components: + - type: Transform + pos: 30.5,-20.5 + parent: 2 + - uid: 10410 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-24.5 + parent: 2 + - uid: 10435 + components: + - type: Transform + pos: 55.5,-50.5 + parent: 2 + - uid: 10498 + components: + - type: Transform + pos: 30.5,-23.5 + parent: 2 + - uid: 10511 + components: + - type: Transform + pos: 55.5,-49.5 + parent: 2 + - uid: 10515 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 27.5,-24.5 + parent: 2 + - uid: 10561 + components: + - type: Transform + pos: 55.5,-48.5 parent: 2 - uid: 11088 components: @@ -48440,76 +49531,12 @@ entities: rot: 3.141592653589793 rad pos: 2.5,-68.5 parent: 2 - - uid: 11667 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-46.5 - parent: 2 - - uid: 11703 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 59.5,-51.5 - parent: 2 - - uid: 11704 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-51.5 - parent: 2 - - uid: 11705 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,-51.5 - parent: 2 - uid: 13153 components: - type: Transform rot: 3.141592653589793 rad pos: 4.5,-44.5 parent: 2 - - uid: 13821 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 50.5,-51.5 - parent: 2 - - uid: 13935 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 58.5,-51.5 - parent: 2 - - uid: 13936 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,-51.5 - parent: 2 - - uid: 13937 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 53.5,-51.5 - parent: 2 - - uid: 13940 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-45.5 - parent: 2 - - uid: 14344 - components: - - type: Transform - pos: 64.5,-36.5 - parent: 2 - - uid: 14357 - components: - - type: Transform - pos: 64.5,-35.5 - parent: 2 - uid: 14451 components: - type: Transform @@ -49211,12 +50238,6 @@ entities: rot: -1.5707963267948966 rad pos: 39.5,-76.5 parent: 2 - - uid: 15526 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 38.5,-77.5 - parent: 2 - uid: 15527 components: - type: Transform @@ -49229,12 +50250,6 @@ entities: rot: 1.5707963267948966 rad pos: 36.5,-78.5 parent: 2 - - uid: 15529 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 37.5,-78.5 - parent: 2 - uid: 15530 components: - type: Transform @@ -49580,11 +50595,6 @@ entities: rot: 1.5707963267948966 rad pos: 8.5,-59.5 parent: 2 - - uid: 15633 - components: - - type: Transform - pos: 7.5,-60.5 - parent: 2 - uid: 15641 components: - type: Transform @@ -49776,30 +50786,6 @@ entities: rot: 1.5707963267948966 rad pos: 22.5,-23.5 parent: 2 - - uid: 15696 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-23.5 - parent: 2 - - uid: 15697 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-23.5 - parent: 2 - - uid: 15699 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-23.5 - parent: 2 - - uid: 15700 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 26.5,-23.5 - parent: 2 - uid: 15704 components: - type: Transform @@ -50270,51 +51256,6 @@ entities: rot: 1.5707963267948966 rad pos: 14.5,-13.5 parent: 2 - - uid: 15850 - components: - - type: Transform - pos: 23.5,-22.5 - parent: 2 - - uid: 15851 - components: - - type: Transform - pos: 23.5,-21.5 - parent: 2 - - uid: 15852 - components: - - type: Transform - pos: 23.5,-20.5 - parent: 2 - - uid: 15853 - components: - - type: Transform - pos: 23.5,-19.5 - parent: 2 - - uid: 15854 - components: - - type: Transform - pos: 23.5,-18.5 - parent: 2 - - uid: 15855 - components: - - type: Transform - pos: 23.5,-17.5 - parent: 2 - - uid: 15856 - components: - - type: Transform - pos: 23.5,-16.5 - parent: 2 - - uid: 15857 - components: - - type: Transform - pos: 23.5,-15.5 - parent: 2 - - uid: 15858 - components: - - type: Transform - pos: 23.5,-14.5 - parent: 2 - uid: 15859 components: - type: Transform @@ -50980,84 +51921,6 @@ entities: - type: Transform pos: 29.5,-53.5 parent: 2 - - uid: 16028 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 30.5,-54.5 - parent: 2 - - uid: 16029 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 31.5,-54.5 - parent: 2 - - uid: 16030 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 32.5,-54.5 - parent: 2 - - uid: 16031 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 33.5,-54.5 - parent: 2 - - uid: 16032 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 34.5,-54.5 - parent: 2 - - uid: 16033 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 35.5,-54.5 - parent: 2 - - uid: 16034 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 36.5,-54.5 - parent: 2 - - uid: 16035 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 37.5,-54.5 - parent: 2 - - uid: 16036 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 38.5,-54.5 - parent: 2 - - uid: 16037 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 39.5,-54.5 - parent: 2 - - uid: 16038 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 40.5,-54.5 - parent: 2 - - uid: 16039 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 41.5,-54.5 - parent: 2 - - uid: 16040 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-54.5 - parent: 2 - uid: 16057 components: - type: Transform @@ -51244,22 +52107,197 @@ entities: - type: Transform pos: -47.5,-36.5 parent: 2 + - uid: 16523 + components: + - type: Transform + pos: 71.5,-63.5 + parent: 2 + - uid: 16528 + components: + - type: Transform + pos: 71.5,-62.5 + parent: 2 + - uid: 16529 + components: + - type: Transform + pos: 71.5,-61.5 + parent: 2 + - uid: 16537 + components: + - type: Transform + pos: 71.5,-60.5 + parent: 2 + - uid: 16538 + components: + - type: Transform + pos: 71.5,-59.5 + parent: 2 + - uid: 16539 + components: + - type: Transform + pos: 71.5,-58.5 + parent: 2 + - uid: 16541 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-56.5 + parent: 2 + - uid: 16542 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-56.5 + parent: 2 + - uid: 16551 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-56.5 + parent: 2 + - uid: 16552 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-56.5 + parent: 2 + - uid: 16563 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-56.5 + parent: 2 + - uid: 16565 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-56.5 + parent: 2 + - uid: 16566 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-56.5 + parent: 2 + - uid: 16567 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-56.5 + parent: 2 + - uid: 16568 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-56.5 + parent: 2 + - uid: 16570 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-56.5 + parent: 2 + - uid: 16577 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-54.5 + parent: 2 + - uid: 16578 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-37.5 + parent: 2 + - uid: 16583 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-35.5 + parent: 2 + - uid: 16584 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-34.5 + parent: 2 + - uid: 16585 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-33.5 + parent: 2 + - uid: 16803 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-36.5 + parent: 2 + - uid: 16808 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-36.5 + parent: 2 + - uid: 16809 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-36.5 + parent: 2 + - uid: 16861 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-37.5 + parent: 2 + - uid: 16862 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-38.5 + parent: 2 - uid: 16863 components: - type: Transform - pos: 48.5,-52.5 + rot: 3.141592653589793 rad + pos: 65.5,-39.5 parent: 2 - uid: 16864 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 49.5,-51.5 + rot: 3.141592653589793 rad + pos: 65.5,-40.5 + parent: 2 + - uid: 16865 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-41.5 + parent: 2 + - uid: 16866 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-42.5 parent: 2 - uid: 16867 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-43.5 + parent: 2 + - uid: 16868 components: - type: Transform rot: 1.5707963267948966 rad - pos: 51.5,-51.5 + pos: 67.5,-44.5 + parent: 2 + - uid: 16869 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-44.5 parent: 2 - uid: 16938 components: @@ -51319,12 +52357,6 @@ entities: - type: Transform pos: 25.5,-59.5 parent: 2 - - uid: 18341 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 20.5,-25.5 - parent: 2 - uid: 19453 components: - type: Transform @@ -51415,16 +52447,6 @@ entities: - type: Transform pos: -15.5,-57.5 parent: 2 - - uid: 19474 - components: - - type: Transform - pos: -16.5,-57.5 - parent: 2 - - uid: 19475 - components: - - type: Transform - pos: -16.5,-58.5 - parent: 2 - uid: 19482 components: - type: Transform @@ -51448,54 +52470,13 @@ entities: rot: 3.141592653589793 rad pos: 28.5,-27.5 parent: 2 - - uid: 19546 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-28.5 - parent: 2 - - uid: 19547 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-28.5 - parent: 2 - - uid: 19548 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 31.5,-28.5 - parent: 2 - - uid: 19549 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 32.5,-28.5 - parent: 2 - - uid: 19550 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 33.5,-28.5 - parent: 2 - - uid: 19551 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 34.5,-28.5 - parent: 2 - proto: DisposalPipeBroken entities: - - uid: 7201 + - uid: 3337 components: - type: Transform rot: -1.5707963267948966 rad - pos: 60.5,-66.5 - parent: 2 - - uid: 14973 - components: - - type: Transform - pos: 39.5,-47.5 + pos: 74.5,-61.5 parent: 2 - proto: DisposalTrunk entities: @@ -51540,41 +52521,56 @@ entities: - type: Transform pos: 31.5,-37.5 parent: 2 + - uid: 5302 + components: + - type: Transform + pos: 0.5,-52.5 + parent: 2 - uid: 5801 components: - type: Transform rot: 1.5707963267948966 rad pos: -8.5,-29.5 parent: 2 - - uid: 6359 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 40.5,-47.5 - parent: 2 - uid: 6577 components: - type: Transform rot: 3.141592653589793 rad pos: 17.5,-65.5 parent: 2 - - uid: 7908 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-31.5 - parent: 2 - - uid: 7913 + - uid: 7204 components: - type: Transform rot: 1.5707963267948966 rad - pos: 6.5,-59.5 + pos: 20.5,-25.5 parent: 2 - - uid: 10337 + - uid: 8960 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-49.5 + rot: 1.5707963267948966 rad + pos: 6.5,-60.5 + parent: 2 + - uid: 8979 + components: + - type: Transform + pos: 62.5,-31.5 + parent: 2 + - uid: 9040 + components: + - type: Transform + pos: 54.5,-41.5 + parent: 2 + - uid: 10290 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 29.5,-17.5 + parent: 2 + - uid: 11914 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 35.5,-30.5 parent: 2 - uid: 14678 components: @@ -51587,12 +52583,6 @@ entities: - type: Transform pos: 0.5,-57.5 parent: 2 - - uid: 14926 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 0.5,-52.5 - parent: 2 - uid: 15393 components: - type: Transform @@ -51632,12 +52622,6 @@ entities: rot: -1.5707963267948966 rad pos: 26.5,-32.5 parent: 2 - - uid: 15670 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 31.5,-23.5 - parent: 2 - uid: 15671 components: - type: Transform @@ -51700,6 +52684,11 @@ entities: - type: Transform pos: -47.5,-35.5 parent: 2 + - uid: 16644 + components: + - type: Transform + pos: 68.5,-43.5 + parent: 2 - uid: 17024 components: - type: Transform @@ -51733,17 +52722,10 @@ entities: rot: -1.5707963267948966 rad pos: 21.5,-70.5 parent: 2 - - uid: 18105 + - uid: 17987 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-47.5 - parent: 2 - - uid: 18280 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 19.5,-25.5 + pos: 39.5,-47.5 parent: 2 - uid: 19367 components: @@ -51751,11 +52733,11 @@ entities: rot: -1.5707963267948966 rad pos: -19.5,-49.5 parent: 2 - - uid: 19544 + - uid: 19749 components: - type: Transform - rot: 3.141592653589793 rad - pos: 35.5,-29.5 + rot: -1.5707963267948966 rad + pos: 44.5,-44.5 parent: 2 - proto: DisposalUnit entities: @@ -51774,11 +52756,6 @@ entities: - type: Transform pos: 2.5,-70.5 parent: 2 - - uid: 2320 - components: - - type: Transform - pos: 35.5,-29.5 - parent: 2 - uid: 2465 components: - type: Transform @@ -51794,6 +52771,21 @@ entities: - type: Transform pos: -38.5,-66.5 parent: 2 + - uid: 4189 + components: + - type: Transform + pos: 64.5,-52.5 + parent: 2 + - uid: 4426 + components: + - type: Transform + pos: 36.5,-15.5 + parent: 2 + - uid: 4625 + components: + - type: Transform + pos: 29.5,-17.5 + parent: 2 - uid: 5007 components: - type: Transform @@ -51859,11 +52851,6 @@ entities: - type: Transform pos: 0.5,-57.5 parent: 2 - - uid: 6274 - components: - - type: Transform - pos: 19.5,-25.5 - parent: 2 - uid: 7755 components: - type: Transform @@ -51879,76 +52866,81 @@ entities: - type: Transform pos: -5.5,-53.5 parent: 2 - - uid: 7799 - components: - - type: Transform - pos: 31.5,-23.5 - parent: 2 - uid: 7876 components: - type: Transform pos: 65.5,-29.5 parent: 2 + - uid: 7913 + components: + - type: Transform + pos: 68.5,-43.5 + parent: 2 - uid: 8040 components: - type: Transform pos: 26.5,-32.5 parent: 2 + - uid: 9336 + components: + - type: Transform + pos: 20.5,-25.5 + parent: 2 - uid: 10155 components: - type: Transform pos: -31.5,-15.5 parent: 2 - - uid: 10562 + - uid: 10242 components: - type: Transform - pos: 65.5,-49.5 + pos: 62.5,-31.5 + parent: 2 + - uid: 10754 + components: + - type: Transform + pos: 6.5,-60.5 + parent: 2 + - uid: 10801 + components: + - type: Transform + pos: 54.5,-41.5 parent: 2 - uid: 11411 components: - type: Transform pos: 15.5,-65.5 parent: 2 - - uid: 13828 + - uid: 11913 components: - type: Transform - pos: 65.5,-47.5 + pos: 35.5,-30.5 parent: 2 - uid: 13996 components: - type: Transform pos: 17.5,-65.5 parent: 2 - - uid: 14249 - components: - - type: Transform - pos: 65.5,-31.5 - parent: 2 - uid: 14395 components: - type: Transform pos: -14.5,-28.5 parent: 2 - - uid: 14596 - components: - - type: Transform - pos: 40.5,-47.5 - parent: 2 - uid: 15539 components: - type: Transform pos: 26.5,-76.5 parent: 2 + - uid: 16205 + components: + - type: Transform + pos: 39.5,-47.5 + parent: 2 - uid: 16389 components: - type: Transform pos: 21.5,-70.5 parent: 2 - - uid: 17084 - components: - - type: Transform - pos: 6.5,-59.5 - parent: 2 - uid: 18135 components: - type: Transform @@ -51959,12 +52951,10 @@ entities: - type: Transform pos: -19.5,-49.5 parent: 2 -- proto: DisposalXJunction - entities: - - uid: 7892 + - uid: 19750 components: - type: Transform - pos: 7.5,-59.5 + pos: 44.5,-44.5 parent: 2 - proto: DisposalYJunction entities: @@ -51979,10 +52969,22 @@ entities: - type: Transform pos: 25.5,-58.5 parent: 2 - - uid: 8618 + - uid: 8977 components: - type: Transform - pos: 24.5,-23.5 + pos: 55.5,-42.5 + parent: 2 + - uid: 9416 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 61.5,-38.5 + parent: 2 + - uid: 9794 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -15.5,-59.5 parent: 2 - uid: 15674 components: @@ -51998,16 +53000,21 @@ entities: parent: 2 - proto: DogBed entities: - - uid: 3545 - components: - - type: Transform - pos: 57.5,-44.5 - parent: 2 - uid: 6188 components: - type: Transform pos: 15.5,-59.5 parent: 2 + - uid: 7130 + components: + - type: Transform + pos: 54.5,-38.5 + parent: 2 + - uid: 7194 + components: + - type: Transform + pos: 69.5,-53.5 + parent: 2 - uid: 11762 components: - type: Transform @@ -52018,11 +53025,6 @@ entities: - type: Transform pos: 19.5,-72.5 parent: 2 - - uid: 18292 - components: - - type: Transform - pos: 69.5,-48.5 - parent: 2 - proto: DonkpocketBoxSpawner entities: - uid: 6806 @@ -52035,16 +53037,16 @@ entities: - type: Transform pos: 29.5,-101.5 parent: 2 + - uid: 14690 + components: + - type: Transform + pos: 53.5,-98.5 + parent: 2 - uid: 16973 components: - type: Transform pos: 22.5,-85.5 parent: 2 - - uid: 16974 - components: - - type: Transform - pos: 52.5,-98.5 - parent: 2 - uid: 18533 components: - type: Transform @@ -52060,7 +53062,7 @@ entities: - uid: 907 components: - type: Transform - pos: 28.5,-12.5 + pos: 29.461311,-12.535852 parent: 2 - uid: 18776 components: @@ -52120,11 +53122,6 @@ entities: - type: Transform pos: -60.5,-61.5 parent: 2 - - uid: 14343 - components: - - type: Transform - pos: 43.5,-16.5 - parent: 2 - uid: 19479 components: - type: Transform @@ -52139,10 +53136,10 @@ entities: parent: 2 - proto: DresserHeadOfSecurityFilled entities: - - uid: 18028 + - uid: 7179 components: - type: Transform - pos: 71.5,-48.5 + pos: 71.5,-53.5 parent: 2 - proto: DresserQuarterMasterFilled entities: @@ -52160,10 +53157,27 @@ entities: parent: 2 - proto: DresserWardenFilled entities: - - uid: 3546 + - uid: 7114 components: - type: Transform - pos: 57.5,-42.5 + pos: 54.5,-39.5 + parent: 2 +- proto: DrinkBeerCan + entities: + - uid: 19732 + components: + - type: Transform + pos: 52.991863,-98.5449 + parent: 2 + - uid: 19733 + components: + - type: Transform + pos: 53.472607,-99.264145 + parent: 2 + - uid: 19734 + components: + - type: Transform + pos: 52.628857,-98.82634 parent: 2 - proto: DrinkBottleAlcoClear entities: @@ -52196,7 +53210,7 @@ entities: - uid: 14280 components: - type: Transform - pos: 21.681454,-19.427164 + pos: 21.64727,-19.389515 parent: 2 - proto: DrinkEnergyDrinkCan entities: @@ -52242,17 +53256,17 @@ entities: - uid: 3330 components: - type: Transform - pos: 70.72181,-69.31151 + pos: 57.398575,-63.22958 parent: 2 - uid: 3335 components: - type: Transform - pos: 70.81903,-69.41807 + pos: 57.57045,-63.30776 parent: 2 - uid: 3336 components: - type: Transform - pos: 70.59218,-69.22349 + pos: 57.701633,-63.41804 parent: 2 - uid: 5250 components: @@ -52288,10 +53302,15 @@ entities: - type: Transform pos: 12.745599,-98.425545 parent: 2 - - uid: 7196 + - uid: 10271 components: - type: Transform - pos: 70.59718,-51.425907 + pos: 71.42389,-47.31942 + parent: 2 + - uid: 10275 + components: + - type: Transform + pos: 71.58014,-47.41317 parent: 2 - uid: 15265 components: @@ -52305,11 +53324,6 @@ entities: parent: 14704 - type: Physics canCollide: False - - uid: 15339 - components: - - type: Transform - pos: 70.40968,-51.300816 - parent: 2 - uid: 17441 components: - type: Transform @@ -52339,12 +53353,12 @@ entities: - uid: 921 components: - type: Transform - pos: 21.316872,-19.489708 + pos: 21.412895,-19.78014 parent: 2 - uid: 14020 components: - type: Transform - pos: 21.108538,-19.239534 + pos: 21.287895,-19.452015 parent: 2 - proto: DrinkMugBlack entities: @@ -52440,6 +53454,11 @@ entities: parent: 2 - proto: DrinkWaterBottleFull entities: + - uid: 901 + components: + - type: Transform + pos: 40.217396,-32.324863 + parent: 2 - uid: 5597 components: - type: Transform @@ -52460,6 +53479,11 @@ entities: - type: Transform pos: -22.248049,-44.28955 parent: 2 + - uid: 14928 + components: + - type: Transform + pos: 40.35802,-32.52799 + parent: 2 - uid: 17710 components: - type: Transform @@ -52501,16 +53525,10 @@ entities: - uid: 11954 components: - type: Transform - pos: 67.697716,-46.025784 + pos: 67.68143,-50.99232 parent: 2 - proto: EmergencyLight entities: - - uid: 1061 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-35.5 - parent: 2 - uid: 1230 components: - type: Transform @@ -52570,39 +53588,46 @@ entities: rot: 3.141592653589793 rad pos: 33.5,-68.5 parent: 2 - - uid: 8196 + - uid: 6343 components: - type: Transform rot: 1.5707963267948966 rad - pos: 62.5,-35.5 + pos: 53.5,-42.5 + parent: 2 + - uid: 9875 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 68.5,-41.5 + parent: 2 + - uid: 10402 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 78.5,-44.5 parent: 2 - uid: 10454 components: - type: Transform pos: -0.5,-77.5 parent: 2 + - uid: 10749 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-37.5 + parent: 2 + - uid: 10782 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-38.5 + parent: 2 - uid: 11395 components: - type: Transform pos: -6.5,-77.5 parent: 2 - - uid: 11412 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 68.5,-32.5 - parent: 2 - - uid: 11845 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 58.5,-58.5 - parent: 2 - - uid: 13851 - components: - - type: Transform - pos: 71.5,-50.5 - parent: 2 - uid: 13969 components: - type: Transform @@ -52679,18 +53704,6 @@ entities: rot: 3.141592653589793 rad pos: 13.5,-36.5 parent: 2 - - uid: 14362 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 29.5,-23.5 - parent: 2 - - uid: 14363 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 30.5,-17.5 - parent: 2 - uid: 14369 components: - type: Transform @@ -52790,35 +53803,11 @@ entities: rot: 3.141592653589793 rad pos: -12.5,-21.5 parent: 2 - - uid: 14393 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 23.5,-18.5 - parent: 2 - - uid: 14772 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-45.5 - parent: 2 - uid: 16419 components: - type: Transform pos: 21.5,-48.5 parent: 2 - - uid: 17915 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 76.5,-44.5 - parent: 2 - - uid: 17924 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-48.5 - parent: 2 - uid: 18273 components: - type: Transform @@ -52892,12 +53881,6 @@ entities: rot: 3.141592653589793 rad pos: 48.5,-53.5 parent: 2 - - uid: 18289 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-24.5 - parent: 2 - uid: 18291 components: - type: Transform @@ -52938,18 +53921,6 @@ entities: rot: -1.5707963267948966 rad pos: 44.5,-44.5 parent: 2 - - uid: 18365 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-58.5 - parent: 2 - - uid: 18632 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-48.5 - parent: 2 - uid: 18634 components: - type: Transform @@ -52961,6 +53932,82 @@ entities: rot: 1.5707963267948966 rad pos: 54.5,-17.5 parent: 2 + - uid: 19186 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-45.5 + parent: 2 + - uid: 19191 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-53.5 + parent: 2 + - uid: 19248 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 52.5,-38.5 + parent: 2 + - uid: 19257 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-31.5 + parent: 2 + - uid: 19313 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 55.5,-31.5 + parent: 2 + - uid: 19314 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 54.5,-39.5 + parent: 2 + - uid: 19315 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-44.5 + parent: 2 + - uid: 19317 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-31.5 + parent: 2 + - uid: 19354 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-29.5 + parent: 2 + - uid: 19952 + components: + - type: Transform + pos: 95.5,-47.5 + parent: 2 + - uid: 19953 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 95.5,-43.5 + parent: 2 + - uid: 19954 + components: + - type: Transform + pos: 87.5,-43.5 + parent: 2 + - uid: 19955 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 87.5,-47.5 + parent: 2 - proto: EmergencyNitrogenTankFilled entities: - uid: 18755 @@ -53034,14 +54081,6 @@ entities: parent: 6930 - type: Physics canCollide: False -- proto: EncryptionKeyCommand - entities: - - uid: 16387 - components: - - type: Transform - parent: 5607 - - type: Physics - canCollide: False - proto: EncryptionKeyCommon entities: - uid: 6028 @@ -53074,14 +54113,6 @@ entities: - type: Transform pos: -14.5,-26.5 parent: 2 -- proto: ExosuitFabricatorMachineCircuitboard - entities: - - uid: 17885 - components: - - type: Transform - parent: 17884 - - type: Physics - canCollide: False - proto: ExtinguisherCabinetFilled entities: - uid: 5781 @@ -53161,6 +54192,13 @@ entities: parent: 2 - type: FaxMachine name: CE's Office + - uid: 6093 + components: + - type: Transform + pos: 67.5,-50.5 + parent: 2 + - type: FaxMachine + name: HoS - uid: 6966 components: - type: Transform @@ -53168,10 +54206,17 @@ entities: parent: 2 - type: FaxMachine name: QM's Office - - uid: 9358 + - uid: 7176 components: - type: Transform - pos: 62.5,-31.5 + pos: 53.5,-54.5 + parent: 2 + - type: FaxMachine + name: Lawyer + - uid: 8381 + components: + - type: Transform + pos: 64.5,-45.5 parent: 2 - type: FaxMachine name: Security @@ -53182,20 +54227,6 @@ entities: parent: 2 - type: FaxMachine name: RD's Office - - uid: 10498 - components: - - type: Transform - pos: 49.5,-56.5 - parent: 2 - - type: FaxMachine - name: Lawyer's Office - - uid: 15440 - components: - - type: Transform - pos: 69.5,-53.5 - parent: 2 - - type: FaxMachine - name: Detective's Office - uid: 16282 components: - type: Transform @@ -53224,13 +54255,6 @@ entities: parent: 2 - type: FaxMachine name: Cargo - - uid: 18215 - components: - - type: Transform - pos: 67.5,-45.5 - parent: 2 - - type: FaxMachine - name: HoS' Office - proto: FaxMachineCaptain entities: - uid: 3831 @@ -53302,24 +54326,17 @@ entities: rot: -1.5707963267948966 rad pos: 10.5,-21.5 parent: 2 -- proto: FigureSpawner - entities: - - uid: 8609 - components: - - type: Transform - pos: 36.5,-33.5 - parent: 2 - proto: filingCabinetDrawerRandom entities: - - uid: 3084 + - uid: 283 components: - type: Transform - pos: 70.5,-53.5 + pos: 29.5,-15.5 parent: 2 - - uid: 4184 + - uid: 1438 components: - type: Transform - pos: 53.5,-54.5 + pos: 49.5,-36.5 parent: 2 - uid: 5274 components: @@ -53331,15 +54348,15 @@ entities: - type: Transform pos: 15.5,-60.5 parent: 2 - - uid: 13819 + - uid: 7168 components: - type: Transform - pos: 62.5,-34.5 + pos: 49.5,-56.5 parent: 2 - - uid: 15340 + - uid: 9293 components: - type: Transform - pos: 70.5,-40.5 + pos: 73.5,-47.5 parent: 2 - uid: 17427 components: @@ -53381,40 +54398,6 @@ entities: - 1595 - 18775 - 3279 - - uid: 3401 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,-53.5 - parent: 2 - - type: DeviceList - devices: - - 3399 - - 3400 - - 6164 - - 3396 - - 3397 - - 3531 - - 9363 - - 7733 - - 9287 - - 275 - - 13816 - - 17963 - - uid: 3427 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,-28.5 - parent: 2 - - type: DeviceList - devices: - - 3447 - - 3449 - - 7119 - - 7117 - - 9351 - - 3551 - uid: 5295 components: - type: Transform @@ -53427,20 +54410,6 @@ entities: - 530 - 8870 - 8873 - - uid: 7281 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-30.5 - parent: 2 - - type: DeviceList - devices: - - 3441 - - 4166 - - 3449 - - 3447 - - 7954 - - 2157 - uid: 7439 components: - type: Transform @@ -53449,12 +54418,12 @@ entities: parent: 2 - type: DeviceList devices: - - 8541 - - 8540 - - 8539 - 10476 - 10477 - 10478 + - 19831 + - 19832 + - 19833 - uid: 8800 components: - type: Transform @@ -53468,24 +54437,27 @@ entities: - 872 - 8870 - 8873 - - uid: 10296 + - uid: 9873 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-37.5 + pos: 62.5,-30.5 parent: 2 - type: DeviceList devices: - - 7954 + - 16247 + - 16252 + - 16259 + - 16431 + - 16433 + - 16240 + - 16239 + - 16238 + - 16448 + - 16437 - 2157 - - 9293 - - 8403 - - 4175 - - 4174 - - 8404 - - 7987 - - 9213 - - 10298 + - 7954 + - 19908 + - 19907 - uid: 10791 components: - type: Transform @@ -53591,6 +54563,32 @@ entities: - 17153 - 17130 - 17129 + - uid: 16355 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 66.5,-30.5 + parent: 2 + - type: DeviceList + devices: + - 3447 + - 3449 + - 7954 + - 2157 + - 3441 + - 4166 + - uid: 16357 + components: + - type: Transform + pos: 67.5,-42.5 + parent: 2 + - type: DeviceList + devices: + - 16240 + - 16239 + - 16238 + - 19903 + - 19904 - uid: 18593 components: - type: Transform @@ -53605,29 +54603,8 @@ entities: - 18775 - 530 - 8920 - - 5203 - - 2388 - - uid: 18817 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 49.5,-16.5 - parent: 2 - - type: DeviceList - devices: - - 11725 - - 11724 - - 11723 - - 11722 - - 11721 - - 11720 - - 11719 - - 11718 - - 11717 - - 11716 - - 11715 - - 11712 - - 4169 + - 19838 + - 19837 - uid: 18881 components: - type: Transform @@ -53639,6 +54616,47 @@ entities: - 16165 - 14594 - 14595 + - uid: 19247 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 53.5,-17.5 + parent: 2 + - type: DeviceList + devices: + - 4169 + - 4171 + - 13846 + - 11724 + - 11725 + - 11723 + - 7979 + - 11721 + - 11720 + - 11719 + - 11718 + - 11717 + - 11716 + - 11715 + - 11712 + - 9297 + - 7800 + - 8607 + - 9082 + - 9066 + - uid: 19910 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-39.5 + parent: 2 + - type: DeviceList + devices: + - 19900 + - 19901 + - 19902 + - 19908 + - 19907 - proto: FireAlarmXeno entities: - uid: 1691 @@ -53649,31 +54667,14 @@ entities: parent: 2 - type: DeviceList devices: - - 8504 - - 8503 - - 8502 - 8505 - 8506 - - 1809 - - 1807 - 8507 - - uid: 1694 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 26.5,-31.5 - parent: 2 - - type: DeviceList - devices: - - 8545 - - 8546 - - 8547 - - 8551 - - 8552 - - 8553 - - 8703 - - 18860 - - 18861 + - 19888 + - 19887 + - 19886 + - 19892 + - 19891 - uid: 2359 components: - type: Transform @@ -53684,8 +54685,8 @@ entities: devices: - 8735 - 8737 - - 8736 - 8734 + - 8479 - uid: 2409 components: - type: Transform @@ -53717,6 +54718,10 @@ entities: - 5573 - 5572 - 5574 + - 19809 + - 19810 + - 19811 + - 19812 - uid: 2513 components: - type: Transform @@ -53743,6 +54748,7 @@ entities: - 9541 - 11336 - 18786 + - 8605 - uid: 3258 components: - type: Transform @@ -53754,22 +54760,9 @@ entities: - 8599 - 8600 - 8601 - - 8538 - - 8537 - - 8536 - - uid: 3329 - components: - - type: Transform - pos: 48.5,-50.5 - parent: 2 - - type: DeviceList - devices: - - 9287 - - 7733 - - 9363 - - 3531 - - 14283 - - 12148 + - 19830 + - 19829 + - 19828 - uid: 5200 components: - type: Transform @@ -53778,12 +54771,13 @@ entities: parent: 2 - type: DeviceList devices: - - 8596 - - 8597 - - 8598 - - 8465 - - 8464 - - 8463 + - 19801 + - 19800 + - 19799 + - 19796 + - 19797 + - 19798 + - 4002 - uid: 6218 components: - type: Transform @@ -53795,14 +54789,13 @@ entities: - 8498 - 8497 - 8496 - - 14594 - - 14595 - - 8450 - - 8449 - - 8448 + - 15243 + - 9878 - 14798 - 14800 - 14799 + - 15173 + - 14797 - uid: 6344 components: - type: Transform @@ -53811,14 +54804,14 @@ entities: parent: 2 - type: DeviceList devices: - - 8551 - - 8552 - - 8553 - - 8423 - - 8422 - - 8421 - 8554 - 8555 + - 19850 + - 19849 + - 19848 + - 19877 + - 19878 + - 19879 - uid: 6345 components: - type: Transform @@ -53827,20 +54820,20 @@ entities: parent: 2 - type: DeviceList devices: - - 8429 - - 8428 - - 8427 - - 8393 - - 8394 - - 8395 - - 8418 - - 8419 - - 8420 - - 8423 - - 8422 - - 8421 - 8556 - 8424 + - 19879 + - 19878 + - 19877 + - 8430 + - 8431 + - 8432 + - 8398 + - 8397 + - 8396 + - 8415 + - 8416 + - 8417 - uid: 6346 components: - type: Transform @@ -53849,14 +54842,15 @@ entities: parent: 2 - type: DeviceList devices: - - 8499 - - 8500 - - 8501 - 8430 - 8431 - 8432 - - 7930 - - 7926 + - 19888 + - 19885 + - 19887 + - 19886 + - 19889 + - 19890 - 8434 - 8433 - uid: 6348 @@ -53867,12 +54861,6 @@ entities: parent: 2 - type: DeviceList devices: - - 8389 - - 12781 - - 8387 - - 8384 - - 8385 - - 8386 - 6976 - 6977 - 6978 @@ -53882,6 +54870,12 @@ entities: - 17153 - 17130 - 17129 + - 19896 + - 19897 + - 19898 + - 19893 + - 19894 + - 19895 - uid: 6349 components: - type: Transform @@ -53890,14 +54884,14 @@ entities: parent: 2 - type: DeviceList devices: - - 4276 - - 8382 - - 8383 - 8398 - 8397 - 8396 - 10326 - 9410 + - 19896 + - 19897 + - 19898 - uid: 6350 components: - type: Transform @@ -53910,6 +54904,7 @@ entities: - 7015 - 7016 - 7017 + - 19882 - uid: 6405 components: - type: Transform @@ -53921,6 +54916,7 @@ entities: - 9410 - 10326 - 8402 + - 19920 - uid: 7880 components: - type: Transform @@ -53944,25 +54940,24 @@ entities: parent: 2 - type: DeviceList devices: - - 8532 - - 8531 - - 8530 - - 8520 - - 8519 - - 8518 - - 8514 - - 8513 - - 8512 - 8524 - 8525 - 8526 - - 8453 - - 8452 - - 8451 - - 8445 - - 8446 - - 8447 - - 7443 + - 19818 + - 19817 + - 19816 + - 9878 + - 15243 + - 15173 + - 4096 + - 19820 + - 19821 + - 19822 + - 19823 + - 19824 + - 19825 + - 19826 + - 19827 - uid: 9039 components: - type: Transform @@ -53991,6 +54986,8 @@ entities: - 8498 - 8494 - 8495 + - 9715 + - 2462 - uid: 9200 components: - type: Transform @@ -54012,14 +55009,11 @@ entities: - 10479 - 10480 - 10481 - - 8533 - - 8534 - - 8535 - 7442 - 8107 - - 8831 - - 8832 - - 8665 + - 19830 + - 19829 + - 19828 - 16242 - uid: 9202 components: @@ -54056,6 +55050,7 @@ entities: - 14799 - 14800 - 14798 + - 14797 - uid: 9237 components: - type: Transform @@ -54063,17 +55058,17 @@ entities: parent: 2 - type: DeviceList devices: - - 14832 - - 14831 - 8442 - 8441 - 8440 - 8439 - 8438 - - 8390 - - 8391 - - 8392 - 18862 + - 19889 + - 19890 + - 19893 + - 19894 + - 19895 - uid: 9238 components: - type: Transform @@ -54111,6 +55106,7 @@ entities: devices: - 8433 - 8434 + - 19885 - uid: 9250 components: - type: Transform @@ -54119,12 +55115,6 @@ entities: parent: 2 - type: DeviceList devices: - - 8456 - - 8455 - - 8454 - - 8459 - - 8458 - - 8457 - 8493 - uid: 9255 components: @@ -54133,15 +55123,15 @@ entities: parent: 2 - type: DeviceList devices: - - 8466 - - 8468 - - 8467 - - 8460 - - 8461 - - 8462 - 8471 - 8469 - 8470 + - 19802 + - 19803 + - 19804 + - 19799 + - 19800 + - 19801 - uid: 9256 components: - type: Transform @@ -54156,6 +55146,10 @@ entities: - 8472 - 8473 - 8474 + - 19806 + - 19805 + - 19807 + - 19808 - uid: 9489 components: - type: Transform @@ -54164,12 +55158,12 @@ entities: parent: 2 - type: DeviceList devices: - - 8529 - - 8528 - - 8527 - 10479 - 10480 - 10481 + - 4096 + - 19820 + - 19821 - uid: 9931 components: - type: Transform @@ -54181,15 +55175,72 @@ entities: - 19401 - 12859 - 19402 - - 8550 - - 8549 + - 19841 + - 19840 + - 19839 + - uid: 11905 + components: + - type: Transform + pos: 46.5,-50.5 + parent: 2 + - type: DeviceList + devices: + - 12148 + - 14283 + - 8547 - 8548 + - 8549 - uid: 15092 components: - type: Transform rot: 3.141592653589793 rad pos: -24.5,-15.5 parent: 2 + - type: DeviceList + devices: + - 8602 + - 8603 + - 8604 + - 8601 + - 8600 + - 8599 + - 19798 + - 19797 + - 19796 + - uid: 16341 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-42.5 + parent: 2 + - type: DeviceList + devices: + - 19903 + - 19904 + - 16450 + - 16451 + - 19902 + - 19901 + - 19900 + - 8549 + - 8548 + - 8547 + - uid: 16366 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-14.5 + parent: 2 + - type: DeviceList + devices: + - 18702 + - 18703 + - 18704 + - 914 + - 913 + - 19831 + - 19832 + - 19833 - uid: 16800 components: - type: Transform @@ -54201,21 +55252,10 @@ entities: - 8477 - 8478 - 18880 - - uid: 16803 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 32.5,-21.5 - parent: 2 - - type: DeviceList - devices: - - 8783 - - 8784 - - 8789 - - 8785 - - 8788 - - 8787 - - 8786 + - 2462 + - 9715 + - 19815 + - 811 - uid: 16807 components: - type: Transform @@ -54227,16 +55267,6 @@ entities: - 8677 - 8678 - 262 - - uid: 16808 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,-56.5 - parent: 2 - - type: DeviceList - devices: - - 12148 - - 14283 - uid: 17681 components: - type: Transform @@ -54245,46 +55275,36 @@ entities: parent: 2 - type: DeviceList devices: - - 8515 - - 8516 - - 8517 - - 1438 - - 1806 - - uid: 18600 + - 19827 + - 19826 + - 19825 + - 19892 + - 19891 + - uid: 17872 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 22.5,-15.5 + rot: -1.5707963267948966 rad + pos: 26.5,-26.5 parent: 2 - type: DeviceList devices: - - 8764 - - 14668 - - 14669 - - 8542 - - 8543 - - 8544 - - 914 - - 913 - - uid: 18883 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 48.5,-26.5 - parent: 2 - - type: DeviceList - devices: - - 11712 - - 11715 - - 11716 - - 11717 - - 11718 - - 11719 - - 11720 - - 11721 - - 8572 - - 8571 - - 8785 + - 19845 + - 19846 + - 19847 + - 19838 + - 19837 + - 18702 + - 18703 + - 18704 + - 18705 + - 18706 + - 18707 + - 18708 + - 8550 + - 8551 + - 8552 + - 19854 + - 19851 - uid: 19201 components: - type: Transform @@ -54308,14 +55328,14 @@ entities: parent: 2 - type: DeviceList devices: - - 8523 - - 8522 - - 8521 - 19401 - 12859 - 19402 - 4972 - 872 + - 19822 + - 19823 + - 19824 - uid: 19420 components: - type: Transform @@ -54327,6 +55347,91 @@ entities: - 18786 - 11336 - 9541 + - uid: 19852 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-30.5 + parent: 2 + - type: DeviceList + devices: + - 19841 + - 19840 + - 19839 + - 19848 + - 19849 + - 19850 + - 19845 + - 19846 + - 19847 + - uid: 19855 + components: + - type: Transform + pos: 34.5,-16.5 + parent: 2 + - type: DeviceList + devices: + - 18708 + - 18707 + - 18706 + - 18705 + - 18724 + - 18723 + - 18709 + - 18731 + - uid: 19857 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 45.5,-25.5 + parent: 2 + - type: DeviceList + devices: + - 8552 + - 8551 + - 8550 + - 9383 + - 9877 + - 7979 + - 11721 + - 11720 + - 11719 + - 11718 + - 11717 + - 11716 + - 11715 + - 11712 + - uid: 19881 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 36.5,-47.5 + parent: 2 + - type: DeviceList + devices: + - 7009 + - 7056 + - 7010 + - 7011 + - 7012 + - 7017 + - 7016 + - 7015 + - 7014 + - 7013 + - 19882 + - uid: 19921 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 30.5,-65.5 + parent: 2 + - type: DeviceList + devices: + - 8976 + - 8400 + - 8399 + - 19920 - proto: FireAxeCabinetFilled entities: - uid: 5385 @@ -54349,6 +55454,17 @@ entities: parent: 2 - proto: Firelock entities: + - uid: 7979 + components: + - type: Transform + pos: 50.5,-22.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 18818 + - 19857 + - 19856 + - 19247 - uid: 11712 components: - type: Transform @@ -54356,10 +55472,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18873 - - 18883 - 18818 + - 19857 + - 19856 + - 19247 - uid: 11715 components: - type: Transform @@ -54367,10 +55483,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18873 - - 18883 - 18818 + - 19857 + - 19856 + - 19247 - uid: 11716 components: - type: Transform @@ -54378,10 +55494,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18873 - - 18883 - 18818 + - 19857 + - 19856 + - 19247 - uid: 11717 components: - type: Transform @@ -54389,10 +55505,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18873 - - 18883 - 18818 + - 19857 + - 19856 + - 19247 - uid: 11718 components: - type: Transform @@ -54400,10 +55516,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18873 - - 18883 - 18818 + - 19857 + - 19856 + - 19247 - uid: 11719 components: - type: Transform @@ -54411,10 +55527,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18873 - - 18883 - 18818 + - 19857 + - 19856 + - 19247 - uid: 11720 components: - type: Transform @@ -54422,10 +55538,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18873 - - 18883 - 18818 + - 19857 + - 19856 + - 19247 - uid: 11721 components: - type: Transform @@ -54433,20 +55549,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18873 - - 18883 - - 18818 - - uid: 11722 - components: - - type: Transform - pos: 53.5,-22.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18817 - - 18874 - 18818 + - 19857 + - 19856 + - 19247 - uid: 11723 components: - type: Transform @@ -54454,9 +55560,9 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18874 - 18818 + - 579 + - 19247 - uid: 11724 components: - type: Transform @@ -54464,9 +55570,9 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18874 - 18818 + - 579 + - 19247 - uid: 11725 components: - type: Transform @@ -54474,11 +55580,30 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - - 18874 - 18818 + - 579 + - 19247 + - uid: 19913 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 77.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19916 - proto: FirelockEdge entities: + - uid: 811 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -35.5,-69.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16800 + - 2110 - uid: 913 components: - type: Transform @@ -54486,8 +55611,8 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18600 - - 18598 + - 16366 + - 10761 - uid: 914 components: - type: Transform @@ -54495,46 +55620,19 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18600 - - 18598 - - uid: 1438 + - 16366 + - 10761 + - uid: 2008 components: - type: Transform - pos: 4.5,-44.5 + pos: 37.5,-87.5 parent: 2 - - type: DeviceNetwork - deviceLists: - - 17681 - - 17680 - - uid: 1806 - components: - - type: Transform - pos: 5.5,-44.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 17681 - - 17680 - - uid: 1807 + - uid: 2009 components: - type: Transform rot: 3.141592653589793 rad - pos: 5.5,-46.5 + pos: 37.5,-82.5 parent: 2 - - type: DeviceNetwork - deviceLists: - - 9216 - - 1691 - - uid: 1809 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-46.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9216 - - 1691 - uid: 3441 components: - type: Transform @@ -54544,8 +55642,8 @@ entities: deviceLists: - 18059 - 10791 - - 7281 - 8816 + - 16355 - uid: 4166 components: - type: Transform @@ -54555,8 +55653,8 @@ entities: deviceLists: - 18059 - 10791 - - 7281 - 8816 + - 16355 - uid: 4169 components: - type: Transform @@ -54565,25 +55663,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 18817 - 18059 - 10791 - 18818 - - uid: 4276 - components: - - type: Transform - pos: 23.5,-74.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9240 - - 6349 - - uid: 5461 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 33.5,-98.5 - parent: 2 + - 19247 - uid: 5575 components: - type: Transform @@ -54632,17 +55715,6 @@ entities: - 2409 - 9195 - 2513 - - uid: 6970 - components: - - type: Transform - pos: 37.5,-82.5 - parent: 2 - - uid: 6971 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 37.5,-87.5 - parent: 2 - uid: 7013 components: - type: Transform @@ -54653,6 +55725,8 @@ entities: deviceLists: - 6350 - 9241 + - 19881 + - 19880 - uid: 7014 components: - type: Transform @@ -54663,6 +55737,8 @@ entities: deviceLists: - 6350 - 9241 + - 19881 + - 19880 - uid: 7015 components: - type: Transform @@ -54673,6 +55749,8 @@ entities: deviceLists: - 6350 - 9241 + - 19881 + - 19880 - uid: 7016 components: - type: Transform @@ -54683,6 +55761,8 @@ entities: deviceLists: - 6350 - 9241 + - 19881 + - 19880 - uid: 7017 components: - type: Transform @@ -54693,6 +55773,8 @@ entities: deviceLists: - 6350 - 9241 + - 19881 + - 19880 - uid: 7135 components: - type: Transform @@ -54703,146 +55785,16 @@ entities: deviceLists: - 14591 - 14590 - - uid: 7926 - components: - - type: Transform - pos: 8.5,-63.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9403 - - 6346 - - uid: 7930 - components: - - type: Transform - pos: 9.5,-63.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9403 - - 6346 - - uid: 8382 - components: - - type: Transform - pos: 24.5,-74.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9240 - - 6349 - - uid: 8383 - components: - - type: Transform - pos: 25.5,-74.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9240 - - 6349 - - uid: 8384 + - uid: 7800 components: - type: Transform rot: 3.141592653589793 rad - pos: 23.5,-76.5 + pos: 46.5,-13.5 parent: 2 - type: DeviceNetwork deviceLists: - - 9239 - - 6348 - - uid: 8385 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-76.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9239 - - 6348 - - uid: 8386 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-76.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9239 - - 6348 - - uid: 8387 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 15.5,-76.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9239 - - 6348 - - uid: 8389 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 13.5,-76.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9239 - - 6348 - - uid: 8390 - components: - - type: Transform - pos: 13.5,-74.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 569 - - 9237 - - uid: 8391 - components: - - type: Transform - pos: 14.5,-74.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 569 - - 9237 - - uid: 8392 - components: - - type: Transform - pos: 15.5,-74.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 569 - - 9237 - - uid: 8393 - components: - - type: Transform - pos: 23.5,-59.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - - uid: 8394 - components: - - type: Transform - pos: 24.5,-59.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - - uid: 8395 - components: - - type: Transform - pos: 25.5,-59.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 + - 19247 + - 18818 - uid: 8396 components: - type: Transform @@ -54853,6 +55805,8 @@ entities: deviceLists: - 9240 - 6349 + - 6345 + - 9236 - uid: 8397 components: - type: Transform @@ -54863,6 +55817,8 @@ entities: deviceLists: - 9240 - 6349 + - 6345 + - 9236 - uid: 8398 components: - type: Transform @@ -54873,6 +55829,8 @@ entities: deviceLists: - 9240 - 6349 + - 6345 + - 9236 - uid: 8399 components: - type: Transform @@ -54882,6 +55840,7 @@ entities: - type: DeviceNetwork deviceLists: - 7310 + - 19921 - uid: 8400 components: - type: Transform @@ -54891,6 +55850,7 @@ entities: - type: DeviceNetwork deviceLists: - 7310 + - 19921 - uid: 8415 components: - type: Transform @@ -54901,6 +55861,8 @@ entities: deviceLists: - 572 - 9039 + - 6345 + - 9236 - uid: 8416 components: - type: Transform @@ -54911,6 +55873,8 @@ entities: deviceLists: - 572 - 9039 + - 6345 + - 9236 - uid: 8417 components: - type: Transform @@ -54921,112 +55885,8 @@ entities: deviceLists: - 572 - 9039 - - uid: 8418 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-54.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - 6345 - - uid: 8419 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-53.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - 9236 - - 6345 - - uid: 8420 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-52.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - - uid: 8421 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 23.5,-47.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - - 6344 - - 9235 - - uid: 8422 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-47.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - - 6344 - - 9235 - - uid: 8423 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-47.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - - 6344 - - 9235 - - uid: 8426 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-14.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 19354 - - 18869 - - uid: 8427 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 18.5,-54.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - - uid: 8428 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 18.5,-53.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - - uid: 8429 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 18.5,-52.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9236 - - 6345 - uid: 8430 components: - type: Transform @@ -55037,6 +55897,8 @@ entities: deviceLists: - 9403 - 6346 + - 6345 + - 9236 - uid: 8431 components: - type: Transform @@ -55047,6 +55909,8 @@ entities: deviceLists: - 9403 - 6346 + - 6345 + - 9236 - uid: 8432 components: - type: Transform @@ -55057,240 +55921,8 @@ entities: deviceLists: - 9403 - 6346 - - uid: 8445 - components: - - type: Transform - pos: -14.5,-42.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8446 - components: - - type: Transform - pos: -13.5,-42.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8447 - components: - - type: Transform - pos: -12.5,-42.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8448 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -12.5,-44.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6218 - - 9234 - - uid: 8449 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -13.5,-44.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6218 - - 9234 - - uid: 8450 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -14.5,-44.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6218 - - 9234 - - uid: 8451 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,-39.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8452 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,-38.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8453 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8454 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6410 - - 9250 - - uid: 8455 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,-38.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6410 - - 9250 - - uid: 8456 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,-39.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6410 - - 9250 - - uid: 8457 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6410 - - 9250 - - uid: 8458 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,-36.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6410 - - 9250 - - uid: 8459 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,-35.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6410 - - 9250 - - uid: 8460 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -27.5,-35.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6411 - - 9255 - - uid: 8461 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -27.5,-36.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6411 - - 9255 - - uid: 8462 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -27.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6411 - - 9255 - - uid: 8463 - components: - - type: Transform - pos: -29.5,-29.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6646 - - 5200 - - uid: 8464 - components: - - type: Transform - pos: -28.5,-29.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6646 - - 5200 - - uid: 8465 - components: - - type: Transform - pos: -27.5,-29.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6646 - - 5200 - - uid: 8466 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -29.5,-31.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6411 - - 9255 - - uid: 8467 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -27.5,-31.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6411 - - 9255 - - uid: 8468 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -28.5,-31.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6411 - - 9255 + - 6345 + - 9236 - uid: 8477 components: - type: Transform @@ -55349,475 +55981,6 @@ entities: - 6407 - 1876 - 9178 - - uid: 8499 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 7.5,-52.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9403 - - 6346 - - uid: 8500 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 7.5,-53.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9403 - - 6346 - - uid: 8501 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 7.5,-54.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9403 - - 6346 - - uid: 8502 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 5.5,-54.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9216 - - 1691 - - uid: 8503 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 5.5,-53.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9216 - - 1691 - - uid: 8504 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 5.5,-52.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9216 - - 1691 - - uid: 8512 - components: - - type: Transform - pos: 3.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8513 - components: - - type: Transform - pos: 4.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8514 - components: - - type: Transform - pos: 5.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8515 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 5.5,-39.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 17681 - - 17680 - - uid: 8516 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-39.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 17681 - - 17680 - - uid: 8517 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-39.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 17681 - - 17680 - - uid: 8518 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 5.5,-36.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8519 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 5.5,-35.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8520 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 5.5,-34.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8521 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 7.5,-34.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 19399 - - 19400 - - uid: 8522 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 7.5,-35.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 19399 - - 19400 - - uid: 8523 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 7.5,-36.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 19399 - - 19400 - - uid: 8527 - components: - - type: Transform - pos: -1.5,-26.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9489 - - 1212 - - uid: 8528 - components: - - type: Transform - pos: -0.5,-26.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9489 - - 1212 - - uid: 8529 - components: - - type: Transform - pos: 0.5,-26.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9489 - - 1212 - - uid: 8530 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-28.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8531 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-28.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8532 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-28.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 469 - - 9038 - - uid: 8533 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,-13.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3897 - - 9200 - - uid: 8534 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,-12.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3897 - - 9200 - - uid: 8535 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,-11.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3897 - - 9200 - - uid: 8536 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,-11.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9199 - - 3258 - - uid: 8537 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,-12.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9199 - - 3258 - - uid: 8538 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,-13.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9199 - - 3258 - - uid: 8539 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 14.5,-11.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7439 - - 459 - - uid: 8540 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 14.5,-12.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7439 - - 459 - - uid: 8541 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 14.5,-13.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7439 - - 459 - - uid: 8542 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 16.5,-13.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18600 - - 18598 - - uid: 8543 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 16.5,-12.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18600 - - 18598 - - uid: 8544 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 16.5,-11.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18600 - - 18598 - - uid: 8545 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 23.5,-34.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - - 1694 - - uid: 8546 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 23.5,-35.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - - 1694 - - uid: 8547 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 23.5,-36.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - - 1694 - - uid: 8548 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 21.5,-36.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9931 - - 1751 - - uid: 8549 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 21.5,-35.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9931 - - 1751 - - uid: 8550 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 21.5,-34.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9931 - - 1751 - - uid: 8551 - components: - - type: Transform - pos: 23.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - - 1694 - - 6344 - - 9235 - - uid: 8552 - components: - - type: Transform - pos: 24.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - - 1694 - - 6344 - - 9235 - - uid: 8553 - components: - - type: Transform - pos: 25.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - - 1694 - - 6344 - - 9235 - - uid: 8571 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 52.5,-24.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18874 - - 18873 - - 18883 - - uid: 8572 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 52.5,-23.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18874 - - 18873 - - 18883 - uid: 8592 components: - type: Transform @@ -55826,52 +55989,17 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 6358 - - uid: 8593 - components: - - type: Transform - pos: -29.5,-18.5 - parent: 2 - - uid: 8594 - components: - - type: Transform - pos: -28.5,-18.5 - parent: 2 - - uid: 8595 - components: - - type: Transform - pos: -27.5,-18.5 - parent: 2 - - uid: 8596 + - 19876 + - uid: 8607 components: - type: Transform rot: 3.141592653589793 rad - pos: -29.5,-20.5 + pos: 45.5,-13.5 parent: 2 - type: DeviceNetwork deviceLists: - - 6646 - - 5200 - - uid: 8597 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -28.5,-20.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6646 - - 5200 - - uid: 8598 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -27.5,-20.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6646 - - 5200 + - 19247 + - 18818 - uid: 8640 components: - type: Transform @@ -55888,25 +56016,9 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,-21.5 parent: 2 - - uid: 8703 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-25.5 - parent: 2 - type: DeviceNetwork deviceLists: - - 9040 - - 1694 - - uid: 8764 - components: - - type: Transform - pos: 23.5,-20.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18600 - - 18598 + - 19836 - uid: 8976 components: - type: Transform @@ -55915,34 +56027,59 @@ entities: - type: DeviceNetwork deviceLists: - 7310 - - uid: 12781 + - 19921 + - uid: 9066 components: - type: Transform rot: 3.141592653589793 rad - pos: 14.5,-76.5 + pos: 43.5,-13.5 parent: 2 - type: DeviceNetwork deviceLists: - - 9239 - - 6348 - - uid: 14668 + - 19247 + - 18818 + - uid: 9082 components: - type: Transform - pos: 24.5,-20.5 + rot: 3.141592653589793 rad + pos: 44.5,-13.5 parent: 2 - type: DeviceNetwork deviceLists: - - 18600 - - 18598 - - uid: 14669 + - 19247 + - 18818 + - uid: 9297 components: - type: Transform - pos: 25.5,-20.5 + rot: 3.141592653589793 rad + pos: 47.5,-13.5 parent: 2 - type: DeviceNetwork deviceLists: - - 18600 - - 18598 + - 19247 + - 18818 + - uid: 9383 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-24.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19856 + - 19857 + - 579 + - uid: 9877 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-23.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19856 + - 19857 + - 579 - uid: 14755 components: - type: Transform @@ -55999,26 +56136,6 @@ entities: - 5526 - 9234 - 6218 - - uid: 14831 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 9.5,-65.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 569 - - 9237 - - uid: 14832 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 8.5,-65.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 569 - - 9237 - uid: 17129 components: - type: Transform @@ -56061,17 +56178,16 @@ entities: rot: 3.141592653589793 rad pos: -59.5,-27.5 parent: 2 - - uid: 17872 - components: - - type: Transform - pos: -59.5,-63.5 - parent: 2 - - uid: 18269 + - uid: 18735 components: - type: Transform rot: -1.5707963267948966 rad - pos: 33.5,-99.5 + pos: 34.5,-15.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 16363 + - 18736 - uid: 18857 components: - type: Transform @@ -56083,26 +56199,6 @@ entities: - 14590 - 14592 - 14591 - - uid: 18860 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-25.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - - 1694 - - uid: 18861 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 23.5,-25.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9040 - - 1694 - uid: 18865 components: - type: Transform @@ -56129,6 +56225,49 @@ entities: rot: -1.5707963267948966 rad pos: -14.5,-32.5 parent: 2 + - uid: 19815 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -34.5,-69.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16800 + - 2110 + - uid: 19877 + components: + - type: Transform + pos: 25.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9235 + - 6344 + - 6345 + - 9236 + - uid: 19878 + components: + - type: Transform + pos: 24.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9235 + - 6344 + - 6345 + - 9236 + - uid: 19879 + components: + - type: Transform + pos: 23.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9235 + - 6344 + - 6345 + - 9236 - proto: FirelockGlass entities: - uid: 44 @@ -56152,16 +56291,6 @@ entities: - 18864 - 16807 - 2197 - - uid: 275 - components: - - type: Transform - pos: 59.5,-54.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 8124 - - 3401 - - 7131 - uid: 530 components: - type: Transform @@ -56184,11 +56313,6 @@ entities: - 8800 - 8767 - 19400 - - uid: 885 - components: - - type: Transform - pos: 75.5,-45.5 - parent: 2 - uid: 1112 components: - type: Transform @@ -56237,9 +56361,9 @@ entities: - type: DeviceNetwork deviceLists: - 8816 - - 7281 - - 7953 - - 10296 + - 9873 + - 16354 + - 16355 - uid: 2381 components: - type: Transform @@ -56251,15 +56375,6 @@ entities: - 14642 - 18593 - 364 - - uid: 2388 - components: - - type: Transform - pos: 22.5,-22.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18593 - - 364 - uid: 2462 components: - type: Transform @@ -56269,6 +56384,8 @@ entities: deviceLists: - 2110 - 1876 + - 9178 + - 16800 - uid: 3279 components: - type: Transform @@ -56280,47 +56397,6 @@ entities: - 14642 - 18593 - 364 - - uid: 3390 - components: - - type: Transform - pos: 65.5,-61.5 - parent: 2 - - uid: 3396 - components: - - type: Transform - pos: 59.5,-47.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - - uid: 3397 - components: - - type: Transform - pos: 58.5,-47.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - - uid: 3399 - components: - - type: Transform - pos: 62.5,-47.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - - uid: 3400 - components: - - type: Transform - pos: 63.5,-47.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - uid: 3447 components: - type: Transform @@ -56329,9 +56405,8 @@ entities: - type: DeviceNetwork deviceLists: - 8816 - - 7281 - - 3446 - - 3427 + - 19909 + - 16355 - uid: 3448 components: - type: Transform @@ -56341,6 +56416,7 @@ entities: deviceLists: - 18059 - 10791 + - 6358 - uid: 3449 components: - type: Transform @@ -56349,19 +56425,8 @@ entities: - type: DeviceNetwork deviceLists: - 8816 - - 7281 - - 3427 - - uid: 3531 - components: - - type: Transform - pos: 54.5,-49.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - - 3329 - - 3424 + - 19909 + - 16355 - uid: 3659 components: - type: Transform @@ -56381,6 +56446,19 @@ entities: deviceLists: - 16120 - 9202 + - 5200 + - 6646 + - uid: 4096 + components: + - type: Transform + pos: -1.5,-27.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 9489 + - 1212 - uid: 4171 components: - type: Transform @@ -56390,26 +56468,8 @@ entities: deviceLists: - 18059 - 10791 - - uid: 4174 - components: - - type: Transform - pos: 61.5,-38.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7104 - - 7953 - - 10296 - - uid: 4175 - components: - - type: Transform - pos: 61.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7104 - - 7953 - - 10296 + - 19247 + - 18818 - uid: 4972 components: - type: Transform @@ -56419,20 +56479,15 @@ entities: deviceLists: - 19399 - 19400 + - 8767 - uid: 4984 components: - type: Transform pos: 7.5,-32.5 parent: 2 - - uid: 5203 - components: - - type: Transform - pos: 22.5,-23.5 - parent: 2 - type: DeviceNetwork deviceLists: - - 18593 - - 364 + - 8767 - uid: 5569 components: - type: Transform @@ -56587,15 +56642,6 @@ entities: - 14459 - 3897 - 9200 - - uid: 6164 - components: - - type: Transform - pos: 60.5,-47.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - uid: 6631 components: - type: Transform @@ -56660,6 +56706,9 @@ entities: - type: Transform pos: 7.5,-30.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 8767 - uid: 6976 components: - type: Transform @@ -56702,6 +56751,8 @@ entities: deviceLists: - 9243 - 7880 + - 19881 + - 19880 - uid: 7010 components: - type: Transform @@ -56711,6 +56762,8 @@ entities: deviceLists: - 9243 - 7880 + - 19881 + - 19880 - uid: 7011 components: - type: Transform @@ -56720,6 +56773,8 @@ entities: deviceLists: - 9243 - 7880 + - 19881 + - 19880 - uid: 7012 components: - type: Transform @@ -56729,6 +56784,8 @@ entities: deviceLists: - 9243 - 7880 + - 19881 + - 19880 - uid: 7056 components: - type: Transform @@ -56738,6 +56795,8 @@ entities: deviceLists: - 7880 - 9243 + - 19881 + - 19880 - uid: 7109 components: - type: Transform @@ -56747,27 +56806,7 @@ entities: deviceLists: - 18059 - 10791 - - 18874 - - uid: 7117 - components: - - type: Transform - pos: 58.5,-33.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3446 - - 3427 - - 7104 - - uid: 7119 - components: - - type: Transform - pos: 59.5,-33.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3446 - - 3427 - - 7104 + - 579 - uid: 7440 components: - type: Transform @@ -56795,9 +56834,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 469 - 9242 - - 9038 - 1075 - uid: 7459 components: @@ -56809,33 +56846,6 @@ entities: - 14460 - 14458 - 14459 - - uid: 7498 - components: - - type: Transform - pos: 81.5,-46.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - uid: 7654 - components: - - type: Transform - pos: 81.5,-44.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - uid: 7733 - components: - - type: Transform - pos: 54.5,-51.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - - 3329 - - 3424 - uid: 7954 components: - type: Transform @@ -56844,18 +56854,9 @@ entities: - type: DeviceNetwork deviceLists: - 8816 - - 7281 - - 7953 - - 10296 - - uid: 7987 - components: - - type: Transform - pos: 62.5,-44.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7953 - - 10296 + - 9873 + - 16354 + - 16355 - uid: 8107 components: - type: Transform @@ -56866,11 +56867,7 @@ entities: - 19201 - 19200 - 9200 - - uid: 8381 - components: - - type: Transform - pos: 61.5,-43.5 - parent: 2 + - 3897 - uid: 8402 components: - type: Transform @@ -56880,44 +56877,6 @@ entities: deviceLists: - 9248 - 6405 - - uid: 8403 - components: - - type: Transform - pos: 66.5,-33.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7953 - - 10296 - - uid: 8404 - components: - - type: Transform - pos: 61.5,-41.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7953 - - 10296 - - uid: 8405 - components: - - type: Transform - pos: 66.5,-67.5 - parent: 2 - - uid: 8406 - components: - - type: Transform - pos: 67.5,-67.5 - parent: 2 - - uid: 8407 - components: - - type: Transform - pos: 70.5,-71.5 - parent: 2 - - uid: 8408 - components: - - type: Transform - pos: 78.5,-60.5 - parent: 2 - uid: 8409 components: - type: Transform @@ -56933,6 +56892,7 @@ entities: - 6345 - 9243 - 7880 + - 9236 - uid: 8425 components: - type: Transform @@ -57096,11 +57056,10 @@ entities: - type: Transform pos: -52.5,-61.5 parent: 2 - - uid: 8480 - components: - - type: Transform - pos: -52.5,-62.5 - parent: 2 + - type: DeviceNetwork + deviceLists: + - 2359 + - 9262 - uid: 8481 components: - type: Transform @@ -57234,7 +57193,6 @@ entities: - type: DeviceNetwork deviceLists: - 8800 - - 8767 - 469 - 9038 - uid: 8525 @@ -57245,7 +57203,6 @@ entities: - type: DeviceNetwork deviceLists: - 8800 - - 8767 - 469 - 9038 - uid: 8526 @@ -57256,9 +57213,74 @@ entities: - type: DeviceNetwork deviceLists: - 8800 - - 8767 - 469 - 9038 + - uid: 8547 + components: + - type: Transform + pos: 50.5,-48.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 11905 + - 3424 + - 16341 + - 16312 + - uid: 8548 + components: + - type: Transform + pos: 51.5,-48.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 11905 + - 3424 + - 16341 + - 16312 + - uid: 8549 + components: + - type: Transform + pos: 52.5,-48.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 11905 + - 3424 + - 16341 + - 16312 + - uid: 8550 + components: + - type: Transform + pos: 33.5,-22.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 19857 + - 19856 + - uid: 8551 + components: + - type: Transform + pos: 33.5,-23.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 19857 + - 19856 + - uid: 8552 + components: + - type: Transform + pos: 33.5,-24.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 19857 + - 19856 - uid: 8554 components: - type: Transform @@ -57291,54 +57313,7 @@ entities: - 6345 - 9243 - 7880 - - uid: 8586 - components: - - type: Transform - pos: 88.5,-48.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - uid: 8587 - components: - - type: Transform - pos: 88.5,-49.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - uid: 8588 - components: - - type: Transform - pos: 88.5,-50.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - uid: 8589 - components: - - type: Transform - pos: 88.5,-42.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - uid: 8590 - components: - - type: Transform - pos: 88.5,-41.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - uid: 8591 - components: - - type: Transform - pos: 88.5,-40.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 + - 9236 - uid: 8599 components: - type: Transform @@ -57348,6 +57323,8 @@ entities: deviceLists: - 9199 - 3258 + - 15092 + - 15885 - uid: 8600 components: - type: Transform @@ -57357,6 +57334,8 @@ entities: deviceLists: - 9199 - 3258 + - 15092 + - 15885 - uid: 8601 components: - type: Transform @@ -57366,6 +57345,8 @@ entities: deviceLists: - 9199 - 3258 + - 15092 + - 15885 - uid: 8602 components: - type: Transform @@ -57375,6 +57356,8 @@ entities: deviceLists: - 9198 - 3256 + - 15092 + - 15885 - uid: 8603 components: - type: Transform @@ -57384,6 +57367,8 @@ entities: deviceLists: - 9198 - 3256 + - 15092 + - 15885 - uid: 8604 components: - type: Transform @@ -57393,11 +57378,17 @@ entities: deviceLists: - 9198 - 3256 + - 15092 + - 15885 - uid: 8605 components: - type: Transform pos: -41.5,-11.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 3256 + - 9198 - uid: 8664 components: - type: Transform @@ -57416,8 +57407,7 @@ entities: - type: DeviceNetwork deviceLists: - 14636 - - 3897 - - 9200 + - 19835 - uid: 8676 components: - type: Transform @@ -57458,8 +57448,8 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 9262 - 2359 + - 9262 - uid: 8735 components: - type: Transform @@ -57469,15 +57459,6 @@ entities: deviceLists: - 9262 - 2359 - - uid: 8736 - components: - - type: Transform - pos: -52.5,-61.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 9262 - - 2359 - uid: 8737 components: - type: Transform @@ -57496,75 +57477,7 @@ entities: deviceLists: - 349 - 14642 - - uid: 8783 - components: - - type: Transform - pos: 26.5,-22.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6354 - - 16803 - - uid: 8784 - components: - - type: Transform - pos: 26.5,-23.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6354 - - 16803 - - uid: 8785 - components: - - type: Transform - pos: 32.5,-22.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6354 - - 18873 - - 16803 - - 18883 - - uid: 8786 - components: - - type: Transform - pos: 28.5,-17.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 16803 - - 19354 - - 6354 - - uid: 8787 - components: - - type: Transform - pos: 29.5,-17.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 19354 - - 16803 - - 6354 - - uid: 8788 - components: - - type: Transform - pos: 30.5,-17.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 16803 - - 19354 - - 6354 - - uid: 8789 - components: - - type: Transform - pos: 28.5,-24.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6353 - - 6354 - - 16803 + - 19836 - uid: 8870 components: - type: Transform @@ -57598,46 +57511,6 @@ entities: - 364 - 5295 - 17282 - - uid: 9213 - components: - - type: Transform - pos: 63.5,-44.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7953 - - 10296 - - uid: 9287 - components: - - type: Transform - pos: 54.5,-52.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - - 3329 - - 3424 - - uid: 9293 - components: - - type: Transform - pos: 66.5,-32.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7953 - - 10296 - - uid: 9363 - components: - - type: Transform - pos: 54.5,-50.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3401 - - 7131 - - 3329 - - 3424 - uid: 9410 components: - type: Transform @@ -57670,21 +57543,20 @@ entities: deviceLists: - 2110 - 1876 - - uid: 10297 + - 9178 + - 16800 + - uid: 9878 components: - type: Transform - pos: 61.5,-42.5 - parent: 2 - - uid: 10298 - components: - - type: Transform - pos: 66.5,-44.5 + rot: 3.141592653589793 rad + pos: -14.5,-43.5 parent: 2 - type: DeviceNetwork deviceLists: - - 7953 - - 10296 - - 10295 + - 6218 + - 9234 + - 9038 + - 469 - uid: 10326 components: - type: Transform @@ -57762,14 +57634,24 @@ entities: - 9200 - 9489 - 1212 - - uid: 10754 + - uid: 10788 components: - type: Transform - pos: 58.5,-40.5 + rot: -1.5707963267948966 rad + pos: 90.5,-49.5 parent: 2 - type: DeviceNetwork deviceLists: - - 7104 + - 10839 + - uid: 10811 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 90.5,-48.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10839 - uid: 11336 components: - type: Transform @@ -57789,17 +57671,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 6418 - - 16808 - 572 - 9039 - - 3329 - 3424 - - uid: 12855 - components: - - type: Transform - pos: 66.5,-61.5 - parent: 2 + - 11905 - uid: 12859 components: - type: Transform @@ -57816,6 +57691,9 @@ entities: - type: Transform pos: 7.5,-31.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 8767 - uid: 13567 components: - type: Transform @@ -57826,16 +57704,6 @@ entities: - 18493 - 18013 - 15095 - - uid: 13816 - components: - - type: Transform - pos: 60.5,-54.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 8124 - - 3401 - - 7131 - uid: 13846 components: - type: Transform @@ -57845,6 +57713,8 @@ entities: deviceLists: - 18059 - 10791 + - 19247 + - 18818 - uid: 14283 components: - type: Transform @@ -57852,12 +57722,10 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 6418 - - 16808 - 572 - 9039 - - 3329 - 3424 + - 11905 - uid: 14594 components: - type: Transform @@ -57866,7 +57734,6 @@ entities: - type: DeviceNetwork deviceLists: - 14593 - - 6218 - 18881 - uid: 14595 components: @@ -57876,7 +57743,6 @@ entities: - type: DeviceNetwork deviceLists: - 14593 - - 6218 - 18881 - uid: 14728 components: @@ -57887,7 +57753,7 @@ entities: deviceLists: - 18059 - 10791 - - 18874 + - 579 - uid: 14730 components: - type: Transform @@ -57897,6 +57763,7 @@ entities: deviceLists: - 18059 - 10791 + - 6358 - uid: 14753 components: - type: Transform @@ -57922,15 +57789,76 @@ entities: - type: Transform pos: -11.5,-48.5 parent: 2 - - uid: 15269 + - type: DeviceNetwork + deviceLists: + - 6218 + - 9234 + - 9233 + - 5526 + - uid: 15173 components: - type: Transform - pos: -36.5,-75.5 + rot: 3.141592653589793 rad + pos: -12.5,-43.5 parent: 2 - - uid: 15270 + - type: DeviceNetwork + deviceLists: + - 6218 + - 9234 + - 9038 + - 469 + - uid: 15191 components: - type: Transform - pos: -35.5,-75.5 + rot: -1.5707963267948966 rad + pos: 90.5,-50.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10839 + - uid: 15192 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 90.5,-42.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10839 + - uid: 15193 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 90.5,-41.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10839 + - uid: 15194 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 90.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10839 + - uid: 15243 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -13.5,-43.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6218 + - 9234 + - 9038 + - 469 + - uid: 15409 + components: + - type: Transform + pos: -36.5,-74.5 parent: 2 - uid: 16165 components: @@ -57943,6 +57871,39 @@ entities: - 14593 - 14591 - 18881 + - uid: 16238 + components: + - type: Transform + pos: 66.5,-41.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9873 + - 16354 + - 16357 + - 16356 + - uid: 16239 + components: + - type: Transform + pos: 65.5,-41.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9873 + - 16354 + - 16357 + - 16356 + - uid: 16240 + components: + - type: Transform + pos: 64.5,-41.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9873 + - 16354 + - 16357 + - 16356 - uid: 16242 components: - type: Transform @@ -57954,16 +57915,119 @@ entities: - 19201 - 3897 - 9200 - - uid: 17963 + - uid: 16247 components: - type: Transform - pos: 66.5,-51.5 + pos: 54.5,-32.5 parent: 2 - type: DeviceNetwork deviceLists: - - 7950 - - 3401 - - 7131 + - 19911 + - 9873 + - 16354 + - uid: 16252 + components: + - type: Transform + pos: 54.5,-33.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19911 + - 9873 + - 16354 + - uid: 16259 + components: + - type: Transform + pos: 54.5,-34.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19911 + - 9873 + - 16354 + - uid: 16431 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,-29.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9873 + - 16354 + - uid: 16433 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-29.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9873 + - 16354 + - uid: 16437 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-37.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9873 + - 16354 + - uid: 16448 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-37.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9873 + - 16354 + - uid: 16450 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16341 + - 16312 + - uid: 16451 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16341 + - 16312 + - uid: 16452 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,-26.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 579 + - uid: 16453 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-26.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 579 + - uid: 17101 + components: + - type: Transform + pos: -35.5,-74.5 + parent: 2 - uid: 18091 components: - type: Transform @@ -57974,6 +58038,133 @@ entities: - 14752 - 18013 - 15095 + - uid: 18702 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 25.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 16366 + - 10761 + - uid: 18703 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 16366 + - 10761 + - uid: 18704 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 27.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 16366 + - 10761 + - uid: 18705 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.5,-18.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 19855 + - 16362 + - uid: 18706 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.5,-19.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 19855 + - 16362 + - uid: 18707 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 30.5,-21.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 19855 + - 16362 + - uid: 18708 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 31.5,-21.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 19855 + - 16362 + - uid: 18709 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 30.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16362 + - 19855 + - 16363 + - uid: 18723 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 31.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16362 + - 19855 + - 16363 + - uid: 18724 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 32.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16362 + - 19855 + - 16363 + - uid: 18731 + components: + - type: Transform + pos: 35.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 18736 + - 19855 + - 16362 - uid: 18761 components: - type: Transform @@ -58057,6 +58248,24 @@ entities: - 2110 - 14590 - 14591 + - uid: 19065 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 30.5,-35.5 + parent: 2 + - uid: 19067 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 37.5,-33.5 + parent: 2 + - uid: 19078 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 48.5,-42.5 + parent: 2 - uid: 19203 components: - type: Transform @@ -58093,11 +58302,6 @@ entities: deviceLists: - 14460 - 14461 - - uid: 19315 - components: - - type: Transform - pos: 56.5,-69.5 - parent: 2 - uid: 19401 components: - type: Transform @@ -58120,6 +58324,850 @@ entities: - 19400 - 1751 - 9931 + - uid: 19796 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -29.5,-19.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 15092 + - 15885 + - 5200 + - 6646 + - uid: 19797 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -28.5,-19.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 15092 + - 15885 + - 5200 + - 6646 + - uid: 19798 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -27.5,-19.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 15092 + - 15885 + - 5200 + - 6646 + - uid: 19799 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -29.5,-30.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 5200 + - 6646 + - 9255 + - 6411 + - uid: 19800 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -28.5,-30.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 5200 + - 6646 + - 9255 + - 6411 + - uid: 19801 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -27.5,-30.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 5200 + - 6646 + - 9255 + - 6411 + - uid: 19802 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -26.5,-37.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9255 + - 6411 + - uid: 19803 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -26.5,-36.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9255 + - 6411 + - uid: 19804 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -26.5,-35.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9255 + - 6411 + - uid: 19805 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -30.5,-42.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9256 + - 6413 + - uid: 19806 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -30.5,-41.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9256 + - 6413 + - uid: 19807 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -30.5,-48.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9256 + - 6413 + - uid: 19808 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -30.5,-49.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9256 + - 6413 + - uid: 19809 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -33.5,-42.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 2452 + - 9190 + - uid: 19810 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -33.5,-41.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 2452 + - 9190 + - uid: 19811 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -33.5,-48.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 2452 + - 9190 + - uid: 19812 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -33.5,-49.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 2452 + - 9190 + - uid: 19816 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -15.5,-39.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - uid: 19817 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -15.5,-38.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - uid: 19818 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -15.5,-37.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - uid: 19820 + components: + - type: Transform + pos: -0.5,-27.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 9489 + - 1212 + - uid: 19821 + components: + - type: Transform + pos: 0.5,-27.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 9489 + - 1212 + - uid: 19822 + components: + - type: Transform + pos: 6.5,-34.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 19399 + - 19400 + - uid: 19823 + components: + - type: Transform + pos: 6.5,-35.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 19399 + - 19400 + - uid: 19824 + components: + - type: Transform + pos: 6.5,-36.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 19399 + - 19400 + - uid: 19825 + components: + - type: Transform + pos: 5.5,-38.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 17681 + - 17680 + - uid: 19826 + components: + - type: Transform + pos: 4.5,-38.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 17681 + - 17680 + - uid: 19827 + components: + - type: Transform + pos: 3.5,-38.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9038 + - 469 + - 17681 + - 17680 + - uid: 19828 + components: + - type: Transform + pos: -9.5,-13.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 3258 + - 9199 + - 9200 + - 3897 + - uid: 19829 + components: + - type: Transform + pos: -9.5,-12.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 3258 + - 9199 + - 9200 + - 3897 + - uid: 19830 + components: + - type: Transform + pos: -9.5,-11.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 3258 + - 9199 + - 9200 + - 3897 + - uid: 19831 + components: + - type: Transform + pos: 15.5,-13.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 7439 + - 459 + - 16366 + - 10761 + - uid: 19832 + components: + - type: Transform + pos: 15.5,-12.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 7439 + - 459 + - 16366 + - 10761 + - uid: 19833 + components: + - type: Transform + pos: 15.5,-11.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 7439 + - 459 + - 16366 + - 10761 + - uid: 19834 + components: + - type: Transform + pos: 3.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19835 + - uid: 19837 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-22.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 18593 + - 364 + - 17872 + - 16367 + - uid: 19838 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-23.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 18593 + - 364 + - 17872 + - 16367 + - uid: 19839 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-36.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9931 + - 1751 + - 19852 + - 19853 + - uid: 19840 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-35.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9931 + - 1751 + - 19852 + - 19853 + - uid: 19841 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-34.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9931 + - 1751 + - 19852 + - 19853 + - uid: 19845 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 23.5,-28.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19852 + - 19853 + - 17872 + - 16367 + - uid: 19846 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-28.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19852 + - 19853 + - 17872 + - 16367 + - uid: 19847 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 25.5,-28.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19852 + - 19853 + - 17872 + - 16367 + - uid: 19848 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 23.5,-38.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19852 + - 19853 + - 6344 + - 9235 + - uid: 19849 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-38.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19852 + - 19853 + - 6344 + - 9235 + - uid: 19850 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 25.5,-38.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19852 + - 19853 + - 6344 + - 9235 + - uid: 19851 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.5,-25.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 7582 + - uid: 19854 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 29.5,-25.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17872 + - 16367 + - 7582 + - uid: 19875 + components: + - type: Transform + pos: 72.5,-23.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6358 + - 19876 + - uid: 19882 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 38.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6350 + - 9241 + - 19880 + - 19881 + - uid: 19885 + components: + - type: Transform + pos: 14.5,-55.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6346 + - 9403 + - 9249 + - 6406 + - uid: 19886 + components: + - type: Transform + pos: 6.5,-52.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6346 + - 9403 + - 1691 + - 9216 + - uid: 19887 + components: + - type: Transform + pos: 6.5,-53.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6346 + - 9403 + - 1691 + - 9216 + - uid: 19888 + components: + - type: Transform + pos: 6.5,-54.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6346 + - 9403 + - 1691 + - 9216 + - uid: 19889 + components: + - type: Transform + pos: 8.5,-64.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6346 + - 9403 + - 9237 + - 569 + - uid: 19890 + components: + - type: Transform + pos: 9.5,-64.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6346 + - 9403 + - 9237 + - 569 + - uid: 19891 + components: + - type: Transform + pos: 5.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17681 + - 17680 + - 1691 + - 9216 + - uid: 19892 + components: + - type: Transform + pos: 4.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17681 + - 17680 + - 1691 + - 9216 + - uid: 19893 + components: + - type: Transform + pos: 13.5,-75.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9237 + - 569 + - 6348 + - 9239 + - uid: 19894 + components: + - type: Transform + pos: 14.5,-75.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9237 + - 569 + - 6348 + - 9239 + - uid: 19895 + components: + - type: Transform + pos: 15.5,-75.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9237 + - 569 + - 6348 + - 9239 + - uid: 19896 + components: + - type: Transform + pos: 23.5,-75.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6348 + - 9239 + - 6349 + - 9240 + - uid: 19897 + components: + - type: Transform + pos: 24.5,-75.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6348 + - 9239 + - 6349 + - 9240 + - uid: 19898 + components: + - type: Transform + pos: 25.5,-75.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 6348 + - 9239 + - 6349 + - 9240 + - uid: 19900 + components: + - type: Transform + pos: 57.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16341 + - 16312 + - 19910 + - 16346 + - uid: 19901 + components: + - type: Transform + pos: 58.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16341 + - 16312 + - 19910 + - 16346 + - uid: 19902 + components: + - type: Transform + pos: 59.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16341 + - 16312 + - 19910 + - 16346 + - uid: 19903 + components: + - type: Transform + pos: 63.5,-43.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16341 + - 16312 + - 16357 + - 16356 + - uid: 19904 + components: + - type: Transform + pos: 63.5,-42.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16341 + - 16312 + - 16357 + - 16356 + - uid: 19906 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-28.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19909 + - uid: 19907 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-35.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19910 + - 16346 + - 9873 + - 16354 + - uid: 19908 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-35.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19910 + - 16346 + - 9873 + - 16354 + - uid: 19912 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-27.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19909 + - uid: 19914 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 83.5,-46.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19916 + - 10839 + - uid: 19915 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 83.5,-44.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19916 + - 10839 + - uid: 19918 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 73.5,-71.5 + parent: 2 + - uid: 19919 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-61.5 + parent: 2 + - uid: 19920 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 34.5,-70.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 7310 + - 19921 + - 6405 + - 9248 - proto: Flare entities: - uid: 10803 @@ -58176,21 +59224,16 @@ entities: - type: Transform pos: 29.42569,-76.37392 parent: 2 - - uid: 15463 - components: - - type: Transform - pos: 49.38892,-25.404797 - parent: 2 - - uid: 15465 - components: - - type: Transform - pos: 49.60767,-25.529884 - parent: 2 - uid: 15887 components: - type: Transform pos: 8.378325,-77.38192 parent: 2 + - uid: 16034 + components: + - type: Transform + pos: 58.37897,-56.323803 + parent: 2 - uid: 16301 components: - type: Transform @@ -58226,6 +59269,11 @@ entities: - type: Transform pos: -33.738388,-29.310532 parent: 2 + - uid: 19185 + components: + - type: Transform + pos: 40.650253,-25.478815 + parent: 2 - proto: FlashlightSeclite entities: - uid: 5588 @@ -58233,11 +59281,6 @@ entities: - type: Transform pos: -52.491226,-38.6449 parent: 2 - - uid: 7742 - components: - - type: Transform - pos: 55.5,-46.5 - parent: 2 - proto: FlippoLighter entities: - uid: 6024 @@ -58254,6 +59297,51 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage +- proto: FloorCarpetItemBlack + entities: + - uid: 7382 + components: + - type: Transform + pos: 55.366177,-66.28229 + parent: 2 + - type: Stack + count: 10 +- proto: FloorCarpetItemOrange + entities: + - uid: 5314 + components: + - type: Transform + pos: 55.392075,-66.48532 + parent: 2 + - type: Stack + count: 10 +- proto: FloorCarpetItemPurple + entities: + - uid: 10699 + components: + - type: Transform + pos: 55.65664,-66.53657 + parent: 2 + - type: Stack + count: 10 +- proto: FloorCarpetItemSkyBlue + entities: + - uid: 7201 + components: + - type: Transform + pos: 55.609764,-66.3333 + parent: 2 + - type: Stack + count: 10 +- proto: FloorCarpetItemWhite + entities: + - uid: 7381 + components: + - type: Transform + pos: 55.65664,-66.23949 + parent: 2 + - type: Stack + count: 10 - proto: FloorDrain entities: - uid: 1834 @@ -58285,10 +59373,24 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 7038 + - uid: 6409 components: - type: Transform - pos: 47.5,-41.5 + pos: 44.5,-43.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 7030 + components: + - type: Transform + pos: 44.5,-42.5 + parent: 2 + - type: Fixtures + fixtures: {} + - uid: 7142 + components: + - type: Transform + pos: 42.5,-37.5 parent: 2 - type: Fixtures fixtures: {} @@ -58299,13 +59401,6 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 17878 - components: - - type: Transform - pos: 36.5,-18.5 - parent: 2 - - type: Fixtures - fixtures: {} - uid: 19016 components: - type: Transform @@ -58341,11 +59436,6 @@ entities: - type: Transform pos: -49.5,-68.5 parent: 2 - - uid: 16175 - components: - - type: Transform - pos: 72.5,-32.5 - parent: 2 - uid: 17097 components: - type: Transform @@ -58361,11 +59451,6 @@ entities: - type: Transform pos: -25.5,-51.5 parent: 2 - - uid: 17101 - components: - - type: Transform - pos: -40.5,-80.5 - parent: 2 - uid: 17103 components: - type: Transform @@ -58376,31 +59461,11 @@ entities: - type: Transform pos: 5.5,-71.5 parent: 2 - - uid: 17107 - components: - - type: Transform - pos: 66.5,-58.5 - parent: 2 - uid: 17108 components: - type: Transform pos: 77.5,-51.5 parent: 2 - - uid: 17109 - components: - - type: Transform - pos: 33.5,-31.5 - parent: 2 - - uid: 17110 - components: - - type: Transform - pos: 50.5,-34.5 - parent: 2 - - uid: 17111 - components: - - type: Transform - pos: 54.5,-40.5 - parent: 2 - uid: 17113 components: - type: Transform @@ -58421,10 +59486,11 @@ entities: - type: Transform pos: -37.5,-36.5 parent: 2 - - uid: 17117 + - uid: 17119 components: - type: Transform - pos: -36.5,-77.5 + rot: 1.5707963267948966 rad + pos: -38.523506,-80.51952 parent: 2 - uid: 17308 components: @@ -58461,36 +59527,25 @@ entities: - type: Transform pos: -39.5,-70.5 parent: 2 - - uid: 18100 - components: - - type: Transform - pos: 56.5,-67.5 - parent: 2 - uid: 18266 components: - type: Transform rot: 1.5707963267948966 rad pos: 37.5,-21.5 parent: 2 - - uid: 18270 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 46.5,-48.5 - parent: 2 - proto: FoamCrossbow entities: - uid: 7960 components: - type: Transform - pos: 64.66352,-70.57762 + pos: 69.6651,-59.63053 parent: 2 - proto: FoamCutlass entities: - uid: 18301 components: - type: Transform - pos: 64.45814,-70.017105 + pos: 69.39864,-60.424595 parent: 2 - uid: 18854 components: @@ -58500,7 +59555,7 @@ entities: - uid: 18933 components: - type: Transform - pos: 64.58314,-70.288124 + pos: 69.55489,-60.50272 parent: 2 - proto: FolderSpawner entities: @@ -58533,7 +59588,7 @@ entities: - uid: 5021 components: - type: Transform - pos: 48.518234,-40.351086 + pos: 40.572193,-36.354713 parent: 2 - proto: FoodBanana entities: @@ -58542,13 +59597,6 @@ entities: - type: Transform pos: -64.68415,-61.398476 parent: 2 -- proto: FoodBowlBigTrash - entities: - - uid: 7329 - components: - - type: Transform - pos: 80.43792,-29.298622 - parent: 2 - proto: FoodBoxDonkpocketStonk entities: - uid: 6834 @@ -58814,10 +59862,10 @@ entities: parent: 2 - proto: FoodDonutJellySlugcat entities: - - uid: 7256 + - uid: 2917 components: - type: Transform - pos: 59.48766,-79.48507 + pos: 72.49038,-74.3934 parent: 2 - type: CollisionWake enabled: False @@ -58922,60 +59970,13 @@ entities: - type: Transform pos: -38.619698,-62.26088 parent: 2 -- proto: FoodMeatXeno - entities: - - uid: 7044 - components: - - type: Transform - parent: 7043 - - type: Physics - canCollide: False - - type: InsideEntityStorage - - uid: 7045 - components: - - type: Transform - parent: 7043 - - type: Physics - canCollide: False - - type: InsideEntityStorage - - uid: 7046 - components: - - type: Transform - parent: 7043 - - type: Physics - canCollide: False - - type: InsideEntityStorage - - uid: 7047 - components: - - type: Transform - parent: 7043 - - type: Physics - canCollide: False - - type: InsideEntityStorage - - uid: 7048 - components: - - type: Transform - parent: 7043 - - type: Physics - canCollide: False - - type: InsideEntityStorage - - uid: 7049 - components: - - type: Transform - parent: 7043 - - type: Physics - canCollide: False - - type: InsideEntityStorage - proto: FoodMeatXenoCutlet entities: - - uid: 14737 + - uid: 3722 components: - type: Transform - pos: 43.38109,-25.742085 + pos: 42.54103,-26.571922 parent: 2 - - type: CollisionWake - enabled: False - - type: Conveyed - proto: FoodOrange entities: - uid: 17558 @@ -59102,14 +60103,14 @@ entities: - uid: 7328 components: - type: Transform - pos: 80.31292,-26.405987 + pos: 79.62434,-25.69585 parent: 2 - proto: FoodTinMRETrash entities: - uid: 7327 components: - type: Transform - pos: 80.69421,-26.558718 + pos: 79.27017,-25.581188 parent: 2 - proto: ForkPlastic entities: @@ -59130,7 +60131,7 @@ entities: - uid: 18622 components: - type: Transform - pos: 77.75246,-47.4808 + pos: 78.98819,-47.30669 parent: 2 - proto: GasAnalyzer entities: @@ -59149,10 +60150,10 @@ entities: - type: Transform pos: 33.576553,-78.39452 parent: 2 - - uid: 18283 + - uid: 20022 components: - type: Transform - pos: 45.667137,-48.489754 + pos: 57.381683,-59.359867 parent: 2 - proto: GasFilter entities: @@ -59327,6 +60328,12 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 6353 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 44.5,-37.5 + parent: 2 - uid: 7242 components: - type: Transform @@ -59376,18 +60383,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 14763 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-101.5 - parent: 2 - - uid: 19314 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 47.5,-45.5 - parent: 2 - proto: GasPipeBend entities: - uid: 2287 @@ -59413,22 +60408,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 2933 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 67.5,-46.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 2943 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 65.5,-47.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 3845 components: - type: Transform @@ -59445,14 +60424,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 4096 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 70.5,-22.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 4108 components: - type: Transform @@ -59485,13 +60456,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 5788 - components: - - type: Transform - pos: 27.5,-97.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 5840 components: - type: Transform @@ -59535,6 +60499,21 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 7132 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 41.5,-38.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7137 + components: + - type: Transform + pos: 42.5,-38.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 7162 components: - type: Transform @@ -59559,6 +60538,85 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 7302 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 85.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7329 + components: + - type: Transform + pos: 91.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7332 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 43.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7334 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 91.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7342 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 85.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7367 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 42.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7369 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 85.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7370 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 78.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7376 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 78.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7379 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 41.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 7839 components: - type: Transform @@ -59659,22 +60717,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 8688 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 41.5,-49.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 8763 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -33.5,-14.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 8810 components: - type: Transform @@ -59691,22 +60733,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 8861 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 30.5,-15.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 8867 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-15.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 8874 components: - type: Transform @@ -59786,14 +60812,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9080 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 27.5,-94.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9083 components: - type: Transform @@ -59955,14 +60973,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9371 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9374 components: - type: Transform @@ -60077,13 +61087,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9540 - components: - - type: Transform - pos: 25.5,-13.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9587 components: - type: Transform @@ -60192,14 +61195,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9764 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -48.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9797 components: - type: Transform @@ -60224,37 +61219,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9870 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 27.5,-29.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9871 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 25.5,-25.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9872 + - uid: 9880 components: - type: Transform rot: 1.5707963267948966 rad - pos: 24.5,-25.5 + pos: 40.5,-52.5 parent: 2 - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9873 - components: - - type: Transform - pos: 25.5,-30.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' + color: '#0335FCFF' - uid: 9914 components: - type: Transform @@ -60376,11 +61348,11 @@ entities: - uid: 10174 components: - type: Transform - rot: 3.141592653589793 rad - pos: -48.5,-49.5 + rot: 1.5707963267948966 rad + pos: -51.5,-41.5 parent: 2 - type: AtmosPipeColor - color: '#FF1212FF' + color: '#0335FCFF' - uid: 10175 components: - type: Transform @@ -60412,6 +61384,13 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 10282 + components: + - type: Transform + pos: 42.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 10323 components: - type: Transform @@ -60451,22 +61430,13 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10401 + - uid: 10405 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 77.5,-45.5 + pos: 85.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' - - uid: 10402 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 77.5,-44.5 - parent: 2 - - type: AtmosPipeColor - color: '#0055CCFF' + color: '#FF1212FF' - uid: 10416 components: - type: Transform @@ -60475,45 +61445,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10419 - components: - - type: Transform - pos: 84.5,-46.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 10420 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 84.5,-47.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 10424 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 84.5,-44.5 - parent: 2 - - type: AtmosPipeColor - color: '#0055CCFF' - - uid: 10425 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 84.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0055CCFF' - - uid: 10435 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 40.5,-49.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10453 components: - type: Transform @@ -60537,11 +61468,11 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10513 + - uid: 10596 components: - type: Transform rot: -1.5707963267948966 rad - pos: 63.5,-52.5 + pos: 5.5,-17.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' @@ -60561,6 +61492,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FFAD4FFF' + - uid: 10753 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -52.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 10770 components: - type: Transform @@ -60610,29 +61549,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 11740 - components: - - type: Transform - pos: 61.5,-56.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 11742 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 52.5,-56.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11851 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-37.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 12153 components: - type: Transform @@ -60916,14 +61832,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 15418 + - uid: 15509 components: - type: Transform - rot: 3.141592653589793 rad - pos: 58.5,-38.5 + rot: -1.5707963267948966 rad + pos: 13.5,-16.5 parent: 2 - type: AtmosPipeColor - color: '#FF1212FF' + color: '#0335FCFF' - uid: 16234 components: - type: Transform @@ -60948,22 +61864,62 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FFAD4FFF' - - uid: 16885 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 89.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0055CCFF' - - uid: 16896 + - uid: 16873 components: - type: Transform rot: 1.5707963267948966 rad - pos: 41.5,-43.5 + pos: 50.5,-44.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 16874 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16876 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16877 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 16878 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 16879 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 16885 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 54.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 16898 components: - type: Transform @@ -60980,38 +61936,22 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 16907 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 48.5,-44.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 16908 components: - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-30.5 + rot: -1.5707963267948966 rad + pos: 52.5,-56.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 16915 + - uid: 16909 components: - type: Transform rot: 1.5707963267948966 rad - pos: 27.5,-20.5 + pos: 52.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 16916 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 28.5,-20.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' + color: '#FF1212FF' - uid: 16931 components: - type: Transform @@ -61034,6 +61974,21 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 17260 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-48.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17261 + components: + - type: Transform + pos: 61.5,-48.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 17275 components: - type: Transform @@ -61057,14 +62012,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 17474 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-56.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 17597 components: - type: Transform @@ -61073,18 +62020,105 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 17685 + - uid: 17605 components: - type: Transform - pos: 89.5,-47.5 + pos: 69.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' - - uid: 17999 + color: '#0335FCFF' + - uid: 17644 components: - type: Transform rot: 1.5707963267948966 rad - pos: 62.5,-41.5 + pos: 64.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17685 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17717 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 62.5,-36.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17718 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 61.5,-35.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17719 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-36.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17720 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-35.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17897 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17898 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 51.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17910 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 51.5,-36.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17915 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 64.5,-50.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17924 + components: + - type: Transform + pos: 65.5,-50.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17954 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-37.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -61120,6 +62154,108 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 18061 + components: + - type: Transform + pos: 75.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18289 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 25.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18292 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18341 + components: + - type: Transform + pos: 27.5,-13.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18506 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 31.5,-20.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18508 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 32.5,-20.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18571 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 75.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18598 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 30.5,-15.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18600 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 32.5,-15.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18604 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 31.5,-14.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18605 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 31.5,-15.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18631 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 34.5,-14.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18632 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 34.5,-13.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 18798 components: - type: Transform @@ -61137,11 +62273,108 @@ entities: pipeLayer: Secondary - type: AtmosPipeColor color: '#FF1212FF' - - uid: 18853 + - uid: 18825 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 28.5,-15.5 + rot: 3.141592653589793 rad + pos: 54.5,-52.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18826 + components: + - type: Transform + pos: 55.5,-52.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18827 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 55.5,-53.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18829 + components: + - type: Transform + pos: 56.5,-53.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18833 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-54.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18837 + components: + - type: Transform + pos: 54.5,-51.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18878 + components: + - type: Transform + pos: 58.5,-54.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18879 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-55.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18882 + components: + - type: Transform + pos: 59.5,-55.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18883 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19057 + components: + - type: Transform + pos: 70.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19058 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-57.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19059 + components: + - type: Transform + pos: 71.5,-57.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19060 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 71.5,-64.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -61175,6 +62408,169 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FFAD4FFF' + - uid: 19581 + components: + - type: Transform + pos: 29.5,-97.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19582 + components: + - type: Transform + pos: 30.5,-94.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19594 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 29.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19595 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 30.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19790 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 67.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19791 + components: + - type: Transform + pos: 67.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19793 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19794 + components: + - type: Transform + pos: 65.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19795 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19995 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -33.5,-16.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19996 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -34.5,-16.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19997 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -34.5,-18.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19998 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -35.5,-18.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19999 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -35.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20000 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -44.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20001 + components: + - type: Transform + pos: -44.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20002 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -50.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20003 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -50.5,-25.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20011 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-59.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20012 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-59.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20046 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -52.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - proto: GasPipeFourway entities: - uid: 3132 @@ -61261,6 +62657,20 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 16361 + components: + - type: Transform + pos: 63.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16368 + components: + - type: Transform + pos: 64.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 16854 components: - type: Transform @@ -61268,6 +62678,20 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 17311 + components: + - type: Transform + pos: 66.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17792 + components: + - type: Transform + pos: 64.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - proto: GasPipeManifold entities: - uid: 10223 @@ -61388,14 +62812,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 1226 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-38.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 1697 components: - type: Transform @@ -61511,30 +62927,6 @@ entities: pipeLayer: Secondary - type: AtmosPipeColor color: '#FF1212FF' - - uid: 2678 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 51.5,-53.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 2725 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 60.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 2931 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 68.5,-47.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 3060 components: - type: Transform @@ -61575,14 +62967,6 @@ entities: pipeLayer: Tertiary - type: AtmosPipeColor color: '#947507FF' - - uid: 3515 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-47.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 3516 components: - type: Transform @@ -61591,66 +62975,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 3518 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-31.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3519 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3520 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3521 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 3557 - components: - - type: Transform - pos: 63.5,-38.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3558 - components: - - type: Transform - pos: 63.5,-40.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3559 - components: - - type: Transform - pos: 63.5,-39.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3560 - components: - - type: Transform - pos: 64.5,-39.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 3562 components: - type: Transform @@ -61699,30 +63023,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 3668 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-49.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3763 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-44.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 3811 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 3946 components: - type: Transform @@ -61761,30 +63061,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 4187 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 4189 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 4191 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,-31.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 4192 components: - type: Transform @@ -61793,14 +63069,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 4193 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-46.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 4201 components: - type: Transform @@ -61817,14 +63085,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 4204 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 67.5,-33.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 4294 components: - type: Transform @@ -61833,6 +63093,22 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 4346 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 4516 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 42.5,-50.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 4709 components: - type: Transform @@ -61909,22 +63185,6 @@ entities: rot: -1.5707963267948966 rad pos: -3.5,-51.5 parent: 2 - - uid: 5405 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 5406 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 5407 components: - type: Transform @@ -61941,14 +63201,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 5409 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-45.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 5567 components: - type: Transform @@ -61986,13 +63238,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 6424 - components: - - type: Transform - pos: 28.5,-24.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 6466 components: - type: Transform @@ -62053,46 +63298,6 @@ entities: rot: 3.141592653589793 rad pos: 47.5,-78.5 parent: 2 - - uid: 7152 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 51.5,-54.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 7154 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 60.5,-42.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 7155 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-54.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 7160 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-37.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 7164 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-38.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 7167 components: - type: Transform @@ -62100,27 +63305,10 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 7176 + - uid: 7189 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-32.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 7177 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-33.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 7178 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-33.5 + pos: 43.5,-38.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' @@ -62132,35 +63320,99 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 7270 + - uid: 7306 components: - type: Transform rot: -1.5707963267948966 rad - pos: 61.5,-51.5 + pos: 77.5,-45.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 7282 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 67.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 7737 + - uid: 7319 components: - type: Transform rot: -1.5707963267948966 rad - pos: 53.5,-51.5 + pos: 84.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 7739 + color: '#FF1212FF' + - uid: 7321 components: - type: Transform rot: -1.5707963267948966 rad - pos: 50.5,-51.5 + pos: 84.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7330 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7348 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7350 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7351 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 42.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7364 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 42.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 7373 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 89.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7375 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7378 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 90.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7601 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 90.5,-43.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -62375,14 +63627,6 @@ entities: rot: -1.5707963267948966 rad pos: 34.5,-66.5 parent: 2 - - uid: 7951 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 8097 components: - type: Transform @@ -62391,11 +63635,11 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 8140 + - uid: 8161 components: - type: Transform rot: -1.5707963267948966 rad - pos: 67.5,-32.5 + pos: 89.5,-43.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -62459,14 +63703,6 @@ entities: rot: 3.141592653589793 rad pos: 49.5,-75.5 parent: 2 - - uid: 8630 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-49.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 8636 components: - type: Transform @@ -62527,14 +63763,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 8813 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 8820 components: - type: Transform @@ -62550,14 +63778,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 8845 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 28.5,-16.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 8876 components: - type: Transform @@ -64129,14 +65349,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9204 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9205 components: - type: Transform @@ -64177,6 +65389,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 9226 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 9227 components: - type: Transform @@ -64201,21 +65421,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9251 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-48.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9259 - components: - - type: Transform - pos: 65.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9279 components: - type: Transform @@ -64253,14 +65458,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9360 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9368 components: - type: Transform @@ -64269,14 +65466,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9369 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-46.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9375 components: - type: Transform @@ -64332,14 +65521,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9383 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 71.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9387 components: - type: Transform @@ -64439,55 +65620,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9406 - components: - - type: Transform - pos: 23.5,-20.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9407 - components: - - type: Transform - pos: 23.5,-19.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9408 - components: - - type: Transform - pos: 23.5,-18.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9409 - components: - - type: Transform - pos: 23.5,-17.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9411 - components: - - type: Transform - pos: 23.5,-15.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9412 - components: - - type: Transform - pos: 23.5,-14.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9413 - components: - - type: Transform - pos: 23.5,-13.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9414 components: - type: Transform @@ -64509,14 +65641,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9420 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 28.5,-29.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9422 components: - type: Transform @@ -65441,13 +66565,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9615 - components: - - type: Transform - pos: 64.5,-37.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9616 components: - type: Transform @@ -65566,27 +66683,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9635 - components: - - type: Transform - pos: 64.5,-36.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9636 - components: - - type: Transform - pos: 64.5,-32.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9638 - components: - - type: Transform - pos: 63.5,-35.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9639 components: - type: Transform @@ -65642,7 +66738,7 @@ entities: pos: 83.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 9652 components: - type: Transform @@ -65934,13 +67030,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9722 - components: - - type: Transform - pos: 27.5,-27.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9724 components: - type: Transform @@ -66368,20 +67457,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9793 - components: - - type: Transform - pos: 27.5,-28.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9794 - components: - - type: Transform - pos: 28.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9799 components: - type: Transform @@ -66774,83 +67849,11 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9875 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-24.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9876 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9877 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-21.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9878 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-20.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9879 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-19.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9880 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-18.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9881 components: - type: Transform rot: 3.141592653589793 rad - pos: 25.5,-17.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9882 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-16.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9883 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-15.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9884 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 25.5,-14.5 + pos: 27.5,-18.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' @@ -66862,86 +67865,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9889 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 26.5,-22.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9890 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 27.5,-22.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9892 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 29.5,-22.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9893 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-21.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9894 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-20.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9895 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-19.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9896 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-18.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9897 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-17.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9898 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-16.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9899 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 26.5,-25.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - uid: 9900 components: - type: Transform @@ -67621,13 +68544,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10036 - components: - - type: Transform - pos: 30.5,-13.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10037 components: - type: Transform @@ -67688,14 +68604,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10049 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-15.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10051 components: - type: Transform @@ -68811,13 +69719,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10266 - components: - - type: Transform - pos: 64.5,-35.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 10269 components: - type: Transform @@ -68826,21 +69727,91 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10293 + - uid: 10281 components: - type: Transform - pos: 63.5,-36.5 + rot: 3.141592653589793 rad + pos: 51.5,-53.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 10286 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 51.5,-54.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 10287 + components: + - type: Transform + pos: 25.5,-30.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10289 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 41.5,-44.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - uid: 10294 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 68.5,-50.5 + pos: 25.5,-29.5 parent: 2 - type: AtmosPipeColor - color: '#0335FCFF' + color: '#FF1212FF' + - uid: 10298 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,-19.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10299 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,-20.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10308 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10309 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10311 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10312 + components: + - type: Transform + pos: 25.5,-25.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 10315 components: - type: Transform @@ -68875,10 +69846,32 @@ entities: - uid: 10328 components: - type: Transform - pos: 63.5,-33.5 + rot: 3.141592653589793 rad + pos: 51.5,-52.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 10337 + components: + - type: Transform + pos: 25.5,-28.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10338 + components: + - type: Transform + pos: 25.5,-27.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10340 + components: + - type: Transform + pos: 25.5,-26.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 10343 components: - type: Transform @@ -69167,6 +70160,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 10392 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 42.5,-50.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 10395 components: - type: Transform @@ -69174,7 +70175,7 @@ entities: pos: 76.5,-45.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' - uid: 10397 components: - type: Transform @@ -69183,14 +70184,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10398 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10399 components: - type: Transform @@ -69198,7 +70191,7 @@ entities: pos: 76.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 10400 components: - type: Transform @@ -69206,7 +70199,7 @@ entities: pos: 77.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 10403 components: - type: Transform @@ -69214,7 +70207,7 @@ entities: pos: 78.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 10404 components: - type: Transform @@ -69222,7 +70215,7 @@ entities: pos: 80.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 10406 components: - type: Transform @@ -69230,7 +70223,7 @@ entities: pos: 81.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 10407 components: - type: Transform @@ -69238,7 +70231,7 @@ entities: pos: 82.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 10412 components: - type: Transform @@ -69246,7 +70239,7 @@ entities: pos: 79.5,-44.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' - uid: 10413 components: - type: Transform @@ -69254,15 +70247,15 @@ entities: pos: 80.5,-44.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' - - uid: 10414 + color: '#0335FCFF' + - uid: 10415 components: - type: Transform rot: 1.5707963267948966 rad - pos: 81.5,-44.5 + pos: 40.5,-42.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' - uid: 10417 components: - type: Transform @@ -69270,7 +70263,7 @@ entities: pos: 82.5,-44.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' - uid: 10418 components: - type: Transform @@ -69278,7 +70271,15 @@ entities: pos: 83.5,-44.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' + - uid: 10419 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 39.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 10422 components: - type: Transform @@ -69286,7 +70287,7 @@ entities: pos: 88.5,-43.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' - uid: 10423 components: - type: Transform @@ -69294,15 +70295,7 @@ entities: pos: 88.5,-47.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' - - uid: 10426 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 85.5,-47.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 10427 components: - type: Transform @@ -69310,7 +70303,7 @@ entities: pos: 86.5,-47.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 10428 components: - type: Transform @@ -69318,7 +70311,15 @@ entities: pos: 87.5,-47.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' + - uid: 10432 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 52.5,-54.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 10434 components: - type: Transform @@ -69326,6 +70327,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 10437 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,-16.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 10438 components: - type: Transform @@ -69530,14 +70539,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10511 + - uid: 10513 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-52.5 + rot: 3.141592653589793 rad + pos: 41.5,-43.5 parent: 2 - type: AtmosPipeColor - color: '#FF1212FF' + color: '#0335FCFF' - uid: 10514 components: - type: Transform @@ -69550,7 +70559,7 @@ entities: components: - type: Transform rot: 3.141592653589793 rad - pos: 63.5,-47.5 + pos: 27.5,-17.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' @@ -69558,10 +70567,18 @@ entities: components: - type: Transform rot: 3.141592653589793 rad - pos: 62.5,-44.5 + pos: 42.5,-51.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 10597 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 52.5,-53.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 10660 components: - type: Transform @@ -69570,13 +70587,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FFAD4FFF' - - uid: 10666 - components: - - type: Transform - pos: 64.5,-34.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 10667 components: - type: Transform @@ -69585,30 +70595,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10668 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 10669 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 10671 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-37.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10735 components: - type: Transform @@ -69655,14 +70641,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10762 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 64.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10768 components: - type: Transform @@ -69679,38 +70657,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10776 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 52.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 10786 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 10800 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-48.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 10812 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-37.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10813 components: - type: Transform @@ -69719,14 +70665,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10816 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10886 components: - type: Transform @@ -69750,70 +70688,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 11732 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 52.5,-54.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11733 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 52.5,-55.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11734 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 52.5,-53.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11735 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 52.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11738 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-55.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11739 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-56.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11750 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11753 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 64.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 11828 components: - type: Transform @@ -69824,14 +70698,6 @@ entities: pipeLayer: Tertiary - type: AtmosPipeColor color: '#947507FF' - - uid: 11850 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-32.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 11946 components: - type: Transform @@ -69846,14 +70712,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 11957 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-32.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 12151 components: - type: Transform @@ -70051,28 +70909,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 12828 - components: - - type: Transform - pos: 64.5,-42.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 12829 - components: - - type: Transform - pos: 64.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 12830 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 67.5,-47.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 12831 components: - type: Transform @@ -70087,6 +70923,14 @@ entities: rot: 3.141592653589793 rad pos: 49.5,-76.5 parent: 2 + - uid: 12910 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 12923 components: - type: Transform @@ -70106,22 +70950,6 @@ entities: rot: 3.141592653589793 rad pos: 47.5,-79.5 parent: 2 - - uid: 12931 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-53.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 12932 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 12968 components: - type: Transform @@ -70152,36 +70980,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 13155 - components: - - type: Transform - pos: 23.5,-22.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13156 - components: - - type: Transform - pos: 23.5,-21.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13157 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 24.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13161 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 25.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 13207 components: - type: Transform @@ -70210,20 +71008,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 13519 - components: - - type: Transform - pos: 27.5,-26.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13520 - components: - - type: Transform - pos: 27.5,-25.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 13521 components: - type: Transform @@ -70303,22 +71087,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 13831 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13832 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-54.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 13866 components: - type: Transform @@ -70326,163 +71094,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 13869 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13870 - components: - - type: Transform - pos: 65.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13882 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 64.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13895 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13896 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 70.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13897 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13898 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 67.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13915 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13920 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 67.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13921 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 68.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13923 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-55.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13924 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13925 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 61.5,-42.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13926 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 68.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13927 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13928 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 70.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13929 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 70.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13930 - components: - - type: Transform - pos: 67.5,-44.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13931 - components: - - type: Transform - pos: 67.5,-45.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 14290 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-45.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 14443 components: - type: Transform @@ -71070,14 +71681,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 14588 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 23.5,-16.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 14589 components: - type: Transform @@ -71442,14 +72045,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 14679 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 26.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 14681 components: - type: Transform @@ -71482,13 +72077,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 14694 - components: - - type: Transform - pos: 27.5,-24.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 14707 components: - type: Transform @@ -71512,28 +72100,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 14732 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 14735 - components: - - type: Transform - pos: 65.5,-45.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 14736 - components: - - type: Transform - pos: 65.5,-46.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 14743 components: - type: Transform @@ -71605,14 +72171,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 14804 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 15036 components: - type: Transform @@ -71645,21 +72203,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 15137 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 61.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 15139 - components: - - type: Transform - pos: 65.5,-42.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 15142 components: - type: Transform @@ -71668,22 +72211,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 15401 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-38.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 15402 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-38.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 15416 components: - type: Transform @@ -71692,14 +72219,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 15417 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-38.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 15428 components: - type: Transform @@ -71804,13 +72323,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 16878 - components: - - type: Transform - pos: 40.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 16884 components: - type: Transform @@ -71818,13 +72330,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 16886 - components: - - type: Transform - pos: 43.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 16887 components: - type: Transform @@ -71839,38 +72344,22 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 16889 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 45.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 16890 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 44.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 16891 components: - type: Transform rot: -1.5707963267948966 rad - pos: 43.5,-43.5 + pos: 51.5,-52.5 parent: 2 - type: AtmosPipeColor - color: '#0335FCFF' + color: '#FF1212FF' - uid: 16892 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-43.5 + rot: 3.141592653589793 rad + pos: 52.5,-55.5 parent: 2 - type: AtmosPipeColor - color: '#0335FCFF' + color: '#FF1212FF' - uid: 16893 components: - type: Transform @@ -71887,6 +72376,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 16896 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 52.5,-50.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 16900 components: - type: Transform @@ -71897,104 +72394,101 @@ entities: - uid: 16902 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 43.5,-44.5 + rot: 3.141592653589793 rad + pos: 52.5,-49.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - uid: 16903 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 44.5,-44.5 + rot: 3.141592653589793 rad + pos: 52.5,-48.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - uid: 16904 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 45.5,-44.5 + rot: 3.141592653589793 rad + pos: 52.5,-47.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - uid: 16905 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 46.5,-44.5 + rot: 3.141592653589793 rad + pos: 50.5,-49.5 parent: 2 - type: AtmosPipeColor - color: '#FF1212FF' + color: '#0335FCFF' - uid: 16906 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 47.5,-44.5 + rot: 3.141592653589793 rad + pos: 50.5,-48.5 parent: 2 - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 16909 + color: '#0335FCFF' + - uid: 16907 components: - type: Transform rot: 3.141592653589793 rad - pos: 24.5,-29.5 + pos: 50.5,-47.5 parent: 2 - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 16910 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-28.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 16911 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-27.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' + color: '#0335FCFF' - uid: 16912 components: - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-26.5 + pos: 52.5,-51.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 16913 + - uid: 16914 components: - type: Transform - rot: 3.141592653589793 rad - pos: 27.5,-22.5 + pos: 50.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16915 + components: + - type: Transform + pos: 53.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16916 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 51.5,-44.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - uid: 16917 components: - type: Transform - rot: 3.141592653589793 rad - pos: 28.5,-19.5 + rot: -1.5707963267948966 rad + pos: 52.5,-44.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - uid: 16918 components: - type: Transform - rot: 3.141592653589793 rad - pos: 28.5,-18.5 + rot: -1.5707963267948966 rad + pos: 54.5,-42.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - uid: 16919 components: - type: Transform - rot: 3.141592653589793 rad - pos: 28.5,-17.5 + rot: -1.5707963267948966 rad + pos: 55.5,-42.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -72219,6 +72713,267 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 16980 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 16989 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17084 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17092 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17094 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17105 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17106 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17107 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17110 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17111 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17140 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 62.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17141 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17142 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17151 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17152 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-38.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17162 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-37.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17164 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17166 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17169 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17170 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-38.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17211 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-37.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17212 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17224 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17239 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17240 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17241 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17245 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17246 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17251 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17264 + components: + - type: Transform + pos: 59.5,-48.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17268 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17269 + components: + - type: Transform + pos: 62.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17270 + components: + - type: Transform + pos: 62.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 17276 components: - type: Transform @@ -72234,6 +72989,22 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 17285 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17286 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 17289 components: - type: Transform @@ -72242,29 +73013,147 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 17344 + - uid: 17327 components: - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-52.5 + pos: 66.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17333 + components: + - type: Transform + pos: 66.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17334 + components: + - type: Transform + pos: 64.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17340 + components: + - type: Transform + pos: 64.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17346 + components: + - type: Transform + pos: 64.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17353 + components: + - type: Transform + pos: 64.5,-48.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17375 + components: + - type: Transform + pos: 64.5,-49.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - uid: 17388 components: - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-53.5 + pos: 66.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17406 + components: + - type: Transform + pos: 66.5,-48.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17410 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17420 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17471 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17472 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17473 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17474 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 68.5,-46.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - uid: 17475 components: - type: Transform - pos: 65.5,-44.5 + rot: 1.5707963267948966 rad + pos: 69.5,-47.5 parent: 2 - type: AtmosPipeColor - color: '#0335FCFF' + color: '#FF1212FF' + - uid: 17479 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 70.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17505 + components: + - type: Transform + pos: 66.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17515 + components: + - type: Transform + pos: 66.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 17538 components: - type: Transform @@ -72273,6 +73162,83 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 17608 + components: + - type: Transform + pos: 66.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17641 + components: + - type: Transform + pos: 64.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17643 + components: + - type: Transform + pos: 64.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17646 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17650 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17651 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17659 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17661 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 68.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17679 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17683 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 70.5,-40.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 17684 components: - type: Transform @@ -72291,6 +73257,96 @@ entities: pipeLayer: Tertiary - type: AtmosPipeColor color: '#947507FF' + - uid: 17702 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-39.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17721 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-36.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17722 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 62.5,-35.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17731 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-36.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17733 + components: + - type: Transform + pos: 64.5,-35.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17734 + components: + - type: Transform + pos: 64.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17766 + components: + - type: Transform + pos: 64.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17767 + components: + - type: Transform + pos: 64.5,-31.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17770 + components: + - type: Transform + pos: 63.5,-31.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17781 + components: + - type: Transform + pos: 63.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17793 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17798 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 17818 components: - type: Transform @@ -72299,30 +73355,278 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 17943 + - uid: 17821 components: - type: Transform rot: -1.5707963267948966 rad - pos: 42.5,-49.5 + pos: 61.5,-33.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 17997 + - uid: 17851 components: - type: Transform rot: -1.5707963267948966 rad - pos: 68.5,-46.5 + pos: 60.5,-33.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 18010 + - uid: 17853 components: - type: Transform rot: -1.5707963267948966 rad - pos: 66.5,-47.5 + pos: 62.5,-32.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 17855 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17856 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17857 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17858 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17866 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17870 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 56.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17871 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 55.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17877 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 54.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17879 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 55.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17880 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 54.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17883 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17884 + components: + - type: Transform + pos: 51.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17885 + components: + - type: Transform + pos: 51.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17886 + components: + - type: Transform + pos: 51.5,-35.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17887 + components: + - type: Transform + pos: 52.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17893 + components: + - type: Transform + pos: 52.5,-35.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17894 + components: + - type: Transform + pos: 52.5,-36.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17896 + components: + - type: Transform + pos: 52.5,-37.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17925 + components: + - type: Transform + pos: 66.5,-50.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17944 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17946 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17947 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17950 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-35.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17951 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-35.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17952 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-36.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17953 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-36.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17958 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17960 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17961 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17962 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17963 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17964 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 18026 components: - type: Transform @@ -72362,6 +73666,333 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 18154 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,-15.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18162 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-21.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18165 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-20.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18166 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-19.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18186 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-17.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18212 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-16.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18214 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-15.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18215 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-14.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18218 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-13.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18220 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 23.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18221 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 24.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18228 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 26.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18229 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 27.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18261 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18262 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18263 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18265 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-25.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18268 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-26.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18270 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-27.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18271 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-28.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18272 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-29.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18280 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 29.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18283 + components: + - type: Transform + pos: 29.5,-25.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18363 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-13.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18364 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 25.5,-13.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18365 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-13.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18366 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-12.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18372 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 23.5,-12.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18420 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 30.5,-21.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18464 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 30.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18474 + components: + - type: Transform + pos: 31.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18487 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 75.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18497 + components: + - type: Transform + pos: 31.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18503 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 31.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18505 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 31.5,-21.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18507 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 30.5,-20.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18516 + components: + - type: Transform + pos: 30.5,-19.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18517 + components: + - type: Transform + pos: 30.5,-17.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18519 + components: + - type: Transform + pos: 30.5,-16.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18520 + components: + - type: Transform + pos: 32.5,-18.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18521 + components: + - type: Transform + pos: 32.5,-17.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18522 + components: + - type: Transform + pos: 32.5,-16.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 18542 components: - type: Transform @@ -72378,6 +74009,142 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 18568 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18629 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 33.5,-14.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18633 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 34.5,-15.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18667 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 32.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18668 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 33.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18669 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 34.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18670 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 35.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18671 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 36.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18672 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 37.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18682 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 32.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18683 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 33.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18698 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 34.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18699 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 35.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18700 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 36.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18701 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 37.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18740 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 40.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18757 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 38.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 18785 components: - type: Transform @@ -72386,6 +74153,22 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 18788 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 38.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18790 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 52.5,-51.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 18791 components: - type: Transform @@ -72413,27 +74196,83 @@ entities: - uid: 18807 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 40.5,-44.5 + rot: -1.5707963267948966 rad + pos: 53.5,-51.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - uid: 18808 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 39.5,-44.5 + rot: -1.5707963267948966 rad + pos: 57.5,-54.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 18829 + - uid: 18809 components: - type: Transform rot: -1.5707963267948966 rad - pos: 85.5,-43.5 + pos: 61.5,-56.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' + - uid: 18810 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18816 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18817 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18819 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18820 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18821 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18822 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 18830 components: - type: Transform @@ -72441,7 +74280,7 @@ entities: pos: 86.5,-43.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' - uid: 18831 components: - type: Transform @@ -72449,7 +74288,73 @@ entities: pos: 87.5,-43.5 parent: 2 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#0335FCFF' + - uid: 18835 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-56.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18935 + components: + - type: Transform + pos: 71.5,-58.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19022 + components: + - type: Transform + pos: 71.5,-59.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19037 + components: + - type: Transform + pos: 71.5,-60.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19038 + components: + - type: Transform + pos: 71.5,-61.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19039 + components: + - type: Transform + pos: 71.5,-62.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19044 + components: + - type: Transform + pos: 71.5,-63.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19045 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-64.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19046 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-64.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 19263 components: - type: Transform @@ -72492,6 +74397,901 @@ entities: pipeLayer: Secondary - type: AtmosPipeColor color: '#FF1212FF' + - uid: 19607 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 28.5,-97.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19642 + components: + - type: Transform + pos: 29.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19643 + components: + - type: Transform + pos: 30.5,-97.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19645 + components: + - type: Transform + pos: 30.5,-96.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19648 + components: + - type: Transform + pos: 30.5,-95.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19649 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.5,-94.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19681 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 29.5,-94.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19682 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 31.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19683 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 32.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19684 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 33.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19685 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 34.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19686 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 35.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19687 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 36.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19688 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 37.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19689 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 38.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19690 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 39.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19691 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 40.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19692 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 41.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19693 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 42.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19694 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 43.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19695 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 44.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19696 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 45.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19697 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 46.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19698 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 47.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19699 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 48.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19700 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 49.5,-98.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19701 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 30.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19702 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 31.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19703 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 32.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19704 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 33.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19705 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 34.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19706 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 35.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19707 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 36.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19708 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 37.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19709 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 38.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19710 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 39.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19711 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 40.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19712 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 41.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19713 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 42.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19714 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 43.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19715 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 44.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19716 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 45.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19717 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 46.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19718 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 47.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19719 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 48.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19720 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 49.5,-99.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19781 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19782 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19783 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19784 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19785 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19786 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19787 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19788 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19789 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19792 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19858 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19859 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19860 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19861 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19862 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 19863 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19864 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19865 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19866 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19867 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19868 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19869 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19973 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -52.5,-25.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19974 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -51.5,-25.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19975 + components: + - type: Transform + pos: -50.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19976 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -49.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19977 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -48.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19978 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -46.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19979 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -45.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19980 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -43.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19981 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -42.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19982 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -41.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19983 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -40.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19984 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -39.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19985 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -38.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19986 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -37.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19987 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -36.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19988 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -35.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19989 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -35.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19990 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -35.5,-21.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19991 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -35.5,-20.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19992 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -35.5,-19.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19993 + components: + - type: Transform + pos: -34.5,-17.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 19994 + components: + - type: Transform + pos: -33.5,-15.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20004 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -47.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20013 + components: + - type: Transform + pos: 60.5,-57.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20014 + components: + - type: Transform + pos: 60.5,-58.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20025 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -49.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20026 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -50.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20027 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20028 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20029 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20030 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20031 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20032 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20033 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-48.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20034 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20035 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -51.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20036 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -50.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20037 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -49.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20038 + components: + - type: Transform + pos: -52.5,-48.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20039 + components: + - type: Transform + pos: -52.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20040 + components: + - type: Transform + pos: -52.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20041 + components: + - type: Transform + pos: -52.5,-45.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20042 + components: + - type: Transform + pos: -52.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20043 + components: + - type: Transform + pos: -52.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20044 + components: + - type: Transform + pos: -52.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20045 + components: + - type: Transform + pos: -52.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - proto: GasPipeStraightAlt1 entities: - uid: 15414 @@ -72528,14 +75328,6 @@ entities: color: '#FF1212FF' - proto: GasPipeTJunction entities: - - uid: 1072 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 58.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 1463 components: - type: Transform @@ -72574,14 +75366,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 2724 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 2811 components: - type: Transform @@ -72596,26 +75380,11 @@ entities: rot: -1.5707963267948966 rad pos: 47.5,-77.5 parent: 2 - - uid: 3768 + - uid: 4200 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3778 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 3812 - components: - - type: Transform - pos: 51.5,-52.5 + rot: -1.5707963267948966 rad + pos: 43.5,-50.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' @@ -72627,21 +75396,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 5404 - components: - - type: Transform - pos: 52.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 5886 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 43.5,-49.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 6356 components: - type: Transform @@ -72665,6 +75419,21 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 6905 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,-94.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 6906 + components: + - type: Transform + pos: 27.5,-97.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 7265 components: - type: Transform @@ -72673,6 +75442,13 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 7341 + components: + - type: Transform + pos: 81.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 7447 components: - type: Transform @@ -72689,14 +75465,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 7743 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 64.5,-33.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 7889 components: - type: Transform @@ -72719,22 +75487,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 8195 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-37.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 8435 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 23.5,-12.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 8436 components: - type: Transform @@ -73015,14 +75767,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9217 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9223 components: - type: Transform @@ -73039,14 +75783,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9226 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-24.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9308 components: - type: Transform @@ -73220,14 +75956,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9637 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-38.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9644 components: - type: Transform @@ -73353,14 +76081,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 9798 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 23.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 9807 components: - type: Transform @@ -73439,19 +76159,11 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9887 + - uid: 9879 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 25.5,-22.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 9888 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 30.5,-22.5 + rot: 3.141592653589793 rad + pos: 27.5,-24.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' @@ -73508,14 +76220,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10042 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-14.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10048 components: - type: Transform @@ -73662,11 +76366,65 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 10285 + components: + - type: Transform + pos: 29.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10288 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 41.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 10292 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-32.5 + rot: 3.141592653589793 rad + pos: 50.5,-51.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 10293 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 42.5,-52.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 10304 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 27.5,-21.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10314 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 10324 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 52.5,-52.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10327 + components: + - type: Transform + pos: 51.5,-51.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -73686,21 +76444,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10396 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 51.5,-51.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 10405 - components: - - type: Transform - pos: 78.5,-44.5 - parent: 2 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 10408 components: - type: Transform @@ -73708,20 +76451,12 @@ entities: pos: 79.5,-46.5 parent: 2 - type: AtmosPipeColor - color: '#990000FF' - - uid: 10432 + color: '#FF1212FF' + - uid: 10420 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 40.5,-50.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 10437 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 41.5,-44.5 + rot: 3.141592653589793 rad + pos: 41.5,-49.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -73738,18 +76473,18 @@ entities: rot: 1.5707963267948966 rad pos: 33.5,-65.5 parent: 2 - - uid: 10783 + - uid: 10562 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-34.5 + pos: 28.5,-22.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10785 + - uid: 10669 components: - type: Transform - pos: 59.5,-51.5 + rot: 1.5707963267948966 rad + pos: 30.5,-18.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -73761,13 +76496,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10817 - components: - - type: Transform - pos: 60.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 12154 components: - type: Transform @@ -73832,14 +76560,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 12822 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-40.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 12880 components: - type: Transform @@ -73847,28 +76567,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 12930 - components: - - type: Transform - pos: 65.5,-41.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13154 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 27.5,-23.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13162 - components: - - type: Transform - pos: 28.5,-22.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 13234 components: - type: Transform @@ -73893,14 +76591,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 13922 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,-43.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 14138 components: - type: Transform @@ -73909,6 +76599,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 14298 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -33.5,-14.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 14318 components: - type: Transform @@ -74019,22 +76717,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 14602 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 24.5,-13.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 14641 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 40.5,-52.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 14660 components: - type: Transform @@ -74075,11 +76757,10 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 15138 + - uid: 15344 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-42.5 + pos: 60.5,-56.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -74091,6 +76772,38 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 16229 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 70.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16250 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 16262 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 71.5,-23.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 16360 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 71.5,-47.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 16424 components: - type: Transform @@ -74146,11 +76859,43 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 16914 + - uid: 16886 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 16889 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16890 components: - type: Transform rot: 1.5707963267948966 rad - pos: 27.5,-21.5 + pos: 50.5,-50.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16895 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 55.5,-44.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 16913 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 50.5,-46.5 parent: 2 - type: AtmosPipeColor color: '#0335FCFF' @@ -74169,20 +76914,44 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 17473 + - uid: 17093 components: - type: Transform - pos: 63.5,-43.5 + pos: 60.5,-44.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 17504 + - uid: 17109 components: - type: Transform - pos: 67.5,-43.5 + pos: 59.5,-42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17288 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-44.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 17326 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-43.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17344 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-46.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 17682 components: - type: Transform @@ -74191,6 +76960,22 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 17748 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17778 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 17819 components: - type: Transform @@ -74199,6 +76984,50 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 17859 + components: + - type: Transform + pos: 58.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17860 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17861 + components: + - type: Transform + pos: 56.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17862 + components: + - type: Transform + pos: 57.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17878 + components: + - type: Transform + pos: 53.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17882 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 53.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 18060 components: - type: Transform @@ -74206,6 +77035,68 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 18158 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 27.5,-14.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18167 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 25.5,-18.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18315 + components: + - type: Transform + pos: 25.5,-12.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18405 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 31.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18419 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 30.5,-22.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18509 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 32.5,-19.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18615 + components: + - type: Transform + pos: 32.5,-14.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18630 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 33.5,-15.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 19478 components: - type: Transform @@ -74214,6 +77105,28 @@ entities: parent: 2 - type: AtmosPipeColor color: '#03FCD3FF' + - uid: 20016 + components: + - type: Transform + pos: 58.5,-59.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20023 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -48.5,-49.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 20024 + components: + - type: Transform + pos: -48.5,-41.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - proto: GasPort entities: - uid: 5032 @@ -74262,12 +77175,30 @@ entities: - type: Transform pos: 49.5,-74.5 parent: 2 - - uid: 14762 + - uid: 19971 components: - type: Transform rot: 1.5707963267948966 rad - pos: 49.5,-101.5 + pos: -54.5,-25.5 parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20017 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-60.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20018 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-60.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - proto: GasPressurePump entities: - uid: 5046 @@ -74327,6 +77258,12 @@ entities: - type: Transform pos: 33.5,-63.5 parent: 2 + - uid: 10655 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 49.5,-77.5 + parent: 2 - uid: 13135 components: - type: Transform @@ -74355,8 +77292,29 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 19972 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -53.5,-25.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 20015 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 59.5,-59.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - proto: GasThermoMachineFreezer entities: + - uid: 5297 + components: + - type: Transform + pos: 44.5,-36.5 + parent: 2 - uid: 13437 components: - type: Transform @@ -74377,12 +77335,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 19313 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 48.5,-45.5 - parent: 2 - proto: GasThermoMachineHeater entities: - uid: 14305 @@ -74468,6 +77420,28 @@ entities: - 469 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 582 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 39.5,-49.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19883 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 591 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 81.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19916 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 813 components: - type: Transform @@ -74511,26 +77485,6 @@ entities: - 17282 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 3398 - components: - - type: Transform - pos: 58.5,-50.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7131 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3403 - components: - - type: Transform - pos: 51.5,-50.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 3424 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 3444 components: - type: Transform @@ -74542,52 +77496,15 @@ entities: - 8816 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 3552 - components: - - type: Transform - pos: 59.5,-36.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7104 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 3553 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 71.5,-41.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7952 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 4170 components: - type: Transform rot: -1.5707963267948966 rad pos: 64.5,-18.5 parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 5414 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 59.5,-42.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 5415 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-47.5 - parent: 2 - type: DeviceNetwork deviceLists: - - 10295 + - 18059 - type: AtmosPipeColor color: '#0335FCFF' - uid: 5789 @@ -74608,17 +77525,6 @@ entities: - 7245 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 7114 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-34.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7953 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 7448 components: - type: Transform @@ -74646,6 +77552,16 @@ entities: rot: 1.5707963267948966 rad pos: -30.5,-61.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19220 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 8453 + components: + - type: Transform + pos: 41.5,-37.5 + parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - uid: 8616 @@ -74883,6 +77799,9 @@ entities: rot: -1.5707963267948966 rad pos: -28.5,-34.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 6411 - type: AtmosPipeColor color: '#0335FCFF' - uid: 8753 @@ -74918,28 +77837,6 @@ entities: - 6410 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 8777 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 28.5,-21.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6354 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 8781 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 29.5,-29.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6353 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 8818 components: - type: Transform @@ -74948,7 +77845,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 6358 + - 19876 - type: AtmosPipeColor color: '#0335FCFF' - uid: 8831 @@ -74959,8 +77856,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 3897 - - 9200 + - 19835 - type: AtmosPipeColor color: '#0335FCFF' - uid: 8841 @@ -75001,9 +77897,6 @@ entities: rot: 1.5707963267948966 rad pos: -32.5,-23.5 parent: 2 - - type: DeviceNetwork - deviceLists: - - 6646 - type: AtmosPipeColor color: '#0335FCFF' - uid: 8859 @@ -75061,6 +77954,16 @@ entities: - 6406 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 9311 + components: + - type: Transform + pos: 91.5,-42.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10839 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 9351 components: - type: Transform @@ -75069,16 +77972,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 3446 - - 3427 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 9352 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 68.5,-32.5 - parent: 2 + - 19909 - type: AtmosPipeColor color: '#0335FCFF' - uid: 9463 @@ -75138,6 +78032,9 @@ entities: - type: Transform pos: -46.5,-62.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19961 - type: AtmosPipeColor color: '#0335FCFF' - uid: 9701 @@ -75145,6 +78042,9 @@ entities: - type: Transform pos: -38.5,-62.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19964 - type: AtmosPipeColor color: '#0335FCFF' - uid: 9702 @@ -75153,6 +78053,9 @@ entities: rot: 3.141592653589793 rad pos: -46.5,-67.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19963 - type: AtmosPipeColor color: '#0335FCFF' - uid: 9819 @@ -75184,7 +78087,6 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 9216 - 10429 - type: AtmosPipeColor color: '#0335FCFF' @@ -75196,7 +78098,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 9040 + - 19853 - type: AtmosPipeColor color: '#0335FCFF' - uid: 9874 @@ -75243,15 +78145,15 @@ entities: - 469 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10059 + - uid: 10279 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 41.5,-50.5 + rot: 3.141592653589793 rad + pos: 51.5,-55.5 parent: 2 - type: DeviceNetwork deviceLists: - - 9241 + - 16342 - type: AtmosPipeColor color: '#0335FCFF' - uid: 10341 @@ -75271,19 +78173,9 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 9403 + - 19884 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10421 - components: - - type: Transform - pos: 89.5,-42.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 10473 components: - type: Transform @@ -75293,25 +78185,7 @@ entities: - type: DeviceNetwork deviceLists: - 5107 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 10751 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 51.5,-56.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 10796 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-57.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 8124 + - 12980 - type: AtmosPipeColor color: '#0335FCFF' - uid: 10832 @@ -75319,6 +78193,20 @@ entities: - type: Transform pos: -41.5,-62.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19962 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 12242 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 50.5,-98.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 14759 - type: AtmosPipeColor color: '#0335FCFF' - uid: 12421 @@ -75340,28 +78228,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 12821 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 13.5,-16.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 14636 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 13894 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 71.5,-50.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7950 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 14539 components: - type: Transform @@ -75435,22 +78301,15 @@ entities: - 14460 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 14601 - components: - - type: Transform - pos: 23.5,-11.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18598 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 14634 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-20.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19836 - type: AtmosPipeColor color: '#0335FCFF' - uid: 14654 @@ -75479,17 +78338,9 @@ entities: rot: 3.141592653589793 rad pos: -27.5,-12.5 parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 14697 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 46.5,-43.5 - parent: 2 - type: DeviceNetwork deviceLists: - - 164 + - 15885 - type: AtmosPipeColor color: '#0335FCFF' - uid: 14713 @@ -75525,6 +78376,17 @@ entities: - 7310 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 15401 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 12.5,-16.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 14636 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 15635 components: - type: Transform @@ -75547,15 +78409,26 @@ entities: - 2110 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 16879 + - uid: 16872 components: - type: Transform rot: -1.5707963267948966 rad - pos: 31.5,-14.5 + pos: 51.5,-50.5 parent: 2 - type: DeviceNetwork deviceLists: - - 19354 + - 3424 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 16910 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 51.5,-46.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16312 - type: AtmosPipeColor color: '#0335FCFF' - uid: 16964 @@ -75569,14 +78442,113 @@ entities: - 9198 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 17679 + - uid: 17265 components: - type: Transform - pos: 30.5,-12.5 + rot: 3.141592653589793 rad + pos: 59.5,-49.5 parent: 2 - type: DeviceNetwork deviceLists: - - 18869 + - 19905 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17518 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-47.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16343 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17601 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-43.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16356 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17700 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-39.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16345 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17907 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-33.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16354 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17908 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 52.5,-36.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16353 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17913 + components: + - type: Transform + pos: 53.5,-31.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19911 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17943 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-51.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16344 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17957 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 56.5,-37.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16346 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 17992 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-34.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17993 - type: AtmosPipeColor color: '#0335FCFF' - uid: 18056 @@ -75600,6 +78572,39 @@ entities: - 18493 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 18312 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.5,-30.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 7582 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18399 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-12.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10761 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18400 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 26.5,-18.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16367 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 18545 components: - type: Transform @@ -75611,6 +78616,61 @@ entities: - type: DeviceNetwork deviceLists: - 364 + - uid: 18554 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 31.5,-18.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16362 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18665 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 35.5,-13.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 18736 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18681 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 38.5,-22.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19856 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18725 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 32.5,-15.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16363 + - type: AtmosPipeColor + color: '#0335FCFF' + - uid: 18789 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 37.5,-42.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19880 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 18796 components: - type: Transform @@ -75621,22 +78681,17 @@ entities: - 1876 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 18809 + - uid: 19064 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 38.5,-44.5 + rot: -1.5707963267948966 rad + pos: 74.5,-64.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19917 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 18833 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 78.5,-45.5 - parent: 2 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 19353 components: - type: Transform @@ -75644,8 +78699,51 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 19871 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 55.5,-24.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - type: DeviceNetwork + deviceLists: + - 579 + - uid: 19874 + components: + - type: Transform + pos: 70.5,-21.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' + - type: DeviceNetwork + deviceLists: + - 6358 + - uid: 20047 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,-50.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9195 + - type: AtmosPipeColor + color: '#0335FCFF' - proto: GasVentScrubber entities: + - uid: 1104 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 26.5,-21.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16367 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 1796 components: - type: Transform @@ -75663,6 +78761,9 @@ entities: rot: -1.5707963267948966 rad pos: 66.5,-20.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 18059 - type: AtmosPipeColor color: '#FF1212FF' - uid: 2406 @@ -75693,6 +78794,9 @@ entities: rot: -1.5707963267948966 rad pos: 75.5,-22.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19876 - type: AtmosPipeColor color: '#FF1212FF' - uid: 3185 @@ -75735,18 +78839,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 3446 - - 3427 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 4200 - components: - - type: Transform - pos: 58.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7104 + - 19909 - type: AtmosPipeColor color: '#FF1212FF' - uid: 5168 @@ -75758,19 +78851,14 @@ entities: - type: DeviceNetwork deviceLists: - 5159 - - uid: 5413 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 68.5,-33.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 5830 components: - type: Transform pos: -37.5,-61.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19964 - type: AtmosPipeColor color: '#FF1212FF' - uid: 6133 @@ -75795,26 +78883,22 @@ entities: - 572 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 6670 + - uid: 7074 + components: + - type: Transform + pos: 43.5,-37.5 + parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 7594 components: - type: Transform rot: 3.141592653589793 rad - pos: 28.5,-25.5 + pos: 91.5,-48.5 parent: 2 - type: DeviceNetwork deviceLists: - - 6353 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 7105 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-40.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7953 + - 10839 - type: AtmosPipeColor color: '#FF1212FF' - uid: 7700 @@ -75828,25 +78912,6 @@ entities: - 2110 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 7751 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-46.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 10295 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 7752 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 51.5,-55.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 8437 components: - type: Transform @@ -75858,14 +78923,17 @@ entities: - 7310 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 8562 + - uid: 8480 components: - type: Transform rot: 1.5707963267948966 rad - pos: 59.5,-43.5 + pos: 58.5,-23.5 parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - type: DeviceNetwork + deviceLists: + - 579 - uid: 8612 components: - type: Transform @@ -75929,7 +78997,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 9040 + - 19853 - type: AtmosPipeColor color: '#FF1212FF' - uid: 8655 @@ -76050,17 +79118,6 @@ entities: - 5107 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 8709 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 89.5,-48.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 467 - - type: AtmosPipeColor - color: '#990000FF' - uid: 8713 components: - type: Transform @@ -76178,17 +79235,6 @@ entities: - 9199 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 8774 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-23.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 6354 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 8780 components: - type: Transform @@ -76210,16 +79256,6 @@ entities: - 9241 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 8793 - components: - - type: Transform - pos: 48.5,-43.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 164 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 8832 components: - type: Transform @@ -76227,10 +79263,9 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 3897 - - 9200 + - 19835 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 8839 components: - type: Transform @@ -76269,9 +79304,6 @@ entities: rot: 1.5707963267948966 rad pos: -32.5,-24.5 parent: 2 - - type: DeviceNetwork - deviceLists: - - 6646 - type: AtmosPipeColor color: '#FF1212FF' - uid: 8860 @@ -76326,6 +79358,17 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 9080 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 50.5,-99.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 14759 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 9081 components: - type: Transform @@ -76333,15 +79376,15 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9357 + - uid: 9247 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 71.5,-43.5 + rot: 1.5707963267948966 rad + pos: 41.5,-50.5 parent: 2 - type: DeviceNetwork deviceLists: - - 7952 + - 19883 - type: AtmosPipeColor color: '#FF1212FF' - uid: 9428 @@ -76366,16 +79409,6 @@ entities: - 5526 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9496 - components: - - type: Transform - pos: 24.5,-12.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 18598 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 9546 components: - type: Transform @@ -76402,6 +79435,9 @@ entities: - type: Transform pos: -44.5,-62.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19961 - type: AtmosPipeColor color: '#FF1212FF' - uid: 9796 @@ -76448,17 +79484,6 @@ entities: - 469 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 10267 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-57.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 8124 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 10342 components: - type: Transform @@ -76476,7 +79501,7 @@ entities: parent: 2 - type: DeviceNetwork deviceLists: - - 9403 + - 19884 - type: AtmosPipeColor color: '#FF1212FF' - uid: 10474 @@ -76488,6 +79513,29 @@ entities: - type: DeviceNetwork deviceLists: - 5107 + - 12980 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10595 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 51.5,-56.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16342 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10646 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 37.5,-45.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19880 - type: AtmosPipeColor color: '#FF1212FF' - uid: 11935 @@ -76507,6 +79555,9 @@ entities: rot: 1.5707963267948966 rad pos: -41.5,-61.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19962 - type: AtmosPipeColor color: '#FF1212FF' - uid: 12422 @@ -76520,38 +79571,6 @@ entities: - 18013 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 13106 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 31.5,-15.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 19354 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13910 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 68.5,-51.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7950 - - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 13917 - components: - - type: Transform - pos: 61.5,-50.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 7131 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 14538 components: - type: Transform @@ -76632,6 +79651,9 @@ entities: rot: 3.141592653589793 rad pos: -45.5,-68.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19963 - type: AtmosPipeColor color: '#FF1212FF' - uid: 14635 @@ -76640,6 +79662,9 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,-21.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19836 - type: AtmosPipeColor color: '#FF1212FF' - uid: 14655 @@ -76674,14 +79699,6 @@ entities: - 6342 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 15129 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 41.5,-49.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 16173 components: - type: Transform @@ -76725,6 +79742,16 @@ entities: - 9234 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 16911 + components: + - type: Transform + pos: 55.5,-43.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16312 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 16959 components: - type: Transform @@ -76747,6 +79774,39 @@ entities: - 1876 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 17267 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-49.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19905 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17516 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-47.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16356 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17517 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-47.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16343 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 17678 components: - type: Transform @@ -76758,6 +79818,82 @@ entities: - 17680 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 17695 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16345 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17906 + components: + - type: Transform + pos: 59.5,-32.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16354 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17909 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 52.5,-38.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16353 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17911 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 53.5,-34.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19911 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17926 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 66.5,-51.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16344 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17956 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-37.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16346 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 17990 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-33.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 17993 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 18055 components: - type: Transform @@ -76769,6 +79905,39 @@ entities: - 18818 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 18293 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 29.5,-26.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 7582 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18398 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 26.5,-14.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 10761 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18525 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 31.5,-19.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16362 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 18544 components: - type: Transform @@ -76780,6 +79949,38 @@ entities: - type: DeviceNetwork deviceLists: - 364 + - uid: 18666 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 35.5,-15.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 18736 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18673 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 38.5,-24.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 19856 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 18726 + components: + - type: Transform + pos: 33.5,-14.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 16363 + - type: AtmosPipeColor + color: '#FF1212FF' - uid: 18782 components: - type: Transform @@ -76796,6 +79997,9 @@ entities: rot: 1.5707963267948966 rad pos: -28.5,-13.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 15885 - type: AtmosPipeColor color: '#FF1212FF' - uid: 18797 @@ -76809,27 +80013,25 @@ entities: - 1075 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 18810 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 38.5,-45.5 - parent: 2 - - type: AtmosPipeColor - color: '#FF1212FF' - uid: 18832 components: - type: Transform pos: 79.5,-45.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19916 - type: AtmosPipeColor - color: '#990000FF' + color: '#FF1212FF' - uid: 19267 components: - type: Transform rot: 1.5707963267948966 rad pos: -28.5,-60.5 parent: 2 + - type: DeviceNetwork + deviceLists: + - 19220 - type: AtmosPipeColor color: '#FF1212FF' - uid: 19352 @@ -76849,14 +80051,29 @@ entities: - 6406 - type: AtmosPipeColor color: '#FF1212FF' -- proto: GasVolumePump - entities: - - uid: 516 + - uid: 19873 components: - type: Transform - rot: 3.141592653589793 rad - pos: 49.5,-77.5 + pos: 71.5,-22.5 parent: 2 + - type: AtmosPipeColor + color: '#FF1212FF' + - type: DeviceNetwork + deviceLists: + - 6358 + - uid: 20048 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -51.5,-40.5 + parent: 2 + - type: DeviceNetwork + deviceLists: + - 9195 + - type: AtmosPipeColor + color: '#FF1212FF' +- proto: GasVolumePump + entities: - uid: 3342 components: - type: Transform @@ -76916,12 +80133,12 @@ entities: - uid: 5244 components: - type: Transform - pos: 18.370327,-17.477331 + pos: 18.566528,-17.330505 parent: 2 - uid: 14367 components: - type: Transform - pos: 18.120327,-17.279278 + pos: 18.363403,-17.43988 parent: 2 - proto: GeigerCounter entities: @@ -76942,69 +80159,111 @@ entities: parent: 2 - proto: Girder entities: - - uid: 4080 + - uid: 3143 components: - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,-39.5 + rot: -1.5707963267948966 rad + pos: 58.5,-67.5 parent: 2 - - uid: 5810 + - uid: 3165 components: - type: Transform - pos: 69.5,-65.5 + rot: -1.5707963267948966 rad + pos: 56.5,-68.5 parent: 2 - - uid: 5814 + - uid: 3166 components: - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,-64.5 + rot: -1.5707963267948966 rad + pos: 62.5,-70.5 parent: 2 - - uid: 5827 + - uid: 3187 components: - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-63.5 + rot: -1.5707963267948966 rad + pos: 61.5,-66.5 parent: 2 - - uid: 5828 + - uid: 5305 components: - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-62.5 + rot: -1.5707963267948966 rad + pos: 62.5,-71.5 parent: 2 - - uid: 5831 + - uid: 5310 components: - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-61.5 + rot: -1.5707963267948966 rad + pos: 59.5,-66.5 parent: 2 - - uid: 5835 + - uid: 5320 components: - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,-60.5 + rot: -1.5707963267948966 rad + pos: 56.5,-67.5 parent: 2 - - uid: 5857 + - uid: 5734 components: - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-60.5 + rot: -1.5707963267948966 rad + pos: 62.5,-69.5 parent: 2 - - uid: 6294 + - uid: 5809 components: - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,-28.5 + rot: -1.5707963267948966 rad + pos: 60.5,-66.5 + parent: 2 + - uid: 6272 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-73.5 parent: 2 - uid: 6551 components: - type: Transform pos: 78.5,-53.5 parent: 2 - - uid: 7116 + - uid: 7569 components: - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,-36.5 + pos: 79.5,-30.5 + parent: 2 + - uid: 13912 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-67.5 + parent: 2 + - uid: 14348 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-71.5 + parent: 2 + - uid: 14351 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-68.5 + parent: 2 + - uid: 14568 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-72.5 + parent: 2 + - uid: 14697 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-69.5 + parent: 2 + - uid: 14723 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-70.5 parent: 2 - uid: 15846 components: @@ -77012,6 +80271,11 @@ entities: rot: 1.5707963267948966 rad pos: 5.5,-32.5 parent: 2 + - uid: 17370 + components: + - type: Transform + pos: -41.5,-76.5 + parent: 2 - proto: GlassBoxLaserFilled entities: - uid: 16844 @@ -77034,7 +80298,7 @@ entities: desc: The prophecy tells of a day in the distant future, in which the Truest Janitor will pick up this plunger and eradicate clogging from this world forever more... name: lubed cursed golden plunger - type: Transform - pos: -41.50827,-76.386536 + pos: -40.50827,-77.386536 parent: 2 - type: WarpPoint location: cursed golden plunger @@ -77604,11 +80868,6 @@ entities: - type: Transform pos: -54.5,-39.5 parent: 2 - - uid: 714 - components: - - type: Transform - pos: -13.5,-75.5 - parent: 2 - uid: 716 components: - type: Transform @@ -77734,25 +80993,10 @@ entities: - type: Transform pos: -3.5,-15.5 parent: 2 - - uid: 860 + - uid: 893 components: - type: Transform - pos: 26.5,-15.5 - parent: 2 - - uid: 861 - components: - - type: Transform - pos: 26.5,-16.5 - parent: 2 - - uid: 862 - components: - - type: Transform - pos: 26.5,-19.5 - parent: 2 - - uid: 863 - components: - - type: Transform - pos: 26.5,-20.5 + pos: 60.5,-39.5 parent: 2 - uid: 940 components: @@ -78069,6 +81313,11 @@ entities: - type: Transform pos: 19.5,-41.5 parent: 2 + - uid: 1561 + components: + - type: Transform + pos: 59.5,-35.5 + parent: 2 - uid: 1564 components: - type: Transform @@ -78249,6 +81498,11 @@ entities: - type: Transform pos: -37.5,-46.5 parent: 2 + - uid: 1681 + components: + - type: Transform + pos: 60.5,-35.5 + parent: 2 - uid: 1682 components: - type: Transform @@ -78339,6 +81593,12 @@ entities: - type: Transform pos: -55.5,-45.5 parent: 2 + - uid: 1823 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 37.5,-12.5 + parent: 2 - uid: 1824 components: - type: Transform @@ -78504,6 +81764,12 @@ entities: - type: Transform pos: 56.5,-63.5 parent: 2 + - uid: 2228 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 92.5,-46.5 + parent: 2 - uid: 2231 components: - type: Transform @@ -79024,21 +82290,6 @@ entities: - type: Transform pos: 0.5,-39.5 parent: 2 - - uid: 3117 - components: - - type: Transform - pos: 76.5,-63.5 - parent: 2 - - uid: 3118 - components: - - type: Transform - pos: 76.5,-64.5 - parent: 2 - - uid: 3119 - components: - - type: Transform - pos: 76.5,-65.5 - parent: 2 - uid: 3120 components: - type: Transform @@ -79064,15 +82315,15 @@ entities: - type: Transform pos: 75.5,-73.5 parent: 2 - - uid: 3128 + - uid: 3151 components: - type: Transform - pos: 73.5,-72.5 + pos: 105.5,-35.5 parent: 2 - - uid: 3129 + - uid: 3152 components: - type: Transform - pos: 73.5,-73.5 + pos: 104.5,-33.5 parent: 2 - uid: 3205 components: @@ -79099,30 +82350,20 @@ entities: - type: Transform pos: -2.5,-25.5 parent: 2 - - uid: 3473 - components: - - type: Transform - pos: 78.5,-63.5 - parent: 2 - uid: 3483 components: - type: Transform pos: 80.5,-22.5 parent: 2 - - uid: 3492 + - uid: 3523 components: - type: Transform - pos: 80.5,-47.5 + pos: 57.5,-25.5 parent: 2 - - uid: 3495 + - uid: 3550 components: - type: Transform - pos: 80.5,-42.5 - parent: 2 - - uid: 3502 - components: - - type: Transform - pos: 27.5,-17.5 + pos: 61.5,-46.5 parent: 2 - uid: 3595 components: @@ -79134,26 +82375,42 @@ entities: - type: Transform pos: 51.5,-53.5 parent: 2 - - uid: 3620 - components: - - type: Transform - pos: 53.5,-53.5 - parent: 2 - uid: 3639 components: - type: Transform pos: -29.5,-65.5 parent: 2 + - uid: 3734 + components: + - type: Transform + pos: 104.5,-57.5 + parent: 2 + - uid: 3775 + components: + - type: Transform + pos: 105.5,-56.5 + parent: 2 + - uid: 3799 + components: + - type: Transform + pos: 105.5,-36.5 + parent: 2 + - uid: 3855 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 101.5,-61.5 + parent: 2 + - uid: 3922 + components: + - type: Transform + pos: 105.5,-34.5 + parent: 2 - uid: 3926 components: - type: Transform pos: 37.5,-15.5 parent: 2 - - uid: 3927 - components: - - type: Transform - pos: 37.5,-16.5 - parent: 2 - uid: 3929 components: - type: Transform @@ -79164,11 +82421,6 @@ entities: - type: Transform pos: 81.5,-33.5 parent: 2 - - uid: 3936 - components: - - type: Transform - pos: 37.5,-17.5 - parent: 2 - uid: 3937 components: - type: Transform @@ -79229,11 +82481,6 @@ entities: - type: Transform pos: 2.5,-40.5 parent: 2 - - uid: 4253 - components: - - type: Transform - pos: 31.5,-13.5 - parent: 2 - uid: 4256 components: - type: Transform @@ -79244,11 +82491,6 @@ entities: - type: Transform pos: -1.5,-40.5 parent: 2 - - uid: 4258 - components: - - type: Transform - pos: -12.5,-75.5 - parent: 2 - uid: 4301 components: - type: Transform @@ -79394,11 +82636,6 @@ entities: - type: Transform pos: 40.5,-57.5 parent: 2 - - uid: 4465 - components: - - type: Transform - pos: 78.5,-65.5 - parent: 2 - uid: 4520 components: - type: Transform @@ -79464,11 +82701,6 @@ entities: - type: Transform pos: 45.5,-55.5 parent: 2 - - uid: 4634 - components: - - type: Transform - pos: 78.5,-64.5 - parent: 2 - uid: 4655 components: - type: Transform @@ -79524,6 +82756,11 @@ entities: - type: Transform pos: 80.5,-59.5 parent: 2 + - uid: 5228 + components: + - type: Transform + pos: 29.5,-16.5 + parent: 2 - uid: 5229 components: - type: Transform @@ -79534,6 +82771,11 @@ entities: - type: Transform pos: 7.5,-13.5 parent: 2 + - uid: 5415 + components: + - type: Transform + pos: 59.5,-25.5 + parent: 2 - uid: 5668 components: - type: Transform @@ -79554,21 +82796,26 @@ entities: - type: Transform pos: 80.5,-31.5 parent: 2 + - uid: 6023 + components: + - type: Transform + pos: 83.5,-45.5 + parent: 2 - uid: 6094 components: - type: Transform pos: 43.5,-12.5 parent: 2 - - uid: 6098 - components: - - type: Transform - pos: 74.5,-53.5 - parent: 2 - uid: 6237 components: - type: Transform pos: 39.5,-9.5 parent: 2 + - uid: 6280 + components: + - type: Transform + pos: 56.5,-40.5 + parent: 2 - uid: 6302 components: - type: Transform @@ -79794,185 +83041,20 @@ entities: - type: Transform pos: 98.5,-31.5 parent: 2 - - uid: 6368 - components: - - type: Transform - pos: 102.5,-32.5 - parent: 2 - - uid: 6369 - components: - - type: Transform - pos: 102.5,-33.5 - parent: 2 - - uid: 6370 - components: - - type: Transform - pos: 103.5,-34.5 - parent: 2 - - uid: 6371 - components: - - type: Transform - pos: 103.5,-35.5 - parent: 2 - - uid: 6372 - components: - - type: Transform - pos: 103.5,-36.5 - parent: 2 - uid: 6373 - components: - - type: Transform - pos: 103.5,-37.5 - parent: 2 - - uid: 6374 - components: - - type: Transform - pos: 104.5,-39.5 - parent: 2 - - uid: 6375 components: - type: Transform pos: 104.5,-40.5 parent: 2 - - uid: 6376 - components: - - type: Transform - pos: 104.5,-41.5 - parent: 2 - - uid: 6377 - components: - - type: Transform - pos: 104.5,-43.5 - parent: 2 - - uid: 6378 - components: - - type: Transform - pos: 104.5,-44.5 - parent: 2 - - uid: 6379 - components: - - type: Transform - pos: 104.5,-45.5 - parent: 2 - - uid: 6380 - components: - - type: Transform - pos: 104.5,-48.5 - parent: 2 - - uid: 6381 - components: - - type: Transform - pos: 104.5,-49.5 - parent: 2 - - uid: 6382 - components: - - type: Transform - pos: 104.5,-51.5 - parent: 2 - - uid: 6383 - components: - - type: Transform - pos: 103.5,-52.5 - parent: 2 - - uid: 6384 - components: - - type: Transform - pos: 103.5,-55.5 - parent: 2 - - uid: 6385 - components: - - type: Transform - pos: 103.5,-56.5 - parent: 2 - - uid: 6386 - components: - - type: Transform - pos: 102.5,-57.5 - parent: 2 - - uid: 6387 - components: - - type: Transform - pos: 102.5,-58.5 - parent: 2 - - uid: 6388 - components: - - type: Transform - pos: 100.5,-58.5 - parent: 2 - - uid: 6389 - components: - - type: Transform - pos: 100.5,-57.5 - parent: 2 - - uid: 6390 - components: - - type: Transform - pos: 101.5,-55.5 - parent: 2 - - uid: 6391 - components: - - type: Transform - pos: 101.5,-54.5 - parent: 2 - - uid: 6392 - components: - - type: Transform - pos: 101.5,-53.5 - parent: 2 - - uid: 6393 - components: - - type: Transform - pos: 102.5,-50.5 - parent: 2 - - uid: 6394 - components: - - type: Transform - pos: 102.5,-49.5 - parent: 2 - - uid: 6395 - components: - - type: Transform - pos: 102.5,-46.5 - parent: 2 - - uid: 6396 - components: - - type: Transform - pos: 102.5,-45.5 - parent: 2 - - uid: 6397 - components: - - type: Transform - pos: 102.5,-44.5 - parent: 2 - uid: 6398 components: - type: Transform - pos: 102.5,-41.5 + pos: 58.5,-46.5 parent: 2 - - uid: 6399 + - uid: 6418 components: - type: Transform - pos: 102.5,-40.5 - parent: 2 - - uid: 6400 - components: - - type: Transform - pos: 101.5,-37.5 - parent: 2 - - uid: 6401 - components: - - type: Transform - pos: 101.5,-36.5 - parent: 2 - - uid: 6402 - components: - - type: Transform - pos: 100.5,-34.5 - parent: 2 - - uid: 6403 - components: - - type: Transform - pos: 100.5,-33.5 + pos: 64.5,-49.5 parent: 2 - uid: 6427 components: @@ -80509,21 +83591,6 @@ entities: - type: Transform pos: 52.5,-95.5 parent: 2 - - uid: 6893 - components: - - type: Transform - pos: 56.5,-99.5 - parent: 2 - - uid: 6894 - components: - - type: Transform - pos: 56.5,-100.5 - parent: 2 - - uid: 6905 - components: - - type: Transform - pos: 56.5,-98.5 - parent: 2 - uid: 6936 components: - type: Transform @@ -80534,11 +83601,6 @@ entities: - type: Transform pos: -6.5,-23.5 parent: 2 - - uid: 7000 - components: - - type: Transform - pos: 80.5,-48.5 - parent: 2 - uid: 7107 components: - type: Transform @@ -80549,40 +83611,126 @@ entities: - type: Transform pos: -26.5,-68.5 parent: 2 + - uid: 7155 + components: + - type: Transform + pos: 67.5,-38.5 + parent: 2 + - uid: 7195 + components: + - type: Transform + pos: 51.5,-35.5 + parent: 2 + - uid: 7209 + components: + - type: Transform + pos: 60.5,-38.5 + parent: 2 + - uid: 7211 + components: + - type: Transform + pos: 55.5,-40.5 + parent: 2 + - uid: 7273 + components: + - type: Transform + pos: 66.5,-49.5 + parent: 2 - uid: 7287 components: - type: Transform pos: 4.5,-14.5 parent: 2 - - uid: 7340 + - uid: 7438 components: - type: Transform - pos: 81.5,-45.5 + pos: 103.5,-36.5 parent: 2 - - uid: 7419 + - uid: 7444 + components: + - type: Transform + pos: 103.5,-37.5 + parent: 2 + - uid: 7445 + components: + - type: Transform + pos: 102.5,-57.5 + parent: 2 + - uid: 7449 + components: + - type: Transform + pos: 102.5,-33.5 + parent: 2 + - uid: 7450 + components: + - type: Transform + pos: 103.5,-53.5 + parent: 2 + - uid: 7477 + components: + - type: Transform + pos: 103.5,-55.5 + parent: 2 + - uid: 7478 + components: + - type: Transform + pos: 104.5,-49.5 + parent: 2 + - uid: 7486 + components: + - type: Transform + pos: 104.5,-50.5 + parent: 2 + - uid: 7497 + components: + - type: Transform + pos: 104.5,-46.5 + parent: 2 + - uid: 7498 + components: + - type: Transform + pos: 104.5,-44.5 + parent: 2 + - uid: 7500 + components: + - type: Transform + pos: 104.5,-41.5 + parent: 2 + - uid: 7528 components: - type: Transform pos: 81.5,-48.5 parent: 2 - - uid: 7430 + - uid: 7530 components: - type: Transform - pos: 90.5,-44.5 + rot: 1.5707963267948966 rad + pos: 91.5,-44.5 parent: 2 - - uid: 7431 + - uid: 7541 components: - type: Transform - pos: 89.5,-44.5 + pos: 80.5,-49.5 parent: 2 - - uid: 7435 + - uid: 7557 components: - type: Transform - pos: 89.5,-46.5 + pos: 104.5,-45.5 parent: 2 - - uid: 7436 + - uid: 7558 components: - type: Transform - pos: 90.5,-46.5 + pos: 103.5,-54.5 + parent: 2 + - uid: 7559 + components: + - type: Transform + pos: 102.5,-58.5 + parent: 2 + - uid: 7562 + components: + - type: Transform + pos: 102.5,-34.5 parent: 2 - uid: 7667 components: @@ -80609,11 +83757,28 @@ entities: - type: Transform pos: 25.5,-88.5 parent: 2 + - uid: 7971 + components: + - type: Transform + pos: 58.5,-25.5 + parent: 2 - uid: 8039 components: - type: Transform pos: 51.5,-58.5 parent: 2 + - uid: 8092 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 91.5,-46.5 + parent: 2 + - uid: 8093 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 92.5,-44.5 + parent: 2 - uid: 8232 components: - type: Transform @@ -80624,6 +83789,11 @@ entities: - type: Transform pos: 44.5,-54.5 parent: 2 + - uid: 8455 + components: + - type: Transform + pos: 69.5,-57.5 + parent: 2 - uid: 8508 components: - type: Transform @@ -80639,25 +83809,31 @@ entities: - type: Transform pos: 22.5,-71.5 parent: 2 - - uid: 8802 + - uid: 8777 components: - type: Transform - pos: 71.5,-56.5 + pos: 67.5,-46.5 + parent: 2 + - uid: 8779 + components: + - type: Transform + pos: 63.5,-44.5 + parent: 2 + - uid: 8793 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 101.5,-29.5 parent: 2 - uid: 9282 components: - type: Transform pos: 59.5,-22.5 parent: 2 - - uid: 9303 + - uid: 9302 components: - type: Transform - pos: 58.5,-54.5 - parent: 2 - - uid: 9304 - components: - - type: Transform - pos: 61.5,-54.5 + pos: 28.5,-15.5 parent: 2 - uid: 9312 components: @@ -80667,7 +83843,17 @@ entities: - uid: 9319 components: - type: Transform - pos: 67.5,-58.5 + pos: 104.5,-58.5 + parent: 2 + - uid: 9322 + components: + - type: Transform + pos: 82.5,-47.5 + parent: 2 + - uid: 9412 + components: + - type: Transform + pos: 65.5,-59.5 parent: 2 - uid: 9448 components: @@ -80679,11 +83865,37 @@ entities: - type: Transform pos: -8.5,-41.5 parent: 2 + - uid: 9496 + components: + - type: Transform + pos: 66.5,-59.5 + parent: 2 - uid: 9583 components: - type: Transform pos: 3.5,-47.5 parent: 2 + - uid: 9586 + components: + - type: Transform + pos: 32.5,-13.5 + parent: 2 + - uid: 9602 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 37.5,-13.5 + parent: 2 + - uid: 9721 + components: + - type: Transform + pos: 106.5,-39.5 + parent: 2 + - uid: 9793 + components: + - type: Transform + pos: 105.5,-55.5 + parent: 2 - uid: 10240 components: - type: Transform @@ -80704,20 +83916,65 @@ entities: - type: Transform pos: 26.5,-86.5 parent: 2 - - uid: 10659 + - uid: 10702 components: - type: Transform - pos: 69.5,-41.5 + pos: 106.5,-48.5 + parent: 2 + - uid: 10708 + components: + - type: Transform + pos: 106.5,-43.5 + parent: 2 + - uid: 10710 + components: + - type: Transform + pos: 106.5,-40.5 + parent: 2 + - uid: 10713 + components: + - type: Transform + pos: 106.5,-41.5 + parent: 2 + - uid: 10756 + components: + - type: Transform + pos: 82.5,-42.5 parent: 2 - uid: 10819 components: - type: Transform pos: 27.5,-68.5 parent: 2 - - uid: 10842 + - uid: 10849 components: - type: Transform - pos: 79.5,-42.5 + pos: 82.5,-49.5 + parent: 2 + - uid: 10850 + components: + - type: Transform + pos: 81.5,-50.5 + parent: 2 + - uid: 10856 + components: + - type: Transform + pos: 105.5,-52.5 + parent: 2 + - uid: 10860 + components: + - type: Transform + pos: 106.5,-49.5 + parent: 2 + - uid: 11261 + components: + - type: Transform + pos: 106.5,-51.5 + parent: 2 + - uid: 11396 + components: + - type: Transform + pos: 106.5,-44.5 parent: 2 - uid: 11672 components: @@ -80744,11 +84001,36 @@ entities: - type: Transform pos: 47.5,-12.5 parent: 2 + - uid: 11830 + components: + - type: Transform + pos: 106.5,-45.5 + parent: 2 + - uid: 11838 + components: + - type: Transform + pos: 81.5,-49.5 + parent: 2 + - uid: 11839 + components: + - type: Transform + pos: 82.5,-48.5 + parent: 2 + - uid: 11840 + components: + - type: Transform + pos: 82.5,-43.5 + parent: 2 - uid: 11870 components: - type: Transform pos: 64.5,-19.5 parent: 2 + - uid: 11884 + components: + - type: Transform + pos: 73.5,-73.5 + parent: 2 - uid: 12846 components: - type: Transform @@ -80819,11 +84101,6 @@ entities: - type: Transform pos: -14.5,-9.5 parent: 2 - - uid: 13825 - components: - - type: Transform - pos: 61.5,-46.5 - parent: 2 - uid: 13843 components: - type: Transform @@ -80839,6 +84116,11 @@ entities: - type: Transform pos: 58.5,-18.5 parent: 2 + - uid: 14028 + components: + - type: Transform + pos: 57.5,-100.5 + parent: 2 - uid: 14081 components: - type: Transform @@ -80905,15 +84187,50 @@ entities: - type: Transform pos: -19.5,-73.5 parent: 2 + - uid: 14862 + components: + - type: Transform + pos: 105.5,-37.5 + parent: 2 - uid: 14873 components: - type: Transform pos: 9.5,-13.5 parent: 2 - - uid: 15147 + - uid: 15151 components: - type: Transform - pos: 63.5,-63.5 + pos: 83.5,-48.5 + parent: 2 + - uid: 15152 + components: + - type: Transform + pos: 73.5,-72.5 + parent: 2 + - uid: 15153 + components: + - type: Transform + pos: 82.5,-41.5 + parent: 2 + - uid: 15154 + components: + - type: Transform + pos: 83.5,-42.5 + parent: 2 + - uid: 15155 + components: + - type: Transform + pos: 81.5,-40.5 + parent: 2 + - uid: 15162 + components: + - type: Transform + pos: 81.5,-41.5 + parent: 2 + - uid: 15170 + components: + - type: Transform + pos: 104.5,-32.5 parent: 2 - uid: 15220 components: @@ -80945,16 +84262,6 @@ entities: - type: Transform pos: 59.5,-18.5 parent: 2 - - uid: 15471 - components: - - type: Transform - pos: 67.5,-44.5 - parent: 2 - - uid: 15475 - components: - - type: Transform - pos: 66.5,-50.5 - parent: 2 - uid: 15791 components: - type: Transform @@ -80970,36 +84277,16 @@ entities: - type: Transform pos: 22.5,-87.5 parent: 2 - - uid: 16164 - components: - - type: Transform - pos: 65.5,-44.5 - parent: 2 - uid: 16183 components: - type: Transform pos: 0.5,-38.5 parent: 2 - - uid: 16312 - components: - - type: Transform - pos: 56.5,-29.5 - parent: 2 - - uid: 16372 - components: - - type: Transform - pos: 58.5,-25.5 - parent: 2 - uid: 16384 components: - type: Transform pos: 22.5,-88.5 parent: 2 - - uid: 16450 - components: - - type: Transform - pos: 58.5,-78.5 - parent: 2 - uid: 16621 components: - type: Transform @@ -81115,11 +84402,6 @@ entities: - type: Transform pos: 17.5,-45.5 parent: 2 - - uid: 16865 - components: - - type: Transform - pos: 69.5,-43.5 - parent: 2 - uid: 16985 components: - type: Transform @@ -81130,26 +84412,11 @@ entities: - type: Transform pos: -4.5,-18.5 parent: 2 - - uid: 17212 - components: - - type: Transform - pos: 57.5,-47.5 - parent: 2 - - uid: 17241 - components: - - type: Transform - pos: 61.5,-36.5 - parent: 2 - uid: 17272 components: - type: Transform pos: 61.5,-28.5 parent: 2 - - uid: 17285 - components: - - type: Transform - pos: 61.5,-45.5 - parent: 2 - uid: 17342 components: - type: Transform @@ -81175,11 +84442,6 @@ entities: - type: Transform pos: 60.5,-18.5 parent: 2 - - uid: 17651 - components: - - type: Transform - pos: 79.5,-48.5 - parent: 2 - uid: 17697 components: - type: Transform @@ -81200,16 +84462,6 @@ entities: - type: Transform pos: 80.5,-41.5 parent: 2 - - uid: 18001 - components: - - type: Transform - pos: 80.5,-43.5 - parent: 2 - - uid: 18002 - components: - - type: Transform - pos: 80.5,-49.5 - parent: 2 - uid: 18003 components: - type: Transform @@ -81220,11 +84472,6 @@ entities: - type: Transform pos: 52.5,-53.5 parent: 2 - - uid: 18366 - components: - - type: Transform - pos: 58.5,-77.5 - parent: 2 - uid: 18403 components: - type: Transform @@ -81340,11 +84587,6 @@ entities: - type: Transform pos: 50.5,-63.5 parent: 2 - - uid: 18497 - components: - - type: Transform - pos: 56.5,-41.5 - parent: 2 - uid: 18526 components: - type: Transform @@ -81355,11 +84597,6 @@ entities: - type: Transform pos: 52.5,-60.5 parent: 2 - - uid: 18631 - components: - - type: Transform - pos: 59.5,-25.5 - parent: 2 - uid: 18876 components: - type: Transform @@ -81616,6 +84853,16 @@ entities: - type: Transform pos: -60.5,-32.5 parent: 2 + - uid: 19721 + components: + - type: Transform + pos: 57.5,-99.5 + parent: 2 + - uid: 19722 + components: + - type: Transform + pos: 57.5,-98.5 + parent: 2 - proto: GrilleBroken entities: - uid: 2496 @@ -81636,20 +84883,22 @@ entities: rot: -1.5707963267948966 rad pos: 12.5,-81.5 parent: 2 - - uid: 11936 + - uid: 14252 components: - type: Transform - pos: 75.5,-53.5 + rot: -1.5707963267948966 rad + pos: 67.5,-59.5 parent: 2 - - uid: 16341 + - uid: 15472 components: - type: Transform - pos: 77.5,-53.5 + rot: 1.5707963267948966 rad + pos: 64.5,-59.5 parent: 2 - - uid: 16414 + - uid: 15489 components: - type: Transform - pos: 76.5,-53.5 + pos: 69.5,-56.5 parent: 2 - uid: 16987 components: @@ -81860,15 +85109,30 @@ entities: parent: 2 - proto: GrilleSpawner entities: - - uid: 6412 + - uid: 3138 components: - type: Transform - pos: 102.5,-43.5 + pos: 105.5,-38.5 parent: 2 - - uid: 6423 + - uid: 3214 components: - type: Transform - pos: 100.5,-56.5 + pos: 104.5,-43.5 + parent: 2 + - uid: 3774 + components: + - type: Transform + pos: 106.5,-50.5 + parent: 2 + - uid: 5810 + components: + - type: Transform + pos: 105.5,-53.5 + parent: 2 + - uid: 5812 + components: + - type: Transform + pos: 105.5,-54.5 parent: 2 - uid: 6498 components: @@ -81890,11 +85154,89 @@ entities: - type: Transform pos: -70.5,-65.5 parent: 2 + - uid: 7423 + components: + - type: Transform + pos: 102.5,-56.5 + parent: 2 + - uid: 7425 + components: + - type: Transform + pos: 103.5,-52.5 + parent: 2 + - uid: 7426 + components: + - type: Transform + pos: 103.5,-51.5 + parent: 2 + - uid: 7431 + components: + - type: Transform + pos: 104.5,-48.5 + parent: 2 + - uid: 7435 + components: + - type: Transform + pos: 103.5,-38.5 + parent: 2 + - uid: 7436 + components: + - type: Transform + pos: 103.5,-39.5 + parent: 2 + - uid: 7550 + components: + - type: Transform + pos: 104.5,-47.5 + parent: 2 + - uid: 7551 + components: + - type: Transform + pos: 103.5,-35.5 + parent: 2 + - uid: 7556 + components: + - type: Transform + pos: 104.5,-42.5 + parent: 2 + - uid: 7947 + components: + - type: Transform + pos: 106.5,-47.5 + parent: 2 + - uid: 8746 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 100.5,-31.5 + parent: 2 + - uid: 8789 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 100.5,-59.5 + parent: 2 + - uid: 8802 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 100.5,-61.5 + parent: 2 - uid: 10433 components: - type: Transform pos: -26.5,-92.5 parent: 2 + - uid: 13836 + components: + - type: Transform + pos: 106.5,-42.5 + parent: 2 + - uid: 14404 + components: + - type: Transform + pos: 106.5,-46.5 + parent: 2 - uid: 14715 components: - type: Transform @@ -81995,11 +85337,6 @@ entities: - type: Transform pos: 61.5,-7.5 parent: 2 - - uid: 14809 - components: - - type: Transform - pos: 101.5,-39.5 - parent: 2 - uid: 14810 components: - type: Transform @@ -82010,76 +85347,6 @@ entities: - type: Transform pos: 96.5,-29.5 parent: 2 - - uid: 14835 - components: - - type: Transform - pos: 101.5,-38.5 - parent: 2 - - uid: 14836 - components: - - type: Transform - pos: 103.5,-38.5 - parent: 2 - - uid: 14837 - components: - - type: Transform - pos: 104.5,-42.5 - parent: 2 - - uid: 14861 - components: - - type: Transform - pos: 101.5,-35.5 - parent: 2 - - uid: 14862 - components: - - type: Transform - pos: 102.5,-42.5 - parent: 2 - - uid: 14863 - components: - - type: Transform - pos: 101.5,-51.5 - parent: 2 - - uid: 14864 - components: - - type: Transform - pos: 101.5,-52.5 - parent: 2 - - uid: 14917 - components: - - type: Transform - pos: 103.5,-53.5 - parent: 2 - - uid: 14918 - components: - - type: Transform - pos: 103.5,-54.5 - parent: 2 - - uid: 14919 - components: - - type: Transform - pos: 104.5,-50.5 - parent: 2 - - uid: 15595 - components: - - type: Transform - pos: 104.5,-47.5 - parent: 2 - - uid: 15596 - components: - - type: Transform - pos: 102.5,-48.5 - parent: 2 - - uid: 15597 - components: - - type: Transform - pos: 102.5,-47.5 - parent: 2 - - uid: 15598 - components: - - type: Transform - pos: 104.5,-46.5 - parent: 2 - uid: 15599 components: - type: Transform @@ -82391,31 +85658,31 @@ entities: - Lock - proto: GunSafeLaserCarbine entities: - - uid: 15461 + - uid: 3915 components: - type: Transform - pos: 58.5,-58.5 + pos: 58.5,-50.5 parent: 2 - proto: GunSafeRifleLecter entities: - - uid: 7262 + - uid: 2645 components: - type: Transform - pos: 62.5,-58.5 + pos: 62.5,-50.5 parent: 2 - proto: GunSafeShotgunKammerer entities: - - uid: 15460 + - uid: 3084 components: - type: Transform - pos: 58.5,-57.5 + pos: 58.5,-49.5 parent: 2 - proto: GunSafeSubMachineGunDrozd entities: - - uid: 18162 + - uid: 4178 components: - type: Transform - pos: 62.5,-57.5 + pos: 62.5,-49.5 parent: 2 - proto: Handcuffs entities: @@ -82427,24 +85694,19 @@ entities: - uid: 13879 components: - type: Transform - pos: 61.49383,-42.487232 + pos: 57.514305,-35.453518 parent: 2 - uid: 19346 components: - type: Transform - pos: 58.506886,-20.440216 + pos: 58.428192,-20.46732 parent: 2 - proto: HandheldGPSBasic entities: - uid: 6984 components: - type: Transform - pos: 52.477993,-99.26284 - parent: 2 - - uid: 18035 - components: - - type: Transform - pos: -45.538082,-76.493256 + pos: 53.64448,-99.06088 parent: 2 - proto: HandheldHealthAnalyzerUnpowered entities: @@ -82484,7 +85746,7 @@ entities: - uid: 7218 components: - type: Transform - pos: 80.20865,-27.102425 + pos: 78.45767,-25.4561 parent: 2 - proto: HappyHonkMime entities: @@ -82550,11 +85812,17 @@ entities: parent: 2 - type: AtmosPipeColor color: '#FFAD4FFF' - - uid: 15427 + - uid: 10661 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,-81.5 + rot: 3.141592653589793 rad + pos: 47.5,-81.5 + parent: 2 + - uid: 10668 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 49.5,-81.5 parent: 2 - uid: 18101 components: @@ -82566,6 +85834,12 @@ entities: - type: Transform pos: 47.5,-80.5 parent: 2 + - uid: 19145 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 48.5,-82.5 + parent: 2 - proto: HeatExchangerBend entities: - uid: 4136 @@ -82583,29 +85857,29 @@ entities: parent: 2 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 14386 + - uid: 19147 components: - type: Transform rot: 3.141592653589793 rad - pos: 47.5,-81.5 + pos: 47.5,-82.5 parent: 2 - - uid: 15426 + - uid: 19151 components: - type: Transform rot: -1.5707963267948966 rad - pos: 49.5,-81.5 + pos: 49.5,-82.5 parent: 2 - proto: HighSecArmoryLocked entities: - - uid: 4379 + - uid: 3561 components: - type: Transform - pos: 59.5,-54.5 + pos: 60.5,-46.5 parent: 2 - - uid: 9302 + - uid: 3778 components: - type: Transform - pos: 60.5,-54.5 + pos: 59.5,-46.5 parent: 2 - proto: HighSecCommandLocked entities: @@ -82631,19 +85905,26 @@ entities: - type: Transform pos: 45.641735,-73.600204 parent: 2 -- proto: HolopadAiCore - entities: - - uid: 10306 + - uid: 20006 components: - type: Transform - pos: 92.5,-45.5 + parent: 20005 + - type: Physics + canCollide: False + - type: InsideEntityStorage +- proto: HolopadAiCore + entities: + - uid: 9320 + components: + - type: Transform + pos: 94.5,-45.5 parent: 2 - proto: HolopadAiUpload entities: - - uid: 14323 + - uid: 14861 components: - type: Transform - pos: 77.5,-45.5 + pos: 80.5,-45.5 parent: 2 - proto: HolopadCargoBay entities: @@ -82717,10 +85998,10 @@ entities: parent: 2 - proto: HolopadCommandHos entities: - - uid: 7157 + - uid: 18027 components: - type: Transform - pos: 68.5,-47.5 + pos: 67.5,-52.5 parent: 2 - proto: HolopadCommandQm entities: @@ -82834,6 +86115,13 @@ entities: - type: Transform pos: 35.5,-27.5 parent: 2 +- proto: HolopadMedicalParamed + entities: + - uid: 17508 + components: + - type: Transform + pos: 5.5,-27.5 + parent: 2 - proto: HolopadMedicalSurgery entities: - uid: 19149 @@ -82843,10 +86131,10 @@ entities: parent: 2 - proto: HolopadMedicalVirology entities: - - uid: 19145 + - uid: 18511 components: - type: Transform - pos: 29.5,-20.5 + pos: 32.5,-18.5 parent: 2 - proto: HolopadScienceArtifact entities: @@ -82864,10 +86152,10 @@ entities: parent: 2 - proto: HolopadSecurityArmory entities: - - uid: 5666 + - uid: 18005 components: - type: Transform - pos: 60.5,-58.5 + pos: 60.5,-48.5 parent: 2 - proto: HolopadSecurityArrivalsCheckpoint entities: @@ -82876,19 +86164,47 @@ entities: - type: Transform pos: -3.5,-14.5 parent: 2 -- proto: HolopadSecurityFront +- proto: HolopadSecurityBrigMed entities: - - uid: 10781 + - uid: 18058 components: - type: Transform - pos: 65.5,-39.5 + pos: 51.5,-31.5 + parent: 2 +- proto: HolopadSecurityDetective + entities: + - uid: 18010 + components: + - type: Transform + pos: 70.5,-48.5 + parent: 2 +- proto: HolopadSecurityFront + entities: + - uid: 18006 + components: + - type: Transform + pos: 63.5,-34.5 + parent: 2 +- proto: HolopadSecurityInterrogation + entities: + - uid: 18002 + components: + - type: Transform + pos: 52.5,-37.5 + parent: 2 +- proto: HolopadSecurityLawyer + entities: + - uid: 18028 + components: + - type: Transform + pos: 50.5,-56.5 parent: 2 - proto: HolopadSecurityLockerRoom entities: - - uid: 7158 + - uid: 18007 components: - type: Transform - pos: 59.5,-37.5 + pos: 70.5,-41.5 parent: 2 - proto: HolopadSecurityPerma entities: @@ -82899,10 +86215,10 @@ entities: parent: 2 - proto: HolopadSecurityWarden entities: - - uid: 7097 + - uid: 17999 components: - type: Transform - pos: 58.5,-43.5 + pos: 57.5,-37.5 parent: 2 - proto: HolopadServiceBar entities: @@ -82941,10 +86257,10 @@ entities: parent: 2 - proto: HolopadServiceKitchen entities: - - uid: 19170 + - uid: 19751 components: - type: Transform - pos: 43.5,-44.5 + pos: 40.5,-41.5 parent: 2 - proto: HolopadServiceLibrary entities: @@ -82965,12 +86281,12 @@ entities: - uid: 3322 components: - type: Transform - pos: 60.67577,-57.63842 + pos: 60.61238,-49.522396 parent: 2 - uid: 3323 components: - type: Transform - pos: 60.83202,-57.409096 + pos: 60.726963,-49.366035 parent: 2 - proto: HospitalCurtains entities: @@ -82989,6 +86305,11 @@ entities: - type: Transform pos: 40.5,-18.5 parent: 2 + - uid: 18823 + components: + - type: Transform + pos: 49.5,-16.5 + parent: 2 - proto: HospitalCurtainsOpen entities: - uid: 2866 @@ -83008,6 +86329,12 @@ entities: rot: 1.5707963267948966 rad pos: -8.5,1.5 parent: 2 + - uid: 9872 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-16.5 + parent: 2 - uid: 14267 components: - type: Transform @@ -83032,11 +86359,6 @@ entities: rot: -1.5707963267948966 rad pos: 39.5,-14.5 parent: 2 - - uid: 18757 - components: - - type: Transform - pos: 42.5,-16.5 - parent: 2 - uid: 18758 components: - type: Transform @@ -83217,18 +86539,6 @@ entities: - type: Transform pos: -10.265891,-21.478815 parent: 2 - - uid: 17893 - components: - - type: Transform - parent: 17884 - - type: Physics - canCollide: False - - uid: 17907 - components: - - type: Transform - parent: 17884 - - type: Physics - canCollide: False - proto: IngotSilver entities: - uid: 3829 @@ -83340,17 +86650,6 @@ entities: - type: Transform pos: 11.5,-18.5 parent: 2 - - uid: 17766 - components: - - type: Transform - pos: 27.5,-17.5 - parent: 2 - - uid: 17770 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 36.5,-28.5 - parent: 2 - proto: IntercomScience entities: - uid: 11363 @@ -83361,10 +86660,17 @@ entities: parent: 2 - proto: IntercomSecurity entities: - - uid: 9335 + - uid: 6087 components: - type: Transform - pos: 64.5,-48.5 + rot: -1.5707963267948966 rad + pos: 63.5,-41.5 + parent: 2 + - uid: 19381 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 54.5,-26.5 parent: 2 - proto: IntercomService entities: @@ -83436,7 +86742,7 @@ entities: - uid: 734 components: - type: Transform - pos: 19.601612,-24.408659 + pos: 20.640932,-24.39975 parent: 2 - uid: 17919 components: @@ -83472,7 +86778,7 @@ entities: - uid: 7042 components: - type: Transform - pos: 48.430027,-40.48026 + pos: 40.52011,-36.396408 parent: 2 - proto: KitchenMicrowave entities: @@ -83486,11 +86792,6 @@ entities: - type: Transform pos: 8.5,-90.5 parent: 2 - - uid: 7031 - components: - - type: Transform - pos: 44.5,-41.5 - parent: 2 - uid: 7032 components: - type: Transform @@ -83501,6 +86802,11 @@ entities: - type: Transform pos: 48.5,-15.5 parent: 2 + - uid: 14596 + components: + - type: Transform + pos: 44.5,-40.5 + parent: 2 - uid: 18532 components: - type: Transform @@ -83518,10 +86824,10 @@ entities: - type: Transform pos: 41.5,-43.5 parent: 2 - - uid: 7030 + - uid: 8451 components: - type: Transform - pos: 44.5,-40.5 + pos: 68.5,-63.5 parent: 2 - uid: 10300 components: @@ -83533,17 +86839,22 @@ entities: - type: Transform pos: 15.5,-67.5 parent: 2 + - uid: 19745 + components: + - type: Transform + pos: 42.5,-42.5 + parent: 2 - proto: KitchenSpike entities: - - uid: 7035 + - uid: 4609 components: - type: Transform - pos: 48.5,-42.5 + pos: 43.5,-36.5 parent: 2 - - uid: 7036 + - uid: 7533 components: - type: Transform - pos: 48.5,-41.5 + pos: 42.5,-36.5 parent: 2 - proto: KnifePlastic entities: @@ -83581,26 +86892,60 @@ entities: - type: Transform pos: -23.242622,-14.164716 parent: 2 +- proto: Lamp + entities: + - uid: 10252 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 70.53382,-47.076958 + parent: 2 - proto: LampGold entities: - uid: 10499 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5085,-56.088474 + pos: 53.538273,-56.19024 parent: 2 + - type: HandheldLight + toggleActionEntity: 4915 + - type: ContainerContainer + containers: + cell_slot: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + actions: !type:Container + showEnts: False + occludes: True + ents: + - 4915 + - type: Physics + canCollide: True + - type: ActionsContainer - proto: LampInterrogator entities: - - uid: 2223 - components: - - type: Transform - pos: 69.513466,-51.10884 - parent: 2 - uid: 15343 components: - type: Transform - pos: 71.46581,-42.150627 + pos: 50.54356,-37.204014 parent: 2 + - type: HandheldLight + toggleActionEntity: 7566 + - type: ContainerContainer + containers: + cell_slot: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + actions: !type:Container + showEnts: False + occludes: True + ents: + - 7566 + - type: Physics + canCollide: True + - type: ActionsContainer - proto: Lantern entities: - uid: 5675 @@ -83623,7 +86968,7 @@ entities: - uid: 7055 components: - type: Transform - pos: 42.5,-42.5 + pos: 42.395752,-45.319225 parent: 2 - uid: 17018 components: @@ -83635,6 +86980,16 @@ entities: - type: Transform pos: 2.5591927,-78.68594 parent: 2 + - uid: 19735 + components: + - type: Transform + pos: 42.364388,-34.14802 + parent: 2 + - uid: 19746 + components: + - type: Transform + pos: 42.597137,-45.117836 + parent: 2 - proto: LeavesCannabisDried entities: - uid: 18867 @@ -83669,27 +87024,6 @@ entities: - type: Transform pos: -25.64344,-32.075485 parent: 2 -- proto: LightBulbBroken - entities: - - uid: 17953 - components: - - type: Transform - parent: 17952 - - type: Physics - canCollide: False - - uid: 17961 - components: - - type: Transform - parent: 17960 - - type: Physics - canCollide: False -- proto: Lighter - entities: - - uid: 9356 - components: - - type: Transform - pos: 68.51949,-38.591267 - parent: 2 - proto: LiquidNitrogenCanister entities: - uid: 15914 @@ -83714,30 +87048,28 @@ entities: - uid: 18618 components: - type: Transform - pos: 77.18439,-43.606335 + pos: 79.15577,-43.49481 parent: 2 - proto: LockableButtonArmory entities: - - uid: 3541 + - uid: 8069 components: - - type: MetaData - name: main armory button - type: Transform rot: -1.5707963267948966 rad - pos: 61.5,-44.5 + pos: 60.5,-37.5 parent: 2 - type: DeviceLinkSource linkedPorts: - 4380: + 4000: - - Pressed - Toggle - 4366: + 3548: - - Pressed - Toggle - 13934: + 3867: - - Pressed - Toggle - 4377: + 3324: - - Pressed - Toggle - proto: LockableButtonChiefEngineer @@ -83843,15 +87175,15 @@ entities: - type: Transform pos: 31.5,-48.5 parent: 2 - - uid: 7074 + - uid: 7347 components: - type: Transform pos: 35.5,-48.5 parent: 2 - - uid: 8101 + - uid: 14266 components: - type: Transform - pos: 72.5,-67.5 + pos: 58.5,-62.5 parent: 2 - proto: LockerBotanistFilled entities: @@ -83907,10 +87239,10 @@ entities: parent: 2 - proto: LockerDetectiveFilled entities: - - uid: 4810 + - uid: 9306 components: - type: Transform - pos: 72.5,-53.5 + pos: 73.5,-49.5 parent: 2 - proto: LockerElectricalSuppliesFilled entities: @@ -83919,16 +87251,16 @@ entities: - type: Transform pos: -19.5,-59.5 parent: 2 + - uid: 8085 + components: + - type: Transform + pos: 34.5,-34.5 + parent: 2 - uid: 14741 components: - type: Transform pos: 6.5,-63.5 parent: 2 - - uid: 15227 - components: - - type: Transform - pos: 35.5,-34.5 - parent: 2 - uid: 16045 components: - type: Transform @@ -83978,17 +87310,17 @@ entities: - type: Transform pos: 10.5,-47.5 parent: 2 - - uid: 14277 + - uid: 10236 components: - type: Transform - pos: 57.5,-34.5 + pos: 68.5,-41.5 parent: 2 - proto: LockerFreezer entities: - - uid: 7050 + - uid: 8385 components: - type: Transform - pos: 46.5,-44.5 + pos: 41.5,-36.5 parent: 2 - proto: LockerFreezerVaultFilled entities: @@ -84006,42 +87338,62 @@ entities: parent: 2 - proto: LockerHeadOfSecurityFilled entities: - - uid: 15344 + - uid: 6065 components: - type: Transform - pos: 71.5,-45.5 + pos: 71.5,-51.5 parent: 2 - proto: LockerMedical entities: - - uid: 1170 + - uid: 8154 components: - type: Transform - pos: 27.5,-25.5 + pos: 27.5,-27.5 parent: 2 - proto: LockerMedicalFilled entities: + - uid: 2829 + components: + - type: Transform + pos: 21.5,-15.5 + parent: 2 - uid: 5211 components: - type: Transform pos: 20.5,-15.5 parent: 2 - - uid: 5216 - components: - - type: Transform - pos: 18.5,-15.5 - parent: 2 - - uid: 5228 - components: - - type: Transform - pos: 19.5,-15.5 - parent: 2 - uid: 5928 components: - type: Transform pos: -7.5,2.5 parent: 2 + - uid: 7778 + components: + - type: Transform + pos: 23.5,-17.5 + parent: 2 + - uid: 8377 + components: + - type: Transform + pos: 19.5,-15.5 + parent: 2 + - uid: 8786 + components: + - type: Transform + pos: 23.5,-16.5 + parent: 2 + - uid: 9385 + components: + - type: Transform + pos: 22.5,-15.5 + parent: 2 - proto: LockerMedicineFilled entities: + - uid: 8378 + components: + - type: Transform + pos: 18.5,-15.5 + parent: 2 - uid: 13992 components: - type: Transform @@ -84068,52 +87420,52 @@ entities: parent: 2 - proto: LockerPrisoner entities: - - uid: 16115 - components: - - type: Transform - pos: 67.5,-27.5 - parent: 2 -- proto: LockerPrisoner2 - entities: - - uid: 17731 + - uid: 5386 components: - type: Transform pos: 68.5,-27.5 parent: 2 -- proto: LockerPrisoner3 +- proto: LockerPrisoner2 entities: - - uid: 18058 + - uid: 5388 components: - type: Transform pos: 69.5,-27.5 parent: 2 -- proto: LockerPrisoner4 +- proto: LockerPrisoner3 entities: - - uid: 15446 + - uid: 5403 components: - type: Transform - pos: 66.5,-29.5 + pos: 70.5,-27.5 + parent: 2 +- proto: LockerPrisoner4 + entities: + - uid: 5405 + components: + - type: Transform + pos: 67.5,-30.5 parent: 2 - proto: LockerPrisoner5 entities: - - uid: 15548 + - uid: 5406 components: - type: Transform - pos: 67.5,-29.5 + pos: 68.5,-30.5 parent: 2 - proto: LockerPrisoner6 entities: - - uid: 15448 + - uid: 5409 components: - type: Transform - pos: 68.5,-29.5 + pos: 69.5,-30.5 parent: 2 - proto: LockerPrisoner7 entities: - - uid: 15547 + - uid: 6090 components: - type: Transform - pos: 69.5,-29.5 + pos: 70.5,-30.5 parent: 2 - proto: LockerQuarterMasterFilled entities: @@ -84131,20 +87483,20 @@ entities: parent: 2 - proto: LockerSalvageSpecialistFilled entities: - - uid: 6900 + - uid: 9177 components: - type: Transform - pos: 55.5,-98.5 + pos: 56.5,-99.5 parent: 2 - - uid: 6910 + - uid: 17329 components: - type: Transform - pos: 55.5,-99.5 + pos: 56.5,-100.5 parent: 2 - - uid: 6911 + - uid: 18765 components: - type: Transform - pos: 55.5,-100.5 + pos: 56.5,-98.5 parent: 2 - proto: LockerScienceFilled entities: @@ -84170,30 +87522,35 @@ entities: parent: 2 - proto: LockerSecurityFilled entities: - - uid: 3548 - components: - - type: Transform - pos: 57.5,-39.5 - parent: 2 - - uid: 3549 - components: - - type: Transform - pos: 57.5,-38.5 - parent: 2 - - uid: 3550 - components: - - type: Transform - pos: 57.5,-36.5 - parent: 2 - uid: 6149 components: - type: Transform pos: 11.5,-47.5 parent: 2 - - uid: 10252 + - uid: 9892 components: - type: Transform - pos: 57.5,-37.5 + pos: 68.5,-38.5 + parent: 2 + - uid: 9901 + components: + - type: Transform + pos: 69.5,-38.5 + parent: 2 + - uid: 9904 + components: + - type: Transform + pos: 70.5,-38.5 + parent: 2 + - uid: 9949 + components: + - type: Transform + pos: 71.5,-38.5 + parent: 2 + - uid: 10036 + components: + - type: Transform + pos: 72.5,-38.5 parent: 2 - proto: LockerWallMedicalFilled entities: @@ -84204,10 +87561,10 @@ entities: parent: 2 - proto: LockerWardenFilled entities: - - uid: 3544 + - uid: 3453 components: - type: Transform - pos: 57.5,-45.5 + pos: 54.5,-36.5 parent: 2 - proto: LockerWeldingSuppliesFilled entities: @@ -84301,12 +87658,26 @@ entities: - type: Physics canCollide: False bodyType: Static -- proto: LootSpawnerIndustrialFluff +- proto: LootSpawnerCableCoil entities: - - uid: 9697 + - uid: 15459 components: - type: Transform - pos: 61.5,-62.5 + pos: 66.5,-68.5 + parent: 2 +- proto: LootSpawnerIndustrialFluff + entities: + - uid: 15460 + components: + - type: Transform + pos: 62.5,-65.5 + parent: 2 +- proto: LootSpawnerMaterialsHighValue + entities: + - uid: 4983 + components: + - type: Transform + pos: -37.5,-75.5 parent: 2 - proto: LootSpawnerMaterialsSupplementary entities: @@ -84317,17 +87688,10 @@ entities: parent: 2 - proto: LootSpawnerMedicalMinor entities: - - uid: 10738 + - uid: 7573 components: - type: Transform - pos: 74.5,-37.5 - parent: 2 -- proto: LootSpawnerSecurityBasic - entities: - - uid: 14252 - components: - - type: Transform - pos: 57.5,-28.5 + pos: 75.5,-34.5 parent: 2 - proto: LuxuryPen entities: @@ -84396,10 +87760,15 @@ entities: - type: Transform pos: 12.5,-67.5 parent: 2 - - uid: 15258 + - uid: 4252 components: - type: Transform - pos: 37.5,-28.5 + pos: 36.5,-13.5 + parent: 2 + - uid: 14297 + components: + - type: Transform + pos: 68.5,-62.5 parent: 2 - proto: MachineElectrolysisUnit entities: @@ -84408,13 +87777,18 @@ entities: - type: Transform pos: 13.5,-67.5 parent: 2 - - uid: 3714 + - uid: 8382 components: - type: Transform - pos: 42.5,-30.5 + pos: 66.5,-66.5 parent: 2 - proto: MachineFrame entities: + - uid: 14973 + components: + - type: Transform + pos: 43.5,-34.5 + parent: 2 - uid: 17019 components: - type: Transform @@ -84447,29 +87821,35 @@ entities: rot: 1.5707963267948966 rad pos: 3.1149855,-10.702077 parent: 2 + - uid: 20078 + components: + - type: Transform + rot: -0.3490658503988659 rad + pos: 53.540127,-42.392376 + parent: 2 - proto: MagazinePistolSubMachineGun entities: - uid: 11951 components: - type: Transform - pos: 68.56853,-31.4625 + pos: 69.531204,-32.483376 parent: 2 - uid: 16049 components: - type: Transform - pos: 68.39492,-31.455551 + pos: 69.312454,-32.493797 parent: 2 - proto: MagazinePistolSubMachineGunTopMounted entities: - uid: 3532 components: - type: Transform - pos: 65.386,-45.460392 + pos: 64.45614,-50.54994 parent: 2 - uid: 3536 components: - type: Transform - pos: 65.62211,-45.562313 + pos: 64.62281,-50.643757 parent: 2 - proto: MailBag entities: @@ -84480,11 +87860,6 @@ entities: parent: 2 - proto: MaintenanceFluffSpawner entities: - - uid: 7207 - components: - - type: Transform - pos: 60.5,-62.5 - parent: 2 - uid: 17360 components: - type: Transform @@ -84507,20 +87882,40 @@ entities: - type: Transform pos: -16.5,-46.5 parent: 2 + - uid: 7611 + components: + - type: Transform + pos: 75.5,-41.5 + parent: 2 + - uid: 7708 + components: + - type: Transform + pos: 75.5,-36.5 + parent: 2 - uid: 7770 components: - type: Transform pos: 6.5,-74.5 parent: 2 + - uid: 7799 + components: + - type: Transform + pos: 76.5,-31.5 + parent: 2 + - uid: 10787 + components: + - type: Transform + pos: 48.5,-34.5 + parent: 2 - uid: 12407 components: - type: Transform pos: 6.5,-75.5 parent: 2 - - uid: 17240 + - uid: 15595 components: - type: Transform - pos: 75.5,-59.5 + pos: 70.5,-62.5 parent: 2 - uid: 17243 components: @@ -84547,21 +87942,6 @@ entities: - type: Transform pos: 54.5,-77.5 parent: 2 - - uid: 19580 - components: - - type: Transform - pos: 50.5,-33.5 - parent: 2 - - uid: 19581 - components: - - type: Transform - pos: 76.5,-30.5 - parent: 2 - - uid: 19582 - components: - - type: Transform - pos: 75.5,-38.5 - parent: 2 - proto: MaintenanceToolSpawner entities: - uid: 7684 @@ -84574,6 +87954,11 @@ entities: - type: Transform pos: 30.5,-78.5 parent: 2 + - uid: 15427 + components: + - type: Transform + pos: 47.5,-44.5 + parent: 2 - uid: 17000 components: - type: Transform @@ -84581,16 +87966,16 @@ entities: parent: 2 - proto: MaintenanceWeaponSpawner entities: + - uid: 7421 + components: + - type: Transform + pos: 74.5,-54.5 + parent: 2 - uid: 7683 components: - type: Transform pos: 78.5,-19.5 parent: 2 - - uid: 17239 - components: - - type: Transform - pos: 75.5,-56.5 - parent: 2 - proto: Matchbox entities: - uid: 5667 @@ -84613,17 +87998,22 @@ entities: - uid: 10675 components: - type: Transform - pos: 79.32236,-26.715631 + pos: 79.30142,-25.841785 + parent: 2 + - uid: 10843 + components: + - type: Transform + pos: 96.498116,-44.486084 parent: 2 - uid: 17247 components: - type: Transform - pos: 79.59391,-27.06205 + pos: 79.27017,-26.060688 parent: 2 - uid: 17248 components: - type: Transform - pos: 79.70907,-27.17235 + pos: 79.44725,-26.27959 parent: 2 - uid: 17249 components: @@ -84635,11 +88025,6 @@ entities: - type: Transform pos: 12.563929,-2.5076818 parent: 2 - - uid: 17251 - components: - - type: Transform - pos: 94.519135,-44.463116 - parent: 2 - uid: 17253 components: - type: Transform @@ -84658,7 +88043,7 @@ entities: - uid: 17256 components: - type: Transform - pos: 31.284103,-12.202638 + pos: 32.248436,-11.570349 parent: 2 - uid: 17257 components: @@ -84707,30 +88092,27 @@ entities: parent: 2 - proto: MaterialWebSilk1 entities: - - uid: 7220 + - uid: 3521 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 69.36436,-48.69991 + pos: 69.672005,-53.69275 parent: 2 - - uid: 7279 + - uid: 4612 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 69.66123,-48.590458 + pos: 69.453255,-53.61978 parent: 2 - - uid: 8151 + - uid: 7103 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 69.39561,-48.51228 + pos: 69.40117,-53.80741 parent: 2 - proto: MaterialWoodPlank entities: - uid: 8095 components: - type: Transform - pos: 69.52955,-67.498146 + pos: 59.643414,-62.438656 parent: 2 - uid: 19587 components: @@ -84742,14 +88124,14 @@ entities: - uid: 7336 components: - type: Transform - pos: 80.49108,-26.808891 + pos: 79.666,-26.185774 parent: 2 - proto: MaterialWoodPlank10 entities: - uid: 7461 components: - type: Transform - pos: 6.5,-76.5 + pos: 5.5223966,-74.49242 parent: 2 - proto: MedicalBed entities: @@ -84783,26 +88165,31 @@ entities: - type: Transform pos: -37.5,-16.5 parent: 2 - - uid: 7789 + - uid: 7765 components: - type: Transform - pos: 31.5,-11.5 + pos: 50.5,-32.5 + parent: 2 + - uid: 7766 + components: + - type: Transform + pos: 50.5,-33.5 parent: 2 - uid: 8733 components: - type: Transform pos: -40.5,-14.5 parent: 2 + - uid: 9356 + components: + - type: Transform + pos: 32.5,-11.5 + parent: 2 - uid: 11852 components: - type: Transform pos: 15.5,-69.5 parent: 2 - - uid: 14254 - components: - - type: Transform - pos: 60.5,-31.5 - parent: 2 - uid: 14366 components: - type: Transform @@ -84843,6 +88230,11 @@ entities: - type: Transform pos: 15.762657,-15.390333 parent: 2 + - uid: 5440 + components: + - type: Transform + pos: 50.41688,-31.271675 + parent: 2 - uid: 5579 components: - type: Transform @@ -84853,15 +88245,20 @@ entities: - type: Transform pos: -38.568382,-16.260506 parent: 2 + - uid: 6279 + components: + - type: Transform + pos: 74.49798,-53.45904 + parent: 2 - uid: 6953 components: - type: Transform pos: 31.486631,-101.4452 parent: 2 - - uid: 8071 + - uid: 7228 components: - type: Transform - pos: 57.47399,-32.30945 + pos: 50.651257,-31.365425 parent: 2 - uid: 8206 components: @@ -84873,16 +88270,6 @@ entities: - type: Transform pos: 77.57588,-20.876202 parent: 2 - - uid: 14240 - components: - - type: Transform - pos: 57.56774,-32.434536 - parent: 2 - - uid: 15893 - components: - - type: Transform - pos: 75.5,-55.5 - parent: 2 - uid: 16095 components: - type: Transform @@ -84926,30 +88313,20 @@ entities: parent: 2 - proto: MicroManipulatorStockPart entities: - - uid: 7318 + - uid: 12746 components: - type: Transform - pos: 33.34339,-15.931184 + pos: -42.292168,-79.426285 parent: 2 - uid: 17358 components: - type: Transform pos: -32.45135,-29.305899 parent: 2 - - uid: 17879 + - uid: 19739 components: - type: Transform - pos: 33.547714,-15.508676 - parent: 2 - - uid: 19511 - components: - - type: Transform - pos: 33.46839,-15.649739 - parent: 2 - - uid: 19512 - components: - - type: Transform - pos: 33.37464,-15.790462 + pos: 40.69203,-32.54189 parent: 2 - proto: MicrophoneInstrument entities: @@ -84963,6 +88340,13 @@ entities: - type: Transform pos: 27.508257,-39.500587 parent: 2 +- proto: MicrowaveMachineCircuitboard + entities: + - uid: 19422 + components: + - type: Transform + pos: 41.349373,-34.246284 + parent: 2 - proto: Mirror entities: - uid: 6157 @@ -85015,55 +88399,15 @@ entities: parent: 2 - proto: Morgue entities: - - uid: 5280 + - uid: 1711 components: - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-29.5 + pos: 30.5,-26.5 parent: 2 - - uid: 5281 + - uid: 3089 components: - type: Transform - rot: 3.141592653589793 rad - pos: 31.5,-29.5 - parent: 2 - - uid: 5282 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 32.5,-29.5 - parent: 2 - - uid: 5283 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 33.5,-29.5 - parent: 2 - - uid: 5284 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 34.5,-29.5 - parent: 2 - - uid: 5285 - components: - - type: Transform - pos: 30.5,-25.5 - parent: 2 - - uid: 5286 - components: - - type: Transform - pos: 31.5,-25.5 - parent: 2 - - uid: 5287 - components: - - type: Transform - pos: 32.5,-25.5 - parent: 2 - - uid: 5288 - components: - - type: Transform - pos: 33.5,-25.5 + pos: 31.5,-26.5 parent: 2 - uid: 5676 components: @@ -85071,18 +88415,57 @@ entities: rot: -1.5707963267948966 rad pos: -19.5,-46.5 parent: 2 + - uid: 6127 + components: + - type: Transform + pos: 33.5,-26.5 + parent: 2 + - uid: 7623 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 30.5,-30.5 + parent: 2 + - uid: 8134 + components: + - type: Transform + pos: 32.5,-26.5 + parent: 2 + - uid: 8426 + components: + - type: Transform + pos: 52.5,-31.5 + parent: 2 + - uid: 11908 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 31.5,-30.5 + parent: 2 + - uid: 11915 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 33.5,-30.5 + parent: 2 + - uid: 11919 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 32.5,-30.5 + parent: 2 + - uid: 11936 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 34.5,-30.5 + parent: 2 - uid: 17637 components: - type: Transform rot: 3.141592653589793 rad pos: -3.5,-28.5 parent: 2 - - uid: 19422 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-31.5 - parent: 2 - proto: MothroachCube entities: - uid: 17238 @@ -85116,13 +88499,18 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: 57.50261,-42.147453 + pos: 54.52982,-39.13904 parent: 2 - uid: 10555 components: - type: Transform pos: -11.327834,-21.173048 parent: 2 + - uid: 15483 + components: + - type: Transform + pos: 65.5059,-68.27459 + parent: 2 - uid: 17299 components: - type: Transform @@ -85138,6 +88526,12 @@ entities: - type: Transform pos: -53.37472,-43.263702 parent: 2 + - uid: 18575 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -37.663143,-76.5443 + parent: 2 - proto: MysteryFigureBox entities: - uid: 2242 @@ -85174,16 +88568,16 @@ entities: - type: Transform pos: 31.5,-33.5 parent: 2 - - uid: 3392 - components: - - type: Transform - pos: 69.5,-55.5 - parent: 2 - uid: 5005 components: - type: Transform pos: -2.5,-44.5 parent: 2 + - uid: 6907 + components: + - type: Transform + pos: 55.5,-101.5 + parent: 2 - uid: 7821 components: - type: Transform @@ -85199,25 +88593,20 @@ entities: - type: Transform pos: 50.5,-77.5 parent: 2 - - uid: 9177 + - uid: 10816 components: - type: Transform - pos: 49.5,-100.5 + pos: 61.5,-54.5 parent: 2 - - uid: 16290 + - uid: 11132 components: - type: Transform - pos: 52.5,-40.5 + pos: -43.5,-79.5 parent: 2 - - uid: 16606 + - uid: 16048 components: - type: Transform - pos: 70.5,-24.5 - parent: 2 - - uid: 17370 - components: - - type: Transform - pos: -39.5,-80.5 + pos: 68.5,-23.5 parent: 2 - uid: 19351 components: @@ -85267,6 +88656,11 @@ entities: - type: Transform pos: -16.357931,-27.28502 parent: 2 + - uid: 12745 + components: + - type: Transform + pos: -45.562008,-76.444115 + parent: 2 - uid: 19288 components: - type: Transform @@ -85289,7 +88683,7 @@ entities: - uid: 18623 components: - type: Transform - pos: 78.38787,-47.2619 + pos: 79.365814,-47.469414 parent: 2 - proto: NuclearBomb entities: @@ -85303,7 +88697,7 @@ entities: - uid: 18619 components: - type: Transform - pos: 77.60105,-43.356163 + pos: 79.641716,-43.3176 parent: 2 - proto: OperatingTable entities: @@ -85350,11 +88744,6 @@ entities: - type: Transform pos: 15.5,-82.5 parent: 2 - - uid: 2656 - components: - - type: Transform - pos: -38.5,-80.5 - parent: 2 - uid: 6909 components: - type: Transform @@ -85375,10 +88764,15 @@ entities: - type: Transform pos: 51.5,-77.5 parent: 2 - - uid: 15412 + - uid: 10814 components: - type: Transform - pos: 68.5,-55.5 + pos: 60.5,-54.5 + parent: 2 + - uid: 15413 + components: + - type: Transform + pos: 42.5,-29.5 parent: 2 - uid: 15432 components: @@ -85390,16 +88784,16 @@ entities: - type: Transform pos: -6.5,-77.5 parent: 2 - - uid: 16289 - components: - - type: Transform - pos: 40.5,-38.5 - parent: 2 - uid: 16313 components: - type: Transform pos: -7.5,-58.5 parent: 2 + - uid: 16596 + components: + - type: Transform + pos: -42.5,-76.5 + parent: 2 - uid: 18567 components: - type: Transform @@ -85415,10 +88809,10 @@ entities: - type: Transform pos: 6.5,-17.5 parent: 2 - - uid: 19404 + - uid: 19405 components: - type: Transform - pos: 55.5,-95.5 + pos: 56.5,-95.5 parent: 2 - uid: 19500 components: @@ -85439,10 +88833,10 @@ entities: parent: 2 - proto: PaintingRedBlueYellow entities: - - uid: 8126 + - uid: 5015 components: - type: Transform - pos: 72.5,-47.5 + pos: 72.5,-52.5 parent: 2 - proto: PaintingSadClown entities: @@ -85471,19 +88865,34 @@ entities: - uid: 18620 components: - type: Transform - pos: 78.47605,-43.408283 + pos: 80.3608,-43.296753 parent: 2 - proto: Paper entities: + - uid: 3480 + components: + - type: Transform + pos: 66.67697,-53.468136 + parent: 2 + - uid: 3570 + components: + - type: Transform + pos: 66.36447,-53.290928 + parent: 2 + - uid: 4165 + components: + - type: Transform + pos: 66.5103,-53.37432 + parent: 2 - uid: 4186 components: - type: Transform - pos: 54.276867,-56.4639 + pos: 53.37837,-55.269226 parent: 2 - uid: 5395 components: - type: Transform - pos: 54.524124,-56.401188 + pos: 53.576283,-55.185833 parent: 2 - uid: 7024 components: @@ -85500,40 +88909,25 @@ entities: - type: Transform pos: 38.496128,-42.334797 parent: 2 - - uid: 7219 + - uid: 10266 components: - type: Transform - pos: 67.52061,-48.449734 + pos: 70.50045,-46.358585 parent: 2 - - uid: 14317 + - uid: 10267 components: - type: Transform - pos: 67.72373,-48.32465 - parent: 2 - - uid: 14321 - components: - - type: Transform - pos: 67.37998,-48.309013 + pos: 70.62545,-46.452335 parent: 2 - uid: 15341 components: - type: Transform - pos: 72.60022,-42.46705 - parent: 2 - - uid: 15387 - components: - - type: Transform - pos: 69.470856,-50.452137 - parent: 2 - - uid: 15388 - components: - - type: Transform - pos: 69.595856,-50.56159 + pos: 51.434155,-37.362362 parent: 2 - uid: 15436 components: - type: Transform - pos: 72.397095,-42.32633 + pos: 51.29201,-37.47728 parent: 2 - uid: 17835 components: @@ -85601,23 +88995,22 @@ entities: - type: Transform pos: 0.5,-66.5 parent: 2 + - uid: 4560 + components: + - type: Transform + pos: 64.5,-46.5 + parent: 2 + - uid: 5600 + components: + - type: Transform + pos: 56.5,-56.5 + parent: 2 - uid: 6213 components: - type: Transform rot: -1.5707963267948966 rad pos: 12.5,-57.5 parent: 2 - - uid: 9359 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-32.5 - parent: 2 - - uid: 9372 - components: - - type: Transform - pos: 54.5,-54.5 - parent: 2 - uid: 15424 components: - type: Transform @@ -85689,16 +89082,12 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage - - uid: 7334 - components: - - type: Transform - pos: 80.35046,-29.185543 - parent: 2 - proto: ParticleAcceleratorControlBoxUnfinished entities: - - uid: 18385 + - uid: 18576 components: - type: Transform + rot: 1.5707963267948966 rad pos: -24.5,-68.5 parent: 2 - proto: ParticleAcceleratorEmitterForeUnfinished @@ -85748,7 +89137,7 @@ entities: - uid: 911 components: - type: Transform - pos: 28.36074,-13.112216 + pos: 29.211311,-13.129602 parent: 2 - uid: 2734 components: @@ -85763,7 +89152,7 @@ entities: - uid: 18994 components: - type: Transform - pos: -9.543121,3.801337 + pos: -9.507688,-8.41618 parent: 2 - proto: PartRodMetal1 entities: @@ -85779,6 +89168,11 @@ entities: - type: Transform pos: 0.61355364,-66.82697 parent: 2 + - uid: 3150 + components: + - type: Transform + pos: 67.8974,-62.453743 + parent: 2 - uid: 3577 components: - type: Transform @@ -85787,7 +89181,7 @@ entities: - uid: 5390 components: - type: Transform - pos: 53.839367,-56.307545 + pos: 53.427128,-55.564804 parent: 2 - uid: 6069 components: @@ -85904,11 +89298,23 @@ entities: parent: 2 - proto: PlasmaReinforcedWindowDirectional entities: - - uid: 3583 + - uid: 1616 components: - type: Transform rot: 3.141592653589793 rad - pos: 61.5,-55.5 + pos: 61.5,-21.5 + parent: 2 + - uid: 3731 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-47.5 + parent: 2 + - uid: 3780 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-47.5 parent: 2 - uid: 4724 components: @@ -85946,35 +89352,34 @@ entities: rot: -1.5707963267948966 rad pos: -61.5,-63.5 parent: 2 + - uid: 8805 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 80.5,-47.5 + parent: 2 + - uid: 8817 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 80.5,-43.5 + parent: 2 - uid: 9585 components: - type: Transform rot: 3.141592653589793 rad pos: 6.5,-77.5 parent: 2 - - uid: 10826 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 78.5,-47.5 - parent: 2 - - uid: 10833 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 78.5,-43.5 - parent: 2 - - uid: 11949 + - uid: 11612 components: - type: Transform rot: 3.141592653589793 rad - pos: 58.5,-55.5 + pos: 89.5,-46.5 parent: 2 - - uid: 15234 + - uid: 11755 components: - type: Transform - rot: 3.141592653589793 rad - pos: 87.5,-46.5 + pos: 89.5,-44.5 parent: 2 - uid: 16336 components: @@ -85999,11 +89404,6 @@ entities: - type: Transform pos: 58.5,-20.5 parent: 2 - - uid: 19317 - components: - - type: Transform - pos: 87.5,-44.5 - parent: 2 - proto: PlasmaTank entities: - uid: 7689 @@ -86078,17 +89478,18 @@ entities: parent: 2 - proto: PlasmaWindoorSecureCommandLocked entities: + - uid: 529 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 81.5,-44.5 + parent: 2 - uid: 2378 components: - type: Transform rot: -1.5707963267948966 rad pos: -37.5,-45.5 parent: 2 - - uid: 2480 - components: - - type: Transform - pos: 76.5,-46.5 - parent: 2 - uid: 2896 components: - type: Transform @@ -86105,28 +89506,33 @@ entities: - type: Transform pos: -45.5,-37.5 parent: 2 - - uid: 7657 + - uid: 7139 components: - type: Transform - pos: 77.5,-46.5 + rot: 3.141592653589793 rad + pos: 80.5,-44.5 + parent: 2 + - uid: 7540 + components: + - type: Transform + pos: 80.5,-46.5 + parent: 2 + - uid: 7564 + components: + - type: Transform + pos: 81.5,-46.5 + parent: 2 + - uid: 7606 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 92.5,-45.5 parent: 2 - uid: 10491 components: - type: Transform pos: 78.5,-46.5 parent: 2 - - uid: 10834 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 77.5,-44.5 - parent: 2 - - uid: 14303 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 76.5,-44.5 - parent: 2 - uid: 15816 components: - type: Transform @@ -86144,12 +89550,6 @@ entities: - type: Transform pos: 79.5,-46.5 parent: 2 - - uid: 18554 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 90.5,-45.5 - parent: 2 - proto: PlasmaWindoorSecureEngineeringLocked entities: - uid: 356 @@ -86158,17 +89558,23 @@ entities: rot: 3.141592653589793 rad pos: -31.5,-74.5 parent: 2 - - uid: 8166 + - uid: 10831 components: - type: Transform rot: 1.5707963267948966 rad - pos: 92.5,-45.5 + pos: 94.5,-45.5 parent: 2 - - uid: 15288 + - uid: 10833 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 96.5,-45.5 + parent: 2 + - uid: 11467 components: - type: Transform rot: 1.5707963267948966 rad - pos: 86.5,-45.5 + pos: 88.5,-45.5 parent: 2 - uid: 17096 components: @@ -86176,12 +89582,6 @@ entities: rot: 3.141592653589793 rad pos: -32.5,-74.5 parent: 2 - - uid: 17346 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 94.5,-45.5 - parent: 2 - proto: PlasmaWindoorSecureScienceLocked entities: - uid: 5117 @@ -86208,11 +89608,17 @@ entities: parent: 2 - proto: PlasmaWindoorSecureSecurityLocked entities: - - uid: 3327 + - uid: 2724 components: - type: Transform rot: 3.141592653589793 rad - pos: 60.5,-55.5 + pos: 60.5,-47.5 + parent: 2 + - uid: 3065 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-47.5 parent: 2 - uid: 6143 components: @@ -86220,46 +89626,18 @@ entities: rot: 1.5707963267948966 rad pos: 6.5,-49.5 parent: 2 - - uid: 11950 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-55.5 - parent: 2 - uid: 18316 components: - type: Transform rot: -1.5707963267948966 rad pos: 62.5,-20.5 parent: 2 -- proto: PlasmaWindow - entities: - - uid: 4020 - components: - - type: Transform - pos: 27.5,-17.5 - parent: 2 - proto: PlasticFlapsAirtightClear entities: - - uid: 5308 + - uid: 3692 components: - type: Transform - pos: 42.5,-26.5 - parent: 2 - - uid: 5367 - components: - - type: Transform - pos: 45.5,-25.5 - parent: 2 - - uid: 5371 - components: - - type: Transform - pos: 50.5,-44.5 - parent: 2 - - uid: 5372 - components: - - type: Transform - pos: 53.5,-44.5 + pos: 45.5,-31.5 parent: 2 - uid: 6650 components: @@ -86291,36 +89669,44 @@ entities: - type: Transform pos: 32.5,-85.5 parent: 2 - - uid: 16451 + - uid: 10705 components: - type: Transform - pos: 59.5,-74.5 + pos: 72.5,-72.5 parent: 2 - - uid: 16452 + - uid: 10706 components: - type: Transform - pos: 59.5,-77.5 + pos: 72.5,-69.5 + parent: 2 + - uid: 12791 + components: + - type: Transform + pos: 45.5,-34.5 + parent: 2 + - uid: 13900 + components: + - type: Transform + pos: 44.5,-26.5 + parent: 2 + - uid: 14863 + components: + - type: Transform + pos: 41.5,-27.5 parent: 2 - proto: PlasticFlapsAirtightOpaque entities: - - uid: 5353 + - uid: 3716 components: - type: Transform - pos: 36.5,-26.5 + pos: 36.5,-28.5 parent: 2 - proto: PlayerStationAi entities: - - uid: 16346 + - uid: 10852 components: - type: Transform - pos: 89.5,-45.5 - parent: 2 -- proto: PlushieArachind - entities: - - uid: 19381 - components: - - type: Transform - pos: 68.46672,-46.45258 + pos: 91.5,-45.5 parent: 2 - proto: PlushieAtmosian entities: @@ -86347,6 +89733,13 @@ entities: - type: Transform pos: 83.57618,-18.55573 parent: 2 +- proto: PlushieHampter + entities: + - uid: 16194 + components: + - type: Transform + pos: 5.520261,-62.526257 + parent: 2 - proto: PlushieHuman entities: - uid: 17580 @@ -86354,12 +89747,12 @@ entities: - type: Transform pos: 10.276115,-44.41428 parent: 2 -- proto: PlushieLizard +- proto: PlushieLizardInversed entities: - - uid: 17523 + - uid: 6922 components: - type: Transform - pos: 83.557396,-72.530266 + pos: 83.443275,-72.485634 parent: 2 - proto: PlushieLizardMirrored entities: @@ -86392,7 +89785,7 @@ entities: - uid: 15420 components: - type: Transform - pos: 42.419292,-16.548712 + pos: 43.497017,-16.53401 parent: 2 - proto: PlushieRouny entities: @@ -86430,6 +89823,15 @@ entities: - type: Transform pos: -51.020004,-60.457893 parent: 2 +- proto: PlushieSlime + entities: + - uid: 5788 + components: + - type: Transform + parent: 2004 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: PlushieVox entities: - uid: 19377 @@ -86451,23 +89853,23 @@ entities: parent: 2 - proto: PortableFlasher entities: - - uid: 3006 + - uid: 2164 components: - type: Transform - pos: 58.5,-55.5 + pos: 58.5,-47.5 parent: 2 - - uid: 18789 + - uid: 7585 components: - type: Transform - pos: 62.5,-35.5 + pos: 57.5,-31.5 + parent: 2 + - uid: 9196 + components: + - type: Transform + pos: 63.5,-36.5 parent: 2 - proto: PortableGeneratorJrPacman entities: - - uid: 4378 - components: - - type: Transform - pos: 72.5,-55.5 - parent: 2 - uid: 8372 components: - type: Transform @@ -86478,6 +89880,16 @@ entities: - type: Transform pos: -8.5,-6.5 parent: 2 + - uid: 15437 + components: + - type: Transform + pos: 78.5,-41.5 + parent: 2 + - uid: 15529 + components: + - type: Transform + pos: 37.5,-91.5 + parent: 2 - uid: 15779 components: - type: Transform @@ -86530,6 +89942,11 @@ entities: - type: Transform pos: -11.5,-66.5 parent: 2 + - uid: 17727 + components: + - type: Transform + pos: -5.5,-75.5 + parent: 2 - proto: PortableGeneratorSuperPacman entities: - uid: 5729 @@ -86537,11 +89954,6 @@ entities: - type: Transform pos: -11.5,-65.5 parent: 2 - - uid: 16979 - components: - - type: Transform - pos: 37.5,-91.5 - parent: 2 - proto: PortableScrubber entities: - uid: 7976 @@ -86753,6 +90165,12 @@ entities: parent: 2 - proto: PosterContrabandExoChomp entities: + - uid: 10734 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-41.5 + parent: 2 - uid: 18764 components: - type: Transform @@ -86764,18 +90182,6 @@ entities: rot: 1.5707963267948966 rad pos: 6.5,-26.5 parent: 2 - - uid: 19151 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 73.5,-43.5 - parent: 2 - - uid: 19191 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 61.5,-33.5 - parent: 2 - uid: 19202 components: - type: Transform @@ -86784,11 +90190,10 @@ entities: parent: 2 - proto: PosterContrabandExoRun entities: - - uid: 19152 + - uid: 7810 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 75.5,-43.5 + pos: 74.5,-42.5 parent: 2 - uid: 19154 components: @@ -86808,11 +90213,12 @@ entities: rot: 1.5707963267948966 rad pos: 16.5,-21.5 parent: 2 - - uid: 19192 +- proto: PosterContrabandHackingGuide + entities: + - uid: 19421 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 70.5,-36.5 + pos: 39.5,-32.5 parent: 2 - proto: PosterContrabandLamarr entities: @@ -86828,17 +90234,16 @@ entities: - type: Transform pos: -23.5,-20.5 parent: 2 + - uid: 3137 + components: + - type: Transform + pos: 76.5,-38.5 + parent: 2 - uid: 4387 components: - type: Transform pos: -21.5,-17.5 parent: 2 - - uid: 7326 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 81.5,-27.5 - parent: 2 - proto: PosterContrabandRouny entities: - uid: 2672 @@ -86846,10 +90251,10 @@ entities: - type: Transform pos: -23.5,-21.5 parent: 2 - - uid: 19218 + - uid: 7949 components: - type: Transform - pos: 73.5,-37.5 + pos: 80.5,-25.5 parent: 2 - uid: 19219 components: @@ -86885,11 +90290,6 @@ entities: parent: 2 - proto: PosterLegitBuild entities: - - uid: 3712 - components: - - type: Transform - pos: 50.5,-31.5 - parent: 2 - uid: 17216 components: - type: Transform @@ -86908,10 +90308,10 @@ entities: parent: 2 - proto: PosterLegitDickGumshue entities: - - uid: 7263 + - uid: 16263 components: - type: Transform - pos: 71.5,-49.5 + pos: 71.5,-45.5 parent: 2 - proto: PosterLegitDoNotQuestion entities: @@ -86936,15 +90336,15 @@ entities: parent: 2 - proto: PosterLegitFoamForceAd entities: - - uid: 14308 + - uid: 8428 components: - type: Transform - pos: 64.5,-68.5 + pos: 70.5,-60.5 parent: 2 - - uid: 14956 + - uid: 8515 components: - type: Transform - pos: 64.5,-71.5 + pos: 68.5,-59.5 parent: 2 - proto: PosterLegitHelpOthers entities: @@ -86956,6 +90356,11 @@ entities: parent: 2 - proto: PosterLegitHereForYourSafety entities: + - uid: 16268 + components: + - type: Transform + pos: 70.5,-37.5 + parent: 2 - uid: 18196 components: - type: Transform @@ -87004,6 +90409,11 @@ entities: - type: Transform pos: -1.5,-1.5 parent: 2 + - uid: 16287 + components: + - type: Transform + pos: 63.5,-37.5 + parent: 2 - uid: 16293 components: - type: Transform @@ -87037,13 +90447,6 @@ entities: - type: Transform pos: 26.5,-9.5 parent: 2 -- proto: PosterLegitNoERP - entities: - - uid: 7338 - components: - - type: Transform - pos: 81.5,-28.5 - parent: 2 - proto: PosterLegitObey entities: - uid: 7159 @@ -87071,10 +90474,10 @@ entities: - type: Transform pos: 31.5,-47.5 parent: 2 - - uid: 15145 + - uid: 16269 components: - type: Transform - pos: 65.5,-48.5 + pos: 63.5,-45.5 parent: 2 - proto: PosterLegitSafetyEyeProtection entities: @@ -87107,6 +90510,11 @@ entities: parent: 2 - proto: PosterLegitSafetyMothEpi entities: + - uid: 16285 + components: + - type: Transform + pos: 49.5,-34.5 + parent: 2 - uid: 17233 components: - type: Transform @@ -87129,6 +90537,12 @@ entities: parent: 2 - proto: PosterLegitSafetyMothMeth entities: + - uid: 6970 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-67.5 + parent: 2 - uid: 17235 components: - type: Transform @@ -87150,6 +90564,11 @@ entities: - type: Transform pos: 48.5,-12.5 parent: 2 + - uid: 16284 + components: + - type: Transform + pos: 57.5,-30.5 + parent: 2 - proto: PosterLegitSecWatch entities: - uid: 7068 @@ -87157,6 +90576,18 @@ entities: - type: Transform pos: 26.5,-39.5 parent: 2 + - uid: 16271 + components: + - type: Transform + pos: 54.5,-40.5 + parent: 2 +- proto: PosterLegitSpaceCops + entities: + - uid: 16272 + components: + - type: Transform + pos: 68.5,-42.5 + parent: 2 - proto: PosterLegitStateLaws entities: - uid: 17222 @@ -87180,8 +90611,19 @@ entities: - type: Transform pos: 62.5,-15.5 parent: 2 + - uid: 16029 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-60.5 + parent: 2 - proto: PosterLegitWorkForAFuture entities: + - uid: 16270 + components: + - type: Transform + pos: 73.5,-40.5 + parent: 2 - uid: 17220 components: - type: Transform @@ -87190,10 +90632,10 @@ entities: parent: 2 - proto: PottedPlant0 entities: - - uid: 7795 + - uid: 7767 components: - type: Transform - pos: 31.5,-12.5 + pos: 32.5,-12.5 parent: 2 - proto: PottedPlant13 entities: @@ -87227,17 +90669,24 @@ entities: parent: 2 - proto: PottedPlant2 entities: - - uid: 3525 + - uid: 7052 components: - type: Transform pos: 52.5,-54.5 parent: 2 -- proto: PottedPlant22 +- proto: PottedPlant21 entities: - - uid: 206 + - uid: 294 components: - type: Transform - pos: 67.5,-50.5 + pos: 29.5,-20.5 + parent: 2 +- proto: PottedPlant22 + entities: + - uid: 9335 + components: + - type: Transform + pos: 68.5,-46.5 parent: 2 - uid: 17301 components: @@ -87246,6 +90695,11 @@ entities: parent: 2 - proto: PottedPlant7 entities: + - uid: 10797 + components: + - type: Transform + pos: 24.5,-21.5 + parent: 2 - uid: 17134 components: - type: Transform @@ -87258,16 +90712,21 @@ entities: parent: 2 - proto: PottedPlantBioluminscent entities: - - uid: 5794 + - uid: 8788 components: - type: Transform - pos: 22.5,-14.5 + pos: 24.5,-14.5 parent: 2 - uid: 15882 components: - type: Transform pos: -25.5,-14.5 parent: 2 + - uid: 16870 + components: + - type: Transform + pos: 26.5,-25.5 + parent: 2 - uid: 18317 components: - type: Transform @@ -87306,6 +90765,11 @@ entities: - type: Transform pos: 21.5,-30.5 parent: 2 + - uid: 348 + components: + - type: Transform + pos: 65.5,-31.5 + parent: 2 - uid: 1879 components: - type: Transform @@ -87355,17 +90819,17 @@ entities: rot: 3.141592653589793 rad pos: 29.5,-90.5 parent: 2 - - uid: 19595 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-40.5 - parent: 2 - uid: 19672 components: - type: Transform pos: -53.5,-42.5 parent: 2 + - uid: 20010 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-68.5 + parent: 2 - proto: PowerComputerCircuitboard entities: - uid: 18307 @@ -87381,18 +90845,41 @@ entities: rot: 3.141592653589793 rad pos: -5.5,-40.5 parent: 2 + - uid: 287 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 94.5,-46.5 + parent: 2 - uid: 468 components: - type: Transform rot: 1.5707963267948966 rad pos: -40.5,-15.5 parent: 2 + - uid: 806 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 29.5,-30.5 + parent: 2 - uid: 850 components: - type: Transform rot: 3.141592653589793 rad pos: 12.5,-32.5 parent: 2 + - uid: 916 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 29.5,-12.5 + parent: 2 + - uid: 1113 + components: + - type: Transform + pos: 41.5,-23.5 + parent: 2 - uid: 1449 components: - type: Transform @@ -87440,12 +90927,6 @@ entities: rot: 1.5707963267948966 rad pos: 4.5,-48.5 parent: 2 - - uid: 2920 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-39.5 - parent: 2 - uid: 2968 components: - type: Transform @@ -87458,12 +90939,6 @@ entities: rot: -1.5707963267948966 rad pos: -2.5,-40.5 parent: 2 - - uid: 3023 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 71.5,-53.5 - parent: 2 - uid: 3064 components: - type: Transform @@ -87475,17 +90950,6 @@ entities: rot: -1.5707963267948966 rad pos: 25.5,-30.5 parent: 2 - - uid: 3210 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-26.5 - parent: 2 - - uid: 3280 - components: - - type: Transform - pos: 34.5,-25.5 - parent: 2 - uid: 3348 components: - type: Transform @@ -87509,12 +90973,6 @@ entities: - type: Transform pos: 63.5,-16.5 parent: 2 - - uid: 4347 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-52.5 - parent: 2 - uid: 4511 components: - type: Transform @@ -87567,12 +91025,6 @@ entities: rot: 1.5707963267948966 rad pos: 35.5,-69.5 parent: 2 - - uid: 5403 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-49.5 - parent: 2 - uid: 5780 components: - type: Transform @@ -87606,41 +91058,27 @@ entities: rot: 3.141592653589793 rad pos: 5.5,-67.5 parent: 2 + - uid: 6289 + components: + - type: Transform + pos: 68.5,-32.5 + parent: 2 + - uid: 6390 + components: + - type: Transform + pos: 34.5,-26.5 + parent: 2 - uid: 6578 components: - type: Transform rot: 3.141592653589793 rad pos: 15.5,-20.5 parent: 2 - - uid: 6617 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-34.5 - parent: 2 - - uid: 6619 + - uid: 7158 components: - type: Transform rot: 3.141592653589793 rad - pos: 68.5,-43.5 - parent: 2 - - uid: 6620 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,-43.5 - parent: 2 - - uid: 7096 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-59.5 - parent: 2 - - uid: 7098 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-57.5 + pos: 68.5,-36.5 parent: 2 - uid: 7199 components: @@ -87648,11 +91086,6 @@ entities: rot: 3.141592653589793 rad pos: -14.5,-21.5 parent: 2 - - uid: 7230 - components: - - type: Transform - pos: 61.5,-48.5 - parent: 2 - uid: 7234 components: - type: Transform @@ -87671,6 +91104,17 @@ entities: rot: 3.141592653589793 rad pos: 49.5,-52.5 parent: 2 + - uid: 7568 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 27.5,-27.5 + parent: 2 + - uid: 7598 + components: + - type: Transform + pos: 79.5,-43.5 + parent: 2 - uid: 7655 components: - type: Transform @@ -87712,12 +91156,6 @@ entities: - type: Transform pos: 40.5,-52.5 parent: 2 - - uid: 7970 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 28.5,-12.5 - parent: 2 - uid: 8037 components: - type: Transform @@ -87735,56 +91173,23 @@ entities: rot: 1.5707963267948966 rad pos: 45.5,-51.5 parent: 2 - - uid: 8822 - components: - - type: Transform - pos: 77.5,-43.5 - parent: 2 - uid: 9074 components: - type: Transform pos: 11.5,-77.5 parent: 2 - - uid: 9297 - components: - - type: Transform - pos: 66.5,-54.5 - parent: 2 - - uid: 9306 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 71.5,-46.5 - parent: 2 - - uid: 9336 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-45.5 - parent: 2 - - uid: 9345 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 33.5,-21.5 - parent: 2 - - uid: 9361 - components: - - type: Transform - pos: 56.5,-48.5 - parent: 2 - - uid: 9678 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-32.5 - parent: 2 - uid: 9679 components: - type: Transform rot: 3.141592653589793 rad pos: 65.5,-29.5 parent: 2 + - uid: 9822 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 6.5,-60.5 + parent: 2 - uid: 9885 components: - type: Transform @@ -87802,11 +91207,11 @@ entities: rot: 1.5707963267948966 rad pos: -10.5,-15.5 parent: 2 - - uid: 10338 + - uid: 10411 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-39.5 + rot: 3.141592653589793 rad + pos: 79.5,-47.5 parent: 2 - uid: 10494 components: @@ -87818,23 +91223,17 @@ entities: - type: Transform pos: -6.5,-30.5 parent: 2 - - uid: 10773 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-52.5 - parent: 2 - - uid: 10802 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-52.5 - parent: 2 - - uid: 10804 + - uid: 10741 components: - type: Transform rot: 1.5707963267948966 rad - pos: 58.5,-57.5 + pos: 50.5,-34.5 + parent: 2 + - uid: 10830 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 94.5,-44.5 parent: 2 - uid: 11365 components: @@ -87852,23 +91251,6 @@ entities: - type: Transform pos: -11.5,-18.5 parent: 2 - - uid: 11687 - components: - - type: Transform - pos: 50.5,-49.5 - parent: 2 - - uid: 11697 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-34.5 - parent: 2 - - uid: 11699 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-28.5 - parent: 2 - uid: 11707 components: - type: Transform @@ -87945,29 +91327,12 @@ entities: rot: 3.141592653589793 rad pos: 38.5,-71.5 parent: 2 - - uid: 13797 - components: - - type: Transform - pos: 67.5,-50.5 - parent: 2 - uid: 13847 components: - type: Transform rot: 3.141592653589793 rad pos: 62.5,-29.5 parent: 2 - - uid: 13867 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-34.5 - parent: 2 - - uid: 13875 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 77.5,-47.5 - parent: 2 - uid: 13888 components: - type: Transform @@ -88353,12 +91718,6 @@ entities: rot: 1.5707963267948966 rad pos: 7.5,-56.5 parent: 2 - - uid: 14082 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 6.5,-59.5 - parent: 2 - uid: 14084 components: - type: Transform @@ -88879,24 +92238,6 @@ entities: rot: -1.5707963267948966 rad pos: -2.5,-52.5 parent: 2 - - uid: 14275 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-21.5 - parent: 2 - - uid: 14276 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,-18.5 - parent: 2 - - uid: 14281 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 25.5,-17.5 - parent: 2 - uid: 14284 components: - type: Transform @@ -88921,12 +92262,6 @@ entities: rot: 3.141592653589793 rad pos: 44.5,-72.5 parent: 2 - - uid: 14320 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-39.5 - parent: 2 - uid: 14324 components: - type: Transform @@ -88972,29 +92307,6 @@ entities: - type: Transform pos: 54.5,-13.5 parent: 2 - - uid: 14350 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 92.5,-46.5 - parent: 2 - - uid: 14351 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 92.5,-44.5 - parent: 2 - - uid: 14352 - components: - - type: Transform - pos: 86.5,-43.5 - parent: 2 - - uid: 14353 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 86.5,-47.5 - parent: 2 - uid: 14412 components: - type: Transform @@ -89043,22 +92355,231 @@ entities: rot: -1.5707963267948966 rad pos: -16.5,-15.5 parent: 2 - - uid: 14875 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 20.5,-23.5 - parent: 2 - uid: 14946 components: - type: Transform pos: 14.5,-11.5 parent: 2 + - uid: 15146 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 50.5,-31.5 + parent: 2 + - uid: 15148 + components: + - type: Transform + pos: 57.5,-31.5 + parent: 2 + - uid: 15158 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-38.5 + parent: 2 + - uid: 15200 + components: + - type: Transform + pos: 56.5,-36.5 + parent: 2 + - uid: 15201 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-39.5 + parent: 2 + - uid: 15202 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 55.5,-28.5 + parent: 2 + - uid: 15203 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-29.5 + parent: 2 + - uid: 15204 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-28.5 + parent: 2 + - uid: 15205 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-39.5 + parent: 2 + - uid: 15206 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-41.5 + parent: 2 + - uid: 15207 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 72.5,-42.5 + parent: 2 + - uid: 15208 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-52.5 + parent: 2 + - uid: 15209 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-51.5 + parent: 2 + - uid: 15210 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 67.5,-53.5 + parent: 2 + - uid: 15211 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-47.5 + parent: 2 + - uid: 15212 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-44.5 + parent: 2 + - uid: 15213 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-44.5 + parent: 2 + - uid: 15215 + components: + - type: Transform + pos: 52.5,-43.5 + parent: 2 + - uid: 15216 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 52.5,-47.5 + parent: 2 + - uid: 15217 + components: + - type: Transform + pos: 49.5,-50.5 + parent: 2 + - uid: 15218 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 50.5,-46.5 + parent: 2 + - uid: 15219 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-41.5 + parent: 2 + - uid: 15225 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-41.5 + parent: 2 + - uid: 15226 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-35.5 + parent: 2 + - uid: 15227 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-32.5 + parent: 2 + - uid: 15233 + components: + - type: Transform + pos: 60.5,-31.5 + parent: 2 + - uid: 15234 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 53.5,-34.5 + parent: 2 + - uid: 15236 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-34.5 + parent: 2 + - uid: 15237 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 67.5,-44.5 + parent: 2 + - uid: 15238 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-38.5 + parent: 2 + - uid: 15247 + components: + - type: Transform + pos: 88.5,-43.5 + parent: 2 + - uid: 15248 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 88.5,-47.5 + parent: 2 + - uid: 15251 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-49.5 + parent: 2 + - uid: 15252 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-49.5 + parent: 2 + - uid: 15253 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-51.5 + parent: 2 - uid: 15277 components: - type: Transform pos: 49.5,-13.5 parent: 2 + - uid: 15394 + components: + - type: Transform + pos: 54.5,-55.5 + parent: 2 + - uid: 15399 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-57.5 + parent: 2 - uid: 15411 components: - type: Transform @@ -89070,12 +92591,6 @@ entities: - type: Transform pos: 53.5,-18.5 parent: 2 - - uid: 15458 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-35.5 - parent: 2 - uid: 15877 components: - type: Transform @@ -89093,12 +92608,6 @@ entities: rot: -1.5707963267948966 rad pos: -37.5,-15.5 parent: 2 - - uid: 16291 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 21.5,-17.5 - parent: 2 - uid: 16350 components: - type: Transform @@ -89117,23 +92626,6 @@ entities: rot: 3.141592653589793 rad pos: 17.5,-100.5 parent: 2 - - uid: 16369 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 29.5,-29.5 - parent: 2 - - uid: 16374 - components: - - type: Transform - pos: 68.5,-31.5 - parent: 2 - - uid: 16529 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-39.5 - parent: 2 - uid: 16533 components: - type: Transform @@ -89178,23 +92670,6 @@ entities: - type: Transform pos: 19.5,-27.5 parent: 2 - - uid: 17094 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,-29.5 - parent: 2 - - uid: 17260 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 25.5,-25.5 - parent: 2 - - uid: 17280 - components: - - type: Transform - pos: 39.5,-23.5 - parent: 2 - uid: 17290 components: - type: Transform @@ -89224,6 +92699,11 @@ entities: rot: 3.141592653589793 rad pos: 10.5,-75.5 parent: 2 + - uid: 17785 + components: + - type: Transform + pos: -12.5,-11.5 + parent: 2 - uid: 17806 components: - type: Transform @@ -89241,18 +92721,6 @@ entities: rot: 1.5707963267948966 rad pos: 23.5,-89.5 parent: 2 - - uid: 17925 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-55.5 - parent: 2 - - uid: 18066 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 23.5,-17.5 - parent: 2 - uid: 18069 components: - type: Transform @@ -89435,18 +92903,6 @@ entities: rot: -1.5707963267948966 rad pos: 48.5,-17.5 parent: 2 - - uid: 18114 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 31.5,-16.5 - parent: 2 - - uid: 18115 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 31.5,-23.5 - parent: 2 - uid: 18116 components: - type: Transform @@ -89566,12 +93022,6 @@ entities: rot: -1.5707963267948966 rad pos: -27.5,-22.5 parent: 2 - - uid: 18154 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 45.5,-23.5 - parent: 2 - uid: 18155 components: - type: Transform @@ -89584,12 +93034,6 @@ entities: rot: 1.5707963267948966 rad pos: 40.5,-18.5 parent: 2 - - uid: 18158 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-42.5 - parent: 2 - uid: 18176 components: - type: Transform @@ -89660,30 +93104,18 @@ entities: rot: 1.5707963267948966 rad pos: 23.5,-10.5 parent: 2 - - uid: 18525 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-46.5 - parent: 2 - - uid: 18629 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-26.5 - parent: 2 - - uid: 18630 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-32.5 - parent: 2 - uid: 18784 components: - type: Transform rot: 1.5707963267948966 rad pos: -35.5,-15.5 parent: 2 + - uid: 18824 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 23.5,-19.5 + parent: 2 - uid: 19020 components: - type: Transform @@ -89747,6 +93179,18 @@ entities: rot: 1.5707963267948966 rad pos: -31.5,-13.5 parent: 2 + - uid: 19472 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 30.5,-24.5 + parent: 2 + - uid: 19475 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,-24.5 + parent: 2 - uid: 19492 components: - type: Transform @@ -89758,30 +93202,115 @@ entities: rot: 3.141592653589793 rad pos: 47.5,-72.5 parent: 2 + - uid: 19511 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-24.5 + parent: 2 + - uid: 19512 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 25.5,-20.5 + parent: 2 - uid: 19538 components: - type: Transform pos: -17.5,-53.5 parent: 2 + - uid: 19542 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 27.5,-14.5 + parent: 2 + - uid: 19543 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 33.5,-20.5 + parent: 2 + - uid: 19544 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 29.5,-20.5 + parent: 2 + - uid: 19546 + components: + - type: Transform + pos: 35.5,-11.5 + parent: 2 + - uid: 19547 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 34.5,-15.5 + parent: 2 + - uid: 19548 + components: + - type: Transform + pos: 34.5,-17.5 + parent: 2 + - uid: 19549 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 35.5,-24.5 + parent: 2 + - uid: 19550 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 45.5,-24.5 + parent: 2 + - uid: 19552 + components: + - type: Transform + pos: 39.5,-23.5 + parent: 2 + - uid: 19553 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 31.5,-11.5 + parent: 2 - uid: 19576 components: - type: Transform rot: 1.5707963267948966 rad pos: -14.5,-51.5 parent: 2 + - uid: 19580 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 24.5,-14.5 + parent: 2 - uid: 19644 components: - type: Transform pos: 62.5,-20.5 parent: 2 -- proto: PoweredlightExterior - entities: - - uid: 3206 + - uid: 19729 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-9.5 + pos: 33.5,-97.5 parent: 2 + - uid: 20052 + components: + - type: Transform + pos: 84.5,-44.5 + parent: 2 + - uid: 20053 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 84.5,-46.5 + parent: 2 +- proto: PoweredlightExterior + entities: - uid: 3393 components: - type: Transform @@ -89792,6 +93321,18 @@ entities: - type: Transform pos: -30.5,-74.5 parent: 2 + - uid: 3898 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 99.5,-48.5 + parent: 2 + - uid: 9388 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 99.5,-42.5 + parent: 2 - uid: 9953 components: - type: Transform @@ -89804,18 +93345,6 @@ entities: rot: 1.5707963267948966 rad pos: -59.5,-59.5 parent: 2 - - uid: 10448 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 97.5,-48.5 - parent: 2 - - uid: 11396 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 97.5,-42.5 - parent: 2 - uid: 14064 components: - type: Transform @@ -89875,6 +93404,18 @@ entities: rot: 1.5707963267948966 rad pos: 87.5,-19.5 parent: 2 + - uid: 15249 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 85.5,-50.5 + parent: 2 + - uid: 15250 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 85.5,-40.5 + parent: 2 - uid: 15286 components: - type: Transform @@ -90026,35 +93567,35 @@ entities: parent: 2 - proto: PoweredSmallLight entities: - - uid: 887 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 58.5,-67.5 - parent: 2 - uid: 1209 components: - type: Transform rot: 1.5707963267948966 rad pos: -59.5,-25.5 parent: 2 + - uid: 1694 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 50.5,-24.5 + parent: 2 - uid: 1702 components: - type: Transform rot: 1.5707963267948966 rad pos: 27.5,-90.5 parent: 2 - - uid: 1801 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -36.5,-74.5 - parent: 2 - - uid: 1878 + - uid: 1806 components: - type: Transform rot: -1.5707963267948966 rad - pos: 57.5,-64.5 + pos: 52.5,-37.5 + parent: 2 + - uid: 2293 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,-38.5 parent: 2 - uid: 2882 components: @@ -90074,6 +93615,18 @@ entities: rot: 1.5707963267948966 rad pos: 36.5,-61.5 parent: 2 + - uid: 3495 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 45.5,-37.5 + parent: 2 + - uid: 3948 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 49.5,-36.5 + parent: 2 - uid: 4303 components: - type: Transform @@ -90097,11 +93650,16 @@ entities: rot: 1.5707963267948966 rad pos: 42.5,-61.5 parent: 2 - - uid: 4983 + - uid: 5298 components: - type: Transform - rot: 3.141592653589793 rad - pos: -41.5,-77.5 + pos: 71.5,-70.5 + parent: 2 + - uid: 5308 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-72.5 parent: 2 - uid: 6045 components: @@ -90120,12 +93678,6 @@ entities: rot: 1.5707963267948966 rad pos: 34.5,-61.5 parent: 2 - - uid: 6618 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-43.5 - parent: 2 - uid: 7146 components: - type: Transform @@ -90136,33 +93688,16 @@ entities: - type: Transform pos: -47.5,-64.5 parent: 2 - - uid: 7171 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-70.5 - parent: 2 - - uid: 7180 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-72.5 - parent: 2 - uid: 7454 components: - type: Transform pos: -41.5,-61.5 parent: 2 - - uid: 8045 + - uid: 7997 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-62.5 - parent: 2 - - uid: 8836 - components: - - type: Transform - pos: -41.5,-75.5 + rot: 1.5707963267948966 rad + pos: 42.5,-26.5 parent: 2 - uid: 9307 components: @@ -90175,57 +93710,46 @@ entities: - type: Transform pos: -42.5,-65.5 parent: 2 - - uid: 10278 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 42.5,-29.5 - parent: 2 - uid: 10283 components: - type: Transform rot: 3.141592653589793 rad pos: 35.5,-45.5 parent: 2 - - uid: 10436 + - uid: 10743 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-57.5 + parent: 2 + - uid: 10795 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 75.5,-43.5 + parent: 2 + - uid: 11130 components: - type: Transform rot: 3.141592653589793 rad - pos: 68.5,-57.5 + pos: -37.5,-80.5 + parent: 2 + - uid: 11131 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -35.5,-78.5 parent: 2 - uid: 11397 components: - type: Transform pos: -54.5,-27.5 parent: 2 - - uid: 11755 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 74.5,-43.5 - parent: 2 - - uid: 12910 - components: - - type: Transform - pos: 60.5,-65.5 - parent: 2 - - uid: 12912 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,-70.5 - parent: 2 - uid: 12915 components: - type: Transform pos: 20.5,-63.5 parent: 2 - - uid: 12992 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 41.5,-32.5 - parent: 2 - uid: 13390 components: - type: Transform @@ -90486,34 +94010,6 @@ entities: rot: 3.141592653589793 rad pos: 17.5,-50.5 parent: 2 - - uid: 14237 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 46.5,-41.5 - parent: 2 - - uid: 14279 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,-12.5 - parent: 2 - - uid: 14329 - components: - - type: Transform - pos: 71.5,-61.5 - parent: 2 - - uid: 14330 - components: - - type: Transform - pos: 70.5,-67.5 - parent: 2 - - uid: 14331 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 72.5,-65.5 - parent: 2 - uid: 14332 components: - type: Transform @@ -90538,11 +94034,6 @@ entities: rot: 1.5707963267948966 rad pos: -56.5,-22.5 parent: 2 - - uid: 14404 - components: - - type: Transform - pos: 41.5,-37.5 - parent: 2 - uid: 14418 components: - type: Transform @@ -90554,60 +94045,213 @@ entities: rot: 3.141592653589793 rad pos: -37.5,-25.5 parent: 2 - - uid: 14428 + - uid: 15214 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 79.5,-69.5 + rot: -1.5707963267948966 rad + pos: 79.5,-58.5 parent: 2 - - uid: 15160 + - uid: 15240 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 71.5,-44.5 + parent: 2 + - uid: 15245 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 76.5,-47.5 + parent: 2 + - uid: 15246 components: - type: Transform rot: 1.5707963267948966 rad - pos: 43.5,-25.5 + pos: 75.5,-45.5 + parent: 2 + - uid: 15254 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 54.5,-50.5 + parent: 2 + - uid: 15255 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-56.5 + parent: 2 + - uid: 15256 + components: + - type: Transform + pos: 58.5,-68.5 + parent: 2 + - uid: 15257 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-74.5 + parent: 2 + - uid: 15258 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-71.5 + parent: 2 + - uid: 15259 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-68.5 + parent: 2 + - uid: 15260 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-65.5 + parent: 2 + - uid: 15264 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 77.5,-66.5 parent: 2 - uid: 15271 components: - type: Transform pos: 42.5,-49.5 parent: 2 - - uid: 15400 + - uid: 15288 components: - type: Transform rot: 1.5707963267948966 rad - pos: 74.5,-49.5 + pos: 73.5,-61.5 parent: 2 - - uid: 15410 + - uid: 15331 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 67.5,-66.5 + parent: 2 + - uid: 15334 + components: + - type: Transform + pos: 66.5,-62.5 + parent: 2 + - uid: 15336 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 74.5,-68.5 + parent: 2 + - uid: 15339 + components: + - type: Transform + pos: 75.5,-60.5 + parent: 2 + - uid: 15340 components: - type: Transform rot: 1.5707963267948966 rad - pos: 65.5,-60.5 + pos: 70.5,-64.5 parent: 2 - - uid: 15429 + - uid: 15359 components: - type: Transform - pos: 74.5,-58.5 + rot: 3.141592653589793 rad + pos: 66.5,-69.5 + parent: 2 + - uid: 15373 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-66.5 + parent: 2 + - uid: 15386 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-75.5 + parent: 2 + - uid: 15387 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-76.5 + parent: 2 + - uid: 15388 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-55.5 parent: 2 - uid: 15430 components: - type: Transform pos: 77.5,-51.5 parent: 2 - - uid: 15435 + - uid: 15462 components: - type: Transform - pos: 67.5,-65.5 + rot: 1.5707963267948966 rad + pos: 57.5,-59.5 parent: 2 - - uid: 15437 + - uid: 15546 components: - type: Transform rot: -1.5707963267948966 rad - pos: 48.5,-45.5 + pos: 80.5,-70.5 parent: 2 - - uid: 15450 + - uid: 15852 components: - type: Transform - pos: 70.5,-40.5 + pos: 48.5,-26.5 + parent: 2 + - uid: 15853 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 48.5,-32.5 + parent: 2 + - uid: 15856 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 47.5,-38.5 + parent: 2 + - uid: 15857 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 48.5,-43.5 + parent: 2 + - uid: 15858 + components: + - type: Transform + pos: 51.5,-40.5 + parent: 2 + - uid: 15883 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 46.5,-46.5 + parent: 2 + - uid: 16021 + components: + - type: Transform + pos: 41.5,-32.5 + parent: 2 + - uid: 16022 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 37.5,-36.5 + parent: 2 + - uid: 16028 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 37.5,-32.5 parent: 2 - uid: 16041 components: @@ -90615,16 +94259,22 @@ entities: rot: 1.5707963267948966 rad pos: 36.5,-40.5 parent: 2 + - uid: 16118 + components: + - type: Transform + pos: 1.5,-59.5 + parent: 2 + - uid: 16119 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 4.5,-79.5 + parent: 2 - uid: 16172 components: - type: Transform pos: 4.5,-75.5 parent: 2 - - uid: 16378 - components: - - type: Transform - pos: 69.5,-37.5 - parent: 2 - uid: 16515 components: - type: Transform @@ -90642,30 +94292,6 @@ entities: - type: Transform pos: -33.5,-27.5 parent: 2 - - uid: 16538 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 80.5,-64.5 - parent: 2 - - uid: 16539 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 76.5,-56.5 - parent: 2 - - uid: 16541 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 52.5,-41.5 - parent: 2 - - uid: 16542 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 45.5,-31.5 - parent: 2 - uid: 16544 components: - type: Transform @@ -90678,12 +94304,6 @@ entities: rot: 1.5707963267948966 rad pos: 34.5,-91.5 parent: 2 - - uid: 16551 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,-59.5 - parent: 2 - uid: 16554 components: - type: Transform @@ -90701,34 +94321,21 @@ entities: - type: Transform pos: -34.5,-29.5 parent: 2 - - uid: 16563 + - uid: 16597 components: - type: Transform - pos: 71.5,-71.5 + pos: -39.5,-77.5 parent: 2 - - uid: 16592 + - uid: 16974 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-63.5 - parent: 2 - - uid: 16861 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-76.5 + pos: 53.5,-96.5 parent: 2 - uid: 17137 components: - type: Transform pos: -30.5,-60.5 parent: 2 - - uid: 17261 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 51.5,-24.5 - parent: 2 - uid: 17274 components: - type: Transform @@ -90762,22 +94369,6 @@ entities: rot: 1.5707963267948966 rad pos: 40.5,-21.5 parent: 2 - - uid: 17960 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 33.5,-17.5 - parent: 2 - - type: PointLight - enabled: False - - type: ContainerContainer - containers: - light_bulb: !type:ContainerSlot - showEnts: False - occludes: True - ent: 17961 - - type: ApcPowerReceiver - powerLoad: 0 - uid: 18030 components: - type: Transform @@ -90866,12 +94457,6 @@ entities: rot: -1.5707963267948966 rad pos: 29.5,-34.5 parent: 2 - - uid: 19243 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 37.5,-29.5 - parent: 2 - uid: 19273 components: - type: Transform @@ -90884,10 +94469,21 @@ entities: rot: -1.5707963267948966 rad pos: -14.5,-70.5 parent: 2 - - uid: 19405 + - uid: 19404 components: - type: Transform - pos: 54.5,-97.5 + pos: 55.5,-97.5 + parent: 2 + - uid: 19418 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 42.5,-34.5 + parent: 2 + - uid: 19474 + components: + - type: Transform + pos: 51.5,-28.5 parent: 2 - uid: 19490 components: @@ -90895,29 +94491,45 @@ entities: rot: 1.5707963267948966 rad pos: 51.5,-62.5 parent: 2 -- proto: PoweredSmallLightEmpty - entities: - - uid: 17952 + - uid: 19551 components: - type: Transform rot: 1.5707963267948966 rad - pos: 33.5,-13.5 + pos: 35.5,-20.5 parent: 2 - - type: ContainerContainer - containers: - light_bulb: !type:ContainerSlot - showEnts: False - occludes: True - ent: 17953 - - type: ApcPowerReceiver - powerLoad: 0 -- proto: PrefilledSyringe - entities: - - uid: 7785 + - uid: 20009 components: - type: Transform - pos: 27.5,-15.5 + rot: 3.141592653589793 rad + pos: 60.5,-60.5 parent: 2 +- proto: PoweredWarmSmallLight + entities: + - uid: 15239 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 72.5,-49.5 + parent: 2 + - uid: 15241 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-47.5 + parent: 2 + - uid: 15242 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 68.5,-48.5 + parent: 2 + - uid: 17504 + components: + - type: Transform + pos: 70.5,-46.5 + parent: 2 +- proto: PrefilledSyringe + entities: - uid: 17022 components: - type: Transform @@ -90945,36 +94557,31 @@ entities: parent: 2 - proto: PuddleBlood entities: - - uid: 1197 + - uid: 801 components: - type: Transform - pos: 42.5,-28.5 + pos: 80.5,-27.5 parent: 2 - - uid: 1856 + - uid: 1170 components: - type: Transform - pos: 79.5,-29.5 + pos: 76.5,-40.5 parent: 2 - - uid: 5083 + - uid: 2499 components: - type: Transform - pos: 74.5,-43.5 + pos: 76.5,-41.5 + parent: 2 + - uid: 2767 + components: + - type: Transform + pos: 76.5,-39.5 parent: 2 - uid: 5100 components: - type: Transform pos: 75.5,-25.5 parent: 2 - - uid: 5101 - components: - - type: Transform - pos: 74.5,-42.5 - parent: 2 - - uid: 5426 - components: - - type: Transform - pos: 79.5,-30.5 - parent: 2 - uid: 5460 components: - type: Transform @@ -90985,10 +94592,30 @@ entities: - type: Transform pos: 75.5,-24.5 parent: 2 - - uid: 6711 + - uid: 6372 components: - type: Transform - pos: 41.5,-28.5 + pos: 80.5,-26.5 + parent: 2 + - uid: 7579 + components: + - type: Transform + pos: 67.5,-66.5 + parent: 2 + - uid: 8447 + components: + - type: Transform + pos: 68.5,-66.5 + parent: 2 + - uid: 13807 + components: + - type: Transform + pos: 79.5,-25.5 + parent: 2 + - uid: 13829 + components: + - type: Transform + pos: 78.5,-25.5 parent: 2 - uid: 14364 components: @@ -91075,11 +94702,6 @@ entities: - type: Transform pos: -26.5,-43.5 parent: 2 - - uid: 17479 - components: - - type: Transform - pos: 79.5,-27.5 - parent: 2 - uid: 17529 components: - type: Transform @@ -91120,47 +94742,42 @@ entities: - type: Transform pos: -1.5,-73.5 parent: 2 - - uid: 18823 + - uid: 20054 components: - type: Transform - pos: 56.5,-49.5 + pos: 53.5,-42.5 parent: 2 - - uid: 18824 + - uid: 20055 components: - type: Transform - pos: 55.5,-49.5 + pos: 53.5,-43.5 parent: 2 - - uid: 18825 + - uid: 20057 components: - type: Transform - pos: 56.5,-50.5 + pos: 54.5,-42.5 parent: 2 - - uid: 18826 + - uid: 20059 components: - type: Transform - pos: 57.5,-49.5 - parent: 2 - - uid: 18835 - components: - - type: Transform - pos: 56.5,-48.5 - parent: 2 - - uid: 19552 - components: - - type: Transform - pos: 74.5,-41.5 + pos: 54.5,-43.5 parent: 2 - proto: PuddleBloodSmall entities: - - uid: 7101 + - uid: 2480 components: - type: Transform - pos: 74.5,-46.5 + pos: 80.5,-28.5 parent: 2 - - uid: 8141 + - uid: 3309 components: - type: Transform - pos: 77.5,-55.5 + pos: 75.5,-54.5 + parent: 2 + - uid: 14315 + components: + - type: Transform + pos: 75.5,-46.5 parent: 2 - uid: 16810 components: @@ -91297,11 +94914,6 @@ entities: - type: Transform pos: 76.5,-51.5 parent: 2 - - uid: 18214 - components: - - type: Transform - pos: 79.5,-31.5 - parent: 2 - uid: 18552 components: - type: Transform @@ -91312,16 +94924,6 @@ entities: - type: Transform pos: 1.5,-73.5 parent: 2 - - uid: 18836 - components: - - type: Transform - pos: 54.5,-50.5 - parent: 2 - - uid: 19553 - components: - - type: Transform - pos: 76.5,-41.5 - parent: 2 - uid: 19554 components: - type: Transform @@ -91332,33 +94934,43 @@ entities: - type: Transform pos: 74.5,-23.5 parent: 2 + - uid: 20056 + components: + - type: Transform + pos: 53.5,-44.5 + parent: 2 + - uid: 20058 + components: + - type: Transform + pos: 52.5,-43.5 + parent: 2 + - uid: 20067 + components: + - type: Transform + pos: 55.5,-42.5 + parent: 2 + - uid: 20068 + components: + - type: Transform + pos: 56.5,-41.5 + parent: 2 - proto: PuddleFluorosulfuricAcid entities: + - uid: 3169 + components: + - type: Transform + pos: 42.5,-26.5 + parent: 2 - uid: 7934 components: - type: Transform pos: -29.5,-47.5 parent: 2 - - uid: 9254 - components: - - type: Transform - pos: 63.5,-50.5 - parent: 2 - - uid: 15443 - components: - - type: Transform - pos: 64.5,-50.5 - parent: 2 - uid: 16103 components: - type: Transform pos: -30.5,-39.5 parent: 2 - - uid: 16523 - components: - - type: Transform - pos: 43.5,-25.5 - parent: 2 - uid: 17454 components: - type: Transform @@ -91404,35 +95016,35 @@ entities: - type: Transform pos: -29.5,-46.5 parent: 2 - - uid: 18819 + - uid: 20060 components: - type: Transform - pos: 63.5,-51.5 + pos: 61.5,-42.5 parent: 2 - - uid: 18820 + - uid: 20061 components: - type: Transform - pos: 63.5,-49.5 + pos: 62.5,-42.5 parent: 2 - - uid: 18821 + - uid: 20062 components: - type: Transform - pos: 64.5,-49.5 + pos: 62.5,-43.5 parent: 2 - - uid: 18822 + - uid: 20063 components: - type: Transform - pos: 62.5,-50.5 + pos: 60.5,-42.5 parent: 2 - - uid: 18934 + - uid: 20064 components: - type: Transform - pos: 65.5,-50.5 + pos: 62.5,-41.5 parent: 2 - - uid: 18935 + - uid: 20065 components: - type: Transform - pos: 65.5,-49.5 + pos: 61.5,-43.5 parent: 2 - proto: PuddleFluorosulfuricAcidSmall entities: @@ -91496,13 +95108,18 @@ entities: - type: Transform pos: -29.5,-48.5 parent: 2 -- proto: Rack - entities: - - uid: 893 + - uid: 20066 components: - type: Transform - pos: 68.5,-31.5 + pos: 59.5,-42.5 parent: 2 + - uid: 20079 + components: + - type: Transform + pos: 57.5,-42.5 + parent: 2 +- proto: Rack + entities: - uid: 1160 components: - type: Transform @@ -91530,10 +95147,11 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,-22.5 parent: 2 - - uid: 4516 + - uid: 3544 components: - type: Transform - pos: 60.5,-57.5 + rot: -1.5707963267948966 rad + pos: 60.5,-49.5 parent: 2 - uid: 4565 components: @@ -91566,16 +95184,28 @@ entities: - type: Transform pos: -19.5,-52.5 parent: 2 + - uid: 6089 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-48.5 + parent: 2 + - uid: 6555 + components: + - type: Transform + pos: 57.5,-62.5 + parent: 2 - uid: 6558 components: - type: Transform rot: 1.5707963267948966 rad pos: -3.5,-77.5 parent: 2 - - uid: 6560 + - uid: 6620 components: - type: Transform - pos: 46.5,-47.5 + rot: -1.5707963267948966 rad + pos: 68.5,-32.5 parent: 2 - uid: 6642 components: @@ -91587,6 +95217,12 @@ entities: - type: Transform pos: 31.5,-95.5 parent: 2 + - uid: 7282 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-32.5 + parent: 2 - uid: 7675 components: - type: Transform @@ -91629,34 +95265,11 @@ entities: - type: Transform pos: 29.5,-60.5 parent: 2 - - uid: 8091 + - uid: 8035 components: - type: Transform rot: 3.141592653589793 rad - pos: 69.5,-69.5 - parent: 2 - - uid: 8092 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-69.5 - parent: 2 - - uid: 8093 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,-67.5 - parent: 2 - - uid: 8094 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 72.5,-69.5 - parent: 2 - - uid: 8132 - components: - - type: Transform - pos: 67.5,-31.5 + pos: 55.5,-66.5 parent: 2 - uid: 8169 components: @@ -91673,12 +95286,6 @@ entities: - type: Transform pos: -41.5,-26.5 parent: 2 - - uid: 8225 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -54.5,-25.5 - parent: 2 - uid: 8337 components: - type: Transform @@ -91701,20 +95308,26 @@ entities: - type: Transform pos: 29.5,-78.5 parent: 2 - - uid: 8608 + - uid: 8427 components: - type: Transform - pos: 36.5,-33.5 + pos: 69.5,-60.5 parent: 2 - - uid: 10242 + - uid: 8429 components: - type: Transform - pos: 65.5,-45.5 + pos: 69.5,-59.5 parent: 2 - - uid: 10411 + - uid: 8565 components: - type: Transform - pos: 55.5,-46.5 + pos: 72.5,-40.5 + parent: 2 + - uid: 9211 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-50.5 parent: 2 - uid: 10657 components: @@ -91727,10 +95340,15 @@ entities: rot: -1.5707963267948966 rad pos: 29.5,-61.5 parent: 2 - - uid: 13649 + - uid: 13906 components: - type: Transform - pos: 62.5,-56.5 + pos: 57.5,-63.5 + parent: 2 + - uid: 13913 + components: + - type: Transform + pos: 59.5,-62.5 parent: 2 - uid: 14065 components: @@ -91750,10 +95368,16 @@ entities: rot: 1.5707963267948966 rad pos: 11.5,2.5 parent: 2 - - uid: 15488 + - uid: 15418 components: - type: Transform - pos: 60.5,-36.5 + rot: -1.5707963267948966 rad + pos: 47.5,-44.5 + parent: 2 + - uid: 15450 + components: + - type: Transform + pos: 67.5,-68.5 parent: 2 - uid: 15788 components: @@ -91761,6 +95385,11 @@ entities: rot: 3.141592653589793 rad pos: 46.5,-73.5 parent: 2 + - uid: 16033 + components: + - type: Transform + pos: 58.5,-56.5 + parent: 2 - uid: 16105 components: - type: Transform @@ -91788,16 +95417,6 @@ entities: - type: Transform pos: 29.5,-33.5 parent: 2 - - uid: 16607 - components: - - type: Transform - pos: 52.5,-30.5 - parent: 2 - - uid: 17120 - components: - - type: Transform - pos: -36.5,-78.5 - parent: 2 - uid: 17135 components: - type: Transform @@ -91842,26 +95461,6 @@ entities: - type: Transform pos: 45.5,-73.5 parent: 2 - - uid: 17792 - components: - - type: Transform - pos: 71.5,-59.5 - parent: 2 - - uid: 18261 - components: - - type: Transform - pos: 45.5,-48.5 - parent: 2 - - uid: 19045 - components: - - type: Transform - pos: 64.5,-70.5 - parent: 2 - - uid: 19046 - components: - - type: Transform - pos: 64.5,-69.5 - parent: 2 - uid: 19255 components: - type: Transform @@ -91883,6 +95482,22 @@ entities: rot: 3.141592653589793 rad pos: 50.5,-94.5 parent: 2 + - uid: 19737 + components: + - type: Transform + pos: 40.5,-32.5 + parent: 2 + - uid: 19965 + components: + - type: Transform + pos: -51.5,-24.5 + parent: 2 + - uid: 20019 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-59.5 + parent: 2 - proto: RadiationCollectorFullTank entities: - uid: 13281 @@ -91920,15 +95535,20 @@ entities: - uid: 6985 components: - type: Transform - pos: 51.540493,-98.731224 + pos: 52.349415,-98.694435 parent: 2 - uid: 6986 components: - type: Transform - pos: 51.837368,-98.40287 + pos: 52.675804,-98.45121 parent: 2 - proto: RagItem entities: + - uid: 9575 + components: + - type: Transform + pos: 35.66513,-42.94736 + parent: 2 - uid: 17438 components: - type: Transform @@ -91959,6 +95579,12 @@ entities: rot: -1.5707963267948966 rad pos: 0.5,-50.5 parent: 2 + - uid: 1976 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 88.5,-22.5 + parent: 2 - uid: 2447 components: - type: Transform @@ -91975,12 +95601,6 @@ entities: rot: -1.5707963267948966 rad pos: 1.5,-46.5 parent: 2 - - uid: 3391 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 67.5,-55.5 - parent: 2 - uid: 5195 components: - type: Transform @@ -92020,6 +95640,24 @@ entities: - type: Transform pos: 56.5,-14.5 parent: 2 + - uid: 8111 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 87.5,-20.5 + parent: 2 + - uid: 8781 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 88.5,-21.5 + parent: 2 + - uid: 10817 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 59.5,-54.5 + parent: 2 - uid: 11466 components: - type: Transform @@ -92060,6 +95698,23 @@ entities: rot: 3.141592653589793 rad pos: 44.5,-18.5 parent: 2 + - uid: 15188 + components: + - type: Transform + pos: 87.5,-70.5 + parent: 2 + - uid: 15189 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 88.5,-69.5 + parent: 2 + - uid: 15190 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 88.5,-68.5 + parent: 2 - uid: 16477 components: - type: Transform @@ -92126,12 +95781,23 @@ entities: rot: -1.5707963267948966 rad pos: -42.5,-54.5 parent: 2 + - uid: 8110 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 88.5,-20.5 + parent: 2 - uid: 11760 components: - type: Transform rot: -1.5707963267948966 rad pos: 53.5,-14.5 parent: 2 + - uid: 15187 + components: + - type: Transform + pos: 88.5,-70.5 + parent: 2 - proto: RailingCornerSmall entities: - uid: 630 @@ -92164,22 +95830,17 @@ entities: - type: Transform pos: 10.5,-40.5 parent: 2 - - uid: 18376 + - uid: 15270 components: - type: Transform - pos: -38.5,-77.5 + pos: -37.5,-78.5 parent: 2 - proto: RandomDrinkBottle entities: - - uid: 3389 + - uid: 15435 components: - type: Transform - pos: 75.5,-62.5 - parent: 2 - - uid: 8154 - components: - - type: Transform - pos: 66.5,-69.5 + pos: 80.5,-64.5 parent: 2 - proto: RandomDrinkGlass entities: @@ -92210,25 +95871,18 @@ entities: - type: Transform pos: -8.5,-77.5 parent: 2 -- proto: RandomFoodBakedSingle - entities: - - uid: 3388 - components: - - type: Transform - pos: 71.5,-61.5 - parent: 2 - proto: RandomFoodMeal entities: - - uid: 5235 - components: - - type: Transform - pos: 20.5,-19.5 - parent: 2 - uid: 6596 components: - type: Transform pos: 21.5,-61.5 parent: 2 + - uid: 8797 + components: + - type: Transform + pos: 21.5,-20.5 + parent: 2 - uid: 17376 components: - type: Transform @@ -92241,45 +95895,45 @@ entities: - type: Transform pos: -9.5,-75.5 parent: 2 - - uid: 4343 + - uid: 8836 components: - type: Transform - pos: 65.5,-59.5 + pos: -43.5,-78.5 parent: 2 - - uid: 4344 + - uid: 10818 components: - type: Transform - pos: 65.5,-58.5 + pos: 71.5,-70.5 parent: 2 - - uid: 9711 + - uid: 14262 components: - type: Transform - pos: 56.5,-68.5 + pos: 76.5,-58.5 parent: 2 - - uid: 14792 + - uid: 15269 components: - type: Transform - pos: -35.5,-74.5 + pos: -43.5,-77.5 parent: 2 - - uid: 17353 + - uid: 15404 components: - type: Transform - pos: 71.5,-71.5 + pos: 75.5,-57.5 parent: 2 - - uid: 17727 + - uid: 15471 components: - type: Transform - pos: -42.5,-79.5 + pos: 64.5,-58.5 parent: 2 - - uid: 17728 + - uid: 15478 components: - type: Transform - pos: -36.5,-80.5 + pos: 66.5,-60.5 parent: 2 - - uid: 17729 + - uid: 16606 components: - type: Transform - pos: -43.5,-79.5 + pos: 76.5,-57.5 parent: 2 - uid: 17730 components: @@ -92291,56 +95945,16 @@ entities: - type: Transform pos: 72.5,-59.5 parent: 2 - - uid: 17733 - components: - - type: Transform - pos: 76.5,-58.5 - parent: 2 - - uid: 17778 - components: - - type: Transform - pos: 66.5,-59.5 - parent: 2 - - uid: 17781 - components: - - type: Transform - pos: 77.5,-58.5 - parent: 2 - - uid: 17782 - components: - - type: Transform - pos: -36.5,-74.5 - parent: 2 - uid: 17784 components: - type: Transform pos: -36.5,-73.5 parent: 2 - - uid: 17785 - components: - - type: Transform - pos: -35.5,-75.5 - parent: 2 - - uid: 18262 - components: - - type: Transform - pos: 45.5,-49.5 - parent: 2 - - uid: 18509 - components: - - type: Transform - pos: 36.5,-32.5 - parent: 2 - uid: 18512 components: - type: Transform pos: 35.5,-32.5 parent: 2 - - uid: 19210 - components: - - type: Transform - pos: 66.5,-60.5 - parent: 2 - uid: 19362 components: - type: Transform @@ -92358,11 +95972,6 @@ entities: parent: 2 - proto: RandomInstruments entities: - - uid: 2249 - components: - - type: Transform - pos: 53.5,-47.5 - parent: 2 - uid: 6007 components: - type: Transform @@ -92385,8 +95994,40 @@ entities: - type: Transform pos: -41.5,-60.5 parent: 2 +- proto: RandomPosterAny + entities: + - uid: 16030 + components: + - type: Transform + pos: 72.5,-66.5 + parent: 2 + - uid: 19217 + components: + - type: Transform + pos: 38.5,-33.5 + parent: 2 - proto: RandomPosterContraband entities: + - uid: 6908 + components: + - type: Transform + pos: 55.5,-96.5 + parent: 2 + - uid: 6911 + components: + - type: Transform + pos: 56.5,-97.5 + parent: 2 + - uid: 7724 + components: + - type: Transform + pos: 56.5,-64.5 + parent: 2 + - uid: 12952 + components: + - type: Transform + pos: 47.5,-28.5 + parent: 2 - uid: 15134 components: - type: Transform @@ -92402,35 +96043,15 @@ entities: - type: Transform pos: 32.5,-89.5 parent: 2 - - uid: 17227 - components: - - type: Transform - pos: 54.5,-96.5 - parent: 2 - - uid: 17228 - components: - - type: Transform - pos: 55.5,-97.5 - parent: 2 - uid: 17231 components: - type: Transform pos: 48.5,-100.5 parent: 2 - - uid: 19215 - components: - - type: Transform - pos: 54.5,-29.5 - parent: 2 - uid: 19216 components: - type: Transform - pos: 41.5,-27.5 - parent: 2 - - uid: 19217 - components: - - type: Transform - pos: 73.5,-67.5 + pos: 42.5,-35.5 parent: 2 - uid: 19239 components: @@ -92454,6 +96075,16 @@ entities: - type: Transform pos: 48.5,-16.5 parent: 2 + - uid: 19192 + components: + - type: Transform + pos: 45.5,-44.5 + parent: 2 + - uid: 19210 + components: + - type: Transform + pos: 45.5,-45.5 + parent: 2 - uid: 19212 components: - type: Transform @@ -92469,6 +96100,11 @@ entities: - type: Transform pos: 17.5,-14.5 parent: 2 + - uid: 19215 + components: + - type: Transform + pos: 34.5,-47.5 + parent: 2 - uid: 19622 components: - type: Transform @@ -92476,10 +96112,25 @@ entities: parent: 2 - proto: RandomProduce entities: - - uid: 3426 + - uid: 19740 components: - type: Transform - pos: 52.5,-47.5 + pos: 39.5,-33.5 + parent: 2 + - uid: 19741 + components: + - type: Transform + pos: 41.5,-34.5 + parent: 2 + - uid: 19743 + components: + - type: Transform + pos: 43.5,-33.5 + parent: 2 + - uid: 20049 + components: + - type: Transform + pos: 41.5,-42.5 parent: 2 - proto: RandomSnacks entities: @@ -92557,16 +96208,6 @@ entities: - type: Transform pos: -10.5,-19.5 parent: 2 - - uid: 17164 - components: - - type: Transform - pos: 23.5,-15.5 - parent: 2 - - uid: 17169 - components: - - type: Transform - pos: 80.5,-66.5 - parent: 2 - uid: 17171 components: - type: Transform @@ -92592,17 +96233,22 @@ entities: - type: Transform pos: -34.5,-30.5 parent: 2 + - uid: 19080 + components: + - type: Transform + pos: 80.5,-67.5 + parent: 2 - proto: RandomSpawner100 entities: - - uid: 1111 + - uid: 3315 components: - type: Transform - pos: 60.5,-68.5 + pos: 75.5,-64.5 parent: 2 - - uid: 16862 + - uid: 5181 components: - type: Transform - pos: 59.5,-70.5 + pos: 73.5,-65.5 parent: 2 - proto: RandomVending entities: @@ -92678,16 +96324,16 @@ entities: - type: Transform pos: 28.5,-57.5 parent: 2 + - uid: 10802 + components: + - type: Transform + pos: 48.5,-50.5 + parent: 2 - uid: 14365 components: - type: Transform pos: 8.5,-37.5 parent: 2 - - uid: 17926 - components: - - type: Transform - pos: 51.5,-49.5 - parent: 2 - proto: RandomVendingSnacks entities: - uid: 595 @@ -92700,20 +96346,15 @@ entities: - type: Transform pos: 10.5,-19.5 parent: 2 - - uid: 6217 + - uid: 8663 components: - type: Transform - pos: 6.5,-60.5 + pos: 23.5,-19.5 parent: 2 - - uid: 7736 + - uid: 10800 components: - type: Transform - pos: 52.5,-49.5 - parent: 2 - - uid: 12882 - components: - - type: Transform - pos: 35.5,-75.5 + pos: 50.5,-43.5 parent: 2 - uid: 13576 components: @@ -92730,10 +96371,15 @@ entities: - type: Transform pos: -41.5,-67.5 parent: 2 - - uid: 15331 + - uid: 16051 components: - type: Transform - pos: 21.5,-16.5 + pos: 42.5,-75.5 + parent: 2 + - uid: 16117 + components: + - type: Transform + pos: 7.5,-61.5 parent: 2 - proto: RCD entities: @@ -92749,8 +96395,18 @@ entities: - type: Transform pos: -29.274288,-59.874645 parent: 2 + - uid: 20051 + components: + - type: Transform + pos: -52.72353,-51.759876 + parent: 2 - proto: ReagentContainerFlour entities: + - uid: 7031 + components: + - type: Transform + pos: 40.70177,-32.37174 + parent: 2 - uid: 15274 components: - type: Transform @@ -92774,14 +96430,15 @@ entities: parent: 2 - proto: Recycler entities: - - uid: 9314 + - uid: 10332 components: - type: Transform - pos: 62.5,-68.5 + pos: 77.5,-64.5 parent: 2 - - uid: 14690 + - uid: 11474 components: - type: Transform + rot: -1.5707963267948966 rad pos: 50.5,-96.5 parent: 2 - proto: ReinforcedGirder @@ -92893,6 +96550,11 @@ entities: - type: Transform pos: -20.5,-30.5 parent: 2 + - uid: 3546 + components: + - type: Transform + pos: 58.5,-46.5 + parent: 2 - uid: 3590 components: - type: Transform @@ -92913,6 +96575,11 @@ entities: - type: Transform pos: -22.5,-72.5 parent: 2 + - uid: 3950 + components: + - type: Transform + pos: 61.5,-46.5 + parent: 2 - uid: 4422 components: - type: Transform @@ -93028,26 +96695,6 @@ entities: - type: Transform pos: 20.5,-40.5 parent: 2 - - uid: 7444 - components: - - type: Transform - pos: 90.5,-44.5 - parent: 2 - - uid: 7445 - components: - - type: Transform - pos: 89.5,-44.5 - parent: 2 - - uid: 7449 - components: - - type: Transform - pos: 89.5,-46.5 - parent: 2 - - uid: 7450 - components: - - type: Transform - pos: 90.5,-46.5 - parent: 2 - uid: 7660 components: - type: Transform @@ -93073,15 +96720,35 @@ entities: - type: Transform pos: -8.5,-41.5 parent: 2 - - uid: 8749 + - uid: 10766 components: - type: Transform - pos: 58.5,-54.5 + rot: 1.5707963267948966 rad + pos: 92.5,-44.5 parent: 2 - - uid: 10801 + - uid: 10792 components: - type: Transform - pos: 61.5,-54.5 + rot: 1.5707963267948966 rad + pos: 91.5,-44.5 + parent: 2 + - uid: 10798 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-21.5 + parent: 2 + - uid: 10823 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 92.5,-46.5 + parent: 2 + - uid: 10826 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 91.5,-46.5 parent: 2 - uid: 11401 components: @@ -93826,6 +97493,11 @@ entities: - type: Transform pos: -29.5,-65.5 parent: 2 + - uid: 3030 + components: + - type: Transform + pos: 60.5,-38.5 + parent: 2 - uid: 3071 components: - type: Transform @@ -93841,11 +97513,26 @@ entities: - type: Transform pos: -20.5,-69.5 parent: 2 + - uid: 3399 + components: + - type: Transform + pos: 67.5,-38.5 + parent: 2 - uid: 3489 components: - type: Transform pos: 10.5,-56.5 parent: 2 + - uid: 3520 + components: + - type: Transform + pos: 57.5,-25.5 + parent: 2 + - uid: 3571 + components: + - type: Transform + pos: 55.5,-40.5 + parent: 2 - uid: 3655 components: - type: Transform @@ -93876,6 +97563,11 @@ entities: - type: Transform pos: 59.5,-18.5 parent: 2 + - uid: 4876 + components: + - type: Transform + pos: 59.5,-35.5 + parent: 2 - uid: 5144 components: - type: Transform @@ -93906,6 +97598,11 @@ entities: - type: Transform pos: 7.5,-13.5 parent: 2 + - uid: 5429 + components: + - type: Transform + pos: 58.5,-25.5 + parent: 2 - uid: 6095 components: - type: Transform @@ -93931,21 +97628,6 @@ entities: - type: Transform pos: 50.5,-95.5 parent: 2 - - uid: 6906 - components: - - type: Transform - pos: 56.5,-98.5 - parent: 2 - - uid: 6907 - components: - - type: Transform - pos: 56.5,-99.5 - parent: 2 - - uid: 6908 - components: - - type: Transform - pos: 56.5,-100.5 - parent: 2 - uid: 6951 components: - type: Transform @@ -93956,25 +97638,41 @@ entities: - type: Transform pos: 20.5,-100.5 parent: 2 - - uid: 7151 + - uid: 7040 components: - type: Transform - pos: 61.5,-45.5 + rot: 1.5707963267948966 rad + pos: 60.5,-35.5 parent: 2 - - uid: 7278 + - uid: 7154 components: - type: Transform - pos: 65.5,-44.5 + pos: 60.5,-39.5 + parent: 2 + - uid: 7160 + components: + - type: Transform + pos: 59.5,-25.5 + parent: 2 + - uid: 7213 + components: + - type: Transform + pos: 64.5,-49.5 + parent: 2 + - uid: 7230 + components: + - type: Transform + pos: 66.5,-49.5 parent: 2 - uid: 7309 components: - type: Transform pos: 61.5,-28.5 parent: 2 - - uid: 7731 + - uid: 7748 components: - type: Transform - pos: 66.5,-50.5 + pos: 56.5,-35.5 parent: 2 - uid: 8080 components: @@ -93986,10 +97684,20 @@ entities: - type: Transform pos: 10.5,-58.5 parent: 2 - - uid: 8561 + - uid: 9893 components: - type: Transform - pos: 67.5,-44.5 + pos: 63.5,-44.5 + parent: 2 + - uid: 9898 + components: + - type: Transform + pos: 56.5,-40.5 + parent: 2 + - uid: 10276 + components: + - type: Transform + pos: 67.5,-46.5 parent: 2 - uid: 10654 components: @@ -94066,16 +97774,6 @@ entities: - type: Transform pos: 22.5,-86.5 parent: 2 - - uid: 16866 - components: - - type: Transform - pos: 61.5,-36.5 - parent: 2 - - uid: 17311 - components: - - type: Transform - pos: 57.5,-47.5 - parent: 2 - uid: 17780 components: - type: Transform @@ -94086,11 +97784,6 @@ entities: - type: Transform pos: 23.5,-88.5 parent: 2 - - uid: 17964 - components: - - type: Transform - pos: 61.5,-46.5 - parent: 2 - uid: 18402 components: - type: Transform @@ -94111,6 +97804,21 @@ entities: - type: Transform pos: -27.5,-60.5 parent: 2 + - uid: 19726 + components: + - type: Transform + pos: 57.5,-98.5 + parent: 2 + - uid: 19727 + components: + - type: Transform + pos: 57.5,-99.5 + parent: 2 + - uid: 19728 + components: + - type: Transform + pos: 57.5,-100.5 + parent: 2 - proto: RemoteSignaller entities: - uid: 8033 @@ -94130,20 +97838,20 @@ entities: - type: MetaData name: main armory remote signaller - type: Transform - pos: 59.450016,-46.424244 + pos: 58.468006,-39.404644 parent: 2 - type: DeviceLinkSource linkedPorts: - 4377: + 3324: - - Pressed - Toggle - 13934: + 3867: - - Pressed - Toggle - 4366: + 3548: - - Pressed - Toggle - 4380: + 4000: - - Pressed - Toggle - proto: ResearchAndDevelopmentServer @@ -94160,13 +97868,6 @@ entities: - type: Transform pos: 52.36671,-18.851082 parent: 2 - - uid: 6032 - components: - - type: Transform - parent: 2004 - - type: Physics - canCollide: False - - type: InsideEntityStorage - uid: 17385 components: - type: Transform @@ -94178,38 +97879,49 @@ entities: - uid: 13842 components: - type: Transform - pos: 67.68784,-31.256433 + pos: 68.51489,-32.324493 parent: 2 + - type: Blocking + blockingToggleActionEntity: 6618 + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 6618 - uid: 13901 components: - type: Transform - pos: 67.78969,-31.31666 + pos: 68.75447,-32.376614 parent: 2 + - type: Blocking + blockingToggleActionEntity: 6619 + - type: ActionsContainer + - type: ContainerContainer + containers: + actions: !type:Container + ents: + - 6619 - proto: RobocopCircuitBoard entities: - uid: 18624 components: - type: Transform - pos: 78.117035,-47.564194 + pos: 79.709564,-47.292206 parent: 2 - proto: RollerBed entities: - - uid: 13158 + - uid: 7120 components: - type: Transform - pos: 27.5,-29.5 - parent: 2 - - uid: 18265 - components: - - type: Transform - pos: 34.5,-23.5 + pos: 27.50481,-30.322935 parent: 2 - proto: RollingPin entities: - uid: 7200 components: - type: Transform - pos: 42.391666,-45.264618 + pos: 42.132645,-45.052124 parent: 2 - proto: RubberStampApproved entities: @@ -94251,12 +97963,6 @@ entities: rot: -1.5707963267948966 rad pos: 85.5,-17.5 parent: 2 - - uid: 15359 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 87.5,-23.5 - parent: 2 - uid: 15360 components: - type: Transform @@ -94335,12 +98041,6 @@ entities: rot: -1.5707963267948966 rad pos: 86.5,-66.5 parent: 2 - - uid: 15373 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 87.5,-67.5 - parent: 2 - uid: 15374 components: - type: Transform @@ -94364,28 +98064,21 @@ entities: - uid: 8226 components: - type: Transform - pos: -54.462643,-25.38104 + pos: -51.49735,-24.395369 parent: 2 - proto: SalvageMagnet entities: - - uid: 14028 + - uid: 17227 components: - type: Transform - pos: 51.5,-96.5 + pos: 53.5,-101.5 parent: 2 - proto: SalvageMaterialCrateSpawner entities: - - uid: 6555 + - uid: 7392 components: - type: Transform - pos: 78.5,-31.5 - parent: 2 -- proto: Saw - entities: - - uid: 17913 - components: - - type: Transform - pos: 35.48436,-18.109962 + pos: 80.5,-29.5 parent: 2 - proto: Scalpel entities: @@ -94394,10 +98087,10 @@ entities: - type: Transform pos: 9.503026,-25.489 parent: 2 - - uid: 19231 + - uid: 7728 components: - type: Transform - pos: 40.823505,-30.393356 + pos: 66.53385,-63.488316 parent: 2 - uid: 19301 components: @@ -94405,23 +98098,6 @@ entities: rot: -0.6108652381980153 rad pos: -3.5512772,-24.750254 parent: 2 -- proto: SciFlash - entities: - - uid: 17886 - components: - - type: Transform - parent: 17884 - - type: LimitedCharges - maxCharges: 1 - - type: Physics - canCollide: False - - uid: 17947 - components: - - type: Transform - pos: 33.300842,-15.297032 - parent: 2 - - type: LimitedCharges - maxCharges: 1 - proto: Screen entities: - uid: 4349 @@ -94481,11 +98157,6 @@ entities: parent: 2 - proto: Screwdriver entities: - - uid: 17092 - components: - - type: Transform - pos: 52.60426,-30.606783 - parent: 2 - uid: 17356 components: - type: Transform @@ -94509,10 +98180,10 @@ entities: parent: 2 - proto: SecurityTechFab entities: - - uid: 4118 + - uid: 3463 components: - type: Transform - pos: 67.5,-34.5 + pos: 67.5,-32.5 parent: 2 - type: TechnologyDatabase supportedDisciplines: @@ -94522,10 +98193,10 @@ entities: - CivilianServices - proto: SecurityWhistle entities: - - uid: 12805 + - uid: 7104 components: - type: Transform - pos: 68.0032,-48.51887 + pos: 67.39479,-53.358547 parent: 2 - proto: SeedExtractor entities: @@ -94551,30 +98222,35 @@ entities: - uid: 15273 components: - type: Transform - pos: -39.57368,-77.000206 + pos: -39.33327,-77.43351 parent: 2 - uid: 17351 components: - type: Transform - pos: -38.745556,-76.503426 + pos: -40.67702,-78.631874 parent: 2 - proto: ShardGlass entities: - - uid: 6013 + - uid: 3171 components: - type: Transform - pos: 40.214127,-29.462494 + pos: 66.3737,-62.429382 + parent: 2 + - uid: 3737 + components: + - type: Transform + pos: 68.50926,-64.55413 + parent: 2 + - uid: 10853 + components: + - type: Transform + pos: 66.41881,-64.87421 parent: 2 - uid: 17021 components: - type: Transform pos: 4.3205686,-79.307 parent: 2 - - uid: 19233 - components: - - type: Transform - pos: 41.609596,-30.40589 - parent: 2 - proto: ShardGlassReinforced entities: - uid: 7802 @@ -94602,15 +98278,31 @@ entities: - type: Transform pos: 1.5636982,-72.57246 parent: 2 + - uid: 15469 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.617294,-59.42534 + parent: 2 + - uid: 15508 + components: + - type: Transform + pos: 69.83473,-56.407314 + parent: 2 - proto: SheetBrass entities: - uid: 8098 components: - type: Transform - pos: 72.46222,-69.45354 + pos: 57.65258,-62.37854 parent: 2 - proto: SheetGlass entities: + - uid: 5866 + components: + - type: Transform + pos: -42.6255,-79.322044 + parent: 2 - uid: 6672 components: - type: Transform @@ -94629,18 +98321,20 @@ entities: - uid: 8100 components: - type: Transform - pos: 72.60134,-69.3865 - parent: 2 - - uid: 9847 - components: - - type: Transform - pos: 35.358883,-11.531487 + pos: 57.418205,-62.48799 parent: 2 - uid: 16647 components: - type: Transform pos: -12.36079,-23.400194 parent: 2 +- proto: SheetGlass10 + entities: + - uid: 19738 + components: + - type: Transform + pos: 42.067513,-34.49177 + parent: 2 - proto: SheetPlasma entities: - uid: 3506 @@ -94668,6 +98362,11 @@ entities: - type: Transform pos: 8.602404,-83.32435 parent: 2 + - uid: 5418 + components: + - type: Transform + pos: 68.51337,-20.394669 + parent: 2 - uid: 5971 components: - type: Transform @@ -94697,7 +98396,7 @@ entities: - uid: 18408 components: - type: Transform - pos: 28.5,-13.5 + pos: 29.539436,-13.332727 parent: 2 - proto: SheetPlastic entities: @@ -94782,7 +98481,7 @@ entities: - uid: 8096 components: - type: Transform - pos: 69.46705,-69.43699 + pos: 59.330914,-62.53247 parent: 2 - uid: 13337 components: @@ -94794,18 +98493,8 @@ entities: - type: Transform pos: 45.696777,-73.20621 parent: 2 - - uid: 17911 - components: - - type: Transform - pos: 34.612373,-11.35557 - parent: 2 - proto: SheetSteel10 entities: - - uid: 3384 - components: - - type: Transform - pos: 52.432384,-30.294283 - parent: 2 - uid: 3911 components: - type: Transform @@ -94914,17 +98603,17 @@ entities: parent: 2 - proto: ShotGunCabinetFilled entities: - - uid: 16048 + - uid: 3609 components: - type: Transform rot: -1.5707963267948966 rad - pos: 69.5,-31.5 + pos: 70.5,-32.5 parent: 2 - - uid: 18044 + - uid: 7311 components: - type: Transform rot: -1.5707963267948966 rad - pos: 69.5,-32.5 + pos: 70.5,-33.5 parent: 2 - proto: ShuttersNormal entities: @@ -94982,6 +98671,16 @@ entities: - type: Transform pos: 22.5,-88.5 parent: 2 + - uid: 5539 + components: + - type: Transform + pos: 64.5,-49.5 + parent: 2 + - uid: 5666 + components: + - type: Transform + pos: 66.5,-49.5 + parent: 2 - uid: 6208 components: - type: Transform @@ -95016,16 +98715,6 @@ entities: - type: Transform pos: 26.5,-87.5 parent: 2 - - uid: 7052 - components: - - type: Transform - pos: 67.5,-44.5 - parent: 2 - - uid: 7267 - components: - - type: Transform - pos: 65.5,-44.5 - parent: 2 - uid: 7717 components: - type: Transform @@ -95206,36 +98895,6 @@ entities: parent: 2 - proto: ShuttersWindowOpen entities: - - uid: 7807 - components: - - type: Transform - pos: 23.5,-24.5 - parent: 2 - - uid: 8048 - components: - - type: Transform - pos: 24.5,-24.5 - parent: 2 - - uid: 8663 - components: - - type: Transform - pos: 25.5,-24.5 - parent: 2 - - uid: 9066 - components: - - type: Transform - pos: 25.5,-21.5 - parent: 2 - - uid: 9082 - components: - - type: Transform - pos: 24.5,-21.5 - parent: 2 - - uid: 9196 - components: - - type: Transform - pos: 23.5,-21.5 - parent: 2 - uid: 17740 components: - type: Transform @@ -95359,22 +99018,25 @@ entities: parent: 2 - proto: SignAi entities: - - uid: 16193 + - uid: 793 components: - type: Transform - pos: 84.5,-40.5 + rot: -1.5707963267948966 rad + pos: 86.5,-50.5 parent: 2 - - uid: 16194 + - uid: 15199 components: - type: Transform - pos: 84.5,-50.5 + rot: -1.5707963267948966 rad + pos: 86.5,-40.5 parent: 2 - proto: SignAiUpload entities: - - uid: 13878 + - uid: 7136 components: - type: Transform - pos: 75.5,-46.5 + rot: -1.5707963267948966 rad + pos: 77.5,-46.5 parent: 2 - proto: SignalButton entities: @@ -95401,200 +99063,6 @@ entities: - Toggle - - Pressed - AutoClose - - uid: 4717 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 36.5,-27.5 - parent: 2 - - type: DeviceLinkSource - linkedPorts: - 5296: - - - Pressed - - Forward - 5297: - - - Pressed - - Forward - 5298: - - - Pressed - - Forward - 5299: - - - Pressed - - Forward - 5300: - - - Pressed - - Forward - 5301: - - - Pressed - - Forward - 5302: - - - Pressed - - Forward - 5344: - - - Pressed - - Forward - 5350: - - - Pressed - - Forward - 5351: - - - Pressed - - Forward - 5306: - - - Pressed - - Forward - 5307: - - - Pressed - - Forward - 11695: - - - Pressed - - Forward - 8637: - - - Pressed - - Forward - 8566: - - - Pressed - - Forward - 11694: - - - Pressed - - Forward - 5358: - - - Pressed - - Forward - 11693: - - - Pressed - - Forward - 5359: - - - Pressed - - Forward - 5360: - - - Pressed - - Forward - 5310: - - - Pressed - - Forward - 5311: - - - Pressed - - Forward - 5312: - - - Pressed - - Forward - 5313: - - - Pressed - - Forward - 5314: - - - Pressed - - Forward - 5315: - - - Pressed - - Forward - 5338: - - - Pressed - - Forward - 5339: - - - Pressed - - Forward - 17406: - - - Pressed - - Forward - 5316: - - - Pressed - - Forward - 5317: - - - Pressed - - Forward - 5361: - - - Pressed - - Forward - 5362: - - - Pressed - - Forward - 5363: - - - Pressed - - Forward - 5318: - - - Pressed - - Forward - 5319: - - - Pressed - - Forward - 5335: - - - Pressed - - Forward - 5336: - - - Pressed - - Forward - 5337: - - - Pressed - - Forward - 5320: - - - Pressed - - Forward - 5321: - - - Pressed - - Forward - 5364: - - - Pressed - - Forward - 5365: - - - Pressed - - Forward - 5366: - - - Pressed - - Forward - 5322: - - - Pressed - - Forward - 5323: - - - Pressed - - Forward - 5324: - - - Pressed - - Forward - 5325: - - - Pressed - - Forward - 5326: - - - Pressed - - Forward - 5327: - - - Pressed - - Forward - 5328: - - - Pressed - - Forward - 5329: - - - Pressed - - Forward - 5330: - - - Pressed - - Forward - 5332: - - - Pressed - - Forward - 5331: - - - Pressed - - Forward - 5333: - - - Pressed - - Forward - 5334: - - - Pressed - - Forward - 5370: - - - Pressed - - Forward - 3816: - - - Pressed - - Forward - 3792: - - - Pressed - - Forward - 5342: - - - Pressed - - Forward - 5341: - - - Pressed - - Forward - uid: 5999 components: - type: Transform @@ -95655,226 +99123,6 @@ entities: 18451: - - Pressed - Toggle - - uid: 7319 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 36.5,-25.5 - parent: 2 - - type: DeviceLinkSource - linkedPorts: - 5296: - - - Pressed - - Off - 5297: - - - Pressed - - Off - 5298: - - - Pressed - - Off - 5299: - - - Pressed - - Off - 5300: - - - Pressed - - Off - 5301: - - - Pressed - - Off - 5302: - - - Pressed - - Off - 5344: - - - Pressed - - Off - 5350: - - - Pressed - - Off - 5351: - - - Pressed - - Off - 5306: - - - Pressed - - Off - 5307: - - - Pressed - - Off - 11695: - - - Pressed - - Off - 8637: - - - Pressed - - Off - 8566: - - - Pressed - - Off - 11694: - - - Pressed - - Off - 11693: - - - Pressed - - Off - 5358: - - - Pressed - - Off - 5359: - - - Pressed - - Off - 5360: - - - Pressed - - Off - 5310: - - - Pressed - - Off - 5311: - - - Pressed - - Off - 5312: - - - Pressed - - Off - 5313: - - - Pressed - - Off - 5314: - - - Pressed - - Off - 5315: - - - Pressed - - Off - 5338: - - - Pressed - - Off - 5339: - - - Pressed - - Off - 17406: - - - Pressed - - Reverse - 5316: - - - Pressed - - Off - 5317: - - - Pressed - - Off - 5361: - - - Pressed - - Off - 5362: - - - Pressed - - Off - 5363: - - - Pressed - - Off - 5318: - - - Pressed - - Off - 5319: - - - Pressed - - Off - 5335: - - - Pressed - - Off - 5336: - - - Pressed - - Off - 5337: - - - Pressed - - Off - 5320: - - - Pressed - - Off - 5321: - - - Pressed - - Off - 5364: - - - Pressed - - Off - 5365: - - - Pressed - - Off - 5366: - - - Pressed - - Off - 5322: - - - Pressed - - Off - 5323: - - - Pressed - - Off - 5324: - - - Pressed - - Off - 5325: - - - Pressed - - Off - 5326: - - - Pressed - - Off - 5327: - - - Pressed - - Off - 5328: - - - Pressed - - Off - 5329: - - - Pressed - - Off - 5330: - - - Pressed - - Off - 5332: - - - Pressed - - Off - 5331: - - - Pressed - - Off - 5333: - - - Pressed - - Off - 5334: - - - Pressed - - Off - 5370: - - - Pressed - - Off - 3792: - - - Pressed - - Off - 3816: - - - Pressed - - Off - 5342: - - - Pressed - - Off - 5341: - - - Pressed - - Off - - uid: 7810 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 27.5,-24.5 - parent: 2 - - type: DeviceLinkSource - linkedPorts: - 9066: - - - Pressed - - Toggle - 9082: - - - Pressed - - Toggle - 9196: - - - Pressed - - Toggle - 8663: - - - Pressed - - Toggle - 8048: - - - Pressed - - Toggle - 7807: - - - Pressed - - Toggle - uid: 8850 components: - type: Transform @@ -96334,46 +99582,20 @@ entities: 4938: - - Pressed - Toggle - - uid: 19185 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 21.5,-24.5 - parent: 2 - - type: DeviceLinkSource - linkedPorts: - 8048: - - - Pressed - - Toggle - 7807: - - - Pressed - - Toggle - 9066: - - - Pressed - - Toggle - 9196: - - - Pressed - - Toggle - 9082: - - - Pressed - - Toggle - 8663: - - - Pressed - - Toggle - proto: SignalButtonDirectional entities: - - uid: 8558 + - uid: 5437 components: - type: Transform rot: 3.141592653589793 rad - pos: 66.5,-48.5 + pos: 65.5,-53.5 parent: 2 - type: DeviceLinkSource linkedPorts: - 7267: + 5666: - - Pressed - Toggle - 7052: + 5539: - - Pressed - Toggle - uid: 10224 @@ -96457,24 +99679,182 @@ entities: linkedPorts: 544: - - Pressed - - Toggle + - Open 546: - - Pressed - - Toggle - - uid: 13198 + - Open + - uid: 15700 components: - type: Transform rot: -1.5707963267948966 rad - pos: 32.5,-14.5 + pos: 36.5,-27.5 parent: 2 - type: DeviceLinkSource linkedPorts: - 625: + 3725: - - Pressed - - Toggle - 624: + - Forward + 6388: - - Pressed - - Toggle + - Forward + 7891: + - - Pressed + - Forward + 6396: + - - Pressed + - Forward + 3720: + - - Pressed + - Forward + 3719: + - - Pressed + - Forward + 3721: + - - Pressed + - Forward + 6400: + - - Pressed + - Forward + 1073: + - - Pressed + - Forward + 1140: + - - Pressed + - Forward + 12962: + - - Pressed + - Forward + 6397: + - - Pressed + - Forward + 6401: + - - Pressed + - Forward + 3530: + - - Pressed + - Forward + 3531: + - - Pressed + - Forward + 3729: + - - Pressed + - Forward + 6139: + - - Pressed + - Forward + 3168: + - - Pressed + - Forward + 3718: + - - Pressed + - Forward + 3717: + - - Pressed + - Forward + 8148: + - - Pressed + - Forward + 12955: + - - Pressed + - Forward + 11980: + - - Pressed + - Forward + 8089: + - - Pressed + - Forward + 11979: + - - Pressed + - Forward + 11978: + - - Pressed + - Forward + - uid: 15849 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 36.5,-29.5 + parent: 2 + - type: DeviceLinkSource + linkedPorts: + 3725: + - - Pressed + - Off + 6388: + - - Pressed + - Off + 7891: + - - Pressed + - Off + 6396: + - - Pressed + - Off + 3720: + - - Pressed + - Off + 3719: + - - Pressed + - Off + 3721: + - - Pressed + - Off + 6400: + - - Pressed + - Off + 1073: + - - Pressed + - Off + 1140: + - - Pressed + - Off + 12962: + - - Pressed + - Off + 6397: + - - Pressed + - Off + 6401: + - - Pressed + - Off + 3530: + - - Pressed + - Off + 3531: + - - Pressed + - Off + 3729: + - - Pressed + - Off + 6139: + - - Pressed + - Off + 3168: + - - Pressed + - Off + 3718: + - - Pressed + - Off + 3717: + - - Pressed + - Off + 8148: + - - Pressed + - Off + 12955: + - - Pressed + - Off + 11980: + - - Pressed + - Off + 8089: + - - Pressed + - Off + 11979: + - - Pressed + - Off + 11978: + - - Pressed + - Off - uid: 16241 components: - type: Transform @@ -96595,17 +99975,15 @@ entities: parent: 2 - proto: SignArmory entities: - - uid: 9673 + - uid: 208 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-53.5 + pos: 66.5,-35.5 parent: 2 - - uid: 11955 + - uid: 8576 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-34.5 + pos: 57.5,-45.5 parent: 2 - proto: SignAtmos entities: @@ -96614,6 +99992,16 @@ entities: - type: Transform pos: 26.5,-65.5 parent: 2 + - uid: 16106 + components: + - type: Transform + pos: 36.5,-74.5 + parent: 2 + - uid: 16109 + components: + - type: Transform + pos: 34.5,-75.5 + parent: 2 - uid: 16192 components: - type: Transform @@ -96633,18 +100021,6 @@ entities: - type: Transform pos: 4.5,-74.5 parent: 2 -- proto: SignBiohazardMed - entities: - - uid: 18890 - components: - - type: Transform - pos: 53.5,-27.5 - parent: 2 - - uid: 18891 - components: - - type: Transform - pos: 54.5,-43.5 - parent: 2 - proto: SignBridge entities: - uid: 200 @@ -96723,6 +100099,12 @@ entities: rot: -1.5707963267948966 rad pos: 16.5,-70.5 parent: 2 + - uid: 9406 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-25.5 + parent: 2 - uid: 14139 components: - type: Transform @@ -96734,11 +100116,6 @@ entities: rot: -1.5707963267948966 rad pos: 22.5,-75.5 parent: 2 - - uid: 18312 - components: - - type: Transform - pos: 20.5,-25.5 - parent: 2 - uid: 19281 components: - type: Transform @@ -96766,6 +100143,44 @@ entities: - type: Transform pos: -3.5,-50.5 parent: 2 +- proto: SignDangerMed + entities: + - uid: 17782 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,6.5 + parent: 2 + - uid: 18269 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.5,13.5 + parent: 2 + - uid: 18374 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -7.5,5.5 + parent: 2 + - uid: 18375 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,13.5 + parent: 2 + - uid: 18376 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 14.5,5.5 + parent: 2 + - uid: 18377 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -9.5,6.5 + parent: 2 - proto: SignDirectionalAtmos entities: - uid: 9434 @@ -96865,20 +100280,6 @@ entities: rot: -1.5707963267948966 rad pos: 5.5013075,-33.288094 parent: 2 -- proto: SignDirectionalBrig - entities: - - uid: 19645 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-40.5 - parent: 2 - - uid: 19648 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-31.5 - parent: 2 - proto: SignDirectionalChapel entities: - uid: 12824 @@ -96900,11 +100301,11 @@ entities: rot: 3.141592653589793 rad pos: 0.5,-58.5 parent: 2 - - uid: 14923 + - uid: 9290 components: - type: Transform rot: 3.141592653589793 rad - pos: 19.5,-26.5 + pos: 20.5,-26.5 parent: 2 - uid: 16113 components: @@ -97030,6 +100431,12 @@ entities: parent: 2 - proto: SignDirectionalEvac entities: + - uid: 516 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 44.501007,-25.282156 + parent: 2 - uid: 1830 components: - type: Transform @@ -97042,12 +100449,6 @@ entities: rot: -1.5707963267948966 rad pos: 62.5,-22.5 parent: 2 - - uid: 4358 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,-54.5 - parent: 2 - uid: 5213 components: - type: Transform @@ -97065,70 +100466,30 @@ entities: rot: -1.5707963267948966 rad pos: 44.49919,-51.71689 parent: 2 - - uid: 9284 - components: - - type: Transform - pos: 37.5,-77.5 - parent: 2 - uid: 9298 components: - type: Transform rot: -1.5707963267948966 rad pos: 52.5,-77.5 parent: 2 - - uid: 10303 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 43.5,-32.5 - parent: 2 - - uid: 10333 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,-53.5 - parent: 2 - - uid: 10646 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 21.5,-14.5 - parent: 2 - uid: 13204 components: - type: Transform rot: -1.5707963267948966 rad pos: -1.5012168,-12.284781 parent: 2 - - uid: 13650 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 76.5,-59.5 - parent: 2 - uid: 14008 components: - type: Transform rot: 3.141592653589793 rad pos: -26.501286,-54.06827 parent: 2 - - uid: 14046 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 44.5,-34.5 - parent: 2 - uid: 15790 components: - type: Transform rot: -1.5707963267948966 rad pos: -15.5,-35.5 parent: 2 - - uid: 15909 - components: - - type: Transform - pos: 43.5,-24.5 - parent: 2 - uid: 15910 components: - type: Transform @@ -97147,12 +100508,6 @@ entities: rot: 3.141592653589793 rad pos: -30.5,-15.5 parent: 2 - - uid: 16155 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 37.5,-32.5 - parent: 2 - uid: 16162 components: - type: Transform @@ -97177,6 +100532,48 @@ entities: rot: 3.141592653589793 rad pos: 26.501543,-75.28514 parent: 2 + - uid: 16358 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.499287,-25.282099 + parent: 2 + - uid: 16365 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 23.5,-14.5 + parent: 2 + - uid: 16369 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 28.50031,-21.283514 + parent: 2 + - uid: 16372 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.5,-14.5 + parent: 2 + - uid: 16414 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-45.5 + parent: 2 + - uid: 16432 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-75.5 + parent: 2 + - uid: 16979 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.4993314,-15.717761 + parent: 2 - uid: 17221 components: - type: Transform @@ -97213,15 +100610,21 @@ entities: rot: 3.141592653589793 rad pos: 7.5,-69.5 parent: 2 + - uid: 18205 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.5,3.5 + parent: 2 - uid: 18210 components: - type: Transform pos: -5.5,-4.5 parent: 2 - - uid: 18315 + - uid: 18871 components: - type: Transform - pos: 43.5,-27.5 + pos: 36.5,-77.5 parent: 2 - uid: 19406 components: @@ -97251,12 +100654,6 @@ entities: - type: Transform pos: -5.5,-0.5 parent: 2 - - uid: 19642 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-25.5 - parent: 2 - proto: SignDirectionalFood entities: - uid: 5177 @@ -97330,6 +100727,12 @@ entities: rot: -1.5707963267948966 rad pos: 18.498922,-55.715004 parent: 2 + - uid: 19736 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 39.49834,-48.28038 + parent: 2 - proto: SignDirectionalJanitor entities: - uid: 16166 @@ -97396,10 +100799,10 @@ entities: - type: Transform pos: -1.4999341,-12.716049 parent: 2 - - uid: 17821 + - uid: 16373 components: - type: Transform - pos: 22.5,-27.5 + pos: 23.5,-21.5 parent: 2 - uid: 17984 components: @@ -97479,6 +100882,12 @@ entities: rot: 1.5707963267948966 rad pos: 44.5,-51.5 parent: 2 + - uid: 10762 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 28.5,-21.5 + parent: 2 - uid: 16122 components: - type: Transform @@ -97501,6 +100910,12 @@ entities: - type: Transform pos: -1.5,-15.5 parent: 2 + - uid: 16359 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 44.5,-25.5 + parent: 2 - uid: 17813 components: - type: Transform @@ -97521,12 +100936,6 @@ entities: parent: 2 - proto: SignDirectionalSolar entities: - - uid: 6847 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 29.5,-32.5 - parent: 2 - uid: 6964 components: - type: Transform @@ -97562,6 +100971,18 @@ entities: rot: 1.5707963267948966 rad pos: 39.5,-77.5 parent: 2 + - uid: 9876 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 44.501007,-25.714556 + parent: 2 + - uid: 10773 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-25.5 + parent: 2 - uid: 14068 components: - type: Transform @@ -97592,17 +101013,29 @@ entities: rot: 1.5707963267948966 rad pos: 68.5,-70.5 parent: 2 - - uid: 16118 + - uid: 16370 components: - type: Transform rot: 1.5707963267948966 rad - pos: 37.5,-33.5 + pos: 28.499249,-21.715097 parent: 2 - - uid: 16119 + - uid: 16374 components: - type: Transform rot: 3.141592653589793 rad - pos: 45.5,-30.5 + pos: 86.5,-68.5 + parent: 2 + - uid: 16378 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 73.5,-70.5 + parent: 2 + - uid: 16420 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 62.5,-73.5 parent: 2 - uid: 17814 components: @@ -97626,11 +101059,17 @@ entities: rot: -1.5707963267948966 rad pos: -36.50103,-63.718613 parent: 2 - - uid: 18503 + - uid: 18869 components: - type: Transform rot: 1.5707963267948966 rad - pos: 27.5,-32.5 + pos: 77.5,-22.5 + parent: 2 + - uid: 18870 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 38.5,-79.5 parent: 2 - uid: 18905 components: @@ -97643,12 +101082,6 @@ entities: rot: -1.5707963267948966 rad pos: -30.500843,-58.713875 parent: 2 - - uid: 19643 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 45.5,-24.5 - parent: 2 - proto: SignDirectionalSupply entities: - uid: 16112 @@ -97656,11 +101089,6 @@ entities: - type: Transform pos: 22.498564,-59.717285 parent: 2 - - uid: 16126 - components: - - type: Transform - pos: -1.500161,-15.716451 - parent: 2 - uid: 16135 components: - type: Transform @@ -97690,6 +101118,11 @@ entities: rot: 1.5707963267948966 rad pos: -11.5,-41.5 parent: 2 + - uid: 18035 + components: + - type: Transform + pos: -4.500692,-12.716591 + parent: 2 - uid: 18202 components: - type: Transform @@ -97702,11 +101135,11 @@ entities: parent: 2 - proto: SignDisposalSpace entities: - - uid: 15409 + - uid: 19775 components: - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-76.5 + rot: 1.5707963267948966 rad + pos: 71.5,-72.5 parent: 2 - proto: SignDoors entities: @@ -97819,12 +101252,6 @@ entities: - type: Transform pos: 11.5,-70.5 parent: 2 - - uid: 19649 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-30.5 - parent: 2 - proto: SignGravity entities: - uid: 16203 @@ -97849,9 +101276,10 @@ entities: parent: 2 - proto: SignHydro1 entities: - - uid: 17987 + - uid: 14927 components: - type: Transform + rot: 1.5707963267948966 rad pos: 38.5,-47.5 parent: 2 - uid: 18313 @@ -97861,11 +101289,10 @@ entities: parent: 2 - proto: SignInterrogation entities: - - uid: 6125 + - uid: 7095 components: - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,-40.5 + pos: 50.5,-35.5 parent: 2 - proto: SignJanitor entities: @@ -97927,6 +101354,12 @@ entities: parent: 2 - proto: SignMedical entities: + - uid: 8046 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-24.5 + parent: 2 - uid: 17923 components: - type: Transform @@ -97944,23 +101377,15 @@ entities: parent: 2 - proto: SignMorgue entities: - - uid: 924 + - uid: 9303 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 21.5,-21.5 + pos: 30.5,-25.5 parent: 2 - - uid: 7775 + - uid: 14731 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 26.5,-21.5 - parent: 2 - - uid: 7776 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 29.5,-24.5 + pos: 27.5,-25.5 parent: 2 - proto: SignNews entities: @@ -97993,6 +101418,12 @@ entities: parent: 2 - proto: SignRadiationMed entities: + - uid: 10796 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -12.5,-75.5 + parent: 2 - uid: 16756 components: - type: Transform @@ -98022,10 +101453,10 @@ entities: rot: 1.5707963267948966 rad pos: -14.5,-72.5 parent: 2 - - uid: 19257 + - uid: 19128 components: - type: Transform - pos: -12.5,-74.5 + pos: -10.5,-76.5 parent: 2 - uid: 19258 components: @@ -98065,6 +101496,11 @@ entities: rot: -1.5707963267948966 rad pos: 46.5,-100.5 parent: 2 + - uid: 19731 + components: + - type: Transform + pos: 53.5,-104.5 + parent: 2 - proto: SignScience entities: - uid: 6645 @@ -98086,24 +101522,22 @@ entities: rot: 3.141592653589793 rad pos: 74.5,-24.5 parent: 2 + - uid: 3783 + components: + - type: Transform + pos: 77.5,-40.5 + parent: 2 + - uid: 7961 + components: + - type: Transform + pos: 75.5,-40.5 + parent: 2 - uid: 10775 components: - type: Transform rot: 3.141592653589793 rad pos: 76.5,-24.5 parent: 2 - - uid: 13829 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,-42.5 - parent: 2 - - uid: 18027 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 73.5,-42.5 - parent: 2 - proto: SignSecureMed entities: - uid: 6707 @@ -98117,6 +101551,18 @@ entities: rot: -1.5707963267948966 rad pos: 16.5,-90.5 parent: 2 + - uid: 15694 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 39.5,-27.5 + parent: 2 + - uid: 15696 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 45.5,-28.5 + parent: 2 - uid: 18910 components: - type: Transform @@ -98155,17 +101601,15 @@ entities: parent: 2 - proto: SignSecureSmall entities: - - uid: 11698 + - uid: 3559 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 52.5,-22.5 + pos: 53.5,-22.5 parent: 2 - - uid: 11700 + - uid: 7151 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-22.5 + pos: 51.5,-22.5 parent: 2 - uid: 11713 components: @@ -98225,17 +101669,23 @@ entities: parent: 2 - proto: SignSecurity entities: - - uid: 4875 + - uid: 3616 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-47.5 + rot: 1.5707963267948966 rad + pos: 60.5,-40.5 parent: 2 - - uid: 5015 + - uid: 3620 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-40.5 + parent: 2 + - uid: 15670 components: - type: Transform rot: -1.5707963267948966 rad - pos: 56.5,-47.5 + pos: 74.5,-45.5 parent: 2 - uid: 18041 components: @@ -98349,11 +101799,17 @@ entities: parent: 2 - proto: SignVirology entities: - - uid: 7774 + - uid: 7615 components: - type: Transform rot: -1.5707963267948966 rad - pos: 26.5,-18.5 + pos: 32.5,-21.5 + parent: 2 + - uid: 8787 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.5,-17.5 parent: 2 - proto: SingularityGenerator entities: @@ -98370,29 +101826,12 @@ entities: rot: -1.5707963267948966 rad pos: -7.5,-49.5 parent: 2 - - uid: 7053 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 39.5,-41.5 - parent: 2 - - uid: 7054 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 44.5,-42.5 - parent: 2 - uid: 7092 components: - type: Transform rot: -1.5707963267948966 rad pos: 37.5,-50.5 parent: 2 - - uid: 8036 - components: - - type: Transform - pos: 42.5,-40.5 - parent: 2 - uid: 17428 components: - type: Transform @@ -98404,12 +101843,6 @@ entities: - type: Transform pos: 20.5,-70.5 parent: 2 - - uid: 17883 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 33.5,-18.5 - parent: 2 - proto: SinkWide entities: - uid: 1875 @@ -98417,12 +101850,24 @@ entities: - type: Transform pos: -9.5,-15.5 parent: 2 + - uid: 4717 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 44.5,-42.5 + parent: 2 - uid: 5357 components: - type: Transform rot: 3.141592653589793 rad pos: 45.5,-15.5 parent: 2 + - uid: 8160 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 44.5,-43.5 + parent: 2 - uid: 14036 components: - type: Transform @@ -98435,6 +101880,13 @@ entities: rot: 3.141592653589793 rad pos: 12.5,-25.5 parent: 2 +- proto: Skub + entities: + - uid: 16871 + components: + - type: Transform + pos: -61.753063,-25.19519 + parent: 2 - proto: SmartFridge entities: - uid: 13948 @@ -98442,6 +101894,11 @@ entities: - type: Transform pos: 20.5,-27.5 parent: 2 + - uid: 16115 + components: + - type: Transform + pos: 42.5,-47.5 + parent: 2 - proto: SMESAdvanced entities: - uid: 3092 @@ -98481,16 +101938,16 @@ entities: parent: 2 - proto: SMESBasic entities: + - uid: 4344 + components: + - type: Transform + pos: 89.5,-45.5 + parent: 2 - uid: 5552 components: - type: Transform pos: -33.5,-46.5 parent: 2 - - uid: 11843 - components: - - type: Transform - pos: 87.5,-45.5 - parent: 2 - uid: 13845 components: - type: Transform @@ -98520,6 +101977,11 @@ entities: parent: 2 - proto: SodaDispenser entities: + - uid: 3742 + components: + - type: Transform + pos: 61.5,-67.5 + parent: 2 - uid: 5004 components: - type: Transform @@ -98532,12 +101994,6 @@ entities: rot: -1.5707963267948966 rad pos: 38.5,-45.5 parent: 2 - - uid: 8084 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-61.5 - parent: 2 - proto: SolarControlComputerCircuitboard entities: - uid: 18308 @@ -98547,215 +102003,210 @@ entities: parent: 2 - proto: SolarPanel entities: - - uid: 7425 - components: - - type: Transform - pos: 98.5,-55.5 - parent: 2 - - uid: 7511 - components: - - type: Transform - pos: 98.5,-33.5 - parent: 2 - - uid: 7512 - components: - - type: Transform - pos: 98.5,-34.5 - parent: 2 - - uid: 7513 - components: - - type: Transform - pos: 98.5,-35.5 - parent: 2 - - uid: 7514 - components: - - type: Transform - pos: 99.5,-36.5 - parent: 2 - - uid: 7515 - components: - - type: Transform - pos: 99.5,-37.5 - parent: 2 - - uid: 7516 - components: - - type: Transform - pos: 99.5,-38.5 - parent: 2 - - uid: 7517 - components: - - type: Transform - pos: 99.5,-39.5 - parent: 2 - - uid: 7518 - components: - - type: Transform - pos: 96.5,-34.5 - parent: 2 - - uid: 7519 - components: - - type: Transform - pos: 100.5,-41.5 - parent: 2 - - uid: 7520 - components: - - type: Transform - pos: 100.5,-42.5 - parent: 2 - - uid: 7521 - components: - - type: Transform - pos: 100.5,-43.5 - parent: 2 - - uid: 7522 - components: - - type: Transform - pos: 100.5,-44.5 - parent: 2 - - uid: 7523 - components: - - type: Transform - pos: 100.5,-45.5 - parent: 2 - - uid: 7524 - components: - - type: Transform - pos: 100.5,-46.5 - parent: 2 - - uid: 7525 - components: - - type: Transform - pos: 100.5,-47.5 - parent: 2 - - uid: 7526 - components: - - type: Transform - pos: 100.5,-48.5 - parent: 2 - - uid: 7527 - components: - - type: Transform - pos: 100.5,-49.5 - parent: 2 - - uid: 7529 - components: - - type: Transform - pos: 99.5,-51.5 - parent: 2 - - uid: 7530 - components: - - type: Transform - pos: 99.5,-52.5 - parent: 2 - - uid: 7531 + - uid: 5334 components: - type: Transform pos: 99.5,-53.5 parent: 2 - - uid: 7532 + - uid: 5335 components: - type: Transform - pos: 99.5,-54.5 + pos: 99.5,-51.5 parent: 2 - - uid: 7533 + - uid: 5336 + components: + - type: Transform + pos: 99.5,-39.5 + parent: 2 + - uid: 5337 + components: + - type: Transform + pos: 99.5,-52.5 + parent: 2 + - uid: 5338 + components: + - type: Transform + pos: 99.5,-40.5 + parent: 2 + - uid: 5339 + components: + - type: Transform + pos: 99.5,-38.5 + parent: 2 + - uid: 5341 + components: + - type: Transform + pos: 98.5,-35.5 + parent: 2 + - uid: 5342 components: - type: Transform pos: 98.5,-56.5 parent: 2 - - uid: 7534 + - uid: 5344 components: - type: Transform - pos: 98.5,-57.5 + pos: 100.5,-42.5 parent: 2 - - uid: 7538 + - uid: 5346 components: - type: Transform - pos: 96.5,-35.5 + pos: 100.5,-45.5 parent: 2 - - uid: 7539 + - uid: 5351 components: - type: Transform - pos: 97.5,-37.5 + pos: 98.5,-34.5 parent: 2 - - uid: 7540 + - uid: 5360 components: - type: Transform - pos: 97.5,-38.5 + pos: 99.5,-50.5 parent: 2 - - uid: 7541 + - uid: 5361 components: - type: Transform - pos: 97.5,-39.5 + pos: 100.5,-47.5 parent: 2 - - uid: 7542 + - uid: 5362 components: - type: Transform - pos: 97.5,-40.5 + pos: 100.5,-46.5 parent: 2 - - uid: 7543 + - uid: 5363 components: - type: Transform - pos: 98.5,-42.5 + pos: 100.5,-48.5 parent: 2 - - uid: 7544 + - uid: 5364 components: - type: Transform - pos: 98.5,-43.5 + pos: 98.5,-55.5 parent: 2 - - uid: 7545 + - uid: 5365 components: - type: Transform - pos: 98.5,-44.5 + pos: 100.5,-43.5 + parent: 2 + - uid: 5366 + components: + - type: Transform + pos: 100.5,-44.5 + parent: 2 + - uid: 6629 + components: + - type: Transform + pos: 99.5,-37.5 + parent: 2 + - uid: 7430 + components: + - type: Transform + pos: 100.5,-35.5 + parent: 2 + - uid: 7513 + components: + - type: Transform + pos: 100.5,-34.5 + parent: 2 + - uid: 7514 + components: + - type: Transform + pos: 100.5,-33.5 + parent: 2 + - uid: 7515 + components: + - type: Transform + pos: 102.5,-45.5 + parent: 2 + - uid: 7516 + components: + - type: Transform + pos: 102.5,-44.5 + parent: 2 + - uid: 7517 + components: + - type: Transform + pos: 101.5,-39.5 + parent: 2 + - uid: 7518 + components: + - type: Transform + pos: 102.5,-42.5 + parent: 2 + - uid: 7519 + components: + - type: Transform + pos: 102.5,-41.5 + parent: 2 + - uid: 7520 + components: + - type: Transform + pos: 101.5,-38.5 + parent: 2 + - uid: 7521 + components: + - type: Transform + pos: 101.5,-37.5 + parent: 2 + - uid: 7522 + components: + - type: Transform + pos: 101.5,-52.5 + parent: 2 + - uid: 7523 + components: + - type: Transform + pos: 101.5,-51.5 + parent: 2 + - uid: 7524 + components: + - type: Transform + pos: 100.5,-57.5 + parent: 2 + - uid: 7525 + components: + - type: Transform + pos: 100.5,-56.5 parent: 2 - uid: 7546 components: - type: Transform - pos: 98.5,-45.5 - parent: 2 - - uid: 7547 - components: - - type: Transform - pos: 98.5,-46.5 + pos: 102.5,-49.5 parent: 2 - uid: 7548 components: - type: Transform - pos: 98.5,-47.5 + pos: 100.5,-55.5 parent: 2 - uid: 7549 components: - type: Transform - pos: 98.5,-48.5 - parent: 2 - - uid: 7550 - components: - - type: Transform - pos: 97.5,-50.5 - parent: 2 - - uid: 7551 - components: - - type: Transform - pos: 97.5,-51.5 + pos: 101.5,-54.5 parent: 2 - uid: 7552 components: - type: Transform - pos: 97.5,-52.5 + pos: 101.5,-53.5 parent: 2 - uid: 7553 components: - type: Transform - pos: 97.5,-53.5 + pos: 102.5,-48.5 parent: 2 - - uid: 7555 + - uid: 7554 components: - type: Transform - pos: 96.5,-56.5 + pos: 101.5,-36.5 parent: 2 - - uid: 7556 + - uid: 7560 components: - type: Transform - pos: 96.5,-55.5 + pos: 102.5,-47.5 + parent: 2 + - uid: 7561 + components: + - type: Transform + pos: 102.5,-46.5 parent: 2 - uid: 8233 components: @@ -98937,6 +102388,11 @@ entities: rot: 3.141592653589793 rad pos: -56.5,-18.5 parent: 2 + - uid: 9384 + components: + - type: Transform + pos: 102.5,-43.5 + parent: 2 - proto: SpaceCash10 entities: - uid: 6742 @@ -99041,10 +102497,10 @@ entities: parent: 2 - proto: SpawnMobMcGriff entities: - - uid: 19038 + - uid: 7122 components: - type: Transform - pos: 57.5,-44.5 + pos: 54.5,-38.5 parent: 2 - proto: SpawnMobMedibot entities: @@ -99105,10 +102561,10 @@ entities: parent: 2 - proto: SpawnMobShiva entities: - - uid: 3033 + - uid: 1803 components: - type: Transform - pos: 69.5,-48.5 + pos: 69.5,-53.5 parent: 2 - proto: SpawnMobSmile entities: @@ -99126,10 +102582,10 @@ entities: parent: 2 - proto: SpawnMobXenoLonePraetorian entities: - - uid: 17410 + - uid: 20082 components: - type: Transform - pos: 75.5,-30.5 + pos: 76.5,-35.5 parent: 2 - proto: SpawnPointAtmos entities: @@ -99282,10 +102738,10 @@ entities: parent: 2 - proto: SpawnPointDetective entities: - - uid: 19062 + - uid: 18029 components: - type: Transform - pos: 70.5,-50.5 + pos: 71.5,-46.5 parent: 2 - proto: SpawnPointHeadOfPersonnel entities: @@ -99296,10 +102752,10 @@ entities: parent: 2 - proto: SpawnPointHeadOfSecurity entities: - - uid: 13986 + - uid: 5474 components: - type: Transform - pos: 71.5,-47.5 + pos: 70.5,-53.5 parent: 2 - proto: SpawnPointJanitor entities: @@ -99320,15 +102776,25 @@ entities: parent: 2 - proto: SpawnPointLawyer entities: - - uid: 19064 + - uid: 3459 components: - type: Transform - pos: 54.5,-57.5 + pos: 54.5,-55.5 parent: 2 - - uid: 19065 + - uid: 18037 components: - type: Transform - pos: 53.5,-57.5 + pos: 54.5,-56.5 + parent: 2 + - uid: 18038 + components: + - type: Transform + pos: 52.5,-56.5 + parent: 2 + - uid: 18044 + components: + - type: Transform + pos: 52.5,-55.5 parent: 2 - proto: SpawnPointLibrarian entities: @@ -99361,20 +102827,20 @@ entities: parent: 2 - proto: SpawnPointMedicalIntern entities: - - uid: 474 + - uid: 7278 components: - type: Transform - pos: 21.5,-20.5 + pos: 22.5,-19.5 parent: 2 - - uid: 9901 + - uid: 8764 components: - type: Transform pos: 20.5,-20.5 parent: 2 - - uid: 14874 + - uid: 8861 components: - type: Transform - pos: 21.5,-18.5 + pos: 22.5,-20.5 parent: 2 - proto: SpawnPointMime entities: @@ -99510,47 +102976,47 @@ entities: parent: 2 - proto: SpawnPointSecurityCadet entities: - - uid: 19059 + - uid: 908 components: - type: Transform - pos: 58.5,-36.5 + pos: 71.5,-39.5 parent: 2 - - uid: 19060 + - uid: 4628 components: - type: Transform - pos: 58.5,-37.5 + pos: 69.5,-39.5 parent: 2 - - uid: 19061 + - uid: 5142 components: - type: Transform - pos: 58.5,-38.5 + pos: 70.5,-39.5 parent: 2 - proto: SpawnPointSecurityOfficer entities: - - uid: 19039 + - uid: 599 components: - type: Transform - pos: 60.5,-31.5 + pos: 50.5,-32.5 parent: 2 - - uid: 19057 + - uid: 625 components: - type: Transform - pos: 63.5,-39.5 + pos: 59.5,-27.5 parent: 2 - - uid: 19058 + - uid: 862 components: - type: Transform - pos: 59.5,-35.5 + pos: 64.5,-43.5 parent: 2 - - uid: 19063 + - uid: 3578 components: - type: Transform - pos: 58.5,-35.5 + pos: 50.5,-33.5 parent: 2 - - uid: 19067 + - uid: 4428 components: - type: Transform - pos: 65.5,-35.5 + pos: 58.5,-27.5 parent: 2 - proto: SpawnPointServiceWorker entities: @@ -99615,10 +103081,10 @@ entities: parent: 2 - proto: SpawnPointWarden entities: - - uid: 19037 + - uid: 7098 components: - type: Transform - pos: 57.5,-43.5 + pos: 54.5,-37.5 parent: 2 - proto: SpawnVendingMachineRestockFoodDrink entities: @@ -99642,14 +103108,14 @@ entities: - uid: 7337 components: - type: Transform - pos: 80.55358,-27.356148 + pos: 78.48892,-25.591612 parent: 2 - proto: SpeedLoaderMagnum entities: - - uid: 17851 + - uid: 10259 components: - type: Transform - pos: 67.51773,-52.43789 + pos: 68.498024,-48.389458 parent: 2 - proto: SprayBottle entities: @@ -99674,10 +103140,15 @@ entities: Quantity: 50 - proto: SprayBottleSpaceCleaner entities: - - uid: 7182 + - uid: 6971 components: - type: Transform - pos: 58.312195,-71.26866 + pos: -37.288506,-76.45576 + parent: 2 + - uid: 11866 + components: + - type: Transform + pos: 72.36833,-67.33941 parent: 2 - uid: 17417 components: @@ -99860,12 +103331,6 @@ entities: parent: 2 - proto: StairStageDark entities: - - uid: 2962 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -41.5,-75.5 - parent: 2 - uid: 17041 components: - type: Transform @@ -99878,6 +103343,23 @@ entities: rot: 3.141592653589793 rad pos: -7.5,-79.5 parent: 2 + - uid: 17118 + components: + - type: Transform + pos: -40.5,-78.5 + parent: 2 + - uid: 17347 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -41.5,-77.5 + parent: 2 + - uid: 17352 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -39.5,-77.5 + parent: 2 - uid: 17667 components: - type: Transform @@ -99890,17 +103372,6 @@ entities: rot: 1.5707963267948966 rad pos: -46.5,-13.5 parent: 2 - - uid: 18374 - components: - - type: Transform - pos: -41.5,-77.5 - parent: 2 - - uid: 18375 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -40.5,-76.5 - parent: 2 - proto: StasisBed entities: - uid: 5223 @@ -99922,16 +103393,16 @@ entities: parent: 2 - proto: StationAiUploadComputer entities: - - uid: 10839 - components: - - type: Transform - pos: 79.5,-43.5 - parent: 2 - - uid: 17659 + - uid: 7413 components: - type: Transform rot: 3.141592653589793 rad - pos: 79.5,-47.5 + pos: 81.5,-47.5 + parent: 2 + - uid: 7536 + components: + - type: Transform + pos: 81.5,-43.5 parent: 2 - proto: StationAnchor entities: @@ -99945,14 +103416,14 @@ entities: - uid: 17336 components: - type: Transform - pos: 70.44866,-69.44586 + pos: 57.362057,-63.55035 parent: 2 - proto: StationEfficiencyCircuitBoard entities: - uid: 18625 components: - type: Transform - pos: 77.398285,-47.303596 + pos: 78.51944,-47.473473 parent: 2 - proto: StationMap entities: @@ -99967,10 +103438,11 @@ entities: rot: -1.5707963267948966 rad pos: 16.5,-86.5 parent: 2 - - uid: 6628 + - uid: 6270 components: - type: Transform - pos: 53.5,-48.5 + rot: 1.5707963267948966 rad + pos: 24.5,-19.5 parent: 2 - uid: 6959 components: @@ -99984,6 +103456,11 @@ entities: rot: 1.5707963267948966 rad pos: 16.5,-92.5 parent: 2 + - uid: 7096 + components: + - type: Transform + pos: 52.5,-22.5 + parent: 2 - uid: 13197 components: - type: Transform @@ -100006,11 +103483,6 @@ entities: - type: Transform pos: 4.5,-4.5 parent: 2 - - uid: 14823 - components: - - type: Transform - pos: 51.5,-22.5 - parent: 2 - uid: 14827 components: - type: Transform @@ -100040,11 +103512,11 @@ entities: rot: 1.5707963267948966 rad pos: 7.5,-70.5 parent: 2 - - uid: 18205 + - uid: 18834 components: - type: Transform rot: 1.5707963267948966 rad - pos: 22.5,-32.5 + pos: 22.5,-31.5 parent: 2 - proto: SteelBench entities: @@ -100096,11 +103568,11 @@ entities: rot: 3.141592653589793 rad pos: -20.5,-41.5 parent: 2 - - uid: 13721 + - uid: 7781 components: - type: Transform - rot: 3.141592653589793 rad - pos: 49.5,-15.5 + rot: 1.5707963267948966 rad + pos: 21.5,-17.5 parent: 2 - uid: 14342 components: @@ -100148,6 +103620,12 @@ entities: parent: 2 - proto: StoolBar entities: + - uid: 2951 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-71.5 + parent: 2 - uid: 7057 components: - type: Transform @@ -100166,23 +103644,17 @@ entities: rot: 1.5707963267948966 rad pos: 34.5,-44.5 parent: 2 - - uid: 8085 + - uid: 8166 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 73.5,-63.5 + rot: 3.141592653589793 rad + pos: 61.5,-71.5 parent: 2 - - uid: 8086 + - uid: 10310 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 73.5,-62.5 - parent: 2 - - uid: 8087 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 73.5,-61.5 + rot: 3.141592653589793 rad + pos: 59.5,-71.5 parent: 2 - proto: StorageCanister entities: @@ -100228,15 +103700,15 @@ entities: parent: 2 - proto: Stunbaton entities: - - uid: 15394 + - uid: 16289 components: - type: Transform - pos: 60.24117,-36.438633 + pos: 72.24739,-40.467445 parent: 2 - - uid: 15404 + - uid: 16290 components: - type: Transform - pos: 60.393944,-36.61005 + pos: 72.37239,-40.623806 parent: 2 - uid: 19378 components: @@ -100254,12 +103726,12 @@ entities: - type: Transform pos: -62.5,-65.5 parent: 2 - - uid: 3066 + - uid: 3128 components: - type: MetaData - name: Security substation + name: Bar & Kitchen substation - type: Transform - pos: 70.5,-38.5 + pos: 46.5,-40.5 parent: 2 - uid: 4317 components: @@ -100303,6 +103775,13 @@ entities: - type: Transform pos: 4.5,-63.5 parent: 2 + - uid: 6617 + components: + - type: MetaData + name: Security substation + - type: Transform + pos: 50.5,-28.5 + parent: 2 - uid: 6929 components: - type: MetaData @@ -100310,20 +103789,6 @@ entities: - type: Transform pos: 33.5,-95.5 parent: 2 - - uid: 7238 - components: - - type: MetaData - name: Bar & Kitchen substation - - type: Transform - pos: 48.5,-37.5 - parent: 2 - - uid: 7422 - components: - - type: MetaData - name: AI Core substation - - type: Transform - pos: 93.5,-45.5 - parent: 2 - uid: 8174 components: - type: MetaData @@ -100338,6 +103803,13 @@ entities: - type: Transform pos: -54.5,-23.5 parent: 2 + - uid: 10835 + components: + - type: MetaData + name: AI Core substation + - type: Transform + pos: 95.5,-45.5 + parent: 2 - uid: 15019 components: - type: MetaData @@ -100523,10 +103995,10 @@ entities: parent: 2 - proto: SuitStorageHOS entities: - - uid: 13801 + - uid: 3446 components: - type: Transform - pos: 70.5,-45.5 + pos: 70.5,-51.5 parent: 2 - proto: SuitStorageRD entities: @@ -100554,38 +104026,25 @@ entities: parent: 2 - proto: SuitStorageSec entities: - - uid: 271 + - uid: 1226 components: - type: Transform - pos: 60.5,-59.5 + pos: 60.5,-51.5 parent: 2 - - uid: 3325 + - uid: 2219 components: - type: Transform - pos: 61.5,-59.5 + pos: 61.5,-51.5 parent: 2 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14673 - moles: - - 1.7459903 - - 6.568249 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - uid: 7223 + - uid: 7157 components: - type: Transform - pos: 69.5,-33.5 + pos: 69.5,-36.5 + parent: 2 + - uid: 7226 + components: + - type: Transform + pos: 59.5,-51.5 parent: 2 - uid: 7227 components: @@ -100597,42 +104056,26 @@ entities: - type: Transform pos: 69.5,-35.5 parent: 2 - - uid: 13857 - components: - - type: Transform - pos: 59.5,-59.5 - parent: 2 - proto: SuitStorageWarden entities: - - uid: 7273 + - uid: 5413 components: - type: Transform - pos: 57.5,-41.5 + pos: 55.5,-39.5 parent: 2 - proto: SurveillanceCameraCommand entities: - - uid: 7240 + - uid: 7593 components: - type: Transform rot: 1.5707963267948966 rad - pos: 87.5,-46.5 + pos: 89.5,-46.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraCommand nameSet: True - id: AI Core, Pathway - - uid: 7438 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 92.5,-53.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraCommand - nameSet: True - id: AI Core Outside, South + id: AI Core, Consoles - uid: 8044 components: - type: Transform @@ -100644,28 +104087,17 @@ entities: - SurveillanceCameraCommand nameSet: True id: Bridge, Telecomms - - uid: 16311 + - uid: 10828 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 76.5,-46.5 + rot: 1.5707963267948966 rad + pos: 94.5,-44.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraCommand nameSet: True - id: AI Upload - - uid: 16344 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 74.5,-45.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraCommand - nameSet: True - id: AI Upload Entrance + id: AI Core, Core - uid: 17595 components: - type: Transform @@ -100753,17 +104185,6 @@ entities: - SurveillanceCameraCommand nameSet: True id: Bridge, Front - - uid: 17661 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 92.5,-44.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraCommand - nameSet: True - id: AI Core, Core - uid: 17676 components: - type: Transform @@ -100775,6 +104196,17 @@ entities: - SurveillanceCameraCommand nameSet: True id: Nuke Containment + - uid: 18385 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 84.5,-49.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: AI Core, South Entrance - uid: 18558 components: - type: Transform @@ -100786,48 +104218,59 @@ entities: - SurveillanceCameraCommand nameSet: True id: Bridge, Northwest - - uid: 18723 + - uid: 18872 + components: + - type: Transform + pos: 84.5,-41.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: AI Core, North Entrance + - uid: 18873 + components: + - type: Transform + pos: 94.5,-37.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: AI Core, North Outside + - uid: 18874 components: - type: Transform rot: 3.141592653589793 rad - pos: 82.5,-49.5 + pos: 94.5,-53.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraCommand nameSet: True - id: AI Core Entrance, South - - uid: 18724 - components: - - type: Transform - pos: 82.5,-41.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraCommand - nameSet: True - id: AI Core Entrance, North - - uid: 18725 + id: AI Core, South Outside + - uid: 18875 components: - type: Transform rot: -1.5707963267948966 rad - pos: 97.5,-45.5 + pos: 99.5,-45.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraCommand nameSet: True - id: AI Core Outside, East - - uid: 18726 + id: AI Core, East Outside + - uid: 18884 components: - type: Transform - pos: 92.5,-37.5 + rot: 1.5707963267948966 rad + pos: 76.5,-44.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraCommand nameSet: True - id: AI Core Outside, North + id: AI Upload Entrance - uid: 19040 components: - type: Transform @@ -100852,17 +104295,6 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Singularity Chamber, North - - uid: 12792 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,-70.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Atmos Hall, Southeast - uid: 12793 components: - type: Transform @@ -101066,17 +104498,6 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Singularity Chamber, South - - uid: 19607 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 53.5,-65.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Burn Chamber Entrance - uid: 19609 components: - type: Transform @@ -101111,17 +104532,16 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Arrivals, Medical - - uid: 15173 + - uid: 10778 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 23.5,-28.5 + pos: 36.5,-24.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraGeneral nameSet: True - id: Morgue Hallway + id: Medical/Genpop Hallway - uid: 16546 components: - type: Transform @@ -101186,17 +104606,6 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Roundabout, Southwest - - uid: 17646 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 25.5,-18.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraGeneral - nameSet: True - id: Virology Hallway - uid: 17647 components: - type: Transform @@ -101304,7 +104713,7 @@ entities: setupAvailableNetworks: - SurveillanceCameraGeneral nameSet: True - id: Security Hallway + id: Lawyer Hallway - uid: 18555 components: - type: Transform @@ -101392,16 +104801,6 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Library Hallway - - uid: 18731 - components: - - type: Transform - pos: 21.5,-13.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraGeneral - nameSet: True - id: Visitor Shuttle Dock - uid: 18741 components: - type: Transform @@ -101466,6 +104865,39 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Engineering Hallway + - uid: 19218 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 50.5,-44.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Security Hallway + - uid: 19243 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 25.5,-18.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Medical/Virology Hallway + - uid: 19244 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 26.5,-11.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Visitor Docks - uid: 19608 components: - type: Transform @@ -101477,6 +104909,17 @@ entities: - SurveillanceCameraGeneral nameSet: True id: HoP Hallway + - uid: 19842 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 23.5,-27.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Medical/Morgue Hallway - proto: SurveillanceCameraMedical entities: - uid: 17592 @@ -101532,27 +104975,6 @@ entities: - SurveillanceCameraMedical nameSet: True id: CMO's Office - - uid: 17643 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 31.5,-16.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraMedical - nameSet: True - id: Virology Workspace - - uid: 17644 - components: - - type: Transform - pos: 29.5,-23.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraMedical - nameSet: True - id: Virology Waiting Room - uid: 18539 components: - type: Transform @@ -101574,16 +104996,38 @@ entities: - SurveillanceCameraMedical nameSet: True id: Medical Outpost - - uid: 19022 + - uid: 18908 components: - type: Transform - pos: 31.5,-29.5 + rot: 3.141592653589793 rad + pos: 31.5,-26.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraMedical nameSet: True id: Morgue + - uid: 19245 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 33.5,-17.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraMedical + nameSet: True + id: Virology Waiting Room + - uid: 19246 + components: + - type: Transform + pos: 34.5,-15.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraMedical + nameSet: True + id: Virology Work Area - uid: 19606 components: - type: Transform @@ -101611,10 +105055,10 @@ entities: parent: 2 - proto: SurveillanceCameraRouterGeneral entities: - - uid: 18007 + - uid: 7539 components: - type: Transform - pos: 83.5,-43.5 + pos: 85.5,-43.5 parent: 2 - proto: SurveillanceCameraRouterMedical entities: @@ -101632,10 +105076,10 @@ entities: parent: 2 - proto: SurveillanceCameraRouterSecurity entities: - - uid: 3087 + - uid: 7782 components: - type: Transform - pos: 68.5,-37.5 + pos: 52.5,-28.5 parent: 2 - proto: SurveillanceCameraRouterService entities: @@ -101719,49 +105163,6 @@ entities: - SurveillanceCameraSecurity nameSet: True id: Security Outpost - - uid: 7212 - components: - - type: Transform - pos: 68.5,-35.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraSecurity - nameSet: True - id: Mini-Armory - - uid: 11940 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-48.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraSecurity - nameSet: True - id: Security Entrance - - uid: 13856 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-44.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraSecurity - nameSet: True - id: Warden's Office - - uid: 14568 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 72.5,-41.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraSecurity - nameSet: True - id: Interrogation Room - uid: 14573 components: - type: Transform @@ -101773,17 +105174,6 @@ entities: - SurveillanceCameraSecurity nameSet: True id: Genpop, Exit - - uid: 14574 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-27.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraSecurity - nameSet: True - id: Genpop, Lockers - uid: 14806 components: - type: Transform @@ -101817,28 +105207,6 @@ entities: - SurveillanceCameraSecurity nameSet: True id: Genpop, Containment Area - - uid: 15451 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-47.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraSecurity - nameSet: True - id: HoS' Office - - uid: 15455 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-36.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraSecurity - nameSet: True - id: Security Hall - uid: 15456 components: - type: Transform @@ -101850,62 +105218,126 @@ entities: - SurveillanceCameraSecurity nameSet: True id: Genpop Crossing - - uid: 15457 + - uid: 19223 components: - type: Transform rot: 1.5707963267948966 rad - pos: 62.5,-55.5 + pos: 59.5,-37.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraSecurity nameSet: True - id: Main Armory - - uid: 15459 + id: Warden's Office + - uid: 19224 components: - type: Transform rot: -1.5707963267948966 rad - pos: 57.5,-37.5 + pos: 58.5,-48.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraSecurity nameSet: True - id: Locker Room - - uid: 16285 + id: Armory + - uid: 19225 components: - type: Transform - pos: 60.5,-32.5 + pos: 65.5,-52.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraSecurity nameSet: True - id: Brigmed - - uid: 18293 + id: HoS's Office + - uid: 19226 components: - type: Transform rot: 1.5707963267948966 rad - pos: 72.5,-50.5 + pos: 73.5,-46.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraSecurity nameSet: True id: Detective's Office -- proto: SurveillanceCameraService - entities: - - uid: 7213 + - uid: 19227 components: - type: Transform rot: 3.141592653589793 rad - pos: 54.5,-54.5 + pos: 67.5,-43.5 parent: 2 - type: SurveillanceCamera setupAvailableNetworks: - - SurveillanceCameraService + - SurveillanceCameraSecurity nameSet: True - id: Lawyer's Office + id: South Front Desk + - uid: 19228 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 72.5,-40.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraSecurity + nameSet: True + id: Locker Room + - uid: 19229 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-33.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraSecurity + nameSet: True + id: Mini-Armory + - uid: 19230 + components: + - type: Transform + pos: 53.5,-34.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraSecurity + nameSet: True + id: Brigmed + - uid: 19231 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-36.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraSecurity + nameSet: True + id: Interrogation + - uid: 19232 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 64.5,-27.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraSecurity + nameSet: True + id: Genpop Locker Room + - uid: 19233 + components: + - type: Transform + pos: 60.5,-29.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraSecurity + nameSet: True + id: North Front Desk +- proto: SurveillanceCameraService + entities: - uid: 15171 components: - type: Transform @@ -101917,17 +105349,6 @@ entities: - SurveillanceCameraService nameSet: True id: Bartender Backroom - - uid: 15172 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 46.5,-42.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraService - nameSet: True - id: Freezer - uid: 17596 components: - type: Transform @@ -101959,17 +105380,6 @@ entities: - SurveillanceCameraService nameSet: True id: Chapel - - uid: 17641 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 44.5,-44.5 - parent: 2 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraService - nameSet: True - id: Kitchen - uid: 17642 components: - type: Transform @@ -102003,6 +105413,38 @@ entities: - SurveillanceCameraService nameSet: True id: Library + - uid: 18887 + components: + - type: Transform + pos: 54.5,-57.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraService + nameSet: True + id: Lawyer's Office + - uid: 18888 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 44.5,-43.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraService + nameSet: True + id: Kitchen + - uid: 18890 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 73.5,-61.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraService + nameSet: True + id: Disposals - uid: 19042 components: - type: Transform @@ -102202,20 +105644,30 @@ entities: parent: 2 - proto: Syringe entities: + - uid: 4253 + components: + - type: Transform + pos: 36.476048,-11.482354 + parent: 2 + - uid: 4425 + components: + - type: Transform + pos: 36.507298,-11.763604 + parent: 2 - uid: 5220 components: - type: Transform - pos: 19.309967,-24.307837 + pos: 20.240992,-24.33725 parent: 2 - - uid: 15226 + - uid: 8078 components: - type: Transform - pos: 42.491875,-29.366682 + pos: 68.53264,-65.37312 parent: 2 - uid: 15487 components: - type: Transform - pos: 60.567352,-32.410225 + pos: 50.556988,-34.384045 parent: 2 - uid: 17704 components: @@ -102244,20 +105696,20 @@ entities: - type: Transform pos: 21.5,-19.5 parent: 2 - - uid: 599 - components: - - type: Transform - pos: 20.5,-19.5 - parent: 2 - uid: 1152 components: - type: Transform pos: -14.5,-61.5 parent: 2 - - uid: 1681 + - uid: 1169 components: - type: Transform - pos: 57.5,-28.5 + pos: 29.5,-12.5 + parent: 2 + - uid: 1446 + components: + - type: Transform + pos: 29.5,-13.5 parent: 2 - uid: 1802 components: @@ -102265,6 +105717,11 @@ entities: rot: 3.141592653589793 rad pos: -3.5,-19.5 parent: 2 + - uid: 2294 + components: + - type: Transform + pos: 69.5,-41.5 + parent: 2 - uid: 2533 components: - type: Transform @@ -102285,11 +105742,22 @@ entities: - type: Transform pos: -21.5,-64.5 parent: 2 + - uid: 3519 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-54.5 + parent: 2 - uid: 3534 components: - type: Transform pos: 35.5,-45.5 parent: 2 + - uid: 3602 + components: + - type: Transform + pos: 53.5,-55.5 + parent: 2 - uid: 3895 components: - type: Transform @@ -102310,6 +105778,16 @@ entities: - type: Transform pos: 23.5,-85.5 parent: 2 + - uid: 4615 + components: + - type: Transform + pos: 21.5,-20.5 + parent: 2 + - uid: 4616 + components: + - type: Transform + pos: 30.5,-16.5 + parent: 2 - uid: 4855 components: - type: Transform @@ -102435,6 +105913,11 @@ entities: - type: Transform pos: -3.5,-47.5 parent: 2 + - uid: 5216 + components: + - type: Transform + pos: 20.5,-24.5 + parent: 2 - uid: 5218 components: - type: Transform @@ -102480,15 +105963,10 @@ entities: - type: Transform pos: 48.5,-15.5 parent: 2 - - uid: 5421 + - uid: 5416 components: - type: Transform - pos: 28.5,-17.5 - parent: 2 - - uid: 5422 - components: - - type: Transform - pos: 30.5,-17.5 + pos: 68.5,-20.5 parent: 2 - uid: 5636 components: @@ -102545,6 +106023,18 @@ entities: - type: Transform pos: 21.5,-61.5 parent: 2 + - uid: 6861 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-99.5 + parent: 2 + - uid: 6862 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-98.5 + parent: 2 - uid: 6895 components: - type: Transform @@ -102555,16 +106045,6 @@ entities: - type: Transform pos: 52.5,-98.5 parent: 2 - - uid: 6915 - components: - - type: Transform - pos: 51.5,-99.5 - parent: 2 - - uid: 6922 - components: - - type: Transform - pos: 51.5,-98.5 - parent: 2 - uid: 6991 components: - type: Transform @@ -102625,11 +106105,6 @@ entities: - type: Transform pos: 27.5,-45.5 parent: 2 - - uid: 7215 - components: - - type: Transform - pos: 62.5,-40.5 - parent: 2 - uid: 7280 components: - type: Transform @@ -102640,6 +106115,16 @@ entities: - type: Transform pos: -24.5,-14.5 parent: 2 + - uid: 7308 + components: + - type: Transform + pos: 65.5,-31.5 + parent: 2 + - uid: 7586 + components: + - type: Transform + pos: 64.5,-46.5 + parent: 2 - uid: 7663 components: - type: Transform @@ -102655,15 +106140,17 @@ entities: - type: Transform pos: 77.5,-21.5 parent: 2 - - uid: 7741 + - uid: 7739 components: - type: Transform - pos: 65.5,-34.5 + rot: -1.5707963267948966 rad + pos: 33.5,-20.5 parent: 2 - - uid: 7777 + - uid: 7779 components: - type: Transform - pos: 28.5,-12.5 + rot: -1.5707963267948966 rad + pos: 66.5,-29.5 parent: 2 - uid: 7879 components: @@ -102686,40 +106173,25 @@ entities: - type: Transform pos: -3.5,-22.5 parent: 2 - - uid: 8574 + - uid: 9289 components: - type: Transform - pos: 49.5,-25.5 + pos: 65.5,-32.5 parent: 2 - - uid: 8682 + - uid: 9333 components: - type: Transform - pos: 27.5,-13.5 + pos: 64.5,-45.5 parent: 2 - - uid: 10249 + - uid: 9363 components: - type: Transform - pos: 60.5,-32.5 + pos: 32.5,-16.5 parent: 2 - - uid: 10409 + - uid: 9459 components: - type: Transform - pos: 49.5,-56.5 - parent: 2 - - uid: 10748 - components: - - type: Transform - pos: 57.5,-32.5 - parent: 2 - - uid: 10784 - components: - - type: Transform - pos: 55.5,-56.5 - parent: 2 - - uid: 10818 - components: - - type: Transform - pos: 54.5,-56.5 + pos: 20.5,-17.5 parent: 2 - uid: 11772 components: @@ -102741,26 +106213,11 @@ entities: - type: Transform pos: -0.5,-57.5 parent: 2 - - uid: 13830 - components: - - type: Transform - pos: 62.5,-32.5 - parent: 2 - uid: 13860 components: - type: Transform pos: 67.5,-35.5 parent: 2 - - uid: 13902 - components: - - type: Transform - pos: 62.5,-31.5 - parent: 2 - - uid: 14295 - components: - - type: Transform - pos: 60.5,-39.5 - parent: 2 - uid: 14624 components: - type: Transform @@ -102771,21 +106228,6 @@ entities: - type: Transform pos: 16.5,-15.5 parent: 2 - - uid: 14922 - components: - - type: Transform - pos: 19.5,-24.5 - parent: 2 - - uid: 14925 - components: - - type: Transform - pos: 17.5,-17.5 - parent: 2 - - uid: 15104 - components: - - type: Transform - pos: 49.5,-49.5 - parent: 2 - uid: 15128 components: - type: Transform @@ -102836,16 +106278,6 @@ entities: - type: Transform pos: 1.5,-62.5 parent: 2 - - uid: 17909 - components: - - type: Transform - pos: 34.5,-11.5 - parent: 2 - - uid: 17910 - components: - - type: Transform - pos: 35.5,-11.5 - parent: 2 - uid: 17931 components: - type: Transform @@ -102871,11 +106303,6 @@ entities: - type: Transform pos: -21.5,-66.5 parent: 2 - - uid: 18272 - components: - - type: Transform - pos: 66.5,-17.5 - parent: 2 - uid: 18318 components: - type: Transform @@ -102888,18 +106315,6 @@ entities: parent: 2 - proto: TableCarpet entities: - - uid: 4876 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-53.5 - parent: 2 - - uid: 6165 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-50.5 - parent: 2 - uid: 6722 components: - type: Transform @@ -102945,11 +106360,26 @@ entities: - type: Transform pos: 13.5,-96.5 parent: 2 - - uid: 7984 + - uid: 7236 components: - type: Transform rot: -1.5707963267948966 rad - pos: 69.5,-51.5 + pos: 71.5,-47.5 + parent: 2 + - uid: 7970 + components: + - type: Transform + pos: 68.5,-48.5 + parent: 2 + - uid: 8575 + components: + - type: Transform + pos: 70.5,-46.5 + parent: 2 + - uid: 9295 + components: + - type: Transform + pos: 70.5,-47.5 parent: 2 - uid: 14294 components: @@ -102961,18 +106391,6 @@ entities: - type: Transform pos: 27.5,-38.5 parent: 2 - - uid: 17734 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 70.5,-51.5 - parent: 2 - - uid: 17798 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 67.5,-52.5 - parent: 2 - proto: TableCounterMetal entities: - uid: 1433 @@ -103064,64 +106482,58 @@ entities: parent: 2 - proto: TableFrame entities: - - uid: 7330 + - uid: 3145 components: - type: Transform - pos: 80.5,-29.5 + rot: -1.5707963267948966 rad + pos: 61.5,-67.5 parent: 2 - - uid: 8074 + - uid: 3146 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-70.5 + parent: 2 + - uid: 3164 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-70.5 + parent: 2 + - uid: 5312 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-70.5 + parent: 2 + - uid: 5313 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-69.5 + parent: 2 + - uid: 5329 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-67.5 + parent: 2 + - uid: 7389 + components: + - type: Transform + pos: 59.5,-76.5 + parent: 2 + - uid: 7722 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-70.5 + parent: 2 + - uid: 10313 components: - type: Transform rot: 3.141592653589793 rad - pos: 72.5,-64.5 - parent: 2 - - uid: 8075 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 72.5,-63.5 - parent: 2 - - uid: 8076 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 72.5,-62.5 - parent: 2 - - uid: 8077 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,-64.5 - parent: 2 - - uid: 8078 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 72.5,-61.5 - parent: 2 - - uid: 8081 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,-61.5 - parent: 2 - - uid: 8082 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,-62.5 - parent: 2 - - uid: 8088 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 71.5,-64.5 - parent: 2 - - uid: 11907 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 76.5,-61.5 + pos: 59.5,-73.5 parent: 2 - uid: 17017 components: @@ -103131,6 +106543,11 @@ entities: parent: 2 - proto: TableGlass entities: + - uid: 451 + components: + - type: Transform + pos: 50.5,-31.5 + parent: 2 - uid: 458 components: - type: Transform @@ -103176,6 +106593,12 @@ entities: - type: Transform pos: 12.5,-70.5 parent: 2 + - uid: 8412 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 50.5,-34.5 + parent: 2 - uid: 17338 components: - type: Transform @@ -103193,6 +106616,11 @@ entities: parent: 2 - proto: TablePlasmaGlass entities: + - uid: 455 + components: + - type: Transform + pos: 36.5,-11.5 + parent: 2 - uid: 2152 components: - type: Transform @@ -103223,20 +106651,20 @@ entities: - type: Transform pos: -9.5,-77.5 parent: 2 - - uid: 7783 + - uid: 7172 components: - type: Transform - pos: 27.5,-16.5 + pos: 32.5,-12.5 parent: 2 - - uid: 7784 + - uid: 7737 components: - type: Transform - pos: 27.5,-15.5 + pos: 36.5,-12.5 parent: 2 - - uid: 7793 + - uid: 7741 components: - type: Transform - pos: 31.5,-12.5 + pos: 36.5,-13.5 parent: 2 - uid: 9111 components: @@ -103248,6 +106676,11 @@ entities: - type: Transform pos: -5.5,-28.5 parent: 2 + - uid: 9589 + components: + - type: Transform + pos: 34.5,-13.5 + parent: 2 - uid: 12416 components: - type: Transform @@ -103300,6 +106733,11 @@ entities: parent: 2 - proto: TableReinforced entities: + - uid: 374 + components: + - type: Transform + pos: 57.5,-40.5 + parent: 2 - uid: 736 components: - type: Transform @@ -103320,6 +106758,11 @@ entities: - type: Transform pos: 32.5,-91.5 parent: 2 + - uid: 1877 + components: + - type: Transform + pos: 68.5,-53.5 + parent: 2 - uid: 2331 components: - type: Transform @@ -103335,15 +106778,16 @@ entities: - type: Transform pos: -31.5,-64.5 parent: 2 - - uid: 3083 + - uid: 3539 components: - type: Transform - pos: 67.5,-48.5 + rot: -1.5707963267948966 rad + pos: 67.5,-51.5 parent: 2 - - uid: 3530 + - uid: 3621 components: - type: Transform - pos: 68.5,-48.5 + pos: 58.5,-40.5 parent: 2 - uid: 3884 components: @@ -103360,6 +106804,17 @@ entities: - type: Transform pos: 31.5,-89.5 parent: 2 + - uid: 4187 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-50.5 + parent: 2 + - uid: 4272 + components: + - type: Transform + pos: 67.5,-53.5 + parent: 2 - uid: 4330 components: - type: Transform @@ -103385,6 +106840,11 @@ entities: - type: Transform pos: -44.5,-45.5 parent: 2 + - uid: 4711 + components: + - type: Transform + pos: 66.5,-53.5 + parent: 2 - uid: 4856 components: - type: Transform @@ -103395,6 +106855,11 @@ entities: - type: Transform pos: 6.5,-49.5 parent: 2 + - uid: 4875 + components: + - type: Transform + pos: 57.5,-35.5 + parent: 2 - uid: 5348 components: - type: Transform @@ -103465,6 +106930,11 @@ entities: - type: Transform pos: -56.5,-61.5 parent: 2 + - uid: 6088 + components: + - type: Transform + pos: 56.5,-39.5 + parent: 2 - uid: 6150 components: - type: Transform @@ -103575,20 +107045,32 @@ entities: - type: Transform pos: 12.5,-98.5 parent: 2 + - uid: 7212 + components: + - type: Transform + pos: 57.5,-28.5 + parent: 2 + - uid: 7266 + components: + - type: Transform + pos: 58.5,-35.5 + parent: 2 - uid: 7299 components: - type: Transform pos: -56.5,-28.5 parent: 2 - - uid: 7658 + - uid: 7591 components: - type: Transform - pos: 77.5,-47.5 + rot: 1.5707963267948966 rad + pos: 80.5,-43.5 parent: 2 - - uid: 8167 + - uid: 7592 components: - type: Transform - pos: 77.5,-43.5 + rot: 1.5707963267948966 rad + pos: 79.5,-43.5 parent: 2 - uid: 8959 components: @@ -103600,11 +107082,26 @@ entities: - type: Transform pos: 23.5,-89.5 parent: 2 + - uid: 9221 + components: + - type: Transform + pos: 57.5,-27.5 + parent: 2 - uid: 9445 components: - type: Transform pos: -48.5,-45.5 parent: 2 + - uid: 9889 + components: + - type: Transform + pos: 63.5,-42.5 + parent: 2 + - uid: 9890 + components: + - type: Transform + pos: 63.5,-43.5 + parent: 2 - uid: 10101 components: - type: Transform @@ -103615,70 +107112,32 @@ entities: - type: Transform pos: -47.5,-45.5 parent: 2 - - uid: 10245 - components: - - type: Transform - pos: 57.5,-46.5 - parent: 2 - - uid: 10798 - components: - - type: Transform - pos: 67.5,-45.5 - parent: 2 - - uid: 10815 - components: - - type: Transform - pos: 67.5,-46.5 - parent: 2 - uid: 12145 components: - type: Transform pos: 15.5,-61.5 parent: 2 - - uid: 13859 + - uid: 12944 components: - type: Transform - pos: 76.5,-47.5 + pos: 51.5,-37.5 parent: 2 - - uid: 15477 + - uid: 14918 components: - type: Transform - pos: 61.5,-42.5 + pos: 50.5,-37.5 parent: 2 - - uid: 15479 + - uid: 15172 components: - type: Transform - pos: 61.5,-43.5 + rot: 1.5707963267948966 rad + pos: 79.5,-47.5 parent: 2 - - uid: 15480 + - uid: 15174 components: - type: Transform - pos: 58.5,-47.5 - parent: 2 - - uid: 15481 - components: - - type: Transform - pos: 59.5,-47.5 - parent: 2 - - uid: 15484 - components: - - type: Transform - pos: 60.5,-47.5 - parent: 2 - - uid: 17264 - components: - - type: Transform - pos: 76.5,-43.5 - parent: 2 - - uid: 17269 - components: - - type: Transform - pos: 72.5,-42.5 - parent: 2 - - uid: 17270 - components: - - type: Transform - pos: 71.5,-42.5 + rot: 1.5707963267948966 rad + pos: 80.5,-47.5 parent: 2 - uid: 17271 components: @@ -103738,25 +107197,27 @@ entities: parent: 2 - proto: TableReinforcedGlass entities: - - uid: 591 + - uid: 297 components: - type: Transform - pos: 27.5,-27.5 + pos: 29.5,-30.5 parent: 2 - - uid: 1561 + - uid: 1809 components: - type: Transform - pos: 29.5,-25.5 + rot: 1.5707963267948966 rad + pos: 40.5,-36.5 parent: 2 - uid: 2387 components: - type: Transform pos: 27.5,-28.5 parent: 2 - - uid: 7037 + - uid: 8101 components: - type: Transform - pos: 48.5,-40.5 + rot: 3.141592653589793 rad + pos: 27.5,-29.5 parent: 2 - proto: TableWood entities: @@ -103772,17 +107233,10 @@ entities: rot: -1.5707963267948966 rad pos: 36.5,-51.5 parent: 2 - - uid: 3524 + - uid: 3456 components: - type: Transform - rot: 3.141592653589793 rad - pos: 54.5,-54.5 - parent: 2 - - uid: 4178 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 55.5,-54.5 + pos: 55.5,-56.5 parent: 2 - uid: 4352 components: @@ -103876,10 +107330,15 @@ entities: - type: Transform pos: 33.5,-50.5 parent: 2 - - uid: 18167 + - uid: 7111 components: - type: Transform - pos: 72.5,-52.5 + pos: 56.5,-56.5 + parent: 2 + - uid: 9296 + components: + - type: Transform + pos: 73.5,-48.5 parent: 2 - uid: 19249 components: @@ -103898,16 +107357,16 @@ entities: - type: Transform pos: -6.5,-18.5 parent: 2 + - uid: 920 + components: + - type: Transform + pos: 42.5,-34.5 + parent: 2 - uid: 3438 components: - type: Transform pos: -25.5,-32.5 parent: 2 - - uid: 4190 - components: - - type: Transform - pos: 53.5,-47.5 - parent: 2 - uid: 5082 components: - type: Transform @@ -103918,35 +107377,68 @@ entities: - type: Transform pos: -10.5,-21.5 parent: 2 + - uid: 5101 + components: + - type: Transform + pos: 72.5,-67.5 + parent: 2 + - uid: 5426 + components: + - type: Transform + pos: 66.5,-63.5 + parent: 2 + - uid: 6129 + components: + - type: Transform + pos: 67.5,-62.5 + parent: 2 - uid: 6702 components: - type: Transform pos: -15.5,-18.5 parent: 2 - - uid: 7140 - components: - - type: Transform - pos: 53.5,-29.5 - parent: 2 - - uid: 7292 - components: - - type: Transform - pos: 53.5,-30.5 - parent: 2 - uid: 7429 components: - type: Transform pos: 45.5,-75.5 parent: 2 + - uid: 7543 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 74.5,-54.5 + parent: 2 + - uid: 7545 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 74.5,-53.5 + parent: 2 + - uid: 7930 + components: + - type: Transform + pos: 68.5,-63.5 + parent: 2 - uid: 7989 components: - type: Transform pos: 56.5,-77.5 parent: 2 - - uid: 8347 + - uid: 8076 components: - type: Transform - pos: 61.5,-62.5 + pos: 68.5,-62.5 + parent: 2 + - uid: 8450 + components: + - type: Transform + pos: 68.5,-65.5 + parent: 2 + - uid: 8452 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 66.5,-66.5 parent: 2 - uid: 8833 components: @@ -103963,6 +107455,22 @@ entities: - type: Transform pos: 53.5,-77.5 parent: 2 + - uid: 10666 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 40.5,-25.5 + parent: 2 + - uid: 10701 + components: + - type: Transform + pos: 66.5,-62.5 + parent: 2 + - uid: 11129 + components: + - type: Transform + pos: -42.5,-79.5 + parent: 2 - uid: 11398 components: - type: Transform @@ -103973,26 +107481,11 @@ entities: - type: Transform pos: -23.5,-39.5 parent: 2 - - uid: 12886 - components: - - type: Transform - pos: 62.5,-62.5 - parent: 2 - uid: 13338 components: - type: Transform pos: -24.5,-39.5 parent: 2 - - uid: 13906 - components: - - type: Transform - pos: 60.5,-62.5 - parent: 2 - - uid: 13907 - components: - - type: Transform - pos: 58.5,-71.5 - parent: 2 - uid: 13997 components: - type: Transform @@ -104033,11 +107526,6 @@ entities: - type: Transform pos: -33.5,-25.5 parent: 2 - - uid: 14070 - components: - - type: Transform - pos: 66.5,-69.5 - parent: 2 - uid: 14119 components: - type: Transform @@ -104048,11 +107536,54 @@ entities: - type: Transform pos: -43.5,-23.5 parent: 2 + - uid: 14792 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -37.5,-75.5 + parent: 2 + - uid: 14926 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 41.5,-34.5 + parent: 2 - uid: 15115 components: - type: Transform pos: -42.5,-23.5 parent: 2 + - uid: 15169 + components: + - type: Transform + pos: 62.5,-65.5 + parent: 2 + - uid: 15429 + components: + - type: Transform + pos: 80.5,-64.5 + parent: 2 + - uid: 15455 + components: + - type: Transform + pos: 66.5,-68.5 + parent: 2 + - uid: 15479 + components: + - type: Transform + pos: 62.5,-57.5 + parent: 2 + - uid: 15480 + components: + - type: Transform + pos: 61.5,-57.5 + parent: 2 + - uid: 15486 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-68.5 + parent: 2 - uid: 16138 components: - type: Transform @@ -104073,31 +107604,11 @@ entities: - type: Transform pos: -32.5,-29.5 parent: 2 - - uid: 16431 - components: - - type: Transform - pos: 33.5,-15.5 - parent: 2 - - uid: 16432 - components: - - type: Transform - pos: 33.5,-16.5 - parent: 2 - - uid: 16433 - components: - - type: Transform - pos: 35.5,-18.5 - parent: 2 - uid: 16435 components: - type: Transform pos: -25.5,-39.5 parent: 2 - - uid: 16437 - components: - - type: Transform - pos: 33.5,-17.5 - parent: 2 - uid: 16438 components: - type: Transform @@ -104123,51 +107634,31 @@ entities: - type: Transform pos: -11.5,-18.5 parent: 2 - - uid: 16608 + - uid: 16598 components: - type: Transform - pos: 75.5,-56.5 - parent: 2 - - uid: 16609 - components: - - type: Transform - pos: 75.5,-55.5 + pos: -40.5,-80.5 parent: 2 - uid: 17088 components: - type: Transform pos: 9.5,-44.5 parent: 2 - - uid: 17140 - components: - - type: Transform - pos: 40.5,-30.5 - parent: 2 - - uid: 17141 - components: - - type: Transform - pos: 37.5,-29.5 - parent: 2 - - uid: 17142 - components: - - type: Transform - pos: 41.5,-30.5 - parent: 2 - uid: 17143 components: - type: Transform pos: 11.5,-44.5 parent: 2 - - uid: 17375 - components: - - type: Transform - pos: 37.5,-28.5 - parent: 2 - uid: 17482 components: - type: Transform pos: 10.5,-44.5 parent: 2 + - uid: 17572 + components: + - type: Transform + pos: -37.5,-76.5 + parent: 2 - uid: 17603 components: - type: Transform @@ -104253,26 +107744,11 @@ entities: - type: Transform pos: -52.5,-39.5 parent: 2 - - uid: 18520 - components: - - type: Transform - pos: 42.5,-30.5 - parent: 2 - - uid: 18521 - components: - - type: Transform - pos: 42.5,-29.5 - parent: 2 - uid: 19206 components: - type: Transform pos: -9.5,-26.5 parent: 2 - - uid: 19223 - components: - - type: Transform - pos: 48.5,-29.5 - parent: 2 - uid: 19496 components: - type: Transform @@ -104281,10 +107757,10 @@ entities: parent: 2 - proto: TargetStrange entities: - - uid: 17572 + - uid: 8806 components: - type: Transform - pos: -39.5,-75.5 + pos: -35.5,-80.5 parent: 2 - proto: TegCenter entities: @@ -104314,26 +107790,6 @@ entities: color: '#FF3300FF' - proto: TelecomServer entities: - - uid: 5607 - components: - - type: Transform - pos: -45.5,-38.5 - parent: 2 - - type: ContainerContainer - containers: - key_slots: !type:Container - showEnts: False - occludes: True - ents: - - 16387 - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - uid: 6591 components: - type: Transform @@ -104401,12 +107857,19 @@ entities: - type: Transform pos: 27.421175,-62.3844 parent: 2 -- proto: TelecomServerFilledCommon +- proto: TelecomServerFilledCommand entities: - - uid: 5791 + - uid: 15384 components: - type: Transform - pos: 83.5,-47.5 + pos: -45.5,-38.5 + parent: 2 +- proto: TelecomServerFilledCommon + entities: + - uid: 15163 + components: + - type: Transform + pos: 85.5,-47.5 parent: 2 - proto: TelecomServerFilledEngineering entities: @@ -104424,42 +107887,48 @@ entities: parent: 2 - proto: TelecomServerFilledSecurity entities: - - uid: 3072 + - uid: 8865 components: - type: Transform - pos: 67.5,-37.5 + pos: 53.5,-28.5 parent: 2 - proto: TeslaCoil entities: - - uid: 18568 + - uid: 17287 components: - type: Transform - pos: -25.5,-83.5 + rot: 1.5707963267948966 rad + pos: -24.5,-83.5 parent: 2 - - uid: 18569 + - uid: 19776 components: - type: Transform - pos: -25.5,-81.5 + rot: 1.5707963267948966 rad + pos: -21.5,-82.5 parent: 2 - - uid: 18570 + - uid: 19777 components: - type: Transform - pos: -25.5,-79.5 + rot: 1.5707963267948966 rad + pos: -21.5,-80.5 parent: 2 - - uid: 18571 + - uid: 19778 components: - type: Transform - pos: -21.5,-79.5 + rot: 1.5707963267948966 rad + pos: -22.5,-79.5 parent: 2 - - uid: 18572 + - uid: 19779 components: - type: Transform - pos: -21.5,-81.5 + rot: 1.5707963267948966 rad + pos: -25.5,-80.5 parent: 2 - - uid: 18573 + - uid: 19780 components: - type: Transform - pos: -21.5,-83.5 + rot: 1.5707963267948966 rad + pos: -25.5,-82.5 parent: 2 - proto: TeslaGenerator entities: @@ -104470,25 +107939,29 @@ entities: parent: 2 - proto: TeslaGroundingRod entities: - - uid: 18487 + - uid: 18569 components: - type: Transform - pos: -23.5,-83.5 + rot: 1.5707963267948966 rad + pos: -24.5,-79.5 + parent: 2 + - uid: 18570 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -22.5,-83.5 + parent: 2 + - uid: 18572 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -20.5,-80.5 parent: 2 - uid: 18574 components: - type: Transform - pos: -26.5,-81.5 - parent: 2 - - uid: 18575 - components: - - type: Transform - pos: -23.5,-79.5 - parent: 2 - - uid: 18576 - components: - - type: Transform - pos: -20.5,-81.5 + rot: 1.5707963267948966 rad + pos: -26.5,-82.5 parent: 2 - proto: Thruster entities: @@ -104530,15 +108003,10 @@ entities: parent: 2 - proto: TintedWindow entities: - - uid: 1451 + - uid: 8176 components: - type: Transform - pos: 69.5,-43.5 - parent: 2 - - uid: 10311 - components: - - type: Transform - pos: 69.5,-41.5 + pos: 51.5,-35.5 parent: 2 - proto: ToiletEmpty entities: @@ -104553,27 +108021,6 @@ entities: rot: 3.141592653589793 rad pos: 40.5,-19.5 parent: 2 - - uid: 17884 - components: - - type: Transform - pos: 36.5,-11.5 - parent: 2 - - type: DisposalUnit - nextFlush: 0 - - type: ContainerContainer - containers: - stash: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - disposals: !type:Container - showEnts: False - occludes: True - ents: - - 17885 - - 17886 - - 17893 - - 17907 - proto: ToiletGoldenDirtyWater entities: - uid: 16100 @@ -104595,6 +108042,11 @@ entities: parent: 2 - proto: ToolboxElectricalFilled entities: + - uid: 5425 + components: + - type: Transform + pos: -37.51767,-76.217834 + parent: 2 - uid: 5581 components: - type: Transform @@ -104620,10 +108072,10 @@ entities: - type: Transform pos: 71.665375,-19.465302 parent: 2 - - uid: 17605 + - uid: 15481 components: - type: Transform - pos: 33.437138,-16.527544 + pos: 62.51025,-57.18848 parent: 2 - uid: 17751 components: @@ -104654,11 +108106,6 @@ entities: - type: Transform pos: -46.50093,-12.413582 parent: 2 - - uid: 17882 - components: - - type: Transform - pos: 35.76561,-18.532131 - parent: 2 - uid: 19298 components: - type: Transform @@ -104706,12 +108153,12 @@ entities: - uid: 7744 components: - type: Transform - pos: 61.491913,-43.517254 + pos: 58.46033,-35.476738 parent: 2 - - uid: 8133 + - uid: 15482 components: - type: Transform - pos: 53.37742,-30.043339 + pos: 62.040775,-57.438656 parent: 2 - uid: 17842 components: @@ -104730,14 +108177,14 @@ entities: - uid: 7331 components: - type: Transform - pos: 79.86608,-26.933979 + pos: 78.98892,-25.47695 parent: 2 - proto: Tourniquet entities: - - uid: 6014 + - uid: 10855 components: - type: Transform - pos: 42.60125,-28.663069 + pos: 68.40143,-66.52006 parent: 2 - proto: ToyAi entities: @@ -104767,6 +108214,13 @@ entities: - type: Transform pos: -18.517744,-31.41124 parent: 2 +- proto: ToyFigurineFootsoldier + entities: + - uid: 16126 + components: + - type: Transform + pos: 49.49876,-16.490688 + parent: 2 - proto: ToyFigurineQueen entities: - uid: 6017 @@ -104798,7 +108252,7 @@ entities: - uid: 6983 components: - type: Transform - pos: 51.993618,-98.8094 + pos: 52.988304,-98.97241 parent: 2 - proto: ToyFigurineScientist entities: @@ -104845,33 +108299,41 @@ entities: - type: Transform pos: 12.313462,-94.44978 parent: 2 +- proto: ToyRubberDuck + entities: + - uid: 561 + components: + - type: Transform + parent: 2004 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: ToySword entities: - uid: 19047 components: - type: Transform - pos: 64.42656,-70.317154 + pos: 69.52158,-59.52405 parent: 2 - uid: 19048 components: - type: Transform - pos: 64.58922,-70.48394 + pos: 69.46603,-59.459236 parent: 2 - proto: TrashBag entities: - - uid: 7197 + - uid: 11867 components: - type: Transform - pos: 58.57782,-71.42502 + pos: 72.64958,-67.37068 parent: 2 - proto: TrashBakedBananaPeel entities: - - uid: 14733 + - uid: 4304 components: - type: Transform - pos: 60.409534,-66.50437 + pos: 74.54851,-61.465183 parent: 2 - - type: Conveyed - proto: TrashBananaPeel entities: - uid: 5987 @@ -104886,11 +108348,6 @@ entities: - type: Transform pos: -20.55822,-65.533104 parent: 2 - - uid: 18522 - components: - - type: Transform - pos: 45.307762,-48.38038 - parent: 2 - proto: TubaInstrument entities: - uid: 19532 @@ -104946,188 +108403,209 @@ entities: parent: 2 - proto: TwoWayLever entities: - - uid: 3622 + - uid: 5083 components: - type: Transform - pos: 61.5,-67.5 + pos: 76.5,-63.5 parent: 2 - type: DeviceLinkSource linkedPorts: - 7704: + 8075: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 8801: + 8822: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 16537: + 9301: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 8804: + 9305: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 9314: + 8077: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - - uid: 3623 + 10332: + - - Left + - Reverse + - - Right + - Forward + - - Middle + - Off + - uid: 5089 components: - type: Transform - pos: 60.5,-71.5 + pos: 74.5,-67.5 parent: 2 - type: DeviceLinkSource linkedPorts: - 7143: + 10278: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 8219: + 10301: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7706: + 10306: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 6127: + 2883: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7728: + 11899: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7727: + 7571: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7142: + 11460: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 6128: + 7408: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7141: + 3314: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 6129: + 11690: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7139: + 11903: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7137: + 10704: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7136: + 10703: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 8580: + 5374: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7133: + 6412: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 7132: + 6403: - - Left - - Forward - - - Right - Reverse + - - Right + - Forward - - Middle - Off - 3387: - - - Left - - Forward - - - Right - - Reverse - - - Middle - - Off - 7730: - - - Left - - Forward - - - Right - - Reverse - - - Middle - - Off - 7185: + 11883: - - Left - Open - - Right - Open - - Middle - Close + - uid: 6910 + components: + - type: Transform + pos: 52.5,-96.5 + parent: 2 + - type: DeviceLinkSource + linkedPorts: + 6868: + - - Left + - Reverse + - - Right + - Forward + - - Middle + - Off + 11474: + - - Left + - Reverse + - - Right + - Forward + - - Middle + - Off + 6918: + - - Left + - Reverse + - - Right + - Forward + - - Middle + - Off - uid: 18264 components: - type: Transform @@ -105164,17 +108642,13 @@ entities: - AutoClose - - Right - AutoClose - - uid: 18765 - components: - - type: Transform - pos: 51.5,-97.5 - parent: 2 - proto: UnfinishedMachineFrame entities: - - uid: 17877 + - uid: 8057 components: - type: Transform - pos: 33.5,-14.5 + rot: 3.141592653589793 rad + pos: -36.5,-79.5 parent: 2 - proto: UniformPrinter entities: @@ -105199,10 +108673,10 @@ entities: parent: 2 - proto: Vaccinator entities: - - uid: 7778 + - uid: 255 components: - type: Transform - pos: 31.5,-16.5 + pos: 34.5,-11.5 parent: 2 - proto: VendingBarDrobe entities: @@ -105225,10 +108699,10 @@ entities: - type: Transform pos: 38.5,-46.5 parent: 2 - - uid: 5813 + - uid: 7704 components: - type: Transform - pos: 69.5,-63.5 + pos: 59.5,-67.5 parent: 2 - proto: VendingMachineCargoDrobe entities: @@ -105265,10 +108739,10 @@ entities: - type: Transform pos: 44.5,-46.5 parent: 2 - - uid: 7039 + - uid: 8140 components: - type: Transform - pos: 46.5,-40.5 + pos: 40.5,-38.5 parent: 2 - proto: VendingMachineChemDrobe entities: @@ -105286,10 +108760,10 @@ entities: parent: 2 - proto: VendingMachineCigs entities: - - uid: 3523 + - uid: 3650 components: - type: Transform - pos: 55.5,-48.5 + pos: 64.5,-51.5 parent: 2 - uid: 4270 components: @@ -105306,11 +108780,6 @@ entities: - type: Transform pos: 34.5,-46.5 parent: 2 - - uid: 16050 - components: - - type: Transform - pos: 65.5,-46.5 - parent: 2 - uid: 17443 components: - type: Transform @@ -105357,24 +108826,24 @@ entities: parent: 2 - proto: VendingMachineDetDrobe entities: - - uid: 7122 + - uid: 8048 components: - type: Transform - pos: 68.5,-53.5 + pos: 71.5,-49.5 parent: 2 - proto: VendingMachineDinnerware entities: - - uid: 7028 + - uid: 19170 components: - type: Transform - pos: 42.5,-47.5 + pos: 44.5,-45.5 parent: 2 - proto: VendingMachineDonut entities: - - uid: 12832 + - uid: 8610 components: - type: Transform - pos: 68.5,-40.5 + pos: 60.5,-31.5 parent: 2 - proto: VendingMachineEngiDrobe entities: @@ -105409,10 +108878,10 @@ entities: parent: 2 - proto: VendingMachineHappyHonk entities: - - uid: 14282 + - uid: 8047 components: - type: Transform - pos: 50.5,-46.5 + pos: 46.5,-49.5 parent: 2 - proto: VendingMachineHydrobe entities: @@ -105479,10 +108948,10 @@ entities: parent: 2 - proto: VendingMachineSalvage entities: - - uid: 6924 + - uid: 6893 components: - type: Transform - pos: 53.5,-101.5 + pos: 54.5,-101.5 parent: 2 - proto: VendingMachineSciDrobe entities: @@ -105493,22 +108962,22 @@ entities: parent: 2 - proto: VendingMachineSec entities: - - uid: 7269 + - uid: 10049 components: - type: Transform - pos: 60.5,-34.5 + pos: 73.5,-41.5 parent: 2 - - uid: 10258 + - uid: 10059 components: - type: Transform - pos: 60.5,-35.5 + pos: 73.5,-42.5 parent: 2 - proto: VendingMachineSecDrobe entities: - - uid: 10749 + - uid: 10042 components: - type: Transform - pos: 57.5,-35.5 + pos: 70.5,-42.5 parent: 2 - proto: VendingMachineSeeds entities: @@ -105531,11 +109000,6 @@ entities: - type: Transform pos: 8.5,-92.5 parent: 2 - - uid: 13877 - components: - - type: Transform - pos: 57.5,-26.5 - parent: 2 - proto: VendingMachineSovietSoda entities: - uid: 8218 @@ -105548,6 +109012,11 @@ entities: - type: Transform pos: 43.5,-75.5 parent: 2 + - uid: 15461 + components: + - type: Transform + pos: 68.5,-57.5 + parent: 2 - uid: 17095 components: - type: Transform @@ -105613,13 +109082,6 @@ entities: - type: Transform pos: -20.5,-49.5 parent: 2 -- proto: VendingMachineViroDrobe - entities: - - uid: 7781 - components: - - type: Transform - pos: 31.5,-18.5 - parent: 2 - proto: VendingMachineWallMedical entities: - uid: 5271 @@ -105690,21 +109152,28 @@ entities: - type: Transform pos: -15.5,-63.5 parent: 2 - - uid: 208 + - uid: 206 components: - type: Transform - pos: 66.5,-49.5 - parent: 2 - - uid: 209 - components: - - type: Transform - pos: 69.5,-40.5 + pos: 72.5,-52.5 parent: 2 - uid: 246 components: - type: Transform pos: -1.5,-12.5 parent: 2 + - uid: 271 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-39.5 + parent: 2 + - uid: 275 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-32.5 + parent: 2 - uid: 334 components: - type: Transform @@ -105925,6 +109394,16 @@ entities: - type: Transform pos: 13.5,-68.5 parent: 2 + - uid: 1062 + components: + - type: Transform + pos: 73.5,-43.5 + parent: 2 + - uid: 1072 + components: + - type: Transform + pos: 60.5,-37.5 + parent: 2 - uid: 1162 components: - type: Transform @@ -105935,21 +109414,11 @@ entities: - type: Transform pos: -1.5,-15.5 parent: 2 - - uid: 1211 - components: - - type: Transform - pos: 61.5,-34.5 - parent: 2 - uid: 1221 components: - type: Transform pos: 11.5,-70.5 parent: 2 - - uid: 1426 - components: - - type: Transform - pos: 61.5,-33.5 - parent: 2 - uid: 1712 components: - type: Transform @@ -105970,10 +109439,16 @@ entities: - type: Transform pos: 9.5,-85.5 parent: 2 - - uid: 2164 + - uid: 2230 components: - type: Transform - pos: 64.5,-48.5 + pos: 58.5,-51.5 + parent: 2 + - uid: 2279 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-52.5 parent: 2 - uid: 2328 components: @@ -106140,11 +109615,6 @@ entities: - type: Transform pos: 13.5,-90.5 parent: 2 - - uid: 2645 - components: - - type: Transform - pos: 57.5,-30.5 - parent: 2 - uid: 2650 components: - type: Transform @@ -106540,40 +110010,141 @@ entities: - type: Transform pos: 36.5,-95.5 parent: 2 + - uid: 3021 + components: + - type: Transform + pos: 72.5,-43.5 + parent: 2 - uid: 3047 components: - type: Transform pos: 22.5,-100.5 parent: 2 + - uid: 3066 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-52.5 + parent: 2 + - uid: 3094 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-51.5 + parent: 2 + - uid: 3101 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-49.5 + parent: 2 - uid: 3174 components: - type: Transform pos: 11.5,-69.5 parent: 2 - - uid: 3311 + - uid: 3217 components: - type: Transform - pos: 66.5,-39.5 + rot: -1.5707963267948966 rad + pos: 63.5,-45.5 parent: 2 - - uid: 3319 + - uid: 3287 components: - type: Transform - pos: 63.5,-55.5 - parent: 2 - - uid: 3324 - components: - - type: Transform - pos: 63.5,-56.5 + rot: -1.5707963267948966 rad + pos: 63.5,-47.5 parent: 2 - uid: 3349 components: - type: Transform - pos: 58.5,-60.5 + rot: -1.5707963267948966 rad + pos: 62.5,-46.5 + parent: 2 + - uid: 3396 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-51.5 + parent: 2 + - uid: 3400 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-45.5 + parent: 2 + - uid: 3451 + components: + - type: Transform + pos: 69.5,-43.5 + parent: 2 + - uid: 3452 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-45.5 + parent: 2 + - uid: 3462 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-37.5 + parent: 2 + - uid: 3470 + components: + - type: Transform + pos: 66.5,-54.5 + parent: 2 + - uid: 3543 + components: + - type: Transform + pos: 57.5,-29.5 + parent: 2 + - uid: 3545 + components: + - type: Transform + pos: 69.5,-42.5 + parent: 2 + - uid: 3573 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-40.5 + parent: 2 + - uid: 3574 + components: + - type: Transform + pos: 72.5,-50.5 + parent: 2 + - uid: 3580 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-41.5 + parent: 2 + - uid: 3583 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-50.5 parent: 2 - uid: 3584 components: - type: Transform - pos: 62.5,-53.5 + rot: -1.5707963267948966 rad + pos: 70.5,-50.5 + parent: 2 + - uid: 3651 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-50.5 + parent: 2 + - uid: 3668 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-48.5 parent: 2 - uid: 3679 components: @@ -106600,6 +110171,30 @@ entities: - type: Transform pos: 38.5,-92.5 parent: 2 + - uid: 3768 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-47.5 + parent: 2 + - uid: 3777 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-49.5 + parent: 2 + - uid: 3811 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-50.5 + parent: 2 + - uid: 3869 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-48.5 + parent: 2 - uid: 3941 components: - type: Transform @@ -106630,6 +110225,12 @@ entities: - type: Transform pos: -17.5,-57.5 parent: 2 + - uid: 3961 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-52.5 + parent: 2 - uid: 4082 components: - type: Transform @@ -106640,10 +110241,25 @@ entities: - type: Transform pos: 68.5,-26.5 parent: 2 - - uid: 4167 + - uid: 4109 components: - type: Transform - pos: 20.5,-25.5 + pos: 68.5,-42.5 + parent: 2 + - uid: 4174 + components: + - type: Transform + pos: 70.5,-43.5 + parent: 2 + - uid: 4175 + components: + - type: Transform + pos: 67.5,-42.5 + parent: 2 + - uid: 4176 + components: + - type: Transform + pos: 67.5,-41.5 parent: 2 - uid: 4208 components: @@ -106725,6 +110341,12 @@ entities: - type: Transform pos: -32.5,-60.5 parent: 2 + - uid: 4297 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-52.5 + parent: 2 - uid: 4307 components: - type: Transform @@ -106810,10 +110432,11 @@ entities: - type: Transform pos: -11.5,-62.5 parent: 2 - - uid: 4346 + - uid: 4345 components: - type: Transform - pos: 57.5,-53.5 + rot: -1.5707963267948966 rad + pos: 63.5,-46.5 parent: 2 - uid: 4413 components: @@ -106830,26 +110453,6 @@ entities: - type: Transform pos: 70.5,-49.5 parent: 2 - - uid: 4710 - components: - - type: Transform - pos: 71.5,-44.5 - parent: 2 - - uid: 4711 - components: - - type: Transform - pos: 70.5,-44.5 - parent: 2 - - uid: 4712 - components: - - type: Transform - pos: 69.5,-44.5 - parent: 2 - - uid: 4713 - components: - - type: Transform - pos: 68.5,-44.5 - parent: 2 - uid: 4759 components: - type: Transform @@ -106860,11 +110463,6 @@ entities: - type: Transform pos: 68.5,-49.5 parent: 2 - - uid: 4912 - components: - - type: Transform - pos: 71.5,-49.5 - parent: 2 - uid: 4993 components: - type: Transform @@ -106915,15 +110513,48 @@ entities: - type: Transform pos: 16.5,-25.5 parent: 2 + - uid: 5235 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-26.5 + parent: 2 - uid: 5241 components: - type: Transform pos: 11.5,-13.5 parent: 2 - - uid: 6273 + - uid: 5435 components: - type: Transform - pos: 20.5,-26.5 + rot: -1.5707963267948966 rad + pos: 73.5,-45.5 + parent: 2 + - uid: 5538 + components: + - type: Transform + pos: 72.5,-51.5 + parent: 2 + - uid: 5603 + components: + - type: Transform + pos: 72.5,-53.5 + parent: 2 + - uid: 5615 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-45.5 + parent: 2 + - uid: 5957 + components: + - type: Transform + pos: 62.5,-52.5 + parent: 2 + - uid: 6164 + components: + - type: Transform + pos: 54.5,-35.5 parent: 2 - uid: 6462 components: @@ -106935,6 +110566,12 @@ entities: - type: Transform pos: 67.5,-26.5 parent: 2 + - uid: 6630 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-46.5 + parent: 2 - uid: 6673 components: - type: Transform @@ -107015,16 +110652,6 @@ entities: - type: Transform pos: 53.5,-95.5 parent: 2 - - uid: 6861 - components: - - type: Transform - pos: 53.5,-103.5 - parent: 2 - - uid: 6862 - components: - - type: Transform - pos: 54.5,-96.5 - parent: 2 - uid: 6863 components: - type: Transform @@ -107040,11 +110667,6 @@ entities: - type: Transform pos: 56.5,-101.5 parent: 2 - - uid: 6868 - components: - - type: Transform - pos: 55.5,-101.5 - parent: 2 - uid: 6870 components: - type: Transform @@ -107108,7 +110730,7 @@ entities: - uid: 6888 components: - type: Transform - pos: 55.5,-97.5 + pos: 57.5,-97.5 parent: 2 - uid: 6889 components: @@ -107130,11 +110752,22 @@ entities: - type: Transform pos: 54.5,-102.5 parent: 2 + - uid: 6900 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,-104.5 + parent: 2 - uid: 6903 components: - type: Transform pos: 53.5,-104.5 parent: 2 + - uid: 6912 + components: + - type: Transform + pos: 56.5,-102.5 + parent: 2 - uid: 6928 components: - type: Transform @@ -107145,131 +110778,240 @@ entities: - type: Transform pos: 33.5,-93.5 parent: 2 - - uid: 7192 + - uid: 7094 components: - type: Transform - pos: 68.5,-39.5 + pos: 57.5,-26.5 parent: 2 - - uid: 7194 + - uid: 7215 components: - type: Transform - pos: 69.5,-39.5 - parent: 2 - - uid: 7208 - components: - - type: Transform - pos: 61.5,-60.5 - parent: 2 - - uid: 7209 - components: - - type: Transform - pos: 62.5,-60.5 + pos: 57.5,-30.5 parent: 2 - uid: 7268 components: - type: Transform - pos: 62.5,-54.5 + pos: 63.5,-51.5 parent: 2 - - uid: 7308 + - uid: 7277 components: - type: Transform - pos: 61.5,-47.5 + rot: -1.5707963267948966 rad + pos: 70.5,-45.5 + parent: 2 + - uid: 7293 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-45.5 + parent: 2 + - uid: 7301 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-45.5 + parent: 2 + - uid: 7305 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-37.5 + parent: 2 + - uid: 7575 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 68.5,-37.5 + parent: 2 + - uid: 7612 + components: + - type: Transform + pos: 68.5,-31.5 + parent: 2 + - uid: 7628 + components: + - type: Transform + pos: 67.5,-36.5 + parent: 2 + - uid: 7731 + components: + - type: Transform + pos: 67.5,-31.5 + parent: 2 + - uid: 7745 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 70.5,-37.5 + parent: 2 + - uid: 7749 + components: + - type: Transform + pos: 67.5,-54.5 + parent: 2 + - uid: 7751 + components: + - type: Transform + pos: 72.5,-54.5 + parent: 2 + - uid: 7759 + components: + - type: Transform + pos: 65.5,-53.5 + parent: 2 + - uid: 7783 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-25.5 parent: 2 - uid: 7790 components: - type: Transform pos: 26.5,-10.5 parent: 2 + - uid: 7939 + components: + - type: Transform + pos: 64.5,-53.5 + parent: 2 + - uid: 7940 + components: + - type: Transform + pos: 70.5,-32.5 + parent: 2 + - uid: 7950 + components: + - type: Transform + pos: 70.5,-31.5 + parent: 2 - uid: 7962 components: - type: Transform - pos: 72.5,-48.5 + rot: 1.5707963267948966 rad + pos: 63.5,-38.5 parent: 2 - - uid: 8114 + - uid: 7963 components: - type: Transform - pos: 63.5,-59.5 + rot: 1.5707963267948966 rad + pos: 63.5,-37.5 parent: 2 - - uid: 8115 + - uid: 7984 components: - type: Transform - pos: 63.5,-57.5 + pos: 69.5,-54.5 parent: 2 - - uid: 8129 + - uid: 7985 components: - type: Transform - pos: 57.5,-40.5 + pos: 70.5,-54.5 + parent: 2 + - uid: 7987 + components: + - type: Transform + pos: 71.5,-54.5 + parent: 2 + - uid: 8068 + components: + - type: Transform + pos: 54.5,-40.5 + parent: 2 + - uid: 8132 + components: + - type: Transform + pos: 53.5,-36.5 parent: 2 - uid: 8143 components: - type: Transform pos: 67.5,-49.5 parent: 2 - - uid: 8173 + - uid: 8151 components: - type: Transform - pos: 57.5,-33.5 + pos: 53.5,-38.5 parent: 2 - - uid: 8176 + - uid: 8162 components: - type: Transform - pos: 57.5,-60.5 + pos: 53.5,-39.5 + parent: 2 + - uid: 8195 + components: + - type: Transform + pos: 50.5,-35.5 + parent: 2 + - uid: 8196 + components: + - type: Transform + pos: 53.5,-40.5 parent: 2 - uid: 8475 components: - type: Transform pos: -32.5,-59.5 parent: 2 - - uid: 9281 + - uid: 8562 components: - type: Transform - pos: 61.5,-39.5 + pos: 68.5,-54.5 + parent: 2 + - uid: 8571 + components: + - type: Transform + pos: 53.5,-37.5 + parent: 2 + - uid: 8572 + components: + - type: Transform + pos: 53.5,-35.5 + parent: 2 + - uid: 8618 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 20.5,-26.5 + parent: 2 + - uid: 9407 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-24.5 parent: 2 - uid: 9584 components: - type: Transform pos: -13.5,-57.5 parent: 2 - - uid: 9795 - components: - - type: Transform - pos: 60.5,-33.5 - parent: 2 - uid: 10237 components: - type: Transform pos: 60.5,-40.5 parent: 2 - - uid: 10308 + - uid: 10245 components: - type: Transform - pos: 64.5,-46.5 + rot: -1.5707963267948966 rad + pos: 67.5,-48.5 parent: 2 - - uid: 10309 + - uid: 10248 components: - type: Transform - pos: 64.5,-45.5 - parent: 2 - - uid: 10312 - components: - - type: Transform - pos: 64.5,-44.5 - parent: 2 - - uid: 10655 - components: - - type: Transform - pos: 61.5,-35.5 - parent: 2 - - uid: 10658 - components: - - type: Transform - pos: 61.5,-40.5 + rot: -1.5707963267948966 rad + pos: 67.5,-45.5 parent: 2 - uid: 10767 components: - type: Transform pos: 70.5,-34.5 parent: 2 + - uid: 10781 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 63.5,-52.5 + parent: 2 - uid: 11012 components: - type: Transform @@ -107295,21 +111037,17 @@ entities: - type: Transform pos: 48.5,-16.5 parent: 2 - - uid: 11953 + - uid: 12243 components: - type: Transform - pos: 63.5,-54.5 + rot: -1.5707963267948966 rad + pos: 55.5,-103.5 parent: 2 - uid: 12887 components: - type: Transform pos: 69.5,-49.5 parent: 2 - - uid: 13436 - components: - - type: Transform - pos: 49.5,-16.5 - parent: 2 - uid: 13575 components: - type: Transform @@ -107320,31 +111058,6 @@ entities: - type: Transform pos: 49.5,-17.5 parent: 2 - - uid: 13809 - components: - - type: Transform - pos: 61.5,-32.5 - parent: 2 - - uid: 13810 - components: - - type: Transform - pos: 63.5,-58.5 - parent: 2 - - uid: 13815 - components: - - type: Transform - pos: 59.5,-60.5 - parent: 2 - - uid: 13841 - components: - - type: Transform - pos: 60.5,-60.5 - parent: 2 - - uid: 13872 - components: - - type: Transform - pos: 58.5,-59.5 - parent: 2 - uid: 13883 components: - type: Transform @@ -107375,11 +111088,6 @@ entities: - type: Transform pos: 43.5,-15.5 parent: 2 - - uid: 13909 - components: - - type: Transform - pos: 63.5,-60.5 - parent: 2 - uid: 14271 components: - type: Transform @@ -107390,16 +111098,6 @@ entities: - type: Transform pos: 26.5,-9.5 parent: 2 - - uid: 14427 - components: - - type: Transform - pos: 65.5,-48.5 - parent: 2 - - uid: 14585 - components: - - type: Transform - pos: 72.5,-45.5 - parent: 2 - uid: 14625 components: - type: Transform @@ -107415,11 +111113,6 @@ entities: - type: Transform pos: 19.5,-32.5 parent: 2 - - uid: 14724 - components: - - type: Transform - pos: 66.5,-48.5 - parent: 2 - uid: 14726 components: - type: Transform @@ -107480,51 +111173,11 @@ entities: - type: Transform pos: 26.5,-89.5 parent: 2 - - uid: 15444 - components: - - type: Transform - pos: 66.5,-34.5 - parent: 2 - - uid: 15447 - components: - - type: Transform - pos: 69.5,-32.5 - parent: 2 - - uid: 15472 - components: - - type: Transform - pos: 72.5,-47.5 - parent: 2 - - uid: 15473 - components: - - type: Transform - pos: 72.5,-46.5 - parent: 2 - - uid: 15474 - components: - - type: Transform - pos: 68.5,-36.5 - parent: 2 - uid: 15476 components: - type: Transform pos: 66.5,-35.5 parent: 2 - - uid: 15478 - components: - - type: Transform - pos: 64.5,-47.5 - parent: 2 - - uid: 15482 - components: - - type: Transform - pos: 72.5,-44.5 - parent: 2 - - uid: 15483 - components: - - type: Transform - pos: 72.5,-49.5 - parent: 2 - uid: 15485 components: - type: Transform @@ -107585,41 +111238,11 @@ entities: - type: Transform pos: 9.5,13.5 parent: 2 - - uid: 15518 - components: - - type: Transform - pos: 66.5,-37.5 - parent: 2 - uid: 15519 components: - type: Transform pos: 69.5,-31.5 parent: 2 - - uid: 15883 - components: - - type: Transform - pos: 67.5,-36.5 - parent: 2 - - uid: 15884 - components: - - type: Transform - pos: 68.5,-30.5 - parent: 2 - - uid: 15908 - components: - - type: Transform - pos: 69.5,-30.5 - parent: 2 - - uid: 15911 - components: - - type: Transform - pos: 70.5,-39.5 - parent: 2 - - uid: 16051 - components: - - type: Transform - pos: 67.5,-30.5 - parent: 2 - uid: 16108 components: - type: Transform @@ -107635,16 +111258,6 @@ entities: - type: Transform pos: 36.5,-94.5 parent: 2 - - uid: 16373 - components: - - type: Transform - pos: 61.5,-31.5 - parent: 2 - - uid: 16876 - components: - - type: Transform - pos: 62.5,-59.5 - parent: 2 - uid: 16982 components: - type: Transform @@ -107655,16 +111268,6 @@ entities: - type: Transform pos: 34.5,-80.5 parent: 2 - - uid: 17105 - components: - - type: Transform - pos: 57.5,-54.5 - parent: 2 - - uid: 17106 - components: - - type: Transform - pos: 57.5,-55.5 - parent: 2 - uid: 17138 components: - type: Transform @@ -107675,36 +111278,6 @@ entities: - type: Transform pos: -30.5,-58.5 parent: 2 - - uid: 17151 - components: - - type: Transform - pos: 57.5,-56.5 - parent: 2 - - uid: 17152 - components: - - type: Transform - pos: 57.5,-57.5 - parent: 2 - - uid: 17162 - components: - - type: Transform - pos: 57.5,-58.5 - parent: 2 - - uid: 17166 - components: - - type: Transform - pos: 57.5,-59.5 - parent: 2 - - uid: 17211 - components: - - type: Transform - pos: 61.5,-44.5 - parent: 2 - - uid: 17268 - components: - - type: Transform - pos: 69.5,-36.5 - parent: 2 - uid: 17277 components: - type: Transform @@ -107745,11 +111318,6 @@ entities: - type: Transform pos: 69.5,-26.5 parent: 2 - - uid: 17608 - components: - - type: Transform - pos: 20.5,-24.5 - parent: 2 - uid: 17666 components: - type: Transform @@ -107775,11 +111343,6 @@ entities: - type: Transform pos: 66.5,-26.5 parent: 2 - - uid: 17993 - components: - - type: Transform - pos: 67.5,-39.5 - parent: 2 - uid: 17994 components: - type: Transform @@ -107905,6 +111468,21 @@ entities: - type: Transform pos: 20.5,-32.5 parent: 2 + - uid: 19723 + components: + - type: Transform + pos: 57.5,-101.5 + parent: 2 + - uid: 19724 + components: + - type: Transform + pos: 56.5,-96.5 + parent: 2 + - uid: 19725 + components: + - type: Transform + pos: 55.5,-95.5 + parent: 2 - proto: WallReinforcedChitin entities: - uid: 39 @@ -107952,11 +111530,6 @@ entities: - type: Transform pos: 66.5,-75.5 parent: 2 - - uid: 255 - components: - - type: Transform - pos: 57.5,-61.5 - parent: 2 - uid: 259 components: - type: Transform @@ -107967,16 +111540,16 @@ entities: - type: Transform pos: -24.5,-23.5 parent: 2 + - uid: 284 + components: + - type: Transform + pos: 30.5,-11.5 + parent: 2 - uid: 311 components: - type: Transform pos: -16.5,-14.5 parent: 2 - - uid: 386 - components: - - type: Transform - pos: 73.5,-47.5 - parent: 2 - uid: 388 components: - type: Transform @@ -108012,6 +111585,22 @@ entities: - type: Transform pos: -8.5,-14.5 parent: 2 + - uid: 452 + components: + - type: Transform + pos: 33.5,-11.5 + parent: 2 + - uid: 453 + components: + - type: Transform + pos: 28.5,-20.5 + parent: 2 + - uid: 467 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 79.5,-42.5 + parent: 2 - uid: 500 components: - type: Transform @@ -108072,6 +111661,11 @@ entities: - type: Transform pos: 12.5,-37.5 parent: 2 + - uid: 514 + components: + - type: Transform + pos: 69.5,-55.5 + parent: 2 - uid: 521 components: - type: Transform @@ -108377,6 +111971,12 @@ entities: - type: Transform pos: 8.5,-44.5 parent: 2 + - uid: 792 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-37.5 + parent: 2 - uid: 816 components: - type: Transform @@ -108622,25 +112222,10 @@ entities: - type: Transform pos: 28.5,-9.5 parent: 2 - - uid: 915 - components: - - type: Transform - pos: 26.5,-14.5 - parent: 2 - - uid: 916 - components: - - type: Transform - pos: 26.5,-17.5 - parent: 2 - uid: 917 components: - type: Transform - pos: 26.5,-18.5 - parent: 2 - - uid: 918 - components: - - type: Transform - pos: 26.5,-21.5 + pos: 28.5,-17.5 parent: 2 - uid: 954 components: @@ -108697,6 +112282,12 @@ entities: - type: Transform pos: -38.5,-30.5 parent: 2 + - uid: 1061 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 53.5,-27.5 + parent: 2 - uid: 1064 components: - type: Transform @@ -111277,16 +114868,6 @@ entities: - type: Transform pos: -58.5,-68.5 parent: 2 - - uid: 2218 - components: - - type: Transform - pos: 56.5,-40.5 - parent: 2 - - uid: 2219 - components: - - type: Transform - pos: 56.5,-38.5 - parent: 2 - uid: 2222 components: - type: Transform @@ -111302,6 +114883,11 @@ entities: - type: Transform pos: -57.5,-69.5 parent: 2 + - uid: 2249 + components: + - type: Transform + pos: 47.5,-40.5 + parent: 2 - uid: 2253 components: - type: Transform @@ -111367,11 +114953,6 @@ entities: - type: Transform pos: -15.5,-33.5 parent: 2 - - uid: 2294 - components: - - type: Transform - pos: 58.5,-61.5 - parent: 2 - uid: 2295 components: - type: Transform @@ -111932,11 +115513,6 @@ entities: - type: Transform pos: 28.5,-80.5 parent: 2 - - uid: 2756 - components: - - type: Transform - pos: 56.5,-32.5 - parent: 2 - uid: 2805 components: - type: Transform @@ -111987,6 +115563,11 @@ entities: - type: Transform pos: -15.5,-36.5 parent: 2 + - uid: 2931 + components: + - type: Transform + pos: 63.5,-55.5 + parent: 2 - uid: 2946 components: - type: Transform @@ -112187,6 +115768,16 @@ entities: - type: Transform pos: 63.5,-76.5 parent: 2 + - uid: 3019 + components: + - type: Transform + pos: 95.5,-44.5 + parent: 2 + - uid: 3020 + components: + - type: Transform + pos: 95.5,-46.5 + parent: 2 - uid: 3035 components: - type: Transform @@ -112230,7 +115821,8 @@ entities: - uid: 3053 components: - type: Transform - pos: 67.5,-54.5 + rot: 1.5707963267948966 rad + pos: 54.5,-26.5 parent: 2 - uid: 3069 components: @@ -112242,10 +115834,29 @@ entities: - type: Transform pos: 64.5,-22.5 parent: 2 + - uid: 3072 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-49.5 + parent: 2 + - uid: 3083 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-48.5 + parent: 2 - uid: 3086 components: - type: Transform - pos: 72.5,-54.5 + rot: 1.5707963267948966 rad + pos: 51.5,-30.5 + parent: 2 + - uid: 3087 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 51.5,-27.5 parent: 2 - uid: 3088 components: @@ -112255,7 +115866,8 @@ entities: - uid: 3093 components: - type: Transform - pos: 66.5,-52.5 + rot: 1.5707963267948966 rad + pos: 52.5,-27.5 parent: 2 - uid: 3096 components: @@ -112327,16 +115939,6 @@ entities: - type: Transform pos: 71.5,-73.5 parent: 2 - - uid: 3137 - components: - - type: Transform - pos: 72.5,-72.5 - parent: 2 - - uid: 3138 - components: - - type: Transform - pos: 72.5,-73.5 - parent: 2 - uid: 3139 components: - type: Transform @@ -112347,45 +115949,22 @@ entities: - type: Transform pos: 78.5,-72.5 parent: 2 - - uid: 3162 + - uid: 3142 components: - type: Transform - pos: 76.5,-66.5 + rot: -1.5707963267948966 rad + pos: 78.5,-40.5 parent: 2 - - uid: 3163 + - uid: 3175 components: - type: Transform - pos: 77.5,-66.5 - parent: 2 - - uid: 3164 - components: - - type: Transform - pos: 78.5,-66.5 - parent: 2 - - uid: 3200 - components: - - type: Transform - pos: 73.5,-43.5 + pos: 84.5,-47.5 parent: 2 - uid: 3201 components: - type: Transform - pos: 76.5,-62.5 - parent: 2 - - uid: 3202 - components: - - type: Transform - pos: 73.5,-42.5 - parent: 2 - - uid: 3213 - components: - - type: Transform - pos: 77.5,-62.5 - parent: 2 - - uid: 3214 - components: - - type: Transform - pos: 78.5,-62.5 + rot: 1.5707963267948966 rad + pos: 71.5,-30.5 parent: 2 - uid: 3218 components: @@ -112462,11 +116041,6 @@ entities: - type: Transform pos: 82.5,-65.5 parent: 2 - - uid: 3234 - components: - - type: Transform - pos: 73.5,-41.5 - parent: 2 - uid: 3235 components: - type: Transform @@ -112662,21 +116236,6 @@ entities: - type: Transform pos: 85.5,-71.5 parent: 2 - - uid: 3277 - components: - - type: Transform - pos: 75.5,-43.5 - parent: 2 - - uid: 3281 - components: - - type: Transform - pos: 75.5,-47.5 - parent: 2 - - uid: 3282 - components: - - type: Transform - pos: 75.5,-48.5 - parent: 2 - uid: 3293 components: - type: Transform @@ -112727,16 +116286,23 @@ entities: - type: Transform pos: 81.5,-56.5 parent: 2 - - uid: 3309 - components: - - type: Transform - pos: 74.5,-55.5 - parent: 2 - uid: 3310 components: - type: Transform pos: 73.5,-55.5 parent: 2 + - uid: 3311 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-51.5 + parent: 2 + - uid: 3319 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-47.5 + parent: 2 - uid: 3366 components: - type: Transform @@ -112762,6 +116328,12 @@ entities: - type: Transform pos: -37.5,-66.5 parent: 2 + - uid: 3397 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-50.5 + parent: 2 - uid: 3404 components: - type: Transform @@ -112827,15 +116399,10 @@ entities: - type: Transform pos: 77.5,-48.5 parent: 2 - - uid: 3423 + - uid: 3425 components: - type: Transform - pos: 76.5,-48.5 - parent: 2 - - uid: 3428 - components: - - type: Transform - pos: 76.5,-42.5 + pos: 57.5,-74.5 parent: 2 - uid: 3429 components: @@ -112872,55 +116439,27 @@ entities: - type: Transform pos: 80.5,-39.5 parent: 2 - - uid: 3458 - components: - - type: Transform - pos: 71.5,-39.5 - parent: 2 - - uid: 3466 - components: - - type: Transform - pos: 64.5,-55.5 - parent: 2 - - uid: 3469 - components: - - type: Transform - pos: 64.5,-53.5 - parent: 2 - uid: 3537 components: - type: Transform - pos: 70.5,-29.5 + pos: 63.5,-54.5 parent: 2 - - uid: 3538 + - uid: 3547 components: - type: Transform - pos: 70.5,-30.5 + rot: 1.5707963267948966 rad + pos: 52.5,-30.5 parent: 2 - - uid: 3539 + - uid: 3553 components: - type: Transform - pos: 70.5,-31.5 + pos: 30.5,-10.5 parent: 2 - - uid: 3540 + - uid: 3557 components: - type: Transform - pos: 70.5,-32.5 - parent: 2 - - uid: 3569 - components: - - type: Transform - pos: 56.5,-42.5 - parent: 2 - - uid: 3570 - components: - - type: Transform - pos: 56.5,-43.5 - parent: 2 - - uid: 3571 - components: - - type: Transform - pos: 56.5,-44.5 + rot: 1.5707963267948966 rad + pos: 49.5,-31.5 parent: 2 - uid: 3572 components: @@ -112937,60 +116476,133 @@ entities: - type: Transform pos: 80.5,-38.5 parent: 2 - - uid: 3616 + - uid: 3612 components: - type: Transform - pos: 56.5,-37.5 + pos: 53.5,-22.5 parent: 2 - - uid: 3621 + - uid: 3614 components: - type: Transform - pos: 56.5,-33.5 + rot: 1.5707963267948966 rad + pos: 49.5,-30.5 parent: 2 - uid: 3631 components: - type: Transform - pos: 70.5,-28.5 - parent: 2 - - uid: 3632 - components: - - type: Transform - pos: 70.5,-27.5 + pos: 68.5,-55.5 parent: 2 - uid: 3633 components: - type: Transform pos: 70.5,-26.5 parent: 2 - - uid: 3634 + - uid: 3739 components: - type: Transform - pos: 70.5,-25.5 + rot: 3.141592653589793 rad + pos: 80.5,-42.5 parent: 2 - - uid: 3649 + - uid: 3756 components: - type: Transform - pos: 56.5,-25.5 + pos: 83.5,-43.5 parent: 2 - - uid: 3650 + - uid: 3772 components: - type: Transform - pos: 56.5,-26.5 + rot: 1.5707963267948966 rad + pos: 74.5,-46.5 parent: 2 - - uid: 3651 + - uid: 3773 components: - type: Transform - pos: 56.5,-27.5 + rot: 1.5707963267948966 rad + pos: 74.5,-48.5 parent: 2 - - uid: 3652 + - uid: 3797 components: - type: Transform - pos: 56.5,-28.5 + rot: 1.5707963267948966 rad + pos: 71.5,-36.5 parent: 2 - - uid: 3777 + - uid: 3814 components: - type: Transform - pos: 56.5,-30.5 + rot: 1.5707963267948966 rad + pos: 94.5,-39.5 + parent: 2 + - uid: 3815 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 94.5,-38.5 + parent: 2 + - uid: 3823 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 96.5,-40.5 + parent: 2 + - uid: 3824 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-41.5 + parent: 2 + - uid: 3825 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 96.5,-41.5 + parent: 2 + - uid: 3826 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 98.5,-43.5 + parent: 2 + - uid: 3846 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-49.5 + parent: 2 + - uid: 3847 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 98.5,-48.5 + parent: 2 + - uid: 3848 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 96.5,-49.5 + parent: 2 + - uid: 3849 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 98.5,-47.5 + parent: 2 + - uid: 3850 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 98.5,-44.5 + parent: 2 + - uid: 3851 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 98.5,-45.5 + parent: 2 + - uid: 3852 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 98.5,-46.5 parent: 2 - uid: 3870 components: @@ -113047,6 +116659,30 @@ entities: - type: Transform pos: 81.5,-35.5 parent: 2 + - uid: 3902 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 95.5,-40.5 + parent: 2 + - uid: 3903 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 95.5,-39.5 + parent: 2 + - uid: 3908 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 77.5,-40.5 + parent: 2 + - uid: 3910 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 75.5,-40.5 + parent: 2 - uid: 3917 components: - type: Transform @@ -113062,6 +116698,18 @@ entities: - type: Transform pos: 82.5,-30.5 parent: 2 + - uid: 3924 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-40.5 + parent: 2 + - uid: 3925 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-35.5 + parent: 2 - uid: 3965 components: - type: Transform @@ -113447,11 +117095,6 @@ entities: - type: Transform pos: 67.5,-18.5 parent: 2 - - uid: 4086 - components: - - type: Transform - pos: 50.5,-22.5 - parent: 2 - uid: 4087 components: - type: Transform @@ -113487,21 +117130,6 @@ entities: - type: Transform pos: 69.5,-22.5 parent: 2 - - uid: 4099 - components: - - type: Transform - pos: 69.5,-54.5 - parent: 2 - - uid: 4100 - components: - - type: Transform - pos: 70.5,-54.5 - parent: 2 - - uid: 4109 - components: - - type: Transform - pos: 56.5,-47.5 - parent: 2 - uid: 4112 components: - type: Transform @@ -113667,16 +117295,6 @@ entities: - type: Transform pos: 41.5,-20.5 parent: 2 - - uid: 4219 - components: - - type: Transform - pos: 32.5,-10.5 - parent: 2 - - uid: 4220 - components: - - type: Transform - pos: 32.5,-9.5 - parent: 2 - uid: 4236 components: - type: Transform @@ -113837,6 +117455,11 @@ entities: - type: Transform pos: 30.5,-68.5 parent: 2 + - uid: 4305 + components: + - type: Transform + pos: 56.5,-73.5 + parent: 2 - uid: 4314 components: - type: Transform @@ -114007,80 +117630,20 @@ entities: - type: Transform pos: -15.5,-28.5 parent: 2 - - uid: 4560 - components: - - type: Transform - pos: 32.5,-23.5 - parent: 2 - uid: 4561 components: - type: Transform pos: 32.5,-21.5 parent: 2 - - uid: 4562 - components: - - type: Transform - pos: 32.5,-20.5 - parent: 2 - - uid: 4610 - components: - - type: Transform - pos: 32.5,-19.5 - parent: 2 - - uid: 4613 - components: - - type: Transform - pos: 32.5,-18.5 - parent: 2 - - uid: 4614 - components: - - type: Transform - pos: 32.5,-17.5 - parent: 2 - - uid: 4615 - components: - - type: Transform - pos: 32.5,-16.5 - parent: 2 - - uid: 4616 - components: - - type: Transform - pos: 32.5,-15.5 - parent: 2 - uid: 4617 components: - type: Transform - pos: 32.5,-14.5 - parent: 2 - - uid: 4618 - components: - - type: Transform - pos: 32.5,-13.5 + pos: 28.5,-21.5 parent: 2 - uid: 4624 components: - type: Transform - pos: 32.5,-12.5 - parent: 2 - - uid: 4625 - components: - - type: Transform - pos: 32.5,-11.5 - parent: 2 - - uid: 4626 - components: - - type: Transform - pos: 29.5,-13.5 - parent: 2 - - uid: 4627 - components: - - type: Transform - pos: 29.5,-12.5 - parent: 2 - - uid: 4628 - components: - - type: Transform - pos: 29.5,-11.5 + pos: 30.5,-14.5 parent: 2 - uid: 4629 components: @@ -114137,6 +117700,11 @@ entities: - type: Transform pos: 34.5,-73.5 parent: 2 + - uid: 4810 + components: + - type: Transform + pos: 70.5,-55.5 + parent: 2 - uid: 4829 components: - type: Transform @@ -114147,26 +117715,11 @@ entities: - type: Transform pos: -10.5,-68.5 parent: 2 - - uid: 4907 - components: - - type: Transform - pos: 71.5,-54.5 - parent: 2 - - uid: 4913 - components: - - type: Transform - pos: 67.5,-53.5 - parent: 2 - uid: 4914 components: - type: Transform pos: 39.5,-18.5 parent: 2 - - uid: 4915 - components: - - type: Transform - pos: 66.5,-53.5 - parent: 2 - uid: 4918 components: - type: Transform @@ -114207,6 +117760,12 @@ entities: - type: Transform pos: 54.5,-60.5 parent: 2 + - uid: 5110 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 33.5,-21.5 + parent: 2 - uid: 5185 components: - type: Transform @@ -114222,20 +117781,21 @@ entities: - type: Transform pos: -62.5,-64.5 parent: 2 - - uid: 5381 + - uid: 5276 components: - type: Transform - pos: 56.5,-36.5 + pos: 49.5,-37.5 parent: 2 - - uid: 5388 + - uid: 5315 components: - type: Transform - pos: 56.5,-34.5 + rot: 3.141592653589793 rad + pos: 79.5,-48.5 parent: 2 - - uid: 5437 + - uid: 5322 components: - type: Transform - pos: 64.5,-54.5 + pos: 84.5,-43.5 parent: 2 - uid: 5497 components: @@ -114272,6 +117832,11 @@ entities: - type: Transform pos: 74.5,-72.5 parent: 2 + - uid: 5607 + components: + - type: Transform + pos: 38.5,-77.5 + parent: 2 - uid: 5740 components: - type: Transform @@ -114292,6 +117857,18 @@ entities: - type: Transform pos: 22.5,-63.5 parent: 2 + - uid: 5813 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 74.5,-49.5 + parent: 2 + - uid: 5814 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 74.5,-47.5 + parent: 2 - uid: 5819 components: - type: Transform @@ -114307,11 +117884,38 @@ entities: - type: Transform pos: -9.5,-72.5 parent: 2 + - uid: 5894 + components: + - type: Transform + pos: 73.5,-37.5 + parent: 2 + - uid: 5895 + components: + - type: Transform + pos: 73.5,-36.5 + parent: 2 + - uid: 6009 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-29.5 + parent: 2 + - uid: 6012 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-31.5 + parent: 2 - uid: 6037 components: - type: Transform pos: 43.5,-61.5 parent: 2 + - uid: 6041 + components: + - type: Transform + pos: 64.5,-54.5 + parent: 2 - uid: 6062 components: - type: Transform @@ -114382,10 +117986,11 @@ entities: - type: Transform pos: 82.5,-19.5 parent: 2 - - uid: 6639 + - uid: 6638 components: - type: Transform - pos: 82.5,-43.5 + rot: 3.141592653589793 rad + pos: 80.5,-48.5 parent: 2 - uid: 6669 components: @@ -114397,30 +118002,63 @@ entities: - type: Transform pos: 39.5,-59.5 parent: 2 - - uid: 7124 + - uid: 7119 components: - type: Transform - pos: 75.5,-44.5 - parent: 2 - - uid: 7127 - components: - - type: Transform - pos: 75.5,-42.5 - parent: 2 - - uid: 7128 - components: - - type: Transform - pos: 75.5,-46.5 + pos: 54.5,-31.5 parent: 2 - uid: 7134 components: - type: Transform pos: 39.5,-61.5 parent: 2 - - uid: 7189 + - uid: 7165 components: - type: Transform - pos: 71.5,-38.5 + rot: -1.5707963267948966 rad + pos: 88.5,-50.5 + parent: 2 + - uid: 7171 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 89.5,-48.5 + parent: 2 + - uid: 7180 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 88.5,-48.5 + parent: 2 + - uid: 7182 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 88.5,-40.5 + parent: 2 + - uid: 7185 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 87.5,-40.5 + parent: 2 + - uid: 7186 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 87.5,-50.5 + parent: 2 + - uid: 7220 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 61.5,-53.5 + parent: 2 + - uid: 7235 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-53.5 parent: 2 - uid: 7241 components: @@ -114442,15 +118080,28 @@ entities: - type: Transform pos: 51.5,-79.5 parent: 2 - - uid: 7339 + - uid: 7263 components: - type: Transform - pos: 82.5,-42.5 + rot: -1.5707963267948966 rad + pos: 58.5,-53.5 parent: 2 - - uid: 7341 + - uid: 7269 components: - type: Transform - pos: 83.5,-42.5 + rot: -1.5707963267948966 rad + pos: 62.5,-53.5 + parent: 2 + - uid: 7270 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-53.5 + parent: 2 + - uid: 7326 + components: + - type: Transform + pos: 83.5,-47.5 parent: 2 - uid: 7343 components: @@ -114467,31 +118118,11 @@ entities: - type: Transform pos: 86.5,-42.5 parent: 2 - - uid: 7347 - components: - - type: Transform - pos: 84.5,-40.5 - parent: 2 - - uid: 7348 - components: - - type: Transform - pos: 85.5,-40.5 - parent: 2 - uid: 7349 components: - type: Transform pos: 86.5,-40.5 parent: 2 - - uid: 7350 - components: - - type: Transform - pos: 85.5,-39.5 - parent: 2 - - uid: 7351 - components: - - type: Transform - pos: 86.5,-39.5 - parent: 2 - uid: 7352 components: - type: Transform @@ -114552,116 +118183,21 @@ entities: - type: Transform pos: 88.5,-38.5 parent: 2 - - uid: 7364 - components: - - type: Transform - pos: 87.5,-38.5 - parent: 2 - - uid: 7365 - components: - - type: Transform - pos: 86.5,-38.5 - parent: 2 - - uid: 7366 - components: - - type: Transform - pos: 92.5,-40.5 - parent: 2 - - uid: 7367 - components: - - type: Transform - pos: 93.5,-40.5 - parent: 2 - uid: 7368 components: - type: Transform pos: 94.5,-40.5 parent: 2 - - uid: 7369 - components: - - type: Transform - pos: 93.5,-41.5 - parent: 2 - - uid: 7370 - components: - - type: Transform - pos: 94.5,-41.5 - parent: 2 - uid: 7371 components: - type: Transform pos: 95.5,-41.5 parent: 2 - - uid: 7372 - components: - - type: Transform - pos: 94.5,-42.5 - parent: 2 - - uid: 7373 - components: - - type: Transform - pos: 95.5,-42.5 - parent: 2 - uid: 7374 components: - type: Transform pos: 96.5,-42.5 parent: 2 - - uid: 7375 - components: - - type: Transform - pos: 95.5,-43.5 - parent: 2 - - uid: 7376 - components: - - type: Transform - pos: 95.5,-44.5 - parent: 2 - - uid: 7377 - components: - - type: Transform - pos: 95.5,-45.5 - parent: 2 - - uid: 7378 - components: - - type: Transform - pos: 95.5,-46.5 - parent: 2 - - uid: 7379 - components: - - type: Transform - pos: 95.5,-47.5 - parent: 2 - - uid: 7380 - components: - - type: Transform - pos: 95.5,-48.5 - parent: 2 - - uid: 7381 - components: - - type: Transform - pos: 96.5,-43.5 - parent: 2 - - uid: 7382 - components: - - type: Transform - pos: 96.5,-44.5 - parent: 2 - - uid: 7383 - components: - - type: Transform - pos: 96.5,-45.5 - parent: 2 - - uid: 7384 - components: - - type: Transform - pos: 96.5,-46.5 - parent: 2 - - uid: 7385 - components: - - type: Transform - pos: 96.5,-47.5 - parent: 2 - uid: 7386 components: - type: Transform @@ -114672,36 +118208,11 @@ entities: - type: Transform pos: 95.5,-49.5 parent: 2 - - uid: 7388 - components: - - type: Transform - pos: 94.5,-49.5 - parent: 2 - - uid: 7389 - components: - - type: Transform - pos: 93.5,-49.5 - parent: 2 - - uid: 7390 - components: - - type: Transform - pos: 94.5,-48.5 - parent: 2 - uid: 7391 components: - type: Transform pos: 94.5,-50.5 parent: 2 - - uid: 7392 - components: - - type: Transform - pos: 93.5,-50.5 - parent: 2 - - uid: 7393 - components: - - type: Transform - pos: 92.5,-50.5 - parent: 2 - uid: 7394 components: - type: Transform @@ -114737,16 +118248,6 @@ entities: - type: Transform pos: 87.5,-51.5 parent: 2 - - uid: 7401 - components: - - type: Transform - pos: 86.5,-51.5 - parent: 2 - - uid: 7402 - components: - - type: Transform - pos: 85.5,-51.5 - parent: 2 - uid: 7403 components: - type: Transform @@ -114772,41 +118273,11 @@ entities: - type: Transform pos: 88.5,-52.5 parent: 2 - - uid: 7408 - components: - - type: Transform - pos: 87.5,-52.5 - parent: 2 - - uid: 7409 - components: - - type: Transform - pos: 86.5,-52.5 - parent: 2 - - uid: 7410 - components: - - type: Transform - pos: 84.5,-50.5 - parent: 2 - - uid: 7411 - components: - - type: Transform - pos: 85.5,-50.5 - parent: 2 - uid: 7412 components: - type: Transform pos: 86.5,-50.5 parent: 2 - - uid: 7413 - components: - - type: Transform - pos: 82.5,-48.5 - parent: 2 - - uid: 7414 - components: - - type: Transform - pos: 83.5,-48.5 - parent: 2 - uid: 7415 components: - type: Transform @@ -114822,16 +118293,6 @@ entities: - type: Transform pos: 86.5,-48.5 parent: 2 - - uid: 7421 - components: - - type: Transform - pos: 93.5,-44.5 - parent: 2 - - uid: 7423 - components: - - type: Transform - pos: 93.5,-46.5 - parent: 2 - uid: 7457 components: - type: Transform @@ -114847,35 +118308,132 @@ entities: - type: Transform pos: -63.5,-64.5 parent: 2 + - uid: 7529 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 90.5,-45.5 + parent: 2 + - uid: 7531 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 90.5,-44.5 + parent: 2 + - uid: 7538 + components: + - type: Transform + pos: 59.5,-77.5 + parent: 2 + - uid: 7542 + components: + - type: Transform + pos: 58.5,-78.5 + parent: 2 + - uid: 7544 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 73.5,-51.5 + parent: 2 + - uid: 7595 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 77.5,-47.5 + parent: 2 + - uid: 7596 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 77.5,-46.5 + parent: 2 + - uid: 7599 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 90.5,-46.5 + parent: 2 + - uid: 7607 + components: + - type: Transform + pos: 72.5,-55.5 + parent: 2 + - uid: 7616 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 77.5,-43.5 + parent: 2 + - uid: 7618 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 77.5,-44.5 + parent: 2 + - uid: 7654 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-43.5 + parent: 2 + - uid: 7657 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-42.5 + parent: 2 + - uid: 7707 + components: + - type: Transform + pos: 30.5,-13.5 + parent: 2 + - uid: 7727 + components: + - type: Transform + pos: 74.5,-45.5 + parent: 2 + - uid: 7743 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-52.5 + parent: 2 + - uid: 7746 + components: + - type: Transform + pos: 29.5,-21.5 + parent: 2 - uid: 7747 components: - type: Transform - pos: 64.5,-59.5 + pos: 49.5,-39.5 parent: 2 - - uid: 7765 + - uid: 7776 components: - type: Transform - pos: 31.5,-17.5 + pos: 57.5,-76.5 + parent: 2 + - uid: 7787 + components: + - type: Transform + pos: 30.5,-12.5 parent: 2 - uid: 7788 components: - type: Transform pos: 29.5,-14.5 parent: 2 - - uid: 7794 + - uid: 7791 components: - type: Transform - pos: 27.5,-14.5 + pos: 28.5,-16.5 parent: 2 - - uid: 7939 + - uid: 7908 components: - type: Transform - pos: 56.5,-56.5 - parent: 2 - - uid: 7940 - components: - - type: Transform - pos: 56.5,-57.5 + rot: 1.5707963267948966 rad + pos: 37.5,-17.5 parent: 2 - uid: 7972 components: @@ -114887,16 +118445,31 @@ entities: - type: Transform pos: 29.5,-64.5 parent: 2 + - uid: 7988 + components: + - type: Transform + pos: 65.5,-54.5 + parent: 2 - uid: 7994 components: - type: Transform pos: 71.5,-55.5 parent: 2 + - uid: 8003 + components: + - type: Transform + pos: 66.5,-55.5 + parent: 2 - uid: 8018 components: - type: Transform pos: -22.5,-15.5 parent: 2 + - uid: 8029 + components: + - type: Transform + pos: 47.5,-39.5 + parent: 2 - uid: 8032 components: - type: Transform @@ -114907,10 +118480,16 @@ entities: - type: Transform pos: -44.5,-76.5 parent: 2 - - uid: 8127 + - uid: 8088 components: - type: Transform - pos: 62.5,-61.5 + pos: 49.5,-34.5 + parent: 2 + - uid: 8114 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 50.5,-27.5 parent: 2 - uid: 8136 components: @@ -114922,10 +118501,10 @@ entities: - type: Transform pos: 19.5,-59.5 parent: 2 - - uid: 8161 + - uid: 8173 components: - type: Transform - pos: 61.5,-61.5 + pos: 50.5,-39.5 parent: 2 - uid: 8175 components: @@ -114947,71 +118526,218 @@ entities: - type: Transform pos: 39.5,-77.5 parent: 2 - - uid: 8564 + - uid: 8387 components: - type: Transform - pos: 37.5,-12.5 + pos: 48.5,-36.5 parent: 2 - - uid: 8565 + - uid: 8389 components: - type: Transform - pos: 37.5,-13.5 + pos: 48.5,-37.5 + parent: 2 + - uid: 8390 + components: + - type: Transform + pos: 48.5,-35.5 + parent: 2 + - uid: 8391 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 49.5,-38.5 + parent: 2 + - uid: 8403 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 50.5,-30.5 + parent: 2 + - uid: 8404 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 49.5,-28.5 + parent: 2 + - uid: 8405 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-45.5 + parent: 2 + - uid: 8413 + components: + - type: Transform + pos: 49.5,-35.5 parent: 2 - uid: 8567 components: - type: Transform pos: 38.5,-20.5 parent: 2 - - uid: 8570 + - uid: 8574 components: - type: Transform - pos: 73.5,-46.5 + pos: 51.5,-39.5 parent: 2 - - uid: 8575 + - uid: 8578 components: - type: Transform - pos: 33.5,-19.5 + rot: 1.5707963267948966 rad + pos: 54.5,-28.5 + parent: 2 + - uid: 8589 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-46.5 + parent: 2 + - uid: 8590 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-44.5 + parent: 2 + - uid: 8591 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-48.5 + parent: 2 + - uid: 8606 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 98.5,-42.5 + parent: 2 + - uid: 8608 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 97.5,-47.5 + parent: 2 + - uid: 8609 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 94.5,-52.5 + parent: 2 + - uid: 8611 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-50.5 + parent: 2 + - uid: 8627 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-28.5 + parent: 2 + - uid: 8629 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 95.5,-51.5 parent: 2 - uid: 8631 components: - type: Transform pos: 60.5,-22.5 parent: 2 + - uid: 8634 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-27.5 + parent: 2 - uid: 8635 components: - type: Transform pos: 67.5,-22.5 parent: 2 + - uid: 8637 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 94.5,-51.5 + parent: 2 + - uid: 8651 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-26.5 + parent: 2 + - uid: 8685 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 93.5,-52.5 + parent: 2 - uid: 8686 components: - type: Transform - pos: 73.5,-39.5 + rot: 1.5707963267948966 rad + pos: 95.5,-50.5 + parent: 2 + - uid: 8703 + components: + - type: Transform + pos: 30.5,-9.5 + parent: 2 + - uid: 8709 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 96.5,-50.5 + parent: 2 + - uid: 8783 + components: + - type: Transform + pos: 34.5,-21.5 + parent: 2 + - uid: 8784 + components: + - type: Transform + pos: 36.5,-16.5 + parent: 2 + - uid: 8801 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 93.5,-38.5 + parent: 2 + - uid: 8812 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 54.5,-27.5 + parent: 2 + - uid: 8823 + components: + - type: Transform + pos: 54.5,-29.5 + parent: 2 + - uid: 8825 + components: + - type: Transform + pos: 54.5,-30.5 parent: 2 - uid: 8830 components: - type: Transform pos: 6.5,-81.5 parent: 2 + - uid: 8867 + components: + - type: Transform + pos: 33.5,-13.5 + parent: 2 - uid: 9245 components: - type: Transform pos: 61.5,-22.5 parent: 2 - - uid: 9295 - components: - - type: Transform - pos: 55.5,-53.5 - parent: 2 - - uid: 9296 - components: - - type: Transform - pos: 56.5,-54.5 - parent: 2 - - uid: 9301 - components: - - type: Transform - pos: 72.5,-57.5 - parent: 2 - uid: 9316 components: - type: Transform @@ -115037,35 +118763,57 @@ entities: - type: Transform pos: 55.5,-67.5 parent: 2 - - uid: 9342 - components: - - type: Transform - pos: 35.5,-19.5 - parent: 2 - uid: 9355 components: - type: Transform pos: 29.5,-59.5 parent: 2 + - uid: 9358 + components: + - type: Transform + pos: 33.5,-12.5 + parent: 2 + - uid: 9361 + components: + - type: Transform + pos: 34.5,-16.5 + parent: 2 - uid: 9362 components: - type: Transform pos: 53.5,-12.5 parent: 2 - - uid: 9397 + - uid: 9366 components: - type: Transform - pos: 64.5,-58.5 + rot: 1.5707963267948966 rad + pos: 37.5,-16.5 parent: 2 - - uid: 9416 + - uid: 9367 components: - type: Transform - pos: 64.5,-57.5 + pos: 34.5,-20.5 parent: 2 - - uid: 9669 + - uid: 9369 components: - type: Transform - pos: 63.5,-53.5 + pos: 49.5,-27.5 + parent: 2 + - uid: 9386 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 34.5,-19.5 + parent: 2 + - uid: 9413 + components: + - type: Transform + pos: 33.5,-16.5 + parent: 2 + - uid: 9870 + components: + - type: Transform + pos: 47.5,-42.5 parent: 2 - uid: 9959 components: @@ -115132,31 +118880,6 @@ entities: - type: Transform pos: 51.5,-11.5 parent: 2 - - uid: 10288 - components: - - type: Transform - pos: 64.5,-56.5 - parent: 2 - - uid: 10299 - components: - - type: Transform - pos: 56.5,-55.5 - parent: 2 - - uid: 10304 - components: - - type: Transform - pos: 54.5,-53.5 - parent: 2 - - uid: 10310 - components: - - type: Transform - pos: 73.5,-45.5 - parent: 2 - - uid: 10313 - components: - - type: Transform - pos: 73.5,-44.5 - parent: 2 - uid: 10321 components: - type: Transform @@ -115167,10 +118890,27 @@ entities: - type: Transform pos: -50.5,-48.5 parent: 2 - - uid: 10674 + - uid: 10658 components: - type: Transform - pos: 56.5,-53.5 + rot: -1.5707963267948966 rad + pos: -12.5,-75.5 + parent: 2 + - uid: 10659 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -13.5,-75.5 + parent: 2 + - uid: 10714 + components: + - type: Transform + pos: 74.5,-42.5 + parent: 2 + - uid: 10723 + components: + - type: Transform + pos: 74.5,-43.5 parent: 2 - uid: 10747 components: @@ -115182,10 +118922,17 @@ entities: - type: Transform pos: 66.5,-22.5 parent: 2 - - uid: 10766 + - uid: 10783 components: - type: Transform - pos: 73.5,-49.5 + rot: -1.5707963267948966 rad + pos: 74.5,-41.5 + parent: 2 + - uid: 10784 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 63.5,-53.5 parent: 2 - uid: 10807 components: @@ -115222,11 +118969,6 @@ entities: - type: Transform pos: -11.5,-17.5 parent: 2 - - uid: 11460 - components: - - type: Transform - pos: 78.5,-56.5 - parent: 2 - uid: 11462 components: - type: Transform @@ -115237,11 +118979,6 @@ entities: - type: Transform pos: -15.5,-15.5 parent: 2 - - uid: 11467 - components: - - type: Transform - pos: 88.5,-46.5 - parent: 2 - uid: 11471 components: - type: Transform @@ -115262,31 +118999,26 @@ entities: - type: Transform pos: 50.5,-57.5 parent: 2 - - uid: 11842 + - uid: 11689 components: - type: Transform - pos: 88.5,-45.5 - parent: 2 - - uid: 11846 - components: - - type: Transform - pos: 56.5,-31.5 + pos: 71.5,-56.5 parent: 2 - uid: 11853 components: - type: Transform pos: -8.5,-26.5 parent: 2 - - uid: 11909 - components: - - type: Transform - pos: 49.5,-38.5 - parent: 2 - uid: 11945 components: - type: Transform pos: 44.5,-73.5 parent: 2 + - uid: 11981 + components: + - type: Transform + pos: 49.5,-32.5 + parent: 2 - uid: 12709 components: - type: Transform @@ -115302,6 +119034,26 @@ entities: - type: Transform pos: -23.5,-19.5 parent: 2 + - uid: 12929 + components: + - type: Transform + pos: 47.5,-41.5 + parent: 2 + - uid: 12950 + components: + - type: Transform + pos: 49.5,-33.5 + parent: 2 + - uid: 12994 + components: + - type: Transform + pos: 73.5,-39.5 + parent: 2 + - uid: 13254 + components: + - type: Transform + pos: 73.5,-38.5 + parent: 2 - uid: 13393 components: - type: Transform @@ -115357,15 +119109,10 @@ entities: - type: Transform pos: 56.5,-46.5 parent: 2 - - uid: 13912 + - uid: 13932 components: - type: Transform - pos: 63.5,-61.5 - parent: 2 - - uid: 13913 - components: - - type: Transform - pos: 71.5,-57.5 + pos: 72.5,-37.5 parent: 2 - uid: 14010 components: @@ -115387,11 +119134,6 @@ entities: - type: Transform pos: 76.5,-17.5 parent: 2 - - uid: 14144 - components: - - type: Transform - pos: 78.5,-57.5 - parent: 2 - uid: 14157 components: - type: Transform @@ -115402,16 +119144,6 @@ entities: - type: Transform pos: -16.5,-72.5 parent: 2 - - uid: 14242 - components: - - type: Transform - pos: 49.5,-37.5 - parent: 2 - - uid: 14250 - components: - - type: Transform - pos: 68.5,-54.5 - parent: 2 - uid: 14255 components: - type: Transform @@ -115422,41 +119154,16 @@ entities: - type: Transform pos: 54.5,-64.5 parent: 2 - - uid: 14327 - components: - - type: Transform - pos: 60.5,-61.5 - parent: 2 - - uid: 14328 - components: - - type: Transform - pos: 59.5,-61.5 - parent: 2 - uid: 14337 components: - type: Transform pos: 56.5,-61.5 parent: 2 - - uid: 14348 - components: - - type: Transform - pos: 64.5,-60.5 - parent: 2 - - uid: 14355 - components: - - type: Transform - pos: 64.5,-61.5 - parent: 2 - uid: 14388 components: - type: Transform pos: 48.5,-54.5 parent: 2 - - uid: 14406 - components: - - type: Transform - pos: 49.5,-36.5 - parent: 2 - uid: 14409 components: - type: Transform @@ -115505,22 +119212,29 @@ entities: - uid: 15125 components: - type: Transform - pos: 48.5,-36.5 + pos: 67.5,-55.5 parent: 2 - - uid: 15126 + - uid: 15167 components: - type: Transform - pos: 47.5,-36.5 + pos: 58.5,-77.5 parent: 2 - - uid: 15127 + - uid: 15168 components: - type: Transform - pos: 47.5,-37.5 + pos: 59.5,-78.5 parent: 2 - - uid: 15233 + - uid: 15195 components: - type: Transform - pos: 88.5,-44.5 + rot: -1.5707963267948966 rad + pos: 88.5,-42.5 + parent: 2 + - uid: 15196 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 89.5,-42.5 parent: 2 - uid: 15272 components: @@ -115562,21 +119276,11 @@ entities: - type: Transform pos: -43.5,-68.5 parent: 2 - - uid: 16370 - components: - - type: Transform - pos: 57.5,-25.5 - parent: 2 - uid: 16371 components: - type: Transform pos: 60.5,-25.5 parent: 2 - - uid: 16420 - components: - - type: Transform - pos: 71.5,-36.5 - parent: 2 - uid: 16446 components: - type: Transform @@ -115727,31 +119431,11 @@ entities: - type: Transform pos: 73.5,-53.5 parent: 2 - - uid: 17265 - components: - - type: Transform - pos: 73.5,-48.5 - parent: 2 - uid: 17281 components: - type: Transform pos: 35.5,-80.5 parent: 2 - - uid: 17286 - components: - - type: Transform - pos: 72.5,-40.5 - parent: 2 - - uid: 17287 - components: - - type: Transform - pos: 71.5,-35.5 - parent: 2 - - uid: 17288 - components: - - type: Transform - pos: 71.5,-40.5 - parent: 2 - uid: 17292 components: - type: Transform @@ -115762,11 +119446,6 @@ entities: - type: Transform pos: 71.5,-33.5 parent: 2 - - uid: 17340 - components: - - type: Transform - pos: 56.5,-39.5 - parent: 2 - uid: 17341 components: - type: Transform @@ -115842,16 +119521,6 @@ entities: - type: Transform pos: 41.5,-19.5 parent: 2 - - uid: 18005 - components: - - type: Transform - pos: 82.5,-47.5 - parent: 2 - - uid: 18006 - components: - - type: Transform - pos: 81.5,-47.5 - parent: 2 - uid: 18194 components: - type: Transform @@ -115887,11 +119556,6 @@ entities: - type: Transform pos: -22.5,-89.5 parent: 2 - - uid: 18474 - components: - - type: Transform - pos: 81.5,-43.5 - parent: 2 - uid: 18489 components: - type: Transform @@ -116563,6 +120227,12 @@ entities: - type: Transform pos: -14.5,-22.5 parent: 2 + - uid: 164 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 39.5,-32.5 + parent: 2 - uid: 170 components: - type: Transform @@ -116588,6 +120258,12 @@ entities: - type: Transform pos: -30.5,-25.5 parent: 2 + - uid: 197 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 46.5,-25.5 + parent: 2 - uid: 198 components: - type: Transform @@ -116603,6 +120279,11 @@ entities: - type: Transform pos: -47.5,-61.5 parent: 2 + - uid: 209 + components: + - type: Transform + pos: 53.5,-48.5 + parent: 2 - uid: 226 components: - type: Transform @@ -116643,11 +120324,6 @@ entities: - type: Transform pos: -9.5,-23.5 parent: 2 - - uid: 294 - components: - - type: Transform - pos: 22.5,-16.5 - parent: 2 - uid: 337 components: - type: Transform @@ -116758,31 +120434,6 @@ entities: - type: Transform pos: 3.5,-23.5 parent: 2 - - uid: 451 - components: - - type: Transform - pos: 22.5,-15.5 - parent: 2 - - uid: 452 - components: - - type: Transform - pos: 22.5,-17.5 - parent: 2 - - uid: 453 - components: - - type: Transform - pos: 22.5,-18.5 - parent: 2 - - uid: 455 - components: - - type: Transform - pos: 22.5,-20.5 - parent: 2 - - uid: 456 - components: - - type: Transform - pos: 22.5,-21.5 - parent: 2 - uid: 465 components: - type: Transform @@ -116973,15 +120624,15 @@ entities: - type: Transform pos: 17.5,-51.5 parent: 2 - - uid: 919 + - uid: 885 components: - type: Transform - pos: 26.5,-24.5 + pos: 76.5,-60.5 parent: 2 - - uid: 920 + - uid: 887 components: - type: Transform - pos: 26.5,-25.5 + pos: 72.5,-66.5 parent: 2 - uid: 925 components: @@ -117473,11 +121124,6 @@ entities: - type: Transform pos: 3.5,-61.5 parent: 2 - - uid: 1095 - components: - - type: Transform - pos: 3.5,-59.5 - parent: 2 - uid: 1097 components: - type: Transform @@ -117503,11 +121149,6 @@ entities: - type: Transform pos: 5.5,-60.5 parent: 2 - - uid: 1104 - components: - - type: Transform - pos: 5.5,-59.5 - parent: 2 - uid: 1105 components: - type: Transform @@ -117738,6 +121379,11 @@ entities: - type: Transform pos: -22.5,-43.5 parent: 2 + - uid: 1197 + components: + - type: Transform + pos: 59.5,-65.5 + parent: 2 - uid: 1199 components: - type: Transform @@ -118089,6 +121735,11 @@ entities: - type: Transform pos: -55.5,-25.5 parent: 2 + - uid: 1546 + components: + - type: Transform + pos: 46.5,-50.5 + parent: 2 - uid: 1548 components: - type: Transform @@ -118164,6 +121815,12 @@ entities: - type: Transform pos: -30.5,-50.5 parent: 2 + - uid: 1807 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 49.5,-48.5 + parent: 2 - uid: 1872 components: - type: Transform @@ -118174,6 +121831,12 @@ entities: - type: Transform pos: -36.5,-62.5 parent: 2 + - uid: 1878 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 39.5,-36.5 + parent: 2 - uid: 1887 components: - type: Transform @@ -118294,65 +121957,29 @@ entities: - type: Transform pos: -43.5,-62.5 parent: 2 - - uid: 1976 - components: - - type: Transform - pos: 48.5,-49.5 - parent: 2 - - uid: 1997 - components: - - type: Transform - pos: -37.5,-73.5 - parent: 2 - - uid: 1998 - components: - - type: Transform - pos: -37.5,-74.5 - parent: 2 - uid: 1999 components: - type: Transform - pos: -37.5,-75.5 + rot: 1.5707963267948966 rad + pos: 78.5,-36.5 parent: 2 - uid: 2000 components: - type: Transform - pos: -37.5,-77.5 + rot: 1.5707963267948966 rad + pos: 72.5,-32.5 parent: 2 - uid: 2001 components: - type: Transform - pos: -37.5,-78.5 + rot: 1.5707963267948966 rad + pos: 73.5,-32.5 parent: 2 - uid: 2002 components: - type: Transform - pos: -38.5,-78.5 - parent: 2 - - uid: 2005 - components: - - type: Transform - pos: -40.5,-78.5 - parent: 2 - - uid: 2006 - components: - - type: Transform - pos: -41.5,-78.5 - parent: 2 - - uid: 2007 - components: - - type: Transform - pos: -42.5,-78.5 - parent: 2 - - uid: 2008 - components: - - type: Transform - pos: -42.5,-77.5 - parent: 2 - - uid: 2009 - components: - - type: Transform - pos: -42.5,-76.5 + rot: 1.5707963267948966 rad + pos: 75.5,-50.5 parent: 2 - uid: 2103 components: @@ -118389,11 +122016,6 @@ entities: - type: Transform pos: -45.5,-66.5 parent: 2 - - uid: 2158 - components: - - type: Transform - pos: 58.5,-73.5 - parent: 2 - uid: 2170 components: - type: Transform @@ -118409,16 +122031,6 @@ entities: - type: Transform pos: 7.5,-63.5 parent: 2 - - uid: 2228 - components: - - type: Transform - pos: 58.5,-66.5 - parent: 2 - - uid: 2246 - components: - - type: Transform - pos: 57.5,-67.5 - parent: 2 - uid: 2250 components: - type: Transform @@ -118434,16 +122046,17 @@ entities: - type: Transform pos: -4.5,-71.5 parent: 2 - - uid: 2269 - components: - - type: Transform - pos: 57.5,-66.5 - parent: 2 - uid: 2291 components: - type: Transform pos: -55.5,-64.5 parent: 2 + - uid: 2302 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 24.5,-19.5 + parent: 2 - uid: 2380 components: - type: Transform @@ -118719,11 +122332,6 @@ entities: - type: Transform pos: -31.5,-26.5 parent: 2 - - uid: 2951 - components: - - type: Transform - pos: 74.5,-56.5 - parent: 2 - uid: 2952 components: - type: Transform @@ -118764,16 +122372,26 @@ entities: - type: Transform pos: 36.5,-77.5 parent: 2 - - uid: 2960 + - uid: 3012 components: - type: Transform - pos: 37.5,-77.5 + pos: 23.5,-14.5 + parent: 2 + - uid: 3029 + components: + - type: Transform + pos: 23.5,-15.5 parent: 2 - uid: 3034 components: - type: Transform pos: 74.5,-24.5 parent: 2 + - uid: 3090 + components: + - type: Transform + pos: 65.5,-62.5 + parent: 2 - uid: 3108 components: - type: Transform @@ -118789,151 +122407,21 @@ entities: - type: Transform pos: 78.5,-71.5 parent: 2 - - uid: 3142 - components: - - type: Transform - pos: 78.5,-70.5 - parent: 2 - - uid: 3143 - components: - - type: Transform - pos: 78.5,-69.5 - parent: 2 - - uid: 3144 - components: - - type: Transform - pos: 78.5,-68.5 - parent: 2 - - uid: 3145 - components: - - type: Transform - pos: 77.5,-68.5 - parent: 2 - - uid: 3146 - components: - - type: Transform - pos: 76.5,-68.5 - parent: 2 - - uid: 3147 - components: - - type: Transform - pos: 75.5,-68.5 - parent: 2 - - uid: 3148 - components: - - type: Transform - pos: 76.5,-70.5 - parent: 2 - - uid: 3149 - components: - - type: Transform - pos: 75.5,-70.5 - parent: 2 - - uid: 3150 - components: - - type: Transform - pos: 74.5,-70.5 - parent: 2 - - uid: 3151 - components: - - type: Transform - pos: 73.5,-70.5 - parent: 2 - - uid: 3152 - components: - - type: Transform - pos: 72.5,-70.5 - parent: 2 - - uid: 3153 - components: - - type: Transform - pos: 71.5,-70.5 - parent: 2 - - uid: 3154 - components: - - type: Transform - pos: 70.5,-70.5 - parent: 2 - - uid: 3155 - components: - - type: Transform - pos: 69.5,-70.5 - parent: 2 - uid: 3156 components: - type: Transform pos: 68.5,-70.5 parent: 2 - - uid: 3157 - components: - - type: Transform - pos: 73.5,-69.5 - parent: 2 - - uid: 3158 - components: - - type: Transform - pos: 72.5,-66.5 - parent: 2 - - uid: 3159 - components: - - type: Transform - pos: 73.5,-66.5 - parent: 2 - - uid: 3160 - components: - - type: Transform - pos: 74.5,-66.5 - parent: 2 - - uid: 3161 - components: - - type: Transform - pos: 75.5,-66.5 - parent: 2 - - uid: 3165 - components: - - type: Transform - pos: 73.5,-67.5 - parent: 2 - - uid: 3166 - components: - - type: Transform - pos: 70.5,-66.5 - parent: 2 - uid: 3167 components: - type: Transform pos: 69.5,-66.5 parent: 2 - - uid: 3168 - components: - - type: Transform - pos: 68.5,-66.5 - parent: 2 - - uid: 3169 - components: - - type: Transform - pos: 68.5,-69.5 - parent: 2 - - uid: 3170 - components: - - type: Transform - pos: 68.5,-68.5 - parent: 2 - - uid: 3171 - components: - - type: Transform - pos: 68.5,-67.5 - parent: 2 - uid: 3173 components: - type: Transform pos: 6.5,-62.5 parent: 2 - - uid: 3175 - components: - - type: Transform - pos: 68.5,-65.5 - parent: 2 - uid: 3176 components: - type: Transform @@ -118944,45 +122432,10 @@ entities: - type: Transform pos: 0.5,-71.5 parent: 2 - - uid: 3178 - components: - - type: Transform - pos: 67.5,-64.5 - parent: 2 - - uid: 3179 - components: - - type: Transform - pos: 67.5,-63.5 - parent: 2 - - uid: 3180 - components: - - type: Transform - pos: 67.5,-62.5 - parent: 2 - uid: 3181 components: - type: Transform - pos: 67.5,-61.5 - parent: 2 - - uid: 3187 - components: - - type: Transform - pos: 68.5,-59.5 - parent: 2 - - uid: 3188 - components: - - type: Transform - pos: 69.5,-59.5 - parent: 2 - - uid: 3190 - components: - - type: Transform - pos: 70.5,-59.5 - parent: 2 - - uid: 3193 - components: - - type: Transform - pos: 71.5,-60.5 + pos: 56.5,-66.5 parent: 2 - uid: 3195 components: @@ -118994,61 +122447,55 @@ entities: - type: Transform pos: 73.5,-60.5 parent: 2 - - uid: 3197 - components: - - type: Transform - pos: 75.5,-60.5 - parent: 2 - uid: 3198 components: - type: Transform pos: 76.5,-59.5 parent: 2 - - uid: 3199 + - uid: 3202 components: - type: Transform - pos: 76.5,-60.5 + rot: 1.5707963267948966 rad + pos: 73.5,-28.5 parent: 2 - uid: 3203 components: - type: Transform pos: 77.5,-60.5 parent: 2 - - uid: 3204 + - uid: 3206 components: - type: Transform - pos: 77.5,-61.5 + pos: 24.5,-17.5 parent: 2 - - uid: 3285 + - uid: 3209 + components: + - type: MetaData + name: Visitor Docks APC + - type: Transform + pos: 24.5,-15.5 + parent: 2 + - uid: 3234 components: - type: Transform - pos: 73.5,-37.5 + pos: 77.5,-34.5 parent: 2 - uid: 3298 components: - type: Transform pos: 74.5,-57.5 parent: 2 - - uid: 3299 - components: - - type: Transform - pos: 75.5,-57.5 - parent: 2 - - uid: 3300 - components: - - type: Transform - pos: 76.5,-57.5 - parent: 2 - - uid: 3362 - components: - - type: Transform - pos: 63.5,-65.5 - parent: 2 - uid: 3376 components: - type: Transform pos: -42.5,-64.5 parent: 2 + - uid: 3380 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 68.5,-59.5 + parent: 2 - uid: 3416 components: - type: Transform @@ -119059,10 +122506,54 @@ entities: - type: Transform pos: 77.5,-50.5 parent: 2 - - uid: 3418 + - uid: 3428 components: - type: Transform - pos: 75.5,-50.5 + pos: 67.5,-67.5 + parent: 2 + - uid: 3442 + components: + - type: Transform + pos: 46.5,-37.5 + parent: 2 + - uid: 3454 + components: + - type: Transform + pos: 24.5,-16.5 + parent: 2 + - uid: 3457 + components: + - type: Transform + pos: 55.5,-55.5 + parent: 2 + - uid: 3458 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 42.5,-35.5 + parent: 2 + - uid: 3464 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 48.5,-25.5 + parent: 2 + - uid: 3466 + components: + - type: Transform + pos: 54.5,-46.5 + parent: 2 + - uid: 3474 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 49.5,-25.5 + parent: 2 + - uid: 3515 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,-54.5 parent: 2 - uid: 3533 components: @@ -119074,36 +122565,6 @@ entities: - type: Transform pos: 35.5,-46.5 parent: 2 - - uid: 3606 - components: - - type: Transform - pos: 48.5,-48.5 - parent: 2 - - uid: 3607 - components: - - type: Transform - pos: 49.5,-48.5 - parent: 2 - - uid: 3608 - components: - - type: Transform - pos: 50.5,-48.5 - parent: 2 - - uid: 3609 - components: - - type: Transform - pos: 51.5,-48.5 - parent: 2 - - uid: 3613 - components: - - type: Transform - pos: 54.5,-47.5 - parent: 2 - - uid: 3661 - components: - - type: Transform - pos: 27.5,-30.5 - parent: 2 - uid: 3662 components: - type: Transform @@ -119139,75 +122600,10 @@ entities: - type: Transform pos: 3.5,-22.5 parent: 2 - - uid: 3677 - components: - - type: Transform - pos: 37.5,-30.5 - parent: 2 - - uid: 3678 - components: - - type: Transform - pos: 29.5,-32.5 - parent: 2 - - uid: 3692 - components: - - type: Transform - pos: 37.5,-34.5 - parent: 2 - uid: 3693 components: - type: Transform - pos: 37.5,-33.5 - parent: 2 - - uid: 3694 - components: - - type: Transform - pos: 37.5,-32.5 - parent: 2 - - uid: 3695 - components: - - type: Transform - pos: 29.5,-30.5 - parent: 2 - - uid: 3696 - components: - - type: Transform - pos: 30.5,-30.5 - parent: 2 - - uid: 3698 - components: - - type: Transform - pos: 31.5,-30.5 - parent: 2 - - uid: 3699 - components: - - type: Transform - pos: 32.5,-30.5 - parent: 2 - - uid: 3700 - components: - - type: Transform - pos: 33.5,-30.5 - parent: 2 - - uid: 3701 - components: - - type: Transform - pos: 34.5,-30.5 - parent: 2 - - uid: 3702 - components: - - type: Transform - pos: 35.5,-30.5 - parent: 2 - - uid: 3703 - components: - - type: Transform - pos: 36.5,-30.5 - parent: 2 - - uid: 3704 - components: - - type: Transform - pos: 36.5,-28.5 + pos: 51.5,-25.5 parent: 2 - uid: 3705 components: @@ -119219,155 +122615,52 @@ entities: - type: Transform pos: 36.5,-29.5 parent: 2 - - uid: 3707 - components: - - type: Transform - pos: 37.5,-27.5 - parent: 2 - uid: 3708 components: - type: Transform - pos: 38.5,-27.5 + pos: 77.5,-68.5 parent: 2 - uid: 3709 components: - type: Transform - pos: 39.5,-27.5 - parent: 2 - - uid: 3710 - components: - - type: Transform - pos: 40.5,-27.5 + pos: 76.5,-68.5 parent: 2 - uid: 3711 components: - type: Transform - pos: 41.5,-27.5 + pos: 58.5,-66.5 parent: 2 - - uid: 3713 + - uid: 3723 components: - type: Transform - pos: 50.5,-31.5 - parent: 2 - - uid: 3715 - components: - - type: Transform - pos: 41.5,-31.5 - parent: 2 - - uid: 3716 - components: - - type: Transform - pos: 39.5,-30.5 - parent: 2 - - uid: 3717 - components: - - type: Transform - pos: 39.5,-31.5 - parent: 2 - - uid: 3718 - components: - - type: Transform - pos: 39.5,-32.5 - parent: 2 - - uid: 3720 - components: - - type: Transform - pos: 43.5,-30.5 - parent: 2 - - uid: 3721 - components: - - type: Transform - pos: 43.5,-31.5 - parent: 2 - - uid: 3722 - components: - - type: Transform - pos: 43.5,-32.5 - parent: 2 - - uid: 3724 - components: - - type: Transform - pos: 41.5,-33.5 - parent: 2 - - uid: 3725 - components: - - type: Transform - pos: 39.5,-34.5 - parent: 2 - - uid: 3726 - components: - - type: Transform - pos: 40.5,-34.5 + pos: 42.5,-28.5 parent: 2 - uid: 3727 components: - type: Transform - pos: 41.5,-34.5 + rot: 1.5707963267948966 rad + pos: 44.5,-27.5 parent: 2 - uid: 3728 components: - type: Transform - pos: 42.5,-34.5 - parent: 2 - - uid: 3729 - components: - - type: Transform - pos: 43.5,-34.5 + rot: 1.5707963267948966 rad + pos: 44.5,-28.5 parent: 2 - uid: 3730 components: - type: Transform pos: 44.5,-34.5 parent: 2 - - uid: 3731 - components: - - type: Transform - pos: 45.5,-34.5 - parent: 2 - uid: 3732 components: - type: Transform pos: 46.5,-34.5 parent: 2 - - uid: 3733 - components: - - type: Transform - pos: 47.5,-34.5 - parent: 2 - - uid: 3734 - components: - - type: Transform - pos: 48.5,-34.5 - parent: 2 - - uid: 3735 - components: - - type: Transform - pos: 45.5,-33.5 - parent: 2 - - uid: 3736 - components: - - type: Transform - pos: 45.5,-32.5 - parent: 2 - - uid: 3737 - components: - - type: Transform - pos: 45.5,-35.5 - parent: 2 - uid: 3738 components: - type: Transform - pos: 45.5,-36.5 - parent: 2 - - uid: 3739 - components: - - type: Transform - pos: 41.5,-35.5 - parent: 2 - - uid: 3740 - components: - - type: Transform - pos: 41.5,-36.5 + pos: 65.5,-63.5 parent: 2 - uid: 3743 components: @@ -119384,21 +122677,6 @@ entities: - type: Transform pos: 36.5,-39.5 parent: 2 - - uid: 3746 - components: - - type: Transform - pos: 39.5,-36.5 - parent: 2 - - uid: 3747 - components: - - type: Transform - pos: 39.5,-37.5 - parent: 2 - - uid: 3748 - components: - - type: Transform - pos: 39.5,-38.5 - parent: 2 - uid: 3749 components: - type: Transform @@ -119419,26 +122697,6 @@ entities: - type: Transform pos: 41.5,-39.5 parent: 2 - - uid: 3753 - components: - - type: Transform - pos: 42.5,-39.5 - parent: 2 - - uid: 3754 - components: - - type: Transform - pos: 43.5,-36.5 - parent: 2 - - uid: 3755 - components: - - type: Transform - pos: 43.5,-37.5 - parent: 2 - - uid: 3756 - components: - - type: Transform - pos: 43.5,-38.5 - parent: 2 - uid: 3757 components: - type: Transform @@ -119459,416 +122717,36 @@ entities: - type: Transform pos: 46.5,-39.5 parent: 2 - - uid: 3761 - components: - - type: Transform - pos: 47.5,-39.5 - parent: 2 - - uid: 3762 - components: - - type: Transform - pos: 48.5,-39.5 - parent: 2 - - uid: 3769 - components: - - type: Transform - pos: 49.5,-39.5 - parent: 2 - - uid: 3770 - components: - - type: Transform - pos: 49.5,-40.5 - parent: 2 - - uid: 3771 - components: - - type: Transform - pos: 49.5,-41.5 - parent: 2 - - uid: 3772 - components: - - type: Transform - pos: 49.5,-42.5 - parent: 2 - - uid: 3773 - components: - - type: Transform - pos: 49.5,-43.5 - parent: 2 - - uid: 3774 - components: - - type: Transform - pos: 50.5,-43.5 - parent: 2 - - uid: 3775 - components: - - type: Transform - pos: 53.5,-43.5 - parent: 2 - - uid: 3780 - components: - - type: Transform - pos: 54.5,-39.5 - parent: 2 - - uid: 3781 - components: - - type: Transform - pos: 53.5,-39.5 - parent: 2 - - uid: 3782 - components: - - type: Transform - pos: 52.5,-39.5 - parent: 2 - - uid: 3783 - components: - - type: Transform - pos: 51.5,-39.5 - parent: 2 - - uid: 3784 - components: - - type: Transform - pos: 51.5,-38.5 - parent: 2 - - uid: 3785 - components: - - type: Transform - pos: 51.5,-37.5 - parent: 2 - - uid: 3786 - components: - - type: Transform - pos: 51.5,-36.5 - parent: 2 - - uid: 3787 - components: - - type: Transform - pos: 51.5,-35.5 - parent: 2 - - uid: 3788 - components: - - type: Transform - pos: 51.5,-34.5 - parent: 2 - - uid: 3789 - components: - - type: Transform - pos: 51.5,-33.5 - parent: 2 - uid: 3790 components: - type: Transform - pos: 51.5,-32.5 + pos: 33.5,-31.5 parent: 2 - uid: 3791 components: - type: Transform - pos: 51.5,-31.5 - parent: 2 - - uid: 3794 - components: - - type: Transform - pos: 53.5,-35.5 - parent: 2 - - uid: 3795 - components: - - type: Transform - pos: 54.5,-35.5 - parent: 2 - - uid: 3796 - components: - - type: Transform - pos: 53.5,-33.5 - parent: 2 - - uid: 3797 - components: - - type: Transform - pos: 54.5,-33.5 - parent: 2 - - uid: 3798 - components: - - type: Transform - pos: 55.5,-33.5 - parent: 2 - - uid: 3799 - components: - - type: Transform - pos: 53.5,-37.5 - parent: 2 - - uid: 3800 - components: - - type: Transform - pos: 54.5,-37.5 - parent: 2 - - uid: 3801 - components: - - type: Transform - pos: 55.5,-37.5 - parent: 2 - - uid: 3802 - components: - - type: Transform - pos: 52.5,-31.5 - parent: 2 - - uid: 3803 - components: - - type: Transform - pos: 53.5,-31.5 - parent: 2 - - uid: 3804 - components: - - type: Transform - pos: 54.5,-31.5 + pos: 29.5,-31.5 parent: 2 - uid: 3805 components: - type: Transform - pos: 54.5,-30.5 + pos: 30.5,-31.5 parent: 2 - uid: 3806 components: - type: Transform - pos: 54.5,-29.5 - parent: 2 - - uid: 3807 - components: - - type: Transform - pos: 54.5,-28.5 - parent: 2 - - uid: 3808 - components: - - type: Transform - pos: 53.5,-28.5 - parent: 2 - - uid: 3809 - components: - - type: Transform - pos: 53.5,-27.5 - parent: 2 - - uid: 3814 - components: - - type: Transform - pos: 49.5,-28.5 - parent: 2 - - uid: 3815 - components: - - type: Transform - pos: 42.5,-27.5 - parent: 2 - - uid: 3817 - components: - - type: Transform - pos: 43.5,-27.5 - parent: 2 - - uid: 3820 - components: - - type: Transform - pos: 42.5,-31.5 - parent: 2 - - uid: 3821 - components: - - type: Transform - pos: 46.5,-30.5 - parent: 2 - - uid: 3822 - components: - - type: Transform - pos: 45.5,-30.5 - parent: 2 - - uid: 3823 - components: - - type: Transform - pos: 45.5,-29.5 - parent: 2 - - uid: 3824 - components: - - type: Transform - pos: 45.5,-28.5 - parent: 2 - - uid: 3825 - components: - - type: Transform - pos: 45.5,-27.5 - parent: 2 - - uid: 3826 - components: - - type: Transform - pos: 45.5,-26.5 - parent: 2 - - uid: 3827 - components: - - type: Transform - pos: 45.5,-24.5 - parent: 2 - - uid: 3828 - components: - - type: Transform - pos: 46.5,-24.5 - parent: 2 - - uid: 3830 - components: - - type: Transform - pos: 47.5,-25.5 - parent: 2 - - uid: 3837 - components: - - type: Transform - pos: 51.5,-25.5 - parent: 2 - - uid: 3838 - components: - - type: Transform - pos: 52.5,-25.5 - parent: 2 - - uid: 3839 - components: - - type: Transform - pos: 53.5,-25.5 - parent: 2 - - uid: 3840 - components: - - type: Transform - pos: 54.5,-25.5 - parent: 2 - - uid: 3841 - components: - - type: Transform - pos: 55.5,-25.5 + pos: 35.5,-31.5 parent: 2 - uid: 3842 components: - type: Transform pos: 47.5,-30.5 parent: 2 - - uid: 3846 - components: - - type: Transform - pos: 43.5,-24.5 - parent: 2 - - uid: 3847 - components: - - type: Transform - pos: 42.5,-25.5 - parent: 2 - - uid: 3848 - components: - - type: Transform - pos: 41.5,-25.5 - parent: 2 - - uid: 3849 - components: - - type: Transform - pos: 40.5,-25.5 - parent: 2 - - uid: 3850 - components: - - type: Transform - pos: 39.5,-25.5 - parent: 2 - - uid: 3851 - components: - - type: Transform - pos: 38.5,-25.5 - parent: 2 - - uid: 3852 - components: - - type: Transform - pos: 37.5,-25.5 - parent: 2 - - uid: 3853 - components: - - type: Transform - pos: 27.5,-24.5 - parent: 2 - - uid: 3854 - components: - - type: Transform - pos: 29.5,-24.5 - parent: 2 - - uid: 3855 - components: - - type: Transform - pos: 30.5,-24.5 - parent: 2 - - uid: 3856 - components: - - type: Transform - pos: 31.5,-24.5 - parent: 2 - - uid: 3857 - components: - - type: Transform - pos: 32.5,-24.5 - parent: 2 - - uid: 3858 - components: - - type: Transform - pos: 33.5,-24.5 - parent: 2 - - uid: 3859 - components: - - type: Transform - pos: 34.5,-24.5 - parent: 2 - - uid: 3860 - components: - - type: Transform - pos: 35.5,-24.5 - parent: 2 - - uid: 3861 - components: - - type: Transform - pos: 36.5,-24.5 - parent: 2 - uid: 3862 components: - type: Transform pos: 36.5,-25.5 parent: 2 - - uid: 3863 - components: - - type: Transform - pos: 48.5,-46.5 - parent: 2 - - uid: 3864 - components: - - type: Transform - pos: 49.5,-46.5 - parent: 2 - - uid: 3865 - components: - - type: Transform - pos: 49.5,-45.5 - parent: 2 - - uid: 3866 - components: - - type: Transform - pos: 50.5,-45.5 - parent: 2 - - uid: 3867 - components: - - type: Transform - pos: 53.5,-45.5 - parent: 2 - - uid: 3868 - components: - - type: Transform - pos: 54.5,-45.5 - parent: 2 - - uid: 3869 - components: - - type: Transform - pos: 55.5,-45.5 - parent: 2 - - uid: 3882 - components: - - type: Transform - pos: 40.5,-31.5 - parent: 2 - - uid: 3898 - components: - - type: Transform - pos: 72.5,-30.5 - parent: 2 - uid: 3899 components: - type: Transform @@ -119879,71 +122757,16 @@ entities: - type: Transform pos: 74.5,-30.5 parent: 2 - - uid: 3901 - components: - - type: Transform - pos: 74.5,-31.5 - parent: 2 - - uid: 3902 - components: - - type: Transform - pos: 74.5,-32.5 - parent: 2 - - uid: 3903 - components: - - type: Transform - pos: 74.5,-33.5 - parent: 2 - - uid: 3904 - components: - - type: Transform - pos: 75.5,-33.5 - parent: 2 - - uid: 3905 - components: - - type: Transform - pos: 76.5,-33.5 - parent: 2 - uid: 3906 components: - type: Transform pos: 77.5,-33.5 parent: 2 - - uid: 3907 - components: - - type: Transform - pos: 78.5,-33.5 - parent: 2 - - uid: 3908 - components: - - type: Transform - pos: 77.5,-34.5 - parent: 2 - - uid: 3910 - components: - - type: Transform - pos: 73.5,-36.5 - parent: 2 - - uid: 3922 - components: - - type: Transform - pos: 78.5,-30.5 - parent: 2 - uid: 3923 components: - type: Transform pos: 77.5,-30.5 parent: 2 - - uid: 3924 - components: - - type: Transform - pos: 77.5,-31.5 - parent: 2 - - uid: 3925 - components: - - type: Transform - pos: 76.5,-31.5 - parent: 2 - uid: 3943 components: - type: Transform @@ -119959,11 +122782,6 @@ entities: - type: Transform pos: 71.5,-25.5 parent: 2 - - uid: 3950 - components: - - type: Transform - pos: 71.5,-28.5 - parent: 2 - uid: 3951 components: - type: Transform @@ -119987,12 +122805,7 @@ entities: - uid: 3962 components: - type: Transform - pos: 78.5,-25.5 - parent: 2 - - uid: 3963 - components: - - type: Transform - pos: 79.5,-25.5 + pos: 45.5,-45.5 parent: 2 - uid: 3964 components: @@ -120027,13 +122840,36 @@ entities: - uid: 4081 components: - type: Transform - pos: 75.5,-40.5 + rot: 3.141592653589793 rad + pos: 46.5,-35.5 + parent: 2 + - uid: 4137 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 41.5,-35.5 + parent: 2 + - uid: 4138 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 44.5,-35.5 + parent: 2 + - uid: 4168 + components: + - type: Transform + pos: 78.5,-67.5 parent: 2 - uid: 4179 components: - type: Transform pos: -64.5,-26.5 parent: 2 + - uid: 4185 + components: + - type: Transform + pos: 71.5,-69.5 + parent: 2 - uid: 4263 components: - type: Transform @@ -120059,6 +122895,11 @@ entities: - type: Transform pos: 7.5,-77.5 parent: 2 + - uid: 4492 + components: + - type: Transform + pos: 42.5,-31.5 + parent: 2 - uid: 4541 components: - type: Transform @@ -120217,7 +123058,8 @@ entities: - uid: 4603 components: - type: Transform - pos: 46.5,-46.5 + rot: 3.141592653589793 rad + pos: 43.5,-35.5 parent: 2 - uid: 4604 components: @@ -120249,26 +123091,6 @@ entities: - type: Transform pos: 45.5,-40.5 parent: 2 - - uid: 4623 - components: - - type: Transform - pos: 45.5,-41.5 - parent: 2 - - uid: 4636 - components: - - type: Transform - pos: 45.5,-42.5 - parent: 2 - - uid: 4637 - components: - - type: Transform - pos: 45.5,-44.5 - parent: 2 - - uid: 4638 - components: - - type: Transform - pos: 45.5,-45.5 - parent: 2 - uid: 4705 components: - type: Transform @@ -120289,26 +123111,6 @@ entities: - type: Transform pos: -60.5,-25.5 parent: 2 - - uid: 4919 - components: - - type: Transform - pos: 48.5,-26.5 - parent: 2 - - uid: 4920 - components: - - type: Transform - pos: 50.5,-26.5 - parent: 2 - - uid: 4925 - components: - - type: Transform - pos: 49.5,-26.5 - parent: 2 - - uid: 4926 - components: - - type: Transform - pos: 51.5,-26.5 - parent: 2 - uid: 5002 components: - type: Transform @@ -120329,35 +123131,41 @@ entities: - type: Transform pos: 9.5,-76.5 parent: 2 - - uid: 5110 + - uid: 5254 components: - type: Transform - pos: 22.5,-19.5 - parent: 2 - - uid: 5142 - components: - - type: Transform - pos: 21.5,-25.5 - parent: 2 - - uid: 5202 - components: - - type: Transform - pos: 21.5,-24.5 + rot: 3.141592653589793 rad + pos: 40.5,-35.5 parent: 2 - uid: 5303 components: - type: Transform pos: 47.5,-28.5 parent: 2 - - uid: 5304 + - uid: 5316 components: - type: Transform - pos: 48.5,-28.5 + pos: 78.5,-68.5 parent: 2 - - uid: 5305 + - uid: 5317 components: - type: Transform - pos: 46.5,-28.5 + pos: 68.5,-69.5 + parent: 2 + - uid: 5328 + components: + - type: Transform + pos: 47.5,-49.5 + parent: 2 + - uid: 5330 + components: + - type: Transform + pos: 47.5,-48.5 + parent: 2 + - uid: 5392 + components: + - type: Transform + pos: 71.5,-66.5 parent: 2 - uid: 5393 components: @@ -120369,30 +123177,34 @@ entities: - type: Transform pos: 7.5,-76.5 parent: 2 - - uid: 5731 + - uid: 5433 components: - type: Transform - pos: 58.5,-65.5 + rot: -1.5707963267948966 rad + pos: 62.5,-73.5 + parent: 2 + - uid: 5444 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-21.5 + parent: 2 + - uid: 5730 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-72.5 parent: 2 - uid: 5782 components: - type: Transform pos: 7.5,-79.5 parent: 2 - - uid: 5812 + - uid: 5896 components: - type: Transform - pos: 68.5,-64.5 - parent: 2 - - uid: 5834 - components: - - type: Transform - pos: 68.5,-60.5 - parent: 2 - - uid: 6012 - components: - - type: Transform - pos: 36.5,-34.5 + rot: 1.5707963267948966 rad + pos: 75.5,-35.5 parent: 2 - uid: 6015 components: @@ -120414,6 +123226,11 @@ entities: - type: Transform pos: -32.5,-22.5 parent: 2 + - uid: 6047 + components: + - type: Transform + pos: 36.5,-31.5 + parent: 2 - uid: 6059 components: - type: Transform @@ -120429,10 +123246,15 @@ entities: - type: Transform pos: -31.5,-27.5 parent: 2 + - uid: 6098 + components: + - type: Transform + pos: 34.5,-31.5 + parent: 2 - uid: 6117 components: - type: Transform - pos: 62.5,-65.5 + pos: 47.5,-45.5 parent: 2 - uid: 6119 components: @@ -120442,7 +123264,28 @@ entities: - uid: 6124 components: - type: Transform - pos: 60.5,-64.5 + pos: 49.5,-46.5 + parent: 2 + - uid: 6128 + components: + - type: Transform + pos: 60.5,-63.5 + parent: 2 + - uid: 6132 + components: + - type: Transform + pos: 66.5,-70.5 + parent: 2 + - uid: 6136 + components: + - type: Transform + pos: 63.5,-63.5 + parent: 2 + - uid: 6230 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 36.5,-33.5 parent: 2 - uid: 6250 components: @@ -120450,30 +123293,10 @@ entities: rot: 1.5707963267948966 rad pos: -36.5,-17.5 parent: 2 - - uid: 6270 + - uid: 6268 components: - type: Transform - pos: 73.5,-34.5 - parent: 2 - - uid: 6272 - components: - - type: Transform - pos: 74.5,-36.5 - parent: 2 - - uid: 6277 - components: - - type: Transform - pos: 76.5,-37.5 - parent: 2 - - uid: 6279 - components: - - type: Transform - pos: 75.5,-37.5 - parent: 2 - - uid: 6288 - components: - - type: Transform - pos: 78.5,-37.5 + pos: 74.5,-34.5 parent: 2 - uid: 6296 components: @@ -120490,60 +123313,159 @@ entities: - type: Transform pos: 78.5,-29.5 parent: 2 - - uid: 6299 + - uid: 6368 components: - type: Transform - pos: 78.5,-28.5 + rot: 1.5707963267948966 rad + pos: 39.5,-31.5 parent: 2 - - uid: 6629 + - uid: 6371 components: - type: Transform - pos: 50.5,-28.5 + rot: -1.5707963267948966 rad + pos: 39.5,-27.5 + parent: 2 + - uid: 6375 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 38.5,-32.5 + parent: 2 + - uid: 6376 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 40.5,-31.5 + parent: 2 + - uid: 6377 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 75.5,-38.5 + parent: 2 + - uid: 6378 + components: + - type: Transform + pos: 76.5,-69.5 + parent: 2 + - uid: 6383 + components: + - type: Transform + pos: 67.5,-61.5 + parent: 2 + - uid: 6385 + components: + - type: Transform + pos: 72.5,-63.5 + parent: 2 + - uid: 6391 + components: + - type: Transform + pos: 36.5,-26.5 + parent: 2 + - uid: 6392 + components: + - type: Transform + pos: 40.5,-29.5 + parent: 2 + - uid: 6393 + components: + - type: Transform + pos: 41.5,-29.5 + parent: 2 + - uid: 6394 + components: + - type: Transform + pos: 39.5,-29.5 + parent: 2 + - uid: 6395 + components: + - type: Transform + pos: 38.5,-29.5 + parent: 2 + - uid: 6399 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 44.5,-25.5 + parent: 2 + - uid: 6612 + components: + - type: Transform + pos: 60.5,-65.5 + parent: 2 + - uid: 6657 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 24.5,-20.5 parent: 2 - uid: 7006 components: - type: Transform pos: 35.5,-40.5 parent: 2 - - uid: 7113 + - uid: 7048 components: - type: Transform - pos: 77.5,-35.5 + rot: 1.5707963267948966 rad + pos: 22.5,-21.5 + parent: 2 + - uid: 7097 + components: + - type: Transform + pos: 3.5,-60.5 parent: 2 - uid: 7115 components: - type: Transform pos: 76.5,-28.5 parent: 2 - - uid: 7130 + - uid: 7124 components: - type: Transform - pos: 55.5,-47.5 + pos: 35.5,-25.5 + parent: 2 + - uid: 7141 + components: + - type: Transform + pos: 46.5,-36.5 parent: 2 - uid: 7144 components: - type: Transform - pos: 61.5,-64.5 + pos: 78.5,-61.5 parent: 2 - uid: 7147 components: - type: Transform pos: 44.5,-77.5 parent: 2 - - uid: 7186 + - uid: 7164 components: - type: Transform - pos: 61.5,-73.5 + rot: 1.5707963267948966 rad + pos: 47.5,-26.5 parent: 2 - uid: 7188 components: - type: Transform pos: 79.5,-24.5 parent: 2 + - uid: 7192 + components: + - type: Transform + pos: 55.5,-54.5 + parent: 2 + - uid: 7196 + components: + - type: Transform + pos: 53.5,-47.5 + parent: 2 - uid: 7233 components: - type: Transform - pos: 52.5,-28.5 + pos: 31.5,-31.5 parent: 2 - uid: 7290 components: @@ -120555,76 +123477,435 @@ entities: - type: Transform pos: -15.5,-41.5 parent: 2 - - uid: 7997 + - uid: 7340 components: - type: Transform - pos: 58.5,-64.5 + pos: 26.5,-26.5 + parent: 2 + - uid: 7410 + components: + - type: Transform + pos: 78.5,-66.5 + parent: 2 + - uid: 7414 + components: + - type: Transform + pos: 78.5,-64.5 + parent: 2 + - uid: 7419 + components: + - type: Transform + pos: 78.5,-65.5 + parent: 2 + - uid: 7537 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-14.5 + parent: 2 + - uid: 7567 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 36.5,-36.5 + parent: 2 + - uid: 7578 + components: + - type: Transform + pos: 34.5,-25.5 + parent: 2 + - uid: 7581 + components: + - type: Transform + pos: 46.5,-38.5 + parent: 2 + - uid: 7583 + components: + - type: Transform + pos: 33.5,-25.5 + parent: 2 + - uid: 7584 + components: + - type: Transform + pos: 32.5,-25.5 + parent: 2 + - uid: 7603 + components: + - type: Transform + pos: 37.5,-29.5 + parent: 2 + - uid: 7610 + components: + - type: Transform + pos: 76.5,-37.5 + parent: 2 + - uid: 7613 + components: + - type: Transform + pos: 78.5,-32.5 + parent: 2 + - uid: 7617 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-41.5 + parent: 2 + - uid: 7705 + components: + - type: Transform + pos: 62.5,-62.5 + parent: 2 + - uid: 7725 + components: + - type: Transform + pos: 72.5,-61.5 + parent: 2 + - uid: 7726 + components: + - type: Transform + pos: 41.5,-28.5 + parent: 2 + - uid: 7730 + components: + - type: Transform + pos: 66.5,-61.5 + parent: 2 + - uid: 7733 + components: + - type: Transform + pos: 53.5,-53.5 + parent: 2 + - uid: 7734 + components: + - type: Transform + pos: 53.5,-52.5 + parent: 2 + - uid: 7736 + components: + - type: Transform + pos: 53.5,-50.5 + parent: 2 + - uid: 7740 + components: + - type: Transform + pos: 53.5,-49.5 + parent: 2 + - uid: 7762 + components: + - type: Transform + pos: 65.5,-61.5 + parent: 2 + - uid: 7784 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-20.5 + parent: 2 + - uid: 7785 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 24.5,-18.5 + parent: 2 + - uid: 7793 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-26.5 + parent: 2 + - uid: 7797 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-25.5 + parent: 2 + - uid: 7909 + components: + - type: Transform + pos: 79.5,-27.5 + parent: 2 + - uid: 7948 + components: + - type: Transform + pos: 76.5,-55.5 + parent: 2 + - uid: 8036 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 38.5,-35.5 parent: 2 - uid: 8042 components: - type: Transform - pos: 53.5,-41.5 + pos: 66.5,-67.5 + parent: 2 + - uid: 8043 + components: + - type: Transform + pos: 49.5,-45.5 + parent: 2 + - uid: 8115 + components: + - type: Transform + pos: 56.5,-55.5 + parent: 2 + - uid: 8124 + components: + - type: Transform + pos: 54.5,-53.5 + parent: 2 + - uid: 8129 + components: + - type: Transform + pos: 57.5,-56.5 + parent: 2 + - uid: 8131 + components: + - type: Transform + pos: 57.5,-55.5 parent: 2 - uid: 8343 components: - type: Transform pos: -6.5,-70.5 parent: 2 - - uid: 8629 + - uid: 8384 components: - type: Transform - pos: 51.5,-28.5 + pos: 68.5,-67.5 + parent: 2 + - uid: 8386 + components: + - type: Transform + pos: 68.5,-58.5 + parent: 2 + - uid: 8392 + components: + - type: Transform + pos: 70.5,-58.5 + parent: 2 + - uid: 8394 + components: + - type: Transform + pos: 39.5,-35.5 + parent: 2 + - uid: 8395 + components: + - type: Transform + pos: 39.5,-38.5 + parent: 2 + - uid: 8419 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 52.5,-41.5 + parent: 2 + - uid: 8423 + components: + - type: Transform + pos: 69.5,-58.5 + parent: 2 + - uid: 8448 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 64.5,-71.5 + parent: 2 + - uid: 8454 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 65.5,-71.5 + parent: 2 + - uid: 8512 + components: + - type: Transform + pos: 70.5,-61.5 + parent: 2 + - uid: 8513 + components: + - type: Transform + pos: 70.5,-60.5 + parent: 2 + - uid: 8514 + components: + - type: Transform + pos: 70.5,-59.5 + parent: 2 + - uid: 8630 + components: + - type: Transform + pos: 54.5,-47.5 parent: 2 - uid: 8704 components: - type: Transform pos: -31.5,-54.5 parent: 2 - - uid: 9311 + - uid: 8813 components: - type: Transform - pos: 63.5,-62.5 - parent: 2 - - uid: 9317 - components: - - type: Transform - pos: 58.5,-72.5 - parent: 2 - - uid: 9322 - components: - - type: Transform - pos: 57.5,-72.5 + rot: 1.5707963267948966 rad + pos: 53.5,-25.5 parent: 2 - uid: 9328 components: - type: Transform pos: 65.5,-64.5 parent: 2 - - uid: 9329 + - uid: 9342 components: - type: Transform - pos: 65.5,-65.5 + pos: 61.5,-61.5 parent: 2 - - uid: 10393 + - uid: 9345 components: - type: Transform - pos: 52.5,-48.5 + pos: 60.5,-61.5 parent: 2 - - uid: 10415 + - uid: 9349 components: - type: Transform - pos: 74.5,-50.5 + pos: 70.5,-25.5 + parent: 2 + - uid: 9359 + components: + - type: Transform + pos: 58.5,-61.5 + parent: 2 + - uid: 9360 + components: + - type: Transform + pos: 58.5,-58.5 + parent: 2 + - uid: 9372 + components: + - type: Transform + pos: 57.5,-61.5 + parent: 2 + - uid: 9373 + components: + - type: Transform + pos: 59.5,-61.5 + parent: 2 + - uid: 9408 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 30.5,-25.5 + parent: 2 + - uid: 9411 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 31.5,-25.5 + parent: 2 + - uid: 9420 + components: + - type: Transform + pos: 32.5,-31.5 + parent: 2 + - uid: 9635 + components: + - type: Transform + pos: 63.5,-57.5 + parent: 2 + - uid: 9636 + components: + - type: Transform + pos: 63.5,-59.5 + parent: 2 + - uid: 9637 + components: + - type: Transform + pos: 63.5,-58.5 + parent: 2 + - uid: 9638 + components: + - type: Transform + pos: 64.5,-57.5 + parent: 2 + - uid: 9643 + components: + - type: Transform + pos: 57.5,-58.5 + parent: 2 + - uid: 9666 + components: + - type: Transform + pos: 62.5,-58.5 + parent: 2 + - uid: 9672 + components: + - type: Transform + pos: 61.5,-58.5 + parent: 2 + - uid: 9673 + components: + - type: Transform + pos: 59.5,-58.5 + parent: 2 + - uid: 10291 + components: + - type: Transform + pos: 73.5,-59.5 + parent: 2 + - uid: 10334 + components: + - type: Transform + pos: 72.5,-62.5 + parent: 2 + - uid: 10425 + components: + - type: Transform + pos: 63.5,-62.5 + parent: 2 + - uid: 10426 + components: + - type: Transform + pos: 60.5,-62.5 + parent: 2 + - uid: 10436 + components: + - type: Transform + pos: 65.5,-66.5 + parent: 2 + - uid: 10448 + components: + - type: Transform + pos: 78.5,-55.5 + parent: 2 + - uid: 10503 + components: + - type: Transform + pos: 76.5,-56.5 + parent: 2 + - uid: 10707 + components: + - type: Transform + pos: 78.5,-63.5 + parent: 2 + - uid: 10717 + components: + - type: Transform + pos: 75.5,-55.5 + parent: 2 + - uid: 10790 + components: + - type: Transform + pos: 49.5,-42.5 + parent: 2 + - uid: 10804 + components: + - type: Transform + pos: 52.5,-42.5 parent: 2 - uid: 10887 components: - type: Transform pos: -31.5,-16.5 parent: 2 - - uid: 11261 - components: - - type: Transform - pos: 77.5,-40.5 - parent: 2 - uid: 11428 components: - type: Transform @@ -120635,15 +123916,117 @@ entities: - type: Transform pos: 52.5,-75.5 parent: 2 - - uid: 11696 + - uid: 11842 components: - type: Transform - pos: 67.5,-60.5 + pos: 27.5,-26.5 parent: 2 - - uid: 11937 + - uid: 11843 components: - type: Transform - pos: 65.5,-67.5 + pos: 27.5,-25.5 + parent: 2 + - uid: 11854 + components: + - type: Transform + pos: 74.5,-55.5 + parent: 2 + - uid: 11856 + components: + - type: Transform + pos: 75.5,-69.5 + parent: 2 + - uid: 11857 + components: + - type: Transform + pos: 74.5,-69.5 + parent: 2 + - uid: 11863 + components: + - type: Transform + pos: 73.5,-69.5 + parent: 2 + - uid: 11864 + components: + - type: Transform + pos: 71.5,-68.5 + parent: 2 + - uid: 11868 + components: + - type: Transform + pos: 72.5,-65.5 + parent: 2 + - uid: 11886 + components: + - type: Transform + pos: 68.5,-68.5 + parent: 2 + - uid: 11887 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-67.5 + parent: 2 + - uid: 11890 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-63.5 + parent: 2 + - uid: 11891 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-61.5 + parent: 2 + - uid: 11892 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-65.5 + parent: 2 + - uid: 11893 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-64.5 + parent: 2 + - uid: 11895 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 68.5,-60.5 + parent: 2 + - uid: 11898 + components: + - type: Transform + pos: 75.5,-59.5 + parent: 2 + - uid: 11900 + components: + - type: Transform + pos: 78.5,-60.5 + parent: 2 + - uid: 11904 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-66.5 + parent: 2 + - uid: 11906 + components: + - type: Transform + pos: 49.5,-49.5 + parent: 2 + - uid: 11907 + components: + - type: Transform + pos: 48.5,-49.5 + parent: 2 + - uid: 11912 + components: + - type: Transform + pos: 36.5,-30.5 parent: 2 - uid: 12408 components: @@ -120655,30 +124038,135 @@ entities: - type: Transform pos: -7.5,-46.5 parent: 2 - - uid: 12972 + - uid: 12747 components: - type: Transform - pos: 43.5,-28.5 + pos: -37.5,-74.5 + parent: 2 + - uid: 12801 + components: + - type: Transform + pos: 44.5,-31.5 + parent: 2 + - uid: 12841 + components: + - type: Transform + pos: 46.5,-31.5 + parent: 2 + - uid: 12957 + components: + - type: Transform + pos: 44.5,-30.5 + parent: 2 + - uid: 12959 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 45.5,-28.5 + parent: 2 + - uid: 12961 + components: + - type: Transform + pos: 44.5,-29.5 parent: 2 - uid: 12973 components: - type: Transform - pos: 43.5,-29.5 + pos: 42.5,-25.5 + parent: 2 + - uid: 12974 + components: + - type: Transform + pos: 37.5,-26.5 parent: 2 - uid: 12975 components: - type: Transform - pos: 47.5,-31.5 + pos: 41.5,-26.5 + parent: 2 + - uid: 12976 + components: + - type: Transform + pos: 40.5,-26.5 + parent: 2 + - uid: 12977 + components: + - type: Transform + pos: 39.5,-26.5 + parent: 2 + - uid: 12978 + components: + - type: Transform + pos: 38.5,-26.5 + parent: 2 + - uid: 12981 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 43.5,-31.5 + parent: 2 + - uid: 12983 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 41.5,-31.5 parent: 2 - uid: 12990 components: - type: Transform - pos: 48.5,-31.5 + rot: 1.5707963267948966 rad + pos: 75.5,-31.5 + parent: 2 + - uid: 12991 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 75.5,-30.5 + parent: 2 + - uid: 12993 + components: + - type: Transform + pos: 76.5,-32.5 + parent: 2 + - uid: 13650 + components: + - type: Transform + pos: 75.5,-32.5 + parent: 2 + - uid: 13838 + components: + - type: Transform + pos: 47.5,-47.5 + parent: 2 + - uid: 13850 + components: + - type: Transform + pos: 45.5,-42.5 + parent: 2 + - uid: 13856 + components: + - type: Transform + pos: 45.5,-44.5 + parent: 2 + - uid: 13858 + components: + - type: Transform + pos: 45.5,-43.5 + parent: 2 + - uid: 13859 + components: + - type: Transform + pos: 45.5,-41.5 parent: 2 - uid: 13873 components: - type: Transform - pos: 48.5,-50.5 + pos: 47.5,-27.5 + parent: 2 + - uid: 13874 + components: + - type: Transform + pos: 45.5,-25.5 parent: 2 - uid: 13876 components: @@ -120703,32 +124191,71 @@ entities: - uid: 13908 components: - type: Transform - pos: 62.5,-73.5 + rot: 3.141592653589793 rad + pos: 68.5,-61.5 + parent: 2 + - uid: 13909 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 38.5,-33.5 + parent: 2 + - uid: 14046 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 77.5,-38.5 + parent: 2 + - uid: 14093 + components: + - type: Transform + pos: 77.5,-32.5 parent: 2 - uid: 14104 components: - type: Transform pos: 4.5,-64.5 parent: 2 - - uid: 14200 + - uid: 14144 components: - type: Transform - pos: 53.5,-42.5 + pos: 50.5,-42.5 parent: 2 - uid: 14246 components: - type: Transform pos: 80.5,-24.5 parent: 2 + - uid: 14256 + components: + - type: Transform + pos: 49.5,-44.5 + parent: 2 - uid: 14259 components: - type: Transform pos: 49.5,-54.5 parent: 2 - - uid: 14266 + - uid: 14296 components: - type: Transform - pos: 63.5,-66.5 + pos: 49.5,-43.5 + parent: 2 + - uid: 14323 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-62.5 + parent: 2 + - uid: 14329 + components: + - type: Transform + pos: 65.5,-67.5 + parent: 2 + - uid: 14330 + components: + - type: Transform + pos: 50.5,-25.5 parent: 2 - uid: 14405 components: @@ -120745,11 +124272,6 @@ entities: - type: Transform pos: 2.5,-71.5 parent: 2 - - uid: 14622 - components: - - type: Transform - pos: 21.5,-15.5 - parent: 2 - uid: 14686 components: - type: Transform @@ -120765,11 +124287,6 @@ entities: - type: Transform pos: 52.5,-74.5 parent: 2 - - uid: 14731 - components: - - type: Transform - pos: 54.5,-43.5 - parent: 2 - uid: 14740 components: - type: Transform @@ -120805,11 +124322,31 @@ entities: - type: Transform pos: -1.5,-71.5 parent: 2 + - uid: 14919 + components: + - type: Transform + pos: 73.5,-34.5 + parent: 2 - uid: 15101 components: - type: Transform pos: 1.5,-71.5 parent: 2 + - uid: 15126 + components: + - type: Transform + pos: 78.5,-62.5 + parent: 2 + - uid: 15160 + components: + - type: Transform + pos: 73.5,-70.5 + parent: 2 + - uid: 15161 + components: + - type: Transform + pos: 71.5,-67.5 + parent: 2 - uid: 15235 components: - type: Transform @@ -120830,11 +124367,6 @@ entities: - type: Transform pos: 77.5,-24.5 parent: 2 - - uid: 15433 - components: - - type: Transform - pos: 68.5,-58.5 - parent: 2 - uid: 15612 components: - type: Transform @@ -120845,16 +124377,6 @@ entities: - type: Transform pos: 11.5,-74.5 parent: 2 - - uid: 16021 - components: - - type: Transform - pos: 76.5,-39.5 - parent: 2 - - uid: 16022 - components: - - type: Transform - pos: 76.5,-40.5 - parent: 2 - uid: 16023 components: - type: Transform @@ -120880,46 +124402,17 @@ entities: - type: Transform pos: 47.5,-50.5 parent: 2 - - uid: 16269 + - uid: 16264 components: - type: Transform - pos: 53.5,-40.5 + rot: 3.141592653589793 rad + pos: 59.5,-60.5 parent: 2 - uid: 16300 components: - type: Transform pos: 11.5,-76.5 parent: 2 - - uid: 16568 - components: - - type: Transform - pos: 57.5,-71.5 - parent: 2 - - uid: 16585 - components: - - type: Transform - pos: 57.5,-69.5 - parent: 2 - - uid: 16586 - components: - - type: Transform - pos: 57.5,-68.5 - parent: 2 - - uid: 16587 - components: - - type: Transform - pos: 62.5,-72.5 - parent: 2 - - uid: 16588 - components: - - type: Transform - pos: 60.5,-74.5 - parent: 2 - - uid: 16589 - components: - - type: Transform - pos: 60.5,-73.5 - parent: 2 - uid: 16604 components: - type: Transform @@ -120940,31 +124433,11 @@ entities: - type: Transform pos: 63.5,-72.5 parent: 2 - - uid: 16640 - components: - - type: Transform - pos: 65.5,-71.5 - parent: 2 - - uid: 16641 - components: - - type: Transform - pos: 64.5,-71.5 - parent: 2 - uid: 16642 components: - type: Transform pos: 63.5,-71.5 parent: 2 - - uid: 16643 - components: - - type: Transform - pos: 64.5,-68.5 - parent: 2 - - uid: 16644 - components: - - type: Transform - pos: 65.5,-68.5 - parent: 2 - uid: 16645 components: - type: Transform @@ -120985,16 +124458,6 @@ entities: - type: Transform pos: 63.5,-70.5 parent: 2 - - uid: 16809 - components: - - type: Transform - pos: 65.5,-69.5 - parent: 2 - - uid: 16989 - components: - - type: Transform - pos: 21.5,-26.5 - parent: 2 - uid: 16990 components: - type: Transform @@ -121015,6 +124478,18 @@ entities: - type: Transform pos: 32.5,-36.5 parent: 2 + - uid: 17117 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -39.5,-76.5 + parent: 2 + - uid: 17121 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -40.5,-76.5 + parent: 2 - uid: 17165 components: - type: Transform @@ -121040,11 +124515,6 @@ entities: - type: Transform pos: 26.5,-28.5 parent: 2 - - uid: 17283 - components: - - type: Transform - pos: 26.5,-26.5 - parent: 2 - uid: 17377 components: - type: Transform @@ -121080,26 +124550,6 @@ entities: - type: Transform pos: 34.5,-33.5 parent: 2 - - uid: 17894 - components: - - type: Transform - pos: 64.5,-67.5 - parent: 2 - - uid: 17906 - components: - - type: Transform - pos: 58.5,-74.5 - parent: 2 - - uid: 17944 - components: - - type: Transform - pos: 53.5,-48.5 - parent: 2 - - uid: 17962 - components: - - type: Transform - pos: 54.5,-48.5 - parent: 2 - uid: 17969 components: - type: Transform @@ -121110,11 +124560,6 @@ entities: - type: Transform pos: 33.5,-34.5 parent: 2 - - uid: 18506 - components: - - type: Transform - pos: 30.5,-32.5 - parent: 2 - proto: WardrobeCargoFilled entities: - uid: 6961 @@ -121146,6 +124591,11 @@ entities: - type: Transform pos: 66.5,-27.5 parent: 2 + - uid: 8231 + components: + - type: Transform + pos: 67.5,-27.5 + parent: 2 - uid: 18043 components: - type: Transform @@ -121153,10 +124603,10 @@ entities: parent: 2 - proto: WardrobeSalvageFilled entities: - - uid: 6918 + - uid: 17523 components: - type: Transform - pos: 54.5,-97.5 + pos: 55.5,-97.5 parent: 2 - proto: WarningCO2 entities: @@ -121211,21 +124661,11 @@ entities: - type: Transform pos: -30.5,-70.5 parent: 2 - - uid: 4177 - components: - - type: Transform - pos: 51.5,-54.5 - parent: 2 - uid: 5527 components: - type: Transform pos: -46.4889,-48.14321 parent: 2 - - uid: 6275 - components: - - type: Transform - pos: 21.5,-17.5 - parent: 2 - uid: 6649 components: - type: Transform @@ -121236,32 +124676,32 @@ entities: - type: Transform pos: -9.5,-18.5 parent: 2 - - uid: 7740 + - uid: 7777 components: - type: Transform - pos: 67.5,-40.5 + pos: 23.5,-18.5 parent: 2 - - uid: 17956 + - uid: 8564 components: - type: Transform - pos: 33.5,-20.5 + pos: 61.5,-31.5 + parent: 2 + - uid: 8864 + components: + - type: Transform + pos: 51.5,-54.5 parent: 2 - proto: WaterTankFull entities: - - uid: 3379 - components: - - type: Transform - pos: 55.5,-66.5 - parent: 2 - uid: 3764 components: - type: Transform pos: 36.5,-37.5 parent: 2 - - uid: 7726 + - uid: 5325 components: - type: Transform - pos: 76.5,-34.5 + pos: 78.5,-33.5 parent: 2 - uid: 8214 components: @@ -121273,6 +124713,16 @@ entities: - type: Transform pos: 10.5,0.5 parent: 2 + - uid: 15440 + components: + - type: Transform + pos: 64.5,-55.5 + parent: 2 + - uid: 15597 + components: + - type: Transform + pos: 6.5,-76.5 + parent: 2 - uid: 16978 components: - type: Transform @@ -121304,6 +124754,21 @@ entities: parent: 2 - proto: WeaponCapacitorRecharger entities: + - uid: 456 + components: + - type: Transform + pos: 65.5,-32.5 + parent: 2 + - uid: 3518 + components: + - type: Transform + pos: 69.5,-41.5 + parent: 2 + - uid: 3524 + components: + - type: Transform + pos: 56.5,-39.5 + parent: 2 - uid: 5586 components: - type: Transform @@ -121319,29 +124784,12 @@ entities: - type: Transform pos: 13.5,-63.5 parent: 2 - - uid: 10392 - components: - - type: Transform - pos: 65.5,-34.5 - parent: 2 - - uid: 14262 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-46.5 - parent: 2 - uid: 14729 components: - type: Transform rot: -1.5707963267948966 rad pos: 60.5,-26.5 parent: 2 - - uid: 15520 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-39.5 - parent: 2 - uid: 18255 components: - type: Transform @@ -121354,46 +124802,44 @@ entities: parent: 2 - proto: WeaponEnergyTurretAI entities: - - uid: 18735 + - uid: 7576 components: - type: Transform - rot: 3.141592653589793 rad - pos: 92.5,-41.5 + pos: 94.5,-49.5 parent: 2 - type: DeviceNetwork deviceLists: - - 19418 - - uid: 18736 + - 10829 + - uid: 10842 components: - type: Transform - rot: 3.141592653589793 rad - pos: 92.5,-49.5 + pos: 94.5,-41.5 parent: 2 - type: DeviceNetwork deviceLists: - - 19418 + - 10829 - proto: WeaponEnergyTurretAIControlPanel entities: - - uid: 19418 + - uid: 10829 components: - type: Transform rot: 3.141592653589793 rad - pos: 93.5,-44.5 + pos: 95.5,-44.5 parent: 2 - type: DeviceList devices: - - 18735 - - 18736 + - 10842 + - 7576 - proto: WeaponEnergyTurretCommand entities: - - uid: 17700 + - uid: 7140 components: - type: Transform - pos: 80.5,-45.5 + pos: 82.5,-45.5 parent: 2 - type: DeviceNetwork deviceLists: - - 18788 + - 15244 - uid: 19396 components: - type: Transform @@ -121404,15 +124850,15 @@ entities: - 19397 - proto: WeaponEnergyTurretCommandControlPanel entities: - - uid: 18788 + - uid: 15244 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 73.5,-45.5 + rot: -1.5707963267948966 rad + pos: 77.5,-43.5 parent: 2 - type: DeviceList devices: - - 17700 + - 7140 - uid: 19397 components: - type: Transform @@ -121424,70 +124870,62 @@ entities: - 19396 - proto: WeaponEnergyTurretSecurity entities: - - uid: 12729 + - uid: 3073 components: - type: Transform - pos: 62.5,-55.5 + pos: 62.5,-47.5 parent: 2 - type: DeviceNetwork deviceLists: - - 14760 + - 1426 - proto: WeaponEnergyTurretSecurityControlPanel entities: - - uid: 14760 + - uid: 1426 components: - type: Transform rot: 3.141592653589793 rad - pos: 62.5,-53.5 + pos: 62.5,-45.5 parent: 2 - type: DeviceList devices: - - 12729 + - 3073 - proto: WeaponRifleFoam entities: - uid: 7959 components: - type: Transform - pos: 64.55189,-69.8399 + pos: 69.50519,-59.497322 parent: 2 - uid: 14307 components: - type: Transform - pos: 64.48334,-69.54418 + pos: 69.5538,-59.358437 parent: 2 - proto: WeaponSubMachineGunDrozd entities: - uid: 15876 components: - type: Transform - pos: 68.45742,-31.538942 + pos: 69.531204,-32.545918 parent: 2 - proto: WeaponSubMachineGunWt550 entities: - uid: 10243 components: - type: Transform - pos: 65.52122,-45.31295 + pos: 64.538445,-50.39843 parent: 2 - proto: WeaponTurretXeno entities: - - uid: 5419 + - uid: 12956 components: - type: Transform - rot: 3.141592653589793 rad - pos: 54.5,-27.5 + pos: 37.5,-27.5 parent: 2 - - uid: 6268 + - uid: 12958 components: - type: Transform - rot: 3.141592653589793 rad - pos: 52.5,-35.5 - parent: 2 - - uid: 12914 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 54.5,-42.5 + pos: 46.5,-30.5 parent: 2 - proto: WeaponWaterPistol entities: @@ -121498,6 +124936,11 @@ entities: parent: 2 - proto: Welder entities: + - uid: 15458 + components: + - type: Transform + pos: 67.73903,-68.491745 + parent: 2 - uid: 19253 components: - type: Transform @@ -121505,11 +124948,6 @@ entities: parent: 2 - proto: WelderIndustrial entities: - - uid: 3765 - components: - - type: Transform - pos: 53.37124,-29.397728 - parent: 2 - uid: 8007 components: - type: Transform @@ -121518,7 +124956,7 @@ entities: - uid: 9285 components: - type: Transform - pos: 27.5,-13.5 + pos: 28.519037,-13.301477 parent: 2 - proto: WeldingFuelTank entities: @@ -121527,33 +124965,43 @@ entities: - type: Transform pos: -16.5,-49.5 parent: 2 - - uid: 11714 - components: - - type: Transform - pos: 67.5,-59.5 - parent: 2 - proto: WeldingFuelTankFull entities: - - uid: 5368 + - uid: 746 components: - type: Transform - pos: 50.5,-32.5 + pos: 38.5,-78.5 parent: 2 - uid: 5889 components: - type: Transform pos: 54.5,-68.5 parent: 2 - - uid: 7725 + - uid: 7862 components: - type: Transform - pos: 75.5,-34.5 + pos: 76.5,-33.5 parent: 2 - uid: 8212 components: - type: Transform pos: -41.5,-28.5 parent: 2 + - uid: 8383 + components: + - type: Transform + pos: 61.5,-62.5 + parent: 2 + - uid: 8456 + components: + - type: Transform + pos: 38.5,-36.5 + parent: 2 + - uid: 12748 + components: + - type: Transform + pos: -37.5,-73.5 + parent: 2 - uid: 13569 components: - type: Transform @@ -121564,6 +125012,11 @@ entities: - type: Transform pos: 10.5,-5.5 parent: 2 + - uid: 15438 + components: + - type: Transform + pos: 65.5,-55.5 + parent: 2 - uid: 16390 components: - type: Transform @@ -121576,6 +125029,13 @@ entities: - type: Transform pos: 1.5116462,-46.527744 parent: 2 +- proto: WhoopieCushion + entities: + - uid: 5367 + components: + - type: Transform + pos: 46.5,-41.5 + parent: 2 - proto: Windoor entities: - uid: 6205 @@ -121590,6 +125050,11 @@ entities: rot: -1.5707963267948966 rad pos: 12.5,-57.5 parent: 2 + - uid: 7262 + components: + - type: Transform + pos: 58.5,-40.5 + parent: 2 - uid: 7671 components: - type: Transform @@ -121613,6 +125078,11 @@ entities: - type: Transform pos: 79.5,-22.5 parent: 2 + - uid: 7768 + components: + - type: Transform + pos: 30.5,-16.5 + parent: 2 - uid: 8011 components: - type: Transform @@ -121625,20 +125095,32 @@ entities: rot: -1.5707963267948966 rad pos: 26.5,-69.5 parent: 2 - - uid: 8634 + - uid: 8577 components: - type: Transform - pos: 60.5,-47.5 + pos: 59.5,-40.5 parent: 2 - - uid: 9367 + - uid: 8617 components: - type: Transform - pos: 58.5,-47.5 + pos: 32.5,-16.5 parent: 2 - - uid: 10670 + - uid: 9213 components: - type: Transform - pos: 59.5,-47.5 + pos: 57.5,-40.5 + parent: 2 + - uid: 9894 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-42.5 + parent: 2 + - uid: 9895 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-43.5 parent: 2 - uid: 11761 components: @@ -121651,13 +125133,13 @@ entities: - type: Transform pos: 40.5,-18.5 parent: 2 -- proto: WindoorBarKitchenLocked - entities: - - uid: 6343 + - uid: 16631 components: - type: Transform - pos: 40.5,-46.5 + pos: -38.5,-76.5 parent: 2 +- proto: WindoorBarKitchenLocked + entities: - uid: 7018 components: - type: Transform @@ -121676,17 +125158,17 @@ entities: rot: 1.5707963267948966 rad pos: 38.5,-42.5 parent: 2 - - uid: 9575 - components: - - type: Transform - pos: 39.5,-46.5 - parent: 2 - uid: 18763 components: - type: Transform rot: 1.5707963267948966 rad pos: 38.5,-45.5 parent: 2 + - uid: 19747 + components: + - type: Transform + pos: 39.5,-46.5 + parent: 2 - proto: WindoorCargoLocked entities: - uid: 3041 @@ -121769,65 +125251,70 @@ entities: parent: 2 - proto: WindoorSecureArmoryLocked entities: - - uid: 514 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-58.5 - parent: 2 - - uid: 4874 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-47.5 - parent: 2 - - uid: 9221 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-42.5 - parent: 2 - - uid: 9225 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 58.5,-47.5 - parent: 2 - - uid: 9229 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-47.5 - parent: 2 - - uid: 9366 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-43.5 - parent: 2 - - uid: 11939 + - uid: 1211 components: - type: Transform rot: 1.5707963267948966 rad - pos: 58.5,-58.5 + pos: 58.5,-49.5 parent: 2 - - uid: 11941 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 58.5,-57.5 - parent: 2 - - uid: 16877 + - uid: 1451 components: - type: Transform rot: -1.5707963267948966 rad - pos: 62.5,-57.5 + pos: 62.5,-49.5 parent: 2 - - uid: 18908 + - uid: 4100 components: - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-50.5 + parent: 2 + - uid: 4204 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-50.5 + parent: 2 + - uid: 4710 + components: + - type: Transform + pos: 58.5,-35.5 + parent: 2 + - uid: 4913 + components: + - type: Transform + pos: 57.5,-35.5 + parent: 2 + - uid: 6165 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-40.5 + parent: 2 + - uid: 6261 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-40.5 + parent: 2 + - uid: 9217 + components: + - type: Transform + rot: 3.141592653589793 rad pos: 59.5,-40.5 parent: 2 + - uid: 9896 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-42.5 + parent: 2 + - uid: 9897 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-43.5 + parent: 2 - proto: WindoorSecureAtmosphericsLocked entities: - uid: 8009 @@ -121964,22 +125451,30 @@ entities: rot: 1.5707963267948966 rad pos: 7.5,-27.5 parent: 2 - - uid: 2829 + - uid: 5422 components: - type: Transform - rot: -1.5707963267948966 rad + rot: 3.141592653589793 rad + pos: 32.5,-16.5 + parent: 2 + - uid: 7796 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 30.5,-16.5 + parent: 2 + - uid: 8691 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 33.5,-15.5 + parent: 2 + - uid: 9483 + components: + - type: Transform + rot: 1.5707963267948966 rad pos: 19.5,-25.5 parent: 2 - - uid: 3012 - components: - - type: Transform - pos: 28.5,-17.5 - parent: 2 - - uid: 3527 - components: - - type: Transform - pos: 30.5,-17.5 - parent: 2 - uid: 13977 components: - type: Transform @@ -121997,11 +125492,17 @@ entities: parent: 2 - proto: WindoorSecureSecurityLocked entities: - - uid: 3073 + - uid: 3579 components: - type: Transform rot: -1.5707963267948966 rad - pos: 69.5,-38.5 + pos: 57.5,-28.5 + parent: 2 + - uid: 4086 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 51.5,-29.5 parent: 2 - uid: 4205 components: @@ -122009,6 +125510,12 @@ entities: rot: -1.5707963267948966 rad pos: 41.5,-21.5 parent: 2 + - uid: 4377 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-35.5 + parent: 2 - uid: 5960 components: - type: Transform @@ -122027,17 +125534,35 @@ entities: rot: 3.141592653589793 rad pos: -3.5,-12.5 parent: 2 + - uid: 6097 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-27.5 + parent: 2 - uid: 6123 components: - type: Transform rot: 1.5707963267948966 rad pos: 57.5,-21.5 parent: 2 - - uid: 7305 + - uid: 7067 components: - type: Transform rot: 1.5707963267948966 rad - pos: 61.5,-43.5 + pos: 57.5,-28.5 + parent: 2 + - uid: 7208 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 58.5,-35.5 + parent: 2 + - uid: 7952 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-27.5 parent: 2 - uid: 8414 components: @@ -122045,18 +125570,6 @@ entities: rot: -1.5707963267948966 rad pos: 61.5,-27.5 parent: 2 - - uid: 10319 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 61.5,-42.5 - parent: 2 - - uid: 19594 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-40.5 - parent: 2 - uid: 19647 components: - type: Transform @@ -122131,22 +125644,11 @@ entities: rot: -1.5707963267948966 rad pos: 1.5,-57.5 parent: 2 - - uid: 5866 + - uid: 8058 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -40.5,-76.5 - parent: 2 - - uid: 6355 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 40.5,-47.5 - parent: 2 - - uid: 8373 - components: - - type: Transform - pos: -41.5,-75.5 + rot: 3.141592653589793 rad + pos: -40.5,-78.5 parent: 2 - uid: 9244 components: @@ -122154,12 +125656,24 @@ entities: rot: 1.5707963267948966 rad pos: -0.5,-57.5 parent: 2 - - uid: 16631 + - uid: 12744 components: - type: Transform - rot: 3.141592653589793 rad + rot: -1.5707963267948966 rad + pos: -39.5,-77.5 + parent: 2 + - uid: 17102 + components: + - type: Transform + rot: 1.5707963267948966 rad pos: -41.5,-77.5 parent: 2 + - uid: 19748 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 40.5,-47.5 + parent: 2 - proto: WindowFrostedDirectional entities: - uid: 6162 @@ -122173,46 +125687,41 @@ entities: rot: 3.141592653589793 rad pos: 13.5,-50.5 parent: 2 - - uid: 11685 +- proto: WindowReinforcedDirectional + entities: + - uid: 296 components: - type: Transform rot: 1.5707963267948966 rad - pos: 35.5,-11.5 + pos: 76.5,-62.5 parent: 2 - - uid: 17908 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 34.5,-11.5 - parent: 2 -- proto: WindowReinforcedDirectional - entities: - uid: 457 components: - type: Transform rot: -1.5707963267948966 rad pos: 18.5,-31.5 parent: 2 - - uid: 1063 - components: - - type: Transform - pos: 61.5,-70.5 - parent: 2 - uid: 1790 components: - type: Transform pos: -19.5,-60.5 parent: 2 - - uid: 3068 + - uid: 2223 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-37.5 + pos: 62.5,-48.5 parent: 2 - - uid: 4356 + - uid: 3353 components: - type: Transform - pos: 62.5,-56.5 + rot: 3.141592653589793 rad + pos: 76.5,-62.5 + parent: 2 + - uid: 4610 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-31.5 parent: 2 - uid: 4866 components: @@ -122224,6 +125733,12 @@ entities: - type: Transform pos: 30.5,-72.5 parent: 2 + - uid: 5944 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 52.5,-32.5 + parent: 2 - uid: 6703 components: - type: Transform @@ -122246,16 +125761,27 @@ entities: - type: Transform pos: 33.5,-72.5 parent: 2 - - uid: 8194 + - uid: 8826 components: - type: Transform rot: 1.5707963267948966 rad - pos: 61.5,-70.5 + pos: 51.5,-28.5 parent: 2 - - uid: 9904 + - uid: 9092 components: - type: Transform - pos: 19.5,-24.5 + pos: 58.5,-48.5 + parent: 2 + - uid: 9304 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 33.5,-14.5 + parent: 2 + - uid: 9341 + components: + - type: Transform + pos: 20.5,-24.5 parent: 2 - uid: 10554 components: @@ -122263,11 +125789,16 @@ entities: rot: -1.5707963267948966 rad pos: -9.5,-35.5 parent: 2 - - uid: 13850 + - uid: 11869 components: - type: Transform rot: 1.5707963267948966 rad - pos: 61.5,-67.5 + pos: 76.5,-66.5 + parent: 2 + - uid: 11880 + components: + - type: Transform + pos: 76.5,-66.5 parent: 2 - uid: 13991 components: @@ -122275,23 +125806,6 @@ entities: rot: 1.5707963267948966 rad pos: 17.5,-15.5 parent: 2 - - uid: 14256 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-67.5 - parent: 2 - - uid: 15384 - components: - - type: Transform - pos: -47.5,-37.5 - parent: 2 - - uid: 15385 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -47.5,-39.5 - parent: 2 - uid: 16394 components: - type: Transform @@ -122319,11 +125833,6 @@ entities: rot: -1.5707963267948966 rad pos: 30.5,-72.5 parent: 2 - - uid: 18271 - components: - - type: Transform - pos: 58.5,-56.5 - parent: 2 - uid: 19483 components: - type: Transform @@ -122386,7 +125895,7 @@ entities: - uid: 11844 components: - type: Transform - pos: 62.448723,-62.43725 + pos: 62.47169,-65.33372 parent: 2 - uid: 14572 components: @@ -122413,6 +125922,18 @@ entities: - type: Transform pos: -19.471653,-51.518547 parent: 2 + - uid: 20008 + components: + - type: Transform + parent: 20005 + - type: Physics + canCollide: False + - type: InsideEntityStorage + - uid: 20020 + components: + - type: Transform + pos: 57.496265,-59.48495 + parent: 2 - proto: XenoResinWindow entities: - uid: 223 @@ -122475,6 +125996,29 @@ entities: - type: Transform pos: 0.5,-37.5 parent: 2 + - uid: 798 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 37.5,-14.5 + parent: 2 + - uid: 822 + components: + - type: Transform + pos: 75.5,-72.5 + parent: 2 + - uid: 860 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 37.5,-12.5 + parent: 2 + - uid: 861 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 37.5,-13.5 + parent: 2 - uid: 902 components: - type: Transform @@ -122510,16 +126054,6 @@ entities: - type: Transform pos: -1.5,-40.5 parent: 2 - - uid: 1446 - components: - - type: Transform - pos: 26.5,-15.5 - parent: 2 - - uid: 1447 - components: - - type: Transform - pos: 26.5,-16.5 - parent: 2 - uid: 1568 components: - type: Transform @@ -122545,11 +126079,6 @@ entities: - type: Transform pos: 81.5,-59.5 parent: 2 - - uid: 1823 - components: - - type: Transform - pos: 80.5,-59.5 - parent: 2 - uid: 1827 components: - type: Transform @@ -122900,16 +126429,6 @@ entities: - type: Transform pos: 73.5,-57.5 parent: 2 - - uid: 3333 - components: - - type: Transform - pos: 67.5,-58.5 - parent: 2 - - uid: 3334 - components: - - type: Transform - pos: 71.5,-56.5 - parent: 2 - uid: 3439 components: - type: Transform @@ -123065,36 +126584,6 @@ entities: - type: Transform pos: 45.5,-78.5 parent: 2 - - uid: 4137 - components: - - type: Transform - pos: 78.5,-65.5 - parent: 2 - - uid: 4138 - components: - - type: Transform - pos: 78.5,-63.5 - parent: 2 - - uid: 4139 - components: - - type: Transform - pos: 78.5,-64.5 - parent: 2 - - uid: 4147 - components: - - type: Transform - pos: 76.5,-63.5 - parent: 2 - - uid: 4160 - components: - - type: Transform - pos: 76.5,-65.5 - parent: 2 - - uid: 4168 - components: - - type: Transform - pos: 76.5,-64.5 - parent: 2 - uid: 4195 components: - type: Transform @@ -123170,6 +126659,11 @@ entities: - type: Transform pos: 45.5,-55.5 parent: 2 + - uid: 4378 + components: + - type: Transform + pos: 83.5,-45.5 + parent: 2 - uid: 4382 components: - type: Transform @@ -123240,11 +126734,6 @@ entities: - type: Transform pos: 18.5,-47.5 parent: 2 - - uid: 4399 - components: - - type: Transform - pos: -13.5,-75.5 - parent: 2 - uid: 4403 components: - type: Transform @@ -123275,11 +126764,6 @@ entities: - type: Transform pos: -13.5,-77.5 parent: 2 - - uid: 4419 - components: - - type: Transform - pos: -12.5,-75.5 - parent: 2 - uid: 4420 components: - type: Transform @@ -123295,21 +126779,6 @@ entities: - type: Transform pos: 19.5,-47.5 parent: 2 - - uid: 4425 - components: - - type: Transform - pos: 26.5,-20.5 - parent: 2 - - uid: 4426 - components: - - type: Transform - pos: 26.5,-19.5 - parent: 2 - - uid: 4428 - components: - - type: Transform - pos: 31.5,-13.5 - parent: 2 - uid: 4429 components: - type: Transform @@ -123320,6 +126789,11 @@ entities: - type: Transform pos: -14.5,-10.5 parent: 2 + - uid: 4433 + components: + - type: Transform + pos: 73.5,-72.5 + parent: 2 - uid: 4439 components: - type: Transform @@ -123830,6 +127304,11 @@ entities: - type: Transform pos: -48.5,-34.5 parent: 2 + - uid: 5332 + components: + - type: Transform + pos: 82.5,-41.5 + parent: 2 - uid: 5375 components: - type: Transform @@ -123840,21 +127319,11 @@ entities: - type: Transform pos: -47.5,-34.5 parent: 2 - - uid: 5429 - components: - - type: Transform - pos: 56.5,-35.5 - parent: 2 - uid: 5431 components: - type: Transform pos: 16.5,-71.5 parent: 2 - - uid: 5433 - components: - - type: Transform - pos: 81.5,-45.5 - parent: 2 - uid: 5434 components: - type: Transform @@ -123875,11 +127344,6 @@ entities: - type: Transform pos: 39.5,-16.5 parent: 2 - - uid: 5440 - components: - - type: Transform - pos: 37.5,-16.5 - parent: 2 - uid: 5441 components: - type: Transform @@ -123895,16 +127359,6 @@ entities: - type: Transform pos: 47.5,-12.5 parent: 2 - - uid: 5444 - components: - - type: Transform - pos: 37.5,-17.5 - parent: 2 - - uid: 5445 - components: - - type: Transform - pos: 37.5,-14.5 - parent: 2 - uid: 5446 components: - type: Transform @@ -124055,6 +127509,16 @@ entities: - type: Transform pos: 45.5,-57.5 parent: 2 + - uid: 6104 + components: + - type: Transform + pos: 80.5,-49.5 + parent: 2 + - uid: 6106 + components: + - type: Transform + pos: 82.5,-42.5 + parent: 2 - uid: 6114 components: - type: Transform @@ -124070,6 +127534,16 @@ entities: - type: Transform pos: 33.5,-60.5 parent: 2 + - uid: 6386 + components: + - type: Transform + pos: 82.5,-49.5 + parent: 2 + - uid: 6387 + components: + - type: Transform + pos: 82.5,-43.5 + parent: 2 - uid: 6598 components: - type: Transform @@ -124095,10 +127569,15 @@ entities: - type: Transform pos: 44.5,-58.5 parent: 2 - - uid: 7762 + - uid: 7320 components: - type: Transform - pos: 75.5,-72.5 + pos: 82.5,-47.5 + parent: 2 + - uid: 7409 + components: + - type: Transform + pos: 73.5,-73.5 parent: 2 - uid: 7764 components: @@ -124110,36 +127589,16 @@ entities: - type: Transform pos: 45.5,-12.5 parent: 2 - - uid: 7862 + - uid: 7794 components: - type: Transform - pos: 80.5,-42.5 - parent: 2 - - uid: 7909 - components: - - type: Transform - pos: 81.5,-42.5 - parent: 2 - - uid: 7925 - components: - - type: Transform - pos: 79.5,-42.5 - parent: 2 - - uid: 8029 - components: - - type: Transform - pos: 80.5,-49.5 + pos: 32.5,-13.5 parent: 2 - uid: 8063 components: - type: Transform pos: 80.5,-41.5 parent: 2 - - uid: 8079 - components: - - type: Transform - pos: 79.5,-48.5 - parent: 2 - uid: 8144 components: - type: Transform @@ -124155,16 +127614,6 @@ entities: - type: Transform pos: 50.5,-63.5 parent: 2 - - uid: 8221 - components: - - type: Transform - pos: 73.5,-73.5 - parent: 2 - - uid: 8345 - components: - - type: Transform - pos: 73.5,-72.5 - parent: 2 - uid: 8346 components: - type: Transform @@ -124175,61 +127624,76 @@ entities: - type: Transform pos: 16.5,-72.5 parent: 2 - - uid: 8371 + - uid: 8422 components: - type: Transform - pos: 80.5,-43.5 + pos: 66.5,-59.5 parent: 2 - - uid: 8510 + - uid: 8503 components: - type: Transform - pos: 81.5,-48.5 - parent: 2 - - uid: 8511 - components: - - type: Transform - pos: 80.5,-47.5 - parent: 2 - - uid: 8606 - components: - - type: Transform - pos: 80.5,-48.5 + pos: 69.5,-57.5 parent: 2 - uid: 9294 components: - type: Transform pos: 51.5,-53.5 parent: 2 - - uid: 9305 + - uid: 9329 components: - type: Transform - pos: 58.5,-77.5 + pos: 81.5,-42.5 + parent: 2 + - uid: 9337 + components: + - type: Transform + pos: 28.5,-15.5 + parent: 2 + - uid: 9354 + components: + - type: Transform + pos: 29.5,-16.5 + parent: 2 + - uid: 9446 + components: + - type: Transform + pos: 83.5,-42.5 parent: 2 - uid: 9695 components: - type: Transform - pos: 53.5,-53.5 + pos: 80.5,-59.5 parent: 2 - - uid: 10236 + - uid: 9847 components: - type: Transform - pos: 58.5,-25.5 + pos: 65.5,-59.5 parent: 2 - uid: 10305 components: - type: Transform pos: 52.5,-53.5 parent: 2 + - uid: 10516 + components: + - type: Transform + pos: 81.5,-49.5 + parent: 2 + - uid: 10721 + components: + - type: Transform + pos: 81.5,-41.5 + parent: 2 + - uid: 10752 + components: + - type: Transform + pos: 81.5,-40.5 + parent: 2 - uid: 10889 components: - type: Transform pos: -17.5,-73.5 parent: 2 - - uid: 11665 - components: - - type: Transform - pos: 56.5,-41.5 - parent: 2 - uid: 11872 components: - type: Transform @@ -124265,16 +127729,31 @@ entities: - type: Transform pos: -20.5,-73.5 parent: 2 + - uid: 15156 + components: + - type: Transform + pos: 83.5,-48.5 + parent: 2 + - uid: 15157 + components: + - type: Transform + pos: 82.5,-48.5 + parent: 2 + - uid: 15164 + components: + - type: Transform + pos: 81.5,-48.5 + parent: 2 + - uid: 15166 + components: + - type: Transform + pos: 81.5,-50.5 + parent: 2 - uid: 15230 components: - type: Transform pos: -19.5,-73.5 parent: 2 - - uid: 15434 - components: - - type: Transform - pos: 58.5,-78.5 - parent: 2 - uid: 15960 components: - type: Transform @@ -124302,11 +127781,6 @@ entities: - type: Transform pos: -22.5,-53.5 parent: 2 - - uid: 17505 - components: - - type: Transform - pos: 56.5,-29.5 - parent: 2 - uid: 17655 components: - type: Transform @@ -124317,16 +127791,6 @@ entities: - type: Transform pos: -18.5,-15.5 parent: 2 - - uid: 17702 - components: - - type: Transform - pos: 59.5,-25.5 - parent: 2 - - uid: 17996 - components: - - type: Transform - pos: 63.5,-63.5 - parent: 2 - uid: 18416 components: - type: Transform @@ -124368,11 +127832,6 @@ entities: - type: Transform pos: -16.5,-70.5 parent: 2 - - uid: 19044 - components: - - type: Transform - pos: 60.5,-21.5 - parent: 2 - uid: 19193 components: - type: Transform diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/full.png b/Resources/Textures/Structures/Walls/xeno.rsi/full.png index 87736f62bb05e64dd3db57244ccd03625af5ef2b..6f3b32380a05fa5ebff689d87923d83872d52901 100644 GIT binary patch delta 625 zcmexZx~g)51(VhCjaKE%0;akK=DNm)A%@0Qrsh_r29pmmn_&oUW@kxbR7p%VF-=WN zGS#(6Of=9BNBV%g*mY<5KH zoE*e%ied5O>FiCDZ?SPnBxfY%rKhIY>D%ZRm$;UdSV09gb8sjdvSf#{J)W#@sb62~ z>EaktaqCEUZg#VQfZgsD9F zlXpLt)4zB8c{sPfiHe?9lojus2VdA0EK=R`@Qh}IudU#2lKG)(V(uJYr3e04li z;=FWmm)qO2_)dr&Umw!t3v*JteF4hfr3GxfpmHwO3HcIk_&v@7&1 z*cqp0zh-x1Z{Dw#_nV!?W8%Vp$~fdQIQy|AnnYbb>XqT7bf3TKyGP}lYZBQC-uJgM zo=IDvU}^54kPIw^VH^t_CftLP`ZT}fX8E)7g4g2@I{RaaOc)I$z JtaD0e0sxEj_MHF# delta 490 zcmVtv*`)^Fa+C%O3#z&Ixl~INkl{`R3(2ac4?laxq1wBe_XNxJU@W`c9s6I?hT+ReOa1A$qLBQe3jPucV*@3 z(kObu^8;mb<0Ld;0nwZ6v5JjrL_MU5eyAxKC|LnSG+xW#JP1!`2v6rHa4$39`N3#B z@h+$G^w9nNF7CYyfV*9$xe4XQ66mS(@60+pLN16vL-xb-A+coH5Nze)g0r&ntL=I3^+0K_*Is{o=nfu>>a gdpQ*sY}Xe50PJt4VACaVod5s;07*qoM6N<$f|`oo7ytkO diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/reinf_construct-0.png b/Resources/Textures/Structures/Walls/xeno.rsi/reinf_construct-0.png index 855fd627d17f0a7e50d4187635c0d151feaf1f03..06dbdbda78d6ade3798233ee70e9b821d1924d01 100644 GIT binary patch delta 643 zcmbPQe!Xgf1(UVoMyqmW0aINAb6sP@5JM9yBXcW5qsa%E%`gNPv$HU%m?tHsq$Q?U z=%$#MnCO}&npo;4r5GFOrkE!uS*DqrC7D>5Y}RI*$29pA3)f^Xc5CM1#Ing<>~=)y zocxB}6vN)hh8#_k`8l{Gk~0$X(o<9H^lkKuOI*uJte^s$7jY;XvRJw5XiPq7sb4?A z)5S5Q;?|pR-_?f<1m;}%^6k~?g^yNtDKw@3|8FnoQZ1w!`ugqCv(~CCXWg}<^!aqO zRnGbyds{YLCp^28ziE|xdL37uUu0Y4z60xSSk%rgz7jd>z|8puNs}KqU#@w_Yj;{) zL1K$iz$fOQX^lWVD>-*4z#(OfZ4=%Yg3)7l9^w~7zAOyape zsUWnpRQ;jtzm|&34>N8#yZ$iP$6_V8B5!)wKI6tIsWYAxceqtFpa0ZqzGLUR)vA|k z)@dt7uDcc#Y9tjX;50$S`E_)_T|JMwy1go~uML;3Sf#yWia_s$tHw+VPG@*93g?(y zdv-fLxZZ*FdVS-{2JUBPZ)EVq$!(pfQp3f_(7R&a2DJ}8Oy}QKcQV<1S=2BoR#LzJ zuXe&ShkULT-|wX6zCO^*lwNme-wig=8=}&+&a=(0*K)n-UYmE-~|_$;4-F(#Y?K8j-VmV_I}A)bVfxZm%u&2}CRMe$*L2`nNo{tmPJ zVghB=K!`miJtc$hM4JrmucvB>5PMe%NqaaNTgez@AcUYOHo>=G{2fsIY?35n>zs3p z;{am}COx_8NddSrnp40>U2mPG_JtI%!QEfrD}NA!f3v#YqVGFrK8ch<0Kh177j^`m zQQ+BqFHs8UAp`ZoH-C9Y*9R#1V>i#U`GS>*og7oL35Qonw` zr;B4q#jQ8t7qbo-h}f?DTIk#zRPr`Ofi*t-o87mEe;Y5!3nW@F2Tcik_V`wc|H`e~ zJfE%ESE0DX#P{9FmuFAzJu>^JjJZj$&6`PUKRupjdf>?1q@7VF->hDDY~^CuozlH8 zRa@P5w|>xb;c~8~KCuRq&WoGb6z-jQ&g5`hq5hJmY*R+nu&oo7sGuHA61LlpvQx2CtWqkAqa- zL^eC6%<2o;Gw*QyZwC>!Q-#M1mqZyAE`M->pP^;aNtYvXl^ur|*8j8aDD=8>xuQpd zC!ycwXCH6(bTYc?>Ud%1UzI089`u{w7H5Hu|?HZ3qWR53I^Y;JG-t{hnN}y7->#Zg`#ipW3*46gX2NE$Rd3k(!-xor+iNF)#$(Lhu zF#bIE7g)y>yRsNvs||PQr6Nt5ydg#BdC#n9bfM3AoegXFLe|IG@k=jdpK%DF;u+ zi-0u&#u)M}1!L@{eytPE{Y7UoV@Ijl7f3$7kY}l}KZ+u)m#kw70e&GMolIvU;gTZH zQoJXhgI=*(t&nFa!X?%2*mc}1_w)c$;j=0mc}rebHqzH3nps ztM-M_2X0nCJ?BG5?XNx{73eCW5{{J*=#HAL50vFMj?H1XAQ?jxMcSR2`d``bMZkD5 zu|%!m9ztNKdVLsye%(IB#bh)FI2YPSW=vgcnuBvOT#_}7IiU#fyI)Spv#;mB0|375 VaI&z^Rg3@t002ovPDHLkV1gck>vjMD diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/reinf_construct-2.png b/Resources/Textures/Structures/Walls/xeno.rsi/reinf_construct-2.png index 15d52605042e6925121b4fd20445718fedceba59..9335eeb3fcd28dd4e7d1fcc82d712d68a7e50c88 100644 GIT binary patch delta 738 zcmexRzO{OS1(UVoMyqmW0aINAb6sP@5JM9yBXcW5%gG0s%`gNPv$HU%Sf(Z!npv16 z>87Pvn(JDonpo;4CYmMb8k(9J8(StBrx;lzZ`Nj;$29pA3)f^Xc5CM1#Ing<>~=)y zocxB}6vN)hh8#_k`8l{Gk~0$X(o<9H^lkKuOI*uJte^s$7jY;Xvh3;8aG8A4QosJ4 zr;B4q#jQ8t2eVc?h}b3{TdL~S#o}|gSs_KYv23=h{Vwk9njQ86T>blaSSlTzW5edI zOUn|PE9o^Wr^wMwCjH&a$9s=gds_5ctjh?w^XBv1Z%-GRA1X0A{QKG3a+90xZ&VrI ze3p$le_gL?#-Bi|`F?2%5)zCWpLm?}S%l8jE9)`v=q!o}F%@0mx^?lnS8d)5>iNQ# z_z%h5a9e!J;`v>}3uec6{+`;PeY*djg3Y$`tE^TR&o0}&sUUSXqXF9i3Flcy5_A8PM`l6%;sUyUoo4}i9_c3yC?BLXK#yTW>|Ez{!>cwM8(?1jNq5X*J5_y6V1XV}u) znaNu&$Pjz=^-%_y>u>j8oblzD!`*_Xs#k(cUwvC4eJ^&BXyvl^SpoC+TB=^pJHMZe ZVYXA30dx50a0VdoWOwy*S?83{1OROOEFAy< delta 586 zcmV-Q0=50Md+>LVI089`u{w7H5Hu|?HZ3qWR53I1fXeZjKVPpn`Ke~ z@H}E%bbk~__?~YaZ6<`&0O+ppmuJh#K)aM@_5 z{jNOR*&YC#0dUSy7CAWQ|C%={;V2wykr_&*db370U!g2=>wJPSbG8BlE zQhT)R7o?OYAeB@kvh$?taI$%mQR~@LT5A2(5e?el>0aK3K<{y8< z2LNkh;#$Mq1VCT)dNTm$b^A3Mlff7eLK-inmZs6RhY+&ABx{=5-qk={yg4QJZqL65 Y0FT9szkB?;7XSbN07*qoM6N<$f|BA52LJ#7 diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/reinf_construct-3.png b/Resources/Textures/Structures/Walls/xeno.rsi/reinf_construct-3.png index 45695889c1c6420ecca9b00cd0979dbec9efc66b..ee7d6d9e65355105e7cd93e049f8f880f1aa1f87 100644 GIT binary patch delta 759 zcmZpwI9WZxg2~!(qg6SxfT^y5xvsHch@pvY124 zT^vIyZe0mKn03fOpjLYF;-hSiIl`_QPV0H^bzk`Bw14CN3r+S4K^gg%ykBk;($K0h zIr+`R+h^14t!_)16MgTz*;Dzu%;@m1>x~CE&n}Zc{nP*DleXI~*Y_Vf{(N_lNo4!A zNet6I%g@=p_R@5#I{(*uUdJ~sOk+tfeScVaFOSFMj+#{+f8ZjqIE&dz54Z3& zIlkQIE&rBZ2zHnlcx2A!wJ$=qyf&Gj?IDre8ol6D3qy~QVs4{=Q~ZP#I;+1tU+%6M zF!_Y`e~HkCHSf=V+;{GOy<<>ja#GY`SyqR@uT>@tH+TIN=zkgp6Y!!Vw>9> v5fe4u?VU$$blztPgx`~yvnhD{^Zm>W^WXKqmHE*l%m4(Qu6{1-oD!M<{+vAs delta 606 zcmV-k0-^oMdxCh7I089`u{w7H5Hu|?HZ3qWR53I2Wd5PhrO zQUytg7zmPM_1r-F5BiJy4_e4Q9(v2AWkV!jo15b9rx@k;82W0)+ee>q+IKz^8 zDse;e=;XWH^}g%}A*OMH&#$$1w3&zIQUJco9fDxo`%xUvjEhg>1YdBh0F-3`KM28+ zc`6Bj<9{&YN42QoI&SaSXF^B?z-vEbOb^0yJ*&}VQp#=(G;K7xyNKZS`yags+g4T8 zuxj_ZmvV4pI}1R*THX#ozFH#97H5O-Y+vM@qu8$1_0#i<8sFbu)&22(f+&hkW55qW z#PJNZsI@N^+cnZ`p%(f0$kj2vPXGXEwm1N(%YP+tJX4v_0iZHjUlJj@CzA;PAc~>` zZ*9WiIr7+D$N#(i9QC%VQU8R)l$WLv)O=i-l-ANgo%lh86dTj z5$#Rt+t;SuaWVsc*=lXjCI%Q4Bm}~9J&Z84sFCh8`dn3(EXT9_N_nx&d2nWUK-8z-A@)?%B_H2D+@*JLktYv$s_vdLZScEo6$ z{F)up*2#t(O_TXKxFnJ@67$kiQ|$C@^ovVe%Sx=E0-G0cC>yf)W*uype9}_C-o(?z zF{I+wmGIc?M-C#kllcw!#b$FYk_{JAxsd)+USmuB!u=QbFHoqRUXu8It;n=>D_u7P zzH%1#N&A+WcDd$^%IdIhPBSe0p3S>6r}|mkqgWn`zKm%*BHO*+K5Dz|vi|n*%WpOo z=xpx4;ms7$?mcIh?px>hUGY=TRo}JaI1^OQ5cZIXcRMFg-wuWZDVLuCN0cJkmdcij z8S62ogb4@n95Q*UJQcW7hZomDER*`i_^&xr9+a;hCFl1tqQXEG?p%ya%iRH zC;PY3($hkGIURgleCAf2|6I9HIZ1+}$${I!trFh5F;Q3s?r#c%Z$ppM~FydvsJ$a4( z?6yq46I~q#Lfn7`6uiHmIz@ot*y4pDC&O-Ec6)IBjrz5RM*9^4TkTgCJiZtpw56kf z-L~i3!fEI1|aZs^>bP0l+XkKA}(D) delta 652 zcmV;70(1TQd$D+sI089`u{w7H5Hu|?HZ3qWR53IMyYIC7tkGRo!oT>82JI-qgAbLvX9tH0@$Y;IF74b=) z&~*kf$<&3?`eTLh!y`E7NRk9^Z{dki&N*Jgg?|!2&T@?W037W9FA$kbmqa+{AcVm4 zJlM7kN+~F%ux(qu(}`)AGHXfzVjyR^a&eL*wT1{Gh~robKzQIiS~d4TxSY#>zT54v z-EL3jh_R>V7bP)UdqA*VNWb5gS9wf`Dmq$w;5(sK2Ceb{5e10=VVM>>ox77%94_Z@ zhkpTV+y3(9MfV?%M;R?usrYdCM3!gmIUs~mie9hx#oa|Pp69iW0;|XYRURmYpS1&V<7Xeo=NkY01<6GllcqJ?j{vBuUOj&dK)G(eMq^UT0miuU5+|lg>-J!bSC?dI my4H6!U>9#r$*tS-e**y435>339aC}u0000~=)y zocxB}6vN)hh8#_k`8l{Gk~0$X(o<9H^lkKuOI*uJte^s$7jY;XvP@n3?dRl^miqO^ zo-U3d6}PU0$9CUx5V4)iZ@{mYC(`sTLenE*e(L`NPQS%}N&n^M+Vp;s?w0)1PB&+j z3MNhYn#iqYTstds)k&YA(xu`l$1G-6?q$cIZkc)Zy}GmQQ>>)LW?2@6 z8Gh&3frP=1owgD!p=F5@Z4rBHPQ0IQS3mJ_g~^ojd$;j>WtuYZZdY|(rZH7apI_q6 zohIY9=k-5j?(eI=TYO6LaBabImI)hJ_U6gUyqvEr;I&Lx@SH?P;)7L}8-t4-G+CF5 z_??}&KlA^_M9-^J7>+cztPFl%X{TS}!o!>>k;T}-VRKgQv^&rdPi7wf$aOk{lOe+G z^!{f}!dgjTeGLh_H>9oZOj|wET7225zEgrfria{SUE5X9AjsOukT~1y)z@xYO}=Hq z6}j?$XEjUye0%Mi<~>g&-)#MjWw&3+2)JpszK#=B)g&hP zZprkEhI8a=WaVG|@%gXs(RXXcl(i4XFMlFQL_t(|+SFIkilZVkshnsUx z?j_;ljN^`GiOC_~X+Iu1V@!h(@A0N}?6Qy8O9D9LJ2;M~T@(c0l+LF?h!{pE0C~Q} z&>4e-kAE{R02l^QE-G0G(=fH8&KTnofK`7?BT$k-uvnvC4wu=Bn>(%`LMC%o1PtO;Fu)2PjBnh@38~OkHkDqc}F6Q#NHwi&0 z?FV4!jHSr5rPB6egW1zFIOj;y6mM_QnN!X=UVoz(C4iEZmY)ZG%z@N-1pHmhW_C8m3fD2|zq3S*cu{rfI7qLI{#1(E<<=c#k*TBM_}u^33=9 zJ+dqV0AyMA*IaNyMaG_{7b6UL8~G_L_s1zSf+)+;NeV) zqkr`Z-Xw%=+pUgIr<2T-JkTCaoM`j4OZQ##D{EJs9K7C0U+t k^<53v)tggt@Amxn043UwuDY?Jk^lez07*qoM6N<$f`uj~E&u=k diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/reinf_over0.png b/Resources/Textures/Structures/Walls/xeno.rsi/reinf_over0.png index bc67f6f320dc36990899cb1a2999dba8d1e9196f..62fd651b984425301bee9b80a19cb2db33a31198 100644 GIT binary patch delta 1122 zcmZ45$T+i!al=Mt0aINAb6sP@5JM9yLqjVQ)5!;!%`gNPv$HU%q@*Mo8JL-x>l#^_ z8S7f4nk4C3BpRmbnx!PAnk8Bqr==R0Zq{bI$3m3K$-3O881_syetWkba4!+xb-Ibef}&5iMj)mZ&|HfYL=Unb3Ntcq}qG`|BJtQylIK| zE^whe{dE_t$0E zeCB+AHU8`Vg0uVO?=Uf>ZJSz|cl^zxRsUJPH{ULJBAUnW=##;Y+x3;_&TK14nwLJW z{O0~Xoq6IliVQsM^-A-zf8~jJn*V%$k3Y|`L`d?!EQ9ammZ*SP`>NK?v)HH2ur_RV z_CDL$9M>Z?803})>G@2Hd&pqZ*B0}6_F4Z+CE`pDyKlBVwz{OZ;ckx|-?fyUU5N*x z*I%@?eSB^GXRQ?zXMNcnqP+D({fl|?TD!$R-na5nvithKlKHRz+nxyy9RhacR}6P2 zPWU`6`*xhc`~RBhj5?c?f4%;l=zHwLN_n|OuAB@J5#HwOW8?1{B={aHh+*%3YAkj- zJ>b>K$E+#Q4JUZlPZ3in{KAUH{aJ zxncHwdqxKBH4p4|>Yo%mnDldwjQp0UEQSZc@_nye%F?`SD_)zvYMVIWZ(!oiJwbT} zC%I;@x}2-^Ob%sqd?B|%cH_nszNOp(`#5g}TVIVAp8FuNVESs7Fe!#@e?Jwzj>sxn zqQY>mO16^cjBs&1L&D2Uo0O@7+q7P?-q5ShH{mmgKND#7knO>vJ?%!^<_x7y-=rC? z&wX#sptDWgiu1S;=XUXgiL%mveJ50goML)(_S7E1xZ`iam>I+_Zw{Q=I(3!8r;i*{ z{tDh;b9CPK>FO0ZO-3ejhL3f%a^@>0sS6z9zp*s_{Atf1zJ}PUpIUCctsj{~&PsAU zWM47IupUS)5%qo)`tTIvglk)0&YPzhuky2l#Z_bD^0FI}i>`RW>rUzYvdLBlD{Q)Ij_+V# zxL}dPa+^oc_wt3Ttq%jcj$agbn`YguuyE=rrb|JuRNCr2?%X~TEB@`ux-gju#{|7T znN3}M^66HF)V&Pr&*X4RWz7^jaA$3iiKX13OI7VhPh{+_f5NnfE9Eo8nv)S6x^Yqr zdtT<<;udbGxp#2)XXZQV?z7%GF-!=3t-Y#kg^K-x6R$Q3)HQf`UKW3@*ugPp2jh#c zcJ6ln&#&IR(Ea2KiK8aJCwT3#lAeD0-`8`A1;^hcW%X}b%e?Qy^yOP?>udkLXP9^6 UD@#@SV+IiLboFyt=akR{0Al;|IsgCw delta 1005 zcmbQ)#JIGPal=Mt0TW#V6I~C)-8<{1i=q4H_ zrsx_Nnk4I5nx~}cCR(N?8Jn1;8X6{2kLcXH~*RO*tqz7?TwS4W!7iP+tpqC#k9Y^w!9?n zyyKC1lU972=P2-~s;2w*$=HXby}^++0x?(anakbJ(fwCdlg-Xhe=27Cth3)ITN_Nz ztz6B(z;L`$j^*4B$9z!+h6lg@POcU6WMFXMxR?v%7XG>bqz>4B-ahaABaS^hp&c{Gbt^K7e!-&{sD{ykwv z4`y_mA8PQQzyI0!w`U_|4!-_cP+7=&&T^BE>%8YcqyN0x_4ChaW`$N4EC20&X_~A@ zs(9a3{{B8)%wLJwR4GK__|4tlk6yKZFW!{;{$73Nn$DPccO(PCa=f;dHq|qxc2C}6 z6lXj=(dg&p6)e}J7)}-LtiR`O<$rt8hO-O-_g?oH^E4-xGX%VRxh}=FEk{+7ZExKA z4>y&ZZ~I6$obJ}%a&rsggE{5W4LaVtc^fW$JCoX)KRMH#ap{{W_j5koI<3X_#!P#* z)*eTJTZ|2tzMKk5c#JcFi)URhJD}tb^)gT%j`eW>rz+z{rPzIWi7UlrB_0O zleBIviEOjze0zy8)Yz$gQEzE-k*}nK8P|(j!9s~l+ov&V-H9?+EAJ`zJ&pUup@v8q zNy+YfU54ZHtQB|4HV~iv>x2Gv+0ve)2A?l y1c4ThNtw3R8#aDEf0?UgS*7#M*SGF7GR$eb7!mL~{U0!uGI+ZBxvX(jOY6&H(Tr1zw&f(45_&F zChBhXZ36-O$W60NwqAbL%;zS?*66tXxb2t!^|ubkaV1|clt>kk5-MM7YkqXvV_VIw zvg+&9EvMzkOC<71zC3>SXSuvam(qiY{NnQ)gLm*1{Qax_=%#;#zx~`ZLhr-F;}_^y z%Jw8!%{+Ma{ruTe!#iF$&*MGk&0PQB?vvU_pE5uEcNbXCUGt};(m;GcHkXTX=hh-| z2abaaU5-~hi_&CRmf3jf5U+zn=4Qqnv+tWpGpts>#yagAQ_10m1K$%(WW=w@%P{zC z2w-qKY^d{=wWsaznf&K3ySvnyCEHAV+^P?I#OV3QuVl4YcY5po>$Yv~-v!yyo2NV1 z3)&X`to;=g;c&0jB`(5?Vbv6|hGonLWLc{3K0Xm`+n73Q_JYtScMD^ui28Kz+b(v2 z=>n4iKf@HZn5w4?9q}B(JhhwSJ=WVWG`?5=Q8jD%^OsZE8kR2iu4Yu^-9FD|?A=&+to| zZ5rd=D)&@Z;qIE69r0qf?!TND!o?tTLGJml1D{{bT)n;Q^XurXdJT@ZfBxB+`(e-i zgn3^Q3#?dVUptsEaTFwaPrSyu=W1|Tp1=>g7j1$6_cN@1v!wN6!Z8-^>ufDPqi0hgm|W2PHY|iBS3-zu+mO?{mhbPuKOZFFBo{ zlii~*g^9t}g-0Xkg^HA*+0&IO{0U+TN$0{n1R&U*+@ep0K0d`;AmX+U2B0?8}xg zDC9Bzu3P;vaA(w0rZY@0W~~xub~$nQuaLk4AMS+Yja%6g=5IK+DNkZ4kB=8W!)z}7 z)d!SnZ5Nz5t)0lYey!~lxrV6E4cC`l-};nst4>G9q-pFY&M{Z~W~w`PCF3-+*E7cd aYz(zR+n{72~7ZXB$|c* delta 788 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 diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/reinf_over3.png b/Resources/Textures/Structures/Walls/xeno.rsi/reinf_over3.png index 2cadcc167b951226f676612315bbffed5719326c..1bb8b234b0368b4b5d1ac4bc205c5265b337a700 100644 GIT binary patch delta 997 zcmbPNyS0&Vf(4VU>qe_`W&u-O19M$t!w^FgD?>9Y6Qjxdn9VQ*H#4%VVw@buDy*E6 zY-(tllA5e*U}}`4Yi43%p=)WFXs(-Llw@jbkz{F=WQqFq z>HXv?YyJ9Ho-U3d6}R3*-OavjAYdQ4X|~DM%g>tm+{D-#9k(C1{qn#5*5Np=bVfL_W!v$M60um)Gc0dN7e+e12o_4!(lFf3+Xo z^sn%@pL<5=eRz2M0v$`)o&>9z2hYBrKYMC;#|!6qyyv``>mS^GQv2vr=7<080_(YJ z{*+W2h%d)#}$+r+s58 zIoxpId!mVq_%(SM2A>T93~q-Fb>6b}v^_qP|NLclms+!An~9HG^?zOtaMR+l+nj+S)jQM~pOZDByC!%c|Q)kUy z5c=e9VeAx9pYDCz#V#;iU{c^`n8FrQ^^~C_o+SZwwmQqE z(6wl7o9p5Zf!N>~erdB!W87Qip6V*xT~o6oUhLNWm-9ln7=$j!J^yv!^Q)Pwx0ii> z9lcer!SVLbKO1vD?Af0%?@MBV6^ra^2NNcaf<*6$*I4&l4Nl7w_+j^=E%5(-hShJD zv|da&#v&cge}IKMGuAVoF_N>_=jOfogUJj_8NZy}XQVJij9Kb1OX&2VB!@i_O26Y5 zJZ1EK&bajHx*ql=rxSFtdlaTHG5EUhXav1bkrFg}x>AKdK};d(T)3y4z;*^n2MY`S z6?0iP{QGwn}bxp7J+YbG!eBRv? zcGP>nk!nc0oV192*%AhYJjUO3t3L+rjC#s+hUvwuRpQJpCl3D=5_sUloshh7D_g?+ z4d*uHNi5~@@#1Hg&85HkfKsjPf-|SJ6B*a9wY?(O5cRp?`m*a=pE7RM>FAg=js3(q p=8E4;b?2^RoM!fV#`vF&A=hf}UD3O>sSH5i>FUSovd$@?2>_SMpU?mR delta 825 zcmV-91IGNdfdQUo`Vq1g=J9iF(K&L+T26NK+W z*XeCMf5?vx0Lqf|?>ar0&L+@xdK-ZoXkb#v}*SvOlOlw2{tYtKpE9i`xnlDZ7DIGc6&#U0a6OE zPAxPblokUTvwsX?w^Cw2JQ zt-!H}Do>O;Krx_*Do>O;AkF|CKsdS%s2u|?EA2x8+eCD(`iS1srLT@MOb`F>?(j()nY{#Olbi?oO%KKmQ}}g@W+6C43L4u7Xxm; zf6LYX^6DC%<`Wo$v6TU3AF66G1@?a6+sQIB%~A>`wFf{|g_o6J(LNtg=HO8(6uy7G}lcrN-{OJNU}6aNj8|w$f`M6kZppBNt&reqPdBwu91Nm z&;nxLknF~i&P5>GgH%4L-VxFN7*7+CjVpQnw-m7LzIrmyj-UIXilDdilccl z9|zawdtBCrEH}T~9G@&}qgT%y?CIhdQgQ1|bYS*k2Z4XrVsoRiFR5v2wwQ!#$V{oW zdH3I5?)Y92uLlbzcsnmx>Y15*xoO?UxN~!)q#v&hGq+MmG}e1p*SGopnR7zdOBI#o z>+g38xU>AYX5VbtfYt^9ro$@^Ka(l{E_~&ymBwNQhIZ@hx$MpIE>9l%lzjPHf6sM6 zZRuCr!2gTWs#pJ(dH3LE4O_C-C6Tr%Pj}q({Pyc%PN{sV$l1qfw+@T4Cm8*dm02TzvKWlcb>bXR3{(_*d&W*Y)tY50dfxH7EYV!OZ&Tfxqi*h7#YuNCg zxW%;T8Kc)kod*4#H8u|S?F-C5R;=CDe%Vi4E7{p;Z3B&fd0*C$1EGKV(i3WK|WP*2drQ zm~rKVr4PU6eQ3D!qv3mnLuSo^YMTWjb`H~2H#}k#<*#2+(XfLx;?BJ}`WN^U_t~uf z`~JR|Jn#Bq?#|$q{2$u4yK)xU@i6><@_R40z=a~l2dWl-_Ag~>5ZL6E`v3egw|Or& zgfIxK<^LeG;1bh>(prayj6mK3%ilaoQR)?yKhN?$X9)3)e*41ZDaW5*M{lnVm^d+G zp2G~zAUEdl-K9eHH_mlke$OJx=iahv8LOK3^663x>x+~hMAYowQTS`_hK3!SqM3(6 zO(GZr7$@ine!BLtVB?i-xwZcf#O~R<&d8gue8Ljmh7hp;p!|kth7U7rlIO%(G5ir; z)UznjMCj#G_5<72IP4MV6Mpn1i1|V5@yj=zQ+E2!u`8ET(7N|-V}97}!!?HfYo^OJ zT=omkQ`6AWN`A_Az~p%mbAd$h3r)XCPgH(RYSz^GFx#5p?z`mIsmn>uQ=7;>_VK~}+^s4Uf2j3Wgz|+;wWt~$( F695M!*YyAZ delta 806 zcmV+>1KIq$g8{LAkT?Q6+p#)#1Cx&m7?a5ZE|ZT67_$!q0s@m>29T3B3MR7@2UY~L zBn|v91SpII1(PH`E`I{hNklVQdJF7OV!u@LHh^&{`M7> ztwi=^VV5P#vWb&ECCUW|)CA%$$X5P>LM2Z1ptT=y@Y zSIcHBfqV=QB7oJiDvjJq!~j*K?Fm*{qwmTBjRW8q9)F-^4A{p5w21-xcz_l$K$R5O z@_?2Hv^+rG1N& z4UY6(D*y-~Nh|x(n;NwMz%(trv%s6bEgWdl3V_ApL2CRZTHn%w_T$x^J0OFGy8LvpC!!ms%JfO@VT4R2o zeKptu(Dnl)<)iai>b(BFdlzlCuSsV~1Olf#10byjv;edKGz$PB0x7+60Hh6~jKbvyzKK%FCFcRtm zz!v|C#=lDu@3K0R450@~_c13jhEB07*qoM6N<$f|I3jDgXcg diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/reinf_over5.png b/Resources/Textures/Structures/Walls/xeno.rsi/reinf_over5.png index d82867b21d1c00e26ee7445e111b35b3c646ca4d..fcbf410d5207fd432a233e2af4d40d65f569df2f 100644 GIT binary patch delta 1120 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 diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/reinf_over6.png b/Resources/Textures/Structures/Walls/xeno.rsi/reinf_over6.png index 5abb5b72772586d89986dbc722b529eb5d6c2cd7..64ea9dbfe4db43143468a862e8ec555da90732d2 100644 GIT binary patch delta 1187 zcmX?Gb*_PNf(4UJ=|-z^W&u-O19M$t!w^FgD%6BpW2@8X1~c=q4GYrs^6Qn;00Un3@?TCL3&KWEEgkNl7*}G)+lO)-^CSO42nm z0jjh#Of=U`F-kHuwn(xx0-7+HkyUfDAln3$6cck(bF-u*-4uhQ6kP)olN8;=B-2FQ z)MP`WlvGno3nR0%%}3ehF-`u*$~E~3yESuhV%cOB4m+ZBPHy8c#qiJM(;Q8c`8c>F zk~0$X(o<9H^lkKuOI*uJte^s$Z8((;Swsyj{3a(`>D4m_d%8G=RNQ(K9hkk?LEzuD z*xab>OKO^$Ehga_GE=H;-u<_iJHA)M>%oEv-p&h_dS)hHZd&&-?%W(H>Bnos%&im> zjrHEu^=-a?=A6*=Qbnct`um*%?kqp9**9A@ptV7O>F|of&t%HK3t#zarLmZSq1`%r zE_<`Q%aeybC13v5-*a71Tl&>D@c-hp>eatx-aWWk!_l?uy#yxJg zj}3Pi1!}F&O*`FSVxyp~slz{G_OgKgx9WJ^&zha9dM?qMzaZ$VbE9qx>z8VAAn$;P znmoUUv)kj@q8y3b8aDhVZZU0o#^^Osr$K*bjg7;7`vUWi6>GP(U-lE%N;Wua8FQUA z{?pay|E51AIn;hVk5AY)qn^25yY1-h?2U61t}s|`PmC4|@$K&T_s{p9eP-t3gS!&< zc*odqbJzqVGA^IKJ>?m*#^Q;m!>6!%@HQNtyES|9Nll*Zj}_<1EpKH|D3w33v$yTy zi7Un451CU0SyjcSwefd6W?VU8>BFyi9~v(GX!u^?kXdt}+Gc@>ox?QM4UZT_`Ri9y zH0)rFxN~og{ssQTeKza=zP~Rf&%3^uyEAwt|A+SNuAD`7JPiMz{NBqgaG{9tfvUxy z{Y#k|1U7l4{y)FWZQjcbAq)a*`9BCPxWqJ}wASGvBapYi@;8rClzK(w&$GPG8A5!c z-@b5p%JJvd(c7y7CQi(l=P-ja$c;ICcd1bQjdNX>-?NDFxwouZ#;PX1e7Y3F`Xc2A z5jDGa6#kmKp5qi0l{lK<04toUpgdcqgVt&wi{PIobl%2kF?8@a7 zwC=szm>+igaE+n=n(1;4m;J)?)HJlTlAp32FnM0YTp&^WLep>36P2Hnnl*Jk%(iB@ z`);|z?=qV+Z*p6|D;|D6jr$|#oUiAE@6La+VJmk!FH4}JtA(BZCCiw+`62&!7>+g{ Vy{h~B!8ZmV@O1TaS?83{1OV>D?sotH delta 798 zcmV+(1L6G6fC0^VkT?Q5A+b7l0}wPVFf=VPIaD$-Ix#akG&7UI12zyeEig1KGC5Q- zGCDCcIy5u02LvMllXnH@ldA@hll%xKlOG5Mvu6jE0<*UZ{4fMFVr0*gw>&O?0;Wks zK~#9!?3>+=n=lZCkFlL9fsnANdR=kbegF5U)ZVmG)E7wDC1JB!Y}_kQ_zOuP1!F8B zgeD05G0dD96QYztpX00lO&!7juDgL{5fDOP+YUbBGxqx(?70ofC;&hTSvr5a{XyDX zpJAZGA~bg_g~ajg2ui!X<-r1fC=SXfR_>~M&@g-q-UD7<1FTn`xd0gFczF%LIPd)Z z*8+fuW2{$RmI;iD0gs%#R#~7<2N(lj(g9=E0ZZ3I815hw`QNWS2oE@f0hX=@YEd(F zz|!?H2(0jq8=(WPd4Lf*AoYN%7%+Gp;QP<&nvUnQ8J?atnDI}Dq9c@lQjm$vp8B8d zPtqs+)&NfD_j1mb0wRvVI4{-qmy;hwHR#xOt#C;_AeYZAnhScpH(nkoT&mL7&^(|u z04Zc?y9&mlaNP|KVK9zYpcn(B6mS;KLnF5qF+i6w^#mVTqgQ2t(E+$c2N)Rx>U4lH zF`!Nd7!d<>Nr96Nm~_B@qyyS}KrF;n`+UAY^meRlf{X${TG?Ihjq-rv#Ah`1h~xWb%Lszyx4i0HhSH?AigioDgLc&ceCNt~~$| z$GLi;SSK{ud#wiBju04Qs^_b6Qh)&VncI^Rt-hBDza}y=?2f!HX_4a!Q z5Jks+A3)y#?x{sVWFkQ=n%iri29reHyro~1U+%T{fH1thtzKM*>|%wvcL4WJBK>_= c%jmSSR{o0yhpq?=@zYG7`XYHVU?x%n>Ze5T2#ShyztWwT~3PAr>j%Wg-E z#>w;8F|D2aguQ8U96OgpazJ;LXQ(6`zrWj~lS8fU zS6`v2uW-_vw||whYVVirH!Ii~`?1Q3k>S|y9Tx9y^Dz|I)rT3L&o9^zn|D3-dS|i2 z{WAM~1`IssSg)Ube*6Y^PqcEX^5fbwR`E9V%ztKlJA6Q1{BT3aMjy5eTgH`1H|Owa z9An(a_hG8MWP&TZ%u%+Dd^fszlVk->vCZW6uw<;g?VJ7S`~G9i#aE?XN=wN?LL&lbD=1F#v-ddKQ=9VwLwIgS*XP!r1t;K z|J-TYFYNlwdd*5lJo$))!V>9iXVjTZ<}rNZW=XmgvfufDO?ZUV>`RP0RkzNnYmDg& zxU4_H+ivwsX_M0ouNbs>IF43q9-VvRrKuDmdm|Z7=Xaj)z4*}Q$iB} D;fn>q delta 546 zcmV+-0^R+kdiHjZI0893u{w7H5Hu|?G%YeYR5CI;F*G_cGn2ssHV`x|Ff=VPIaD$- zIx#dlF*CCV1hWB?dj}?yo(2Z9<^`4lvo;F+Fa%s586cB3J1>8>Nkl-O_K_50d$-yaIm0xY@e^6ts5fO~S0vlz+%>0X`<1Gc6C zm$Zn&0M4NdPzDIE=UFgdH0JxHW)bB-?>-vCh8@8eP*#5>%BoZbNMl7b2DtY9#WO&v zUr-;Q3?SMMkm46eYJpo~B<};10qO%X_5oWNpguqukO2dz?)0#&1-6{ssSn730aEq~ z$rvDIuh3h7<&MwV|Nh$Pu=;>hRsevats8v2zdbbg(fb9-^b4%{hFJRx-U9UfA;?5r zzJaQ?PzFwLnTYlaIC46xegV5ypsXF(Gl1Gsi|H4j5<*PB0F`|f(>Itc1JnoP!T?u} kC(D4X=L*^{5IDXD0C>oJBC&b*Pyhe`07*qoM6N<$f@ogyY5)KL diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/rgeneric.png b/Resources/Textures/Structures/Walls/xeno.rsi/rgeneric.png index dfce6981eb2105efe85235d910328009b88fdda1..40a317c7cd56078040e68e294321d568a26fa24b 100644 GIT binary patch delta 760 zcmZ2l{i1Gy1(VIXjaKE%{HD4F=DNm)A%-SaM&?!qlMgVPql;~3W7)!}Y;I;|VxDMZ zqHAhsk)~^DVPdXpVPs;cYiyEeZk%YGY+#nQ`7UcD%j6o4HWeZi8&00jZi-=57Uu~= zmIs%E7ELy@)~`45ba4!+xOF5vJ9~+N$lfd;Yh$1ESIv4lmlqm{{Mz~d|9qY)D|Oy1 zNQ)~GH!=JhFey--|L)eetpXR1#Q2}Hyl2txe_m#v;e;JGCZDmYkaO7(vnFBknyt0d zzju_MWcjAjeEY#UtCw{j6Jlz1Ml>?VEoUi9;r^_^^!($?ncXZl_16vk7KySxQOeHe z4lA5_;AqD2i|P-n>z3aWnNw`a{>pIfy&A5Ee#;lnYk8}oDO*w~ueg~jk>rJ}8dK)FB(^LMM2xRNdQ z$@V7SS!ZB$>fGiAGZKD&>aPTrZibGL>5ADnCfp=?wpW>R9+ip?m-S1=?L! z+~9fbIg1Ym$F|wu?y&6SZ1mmq?*>z0b6Cj9Ckr{2I~_RHxQ;7utB(Kw`OI4N+pf<% zr_p@)yz=wiT<>G%YeYR5CI;Gc`IhlfVNv4>T<>G%YeYR5CI; zGc`IhvjzmT0h0m=CbQrLRs^%~3;Zwy!+8>^lkhw*e=A8uK~#9!#8=sFqc9Y`U^`1g zSk$T#kw&Pm{r?||Dg~*U2uw)Q3fs(+2@r2|XnQ5g#CSP5oO5k^*~@DSzZh6PoT|dw zc^f9MOEWm+du{D9kDRLmaH!e^DP=(XNei22mIpbIC5vpapSbKxQ&k z5-Di`obj$G!66LmZ2>a8dh|7&BnifU84PrKE*b1GvwC$pwA2_m$2W ze~0=~55&hg1J*Qv37MAxsrIqb`z}~7R}ee|5Jw5HrulytObLY1pr}%{l7UlIK%T!@ z8IX1}S&ddyn=d2-dH&WN-SCuusIyxiQ1B2yeW{(T>Ca)U{f9|JHxw|~dQL~BDKT4Ryf(p1~# s5TaEd$*SsTztw=4{c`I4_VxVV0K`?P3S@e}V*mgE07*qoM6N<$f&x=5!~g&Q diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/solid0.png b/Resources/Textures/Structures/Walls/xeno.rsi/solid0.png index c0f433f215f70e65a275ca33fcc19ccb5765302e..26fde39dde2d3a8fb9a2ba4b0d519ac9a2839f8e 100644 GIT binary patch delta 928 zcmdm4e!Y5v1(VhCjaKE%0;akK=DNm)A%-Sa1_oA!#*+^+n_&oUW@kxbR7p%uvotU_ zx6n1Uur$y$O*2W+O*A%0(@ixuOf)o4v`9`dPTo9`bsp2?Q!HGQH?UbV7bliY{=jBO zl+MXP?4}qNPoB=+H2D@Amqc<#VqSV`ik-fVesPIwS&0=?U^54YvLVY#s}nkt^)2=5 zS9!WPhE&{o6Lm1_v4McB>NaPOI~8{W*bi+w?sWd|fBhSu56Mke6__4U`g&T>>AtEL zr1+&I}iC(+**cbc~wS4-U zR4WDid;|`A?%P>uzO!^?y=Ir4q?O5O>nw(r6}Os`&%K+=cwp%SdsW9b96xsdI;?j2 z=E3*h&;5{eDEjwaR8xB8l}CpenU6^v`6$`3tF3gOmBs{*^pkzt=dEwh4Zg~@`I1E` zYsl7*UTWoDP1UD#EoaW@OL(chbw_VewN~>L^A%nTw=>Lmr~PFezsCL(@@7^po+)1$ zw^enhd}TD-ef-H6#%<5pmV9BX_35d)%&y^m$x`KI%x(XCh6G-V-%?Zd@iF|^tr$?S TcBvvTMKE}}`njxgN@xNAITnky delta 691 zcmV;k0!;nad%1UzI088Bu{w7H5Hu|?G%YeYR53X^Gc!6hFq6RpHV`x|Ff=VPIaDz@ zIx{mmH88UW1ZDw~E(a!)?ga+3nFW>tv*`)^Fa(C~Qbm*LIxl}lNklOnl~-|t-yUX5o$Ll{g0dtsis4A3ZBJ6>0s?6i#aeQ3Y$S10m3 zN1Y*rsP+8K?Om-2e7wKant%k8u}T(ad9UPRd=$n00??z=5q<+Op()M-0Dv&;`waj9 zh{$gM05DfGzX5*$z&M^9K?%A&WZTWry-LCh2ZofgxW@6MFkVXO2Y^FO2)aEZ#ybU| zY_ODpx!8ld;d3+vP|Sg+VkrDW9J{Jn;iSL|Cqtd&*3dA=_?>fW?2ruwlG04UjTGcy(PVlx;fu zv#J5*h)qXr+=p=yR14KuCdURq*)I{me5zJ6=A zK-Ip!t_XiQ51>j)g6j6gA!%O20n+TLDB_VYtcOy)yt@TJjeWJPhSId@rC+ zi+4H#LI{LmA4G(?n*Dh|;`QaZ9p4L_;%!WN8mC{jfc7?C9h19=;1BNBt7CGu-R&h8 z;66d^3cUqjyRN_*KogZDwg8%{A+iL}Wc8RGfTsHftN@&&W5fc$AR1LZXV97zaIQw_ Z_W)Q#@1I2!e5e2b002ovPDHLkV1m`{E|LHM diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/solid1.png b/Resources/Textures/Structures/Walls/xeno.rsi/solid1.png index f8a199e6c7e5105749dc69385a1834ec932a0eed..9aa5ad8aa13a1ac2c30667093c5d85be76ac9226 100644 GIT binary patch delta 753 zcmdm0H?3~NMrHw1T?2DnW5WY5msB1&Bw3mmn;51TBpM}dp2&KSg(#JiZ*rJoSTtFV^YrG$+&@)k{3Zi|e`O)-f@23-EVvS%o%3$I z|LK1A-fi`av6qXkpP8F}F!tA}KbM#_PAeZfaE3MfY5rHy4R1CUeE4^Zz5Lf7W9^d1 z*Z;N8U<_rvDp{b;xFwUrp_JiK(2Y%z8}2j8T1Q^m_59xbH78#hf8YE4-eVpI295>R z43kvEK6$f0uu+J;%*8#YUTgmshDRD_UVinS8~1d&6hr*Hx=L=3OIr#;f66bC7jS=g z_Sp&D{V$SMl`<^y?M&D|S=wRxz2{*JEC<7K85UJ{Ut+e9VPzCJ$+)J*KV#45C#QH1 zEDS#So6-E0#rofST4hib+QV+!MDoe!O7ZP+nHgCE#Zi zakGx${?W=GG6CBbO!Sn!HjjCd3frrIOa+r^%qfO<#50uGV_q>VEn;}ZaD{ONa{&7S zJ_p$a6Zjtd{(b$-rsGG0JkMD*1CQMMV7Y1fnl!a`VYrmlzICv{=xp9 z`C_YoADCjoP~v-9cIsi71*do(R60a5)Oe)dl$g;gGvkd-gB8D<_e|zlJaMbE0}$cBg+s&ODh92D< z=~||l80lIVCZ*~cCM72tn^>l#nOUZ8p2&KSg(#JiZ*thN!z`8KJiU1__a6h6wgt9V zCoi_quMhTgaSW-r^(OkD-ysKqxoe|W>E<@8O60!^egALD$5;Iyh3`DgvXQ3$RSQ#}FZQS(@RP3HyQ1w~GEVWQpw9w^McP`6J6W)Ze&x?sa=V^VY=&Zr}EJ zAHG2PE7#}i7rAffvR^t{bM~9~?`tYL(hTP+AHH(iyR>-qHly927#J87k`nW_&uJ7*-{uLrFccX zw>X}~?C@0JX?&y3Wtj$xWmC7tUJsRKuz&GlFSE_|y@4u>40GnWUDzb+F-fzYLs8*0 z%aM;9e-;E+$Nc}V@xf60EHBXOl?{%Tzp`u?7Rvvbr0}qaJtLC;gnuF5JmynVVkU3e zTmPKlh=`MY2wThE!Uiqp-?JXXStNwAXB=frwQ}(0Gq5`Ff?+Xp58sOHoL8<((k9<} z&7ih>S$ScpuG&Xy7Dtw8M;i>;=3S4=aho{*Z9!_y;+o|z%u=l9^Bp`ED%#?B&|H>Q?hbMmKf|*@Th?5JN_Q i{fTVK?`w?l%naYE!}i#zbejMpi^0>?&t;ucLK6TQ2u!^I diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/solid2.png b/Resources/Textures/Structures/Walls/xeno.rsi/solid2.png index c0f433f215f70e65a275ca33fcc19ccb5765302e..c65fb281e0a3f14c6fc29cfa432d0c1bd27c07fe 100644 GIT binary patch delta 928 zcmdm4e!Y5v1(VhCjaKE%0;akK=DNm)A%-Sa2F6wfCX){`n_&oUW@kxbR53PAGcZiC zFw-?QNHNwmGB8QhO*A$)&`nIWuuM)iNHa)FP2N0_bsp2?Q!HGQH?UbV7bliY{=jBO zl+MXP?4}qNPoB=+H2D@Amqc<#VqSV`ik-fVesPIwS&0=?U^54YvLVaa=G3ss`j-0j zt2|vCLn>~)i8`3|*g!y5b(^!tor=2w?1wfTcRK&~zy6KShvcTK3QP|veLXGcbYInr zQ%iD##IjZT7x6q1F_{?WX6$d=@2Tl{TyOn4$IDyHKK#D!zihMJg}b!}&7)pVF6n!; z+?-+G(wWch-*-4@eygsEIl@mzcD*U2ZZ%*fYfU|?`rym2G1-lnJO0gEn5teXDZ|9y)SThGn9);Iu|->;Z6cd+)<0{mfV%TrIe;b!l-{lLP;;Ct)_W}XQSkpg z0#of764Y$!)z>$iJiOTD!1t&8l`rzNlos;^PUBZt+LEUIu;U|&`?vH{8rVSt>NyjIcl08ntrn$$XmqS%&_Tat389pwEAxoH|;9oWje!Ap!j+* z^8=@4=3EV)vtF?vP78ZS$B5j(_%heI?*ZCBq7tCmGU8Pm~wDj`^Rl z&f)sby4!+9vJHC1wO&&X@3L!<%HObxf58c~p~M6X?Y>!9ag)1 z^WgjM=YB{!6#aWIswutl%A>=K%*P~-e3b0i)mFOCN@IdY`pLfS^VT=$247{{e95Ae zHDv2YFST;7rs`9=mNVz{CA`$$x}&$KTC4er`3kRv+ZkrO)BduKUt|9Xc{3{)&y=r> z+p0QLzA~EaKK|qjcH!_!xfdRtzXu TyHpXFA{abf{an^LB{Ts5Bvp&M delta 691 zcmV;k0!;nad%1UzI088Bu{w7H5Hu|?G%YeYR53X^Gc!6hFq6RpHV`x|Ff=VPIaDz@ zIx{mmH88UW1ZDw~E(a!)?ga+3nFW>tv*`)^Fa(C~Qbm*LIxl}lNklOnl~-|t-yUX5o$Ll{g0dtsis4A3ZBJ6>0s?6i#aeQ3Y$S10m3 zN1Y*rsP+8K?Om-2e7wKant%k8u}T(ad9UPRd=$n00??z=5q<+Op()M-0Dv&;`waj9 zh{$gM05DfGzX5*$z&M^9K?%A&WZTWry-LCh2ZofgxW@6MFkVXO2Y^FO2)aEZ#ybU| zY_ODpx!8ld;d3+vP|Sg+VkrDW9J{Jn;iSL|Cqtd&*3dA=_?>fW?2ruwlG04UjTGcy(PVlx;fu zv#J5*h)qXr+=p=yR14KuCdURq*)I{me5zJ6=A zK-Ip!t_XiQ51>j)g6j6gA!%O20n+TLDB_VYtcOy)yt@TJjeWJPhSId@rC+ zi+4H#LI{LmA4G(?n*Dh|;`QaZ9p4L_;%!WN8mC{jfc7?C9h19=;1BNBt7CGu-R&h8 z;66d^3cUqjyRN_*KogZDwg8%{A+iL}Wc8RGfTsHftN@&&W5fc$AR1LZXV97zaIQw_ Z_W)Q#@1I2!e5e2b002ovPDHLkV1m`{E|LHM diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/solid3.png b/Resources/Textures/Structures/Walls/xeno.rsi/solid3.png index 183ee85ff3a67b235b6fa25c597ca890c0465fed..3c930e37444417b87f160054fd7be16ee01a608a 100644 GIT binary patch delta 748 zcmexZbGBx~MrHw1T?2DnW5Wxn49XF z8Jd{sCMKC0=_Z*cB_*a=q@-9TC2l^!a*u^5m6HWHOfl@)%+Gb)kj3s=H~-{Y*827O zo-U3d6}R5Z&dqN!5IDY`OM*$OEN#XQ#%XW9?)$HPVe11H)qvyKI{JOXLj%mVd1`F5SV)$jd z$c({Bgxx@v?wu>)sV!=L7V72WV=W5I`ix7f>n{V~=qd3^m}`wYfV z#;cMA>Wo`5IUGtE9tGXl6uIF(qpWr0rCrbO-CuL^rSbQ@-|s!4DYWy?ye139@_rSv7qrVx= zUsE-y{edWM8G|9TjR$I#tr3V^;`meMiDpb815gf z{2>#tZNWrO*=zHdC#kT#3dmG2nZ}%Act<=#i9O~O!_p##R}5DeS1<>#FW_^KT`+;~ z!SCPK&ult=G|2OumE)TO*Zv8qU1_cBXHaBmI~*A1danO)>_wTk|KcC)@0l;Q`uBk; zCJZIMr)8%emRWF$=Ru`IBtwly`b~)$y)rZ2*fd!2yLr!Kp2ZWlN-N-MwS#Pf6+z;O#y|9e$ha7`uz4e<{vJaO7Bay+=)z4*}Q$iB}W7I^h delta 773 zcmX?G^RZ^bMrHvMT>}$cBg+s&3o9dYD`WG?2bs+<1=(5Vsu-J^nHm~e8tbMc8m8$Q znVTf)TACUd>Y5oCC#NN+8k?G!n{GbAa*u^5m6HWH99Y3NZszAYZpdO@&~R?@Eo=Sy zU{4pvkcwMxq7V8VauAriHhPtAZnLUH{;SaU|E7F=)&EiW&eJR#>5BmxY*uBqGlaOO zas}Vf+dccshM78VZMNm#JL5M~fJtNV{r8iv-M?!;LGHoN%o7@~Ej{EW|A>9{cPX;~ z%fx#O5n`968IGB-ANYK$=s!c2$c}wGRo9+BvV24Rjf>}AxA!w|U3}p7ZIAci3#7kt zeZGE?`-U$2rK2@xzls08rlKRwaIW&m{vrsB}DrHl?P z68^`ucOUw<`L9Bm!&K)|t2-VHOSA%+8yFjGTs|2J&nZ4=DQPSJZop<5|oO zPX(UFH|kuLX|Px}b!+VPP-zDH7ccfQ+ic$(sKUrFXP(=IO|l-7H0wDO6;87p`N;8S zL2z}<|Nj~v47Jbl0=-_@;Ar_P%Z6d0{GUk*4~y6{BKc4F7xK+xJ~bs~@}|A@&l!%0 zIN67=wd^fy&~pAg>p`4FLMVI2QN~m&2X8(Ds{=0>7Blzot;o)K<+>zo@~zhlYP*+} z7nbU(eY9qAWSMrf!H{j<^|&0jiSyqUq}D91S^mN-#d=;(cK(bYHimPSE^~kF*EQJb za9Q5qIb$y43IA#PZzt#eWmvJH@SYpMrHw1T?2DnW5W3J=Bvw?EqfyYPZEx$R_+?YGq%hBDg{^zQ#b{tNjPrmQ)3i46s=`nP< z$l5X`BBl7wlI;Z+>5{MY{f_}BaLk6rsRmWNC4F<<#s?;9^1q@-VD(bpZ!)vo%e zps(cH%O~gOCOo-R&7bk;Kn7!ht$cS5-}TS_`~I(GSa5Gm^vr}3!vjk`hNU)6uQ-sw zpdja9(@??ik>L^J5$38Ltcw&v*1x?Ut9MoDt|`K>Qe=V1 zr__%zS<_dqy6^bmhJ3xqBDcMfhriZbnf-OcW``ol{T?w={4X|3bTjfjce@;(Z}ULH z-du7^l{|CHiit-$O%;GL+c>T=sb!Z)Z-Uy|!7jiLa>j$llf?JOUuAdf*c2sKBd5MO zks;v8_o&y8Uth^%SSMu5JmsyN!Q70w0Y7iEZI)y>_JyIL{w;&c#nw21zt-JLl7WNX!E9%WFrBoO=8ZLioC<@(}JmuTk?|}lVib8G6r?pI} zIB(0~Cg;E)z;Kw!p`#+o`+t1%gH=(7zW$jk`KF*x#qZwI?e~~po!u3x|K>U;*!WYA zUCr7je0uQe(rYg3@72v0a(M3l{Z)DIJ6rAy25Hs<%RDzoYQ@;~Ni!_HvV-x4U9U_- kyN$FtL#mdKI;Vst0R7ceoB#j- delta 749 zcmbPS|EzAqMrHvMT>}$cBg+s&3oB!DD^v5y2bs+<1UIv@Y-UukNHjE0Of)jmHLx(V z)J-)rvCvISHA>SpOfxn!N=ZvGOiD4@e2?`W3sEX3Kj1Q*9L>qi3b8hu^YrEq+&!F z=FXh_y|y9ivV0U)7M5SP*8Z8`cH+(PH)m!`3V3P0h$)vB&zfzg%#&O(uR(xm@=4w< zqvKU`6U5Ftx-c+kroR5$f8VZK@4ULiE}O!uJEjLEZNA%ZVt@UM;vUuuzZST3EdTh_ z@$kpgJ?v{Hsiu9r6U*=~qbGDzi@j9*pFh!z3v@oYsTJt4ec4&Ldeebys{@h@YnUV0 zH}ECM9}oX56N;j`i1?i@7J5{=2eUNFrO!Ew{n5e$JNo_y|RKS#cWea`I(p3={Qlv39mSl`4+5_VV|(9^EN|C|H*n@hN-d!J^mj)WHA7Nr>mdKI;Vst05(}dRsaA1 diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/solid5.png b/Resources/Textures/Structures/Walls/xeno.rsi/solid5.png index 7f1139ebb968f86a6dba3061ecc51bfb1db392a9..72a0dcfd93a6b0a2f13f4598629670504ae95999 100644 GIT binary patch delta 1051 zcmZ45z__o0al=Mt0aINAb6sP@5JM9y19K}wgUJV(%`gNvv$Lc#DjS%krX`vf>zXH< znCY5Ym?Y{Zrkb1SrkNR9Bpas~nI)PhZ=T3{pM@BOlW%gEVpua-j`Q^9#oT`kSUe4u zn@wJ9qhBBH>EaktaqCI+-@Zi#0`s+wN+gsrZQS?esirTX~kmsp-`fJ;F2m1Qc2n zy5t(BsJ^+RyJj+P!g*o4|9@|XUwQt&`od(s<;wFn7F>M!v;L3!t)H;LPS2ut9F3p}`<>+=lUxuOO7UP1lge?p%7oA_%)|<7*?qaPs3t#s?jKSg5 zrmuB{mfWff&RSbAH=Kz*b!Wk6h7GH|kIr4U$M4x%hKAIFxj9md0-D|@KIP0YYcPsn zKQ#ZW^qJ$QBTnyDH#3-D|MceC5CiSrjr=!0?`Z$b@IhkVYKIq#g%)#}JZD%SB+UBI zBB#Npe{Felpg>srWx+>BKWQy`Z+Skh_{;y#&&pGuFEXhq;Ix?2=itG(E-0UKf%Z!+ z-v{SbZfE(h$#SOGjU`5>vYT2&dN*u6XYkD?H*xJ&vjscm@3JKRiG@WBDW92lachRHaJc=4A=*E{ z)-vyITjw^fNhd6{0Y7;aQDZp%0LRonbEk}+=i2_R$9 z&cEyCCKmlmdKI;Vst0H%l9 A(f|Me delta 1014 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 diff --git a/Resources/Textures/Structures/Walls/xeno.rsi/solid7.png b/Resources/Textures/Structures/Walls/xeno.rsi/solid7.png index db071a86bbfa92a4402640752c776101a298e23a..e5552dbf2ca00b304329aba1faf8423a41deaa2f 100644 GIT binary patch delta 613 zcmbPMJFRxZMrHw1T?2DnW5WZV$l80%V^o2Tif7#LcZC0iIJ8JneSp2&KSg(#JiZ*rJoSTtFV^YrG$+^LP2p zVZOEN=hxQGj$I4Wub+K>{D!ckxq7Pd^};h&@ixqVW_&w*pk7}5a6`yO9<~fy#+6Ao z=kRG9W8BC0VXC}Df-C!*qih@bZglY`$sR~;KEb+VPQ$jmWu`xW*FVmCvD);~bm{lc z8lu-cyS3nl@CG$8RcmIR3+tX9HBd0&S<-S;jc39cb^`{UfO+S;6CBLH*iW4`JNRAZ z_q-R+y*BW$$;?^YT%6EQZx)twjN#qAcw1(B z1E0YfW+zDoSq3(V1c!C?RY#sNDQ>lX!NARPp(uPtFJsg@uHcY%@%U-0`MeDc6dXBR zu6~#QyFa0fd+qM{gtdo@4BdK|E$#{!$@5&OV7j1x;K-Jhb&ZwlHkg<#wP7yu&NBVW zv{Po`vUr8*HDQ;{Go~?KU<{KuaI|70564>V1@Q_SYxx<9ie`B(nec290}yz+`njxg HN@xNARap5e delta 604 zcmbPMJFRxZMrHvMT>}$cBg+sYLn{+wD^rWf2bs+<1UIv@q%o?PS(+H98JigEni?gi z=^7-Pr06DEm>KG(8JJik8<<-rr5c-Up2&KSg(#JiZ*thN!z`8KJiU1__a6fmk%)CS zCoi_Ksy}4F)ArwQ=a#ECnh(tVZvW;$?&JrKx43q=yz-mt=EkX7n5F)0ZIJS!{U49N zS6O$g@W`x)w|N->_u7e)f!; z*}?qFy~6tY{GH|^a&4zw)@)t!esg-m?8|vlJI>!UPzcl0u4i7dt|4M)%pCp`ZVcDi zcbxN=4CvyI=;qB~^*GA5jp@fK$F;0G)-=4$v$qT0f8MtJ+UM2W22WR=-<`gjY2HcK zb4eP^OR6i)cp_%8#avS2WVUEGa*$NmGcWyML*9#e|17mYxytW(FK%v7mSXNPG&lxS zzEMe%x#su3N0JIx_3Kyg2e1jeW%u~Vt+Mrit>LEcjHejBGP3?|SjrP1zko-hfia}K z>c%xD?{n|2uunO_pjq9T!ZTr0xP;DulH=*`>g(T?MASOyX)`!ny~ew5zg@i4pI3jI za(=Nst8rfSw>5#$@3`}n&L1_*p}7lr9vBI}760(0B=9d&-dcx9>ka8P3|p6qUDkI{ zZJANWsP$WCS^kCywiWyut&IC*&QD|XJ}2beXTqvZ{!h~EXTpV`4syu78PQ&PJYK_ zDqyN>fZ~?TZ+Q+IvMhZs5Hfj-on5{ElD>cg4R=&NTu}Z0zwn((qn&)bD;r;1#-}6J z6DQr-x39k^xBq_T#P@r@W}d%Z{croXzmK%fU;lk##y`#9{j3hZJMPU)=TP}{{K>AW zU(wh0$RIOYST-p}-K+jXM&jJ>8$w zbf`Y@&tkm^v%2~U-ZCX*&X(lRbbP1F8&Q{ipMRs6t)roy?$K(7WgMHuKJNVXmt~jA zq5m_Mv9F%SSRM06J8>dMHE?b#lwaIDf3$Y_1@v?Co3Z^|;2R<;Z`Wx}-i@~9mio}mzXRf*R zTrxPcdqHU4HSQpWMW1b&BCeagmU_o%k;%}k)FGG>!kGDSRl|8>-UnAW*%`vrxEbt> zBp7PuO=Wx$`^up7^~R*ohl@oWd|mR}MH)O-3Np-5PM(&+@Q0T{eS5$2yri4e3_#%N L>gTe~DWM4f(9!;( delta 610 zcmbQ=$T+`|af1abuc@w~afqS0m7%4Tsqti2R!dZo&E2fu8Ff?5%?wNpl9F^S4HC_C zlg&*GbdypnEOZSLjgyiLQjHAF%q?y7D{>2beXTqvZ{!h~EXTpV`4syu78PQ&PJYK_ zDqyN>fZ~?TZ+Q+IvaHM#3Yfgb&aU2mNngN$3A0(`te*V0KR;LH!t=+gPaHTX;5)BE zJ!sPH>)$7CeEZQ__tW0(c5i=Ho&SGrUwqBepH=dbm+e#kZ)C`jzi9oLr_tr#jF@o$ z`qQ_*AKuJ0;p6!ms_S0Xx2;e4k)B{8aQ5fkuan$TSRDUN+va=OL8)t%nwa^SO@G3D z0xar#>aVZ{1z!|g7t5fNYs{>udSdTV#?$$4e=A;Fq^@yn>Cy`R10spnlYtd3Xt%jNR@ zJa_rmEj%tN*MgK!nTYzjhpiC0+ce|V>ciZOOWFciCE^^m%6rd~bDJTcuM^jK^HxWo zlv{=PmQ!b|9Jw4y=D7>JzLgex*p@+^Hz9zyEG=}ClFZX| zQ`1b$bQ6;;4Ry^-EzFY>lg&)i3=KC&vfpDNO6BB*To!1yEZ{k8$f7#u^xw(pcKY=i zo-U3d6}OgzNBbQy;E`G2wIWPw_Z?=v1Ao^aUM!^5dE{}j>Cr-&&72d%Zf!ehvNiq9 z$*YGSU;aK#*r|u1!FkTdd1fyr1|Rxc)c*V{@AuQP3=b-6nHwI>D(+BkKXOhpkxy`P z4F`k%Yi+;N8zWA*)+{uCB9m0)@n((?!=Jndsr9w23@sAh|H~|Y8sTz4dQNdiacgp- zf3)9kXUmIT$G@Ka`R`ZZKJ(UqnA4U=E=qt*Jk5DoMrqreRRt#}6kd;?|NN}p_RVJ- z=X|#;TI;v+B;!mr*-Zk!WjiFq2AO>cYQJiXC{2e@WVNziBC z;g@`3ikQp>CpSsM6kC}GR-Frv%OuTYk}Zl9thPL0`sr!d#@*B6Pn*1$W7uLVlkxCH zi1^+Gp*tfut1T`ZnmBdqP3|bm*AE-i4?E9!9d}_>eZ!{Ny+0U}wp5*a@-^$`S+~Cp zs?N(6ykgx|pUnxB=v=thF_gW;_|n4HPaD?N9C@au<$ojSpojhjgO0O6hg|r3yZGqz zf(1*LER+8ba)9?sLBnesQ4yIBAqIyS*GmSnPF4RBV(^I5w5{|-A-|eYiE^n!@(gz2 zlZ|1Hzxw4rIO;?mWnACZ|BLbbq?zf?{;bM%2Z9=_&AxK>#supelye0XBvKL#N1boFyt=akR{0D?L^c>n+a delta 745 zcmccI$auGraf1abuc@w~afqS0m64&9fyrc7R!dZo&E2f47*$ftQ&SC1P0e*pP0|c> zjnhmlbuCkpQ+1OKjZF+JQ&Y^$Op-T8vfpDNO6BB*To!1yEZ{k8$l}#h;XXOtPQTvB z)5S5Q;?|Pzw|R#Qcx<)_E%1>2AaR@d&ENQrey`|u^<#Ak<$aHL_=<6MPWut{#`^cB zirVV^{3Wg&j0_uMxBvL@t0m5*#rbzquJ)uJ398_+-)zmlofMg%j88hwaYiV z_`z?ZcM~`6TB63DB3W|Ei9=zL65ol4)k~6(ePRB7mrt?9Fm#j2AOGbR3of6n=*cZ= z$bPqS!4&5Dd0Y%fWM(XG65=}(=y-(Dn|0o?=U*7P-B&3*JWzJmO@8jNAU+SC-q{5Q zyk<^G&}6spOFl8lO=d&TF{4LQrWQ0jR%wfyy`jr{L9m{65>VRB?oL)&@71qccr060 zH!HL+_7*zZ6!ZL%U&NtCnZ7q`ZbnX69m&aVBbj$S*NVHSUN*pQvy}Y-iJdbqS8R?d zT6B#+!sv;R%4Uc2`ML|G>=g{Rn0x$ckaM#tT`F^7ZvV!gszUxVf*sH5Y%q|R?JZRZ zRCiwV{6hyn&q(_RD;we$v@pv&U#ak@VR@4jU&Y~$&`dgQAo~ZAM&FqCGc)A4b%kfCb2u>ofv2mV%Q~loCIDbjI5hwO diff --git a/Resources/Textures/Tiles/xeno_steel_corner.png b/Resources/Textures/Tiles/xeno_steel_corner.png index 7a8ee1fb2cd3526560af9101efd53a9d2da07b0c..dfe147ebec6010ddd86c8e548d952ab5c86d18d9 100644 GIT binary patch delta 785 zcmdnr%($_cal>9l#?;OG7^|3h%yo?oLk!KV3{0(zCp)rQp$KelVNGOGNlZ01NK8yN z*ELK_veZpZGcnaoOf^Z;HAuBIu{1GBO-f5l-ptAIhJ`4VljFH91dwet)HX1htiV-2 zIf0XFvH_3%?YIL7cO!fM{W#b>L`=L$cQ2=})35r6r&f!8!$+`eeW zU%l8Z-|L-wWCNEZZ)0>%sasO==gytBSrX=b&!kUi{&=^;^!o3_CKiS(_No@{Exe|i zd#`P`DdgI%G@;9gWAQH2=UmnA+b!0cnDm{}3=n*&`E~KnlWTdG@daq#(-B;{^YEsn zA2gM(?f+i?;p4d%e>$9ZyO#R@m)Za2yx_Ci-Lp08@4r(xQ_peey8D9*c^7{cGHv}9 zTvcU1M_|QV=ijfnmHtb0J=#)Q=komcjuR6Prxc!UySjC!{g&G+>O|MrSxpNHdVTJ3 zL$Pb&E)9l|?Fset6vayiR)Rkrz#WSpJ!==_^+GWcbu(`@^25=p7C_ zx8zns_)CEPt03X z*z#*>z1h!b;rXXoEzesj&EjO7ljrQ)KmFHA3H_&x?k3eb=~uGz9TNNgXg&9q3V1Oc zXp+9TisqD4@1=NkV%=UfMNEtSUb!wIQSVa2zU@z%T)B!^xr<8<-m;k>9<7$?Dfan* z<9l#+c3f7^|2$O?3^8Lk!KWj3&FVS|NCwyI2#MRLoOTk_{}(5_OFY z43l+}l1)r>6HP2lbS)E2lMT}>j7^QxEH?9VykQ|q`bbX~$B>F!N5XICJu(omb(kSA;gIXy+V{@)fB)YfGDW~!B_+yB{zZkl zu)50b3tK}pldo?tmgJxOeEM~7C&MM7F^|Eujf0y2;FIOXUqGizW)DZ*-q>FA2T{^WY;na1Qtx( z_%}9r_0dbmIgh?&j^O&Y&E90%Zf9mrhK@R~0+*JnNjI%BzMPQGzQM|2 z1M_w_%Zp11bsY~@P?{8dYSFi63z@UnJ4EHDb(Fm0xH)O&dJdc1`iGy-oQP?R-F2+Q z?Z3?X&*uD}&F*fQvftM{A+0_n=Ds{o%I#Sf+m%miU!J`Cu*<<@zOwH>hbOCwLe@k- z<4RfgVYZBaYVzj=yzkHMRY=fXp1VS`^U0Ha$#(LhrL)w&!Sw)a+-Kzp?o+>w%o2(v)xY_x8-} zmGxTB?szooK#^RL<5AN^_jfN3>{Kgm-M;X^Tg^&+DX9zj`^y?-lom={w5#X-WUlh= z6zjC~?v4~EhU?b@EjH|_Y&N6Q^xcI*LJaeoU?^Z*p7sZas z{9mT}h6yK|2t*y8ma=x1L5S7Mc;}hg1^ay1G8dd@<>h*!%rZ0dgI;WM{EmZP9j0?P rDe*Wi`~2gEjl$ Date: Thu, 31 Jul 2025 20:29:49 +0000 Subject: [PATCH 049/149] Automatic changelog update --- Resources/Changelog/Maps.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Maps.yml b/Resources/Changelog/Maps.yml index 432b838bb8..b3e0833f7e 100644 --- a/Resources/Changelog/Maps.yml +++ b/Resources/Changelog/Maps.yml @@ -494,4 +494,13 @@ id: 61 time: '2025-07-23T00:55:18.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39150 +- author: SlamBamActionman + changes: + - message: Exo station has had a major Security department rework, along with the + eastern maintenance section of the station, as well as several other minor changes + across the station. + type: Tweak + id: 62 + time: '2025-07-31T20:28:39.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39295 Order: 1 From 392f4ea8f6080fed9cd5af76ed3de529263ed7f6 Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Fri, 1 Aug 2025 13:46:59 +0200 Subject: [PATCH 050/149] Fix variantize command not respecting tile rotation (#39314) Oopsiedoodle --- Content.Server/Administration/Commands/VariantizeCommand.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Administration/Commands/VariantizeCommand.cs b/Content.Server/Administration/Commands/VariantizeCommand.cs index a75f72b1c7..428207bde6 100644 --- a/Content.Server/Administration/Commands/VariantizeCommand.cs +++ b/Content.Server/Administration/Commands/VariantizeCommand.cs @@ -44,7 +44,7 @@ public sealed class VariantizeCommand : IConsoleCommand foreach (var tile in mapsSystem.GetAllTiles(euid.Value, gridComp)) { var def = turfSystem.GetContentTileDefinition(tile); - var newTile = new Tile(tile.Tile.TypeId, tile.Tile.Flags, tileSystem.PickVariant(def)); + var newTile = new Tile(tile.Tile.TypeId, tile.Tile.Flags, tileSystem.PickVariant(def), tile.Tile.RotationMirroring); mapsSystem.SetTile(euid.Value, gridComp, tile.GridIndices, newTile); } } From a942ce21931804a02fe442723df010bd7a4f41d9 Mon Sep 17 00:00:00 2001 From: Arcane-Waffle Date: Fri, 1 Aug 2025 16:58:32 +0500 Subject: [PATCH 051/149] Renames slugcat jelly-donuts to scurret jelly-donuts (#39308) * renames slugcat jelly-donuts to scurret jelly-donuts * renames slugcat jelly-donuts to scurret jelly-donuts * renames slugcat jelly-donuts to scurret jelly-donuts * missing end of file new line --------- Co-authored-by: Arcane-Waffle Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Entities/Objects/Consumable/Food/Baked/donut.yml | 4 ++-- Resources/migration.yml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml index 52ac7b2fe9..c13f52194f 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml @@ -445,9 +445,9 @@ # Tastes like jelly-donut, fizzy tutti frutti. - type: entity - name: slugcat jelly-donut + name: scurret jelly-donut parent: FoodDonutBase - id: FoodDonutJellySlugcat + id: FoodDonutJellyScurret description: No holes in this donut in case a suspicious looking pole shows up. components: - type: Sprite diff --git a/Resources/migration.yml b/Resources/migration.yml index 78d9959c57..5f1077da01 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -700,3 +700,6 @@ BarSignWhiskeyEchoesAlignTile: BarSignWhiskeyEchoes # 2025-06-21 ClothingNeckHeadphones: ClothingMultipleHeadphones + +# 2025-08-01 +FoodDonutJellySlugcat: FoodDonutJellyScurret From d805704a1f176707923d53d1db26ff869f4b2a51 Mon Sep 17 00:00:00 2001 From: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com> Date: Fri, 1 Aug 2025 13:40:15 -0400 Subject: [PATCH 052/149] Predict EmitterSystem ExamineEvent and GetVerbsEvent (#39318) * ididathing.exe * commit * cleanup --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Singularity/Systems/EmitterSystem.cs | 2 + .../EntitySystems/EmitterSystem.cs | 47 -------------- .../Components/SharedEmitterComponent.cs | 38 ++++++------ .../EntitySystems/SharedEmitterSystem.cs | 62 ++++++++++++++++++- 4 files changed, 81 insertions(+), 68 deletions(-) diff --git a/Content.Client/Singularity/Systems/EmitterSystem.cs b/Content.Client/Singularity/Systems/EmitterSystem.cs index e9e0846340..b35c3297a1 100644 --- a/Content.Client/Singularity/Systems/EmitterSystem.cs +++ b/Content.Client/Singularity/Systems/EmitterSystem.cs @@ -12,6 +12,8 @@ public sealed class EmitterSystem : SharedEmitterSystem /// public override void Initialize() { + base.Initialize(); + SubscribeLocalEvent(OnAppearanceChange); } diff --git a/Content.Server/Singularity/EntitySystems/EmitterSystem.cs b/Content.Server/Singularity/EntitySystems/EmitterSystem.cs index 662df43e12..28d3eedd32 100644 --- a/Content.Server/Singularity/EntitySystems/EmitterSystem.cs +++ b/Content.Server/Singularity/EntitySystems/EmitterSystem.cs @@ -7,7 +7,6 @@ using Content.Server.Projectiles; using Content.Server.Weapons.Ranged.Systems; using Content.Shared.Database; using Content.Shared.DeviceLinking.Events; -using Content.Shared.Examine; using Content.Shared.Interaction; using Content.Shared.Lock; using Content.Shared.Popups; @@ -15,9 +14,7 @@ using Content.Shared.Power; using Content.Shared.Projectiles; using Content.Shared.Singularity.Components; using Content.Shared.Singularity.EntitySystems; -using Content.Shared.Verbs; using Content.Shared.Weapons.Ranged.Components; -using JetBrains.Annotations; using Robust.Shared.Map; using Robust.Shared.Physics; using Robust.Shared.Physics.Components; @@ -28,7 +25,6 @@ using Timer = Robust.Shared.Timing.Timer; namespace Content.Server.Singularity.EntitySystems { - [UsedImplicitly] public sealed class EmitterSystem : SharedEmitterSystem { [Dependency] private readonly IRobustRandom _random = default!; @@ -46,8 +42,6 @@ namespace Content.Server.Singularity.EntitySystems SubscribeLocalEvent(ReceivedChanged); SubscribeLocalEvent(OnApcChanged); SubscribeLocalEvent(OnActivate); - SubscribeLocalEvent>(OnGetVerb); - SubscribeLocalEvent(OnExamined); SubscribeLocalEvent(OnAnchorStateChanged); SubscribeLocalEvent(OnSignalReceived); } @@ -99,47 +93,6 @@ namespace Content.Server.Singularity.EntitySystems } } - private void OnGetVerb(EntityUid uid, EmitterComponent component, GetVerbsEvent args) - { - if (!args.CanAccess || !args.CanInteract || !args.CanComplexInteract || args.Hands == null) - return; - - if (TryComp(uid, out var lockComp) && lockComp.Locked) - return; - - if (component.SelectableTypes.Count < 2) - return; - - foreach (var type in component.SelectableTypes) - { - var proto = _prototype.Index(type); - - var v = new Verb - { - Priority = 1, - Category = VerbCategory.SelectType, - Text = proto.Name, - Disabled = type == component.BoltType, - Impact = LogImpact.Medium, - DoContactInteraction = true, - Act = () => - { - component.BoltType = type; - _popup.PopupEntity(Loc.GetString("emitter-component-type-set", ("type", proto.Name)), uid); - } - }; - args.Verbs.Add(v); - } - } - - private void OnExamined(EntityUid uid, EmitterComponent component, ExaminedEvent args) - { - if (component.SelectableTypes.Count < 2) - return; - var proto = _prototype.Index(component.BoltType); - args.PushMarkup(Loc.GetString("emitter-component-current-type", ("type", proto.Name))); - } - private void ReceivedChanged( EntityUid uid, EmitterComponent component, diff --git a/Content.Shared/Singularity/Components/SharedEmitterComponent.cs b/Content.Shared/Singularity/Components/SharedEmitterComponent.cs index dce2f92d0c..d181757968 100644 --- a/Content.Shared/Singularity/Components/SharedEmitterComponent.cs +++ b/Content.Shared/Singularity/Components/SharedEmitterComponent.cs @@ -3,12 +3,10 @@ using Content.Shared.DeviceLinking; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary; namespace Content.Shared.Singularity.Components; -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class EmitterComponent : Component { public CancellationTokenSource? TimerCancel; @@ -27,8 +25,8 @@ public sealed partial class EmitterComponent : Component /// /// The entity that is spawned when the emitter fires. /// - [DataField("boltType", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string BoltType = "EmitterBolt"; + [DataField, AutoNetworkedField] + public EntProtoId BoltType = "EmitterBolt"; [DataField] public List SelectableTypes = new(); @@ -36,68 +34,68 @@ public sealed partial class EmitterComponent : Component /// /// The current amount of power being used. /// - [DataField("powerUseActive")] + [DataField] public int PowerUseActive = 600; /// /// The amount of shots that are fired in a single "burst" /// - [DataField("fireBurstSize")] + [DataField] public int FireBurstSize = 3; /// /// The time between each shot during a burst. /// - [DataField("fireInterval")] + [DataField] public TimeSpan FireInterval = TimeSpan.FromSeconds(2); /// /// The current minimum delay between bursts. /// - [DataField("fireBurstDelayMin")] + [DataField] public TimeSpan FireBurstDelayMin = TimeSpan.FromSeconds(4); /// /// The current maximum delay between bursts. /// - [DataField("fireBurstDelayMax")] + [DataField] public TimeSpan FireBurstDelayMax = TimeSpan.FromSeconds(10); /// /// The visual state that is set when the emitter is turned on /// - [DataField("onState")] + [DataField] public string? OnState = "beam"; /// /// The visual state that is set when the emitter doesn't have enough power. /// - [DataField("underpoweredState")] + [DataField] public string? UnderpoweredState = "underpowered"; /// /// Signal port that turns on the emitter. /// - [DataField("onPort", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string OnPort = "On"; + [DataField] + public ProtoId OnPort = "On"; /// /// Signal port that turns off the emitter. /// - [DataField("offPort", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string OffPort = "Off"; + [DataField] + public ProtoId OffPort = "Off"; /// /// Signal port that toggles the emitter on or off. /// - [DataField("togglePort", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string TogglePort = "Toggle"; + [DataField] + public ProtoId TogglePort = "Toggle"; /// /// Map of signal ports to entity prototype IDs of the entity that will be fired. /// - [DataField("setTypePorts", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))] - public Dictionary SetTypePorts = new(); + [DataField] + public Dictionary, EntProtoId> SetTypePorts = new(); } [NetSerializable, Serializable] diff --git a/Content.Shared/Singularity/EntitySystems/SharedEmitterSystem.cs b/Content.Shared/Singularity/EntitySystems/SharedEmitterSystem.cs index bba6629988..9ef7dcfbdb 100644 --- a/Content.Shared/Singularity/EntitySystems/SharedEmitterSystem.cs +++ b/Content.Shared/Singularity/EntitySystems/SharedEmitterSystem.cs @@ -1,6 +1,66 @@ -namespace Content.Shared.Singularity.EntitySystems; +using Content.Shared.Database; +using Content.Shared.Examine; +using Content.Shared.Lock; +using Content.Shared.Popups; +using Content.Shared.Singularity.Components; +using Content.Shared.Verbs; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Singularity.EntitySystems; public abstract class SharedEmitterSystem : EntitySystem { + [Dependency] private readonly IPrototypeManager _prototype = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnExamined); + SubscribeLocalEvent>(OnGetVerb); + } + + private void OnGetVerb(Entity ent, ref GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract || !args.CanComplexInteract || args.Hands == null) + return; + + if (TryComp(ent.Owner, out var lockComp) && lockComp.Locked) + return; + + if (ent.Comp.SelectableTypes.Count < 2) + return; + + foreach (var type in ent.Comp.SelectableTypes) + { + var proto = _prototype.Index(type); + + var v = new Verb + { + Priority = 1, + Category = VerbCategory.SelectType, + Text = proto.Name, + Disabled = type == ent.Comp.BoltType, + Impact = LogImpact.Medium, + DoContactInteraction = true, + Act = () => + { + ent.Comp.BoltType = type; + Dirty(ent); + _popup.PopupClient(Loc.GetString("emitter-component-type-set", ("type", proto.Name)), ent.Owner); + }, + }; + args.Verbs.Add(v); + } + } + + private void OnExamined(Entity ent, ref ExaminedEvent args) + { + if (ent.Comp.SelectableTypes.Count < 2) + return; + + var proto = _prototype.Index(ent.Comp.BoltType); + args.PushMarkup(Loc.GetString("emitter-component-current-type", ("type", proto.Name))); + } } From a99615992a02b3a17e1a6a1a14b193c4c9f19d34 Mon Sep 17 00:00:00 2001 From: Kyle Tyo <36606155+VerinSenpai@users.noreply.github.com> Date: Fri, 1 Aug 2025 15:38:39 -0400 Subject: [PATCH 053/149] Predict ExamineEvent for CryoPodSystem. (#39322) commit --- Content.Server/Medical/CryoPodSystem.cs | 17 -------------- .../Medical/Cryogenics/SharedCryoPodSystem.cs | 22 +++++++++++++++++++ 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/Content.Server/Medical/CryoPodSystem.cs b/Content.Server/Medical/CryoPodSystem.cs index 1160f6aa17..2eb85fe429 100644 --- a/Content.Server/Medical/CryoPodSystem.cs +++ b/Content.Server/Medical/CryoPodSystem.cs @@ -68,7 +68,6 @@ public sealed partial class CryoPodSystem : SharedCryoPodSystem SubscribeLocalEvent(OnCryoPodUpdateAtmosphere); SubscribeLocalEvent(HandleDragDropOn); SubscribeLocalEvent(OnInteractUsing); - SubscribeLocalEvent(OnExamined); SubscribeLocalEvent(OnPowerChanged); SubscribeLocalEvent(OnGasAnalyzed); SubscribeLocalEvent(OnActivateUIAttempt); @@ -218,22 +217,6 @@ public sealed partial class CryoPodSystem : SharedCryoPodSystem args.Handled = _toolSystem.UseTool(args.Used, args.User, entity.Owner, entity.Comp.PryDelay, PryingQuality, new CryoPodPryFinished()); } - private void OnExamined(Entity entity, ref ExaminedEvent args) - { - var container = _itemSlotsSystem.GetItemOrNull(entity.Owner, entity.Comp.SolutionContainerName); - if (args.IsInDetailsRange && container != null && _solutionContainerSystem.TryGetFitsInDispenser(container.Value, out _, out var containerSolution)) - { - using (args.PushGroup(nameof(CryoPodComponent))) - { - args.PushMarkup(Loc.GetString("cryo-pod-examine", ("beaker", Name(container.Value)))); - if (containerSolution.Volume == 0) - { - args.PushMarkup(Loc.GetString("cryo-pod-empty-beaker")); - } - } - } - } - private void OnPowerChanged(Entity entity, ref PowerChangedEvent args) { // Needed to avoid adding/removing components on a deleted entity diff --git a/Content.Shared/Medical/Cryogenics/SharedCryoPodSystem.cs b/Content.Shared/Medical/Cryogenics/SharedCryoPodSystem.cs index 8d7eb05cd9..f45ecc0934 100644 --- a/Content.Shared/Medical/Cryogenics/SharedCryoPodSystem.cs +++ b/Content.Shared/Medical/Cryogenics/SharedCryoPodSystem.cs @@ -1,9 +1,12 @@ using Content.Shared.Administration.Logs; using Content.Shared.Body.Components; +using Content.Shared.Chemistry.EntitySystems; +using Content.Shared.Containers.ItemSlots; using Content.Shared.Database; using Content.Shared.DoAfter; using Content.Shared.DragDrop; using Content.Shared.Emag.Systems; +using Content.Shared.Examine; using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Systems; using Content.Shared.Popups; @@ -20,10 +23,12 @@ public abstract partial class SharedCryoPodSystem: EntitySystem [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; [Dependency] private readonly StandingStateSystem _standingStateSystem = default!; [Dependency] private readonly EmagSystem _emag = default!; + [Dependency] private readonly ItemSlotsSystem _itemSlotsSystem = default!; [Dependency] private readonly MobStateSystem _mobStateSystem = default!; [Dependency] private readonly SharedPopupSystem _popupSystem = default!; [Dependency] private readonly SharedContainerSystem _containerSystem = default!; [Dependency] private readonly SharedPointLightSystem _light = default!; + [Dependency] private readonly SharedSolutionContainerSystem _solutionContainerSystem = default!; [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; public override void Initialize() @@ -31,9 +36,26 @@ public abstract partial class SharedCryoPodSystem: EntitySystem base.Initialize(); SubscribeLocalEvent(OnCryoPodCanDropOn); + SubscribeLocalEvent(OnExamined); InitializeInsideCryoPod(); } + private void OnExamined(Entity entity, ref ExaminedEvent args) + { + var container = _itemSlotsSystem.GetItemOrNull(entity.Owner, entity.Comp.SolutionContainerName); + if (args.IsInDetailsRange && container != null && _solutionContainerSystem.TryGetFitsInDispenser(container.Value, out _, out var containerSolution)) + { + using (args.PushGroup(nameof(CryoPodComponent))) + { + args.PushMarkup(Loc.GetString("cryo-pod-examine", ("beaker", Name(container.Value)))); + if (containerSolution.Volume == 0) + { + args.PushMarkup(Loc.GetString("cryo-pod-empty-beaker")); + } + } + } + } + private void OnCryoPodCanDropOn(EntityUid uid, CryoPodComponent component, ref CanDropTargetEvent args) { if (args.Handled) From 6ffec751ee211695088b1cc962f83ef00242c1a3 Mon Sep 17 00:00:00 2001 From: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com> Date: Fri, 1 Aug 2025 14:44:55 -0700 Subject: [PATCH 054/149] Flesh Stun Fix (#39324) --- Content.Client/Damage/Systems/StaminaSystem.cs | 3 +++ Resources/Prototypes/Entities/Mobs/NPCs/animals.yml | 3 ++- Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml | 4 +++- Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Content.Client/Damage/Systems/StaminaSystem.cs b/Content.Client/Damage/Systems/StaminaSystem.cs index 046c72a8fa..67abb77674 100644 --- a/Content.Client/Damage/Systems/StaminaSystem.cs +++ b/Content.Client/Damage/Systems/StaminaSystem.cs @@ -4,6 +4,7 @@ using Content.Shared.Damage.Systems; using Content.Shared.Mobs; using Content.Shared.Mobs.Systems; using Robust.Client.GameObjects; +using Robust.Shared.Utility; namespace Content.Client.Damage.Systems; @@ -104,6 +105,8 @@ public sealed partial class StaminaSystem : SharedStaminaSystem private void PlayAnimation(Entity entity) { + DebugTools.Assert(entity.Comp1.CritThreshold > entity.Comp1.AnimationThreshold, $"Animation threshold on {ToPrettyString(entity)} was not less than the crit threshold. This will cause errors, animation has been cancelled."); + var step = Math.Clamp((entity.Comp1.StaminaDamage - entity.Comp1.AnimationThreshold) / (entity.Comp1.CritThreshold - entity.Comp1.AnimationThreshold), 0f, diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 6ecac1b922..dcf40dfcde 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -113,6 +113,7 @@ 10: Dead - type: Stamina critThreshold: 10 + animationThreshold: 1 - type: DamageStateVisuals states: Alive: @@ -3143,7 +3144,7 @@ factions: - Syndicate - type: Access - tags: + tags: - NuclearOperative - SyndicateAgent - type: MeleeWeapon diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml b/Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml index a1bcd547a6..f3ec5ff80b 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml @@ -42,6 +42,7 @@ 75: Dead - type: Stamina critThreshold: 50 + animationThreshold: 25 - type: Butcherable spawned: - id: FoodMeat @@ -240,6 +241,7 @@ 75: Dead - type: Stamina critThreshold: 50 + animationThreshold: 25 - type: Butcherable spawned: - id: FoodMeat @@ -359,4 +361,4 @@ 30: Dead - type: MovementSpeedModifier baseWalkSpeed: 2 - baseSprintSpeed: 2.5 \ No newline at end of file + baseSprintSpeed: 2.5 diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml b/Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml index 2eaf7c819f..be7c034a39 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml @@ -53,6 +53,7 @@ recursive: false - type: Stamina critThreshold: 15 + animationThreshold: 5 - type: MovementAlwaysTouching - type: DamageStateVisuals states: From c376e695184ec53f3d0a7e0966aad1bfa2eee013 Mon Sep 17 00:00:00 2001 From: Perry Fraser Date: Fri, 1 Aug 2025 17:48:40 -0400 Subject: [PATCH 055/149] Fix tabletop grids rarely spawning on top of another (#39327) * fix: fix off-by-one for tabletop map positions Ulam spirals start at 1, not 0. * fix: make the ulam spiral a ulam spiral --- Content.Server/Tabletop/TabletopSystem.Map.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Content.Server/Tabletop/TabletopSystem.Map.cs b/Content.Server/Tabletop/TabletopSystem.Map.cs index 5e116d81ef..89563ec6bf 100644 --- a/Content.Server/Tabletop/TabletopSystem.Map.cs +++ b/Content.Server/Tabletop/TabletopSystem.Map.cs @@ -37,7 +37,7 @@ namespace Content.Server.Tabletop /// private Vector2 GetNextTabletopPosition() { - return UlamSpiral(_tabletops++) * TabletopSeparation; + return UlamSpiral(++_tabletops) * TabletopSeparation; } /// @@ -62,11 +62,11 @@ namespace Content.Server.Tabletop /// /// Algorithm for mapping scalars to 2D positions in the same pattern as an Ulam Spiral. /// - /// Scalar to map to a 2D position. + /// Scalar to map to a 2D position. Must be greater than or equal to 1. /// The mapped 2D position for the scalar. private Vector2i UlamSpiral(int n) { - var k = (int)MathF.Ceiling(MathF.Sqrt(n) - 1) / 2; + var k = (int)MathF.Ceiling((MathF.Sqrt(n) - 1) / 2); var t = 2 * k + 1; var m = (int)MathF.Pow(t, 2); t--; From 0c446e05b3ee3b7bade08da7e0035a84a026d50b Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 1 Aug 2025 21:49:48 +0000 Subject: [PATCH 056/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index d43579dc4b..c24022f3bb 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,13 +1,4 @@ Entries: -- author: Doc-Michael - changes: - - message: Changed protection values of Security Hardsuits - type: Tweak - - message: Made Warden/HoS coats slightly more protective to better fit their position - type: Tweak - id: 8310 - time: '2025-04-22T03:22:56.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30212 - author: K-Dynamic changes: - message: Changed instances of 3.5 second grenade timers to 3 seconds, including @@ -3914,3 +3905,11 @@ id: 8821 time: '2025-07-31T04:08:05.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/37701 +- author: perryprog + changes: + - message: Fixed board game areas sometimes overlapping with those of other board + games. + type: Fix + id: 8822 + time: '2025-08-01T21:48:40.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39327 From c444db0e58d5d4ab200fc83cc2d05324c05b75b1 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Sat, 2 Aug 2025 10:33:22 -0400 Subject: [PATCH 057/149] Add test of `StaminaComponent` crit vs animation thresholds (#39249) Add test of StaminaComponent crit vs animation thresholds --- .../Tests/Damageable/StaminaComponentTest.cs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Content.IntegrationTests/Tests/Damageable/StaminaComponentTest.cs diff --git a/Content.IntegrationTests/Tests/Damageable/StaminaComponentTest.cs b/Content.IntegrationTests/Tests/Damageable/StaminaComponentTest.cs new file mode 100644 index 0000000000..f0a594dbd4 --- /dev/null +++ b/Content.IntegrationTests/Tests/Damageable/StaminaComponentTest.cs @@ -0,0 +1,29 @@ +using Content.Shared.Damage.Components; + +namespace Content.IntegrationTests.Tests.Damageable; + +public sealed class StaminaComponentTest +{ + [Test] + public async Task ValidatePrototypes() + { + await using var pair = await PoolManager.GetServerClient(); + var server = pair.Server; + + var protos = pair.GetPrototypesWithComponent(); + + await server.WaitAssertion(() => + { + Assert.Multiple(() => + { + foreach (var (proto, comp) in protos) + { + Assert.That(comp.AnimationThreshold, Is.LessThan(comp.CritThreshold), + $"Animation threshold on {proto.ID} must be less than its crit threshold."); + } + }); + }); + + await pair.CleanReturnAsync(); + } +} From e307fd69b0153f0172f77e5003c4446077236a6f Mon Sep 17 00:00:00 2001 From: Krosus777 <38509947+Krosus777@users.noreply.github.com> Date: Sat, 2 Aug 2025 17:14:16 +0200 Subject: [PATCH 058/149] HumanoidCharacterProfileFix (#39333) --- Content.Shared/Preferences/HumanoidCharacterProfile.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Content.Shared/Preferences/HumanoidCharacterProfile.cs b/Content.Shared/Preferences/HumanoidCharacterProfile.cs index 845e359564..f22669ddc7 100644 --- a/Content.Shared/Preferences/HumanoidCharacterProfile.cs +++ b/Content.Shared/Preferences/HumanoidCharacterProfile.cs @@ -693,10 +693,17 @@ namespace Content.Shared.Preferences var namingSystem = IoCManager.Resolve().GetEntitySystem(); return namingSystem.GetName(species, gender); } + public bool Equals(HumanoidCharacterProfile? other) + { + if (other is null) + return false; + + return ReferenceEquals(this, other) || MemberwiseEquals(other); + } public override bool Equals(object? obj) { - return ReferenceEquals(this, obj) || obj is HumanoidCharacterProfile other && Equals(other); + return obj is HumanoidCharacterProfile other && Equals(other); } public override int GetHashCode() From a476abe772cdd6853ac605294642619a46827907 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Aug 2025 15:15:24 +0000 Subject: [PATCH 059/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c24022f3bb..de0b7417b3 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,20 +1,4 @@ Entries: -- author: K-Dynamic - changes: - - message: Changed instances of 3.5 second grenade timers to 3 seconds, including - clusterbangs and atmos metal foam grenades. - type: Tweak - - message: Atmos metal foam grenades have been reworked to disperse foam in a 5x5 - diamond pattern and harden within two seconds. - type: Tweak - - message: Reduced hardened metal foam health (breakable in 6 crowbar swings). - type: Tweak - - message: Changed syndicate trickbomb timer from 3.5 seconds to 5 seconds to match - minibombs. - type: Tweak - id: 8311 - time: '2025-04-22T05:51:21.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/34579 - author: muburu changes: - message: Dragons can now pry open doors, including firelocks. @@ -3913,3 +3897,10 @@ id: 8822 time: '2025-08-01T21:48:40.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39327 +- author: Krosus + changes: + - message: Fixed crash when loading saved character profiles + type: Fix + id: 8823 + time: '2025-08-02T15:14:17.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39333 From e82dc13bf936f700e588e683240cc48abfd27288 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sat, 2 Aug 2025 17:23:44 +0200 Subject: [PATCH 060/149] Fix StoreTests EventBus usage (#38489) Fix split off from #37349 to avoid needing to sync the content/engine PRs. --- Content.IntegrationTests/Tests/StoreTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Content.IntegrationTests/Tests/StoreTests.cs b/Content.IntegrationTests/Tests/StoreTests.cs index e6aed78755..39df0fc8cc 100644 --- a/Content.IntegrationTests/Tests/StoreTests.cs +++ b/Content.IntegrationTests/Tests/StoreTests.cs @@ -128,7 +128,7 @@ public sealed class StoreTests var buyMsg = new StoreBuyListingMessage(discountedListingItem.ID){Actor = human}; - server.EntMan.EventBus.RaiseComponentEvent(pda, storeComponent, buyMsg); + server.EntMan.EventBus.RaiseLocalEvent(pda, buyMsg); var newBalance = storeComponent.Balance[UplinkSystem.TelecrystalCurrencyPrototype]; Assert.That(newBalance.Value, Is.EqualTo((originalBalance - plainDiscountedCost).Value), "Expected to have balance reduced by discounted cost"); @@ -141,7 +141,7 @@ public sealed class StoreTests Assert.That(costAfterBuy.Value, Is.EqualTo(prototypeCost.Value), "Expected cost after discount refund to be equal to prototype cost."); var refundMsg = new StoreRequestRefundMessage { Actor = human }; - server.EntMan.EventBus.RaiseComponentEvent(pda, storeComponent, refundMsg); + server.EntMan.EventBus.RaiseLocalEvent(pda, refundMsg); // get refreshed item after refund re-generated items discountedListingItem = storeComponent.FullListingsCatalog.First(x => x.ID == itemId); From 90f4f365dfa99209aa76b1d4b1daa737c80907d4 Mon Sep 17 00:00:00 2001 From: Hannah Giovanna Dawson Date: Sat, 2 Aug 2025 18:31:46 +0100 Subject: [PATCH 061/149] Don't purge note buffer when starting/switching MIDI songs (#39335) Stop stuck notes on remote when changing MIDI song --- Content.Client/Instruments/InstrumentSystem.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Content.Client/Instruments/InstrumentSystem.cs b/Content.Client/Instruments/InstrumentSystem.cs index d861f4163b..c01845bb13 100644 --- a/Content.Client/Instruments/InstrumentSystem.cs +++ b/Content.Client/Instruments/InstrumentSystem.cs @@ -294,7 +294,6 @@ public sealed partial class InstrumentSystem : SharedInstrumentSystem SetMaster(uid, null); TrySetChannels(uid, data); - instrument.MidiEventBuffer.Clear(); instrument.Renderer.OnMidiEvent += instrument.MidiEventBuffer.Add; return true; } From b86b0c7fe828fb69cccfd784de26b07bb729ac0c Mon Sep 17 00:00:00 2001 From: Hannah Giovanna Dawson Date: Sat, 2 Aug 2025 19:35:09 +0100 Subject: [PATCH 062/149] Berry Delight (#38881) * Berry delight * Uncook the YAML * Move stuff in meal_recipes * BERRY DELIGHT IS INEVITABLE --- .../Locale/en-US/flavors/flavor-profiles.ftl | 1 + .../Random/Food_Drinks/food_baked_single.yml | 1 + .../Random/Food_Drinks/food_baked_whole.yml | 1 + .../Objects/Consumable/Food/Baked/cake.yml | 85 ++++++++++++++++++ Resources/Prototypes/Flavors/flavors.yml | 5 ++ .../Recipes/Cooking/meal_recipes.yml | 12 +++ .../Food/Baked/cake.rsi/berry_delight.png | Bin 0 -> 872 bytes .../Baked/cake.rsi/berry_delight_slice.png | Bin 0 -> 642 bytes .../Consumable/Food/Baked/cake.rsi/meta.json | 8 +- 9 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/berry_delight.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/berry_delight_slice.png diff --git a/Resources/Locale/en-US/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/flavors/flavor-profiles.ftl index bdc0ea858a..f012d83d7e 100644 --- a/Resources/Locale/en-US/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/flavors/flavor-profiles.ftl @@ -53,6 +53,7 @@ flavor-base-terrible = terrible flavor-base-mindful = mindful flavor-base-chewy = chewy flavor-base-trashy = trashy +flavor-base-motivating = motivating # Complex flavors. Put a flavor here when you want something that's more # specific. diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml index 5d559fa132..7d0f734acc 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml @@ -42,6 +42,7 @@ - FoodCakeChristmasSlice - FoodCakeVanillaSlice - FoodCakeBirthdaySlice + - FoodCakeBerryDelightSlice - FoodCakeCottonSlice - FoodBakedMuffin - FoodBakedMuffinBerry diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml index 719f2bd912..7683f19884 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml @@ -37,6 +37,7 @@ - FoodCakeChristmas - FoodCakeBirthday - FoodCakeVanilla + - FoodCakeBerryDelight - FoodCakeCotton - FoodPieApple - FoodPieBaklava diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml index 5c0a4eb7cf..a1b69a0966 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml @@ -1245,3 +1245,88 @@ Quantity: 2 - type: Item heldPrefix: cotton-slice + +# Motivating + +- type: entity + name: berry delight + parent: FoodCakeBase + id: FoodCakeBerryDelight + description: This is a cake that is approaching. + components: + - type: Sprite + state: berry_delight + - type: FlavorProfile + flavors: + - sweet + - berry + - motivating + - type: SolutionContainerManager + solutions: + food: + maxVol: 55 + reagents: + - ReagentId: Nutriment + Quantity: 40 + - ReagentId: Vitamin + Quantity: 10 + - ReagentId: Milk + Quantity: 10 + - type: SliceableFood + slice: FoodCakeBerryDelightSlice + - type: Tag + tags: + - Cake + - Fruit + - type: Item + inhandVisuals: + left: + - state: plain-inhand-left + - state: alpha-filling-inhand-left + color: red + right: + - state: plain-inhand-right + - state: alpha-filling-inhand-right + color: red + +- type: entity + name: berry delight slice + parent: FoodCakeSliceBase + id: FoodCakeBerryDelightSlice + description: Put a fork in, your hunger in isolation. + components: + - type: Sprite + state: berry_delight_slice + - type: FlavorProfile + flavors: + - sweet + - berry + - motivating + - type: SolutionContainerManager + solutions: + food: + maxVol: 12 + reagents: + - ReagentId: Nutriment + Quantity: 8 + - ReagentId: Vitamin + Quantity: 2 + - ReagentId: Milk + Quantity: 2 + - type: Tag + tags: + - Cake + - Fruit + - Slice + - type: Item + inhandVisuals: + left: + - state: alpha-slice-inhand-left + color: white + - state: alpha-slice-filling-inhand-left + color: red + right: + - state: alpha-slice-inhand-right + color: white + - state: alpha-slice-filling-inhand-right + color: red diff --git a/Resources/Prototypes/Flavors/flavors.yml b/Resources/Prototypes/Flavors/flavors.yml index e4348b4efb..8eef7e1cb5 100644 --- a/Resources/Prototypes/Flavors/flavors.yml +++ b/Resources/Prototypes/Flavors/flavors.yml @@ -1483,3 +1483,8 @@ id: artifactglue flavorType: Complex description: flavor-complex-artifact-glue + +- type: flavor + id: motivating + flavorType: Base + description: flavor-base-motivating diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml index baf3e7011c..7e3cca3fa4 100644 --- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml +++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml @@ -1700,6 +1700,18 @@ FoodSnackRaisins: 1 OrganAnimalHeart: 1 +- type: microwaveMealRecipe + id: RecipeBerryDelight + name: berry delight recipe + result: FoodCakeBerryDelight + time: 5 + group: Cake + solids: + FoodCakePlain: 1 + FoodBerries: 5 + reagents: + Milk: 10 + - type: microwaveMealRecipe id: RecipeBreadDog name: bread dog recipe diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/berry_delight.png b/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/berry_delight.png new file mode 100644 index 0000000000000000000000000000000000000000..765507a014b75bf99849c259621f2fee87bfb270 GIT binary patch literal 872 zcmV-u1DE`XP)Px&B1uF+R9J=Wl`&`=R~*KF@8sMSS&`FNAP;WZV!Bkx)}&LG8$88=ltPyTXDf7R zA%)Nmt&1U0Xdp`q*_t{-!4QZ=+Qh>(X>2GicnQ{GM4;_pfz=?(obA)S_d1;QtUH|? zhYsza4+Qu0{_p+1_q})TV4#5p`i~`Eruff4YP!3fot(m7tn}2qc533t^B!851Sa7f z`HL0Pepy339sQvB{0IPBTg@2UYu0f`iZL@CWilCrun5C;Uo+N=;Q9PWDt!CuWDlG~ zG60q(ux%ULwo@6#z+rKx!B@VRGw|)Jld%LcnGCjVn*;!~*86P{V+|!iok2o?Wn~D0 zJ(P;-hkpANfD?dwW6{8K`_C)aPjNaipVkVcG+IZ$q08pO@c8EaRpH^{4 z4z?|~x`Ycb6Safgmg&1Y?XsZ`n6Z2L{Wr$-)ENhW4Moh%zflMJ``R8;XB?(0HN)-s z7~P(l&>ITIET}x)<7~-cY=5KPyL~i69pG5kHPC5y!&43PGn1SsX)dYC(`dCD3a;I+ y9sP5BnAY!ou0Q+u2Rhr7RKHaYG|)i*YyAUx^p~N9+-08t0000Px%JV``BR9J=Wl|e{TaU91#K9`OV6}D``$mkH#sXE9uI>dqwAtGcHL>R^noy87L z4`J<)bql-*VaFC8szZn&YvC&I7L~fq)N)VT+_Lwk`~N$b(<0(OGwAR>@Zj-&|KIQX zeZT+j{~lOaSXk@=;d+N$YCIyt^$wXyFUU-KL8|6zyCLqc*}vobzcTQv_~yNw>ixF{ zGU)}mT|C!$`lq;=7s|D4r3lX^r;2;KUA*ef2mr4`2k-$5eBNCHo5I!Ad$$r_J_Df2 zbE^2v=f8*XCdgxZnX&<;m5YmU2~b&4`Nws0^E#rXjkO0u96Rn&s;$%kUC#pGbpAeW z8U?bsRlcqo#8wt*GV>~BL3IdSw}SvAk|`3&6uO=*UI1lU0ev}xJb#haiRX-VUs5)p z)PWC?w-7mtbI=38>V;Qmj~*6HeKSl9a}7H%KmSEpT-iXx+kp9Wf}^oXY6dd^O#4sb z4>x09-#8d^ff%l_VeVgUre`dnJcUYI(9#=10QrI>Cj^m|6m|Am;_c&1#wMBW7{`>7 znRrT7w}?^)X5u>Mq9X_?(AqQ(0#9xRX^c)`b4c8K?#N16MfQP{F=(5E9I5cejez%6SpG%B}H_ zCA~eWA0mJ*pIa^qaQv8>bty^9G8`Jjrt^3YRnWf!13PB0uU(#S)yYn;TXy-}rT5;# c!s377JJ)XLH#R&t@&Et;07*qoM6N<$f)h<7g#Z8m literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/meta.json index e00bbdeeea..c8d773339d 100644 --- a/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Food/Baked/cake.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation and modified by Swept at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, inhands by mubururu_ (github), cotton cake sprites by DispenserG0inUp", + "copyright": "Taken from tgstation and modified by Swept at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, inhands by mubururu_ (github), cotton cake sprites by DispenserG0inUp, berry delighht sprites by FairlySadPanda (Github)", "size": { "x": 32, "y": 32 @@ -330,6 +330,12 @@ { "name": "cotton-slice-inhand-right", "directions": 4 + }, + { + "name": "berry_delight" + }, + { + "name": "berry_delight_slice" } ] } From c7efdb8be65dc15f5ca0c43d016dba1e9f09107e Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Aug 2025 18:36:16 +0000 Subject: [PATCH 063/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index de0b7417b3..d607de60ab 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: muburu - changes: - - message: Dragons can now pry open doors, including firelocks. - type: Tweak - id: 8312 - time: '2025-04-22T06:33:00.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/36811 - author: sowelipililimute changes: - message: The Funding Allocation Computer can now adjust the cut Cargo takes from @@ -3904,3 +3897,11 @@ id: 8823 time: '2025-08-02T15:14:17.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39333 +- author: FairlySadPanda + changes: + - message: A new cake, berry delight, that is made with a cake base, berries and + milk. + type: Add + id: 8824 + time: '2025-08-02T18:35:09.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/38881 From 615f63e13bb03f14befba9866169d9e4958cf28e Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sat, 2 Aug 2025 22:20:17 +0200 Subject: [PATCH 064/149] Fix horizontal space men in replays (#39338) * Fix horizontal space men in replays Visualizer should not bail if data unavailable. * Update Content.Client/Rotation/RotationVisualizerSystem.cs --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- Content.Client/Rotation/RotationVisualizerSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Client/Rotation/RotationVisualizerSystem.cs b/Content.Client/Rotation/RotationVisualizerSystem.cs index 8dbcf97320..b5be4d0b17 100644 --- a/Content.Client/Rotation/RotationVisualizerSystem.cs +++ b/Content.Client/Rotation/RotationVisualizerSystem.cs @@ -24,7 +24,7 @@ public sealed class RotationVisualizerSystem : SharedRotationVisualsSystem return; if (!_appearance.TryGetData(uid, RotationVisuals.RotationState, out var state, args.Component)) - return; + state = RotationState.Vertical; switch (state) { From 21eb662377ed0d267744287c870b0c9916444211 Mon Sep 17 00:00:00 2001 From: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com> Date: Sat, 2 Aug 2025 15:59:48 -0700 Subject: [PATCH 065/149] Fix ActionsSystem.IsCooldownActive always returning false if curTime is null (#39329) --- Content.Shared/Actions/SharedActionsSystem.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Content.Shared/Actions/SharedActionsSystem.cs b/Content.Shared/Actions/SharedActionsSystem.cs index 69b15235c4..c4581cfbff 100644 --- a/Content.Shared/Actions/SharedActionsSystem.cs +++ b/Content.Shared/Actions/SharedActionsSystem.cs @@ -1022,6 +1022,7 @@ public abstract class SharedActionsSystem : EntitySystem public bool IsCooldownActive(ActionComponent action, TimeSpan? curTime = null) { // TODO: Check for charge recovery timer + curTime ??= GameTiming.CurTime; return action.Cooldown.HasValue && action.Cooldown.Value.End > curTime; } From 6c9368dc602dc944238d8dbc8f842f4a9144ef02 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sun, 3 Aug 2025 01:02:40 +0200 Subject: [PATCH 066/149] Make dirt non-compressible (#39220) This sets the new rsic: false flag in dirt.rsi. One of the interior PNGs is directly accessed by a tile definition, which would otherwise cause a game startup failure with the new packaging improvements: https://github.com/space-wizards/RobustToolbox/commit/c4dff678a9511190da2e6217992852d5e1df7985 --- Resources/Textures/Tiles/Planet/dirt.rsi/meta.json | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Textures/Tiles/Planet/dirt.rsi/meta.json b/Resources/Textures/Tiles/Planet/dirt.rsi/meta.json index 57ea3f50a5..dc93307bc3 100644 --- a/Resources/Textures/Tiles/Planet/dirt.rsi/meta.json +++ b/Resources/Textures/Tiles/Planet/dirt.rsi/meta.json @@ -6,6 +6,7 @@ "x": 32, "y": 32 }, + "rsic": false, "states": [ { "name": "dirt" From c538d7fb2b0dbdbddaed3df7d079e8a438c5c56e Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Sun, 3 Aug 2025 01:07:32 +0200 Subject: [PATCH 067/149] Predict anomaly synchronizer (#39321) * predict anomaly synchronizer * pvs * lambda * Update Resources/Locale/en-US/anomaly/anomaly.ftl --------- Co-authored-by: Pieter-Jan Briers --- .../Anomaly/AnomalySynchronizerSystem.cs | 140 ++++++++++-------- .../AnomalySynchronizerComponent.cs | 31 ++-- Resources/Locale/en-US/anomaly/anomaly.ftl | 6 +- 3 files changed, 101 insertions(+), 76 deletions(-) rename {Content.Server => Content.Shared}/Anomaly/AnomalySynchronizerSystem.cs (59%) rename {Content.Server => Content.Shared}/Anomaly/Components/AnomalySynchronizerComponent.cs (66%) diff --git a/Content.Server/Anomaly/AnomalySynchronizerSystem.cs b/Content.Shared/Anomaly/AnomalySynchronizerSystem.cs similarity index 59% rename from Content.Server/Anomaly/AnomalySynchronizerSystem.cs rename to Content.Shared/Anomaly/AnomalySynchronizerSystem.cs index b1814c2741..32883cd775 100644 --- a/Content.Server/Anomaly/AnomalySynchronizerSystem.cs +++ b/Content.Shared/Anomaly/AnomalySynchronizerSystem.cs @@ -1,33 +1,30 @@ using System.Linq; -using System.Numerics; -using Content.Server.Anomaly.Components; -using Content.Server.DeviceLinking.Systems; -using Content.Server.Power.Components; -using Content.Server.Power.EntitySystems; using Content.Shared.Anomaly.Components; +using Content.Shared.DeviceLinking; using Content.Shared.Examine; using Content.Shared.Interaction; using Content.Shared.Popups; using Content.Shared.Power; -using Robust.Shared.Audio.Systems; +using Content.Shared.Power.EntitySystems; using Content.Shared.Verbs; +using Robust.Shared.Audio.Systems; using Robust.Shared.Timing; -namespace Content.Server.Anomaly; +namespace Content.Shared.Anomaly; /// -/// a device that allows you to translate anomaly activity into multitool signals. +/// A device that allows you to translate anomaly activity into multitool signals. /// public sealed partial class AnomalySynchronizerSystem : EntitySystem { - [Dependency] private readonly AnomalySystem _anomaly = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly EntityLookupSystem _entityLookup = default!; - [Dependency] private readonly DeviceLinkSystem _signal = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - [Dependency] private readonly PowerReceiverSystem _power = default!; [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedAnomalySystem _anomaly = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedDeviceLinkSystem _deviceLink = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedPowerReceiverSystem _power = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; public override void Initialize() { @@ -47,27 +44,41 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem { base.Update(frameTime); + var curTime = _timing.CurTime; var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var sync, out var xform)) + while (query.MoveNext(out var uid, out var sync, out var synchronizerTransform)) { - if (sync.ConnectedAnomaly is null) + if (sync.ConnectedAnomaly == null) continue; - if (_timing.CurTime < sync.NextCheckTime) + if (curTime < sync.NextCheckTime) continue; + sync.NextCheckTime += sync.CheckFrequency; + Dirty(uid, sync); - if (Transform(sync.ConnectedAnomaly.Value).MapUid != Transform(uid).MapUid) + if (TerminatingOrDeleted(sync.ConnectedAnomaly)) { - DisconnectFromAnomaly((uid, sync), sync.ConnectedAnomaly.Value); + DisconnectFromAnomaly((uid, sync)); continue; } - if (!xform.Coordinates.TryDistance(EntityManager, Transform(sync.ConnectedAnomaly.Value).Coordinates, out var distance)) + // Use TryComp instead of Transform(uid) to take care of cases where the anomaly is out of + // PVS range on the client, but the synchronizer isn't. + if (!TryComp(sync.ConnectedAnomaly.Value, out TransformComponent? anomalyTransform)) + continue; + + if (anomalyTransform.MapUid != synchronizerTransform.MapUid) + { + DisconnectFromAnomaly((uid, sync)); + continue; + } + + if (!synchronizerTransform.Coordinates.TryDistance(EntityManager, anomalyTransform.Coordinates, out var distance)) continue; if (distance > sync.AttachRange) - DisconnectFromAnomaly((uid, sync), sync.ConnectedAnomaly.Value); + DisconnectFromAnomaly((uid, sync)); } } @@ -76,11 +87,9 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem /// public bool TryAttachNearbyAnomaly(Entity ent, EntityUid? user = null) { - if (!_power.IsPowered(ent)) + if (!_power.IsPowered(ent.Owner)) { - if (user is not null) - _popup.PopupEntity(Loc.GetString("base-computer-ui-component-not-powered", ("machine", ent)), ent, user.Value); - + _popup.PopupClient(Loc.GetString("base-computer-ui-component-not-powered", ("machine", ent)), ent, user); return false; } @@ -89,13 +98,11 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem if (anomaly.Owner is { Valid: false }) // no anomaly in range { - if (user is not null) - _popup.PopupEntity(Loc.GetString("anomaly-sync-no-anomaly"), ent, user.Value); - + _popup.PopupClient(Loc.GetString("anomaly-sync-no-anomaly"), ent, user); return false; } - ConnectToAnomaly(ent, anomaly); + ConnectToAnomaly(ent, anomaly, user); return true; } @@ -104,10 +111,10 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem if (args.Powered) return; - if (ent.Comp.ConnectedAnomaly is null) + if (ent.Comp.ConnectedAnomaly == null) return; - DisconnectFromAnomaly(ent, ent.Comp.ConnectedAnomaly.Value); + DisconnectFromAnomaly(ent); } private void OnExamined(Entity ent, ref ExaminedEvent args) @@ -117,19 +124,29 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem private void OnGetInteractionVerbs(Entity ent, ref GetVerbsEvent args) { - if (!args.CanAccess || !args.CanInteract || args.Hands is null || ent.Comp.ConnectedAnomaly.HasValue) + if (!args.CanAccess || !args.CanInteract || args.Hands == null) return; var user = args.User; - args.Verbs.Add(new() + + if (ent.Comp.ConnectedAnomaly == null) { - Act = () => + args.Verbs.Add(new() { - TryAttachNearbyAnomaly(ent, user); - }, - Message = Loc.GetString("anomaly-sync-connect-verb-message", ("machine", ent)), - Text = Loc.GetString("anomaly-sync-connect-verb-text"), - }); + Act = () => TryAttachNearbyAnomaly(ent, user), + Message = Loc.GetString("anomaly-sync-connect-verb-message", ("machine", ent)), + Text = Loc.GetString("anomaly-sync-connect-verb-text"), + }); + } + else + { + args.Verbs.Add(new() + { + Act = () => DisconnectFromAnomaly(ent, user), + Message = Loc.GetString("anomaly-sync-disconnect-verb-message", ("machine", ent)), + Text = Loc.GetString("anomaly-sync-disconnect-verb-text"), + }); + } } private void OnInteractHand(Entity ent, ref InteractHandEvent args) @@ -137,12 +154,13 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem TryAttachNearbyAnomaly(ent, args.User); } - private void ConnectToAnomaly(Entity ent, Entity anomaly) + private void ConnectToAnomaly(Entity ent, Entity anomaly, EntityUid? user = null) { if (ent.Comp.ConnectedAnomaly == anomaly) return; ent.Comp.ConnectedAnomaly = anomaly; + Dirty(ent); //move the anomaly to the center of the synchronizer, for aesthetics. var targetXform = _transform.GetWorldPosition(ent); _transform.SetWorldPosition(anomaly, targetXform); @@ -150,27 +168,27 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem if (ent.Comp.PulseOnConnect) _anomaly.DoAnomalyPulse(anomaly, anomaly); - _popup.PopupEntity(Loc.GetString("anomaly-sync-connected"), ent, PopupType.Medium); - _audio.PlayPvs(ent.Comp.ConnectedSound, ent); + _popup.PopupPredicted(Loc.GetString("anomaly-sync-connected"), ent, user, PopupType.Medium); + _audio.PlayPredicted(ent.Comp.ConnectedSound, ent, user); } //TODO: disconnection from the anomaly should also be triggered if the anomaly is far away from the synchronizer. //Currently only bluespace anomaly can do this, but for some reason it is the only one that cannot be connected to the synchronizer. - private void DisconnectFromAnomaly(Entity ent, EntityUid other) + private void DisconnectFromAnomaly(Entity ent, EntityUid? user = null) { if (ent.Comp.ConnectedAnomaly == null) return; - if (TryComp(other, out var anomaly)) + if (ent.Comp.PulseOnDisconnect && TryComp(ent.Comp.ConnectedAnomaly, out var anomaly)) { - if (ent.Comp.PulseOnDisconnect) - _anomaly.DoAnomalyPulse(ent.Comp.ConnectedAnomaly.Value, anomaly); + _anomaly.DoAnomalyPulse(ent.Comp.ConnectedAnomaly.Value, anomaly); } - _popup.PopupEntity(Loc.GetString("anomaly-sync-disconnected"), ent, PopupType.Large); - _audio.PlayPvs(ent.Comp.ConnectedSound, ent); + _popup.PopupPredicted(Loc.GetString("anomaly-sync-disconnected"), ent, user, PopupType.Large); + _audio.PlayPredicted(ent.Comp.DisconnectedSound, ent, user); ent.Comp.ConnectedAnomaly = null; + Dirty(ent); } private void OnAnomalyPulse(ref AnomalyPulseEvent args) @@ -184,19 +202,19 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem if (!_power.IsPowered(uid)) continue; - _signal.InvokePort(uid, component.PulsePort); + _deviceLink.InvokePort(uid, component.PulsePort); } } private void OnAnomalySeverityChanged(ref AnomalySeverityChangedEvent args) { var query = EntityQueryEnumerator(); - while (query.MoveNext(out var ent, out var component)) + while (query.MoveNext(out var uid, out var component)) { if (args.Anomaly != component.ConnectedAnomaly) continue; - if (!_power.IsPowered(ent)) + if (!_power.IsPowered(uid)) continue; //The superscritical port is invoked not at the AnomalySupercriticalEvent, @@ -204,34 +222,34 @@ public sealed partial class AnomalySynchronizerSystem : EntitySystem //ATTENTION! the console command supercriticalanomaly does not work here, //as it forcefully causes growth to start without increasing severity. if (args.Severity >= 1) - _signal.InvokePort(ent, component.SupercritPort); + _deviceLink.InvokePort(uid, component.SupercritPort); } } private void OnAnomalyStabilityChanged(ref AnomalyStabilityChangedEvent args) { - Entity anomaly = (args.Anomaly, Comp(args.Anomaly)); + var anomaly = Comp(args.Anomaly); var query = EntityQueryEnumerator(); - while (query.MoveNext(out var ent, out var component)) + while (query.MoveNext(out var uid, out var sync)) { - if (component.ConnectedAnomaly != anomaly) + if (sync.ConnectedAnomaly != args.Anomaly) continue; - if (!_power.IsPowered(ent)) + if (!_power.IsPowered(uid)) continue; - if (args.Stability < anomaly.Comp.DecayThreshold) + if (args.Stability < anomaly.DecayThreshold) { - _signal.InvokePort(ent, component.DecayingPort); + _deviceLink.InvokePort(uid, sync.DecayingPort); } - else if (args.Stability > anomaly.Comp.GrowthThreshold) + else if (args.Stability > anomaly.GrowthThreshold) { - _signal.InvokePort(ent, component.GrowingPort); + _deviceLink.InvokePort(uid, sync.GrowingPort); } else { - _signal.InvokePort(ent, component.StabilizePort); + _deviceLink.InvokePort(uid, sync.StabilizePort); } } } diff --git a/Content.Server/Anomaly/Components/AnomalySynchronizerComponent.cs b/Content.Shared/Anomaly/Components/AnomalySynchronizerComponent.cs similarity index 66% rename from Content.Server/Anomaly/Components/AnomalySynchronizerComponent.cs rename to Content.Shared/Anomaly/Components/AnomalySynchronizerComponent.cs index 3127f091e5..7e605ba150 100644 --- a/Content.Server/Anomaly/Components/AnomalySynchronizerComponent.cs +++ b/Content.Shared/Anomaly/Components/AnomalySynchronizerComponent.cs @@ -1,46 +1,51 @@ using Content.Shared.DeviceLinking; using Robust.Shared.Audio; +using Robust.Shared.GameStates; using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -namespace Content.Server.Anomaly.Components; +namespace Content.Shared.Anomaly.Components; /// -/// a device that allows you to translate anomaly activity into multitool signals. +/// A device that allows you to translate anomaly activity into multitool signals. /// -[RegisterComponent, AutoGenerateComponentPause, Access(typeof(AnomalySynchronizerSystem))] +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState, AutoGenerateComponentPause] +[Access(typeof(AnomalySynchronizerSystem))] public sealed partial class AnomalySynchronizerComponent : Component { /// /// The uid of the anomaly to which the synchronizer is connected. /// - [DataField, ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public EntityUid? ConnectedAnomaly; /// /// Should the anomaly pulse when connected to the synchronizer? /// - [DataField] + [DataField, AutoNetworkedField] public bool PulseOnConnect = true; /// /// Should the anomaly pulse when disconnected from synchronizer? /// - [DataField] + [DataField, AutoNetworkedField] public bool PulseOnDisconnect = false; /// - /// minimum distance from the synchronizer to the anomaly to be attached + /// Minimum distance from the synchronizer to the anomaly to be attached. /// - [DataField] + [DataField, AutoNetworkedField] public float AttachRange = 0.4f; /// - /// Periodicheski checks to see if the anomaly has moved to disconnect it. + /// Periodically checks to see if the anomaly has moved to disconnect it. /// - [DataField] + [DataField, AutoNetworkedField] public TimeSpan CheckFrequency = TimeSpan.FromSeconds(1f); - [DataField, AutoPausedField] + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] public TimeSpan NextCheckTime = TimeSpan.Zero; [DataField] @@ -58,9 +63,9 @@ public sealed partial class AnomalySynchronizerComponent : Component [DataField] public ProtoId SupercritPort = "Supercritical"; - [DataField, ViewVariables(VVAccess.ReadWrite)] + [DataField] public SoundSpecifier ConnectedSound = new SoundPathSpecifier("/Audio/Machines/anomaly_sync_connect.ogg"); - [DataField, ViewVariables(VVAccess.ReadWrite)] + [DataField] public SoundSpecifier DisconnectedSound = new SoundPathSpecifier("/Audio/Machines/anomaly_sync_connect.ogg"); } diff --git a/Resources/Locale/en-US/anomaly/anomaly.ftl b/Resources/Locale/en-US/anomaly/anomaly.ftl index c8d099777d..77608da435 100644 --- a/Resources/Locale/en-US/anomaly/anomaly.ftl +++ b/Resources/Locale/en-US/anomaly/anomaly.ftl @@ -54,6 +54,8 @@ anomaly-sync-examine-connected = It is [color=darkgreen]attached[/color] to an a anomaly-sync-examine-not-connected = It is [color=darkred]not attached[/color] to an anomaly. anomaly-sync-connect-verb-text = Attach anomaly anomaly-sync-connect-verb-message = Attach a nearby anomaly to {THE($machine)}. +anomaly-sync-disconnect-verb-text = Detach anomaly +anomaly-sync-disconnect-verb-message = Detach the connected anomaly from {THE($machine)}. anomaly-generator-ui-title = Anomaly Generator anomaly-generator-fuel-display = Fuel: @@ -78,7 +80,7 @@ anomaly-generator-flavor-right = v1.1 anomaly-behavior-unknown = [color=red]ERROR. Cannot be read.[/color] anomaly-behavior-title = behavior deviation analysis: -anomaly-behavior-point =[color=gold]Anomaly produces {$mod}% of the points[/color] +anomaly-behavior-point = [color=gold]Anomaly produces {$mod}% of the points[/color] anomaly-behavior-safe = [color=forestgreen]The anomaly is extremely stable. Extremely rare pulsations.[/color] anomaly-behavior-slow = [color=forestgreen]The frequency of pulsations is much less frequent.[/color] @@ -94,4 +96,4 @@ anomaly-behavior-secret = Interference detected. Some data cannot be read anomaly-behavior-inconstancy = [color=crimson]Impermanence has been detected. Particle types can change over time.[/color] anomaly-behavior-fast = [color=crimson]The pulsation frequency is strongly increased.[/color] anomaly-behavior-strenght = [color=crimson]The pulsation power is significantly increased.[/color] -anomaly-behavior-moving = [color=crimson]Coordinate instability was detected.[/color] \ No newline at end of file +anomaly-behavior-moving = [color=crimson]Coordinate instability was detected.[/color] From 9d3edeb6413e87a98322ccaef4c39704fe17ca8e Mon Sep 17 00:00:00 2001 From: Token <56667933+TokenStyle@users.noreply.github.com> Date: Sun, 3 Aug 2025 05:27:49 +0500 Subject: [PATCH 068/149] parrotMemory is onGetVerbs now in shared (#39341) * parrotMemory is onGetVerbs now in shared * code review * code review popup on client rename parrotMemoryComponent * code rev create client system * forgot usings * is server now --- .../Animals/Systems/ParrotMemorySystem.cs | 5 ++ .../Animals/Systems/ParrotMemorySystem.cs | 32 ++----------- .../Components/ParrotMemoryComponent.cs | 26 +++++----- .../Systems/SharedParrotMemorySystem.cs | 48 +++++++++++++++++++ 4 files changed, 71 insertions(+), 40 deletions(-) create mode 100644 Content.Client/Animals/Systems/ParrotMemorySystem.cs rename {Content.Server => Content.Shared}/Animals/Components/ParrotMemoryComponent.cs (67%) create mode 100644 Content.Shared/Animals/Systems/SharedParrotMemorySystem.cs diff --git a/Content.Client/Animals/Systems/ParrotMemorySystem.cs b/Content.Client/Animals/Systems/ParrotMemorySystem.cs new file mode 100644 index 0000000000..cdf62a4eae --- /dev/null +++ b/Content.Client/Animals/Systems/ParrotMemorySystem.cs @@ -0,0 +1,5 @@ +using Content.Shared.Animals.Systems; + +namespace Content.Client.Animals.Systems; + +public sealed class ParrotMemorySystem : SharedParrotMemorySystem; diff --git a/Content.Server/Animals/Systems/ParrotMemorySystem.cs b/Content.Server/Animals/Systems/ParrotMemorySystem.cs index eb3429821c..56843094a1 100644 --- a/Content.Server/Animals/Systems/ParrotMemorySystem.cs +++ b/Content.Server/Animals/Systems/ParrotMemorySystem.cs @@ -8,10 +8,10 @@ using Content.Server.Radio; using Content.Server.Speech; using Content.Server.Speech.Components; using Content.Server.Vocalization.Systems; +using Content.Shared.Animals.Components; +using Content.Shared.Animals.Systems; using Content.Shared.Database; using Content.Shared.Mobs.Systems; -using Content.Shared.Popups; -using Content.Shared.Verbs; using Content.Shared.Whitelist; using Robust.Shared.Network; using Robust.Shared.Random; @@ -25,7 +25,7 @@ namespace Content.Server.Animals.Systems; /// (radiovocalizer) and stores them in a list. When an entity with a VocalizerComponent attempts to vocalize, this will /// try to set the message from memory. /// -public sealed partial class ParrotMemorySystem : EntitySystem +public sealed partial class ParrotMemorySystem : SharedParrotMemorySystem { [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; @@ -42,8 +42,6 @@ public sealed partial class ParrotMemorySystem : EntitySystem SubscribeLocalEvent(OnErase); - SubscribeLocalEvent>(OnGetVerbs); - SubscribeLocalEvent(ListenerOnMapInit); SubscribeLocalEvent(OnListen); @@ -57,30 +55,6 @@ public sealed partial class ParrotMemorySystem : EntitySystem DeletePlayerMessages(args.PlayerNetUserId); } - private void OnGetVerbs(Entity entity, ref GetVerbsEvent args) - { - var user = args.User; - - // limit this to admins - if (!_admin.IsAdmin(user)) - return; - - // simple verb that just clears the memory list - var clearMemoryVerb = new Verb() - { - Text = Loc.GetString("parrot-verb-clear-memory"), - Category = VerbCategory.Admin, - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/AdminActions/clear-parrot.png")), - Act = () => - { - entity.Comp.SpeechMemories.Clear(); - _popup.PopupEntity(Loc.GetString("parrot-popup-memory-cleared"), entity, user, PopupType.Medium); - }, - }; - - args.Verbs.Add(clearMemoryVerb); - } - private void ListenerOnMapInit(Entity entity, ref MapInitEvent args) { // If an entity has a ParrotListenerComponent it really ought to have an ActiveListenerComponent diff --git a/Content.Server/Animals/Components/ParrotMemoryComponent.cs b/Content.Shared/Animals/Components/ParrotMemoryComponent.cs similarity index 67% rename from Content.Server/Animals/Components/ParrotMemoryComponent.cs rename to Content.Shared/Animals/Components/ParrotMemoryComponent.cs index 69908a0a9e..e1c5ba8ed9 100644 --- a/Content.Server/Animals/Components/ParrotMemoryComponent.cs +++ b/Content.Shared/Animals/Components/ParrotMemoryComponent.cs @@ -1,57 +1,61 @@ +using Content.Shared.Animals.Systems; +using Robust.Shared.GameStates; using Robust.Shared.Network; +using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -namespace Content.Server.Animals.Components; +namespace Content.Shared.Animals.Components; /// -/// Makes an entity able to memorize chat/radio messages +/// Makes an entity able to memorize chat/radio messages. /// -[RegisterComponent] +[RegisterComponent, NetworkedComponent] [AutoGenerateComponentPause] public sealed partial class ParrotMemoryComponent : Component { /// - /// List of SpeechMemory records this entity has learned + /// List of SpeechMemory records this entity has learned. /// [DataField] - public List SpeechMemories = []; + public List SpeechMemories = new(); /// - /// The % chance an entity with this component learns a phrase when learning is off cooldown + /// The % chance an entity with this component learns a phrase when learning is off cooldown. /// [DataField] public float LearnChance = 0.6f; /// - /// Time after which another attempt can be made at learning a phrase + /// Time after which another attempt can be made at learning a phrase. /// [DataField] public TimeSpan LearnCooldown = TimeSpan.FromMinutes(1); /// - /// Next time at which the parrot can attempt to learn something + /// Next time at which the parrot can attempt to learn something. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoPausedField] public TimeSpan NextLearnInterval = TimeSpan.Zero; /// - /// The number of speech entries that are remembered + /// The number of speech entries that are remembered. /// [DataField] public int MaxSpeechMemory = 50; /// - /// Minimum length of a speech entry + /// Minimum length of a speech entry. /// [DataField] public int MinEntryLength = 4; /// - /// Maximum length of a speech entry + /// Maximum length of a speech entry. /// [DataField] public int MaxEntryLength = 50; } +[Serializable, NetSerializable] public record struct SpeechMemory(NetUserId? NetUserId, string Message); diff --git a/Content.Shared/Animals/Systems/SharedParrotMemorySystem.cs b/Content.Shared/Animals/Systems/SharedParrotMemorySystem.cs new file mode 100644 index 0000000000..fb8e3309ea --- /dev/null +++ b/Content.Shared/Animals/Systems/SharedParrotMemorySystem.cs @@ -0,0 +1,48 @@ +using Content.Shared.Administration.Managers; +using Content.Shared.Animals.Components; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Robust.Shared.Network; +using Robust.Shared.Utility; + +namespace Content.Shared.Animals.Systems; + +public abstract class SharedParrotMemorySystem : EntitySystem +{ + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly ISharedAdminManager _admin = default!; + [Dependency] private readonly INetManager _net = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(OnGetVerbs); + } + + private void OnGetVerbs(Entity entity, ref GetVerbsEvent args) + { + var user = args.User; + + // limit this to admins + if (!_admin.IsAdmin(user)) + return; + + // simple verb that just clears the memory list + var clearMemoryVerb = new Verb() + { + Text = Loc.GetString("parrot-verb-clear-memory"), + Category = VerbCategory.Admin, + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/AdminActions/clear-parrot.png")), + Act = () => + { + _popup.PopupClient(Loc.GetString("parrot-popup-memory-cleared"), entity.Owner, user); + + if (_net.IsServer) + entity.Comp.SpeechMemories.Clear(); + }, + }; + + args.Verbs.Add(clearMemoryVerb); + } +} From 06581a004541e12caabe49164fd62533d8ab47ee Mon Sep 17 00:00:00 2001 From: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com> Date: Sat, 2 Aug 2025 17:34:36 -0700 Subject: [PATCH 069/149] Fix rotate verbs not being predicted (#38165) * Fix rotate verbs not being predicted * fixes --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Rotatable/FlippableComponent.cs | 15 -- Content.Server/Rotatable/RotatableSystem.cs | 197 ---------------- .../Rotatable/FlippableComponent.cs | 17 ++ .../Rotatable/RotatableComponent.cs | 47 ++-- Content.Shared/Rotatable/RotatableSystem.cs | 213 ++++++++++++++++++ .../components/rotatable-component.ftl | 3 + 6 files changed, 257 insertions(+), 235 deletions(-) delete mode 100644 Content.Server/Rotatable/FlippableComponent.cs delete mode 100644 Content.Server/Rotatable/RotatableSystem.cs create mode 100644 Content.Shared/Rotatable/FlippableComponent.cs create mode 100644 Content.Shared/Rotatable/RotatableSystem.cs diff --git a/Content.Server/Rotatable/FlippableComponent.cs b/Content.Server/Rotatable/FlippableComponent.cs deleted file mode 100644 index 98eb0f6d5c..0000000000 --- a/Content.Server/Rotatable/FlippableComponent.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; - -namespace Content.Server.Rotatable -{ - [RegisterComponent] - public sealed partial class FlippableComponent : Component - { - /// - /// Entity to replace this entity with when the current one is 'flipped'. - /// - [DataField("mirrorEntity", required: true, customTypeSerializer: typeof(PrototypeIdSerializer))] - public string MirrorEntity = default!; - } -} diff --git a/Content.Server/Rotatable/RotatableSystem.cs b/Content.Server/Rotatable/RotatableSystem.cs deleted file mode 100644 index 5190b0e92e..0000000000 --- a/Content.Server/Rotatable/RotatableSystem.cs +++ /dev/null @@ -1,197 +0,0 @@ -using Content.Server.Popups; -using Content.Shared.ActionBlocker; -using Content.Shared.Input; -using Content.Shared.Interaction; -using Content.Shared.Rotatable; -using Content.Shared.Verbs; -using Robust.Shared.Input.Binding; -using Robust.Shared.Map; -using Robust.Shared.Player; -using Robust.Shared.Physics; -using Robust.Shared.Physics.Components; -using Robust.Shared.Utility; - -namespace Content.Server.Rotatable -{ - /// - /// Handles verbs for the and components. - /// - public sealed class RotatableSystem : EntitySystem - { - [Dependency] private readonly PopupSystem _popup = default!; - [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!; - [Dependency] private readonly SharedInteractionSystem _interaction = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - - public override void Initialize() - { - SubscribeLocalEvent>(AddFlipVerb); - SubscribeLocalEvent>(AddRotateVerbs); - - CommandBinds.Builder - .Bind(ContentKeyFunctions.RotateObjectClockwise, new PointerInputCmdHandler(HandleRotateObjectClockwise)) - .Bind(ContentKeyFunctions.RotateObjectCounterclockwise, new PointerInputCmdHandler(HandleRotateObjectCounterclockwise)) - .Bind(ContentKeyFunctions.FlipObject, new PointerInputCmdHandler(HandleFlipObject)) - .Register(); - } - - private void AddFlipVerb(EntityUid uid, FlippableComponent component, GetVerbsEvent args) - { - if (!args.CanAccess - || !args.CanInteract - || !args.CanComplexInteract) - return; - - // Check if the object is anchored. - if (TryComp(uid, out PhysicsComponent? physics) && physics.BodyType == BodyType.Static) - return; - - Verb verb = new() - { - Act = () => Flip(uid, component), - Text = Loc.GetString("flippable-verb-get-data-text"), - Category = VerbCategory.Rotate, - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/flip.svg.192dpi.png")), - Priority = -3, // show flip last - DoContactInteraction = true - }; - args.Verbs.Add(verb); - } - - private void AddRotateVerbs(EntityUid uid, RotatableComponent component, GetVerbsEvent args) - { - if (!args.CanAccess - || !args.CanInteract - || !args.CanComplexInteract - || Transform(uid).NoLocalRotation) // Good ol prototype inheritance, eh? - return; - - // Check if the object is anchored, and whether we are still allowed to rotate it. - if (!component.RotateWhileAnchored && - TryComp(uid, out PhysicsComponent? physics) && - physics.BodyType == BodyType.Static) - return; - - Verb resetRotation = new() - { - DoContactInteraction = true, - Act = () => Comp(uid).LocalRotation = Angle.Zero, - Category = VerbCategory.Rotate, - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")), - Text = "Reset", - Priority = -2, // show CCW, then CW, then reset - CloseMenu = false, - }; - args.Verbs.Add(resetRotation); - - // rotate clockwise - Verb rotateCW = new() - { - Act = () => Comp(uid).LocalRotation -= component.Increment, - Category = VerbCategory.Rotate, - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/rotate_cw.svg.192dpi.png")), - Priority = -1, - CloseMenu = false, // allow for easy double rotations. - }; - args.Verbs.Add(rotateCW); - - // rotate counter-clockwise - Verb rotateCCW = new() - { - Act = () => Comp(uid).LocalRotation += component.Increment, - Category = VerbCategory.Rotate, - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/rotate_ccw.svg.192dpi.png")), - Priority = 0, - CloseMenu = false, // allow for easy double rotations. - }; - args.Verbs.Add(rotateCCW); - } - - /// - /// Replace a flippable entity with it's flipped / mirror-symmetric entity. - /// - public void Flip(EntityUid uid, FlippableComponent component) - { - var oldTransform = Comp(uid); - var entity = Spawn(component.MirrorEntity, oldTransform.Coordinates); - var newTransform = Comp(entity); - newTransform.LocalRotation = oldTransform.LocalRotation; - _transform.Unanchor(entity, newTransform); - Del(uid); - } - - public bool HandleRotateObjectClockwise(ICommonSession? playerSession, EntityCoordinates coordinates, EntityUid entity) - { - if (playerSession?.AttachedEntity is not { Valid: true } player || !Exists(player)) - return false; - - if (!TryComp(entity, out var rotatableComp)) - return false; - - if (!_actionBlocker.CanInteract(player, entity) - || !_actionBlocker.CanComplexInteract(player) - || !_interaction.InRangeAndAccessible(player, entity)) - return false; - - // Check if the object is anchored, and whether we are still allowed to rotate it. - if (!rotatableComp.RotateWhileAnchored && TryComp(entity, out PhysicsComponent? physics) && - physics.BodyType == BodyType.Static) - { - _popup.PopupEntity(Loc.GetString("rotatable-component-try-rotate-stuck"), entity, player); - return false; - } - - Transform(entity).LocalRotation -= rotatableComp.Increment; - return true; - } - - public bool HandleRotateObjectCounterclockwise(ICommonSession? playerSession, EntityCoordinates coordinates, EntityUid entity) - { - if (playerSession?.AttachedEntity is not { Valid: true } player || !Exists(player)) - return false; - - if (!TryComp(entity, out var rotatableComp)) - return false; - - if (!_actionBlocker.CanInteract(player, entity) - || !_actionBlocker.CanComplexInteract(player) - || !_interaction.InRangeAndAccessible(player, entity)) - return false; - - // Check if the object is anchored, and whether we are still allowed to rotate it. - if (!rotatableComp.RotateWhileAnchored && TryComp(entity, out PhysicsComponent? physics) && - physics.BodyType == BodyType.Static) - { - _popup.PopupEntity(Loc.GetString("rotatable-component-try-rotate-stuck"), entity, player); - return false; - } - - Transform(entity).LocalRotation += rotatableComp.Increment; - return true; - } - - public bool HandleFlipObject(ICommonSession? playerSession, EntityCoordinates coordinates, EntityUid entity) - { - if (playerSession?.AttachedEntity is not { Valid: true } player || !Exists(player)) - return false; - - if (!TryComp(entity, out var flippableComp)) - return false; - - if (!_actionBlocker.CanInteract(player, entity) - || !_actionBlocker.CanComplexInteract(player) - || !_interaction.InRangeAndAccessible(player, entity)) - return false; - - // Check if the object is anchored. - if (TryComp(entity, out PhysicsComponent? physics) && physics.BodyType == BodyType.Static) - { - _popup.PopupEntity(Loc.GetString("flippable-component-try-flip-is-stuck"), entity, player); - return false; - } - - Flip(entity, flippableComp); - return true; - } - } -} diff --git a/Content.Shared/Rotatable/FlippableComponent.cs b/Content.Shared/Rotatable/FlippableComponent.cs new file mode 100644 index 0000000000..fdc8c15c8a --- /dev/null +++ b/Content.Shared/Rotatable/FlippableComponent.cs @@ -0,0 +1,17 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Rotatable; + +/// +/// Allows an entity to be flipped (mirrored) by using a verb. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class FlippableComponent : Component +{ + /// + /// Entity to replace this entity with when the current one is 'flipped'. + /// + [DataField(required: true), AutoNetworkedField] + public EntProtoId MirrorEntity = default!; +} diff --git a/Content.Shared/Rotatable/RotatableComponent.cs b/Content.Shared/Rotatable/RotatableComponent.cs index b008c28160..336c484d8c 100644 --- a/Content.Shared/Rotatable/RotatableComponent.cs +++ b/Content.Shared/Rotatable/RotatableComponent.cs @@ -1,27 +1,28 @@ -namespace Content.Shared.Rotatable +using Robust.Shared.GameStates; + +namespace Content.Shared.Rotatable; + +/// +/// Allows an entity to be rotated by using a verb. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class RotatableComponent : Component { - [RegisterComponent] - public sealed partial class RotatableComponent : Component - { - /// - /// If true, this entity can be rotated even while anchored. - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("rotateWhileAnchored")] - public bool RotateWhileAnchored { get; private set; } + /// + /// If true, this entity can be rotated even while anchored. + /// + [DataField, AutoNetworkedField] + public bool RotateWhileAnchored; - /// - /// If true, will rotate entity in players direction when pulled - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("rotateWhilePulling")] - public bool RotateWhilePulling { get; private set; } = true; + /// + /// If true, will rotate entity in players direction when pulled + /// + [DataField, AutoNetworkedField] + public bool RotateWhilePulling = true; - /// - /// The angular value to change when using the rotate verbs. - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("increment")] - public Angle Increment { get; private set; } = Angle.FromDegrees(90); - } + /// + /// The angular value to change when using the rotate verbs. + /// + [DataField, AutoNetworkedField] + public Angle Increment = Angle.FromDegrees(90); } diff --git a/Content.Shared/Rotatable/RotatableSystem.cs b/Content.Shared/Rotatable/RotatableSystem.cs new file mode 100644 index 0000000000..94d9206247 --- /dev/null +++ b/Content.Shared/Rotatable/RotatableSystem.cs @@ -0,0 +1,213 @@ +using Content.Shared.ActionBlocker; +using Content.Shared.Input; +using Content.Shared.Interaction; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Robust.Shared.Input.Binding; +using Robust.Shared.Map; +using Robust.Shared.Physics; +using Robust.Shared.Physics.Components; +using Robust.Shared.Player; +using Robust.Shared.Utility; + +namespace Content.Shared.Rotatable; + +/// +/// Handles verbs for the and components. +/// +public sealed class RotatableSystem : EntitySystem +{ + [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!; + [Dependency] private readonly SharedInteractionSystem _interaction = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + + public override void Initialize() + { + SubscribeLocalEvent>(AddFlipVerb); + SubscribeLocalEvent>(AddRotateVerbs); + + CommandBinds.Builder + .Bind(ContentKeyFunctions.RotateObjectClockwise, new PointerInputCmdHandler(HandleRotateObjectClockwise)) + .Bind(ContentKeyFunctions.RotateObjectCounterclockwise, new PointerInputCmdHandler(HandleRotateObjectCounterclockwise)) + .Bind(ContentKeyFunctions.FlipObject, new PointerInputCmdHandler(HandleFlipObject)) + .Register(); + } + + private void AddFlipVerb(EntityUid uid, FlippableComponent component, GetVerbsEvent args) + { + if (!args.CanAccess + || !args.CanInteract + || !args.CanComplexInteract) + return; + + // Check if the object is anchored. + if (TryComp(uid, out var physics) && physics.BodyType == BodyType.Static) + return; + + Verb verb = new() + { + Act = () => Flip(uid, component), + Text = Loc.GetString("flippable-verb-get-data-text"), + Category = VerbCategory.Rotate, + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/flip.svg.192dpi.png")), + Priority = -3, // show flip last + DoContactInteraction = true + }; + args.Verbs.Add(verb); + } + + private void AddRotateVerbs(EntityUid uid, RotatableComponent component, GetVerbsEvent args) + { + if (!args.CanAccess + || !args.CanInteract + || !args.CanComplexInteract + || Transform(uid).NoLocalRotation) // Good ol prototype inheritance, eh? + return; + + // Check if the object is anchored, and whether we are still allowed to rotate it. + if (!component.RotateWhileAnchored && + TryComp(uid, out var physics) && + physics.BodyType == BodyType.Static) + return; + + Verb resetRotation = new() + { + DoContactInteraction = true, + Act = () => ResetRotation(uid), + Category = VerbCategory.Rotate, + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")), + Text = Loc.GetString("rotate-reset-verb-get-data-text"), + Priority = -2, // show CCW, then CW, then reset + CloseMenu = false, + }; + args.Verbs.Add(resetRotation); + + // rotate clockwise + Verb rotateCW = new() + { + Act = () => Rotate(uid, -component.Increment), + Category = VerbCategory.Rotate, + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/rotate_cw.svg.192dpi.png")), + Text = Loc.GetString("rotate-verb-get-data-text"), + Priority = -1, + CloseMenu = false, // allow for easy double rotations. + }; + args.Verbs.Add(rotateCW); + + // rotate counter-clockwise + Verb rotateCCW = new() + { + Act = () => Rotate(uid, component.Increment), + Category = VerbCategory.Rotate, + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/rotate_ccw.svg.192dpi.png")), + Text = Loc.GetString("rotate-counter-verb-get-data-text"), + Priority = 0, + CloseMenu = false, // allow for easy double rotations. + }; + args.Verbs.Add(rotateCCW); + } + + /// + /// Replace a flippable entity with it's flipped / mirror-symmetric entity. + /// + public void Flip(EntityUid uid, FlippableComponent component) + { + var oldTransform = Comp(uid); + var entity = PredictedSpawnAtPosition(component.MirrorEntity, oldTransform.Coordinates); + var newTransform = Comp(entity); + _transform.SetLocalRotation(entity, oldTransform.LocalRotation); + _transform.Unanchor(entity, newTransform); + PredictedDel(uid); + } + + private bool HandleRotateObjectClockwise(ICommonSession? playerSession, EntityCoordinates coordinates, EntityUid entity) + { + if (playerSession?.AttachedEntity is not { Valid: true } player || !Exists(player)) + return false; + + if (!TryComp(entity, out var rotatableComp)) + return false; + + if (!_actionBlocker.CanInteract(player, entity) + || !_actionBlocker.CanComplexInteract(player) + || !_interaction.InRangeAndAccessible(player, entity)) + return false; + + // Check if the object is anchored, and whether we are still allowed to rotate it. + if (!rotatableComp.RotateWhileAnchored && TryComp(entity, out var physics) && + physics.BodyType == BodyType.Static) + { + _popup.PopupClient(Loc.GetString("rotatable-component-try-rotate-stuck"), entity, player); + return false; + } + + Rotate(entity, -rotatableComp.Increment); + return false; + } + + private bool HandleRotateObjectCounterclockwise(ICommonSession? playerSession, EntityCoordinates coordinates, EntityUid entity) + { + if (playerSession?.AttachedEntity is not { Valid: true } player || !Exists(player)) + return false; + + if (!TryComp(entity, out var rotatableComp)) + return false; + + if (!_actionBlocker.CanInteract(player, entity) + || !_actionBlocker.CanComplexInteract(player) + || !_interaction.InRangeAndAccessible(player, entity)) + return false; + + // Check if the object is anchored, and whether we are still allowed to rotate it. + if (!rotatableComp.RotateWhileAnchored && TryComp(entity, out var physics) && + physics.BodyType == BodyType.Static) + { + _popup.PopupClient(Loc.GetString("rotatable-component-try-rotate-stuck"), entity, player); + return false; + } + + Rotate(entity, rotatableComp.Increment); + return false; + } + + private bool HandleFlipObject(ICommonSession? playerSession, EntityCoordinates coordinates, EntityUid entity) + { + if (playerSession?.AttachedEntity is not { Valid: true } player || !Exists(player)) + return false; + + if (!TryComp(entity, out var flippableComp)) + return false; + + if (!_actionBlocker.CanInteract(player, entity) + || !_actionBlocker.CanComplexInteract(player) + || !_interaction.InRangeAndAccessible(player, entity)) + return false; + + // Check if the object is anchored. + if (TryComp(entity, out var physics) && physics.BodyType == BodyType.Static) + { + _popup.PopupClient(Loc.GetString("flippable-component-try-flip-is-stuck"), entity, player); + return false; + } + + Flip(entity, flippableComp); + return false; + } + + private void Rotate(Entity ent, Angle angle) + { + if (!Resolve(ent, ref ent.Comp, false)) + return; + + _transform.SetLocalRotation(ent.Owner, ent.Comp.LocalRotation + angle); + } + + private void ResetRotation(Entity ent) + { + if (!Resolve(ent, ref ent.Comp, false)) + return; + + _transform.SetLocalRotation(ent.Owner, Angle.Zero); + } +} diff --git a/Resources/Locale/en-US/rotation/components/rotatable-component.ftl b/Resources/Locale/en-US/rotation/components/rotatable-component.ftl index bc23e488fb..18d8d55bdd 100644 --- a/Resources/Locale/en-US/rotation/components/rotatable-component.ftl +++ b/Resources/Locale/en-US/rotation/components/rotatable-component.ftl @@ -6,3 +6,6 @@ rotate-verb-get-data-text = Rotate clockwise # RotateCounterVerb rotate-counter-verb-get-data-text = Rotate counter-clockwise + +# ResetVerb +rotate-reset-verb-get-data-text = Reset From 8c317838555705b1ca005e6d124cbfb8a4681b70 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 3 Aug 2025 00:35:45 +0000 Subject: [PATCH 070/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index d607de60ab..a1c30679aa 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: sowelipililimute - changes: - - message: The Funding Allocation Computer can now adjust the cut Cargo takes from - lockbox sales - type: Add - - message: The Funding Allocation Computer doesn't show Cargo separately from its - 75% cut - type: Tweak - id: 8313 - time: '2025-04-22T12:34:53.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/36790 - author: yuitop changes: - message: Fingerless gloves no more blocking taking the fingerprint. @@ -3905,3 +3894,11 @@ id: 8824 time: '2025-08-02T18:35:09.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/38881 +- author: DrSmugleaf + changes: + - message: Fixed rotate verbs being delayed when used, and your right click UI bounce + when they appear after a short delay. + type: Fix + id: 8825 + time: '2025-08-03T00:34:37.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/38165 From 577c10d8584da41fff321a5cbc595643b43aaf84 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 3 Aug 2025 02:46:08 +0200 Subject: [PATCH 071/149] Update Credits (#39343) Co-authored-by: PJBot --- Resources/Credits/GitHub.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt index d171df5b5d..f1a069de14 100644 --- a/Resources/Credits/GitHub.txt +++ b/Resources/Credits/GitHub.txt @@ -1 +1 @@ -0leshe, 0tito, 0x6273, 12rabbits, 1337dakota, 13spacemen, 154942, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, 96flo, aaron, abadaba695, Ablankmann, abregado, Absolute-Potato, Absotively, achookh, Acruid, ActiveMammmoth, actually-reb, ada-please, adamsong, Adeinitas, adm2play, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aearo-Deepwater, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, afrokada, AftrLite, AgentSmithRadio, Agoichi, Ahion, aiden, Aidenkrz, Aisu9, ajcm, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexum418, alexumandxgabriel08x, Alice4267, Alithsko, alliephante, ALMv1, Alpaccalypse, Alpha-Two, AlphaQwerty, Altoids1, amatwiedle, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, ApolloVector, Appiah, ar4ill, archee1, ArchPigeon, ArchRBX, areitpog, Arendian, areyouconfused, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, AverageNotDoingAnythingEnjoyer, avghdev, Awlod, AzzyIsNotHere, azzyisnothere, B-Kirill, B3CKDOOR, baa14453, BackeTako, Bakke, BananaFlambe, Baptr0b0t, BarryNorfolk, BasedUser, beck-thompson, beesterman, bellwetherlogic, ben, benbryant0, benev0, benjamin-burges, BGare, bhespiritu, bibbly, BigfootBravo, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, blitzthesquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, Bokser815, bolantej, Booblesnoot42, Boolean-Buckeye, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, BWTCK, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, Camdot, capnsockless, CaptainMaru, captainsqrbeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, catdotjs, catlord, Catofquestionableethics, CatTheSystem, Centronias, Chaboricks, chairbender, Chaoticaa, Charlese2, charlie, chartman, ChaseFlorom, chavonadelal, Cheackraze, CheddaCheez, cheesePizza2, CheesePlated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, ciaran, citrea, civilCornball, claustro305, Clement-O, clyf, Clyybber, CMDR-Piboy314, cnv41, coco, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, Compilatron144, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, cooperwallace, corentt, CormosLemming, CrafterKolyan, crazybrain23, Crazydave91920, creadth, CrigCrag, CroilBird, Crotalus, CrudeWax, cryals, CrzyPotato, cubixthree, cutemoongod, Cyberboss, d34d10cc, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, dan, dangerrevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, DeepwaterCreations, Deerstop, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, devinschubert14, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinnerCalzone, DinoWattz, Disp-Dev, DisposableCrewmember42, dissidentbullet, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, DR-DOCTOR-EVIL-EVIL, Dragonjspider, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, DuckManZach, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, dylanstrategie, dylanwhittingham, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, Entvari, eoineoineoin, ephememory, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, farrellka-dev, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, firenamefn, Firewars763, FirinMaLazors, Fishfish458, fl-oz, Flareguy, flashgnash, FlipBrooke, FluffiestFloof, FluffMe, FluidRock, flymo5678, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, foxhorn, freeman2651, freeze2222, frobnic8, Froffy025, Fromoriss, froozigiusz, FrostMando, FrostRibbon, Funce, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gamewar360, gansulalan, GaussiArson, Gaxeer, gbasood, gcoremans, Geekyhobo, genderGeometries, GeneralGaws, Genkail, Gentleman-Bird, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GnarpGnarp, GNF54, godisdeadLOL, goet, GoldenCan, Goldminermac, Golinth, golubgik, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GrownSamoyedDog, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Helix-ctrl, helm4142, Henry, HerCoyote23, HighTechPuddle, Hitlinemoss, hiucko, hivehum, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hoshizora, Hreno, Hrosts, htmlsystem, hubismal, Hugal31, Huxellberger, Hyenh, hyperb1, hyperDelegate, hyphenationc, i-justuser-i, iaada, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imatsoup, IMCB, impubbi, imrenq, imweax, indeano, Injazz, Insineer, insoPL, IntegerTempest, Interrobang01, Intoxicating-Innocence, IProduceWidgets, itsmethom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jacktastic09, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, jbox144, JCGWE30, jerryimmouse, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jkwookee, jmcb, JohnGinnane, johnku1, Jophire, joshepvodka, JpegOfAFrog, jproads, JrInventor05, Jrpl, jukereise, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, JustinWinningham, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, kaiserbirch, KaiShibaa, kalane15, kalanosh, KamTheSythe, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, KieueCaprie, Killerqu00, Kimpes, KingFroozy, kira-er, kiri-yoshikage, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, Kittygyat, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, kotobdev, Kowlin, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, LaCumbiaDelCoronavirus, lajolico, Lamrr, lanedon, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonidussaks, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, LevitatingTree, Lgibb18, lgruthes, LightVillet, liltenhead, linkbro1, linkuyx, Litraxx, little-meow-meow, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, ljm862, lmsnoise, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, lucas, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, Lusatia, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M1tht1c, M3739, mac6na6na, MACMAN2003, Macoron, magicalus, magmodius, MagnusCrowe, maland1, malchanceux, MaloTV, ManelNavola, manelnavola, Mangohydra, marboww, Markek1, matt, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, memeproof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, mifia, MilenVolf, MilonPL, Minemoder5000, Minty642, minus1over12, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterImp, MisterMecky, Mith-randalf, Mixelz, mjarduk, MjrLandWhale, mkanke-real, MLGTASTICa, mnva0, moderatelyaware, modern-nm, mokiros, momo, Moneyl, monotheonist, Moomoobeef, moony, Morb0, MossyGreySlope, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, murolem, musicmanvr, MWKane, Myakot, Myctai, N3X15, nabegator, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikitosych, nikthechampiongr, Nimfar11, ninruB, Nirnael, NIXC, nkokic, NkoKirkto, nmajask, noctyrnal, noelkathegod, noirogen, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, Nox38, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, Nyxilath, och-och, OctoRocket, OldDanceJacket, OliverOtter, onesch, OneZerooo0, OnyxTheBrave, Orange-Winds, OrangeMoronage9622, Orsoniks, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paige404, paigemaeforrest, pali6, Palladinium, Pangogie, panzer-iv1, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, perryprog, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, philingham, Phill101, Phooooooooooooooooooooooooooooooosphate, phunnyguy, PicklOH, PilgrimViis, Pill-U, pinkbat5, Piras314, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, poklj, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, PotRoastPiggy, Princess-Cheeseballs, ProfanedBane, PROG-MohamedDwidar, Prole0, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykana, psykzz, PuceTint, pumkin69, PuroSlavKing, PursuitInAshes, Putnam3145, py01, Pyrovi, qrtDaniil, qrwas, Quantum-cross, quatre, QueerNB, QuietlyWhisper, qwerltaz, Radezolid, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, RedBookcase, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, ReeZer2, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, rhsvenson, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, rlebell33, RobbyTheFish, robinthedragon, Rockdtben, Rohesie, rok-povsic, rokudara-sen, rolfero, RomanNovo, rosieposieeee, Roudenn, router, ruddygreat, rumaks, RumiTiger, Ruzihm, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, Samuka-C, SaphireLattice, SapphicOverload, sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, schrodinger71, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, SeamLesss, Segonist, semensponge, sephtasm, Serkket, sewerpig, SG6732, sh18rw, Shaddap1, ShadeAware, ShadowCommander, shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SharkSnake98, shibechef, SignalWalker, siigiil, silicon14wastaken, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skybailey-dev, Skyedra, SlamBamActionman, slarticodefast, Slava0135, sleepyyapril, slimmslamm, Slyfox333, Smugman, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, solstar2, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, soupkilove, southbridge-fur, sowelipililimute, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, Spangs04, spanky-spanky, Sparlight, spartak, SpartanKadence, spderman3333, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, starbuckss14, Stealthbomber16, stellar-novas, stewie523, stomf, Stop-Signs, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, supergdpwyl, superjj18, Supernorn, SweptWasTaken, SyaoranFox, Sybil, SYNCHRONIC, Szunti, t, Tainakov, takemysoult, tap, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TeenSarlacc, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, Tezzaide, TGODiamond, TGRCdev, tgrkzus, ThatGuyUSA, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, TheBlueYowie, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheFlyingSentry, TheIntoxicatedCat, thekilk, themias, theomund, TheProNoob678, TherapyGoth, ThereDrD0, TheShuEd, thetolbean, thevinter, TheWaffleJesus, thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, TiniestShark, Titian3, tk-a369, tkdrg, tmtmtl30, ToastEnjoyer, Toby222, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, tornado-technology, TornadoTechnology, tosatur, TotallyLemon, ToxicSonicFan04, Tr1bute, treytipton, trixxedbit, TrixxedHeart, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, tyashley, Tyler-IN, TytosB, Tyzemol, UbaserB, ubis1, UBlueberry, uhbg, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, unusualcrow, Uriende, UristMcDorf, user424242420, Utmanarn, Vaaankas, valentfingerov, valquaint, Varen, Vasilis, VasilisThePikachu, veliebm, Velken, VelonacepsCalyxEggs, veprolet, VerinSenpai, veritable-calamity, Veritius, Vermidia, vero5123, verslebas, vexerot, viceemargo, VigersRay, violet754, Visne, vitusveit, vlad, vlados1408, VMSolidus, vmzd, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, Vortebo, vulppine, wafehling, walksanatora, Warentan, WarMechanic, Watermelon914, weaversam8, wertanchik, whateverusername0, whatston3, widgetbeck, Will-Oliver-Br, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, Wolfkey-SomeoneElseTookMyUsername, wrexbe, WTCWR68, xeri7, xkreksx, xprospero, xRiriq, xsainteer, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, YoungThugSS14, Yousifb26, youtissoum, yunii, yuriykiss, YuriyKiss, zach-hill, Zadeon, Zalycon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, ZeWaka, zHonys, zionnBE, ZNixian, Zokkie, ZoldorfTheWizard, zonespace27, Zylofan, Zymem, zzylex +0leshe, 0tito, 0x6273, 12rabbits, 1337dakota, 13spacemen, 154942, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, 96flo, aaron, abadaba695, Ablankmann, abregado, Absolute-Potato, Absotively, achookh, Acruid, ActiveMammmoth, actually-reb, ada-please, adamsong, Adeinitas, adm2play, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aearo-Deepwater, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, afrokada, AftrLite, AgentSmithRadio, Agoichi, Ahion, aiden, Aidenkrz, Aisu9, ajcm, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexum418, alexumandxgabriel08x, Alice4267, Alithsko, Alkheemist, alliephante, ALMv1, Alpaccalypse, Alpha-Two, AlphaQwerty, Altoids1, amatwiedle, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, ApolloVector, Appiah, ar4ill, Arcane-Waffle, archee1, ArchPigeon, ArchRBX, areitpog, Arendian, areyouconfused, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, AverageNotDoingAnythingEnjoyer, avghdev, Awlod, azzyisnothere, AzzyIsNotHere, B-Kirill, B3CKDOOR, baa14453, BackeTako, Bakke, BananaFlambe, Baptr0b0t, BarryNorfolk, BasedUser, beck-thompson, beesterman, bellwetherlogic, ben, benbryant0, benev0, benjamin-burges, BGare, bhespiritu, bibbly, BigfootBravo, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, blitzthesquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, Bokser815, bolantej, Booblesnoot42, Boolean-Buckeye, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, BWTCK, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, Camdot, capnsockless, CaptainMaru, captainsqrbeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, catdotjs, catlord, Catofquestionableethics, CatTheSystem, Centronias, Chaboricks, chairbender, Chaoticaa, Charlese2, charlie, chartman, ChaseFlorom, chavonadelal, Cheackraze, CheddaCheez, cheesePizza2, CheesePlated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, ciaran, citrea, civilCornball, claustro305, Clement-O, clyf, Clyybber, CMDR-Piboy314, cnv41, coco, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, Compilatron144, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, cooperwallace, corentt, CormosLemming, CrafterKolyan, crazybrain23, Crazydave91920, creadth, CrigCrag, CroilBird, Crotalus, CrudeWax, cryals, CrzyPotato, cubixthree, cutemoongod, Cyberboss, d34d10cc, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, dan, dangerrevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, DeepwaterCreations, Deerstop, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, devinschubert14, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinnerCalzone, DinoWattz, Disp-Dev, DisposableCrewmember42, dissidentbullet, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, DR-DOCTOR-EVIL-EVIL, Dragonjspider, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, DuckManZach, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, dylanstrategie, dylanwhittingham, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, EnrichedCaramel, Entvari, eoineoineoin, ephememory, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, farrellka-dev, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, firenamefn, Firewars763, FirinMaLazors, Fishfish458, fl-oz, Flareguy, flashgnash, FlipBrooke, FluffiestFloof, FluffMe, FluidRock, flymo5678, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, foxhorn, freeman2651, freeze2222, frobnic8, Froffy025, Fromoriss, froozigiusz, FrostMando, FrostRibbon, Funce, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gamewar360, gansulalan, GaussiArson, Gaxeer, gbasood, gcoremans, Geekyhobo, genderGeometries, GeneralGaws, Genkail, Gentleman-Bird, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GnarpGnarp, GNF54, godisdeadLOL, goet, GoldenCan, Goldminermac, Golinth, golubgik, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GrownSamoyedDog, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Helix-ctrl, helm4142, Henry, HerCoyote23, HighTechPuddle, Hitlinemoss, hiucko, hivehum, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hoshizora, Hreno, Hrosts, htmlsystem, hubismal, Hugal31, Huxellberger, Hyenh, hyperb1, hyperDelegate, hyphenationc, i-justuser-i, iaada, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imatsoup, IMCB, impubbi, imrenq, imweax, indeano, Injazz, Insineer, insoPL, IntegerTempest, Interrobang01, Intoxicating-Innocence, IProduceWidgets, itsmethom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jacktastic09, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, jbox144, JCGWE30, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jkwookee, jmcb, JohnGinnane, johnku1, Jophire, joshepvodka, JpegOfAFrog, jproads, JrInventor05, Jrpl, jukereise, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, JustinWinningham, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, kaiserbirch, KaiShibaa, kalane15, kalanosh, KamTheSythe, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, KieueCaprie, Killerqu00, Kimpes, KingFroozy, kira-er, kiri-yoshikage, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, Kittygyat, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kontakt, kosticia, koteq, kotobdev, Kowlin, KrasnoshchekovPavel, Krosus777, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, LaCumbiaDelCoronavirus, lajolico, Lamrr, lanedon, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonidussaks, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, LevitatingTree, Lgibb18, lgruthes, LightVillet, liltenhead, linkbro1, linkuyx, Litraxx, little-meow-meow, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, ljm862, lmsnoise, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, lucas, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, Lusatia, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M1tht1c, M3739, mac6na6na, MACMAN2003, Macoron, magicalus, magmodius, MagnusCrowe, maland1, malchanceux, MaloTV, ManelNavola, manelnavola, Mangohydra, marboww, Markek1, matt, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, memeproof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, mifia, MilenVolf, MilonPL, Minemoder5000, Minty642, minus1over12, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterImp, MisterMecky, Mith-randalf, Mixelz, mjarduk, MjrLandWhale, mkanke-real, MLGTASTICa, mnva0, moderatelyaware, modern-nm, mokiros, momo, Moneyl, monotheonist, Moomoobeef, moony, Morb0, MossyGreySlope, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, murolem, musicmanvr, MWKane, Myakot, Myctai, N3X15, nabegator, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikitosych, nikthechampiongr, Nimfar11, ninruB, Nirnael, NIXC, nkokic, NkoKirkto, nmajask, noctyrnal, noelkathegod, noirogen, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, Nox38, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, Nyxilath, och-och, OctoRocket, OldDanceJacket, OliverOtter, onesch, OneZerooo0, OnyxTheBrave, Orange-Winds, OrangeMoronage9622, Orsoniks, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paige404, paigemaeforrest, pali6, Palladinium, Pangogie, panzer-iv1, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, perryprog, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, philingham, Phill101, Phooooooooooooooooooooooooooooooosphate, phunnyguy, PicklOH, PilgrimViis, Pill-U, pinkbat5, Piras314, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, poklj, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, PotRoastPiggy, Princess-Cheeseballs, ProfanedBane, PROG-MohamedDwidar, Prole0, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykana, psykzz, PuceTint, pumkin69, PuroSlavKing, PursuitInAshes, Putnam3145, py01, Pyrovi, qrtDaniil, qrwas, Quantum-cross, quatre, QueerNB, QuietlyWhisper, qwerltaz, Radezolid, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, RedBookcase, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, ReeZer2, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, rhsvenson, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, rlebell33, RobbyTheFish, robinthedragon, Rockdtben, Rohesie, rok-povsic, rokudara-sen, rolfero, RomanNovo, rosieposieeee, Roudenn, router, ruddygreat, rumaks, RumiTiger, Ruzihm, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, Samuka-C, SaphireLattice, SapphicOverload, sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, schrodinger71, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, SeamLesss, Segonist, semensponge, sephtasm, Serkket, sewerpig, SG6732, sh18rw, Shaddap1, ShadeAware, ShadowCommander, shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SharkSnake98, shibechef, Siginanto, SignalWalker, siigiil, silicon14wastaken, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skybailey-dev, Skyedra, SlamBamActionman, slarticodefast, Slava0135, sleepyyapril, slimmslamm, Slyfox333, Smugman, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, solstar2, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, soupkilove, southbridge-fur, sowelipililimute, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, Spangs04, spanky-spanky, Sparlight, spartak, SpartanKadence, spderman3333, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, starbuckss14, Stealthbomber16, stellar-novas, stewie523, stomf, Stop-Signs, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, supergdpwyl, superjj18, Supernorn, SweptWasTaken, SyaoranFox, Sybil, SYNCHRONIC, Szunti, t, Tainakov, takemysoult, tap, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TeenSarlacc, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, Tezzaide, TGODiamond, TGRCdev, tgrkzus, ThatGuyUSA, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, TheBlueYowie, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheFlyingSentry, TheIntoxicatedCat, thekilk, themias, theomund, TheProNoob678, TherapyGoth, ThereDrD0, TheShuEd, thetolbean, thevinter, TheWaffleJesus, thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, TiniestShark, Titian3, tk-a369, tkdrg, tmtmtl30, ToastEnjoyer, Toby222, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, tornado-technology, TornadoTechnology, tosatur, TotallyLemon, ToxicSonicFan04, Tr1bute, treytipton, trixxedbit, TrixxedHeart, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, tyashley, Tyler-IN, TytosB, Tyzemol, UbaserB, ubis1, UBlueberry, uhbg, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, unusualcrow, Uriende, UristMcDorf, user424242420, Utmanarn, Vaaankas, valentfingerov, valquaint, Varen, Vasilis, VasilisThePikachu, veliebm, Velken, VelonacepsCalyxEggs, veprolet, VerinSenpai, veritable-calamity, Veritius, Vermidia, vero5123, verslebas, vexerot, viceemargo, VigersRay, violet754, Visne, vitusveit, vlad, vlados1408, VMSolidus, vmzd, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, Vortebo, vulppine, wafehling, walksanatora, Warentan, WarMechanic, Watermelon914, weaversam8, wertanchik, whateverusername0, whatston3, widgetbeck, Will-Oliver-Br, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, Wolfkey-SomeoneElseTookMyUsername, wrexbe, WTCWR68, xeri7, xkreksx, xprospero, xRiriq, xsainteer, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, YoungThugSS14, Yousifb26, youtissoum, yunii, YuriyKiss, yuriykiss, zach-hill, Zadeon, Zalycon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, ZeWaka, zHonys, zionnBE, ZNixian, Zokkie, ZoldorfTheWizard, zonespace27, Zylofan, Zymem, zzylex From bd3d5cff19d962f13e6763d5c0e64b4cccecadd8 Mon Sep 17 00:00:00 2001 From: ThatGuyUSA Date: Sat, 2 Aug 2025 19:19:17 -0700 Subject: [PATCH 072/149] Advanced Clowning Module (#35797) * pAIs can now accept keys, but can't talk in said channels * added dummy module * added adv clown module alongside projector * holopeel & projector sprite added, it's destroyable too * added experimental pie cannon * exp pie thrower throws pies, added tool icon, added bananium horn * removed the weird pAI changes, my bad! * okay NOW the pAI stuff is all gone * added icon, recipe, renamed tech for unlocking * removed bananium horn * Added in-hand sprites, credited to TiniestShark. Changed holopeel projector description to let the user know it recharges over time. --- .../Objects/Devices/holoprojectors.yml | 23 ++++- .../Specific/Robotics/borg_modules.yml | 20 +++++ .../Objects/Weapons/Guns/pneumatic_cannon.yml | 34 ++++++++ .../Structures/Holographic/projections.yml | 38 ++++++++ .../Recipes/Lathes/Packs/robotics.yml | 1 + .../Recipes/Lathes/robot_modules.yml | 10 +++ .../Prototypes/Research/civilianservices.yml | 1 + .../actions_borg.rsi/adv-clowning-module.png | Bin 0 -> 815 bytes .../Actions/actions_borg.rsi/meta.json | 5 +- .../Devices/Holoprojectors/peel.rsi/icon.png | Bin 0 -> 652 bytes .../Holoprojectors/peel.rsi/inhand-left.png | Bin 0 -> 813 bytes .../Holoprojectors/peel.rsi/inhand-right.png | Bin 0 -> 821 bytes .../Devices/Holoprojectors/peel.rsi/meta.json | 82 ++++++++++++++++++ .../borgmodule.rsi/icon-clown-adv.png | Bin 0 -> 474 bytes .../Robotics/borgmodule.rsi/meta.json | 3 + .../Structures/Holo/peel.rsi/icon.png | Bin 0 -> 1344 bytes .../Structures/Holo/peel.rsi/meta.json | 33 +++++++ 17 files changed, 248 insertions(+), 2 deletions(-) create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/adv-clowning-module.png create mode 100644 Resources/Textures/Objects/Devices/Holoprojectors/peel.rsi/icon.png create mode 100644 Resources/Textures/Objects/Devices/Holoprojectors/peel.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Devices/Holoprojectors/peel.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Devices/Holoprojectors/peel.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-clown-adv.png create mode 100644 Resources/Textures/Structures/Holo/peel.rsi/icon.png create mode 100644 Resources/Textures/Structures/Holo/peel.rsi/meta.json diff --git a/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml b/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml index 8acac47133..e1a15b7493 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml @@ -52,6 +52,27 @@ disableEject: true swap: false +- type: entity + parent: Holoprojector + id: HoloprojectorClownBorg + name: holopeel projector + description: A holopeel projector that creates a slippery, hard light banana peel. It recharges, so that the fun never ends! + suffix: borg + components: + - type: HolosignProjector + signProto: HoloPeel + chargeUse: 240 + - type: Sprite + sprite: Objects/Devices/Holoprojectors/peel.rsi + state: icon + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellMicroreactor + disableEject: true + swap: false + - type: entity parent: Holoprojector id: HolofanProjector @@ -89,7 +110,7 @@ parent: HolofanProjector id: HolofanProjectorBorg name: integrated holofan - description: Stops idiots from causing more crew harm during atmospheric emergencies. Installed directly into an engineering cyborg, it recharges over time. + description: Stops idiots from causing more crew harm during atmospheric emergencies. Installed directly into an engineering cyborg, it recharges over time. components: - type: ItemSlots slots: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index 96780dda80..215b0d8e52 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -899,6 +899,26 @@ - type: BorgModuleIcon icon: { sprite: Interface/Actions/actions_borg.rsi, state: clowning-module } +- type: entity + id: BorgModuleAdvancedClowning + parent: [ BaseBorgModuleService, BaseProviderBorgModule ] + name: advanced clowning cyborg module + description: Advanced service module for only the silliest cyborgs! Comes with a built-in oven that bakes pies automatically over time, a holopeel projector, and a push horn. + components: + - type: Sprite + layers: + - state: service + - state: icon-clown-adv + - type: ItemBorgModule + items: + - HoloprojectorClownBorg + - BorgLauncherCreamPie + - ClownRecorder + - PushHorn + - BikeHornInstrument + - type: BorgModuleIcon + icon: { sprite: Interface/Actions/actions_borg.rsi, state: adv-clowning-module } + #syndicate modules - type: entity id: BorgModuleSyndicateWeapon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml index 63a7acd257..cadc0f478a 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml @@ -103,6 +103,40 @@ containers: storagebase: !type:Container ents: [] + +- type: entity + name: experimental pie cannon + parent: BaseWeaponBattery + id: BorgLauncherCreamPie + description: Deliver a generous portion of cream directly to the crew! Automatically bakes pies over time. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Cannons/pie_cannon.rsi + layers: + - state: piecannon + - type: Gun + fireRate: 2 + selectedMode: SemiAuto + availableModes: + - SemiAuto + - FullAuto + soundGunshot: + path: /Audio/Effects/thunk.ogg + soundEmpty: + path: /Audio/Items/hiss.ogg + clumsyProof: true + - type: ProjectileBatteryAmmoProvider + proto: FoodPieBananaCream + fireCost: 30 + - type: Battery + maxCharge: 90 + startingCharge: 90 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 1 + - type: AmmoCounter + - type: Item + size: Normal - type: entity name: syringe gun diff --git a/Resources/Prototypes/Entities/Structures/Holographic/projections.yml b/Resources/Prototypes/Entities/Structures/Holographic/projections.yml index f9bf81695e..4867fc84d8 100644 --- a/Resources/Prototypes/Entities/Structures/Holographic/projections.yml +++ b/Resources/Prototypes/Entities/Structures/Holographic/projections.yml @@ -46,6 +46,44 @@ - type: Airtight noAirWhenFullyAirBlocked: false +- type: entity + id: HoloPeel + parent: HolosignWetFloor + name: holopeel + description: A banana peel made of slippery hard light, watch your step! + components: + - type: Sprite + sprite: Structures/Holo/peel.rsi + state: icon + - type: Physics + bodyType: Static + canCollide: true + - type: Slippery + - type: StepTrigger + intersectRatio: 0.2 + - type: CollisionWake + enabled: false + - type: Fixtures + fixtures: + slips: + shape: + !type:PhysShapeAabb + bounds: "-0.2,-0.2,0.2,0.2" + hard: false + layer: + - SlipLayer + - type: TimedDespawn + lifetime: 30 + - type: Clickable + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: entity id: HolosignSecurity parent: HolosignWetFloor diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/robotics.yml b/Resources/Prototypes/Recipes/Lathes/Packs/robotics.yml index 74483c4ebe..f22cde9c52 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/robotics.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/robotics.yml @@ -37,6 +37,7 @@ recipes: - BorgModuleAdvancedCleaning - BorgModuleAdvancedTool + - BorgModuleAdvancedClowning - BorgModuleAdvancedChemical - BorgModuleAdvancedMining diff --git a/Resources/Prototypes/Recipes/Lathes/robot_modules.yml b/Resources/Prototypes/Recipes/Lathes/robot_modules.yml index d7d112bba0..9210529a1d 100644 --- a/Resources/Prototypes/Recipes/Lathes/robot_modules.yml +++ b/Resources/Prototypes/Recipes/Lathes/robot_modules.yml @@ -68,3 +68,13 @@ # Science Modules # Service Modules + +- type: latheRecipe + parent: BaseGoldBorgModuleRecipe + id: BorgModuleAdvancedClowning + result: BorgModuleAdvancedClowning + materials: + Steel: 500 + Glass: 500 + Plastic: 250 + Bananium: 375 diff --git a/Resources/Prototypes/Research/civilianservices.yml b/Resources/Prototypes/Research/civilianservices.yml index d06b7c1ce5..c32169051c 100644 --- a/Resources/Prototypes/Research/civilianservices.yml +++ b/Resources/Prototypes/Research/civilianservices.yml @@ -199,6 +199,7 @@ cost: 4000 recipeUnlocks: - PushHorn + - BorgModuleAdvancedClowning # Tier 3 diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/adv-clowning-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/adv-clowning-module.png new file mode 100644 index 0000000000000000000000000000000000000000..3f546f2adb523581c62c7f3f423cfb86b5f6d4c2 GIT binary patch literal 815 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil;0(?STjg5_gOa?wl1}R;siBgs;EcI9D`!4lmS<2#m+1+H1iA1MF>!Vhd z1uUZFqOwb6CHo}#L-@Jvxy7o)1QP_A6(yOa`8n+51X5*$i{v>hMFg_d#JaVGiq&}| zl*L+=gmUG0gCs?pv_xwZ*ezta{T0}agn7Kgxjn^!*6!WHJrPK0l?3?(|0fnO7_Ima z1JuP?;1OBOz`&mX!i-fFuDw7(i4xa{lHmNblJdl&REB`W%)AmkKi3ciQ$0gH6QTRd znt^JzrABzBd3tIwZ~!^13{s4&42(dQ7Z6KB*`UzWU}Of1GXdF#j7$syKspMDGuv6f z;#oj82+VI|WOxA#bQq0hDFaYy0y_f>P^E#9u>s=(h^ZhOSr{&803;i@YSlcJjsJ3i(JJTZ;uvD#-#fXxs98b4)%0#Je^O0|baW4!bI#xY z@^733OPe;j2d3}%-f-?kuk|182f3fbKiJeWPYqaJf8)S>rhMre4Vpd-N^*^Ici1=# zj%XZ_0MdPeZ7w1WhYu*Yg@$)0{K-iuuu_{i>lnvm%Y;{649^{WlbRfB%HAk0d8@0E-&wtGg{8ok44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1E2l#}zCNL!YFa7`j!2bhtRK99r`^%bvYPO|Dc&2%JYB6vCIjjs)jI0cdK$aH}OGDWppJ^~M zgTb$b#xJG%x_kUbvaSxbcJW86fk$r;B4qg!|iR7x|hM zcwD1PyJY|W-@98>py|P+iK*2uJU8f0kNL1t)xJY=M&qY;Hj$32Q={~af-VaCH>~G# zDfT|kdD-dAg|AJko&EhkItu5_$T<3Gc35CX$yX8aoJ7kat=yjuE?@U9U2gHXGs2?4 zhA;GnKTs~ba8vTyLrq3C+#&H%zbYqMh?V)7aBVuZVD}qRy=a||M>#5-an|>uzxoHg?-1LG0W_j z%RlS0bJwl^AGwo1AKZNPzp|P9odmYD1%GZG_$^-Ivu?BPv(HOG!QkoY=d#Wzp$Pyl C?$s>- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Devices/Holoprojectors/peel.rsi/inhand-left.png b/Resources/Textures/Objects/Devices/Holoprojectors/peel.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..3124ab63b21dbb307be7a9fdfe17d9a421eceffb GIT binary patch literal 813 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&F%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl|-3h)VWO<+iP!SLe$z5jL$cK;9jKf`e5f9Zc^W#wOA=YIbXd0>vpj56ue z)KsAIUwPN;ffQd!kYDhBWWeBh;LZu43}=ByWHC^|VGw3Kp1&dmC@4|l8c`CQpH@cG@7Lh!0?&C&cFgxVPIrzz_nszRG&lj{ad)l*E z_ZXfO)p6Pv#I9%X?=EfoUl&jnQYBQy8nEHYUWZ%_EnCgIpZChu-`1$z{{>|Ffp1bx z#$Pj8&6j@m_dYd6@BS+5!*;rYPmS47Z21w`u;tm#a|iCR`$X?~&hY3_^~}b-zdb8I z*5FVdQ&MBb@0Gh24BLDyZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Devices/Holoprojectors/peel.rsi/inhand-right.png b/Resources/Textures/Objects/Devices/Holoprojectors/peel.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..1858c5a77937f8f6d5e55fdb625466ce99f5b540 GIT binary patch literal 821 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 F0sxQwMPC2_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Holo/peel.rsi/meta.json b/Resources/Textures/Structures/Holo/peel.rsi/meta.json new file mode 100644 index 0000000000..d6d84c40e6 --- /dev/null +++ b/Resources/Textures/Structures/Holo/peel.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Made by thatguyusa (discord) / ThatGuyUSA (github) for SS14", + "states": [ + { + "name": "icon", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + } + ] +} From 18b2b958b2566d18dc4ffdd3880ff104b439f91b Mon Sep 17 00:00:00 2001 From: qwerltaz <69696513+qwerltaz@users.noreply.github.com> Date: Sun, 3 Aug 2025 04:38:22 +0200 Subject: [PATCH 073/149] change bagel genpop biocube fabricator into biogenerator (#39313) --- Resources/Maps/bagel.yml | 102 +++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 52 deletions(-) diff --git a/Resources/Maps/bagel.yml b/Resources/Maps/bagel.yml index 3a15131bae..bb8b60d624 100644 --- a/Resources/Maps/bagel.yml +++ b/Resources/Maps/bagel.yml @@ -4,7 +4,7 @@ meta: engineVersion: 265.0.0 forkId: "" forkVersion: "" - time: 07/25/2025 19:38:24 + time: 08/01/2025 09:46:27 entityCount: 25505 maps: - 943 @@ -16449,7 +16449,7 @@ entities: - type: Transform pos: 22.253925,-11.4549055 parent: 60 -- proto: Biofabricator +- proto: Biogenerator entities: - uid: 1560 components: @@ -16462,8 +16462,6 @@ entities: - Arsenal - Experimental - CivilianServices -- proto: Biogenerator - entities: - uid: 16143 components: - type: Transform @@ -128291,7 +128289,7 @@ entities: - type: MetaData name: outer blast door - type: Transform - pos: -16.506157,-42.225792 + pos: -16.5,-42.5 parent: 60 - type: DeviceLinkSource linkedPorts: @@ -128303,7 +128301,7 @@ entities: - type: MetaData name: open inner entrance - type: Transform - pos: -29.684803,-14.48136 + pos: -29.5,-14.5 parent: 60 - type: DeviceLinkSource linkedPorts: @@ -128319,7 +128317,7 @@ entities: - type: MetaData name: open outer entrance - type: Transform - pos: -29.345129,-14.48136 + pos: -29.5,-14.5 parent: 60 - type: DeviceLinkSource linkedPorts: @@ -129655,7 +129653,7 @@ entities: components: - type: Transform rot: 3.141592653589793 rad - pos: -17.488375,22.731707 + pos: -17.5,22.5 parent: 60 - uid: 6129 components: @@ -129669,7 +129667,7 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: 5.5065956,-21.714903 + pos: 5.5,-21.5 parent: 60 - proto: SignDirectionalBridge entities: @@ -129683,7 +129681,7 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: 30.494003,-21.269012 + pos: 30.5,-21.5 parent: 60 - uid: 5144 components: @@ -129700,13 +129698,13 @@ entities: - uid: 5860 components: - type: Transform - pos: 14.499228,-0.7112777 + pos: 14.5,-0.5 parent: 60 - uid: 14591 components: - type: Transform rot: 1.5707963267948966 rad - pos: -21.504086,-21.285238 + pos: -21.5,-21.5 parent: 60 - uid: 18964 components: @@ -129720,31 +129718,31 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: -17.504,22.294207 + pos: -17.5,22.5 parent: 60 - uid: 11436 components: - type: Transform rot: -1.5707963267948966 rad - pos: -2.500059,-21.285631 + pos: -2.5,-21.5 parent: 60 - uid: 13772 components: - type: Transform rot: -1.5707963267948966 rad - pos: -17.496063,6.7202177 + pos: -17.5,6.5 parent: 60 - uid: 13773 components: - type: Transform rot: 1.5707963267948966 rad - pos: -35.497772,6.705593 + pos: -35.5,6.5 parent: 60 - uid: 14519 components: - type: Transform rot: -1.5707963267948966 rad - pos: -3.5026717,8.690684 + pos: -3.5,8.5 parent: 60 - proto: SignDirectionalChemistry entities: @@ -129759,7 +129757,7 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: 42.49971,-21.305145 + pos: 42.5,-21.5 parent: 60 - proto: SignDirectionalDorms entities: @@ -129767,19 +129765,19 @@ entities: components: - type: Transform rot: 3.141592653589793 rad - pos: -17.503284,10.740471 + pos: -17.5,10.5 parent: 60 - uid: 13771 components: - type: Transform rot: 3.141592653589793 rad - pos: -13.503204,6.299343 + pos: -13.5,6.5 parent: 60 - uid: 13774 components: - type: Transform rot: 1.5707963267948966 rad - pos: -35.497772,6.299343 + pos: -35.5,6.5 parent: 60 - uid: 17567 components: @@ -129799,13 +129797,13 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: 3.4964921,-21.28964 + pos: 3.5,-21.5 parent: 60 - uid: 2654 components: - type: Transform rot: 3.141592653589793 rad - pos: 14.50723,-21.298052 + pos: 14.5,-21.5 parent: 60 - uid: 5602 components: @@ -129817,13 +129815,13 @@ entities: components: - type: Transform rot: 3.141592653589793 rad - pos: 14.499228,-0.27377775 + pos: 14.5,-0.5 parent: 60 - uid: 7674 components: - type: Transform rot: -1.5707963267948966 rad - pos: 38.50196,12.281161 + pos: 38.5,12.5 parent: 60 - uid: 11428 components: @@ -129835,12 +129833,12 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: -13.503204,6.721218 + pos: -13.5,6.5 parent: 60 - uid: 19508 components: - type: Transform - pos: 18.503504,26.274555 + pos: 18.5,26.5 parent: 60 - uid: 23873 components: @@ -129854,31 +129852,31 @@ entities: components: - type: Transform rot: 3.141592653589793 rad - pos: 14.499228,-0.07065275 + pos: 14.5,-0.5 parent: 60 - uid: 11414 components: - type: Transform rot: 3.141592653589793 rad - pos: 14.495508,6.7201853 + pos: 14.5,6.5 parent: 60 - uid: 11429 components: - type: Transform rot: 1.5707963267948966 rad - pos: 4.4996057,8.737062 + pos: 4.5,8.5 parent: 60 - uid: 11430 components: - type: Transform rot: 3.141592653589793 rad - pos: 14.50723,-21.719927 + pos: 14.5,-21.5 parent: 60 - uid: 11449 components: - type: Transform rot: 3.141592653589793 rad - pos: 14.502121,16.716671 + pos: 14.5,16.5 parent: 60 - uid: 13154 components: @@ -129896,7 +129894,7 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: -21.49791,-21.717638 + pos: -21.5,-21.5 parent: 60 - proto: SignDirectionalFood entities: @@ -129904,7 +129902,7 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: 5.505707,-21.281797 + pos: 5.5,-21.5 parent: 60 - proto: SignDirectionalGravity entities: @@ -129912,12 +129910,12 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: -3.5033069,8.099489 + pos: -3.5,8.5 parent: 60 - uid: 23875 components: - type: Transform - pos: -13.493781,10.71411 + pos: -13.5,10.5 parent: 60 - proto: SignDirectionalHop entities: @@ -129973,7 +129971,7 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: -3.496961,-21.281797 + pos: -3.5,-21.5 parent: 60 - proto: SignDirectionalMed entities: @@ -129987,24 +129985,24 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: 13.493613,-21.305265 + pos: 13.5,-21.5 parent: 60 - uid: 11334 components: - type: Transform rot: 1.5707963267948966 rad - pos: 4.4996057,8.283937 + pos: 4.5,8.5 parent: 60 - uid: 11335 components: - type: Transform - pos: 14.504288,-0.92285264 + pos: 14.5,-0.5 parent: 60 - uid: 11433 components: - type: Transform rot: 1.5707963267948966 rad - pos: 3.4964921,-21.711515 + pos: 3.5,-21.5 parent: 60 - proto: SignDirectionalSalvage entities: @@ -130012,7 +130010,7 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: 18.507015,10.276053 + pos: 18.5,10.5 parent: 60 - uid: 13253 components: @@ -130025,7 +130023,7 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: -2.5056667,-21.711515 + pos: -2.5,-21.5 parent: 60 - uid: 5600 components: @@ -130057,7 +130055,7 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: 30.494003,-21.737762 + pos: 30.5,-21.5 parent: 60 - uid: 8250 components: @@ -130074,13 +130072,13 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: -3.498599,8.300059 + pos: -3.5,8.5 parent: 60 - uid: 11434 components: - type: Transform rot: -1.5707963267948966 rad - pos: 13.492249,-21.69589 + pos: 13.5,-21.5 parent: 60 - proto: SignDirectionalSolar entities: @@ -130160,7 +130158,7 @@ entities: components: - type: Transform rot: 3.141592653589793 rad - pos: 14.500059,6.2768393 + pos: 14.5,6.5 parent: 60 - uid: 11441 components: @@ -130171,25 +130169,25 @@ entities: - uid: 11450 components: - type: Transform - pos: 14.502121,16.279171 + pos: 14.5,16.5 parent: 60 - uid: 19509 components: - type: Transform rot: 1.5707963267948966 rad - pos: 18.503504,26.69643 + pos: 18.5,26.5 parent: 60 - uid: 19519 components: - type: Transform rot: 1.5707963267948966 rad - pos: 35.503212,10.69858 + pos: 35.5,10.5 parent: 60 - uid: 23874 components: - type: Transform rot: 1.5707963267948966 rad - pos: -13.478156,10.292235 + pos: -13.5,10.5 parent: 60 - proto: SignDirectionalWash entities: @@ -130197,7 +130195,7 @@ entities: components: - type: Transform rot: 3.141592653589793 rad - pos: 14.50723,-21.094927 + pos: 14.5,-21.5 parent: 60 - uid: 11448 components: From bf6581972d8c90e0b8c51d2953458bdaa732e827 Mon Sep 17 00:00:00 2001 From: Tiniest Shark Date: Sun, 3 Aug 2025 06:58:34 -0400 Subject: [PATCH 074/149] Hardsuit helmet text fix + CBurn Vox Fix (#39345) * text fix and vox helm fix * oop one line --- .../Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml index 349d85da23..836ebfffda 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml @@ -196,6 +196,7 @@ - CorgiWearable - WhitelistChameleon +#Goliath Hardsuit - type: entity parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] id: ClothingHeadHelmetHardsuitGoliath @@ -249,6 +250,7 @@ - CorgiWearable - WhitelistChameleon +#Maxim Hardsuit - type: entity parent: ClothingHeadHardsuitBase id: ClothingHeadHelmetHardsuitMaxim @@ -884,6 +886,10 @@ - state: equipped-head - state: equipped-head-unshaded shader: unshaded + head-vox: + - state: equipped-head-vox + - state: equipped-head-unshaded-vox + shader: unshaded - type: PointLight color: orange - type: PressureProtection From 819e342a4f4dfef0953ebfc76a030a196765ce0c Mon Sep 17 00:00:00 2001 From: Zeneganto Date: Sun, 3 Aug 2025 21:15:25 +1000 Subject: [PATCH 075/149] Localize Refund Button (#39346) * Localize Refund Button * Requested changes --- Content.Client/Store/Ui/StoreMenu.xaml | 2 +- Resources/Locale/en-US/store/store.ftl | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Content.Client/Store/Ui/StoreMenu.xaml b/Content.Client/Store/Ui/StoreMenu.xaml index 843c9dc029..1ee86a5a68 100644 --- a/Content.Client/Store/Ui/StoreMenu.xaml +++ b/Content.Client/Store/Ui/StoreMenu.xaml @@ -21,7 +21,7 @@ Name="RefundButton" MinWidth="64" HorizontalAlignment="Right" - Text="Refund" /> + Text="{Loc 'store-ui-refund-text'}" /> diff --git a/Resources/Locale/en-US/store/store.ftl b/Resources/Locale/en-US/store/store.ftl index a0b349e6a2..6fce1bcaa0 100644 --- a/Resources/Locale/en-US/store/store.ftl +++ b/Resources/Locale/en-US/store/store.ftl @@ -1,5 +1,6 @@ store-ui-default-title = Store store-ui-default-withdraw-text = Withdraw +store-ui-refund-text = Refund store-ui-balance-display = {$currency}: {$amount} store-ui-price-display = {$amount} {$currency} store-ui-discount-display-with-currency = {$amount} off on {$currency} From 777e89ab3edeac9386d243554ad365df13eadcdc Mon Sep 17 00:00:00 2001 From: qwerltaz <69696513+qwerltaz@users.noreply.github.com> Date: Sun, 3 Aug 2025 19:12:02 +0200 Subject: [PATCH 076/149] Make wallmount screen, telescreen, and signal timer destructible (#39340) * make wallmount screen destructible * louder * fix indent * fix indent --- .../WallmountMachines/Monitors/telescreens.yml | 11 +++++++++++ .../Wallmounts/WallmountMachines/screen.yml | 11 +++++++++++ .../Structures/Wallmounts/WallmountMachines/timer.yml | 11 +++++++++++ 3 files changed, 33 insertions(+) diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/telescreens.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/telescreens.yml index fd2ba1d072..ed585aa185 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/telescreens.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/Monitors/telescreens.yml @@ -12,6 +12,17 @@ state: telescreen_frame - map: ["computerLayerScreen"] state: telescreen + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak - type: Construction graph: WallmountTelescreen node: Telescreen diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/screen.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/screen.yml index bb794e8ac0..94244d3d99 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/screen.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/screen.yml @@ -14,6 +14,17 @@ sprite: Structures/Wallmounts/screen.rsi state: screen noRot: true + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak - type: ApcPowerReceiver powerLoad: 100 - type: ExtensionCableReceiver diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/timer.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/timer.yml index 895b84eb7b..a9003f7e79 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/timer.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/timer.yml @@ -12,6 +12,17 @@ sprite: Structures/Wallmounts/switch.rsi state: on - type: Appearance + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak - type: Rotatable - type: SignalTimer canEditLabel: false From 2c40a950f788058d8665de9fc68454d4388d33e2 Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Sun, 3 Aug 2025 21:20:37 +0200 Subject: [PATCH 077/149] Trigger Refactor (#39034) --- .../Explosion/SmokeOnTriggerSystem.cs | 7 - .../Explosion/TriggerOnProximityComponent.cs | 7 - Content.Client/Explosion/TriggerSystem.cs | 10 - Content.Client/HotPotato/HotPotatoSystem.cs | 6 +- .../TimerTriggerVisualizerComponent.cs | 12 +- .../ProximityTriggerAnimationSystem.cs} | 13 +- .../Systems/ReleaseGasOnTriggerSystem.cs | 5 + .../TimerTriggerVisualizerSystem.cs | 20 +- .../Tests/Payload/ModularGrenadeTests.cs | 17 +- .../AlertLevelChangeOnTriggerComponent.cs | 33 -- .../Animals/Systems/ParrotMemorySystem.cs | 4 +- .../Chat/SpeakOnTriggerComponent.cs | 17 - Content.Server/Chat/SuicideSystem.cs | 3 + Content.Server/Chat/Systems/ChatSystem.cs | 5 - .../Systems/DamageUserOnTriggerSystem.cs | 50 -- .../Defusable/Systems/DefusableSystem.cs | 35 +- .../Destructible/DestructibleSystem.cs | 7 +- .../Behaviors/TimerStartBehavior.cs | 2 +- .../Thresholds/Behaviors/TriggerBehavior.cs | 12 +- .../DeviceLinking/Systems/DeviceLinkSystem.cs | 2 + .../DeviceLinking/Systems/MemoryCellSystem.cs | 1 - .../DeviceLinking/Systems/SignallerSystem.cs | 15 - .../Electrocution/ElectrocutionSystem.cs | 6 +- Content.Server/Emp/EmpOnTriggerComponent.cs | 24 - Content.Server/Emp/EmpSystem.cs | 17 +- .../ActiveTriggerOnTimedCollideComponent.cs | 4 - .../Components/AutomatedTimerComponent.cs | 9 - .../OnTrigger/AnchorOnTriggerComponent.cs | 13 - .../OnTrigger/DeleteOnTriggerComponent.cs | 11 - .../OnTrigger/GibOnTriggerComponent.cs | 16 - .../OnTrigger/SoundOnTriggerComponent.cs | 17 - .../OnTrigger/TwoStageTriggerComponent.cs | 34 -- .../Components/ProjectileGrenadeComponent.cs | 6 + .../Components/ShockOnTriggerComponent.cs | 37 -- .../Components/SpawnOnTriggerComponent.cs | 24 - .../Components/TimerStartOnSignalComponent.cs | 15 - .../Components/TriggerOnActivateComponent.cs | 7 - .../Components/TriggerOnCollideComponent.cs | 20 - .../TriggerOnMobstateChangeComponent.cs | 24 - .../Components/TriggerOnProximityComponent.cs | 93 ---- .../Components/TriggerOnSignalComponent.cs | 15 - .../Components/TriggerOnSlipComponent.cs | 6 - .../Components/TriggerOnSpawnComponent.cs | 9 - .../TriggerOnStepTriggerComponent.cs | 10 - .../TriggerOnTimedCollideComponent.cs | 18 - .../Components/TriggerOnUseComponent.cs | 7 - .../Components/TriggerOnVoiceComponent.cs | 28 -- .../Components/TriggerWhenEmptyComponent.cs | 9 - .../Components/TriggerWhitelistComponent.cs | 23 - .../EntitySystems/ProjectileGrenadeSystem.cs | 4 + .../ReleaseGasOnTriggerSystem.cs | 79 --- .../RepulseAttractOnTriggerSystem.cs | 29 -- .../EntitySystems/ScatteringGrenadeSystem.cs | 16 +- .../EntitySystems/SmokeOnTriggerSystem.cs | 57 --- .../EntitySystems/TriggerSystem.OnUse.cs | 170 ------- .../EntitySystems/TriggerSystem.Proximity.cs | 154 ------ .../EntitySystems/TriggerSystem.Signal.cs | 43 -- .../TriggerSystem.TimedCollide.cs | 59 --- .../EntitySystems/TriggerSystem.Voice.cs | 154 ------ .../Explosion/EntitySystems/TriggerSystem.cs | 454 ------------------ .../EntitySystems/TwoStageTriggerSystem.cs | 64 --- .../GhostKickUserOnTriggerComponent.cs | 7 - .../GhostKick/GhostKickUserOnTriggerSystem.cs | 26 - Content.Server/Holopad/HolopadSystem.cs | 4 +- Content.Server/HotPotato/HotPotatoSystem.cs | 58 +-- .../IgniteOnTriggerComponent.cs | 30 -- Content.Server/LandMines/LandMineSystem.cs | 23 +- Content.Server/Mousetrap/MousetrapSystem.cs | 79 --- .../Ninja/Systems/SpiderChargeSystem.cs | 5 +- .../Nutrition/EntitySystems/CreamPieSystem.cs | 14 +- .../Payload/EntitySystems/PayloadSystem.cs | 11 +- .../Components/PolymorphOnTriggerComponent.cs | 18 - .../Systems/PolymorphSystem.Trigger.cs | 41 -- .../Polymorph/Systems/PolymorphSystem.cs | 3 - .../Radio/EntitySystems/RadioDeviceSystem.cs | 5 +- .../Silicons/Borgs/BorgSystem.Transponder.cs | 2 +- Content.Server/Silicons/Borgs/BorgSystem.cs | 2 +- .../Components/EmitSoundOnTriggerComponent.cs | 13 - Content.Server/Sound/EmitSoundSystem.cs | 10 - .../Components/ActiveListenerComponent.cs | 13 - .../EntitySystems/BlockListeningSystem.cs | 1 + .../Speech/EntitySystems/ListeningSystem.cs | 3 +- .../SurveillanceCameraMicrophoneSystem.cs | 4 +- Content.Server/Telephone/TelephoneSystem.cs | 3 +- .../AlertLevelChangeOnTriggerSystem.cs | 11 +- .../Systems/GhostKickUserOnTriggerSystem.cs | 38 ++ .../Systems}/IgniteOnTriggerSystem.cs | 25 +- .../Systems/PolymorphOnTriggerSystem.cs | 51 ++ .../Trigger/Systems/RattleOnTriggerSystem.cs | 49 ++ .../Systems/ReleaseGasOnTriggerSystem.cs | 48 ++ .../Trigger/Systems/SmokeOnTriggerSystem.cs | 68 +++ .../Systems/SpeakOnTriggerSystem.cs | 38 +- .../VoiceTrigger/StorageVoiceControlSystem.cs | 1 + .../XAETriggerExplosivesComponent.cs | 4 +- Content.Shared/Chat/SharedChatSystem.cs | 5 + .../DamageUserOnTriggerComponent.cs | 10 - Content.Shared/Emp/SharedEmpSystem.cs | 12 + .../Components/ActiveTimerTriggerComponent.cs | 21 - .../OnTrigger/ExplodeOnTriggerComponent.cs | 11 - .../Components/OnUseTimerTriggerComponent.cs | 66 --- .../Components/ScatteringGrenadeComponent.cs | 6 + .../SharedTriggerOnProximityComponent.cs | 9 - .../SharedReleaseGasOnTriggerSystem.cs | 5 - .../SharedRepulseAttractOnTriggerSystem.cs | 3 - .../SharedSmokeOnTriggerSystem.cs | 5 - .../EntitySystems/SharedTriggerSystem.cs | 6 - .../Components/FlashOnTriggerComponent.cs | 18 - .../HotPotato/ActiveHotPotatoComponent.cs | 2 +- .../HotPotato/HotPotatoComponent.cs | 3 +- .../HotPotato/SharedHotPotatoSystem.cs | 65 ++- .../Implants/Components/RattleComponent.cs | 21 - .../TriggerImplantActionComponent.cs | 12 - .../Implants/SharedSubdermalImplantSystem.cs | 7 +- .../Components/ItemToggleComponent.cs | 20 +- .../Item/ItemToggle/ItemToggleSystem.cs | 42 +- .../Mousetrap/MousetrapComponent.cs | 22 +- Content.Shared/Mousetrap/MousetrapSystem.cs | 42 ++ Content.Shared/Mousetrap/MousetrapVisuals.cs | 11 - .../Ninja/Components/SpiderChargeComponent.cs | 14 +- .../Components/PayloadTriggerComponent.cs | 9 +- .../Rootable/SharedRootableSystem.cs | 6 +- .../Components/ActiveListenerComponent.cs | 17 + .../Speech/ListenEvent.cs | 2 +- .../Sticky/Components/StickyComponent.cs | 2 +- Content.Shared/Timing/UseDelaySystem.cs | 2 +- .../Components/ActiveTimerTriggerComponent.cs | 10 + .../ActiveTwoStageTriggerComponent.cs | 10 + .../BaseTriggerConditionComponent.cs | 15 + .../ToggleTriggerConditionComponent.cs | 34 ++ .../UseDelayTriggerConditionComponent.cs | 20 + .../WhitelistTriggerConditionComponent.cs | 24 + .../AddComponentsOnTriggerComponent.cs | 37 ++ .../AlertLevelChangeOnTriggerComponent.cs | 34 ++ .../Effects/AnchorOnTriggerComponent.cs | 34 ++ .../Effects/BaseXOnTriggerComponent.cs | 22 + .../Effects/DamageOnTriggerComponent.cs | 25 + .../Effects/DeleteOnTriggerComponent.cs | 10 + .../Effects/EmitSoundOnTriggerComponent.cs | 31 ++ .../Effects/EmpOnTriggerComponent.cs | 29 ++ .../Effects/ExplodeOnTriggerComponent.cs | 14 + .../Effects/FlashOnTriggerComponent.cs | 29 ++ .../Effects/GhostKickOnTriggerComponent.cs | 19 + .../Effects/GibOnTriggerComponent.cs | 17 + .../Effects/IgniteOnTriggerComponent.cs | 27 ++ .../Effects/ItemToggleOnTriggerComponent.cs | 37 ++ .../Effects/PolymorphOnTriggerComponent.cs | 19 + .../Effects/RattleOnTriggerComponent.cs | 30 ++ .../Effects}/ReleaseGasOnTriggerComponent.cs | 8 +- .../RepulseAttractOnTriggerComponent.cs} | 24 +- .../Effects/ShockOnTriggerComponent.cs | 34 ++ .../Effects/SignalOnTriggerComponent.cs | 18 + .../Effects}/SmokeOnTriggerComponent.cs | 22 +- .../Effects/SpawnOnTriggerComponent.cs | 31 ++ .../Effects/SpeakOnTriggerComponent.cs | 26 + .../Effects/UseDelayOnTriggerComponent.cs | 26 + .../Components/RandomTimerTriggerComponent.cs | 12 +- .../Components/TimerTriggerComponent.cs | 109 +++++ .../ActiveTriggerOnTimedCollideComponent.cs | 6 + .../Triggers/BaseTriggerOnXComponent.cs | 16 + .../Triggers}/RepeatingTriggerComponent.cs | 17 +- .../Triggers/TriggerOnActivateComponent.cs | 17 + .../TriggerOnActivateImplantComponent.cs | 10 + .../Triggers/TriggerOnCollideComponent.cs | 23 + .../TriggerOnEmptyGunshotComponent.cs | 10 + .../TriggerOnMobstateChangeComponent.cs | 35 ++ .../Triggers/TriggerOnProximityComponent.cs | 91 ++++ .../Triggers/TriggerOnSignalComponent.cs | 19 + .../Triggers/TriggerOnSlipComponent.cs | 10 + .../Triggers/TriggerOnSpawnComponent.cs | 10 + .../Triggers/TriggerOnStepTriggerComponent.cs | 14 + .../Triggers/TriggerOnStuckComponent.cs | 11 + .../TriggerOnTimedCollideComponent.cs | 26 + .../Triggers/TriggerOnUseComponent.cs | 10 + .../Components/Triggers/TriggerOnVerb.cs | 20 + .../Triggers/TriggerOnVoiceComponent.cs | 47 ++ .../Components/TwoStageTriggerComponent.cs | 58 +++ .../Systems/AddComponentsOnTriggerSystem.cs | 33 ++ .../Trigger/Systems/DamageOnTriggerSystem.cs | 40 ++ .../Systems/EmitSoundOnTriggerSystem.cs | 55 +++ .../Trigger/Systems/EmpOnTriggerSystem.cs | 31 ++ .../Trigger/Systems/ExplodeOnTriggerSystem.cs | 30 ++ .../Trigger/Systems/FlashOnTriggerSystem.cs | 30 ++ .../Trigger/Systems/GibOnTriggerSystem.cs | 40 ++ .../Systems/RepulseAttractOnTriggerSystem.cs | 34 ++ .../SharedReleaseGasOnTriggerSystem.cs | 36 ++ .../Trigger/Systems/ShockOnTriggerSystem.cs | 44 ++ .../Systems/TriggerOnActivateImplantSystem.cs | 22 + .../Systems/TriggerOnEmptyGunshotSystem.cs | 20 + .../Systems/TriggerOnMobstateChangeSystem.cs | 57 +-- .../Trigger/Systems/TriggerOnSlipSystem.cs | 21 + .../Trigger/Systems/TriggerOnStuckSystem.cs | 21 + .../Trigger/Systems/TriggerOnVerbSystem.cs | 31 ++ .../Trigger/Systems/TriggerSystem.Collide.cs | 73 +++ .../Systems/TriggerSystem.Condition.cs | 57 +++ .../Systems/TriggerSystem.Interaction.cs | 96 ++++ .../Systems/TriggerSystem.Proximity.cs | 138 ++++++ .../Trigger/Systems/TriggerSystem.Signal.cs | 44 ++ .../Trigger/Systems/TriggerSystem.Spawn.cs | 70 +++ .../Trigger/Systems/TriggerSystem.Timer.cs | 179 +++++++ .../Trigger/Systems/TriggerSystem.Voice.cs | 160 ++++++ .../Trigger/Systems/TriggerSystem.cs | 186 +++++++ .../Trigger/Systems/TwoStageTriggerSystem.cs | 51 ++ Content.Shared/Trigger/TriggerEvent.cs | 33 ++ Content.Shared/Trigger/TriggerVisuals.cs | 53 +- Content.Shared/Trigger/VoiceTriggeredEvent.cs | 10 + .../Ranged/Events/OnEmptyGunShotEvent.cs | 2 +- .../Weapons/Ranged/Systems/SharedGunSystem.cs | 2 +- .../en-US/machine-linking/receiver_ports.ftl | 7 +- .../machine-linking/transmitter_ports.ftl | 7 +- .../en-US/triggers/ghost-kick-on-trigger.ftl | 1 + .../Locale/en-US/triggers/timer-trigger.ftl | 10 + .../triggers/toggle-trigger-condition.ftl | 7 + .../Locale/en-US/triggers/trigger-on-verb.ftl | 2 + .../en-US/triggers/trigger-on-voice.ftl | 12 + .../en-US/weapons/grenades/timer-trigger.ftl | 16 - .../en-US/weapons/grenades/voice-trigger.ftl | 12 - .../Maps/Shuttles/ShuttleEvent/quark.yml | 6 +- .../Prototypes/DeviceLinking/sink_ports.yml | 4 +- .../Prototypes/DeviceLinking/source_ports.yml | 6 + .../Entities/Clothing/Back/backpacks.yml | 2 +- .../Entities/Effects/admin_triggers.yml | 28 +- .../Mobs/Cyborgs/base_borg_chassis.yml | 5 +- .../Prototypes/Entities/Mobs/NPCs/animals.yml | 5 +- .../Entities/Mobs/NPCs/elemental.yml | 5 - .../Objects/Consumable/Food/Baked/pie.yml | 2 +- .../Objects/Devices/Electronics/igniter.yml | 5 + .../Objects/Devices/Electronics/signaller.yml | 6 +- .../Objects/Devices/Electronics/triggers.yml | 17 +- .../Objects/Devices/desynchronizer.yml | 1 + .../Entities/Objects/Devices/mousetrap.yml | 35 +- .../Entities/Objects/Devices/payload.yml | 1 + .../Entities/Objects/Fun/bike_horn.yml | 1 + .../Prototypes/Entities/Objects/Fun/dice.yml | 3 +- .../Entities/Objects/Fun/figurines.yml | 2 + .../Prototypes/Entities/Objects/Fun/toys.yml | 2 +- .../Entities/Objects/Materials/shards.yml | 13 +- .../Entities/Objects/Misc/land_mine.yml | 3 +- .../Objects/Misc/subdermal_implants.yml | 107 +++-- .../Objects/Specific/Janitorial/janitor.yml | 15 +- .../Objects/Specific/Janitorial/soap.yml | 5 +- .../Objects/Weapons/Bombs/firebomb.yml | 5 +- .../Entities/Objects/Weapons/Bombs/funny.yml | 9 +- .../Entities/Objects/Weapons/Bombs/pen.yml | 7 +- .../Objects/Weapons/Bombs/pipebomb.yml | 5 +- .../Objects/Weapons/Bombs/plastic.yml | 46 +- .../Entities/Objects/Weapons/Bombs/spider.yml | 9 +- .../Weapons/Guns/Projectiles/magic.yml | 23 +- .../Weapons/Guns/Projectiles/projectiles.yml | 6 +- .../Guns/Turrets/turrets_ballistic.yml | 4 +- .../Objects/Weapons/Throwable/grenades.yml | 121 ++++- .../Weapons/Throwable/projectile_grenades.yml | 21 +- .../Weapons/Throwable/scattering_grenades.yml | 18 +- .../Entities/Objects/Weapons/security.yml | 1 + .../Entities/Structures/Machines/bombs.yml | 6 +- .../Entities/Structures/Walls/asteroid.yml | 5 +- .../ServerInfo/Guidebook/Security/Defusal.xml | 2 +- 256 files changed, 3987 insertions(+), 2892 deletions(-) delete mode 100644 Content.Client/Explosion/SmokeOnTriggerSystem.cs delete mode 100644 Content.Client/Explosion/TriggerOnProximityComponent.cs delete mode 100644 Content.Client/Explosion/TriggerSystem.cs rename Content.Client/Trigger/{ => Components}/TimerTriggerVisualizerComponent.cs (84%) rename Content.Client/{Explosion/TriggerSystem.Proximity.cs => Trigger/Systems/ProximityTriggerAnimationSystem.cs} (91%) create mode 100644 Content.Client/Trigger/Systems/ReleaseGasOnTriggerSystem.cs rename Content.Client/Trigger/{ => Systems}/TimerTriggerVisualizerSystem.cs (80%) delete mode 100644 Content.Server/AlertLevel/AlertLevelChangeOnTriggerComponent.cs delete mode 100644 Content.Server/Chat/SpeakOnTriggerComponent.cs delete mode 100644 Content.Server/Damage/Systems/DamageUserOnTriggerSystem.cs delete mode 100644 Content.Server/Emp/EmpOnTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/ActiveTriggerOnTimedCollideComponent.cs delete mode 100644 Content.Server/Explosion/Components/AutomatedTimerComponent.cs delete mode 100644 Content.Server/Explosion/Components/OnTrigger/AnchorOnTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/OnTrigger/DeleteOnTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/OnTrigger/GibOnTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/OnTrigger/SoundOnTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/ShockOnTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/SpawnOnTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/TimerStartOnSignalComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnActivateComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnCollideComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnMobstateChangeComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnProximityComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnSignalComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnSlipComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnSpawnComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnStepTriggerComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnTimedCollideComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnUseComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerOnVoiceComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerWhenEmptyComponent.cs delete mode 100644 Content.Server/Explosion/Components/TriggerWhitelistComponent.cs delete mode 100644 Content.Server/Explosion/EntitySystems/ReleaseGasOnTriggerSystem.cs delete mode 100644 Content.Server/Explosion/EntitySystems/RepulseAttractOnTriggerSystem.cs delete mode 100644 Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs delete mode 100644 Content.Server/Explosion/EntitySystems/TriggerSystem.OnUse.cs delete mode 100644 Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs delete mode 100644 Content.Server/Explosion/EntitySystems/TriggerSystem.Signal.cs delete mode 100644 Content.Server/Explosion/EntitySystems/TriggerSystem.TimedCollide.cs delete mode 100644 Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs delete mode 100644 Content.Server/Explosion/EntitySystems/TriggerSystem.cs delete mode 100644 Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs delete mode 100644 Content.Server/GhostKick/GhostKickUserOnTriggerComponent.cs delete mode 100644 Content.Server/GhostKick/GhostKickUserOnTriggerSystem.cs delete mode 100644 Content.Server/IgnitionSource/IgniteOnTriggerComponent.cs delete mode 100644 Content.Server/Mousetrap/MousetrapSystem.cs delete mode 100644 Content.Server/Polymorph/Components/PolymorphOnTriggerComponent.cs delete mode 100644 Content.Server/Polymorph/Systems/PolymorphSystem.Trigger.cs delete mode 100644 Content.Server/Sound/Components/EmitSoundOnTriggerComponent.cs delete mode 100644 Content.Server/Speech/Components/ActiveListenerComponent.cs rename Content.Server/{AlertLevel => Trigger}/Systems/AlertLevelChangeOnTriggerSystem.cs (74%) create mode 100644 Content.Server/Trigger/Systems/GhostKickUserOnTriggerSystem.cs rename Content.Server/{IgnitionSource => Trigger/Systems}/IgniteOnTriggerSystem.cs (66%) create mode 100644 Content.Server/Trigger/Systems/PolymorphOnTriggerSystem.cs create mode 100644 Content.Server/Trigger/Systems/RattleOnTriggerSystem.cs create mode 100644 Content.Server/Trigger/Systems/ReleaseGasOnTriggerSystem.cs create mode 100644 Content.Server/Trigger/Systems/SmokeOnTriggerSystem.cs rename Content.Server/{Chat => Trigger}/Systems/SpeakOnTriggerSystem.cs (53%) delete mode 100644 Content.Shared/Damage/Components/DamageUserOnTriggerComponent.cs delete mode 100644 Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs delete mode 100644 Content.Shared/Explosion/Components/OnTrigger/ExplodeOnTriggerComponent.cs delete mode 100644 Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs delete mode 100644 Content.Shared/Explosion/Components/SharedTriggerOnProximityComponent.cs delete mode 100644 Content.Shared/Explosion/EntitySystems/SharedReleaseGasOnTriggerSystem.cs delete mode 100644 Content.Shared/Explosion/EntitySystems/SharedRepulseAttractOnTriggerSystem.cs delete mode 100644 Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs delete mode 100644 Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs delete mode 100644 Content.Shared/Flash/Components/FlashOnTriggerComponent.cs delete mode 100644 Content.Shared/Implants/Components/RattleComponent.cs delete mode 100644 Content.Shared/Implants/Components/TriggerImplantActionComponent.cs create mode 100644 Content.Shared/Mousetrap/MousetrapSystem.cs delete mode 100644 Content.Shared/Mousetrap/MousetrapVisuals.cs create mode 100644 Content.Shared/Speech/Components/ActiveListenerComponent.cs rename {Content.Server => Content.Shared}/Speech/ListenEvent.cs (93%) create mode 100644 Content.Shared/Trigger/Components/ActiveTimerTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/ActiveTwoStageTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Conditions/BaseTriggerConditionComponent.cs create mode 100644 Content.Shared/Trigger/Components/Conditions/ToggleTriggerConditionComponent.cs create mode 100644 Content.Shared/Trigger/Components/Conditions/UseDelayTriggerConditionComponent.cs create mode 100644 Content.Shared/Trigger/Components/Conditions/WhitelistTriggerConditionComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/AddComponentsOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/AlertLevelChangeOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/AnchorOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/BaseXOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/DamageOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/DeleteOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/EmitSoundOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/EmpOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/ExplodeOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/FlashOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/GhostKickOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/GibOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/IgniteOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/ItemToggleOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/PolymorphOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/RattleOnTriggerComponent.cs rename Content.Shared/{Explosion/Components/OnTrigger => Trigger/Components/Effects}/ReleaseGasOnTriggerComponent.cs (90%) rename Content.Shared/{Explosion/Components/OnTrigger/SharedRepulseAttractOnTriggerComponent.cs => Trigger/Components/Effects/RepulseAttractOnTriggerComponent.cs} (57%) create mode 100644 Content.Shared/Trigger/Components/Effects/ShockOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/SignalOnTriggerComponent.cs rename Content.Shared/{Explosion/Components/OnTrigger => Trigger/Components/Effects}/SmokeOnTriggerComponent.cs (59%) create mode 100644 Content.Shared/Trigger/Components/Effects/SpawnOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/SpeakOnTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Effects/UseDelayOnTriggerComponent.cs rename {Content.Server/Explosion => Content.Shared/Trigger}/Components/RandomTimerTriggerComponent.cs (50%) create mode 100644 Content.Shared/Trigger/Components/TimerTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/ActiveTriggerOnTimedCollideComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/BaseTriggerOnXComponent.cs rename {Content.Server/Explosion/Components => Content.Shared/Trigger/Components/Triggers}/RepeatingTriggerComponent.cs (56%) create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnActivateComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnActivateImplantComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnCollideComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnEmptyGunshotComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnMobstateChangeComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnProximityComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnSignalComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnSlipComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnSpawnComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnStepTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnStuckComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnTimedCollideComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnUseComponent.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnVerb.cs create mode 100644 Content.Shared/Trigger/Components/Triggers/TriggerOnVoiceComponent.cs create mode 100644 Content.Shared/Trigger/Components/TwoStageTriggerComponent.cs create mode 100644 Content.Shared/Trigger/Systems/AddComponentsOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/DamageOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/EmitSoundOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/EmpOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/ExplodeOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/FlashOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/GibOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/RepulseAttractOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/SharedReleaseGasOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/ShockOnTriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerOnActivateImplantSystem.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerOnEmptyGunshotSystem.cs rename Content.Server/Explosion/EntitySystems/TriggerSystem.Mobstate.cs => Content.Shared/Trigger/Systems/TriggerOnMobstateChangeSystem.cs (56%) create mode 100644 Content.Shared/Trigger/Systems/TriggerOnSlipSystem.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerOnStuckSystem.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerOnVerbSystem.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.Collide.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.Condition.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.Interaction.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.Proximity.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.Signal.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.Spawn.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.Timer.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.Voice.cs create mode 100644 Content.Shared/Trigger/Systems/TriggerSystem.cs create mode 100644 Content.Shared/Trigger/Systems/TwoStageTriggerSystem.cs create mode 100644 Content.Shared/Trigger/TriggerEvent.cs create mode 100644 Content.Shared/Trigger/VoiceTriggeredEvent.cs create mode 100644 Resources/Locale/en-US/triggers/ghost-kick-on-trigger.ftl create mode 100644 Resources/Locale/en-US/triggers/timer-trigger.ftl create mode 100644 Resources/Locale/en-US/triggers/toggle-trigger-condition.ftl create mode 100644 Resources/Locale/en-US/triggers/trigger-on-verb.ftl create mode 100644 Resources/Locale/en-US/triggers/trigger-on-voice.ftl delete mode 100644 Resources/Locale/en-US/weapons/grenades/timer-trigger.ftl delete mode 100644 Resources/Locale/en-US/weapons/grenades/voice-trigger.ftl diff --git a/Content.Client/Explosion/SmokeOnTriggerSystem.cs b/Content.Client/Explosion/SmokeOnTriggerSystem.cs deleted file mode 100644 index cac255e1ba..0000000000 --- a/Content.Client/Explosion/SmokeOnTriggerSystem.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Content.Shared.Explosion.EntitySystems; - -namespace Content.Client.Explosion; - -public sealed class SmokeOnTriggerSystem : SharedSmokeOnTriggerSystem -{ -} \ No newline at end of file diff --git a/Content.Client/Explosion/TriggerOnProximityComponent.cs b/Content.Client/Explosion/TriggerOnProximityComponent.cs deleted file mode 100644 index 5fa9bbfd23..0000000000 --- a/Content.Client/Explosion/TriggerOnProximityComponent.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Content.Shared.Explosion; -using Content.Shared.Explosion.Components; - -namespace Content.Client.Explosion; - -[RegisterComponent, Access(typeof(TriggerSystem))] -public sealed partial class TriggerOnProximityComponent : SharedTriggerOnProximityComponent {} diff --git a/Content.Client/Explosion/TriggerSystem.cs b/Content.Client/Explosion/TriggerSystem.cs deleted file mode 100644 index e18569a18e..0000000000 --- a/Content.Client/Explosion/TriggerSystem.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Content.Client.Explosion; - -public sealed partial class TriggerSystem : EntitySystem -{ - public override void Initialize() - { - base.Initialize(); - InitializeProximity(); - } -} diff --git a/Content.Client/HotPotato/HotPotatoSystem.cs b/Content.Client/HotPotato/HotPotatoSystem.cs index 028a3b70d9..a1495ab994 100644 --- a/Content.Client/HotPotato/HotPotatoSystem.cs +++ b/Content.Client/HotPotato/HotPotatoSystem.cs @@ -1,5 +1,6 @@ using Content.Shared.HotPotato; using Robust.Shared.Random; +using Robust.Shared.Prototypes; using Robust.Shared.Timing; namespace Content.Client.HotPotato; @@ -10,6 +11,9 @@ public sealed class HotPotatoSystem : SharedHotPotatoSystem [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + private readonly EntProtoId _hotPotatoEffectId = "HotPotatoEffect"; + + // TODO: particle system public override void Update(float frameTime) { base.Update(frameTime); @@ -23,7 +27,7 @@ public sealed class HotPotatoSystem : SharedHotPotatoSystem if (_timing.CurTime < comp.TargetTime) continue; comp.TargetTime = _timing.CurTime + TimeSpan.FromSeconds(comp.EffectCooldown); - Spawn("HotPotatoEffect", _transform.GetMapCoordinates(uid).Offset(_random.NextVector2(0.25f))); + Spawn(_hotPotatoEffectId, _transform.GetMapCoordinates(uid).Offset(_random.NextVector2(0.25f))); } } } diff --git a/Content.Client/Trigger/TimerTriggerVisualizerComponent.cs b/Content.Client/Trigger/Components/TimerTriggerVisualizerComponent.cs similarity index 84% rename from Content.Client/Trigger/TimerTriggerVisualizerComponent.cs rename to Content.Client/Trigger/Components/TimerTriggerVisualizerComponent.cs index 0e5a74b83b..0cb89edd89 100644 --- a/Content.Client/Trigger/TimerTriggerVisualizerComponent.cs +++ b/Content.Client/Trigger/Components/TimerTriggerVisualizerComponent.cs @@ -1,7 +1,8 @@ +using Content.Client.Trigger.Systems; using Robust.Client.Animations; using Robust.Shared.Audio; -namespace Content.Client.Trigger; +namespace Content.Client.Trigger.Components; [RegisterComponent] [Access(typeof(TimerTriggerVisualizerSystem))] @@ -16,28 +17,27 @@ public sealed partial class TimerTriggerVisualsComponent : Component /// /// The RSI state used while the device has not been primed. /// - [DataField("unprimedSprite")] - [ViewVariables(VVAccess.ReadWrite)] + [DataField] public string UnprimedSprite = "icon"; /// /// The RSI state used when the device is primed. /// Not VVWrite-able because it's only used at component init to construct the priming animation. /// - [DataField("primingSprite")] + [DataField] public string PrimingSprite = "primed"; /// /// The sound played when the device is primed. /// Not VVWrite-able because it's only used at component init to construct the priming animation. /// - [DataField("primingSound")] + [DataField, ViewVariables] public SoundSpecifier? PrimingSound; /// /// The actual priming animation. /// Constructed at component init from the sprite and sound. /// - [ViewVariables(VVAccess.ReadWrite)] + [ViewVariables] public Animation PrimingAnimation = default!; } diff --git a/Content.Client/Explosion/TriggerSystem.Proximity.cs b/Content.Client/Trigger/Systems/ProximityTriggerAnimationSystem.cs similarity index 91% rename from Content.Client/Explosion/TriggerSystem.Proximity.cs rename to Content.Client/Trigger/Systems/ProximityTriggerAnimationSystem.cs index 03e7436971..7954399505 100644 --- a/Content.Client/Explosion/TriggerSystem.Proximity.cs +++ b/Content.Client/Trigger/Systems/ProximityTriggerAnimationSystem.cs @@ -1,11 +1,12 @@ using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Triggers; using Robust.Client.Animations; using Robust.Client.GameObjects; using Robust.Shared.Animations; -namespace Content.Client.Explosion; +namespace Content.Client.Trigger.Systems; -public sealed partial class TriggerSystem +public sealed class ProximityTriggerAnimationSystem : EntitySystem { [Dependency] private readonly AnimationPlayerSystem _player = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; @@ -18,7 +19,7 @@ public sealed partial class TriggerSystem private const string AnimKey = "proximity"; - private static readonly Animation _flasherAnimation = new Animation + private static readonly Animation FlasherAnimation = new Animation { Length = TimeSpan.FromSeconds(0.6f), AnimationTracks = { @@ -42,8 +43,10 @@ public sealed partial class TriggerSystem } }; - private void InitializeProximity() + public override void Initialize() { + base.Initialize(); + SubscribeLocalEvent(OnProximityInit); SubscribeLocalEvent(OnProxAppChange); SubscribeLocalEvent(OnProxAnimation); @@ -94,7 +97,7 @@ public sealed partial class TriggerSystem break; case ProximityTriggerVisuals.Active: if (_player.HasRunningAnimation(uid, player, AnimKey)) return; - _player.Play((uid, player), _flasherAnimation, AnimKey); + _player.Play((uid, player), FlasherAnimation, AnimKey); break; case ProximityTriggerVisuals.Off: default: diff --git a/Content.Client/Trigger/Systems/ReleaseGasOnTriggerSystem.cs b/Content.Client/Trigger/Systems/ReleaseGasOnTriggerSystem.cs new file mode 100644 index 0000000000..a183282dde --- /dev/null +++ b/Content.Client/Trigger/Systems/ReleaseGasOnTriggerSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared.Trigger.Systems; + +namespace Content.Client.Trigger.Systems; + +public sealed class ReleaseGasOnTriggerSystem : SharedReleaseGasOnTriggerSystem; diff --git a/Content.Client/Trigger/TimerTriggerVisualizerSystem.cs b/Content.Client/Trigger/Systems/TimerTriggerVisualizerSystem.cs similarity index 80% rename from Content.Client/Trigger/TimerTriggerVisualizerSystem.cs rename to Content.Client/Trigger/Systems/TimerTriggerVisualizerSystem.cs index b3d85f2017..7c977c7589 100644 --- a/Content.Client/Trigger/TimerTriggerVisualizerSystem.cs +++ b/Content.Client/Trigger/Systems/TimerTriggerVisualizerSystem.cs @@ -1,11 +1,10 @@ +using Content.Client.Trigger.Components; using Content.Shared.Trigger; using Robust.Client.Animations; using Robust.Client.GameObjects; -using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; -using Robust.Shared.GameObjects; -namespace Content.Client.Trigger; +namespace Content.Client.Trigger.Systems; public sealed class TimerTriggerVisualizerSystem : VisualizerSystem { @@ -17,25 +16,26 @@ public sealed class TimerTriggerVisualizerSystem : VisualizerSystem(OnComponentInit); } - private void OnComponentInit(EntityUid uid, TimerTriggerVisualsComponent comp, ComponentInit args) + private void OnComponentInit(Entity ent, ref ComponentInit args) { - comp.PrimingAnimation = new Animation + ent.Comp.PrimingAnimation = new Animation { Length = TimeSpan.MaxValue, AnimationTracks = { - new AnimationTrackSpriteFlick() { + new AnimationTrackSpriteFlick() + { LayerKey = TriggerVisualLayers.Base, - KeyFrames = { new AnimationTrackSpriteFlick.KeyFrame(comp.PrimingSprite, 0f) } + KeyFrames = { new AnimationTrackSpriteFlick.KeyFrame(ent.Comp.PrimingSprite, 0f) } } }, }; - if (comp.PrimingSound != null) + if (ent.Comp.PrimingSound != null) { - comp.PrimingAnimation.AnimationTracks.Add( + ent.Comp.PrimingAnimation.AnimationTracks.Add( new AnimationTrackPlaySound() { - KeyFrames = { new AnimationTrackPlaySound.KeyFrame(_audioSystem.ResolveSound(comp.PrimingSound), 0) } + KeyFrames = { new AnimationTrackPlaySound.KeyFrame(_audioSystem.ResolveSound(ent.Comp.PrimingSound), 0) } } ); } diff --git a/Content.IntegrationTests/Tests/Payload/ModularGrenadeTests.cs b/Content.IntegrationTests/Tests/Payload/ModularGrenadeTests.cs index 4db79373d3..f5a15295fd 100644 --- a/Content.IntegrationTests/Tests/Payload/ModularGrenadeTests.cs +++ b/Content.IntegrationTests/Tests/Payload/ModularGrenadeTests.cs @@ -1,6 +1,6 @@ using Content.IntegrationTests.Tests.Interaction; -using Content.Server.Explosion.Components; -using Content.Shared.Explosion.Components; +using Content.Shared.Trigger.Components; +using Content.Shared.Trigger.Systems; using Robust.Shared.Containers; using Robust.Shared.GameObjects; @@ -25,19 +25,19 @@ public sealed class ModularGrenadeTests : InteractionTest await InteractUsing(Cable); // Insert & remove trigger - AssertComp(false); + AssertComp(false); await InteractUsing(Trigger); - AssertComp(); + AssertComp(); await FindEntity(Trigger, LookupFlags.Uncontained, shouldSucceed: false); await InteractUsing(Pry); - AssertComp(false); + AssertComp(false); // Trigger was dropped to floor, not deleted. await FindEntity(Trigger, LookupFlags.Uncontained); // Re-insert await InteractUsing(Trigger); - AssertComp(); + AssertComp(); // Insert & remove payload. await InteractUsing(Payload); @@ -56,13 +56,14 @@ public sealed class ModularGrenadeTests : InteractionTest await Pickup(); AssertComp(false); await UseInHand(); + AssertComp(true); // So uhhh grenades in hands don't destroy themselves when exploding. Maybe that will be fixed eventually. await Drop(); // Wait until grenade explodes - var timer = Comp(); - while (timer.TimeRemaining >= 0) + var triggerSys = SEntMan.System(); + while (Target != null && triggerSys.GetRemainingTime(SEntMan.GetEntity(Target.Value))?.TotalSeconds >= 0.0) { await RunTicks(10); } diff --git a/Content.Server/AlertLevel/AlertLevelChangeOnTriggerComponent.cs b/Content.Server/AlertLevel/AlertLevelChangeOnTriggerComponent.cs deleted file mode 100644 index aa6c5ba2bd..0000000000 --- a/Content.Server/AlertLevel/AlertLevelChangeOnTriggerComponent.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Content.Server.AlertLevel.Systems; - -namespace Content.Server.AlertLevel; -/// -/// This component is for changing the alert level of the station when triggered. -/// -[RegisterComponent, Access(typeof(AlertLevelChangeOnTriggerSystem))] -public sealed partial class AlertLevelChangeOnTriggerComponent : Component -{ - /// - ///The alert level to change to when triggered. - /// - [DataField] - public string Level = "blue"; - - /// - ///Whether to play the sound when the alert level changes. - /// - [DataField] - public bool PlaySound = true; - - /// - ///Whether to say the announcement when the alert level changes. - /// - [DataField] - public bool Announce = true; - - /// - ///Force the alert change. This applies if the alert level is not selectable or not. - /// - [DataField] - public bool Force = false; -} diff --git a/Content.Server/Animals/Systems/ParrotMemorySystem.cs b/Content.Server/Animals/Systems/ParrotMemorySystem.cs index 56843094a1..a88957913f 100644 --- a/Content.Server/Animals/Systems/ParrotMemorySystem.cs +++ b/Content.Server/Animals/Systems/ParrotMemorySystem.cs @@ -5,13 +5,13 @@ using Content.Server.Animals.Components; using Content.Server.Mind; using Content.Server.Popups; using Content.Server.Radio; -using Content.Server.Speech; -using Content.Server.Speech.Components; using Content.Server.Vocalization.Systems; using Content.Shared.Animals.Components; using Content.Shared.Animals.Systems; using Content.Shared.Database; using Content.Shared.Mobs.Systems; +using Content.Shared.Speech; +using Content.Shared.Speech.Components; using Content.Shared.Whitelist; using Robust.Shared.Network; using Robust.Shared.Random; diff --git a/Content.Server/Chat/SpeakOnTriggerComponent.cs b/Content.Server/Chat/SpeakOnTriggerComponent.cs deleted file mode 100644 index d879cbf1bf..0000000000 --- a/Content.Server/Chat/SpeakOnTriggerComponent.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Content.Shared.Dataset; -using Robust.Shared.Prototypes; - -namespace Content.Server.Chat; - -/// -/// Makes the entity speak when triggered. If the item has UseDelay component, the system will respect that cooldown. -/// -[RegisterComponent] -public sealed partial class SpeakOnTriggerComponent : Component -{ - /// - /// The identifier for the dataset prototype containing messages to be spoken by this entity. - /// - [DataField(required: true)] - public ProtoId Pack = string.Empty; -} diff --git a/Content.Server/Chat/SuicideSystem.cs b/Content.Server/Chat/SuicideSystem.cs index 9ae50a8c97..dca2959f98 100644 --- a/Content.Server/Chat/SuicideSystem.cs +++ b/Content.Server/Chat/SuicideSystem.cs @@ -67,6 +67,9 @@ public sealed class SuicideSystem : EntitySystem if (!suicideGhostEvent.Handled || _tagSystem.HasTag(victim, CannotSuicideTag)) return false; + // TODO: fix this + // This is a handled event, but the result is never used + // It looks like TriggerOnMobstateChange is supposed to prevent you from suiciding var suicideEvent = new SuicideEvent(victim); RaiseLocalEvent(victim, suicideEvent); diff --git a/Content.Server/Chat/Systems/ChatSystem.cs b/Content.Server/Chat/Systems/ChatSystem.cs index 0b3a9c0a66..d49da57801 100644 --- a/Content.Server/Chat/Systems/ChatSystem.cs +++ b/Content.Server/Chat/Systems/ChatSystem.cs @@ -60,11 +60,6 @@ public sealed partial class ChatSystem : SharedChatSystem [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; [Dependency] private readonly ExamineSystemShared _examineSystem = default!; - public const int VoiceRange = 10; // how far voice goes in world units - public const int WhisperClearRange = 2; // how far whisper goes while still being understandable, in world units - public const int WhisperMuffledRange = 5; // how far whisper goes at all, in world units - public const string DefaultAnnouncementSound = "/Audio/Announcements/announce.ogg"; - private bool _loocEnabled = true; private bool _deadLoocEnabled; private bool _critLoocEnabled; diff --git a/Content.Server/Damage/Systems/DamageUserOnTriggerSystem.cs b/Content.Server/Damage/Systems/DamageUserOnTriggerSystem.cs deleted file mode 100644 index 8a0ee51076..0000000000 --- a/Content.Server/Damage/Systems/DamageUserOnTriggerSystem.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Content.Server.Explosion.EntitySystems; -using Content.Shared.Damage; -using Content.Shared.Damage.Components; - -namespace Content.Server.Damage.Systems; - -// System for damage that occurs on specific trigger, towards the user.. -public sealed class DamageUserOnTriggerSystem : EntitySystem -{ - [Dependency] private readonly DamageableSystem _damageableSystem = default!; - - public override void Initialize() - { - SubscribeLocalEvent(OnTrigger); - } - - private void OnTrigger(EntityUid uid, DamageUserOnTriggerComponent component, TriggerEvent args) - { - if (args.User is null) - return; - - args.Handled |= OnDamageTrigger(uid, args.User.Value, component); - } - - private bool OnDamageTrigger(EntityUid source, EntityUid target, DamageUserOnTriggerComponent? component = null) - { - if (!Resolve(source, ref component)) - { - return false; - } - - var damage = new DamageSpecifier(component.Damage); - var ev = new BeforeDamageUserOnTriggerEvent(damage, target); - RaiseLocalEvent(source, ev); - - return _damageableSystem.TryChangeDamage(target, ev.Damage, component.IgnoreResistances, origin: source) is not null; - } -} - -public sealed class BeforeDamageUserOnTriggerEvent : EntityEventArgs -{ - public DamageSpecifier Damage { get; set; } - public EntityUid Tripper { get; } - - public BeforeDamageUserOnTriggerEvent(DamageSpecifier damage, EntityUid target) - { - Damage = damage; - Tripper = target; - } -} diff --git a/Content.Server/Defusable/Systems/DefusableSystem.cs b/Content.Server/Defusable/Systems/DefusableSystem.cs index 1e9caece94..5c589d2131 100644 --- a/Content.Server/Defusable/Systems/DefusableSystem.cs +++ b/Content.Server/Defusable/Systems/DefusableSystem.cs @@ -1,5 +1,4 @@ using Content.Server.Defusable.Components; -using Content.Server.Explosion.Components; using Content.Server.Explosion.EntitySystems; using Content.Server.Popups; using Content.Server.Wires; @@ -8,13 +7,13 @@ using Content.Shared.Construction.Components; using Content.Shared.Database; using Content.Shared.Defusable; using Content.Shared.Examine; -using Content.Shared.Explosion.Components; -using Content.Shared.Explosion.Components.OnTrigger; using Content.Shared.Popups; +using Content.Shared.Trigger.Components; +using Content.Shared.Trigger.Components.Effects; +using Content.Shared.Trigger.Systems; using Content.Shared.Verbs; using Content.Shared.Wires; using Robust.Server.GameObjects; -using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; namespace Content.Server.Defusable.Systems; @@ -74,12 +73,13 @@ public sealed class DefusableSystem : SharedDefusableSystem { args.PushMarkup(Loc.GetString("defusable-examine-defused", ("name", uid))); } - else if (comp.Activated && TryComp(uid, out var activeComp)) + else if (comp.Activated) { - if (comp.DisplayTime) + var remaining = _trigger.GetRemainingTime(uid); + if (comp.DisplayTime && remaining != null) { args.PushMarkup(Loc.GetString("defusable-examine-live", ("name", uid), - ("time", MathF.Floor(activeComp.TimeRemaining)))); + ("time", Math.Floor(remaining.Value.TotalSeconds)))); } else { @@ -139,16 +139,9 @@ public sealed class DefusableSystem : SharedDefusableSystem SetActivated(comp, true); _popup.PopupEntity(Loc.GetString("defusable-popup-begun", ("name", uid)), uid); - if (TryComp(uid, out var timerTrigger)) + if (TryComp(uid, out var timerTrigger)) { - _trigger.HandleTimerTrigger( - uid, - user, - timerTrigger.Delay, - timerTrigger.BeepInterval, - timerTrigger.InitialBeepDelay, - timerTrigger.BeepSound - ); + _trigger.ActivateTimerTrigger((uid, timerTrigger)); } RaiseLocalEvent(uid, new BombArmedEvent(uid)); @@ -168,7 +161,7 @@ public sealed class DefusableSystem : SharedDefusableSystem RaiseLocalEvent(uid, new BombDetonatedEvent(uid)); - _explosion.TriggerExplosive(uid, user:detonator); + _explosion.TriggerExplosive(uid, user: detonator); QueueDel(uid); _appearance.SetData(uid, DefusableVisuals.Active, comp.Activated); @@ -188,7 +181,7 @@ public sealed class DefusableSystem : SharedDefusableSystem { SetUsable(comp, false); RemComp(uid); - RemComp(uid); + RemComp(uid); } RemComp(uid); @@ -246,7 +239,7 @@ public sealed class DefusableSystem : SharedDefusableSystem if (comp is not { Activated: true, DelayWireUsed: false }) return; - _trigger.TryDelay(wire.Owner, 30f); + _trigger.TryDelay(wire.Owner, TimeSpan.FromSeconds(30)); _popup.PopupEntity(Loc.GetString("defusable-popup-wire-chirp", ("name", wire.Owner)), wire.Owner); comp.DelayWireUsed = true; } @@ -268,7 +261,7 @@ public sealed class DefusableSystem : SharedDefusableSystem if (comp is { Activated: true, ProceedWireUsed: false }) { comp.ProceedWireUsed = true; - _trigger.TryDelay(wire.Owner, -15f); + _trigger.TryDelay(wire.Owner, TimeSpan.FromSeconds(-15)); } _popup.PopupEntity(Loc.GetString("defusable-popup-wire-proceed-pulse", ("name", wire.Owner)), wire.Owner); @@ -298,7 +291,7 @@ public sealed class DefusableSystem : SharedDefusableSystem { if (!comp.ActivatedWireUsed) { - _trigger.TryDelay(wire.Owner, 30f); + _trigger.TryDelay(wire.Owner, TimeSpan.FromSeconds(30)); _popup.PopupEntity(Loc.GetString("defusable-popup-wire-chirp", ("name", wire.Owner)), wire.Owner); comp.ActivatedWireUsed = true; } diff --git a/Content.Server/Destructible/DestructibleSystem.cs b/Content.Server/Destructible/DestructibleSystem.cs index 82d5ffcb9a..b4a79c6830 100644 --- a/Content.Server/Destructible/DestructibleSystem.cs +++ b/Content.Server/Destructible/DestructibleSystem.cs @@ -1,4 +1,5 @@ using System.Diagnostics.CodeAnalysis; +using System.Linq; using Content.Server.Administration.Logs; using Content.Server.Atmos.EntitySystems; using Content.Server.Body.Systems; @@ -14,15 +15,13 @@ using Content.Shared.Damage; using Content.Shared.Database; using Content.Shared.Destructible; using Content.Shared.FixedPoint; +using Content.Shared.Humanoid; +using Content.Shared.Trigger.Systems; using JetBrains.Annotations; using Robust.Server.Audio; -using Robust.Server.GameObjects; using Robust.Shared.Containers; using Robust.Shared.Prototypes; using Robust.Shared.Random; -using System.Linq; -using Content.Shared.Humanoid; -using Robust.Shared.Player; namespace Content.Server.Destructible { diff --git a/Content.Server/Destructible/Thresholds/Behaviors/TimerStartBehavior.cs b/Content.Server/Destructible/Thresholds/Behaviors/TimerStartBehavior.cs index 97a5f8b7ef..cf337ac76a 100644 --- a/Content.Server/Destructible/Thresholds/Behaviors/TimerStartBehavior.cs +++ b/Content.Server/Destructible/Thresholds/Behaviors/TimerStartBehavior.cs @@ -5,6 +5,6 @@ public sealed partial class TimerStartBehavior : IThresholdBehavior { public void Execute(EntityUid owner, DestructibleSystem system, EntityUid? cause = null) { - system.TriggerSystem.StartTimer(owner, cause); + system.TriggerSystem.ActivateTimerTrigger(owner, cause); } } diff --git a/Content.Server/Destructible/Thresholds/Behaviors/TriggerBehavior.cs b/Content.Server/Destructible/Thresholds/Behaviors/TriggerBehavior.cs index 03bdb8ff69..66da79063c 100644 --- a/Content.Server/Destructible/Thresholds/Behaviors/TriggerBehavior.cs +++ b/Content.Server/Destructible/Thresholds/Behaviors/TriggerBehavior.cs @@ -1,10 +1,18 @@ -namespace Content.Server.Destructible.Thresholds.Behaviors; +using Content.Shared.Trigger.Systems; + +namespace Content.Server.Destructible.Thresholds.Behaviors; [DataDefinition] public sealed partial class TriggerBehavior : IThresholdBehavior { + /// + /// The trigger key to use when triggering. + /// + [DataField] + public string? KeyOut { get; set; } = TriggerSystem.DefaultTriggerKey; + public void Execute(EntityUid owner, DestructibleSystem system, EntityUid? cause = null) { - system.TriggerSystem.Trigger(owner, cause); + system.TriggerSystem.Trigger(owner, cause, KeyOut); } } diff --git a/Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs b/Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs index d957f0171e..ff20ac4d8d 100644 --- a/Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs +++ b/Content.Server/DeviceLinking/Systems/DeviceLinkSystem.cs @@ -1,4 +1,6 @@ using Content.Server.DeviceLinking.Components; +using Content.Server.DeviceNetwork; +using Content.Server.DeviceNetwork.Components; using Content.Server.DeviceNetwork.Systems; using Content.Shared.DeviceLinking; using Content.Shared.DeviceLinking.Events; diff --git a/Content.Server/DeviceLinking/Systems/MemoryCellSystem.cs b/Content.Server/DeviceLinking/Systems/MemoryCellSystem.cs index 45e4d21750..7743a97d72 100644 --- a/Content.Server/DeviceLinking/Systems/MemoryCellSystem.cs +++ b/Content.Server/DeviceLinking/Systems/MemoryCellSystem.cs @@ -1,5 +1,4 @@ using Content.Server.DeviceLinking.Components; -using Content.Server.DeviceNetwork; using Content.Shared.DeviceLinking; using Content.Shared.DeviceLinking.Events; using Content.Shared.DeviceNetwork; diff --git a/Content.Server/DeviceLinking/Systems/SignallerSystem.cs b/Content.Server/DeviceLinking/Systems/SignallerSystem.cs index a5091508ed..7d684d1cd5 100644 --- a/Content.Server/DeviceLinking/Systems/SignallerSystem.cs +++ b/Content.Server/DeviceLinking/Systems/SignallerSystem.cs @@ -1,6 +1,5 @@ using Content.Server.Administration.Logs; using Content.Server.DeviceLinking.Components; -using Content.Server.Explosion.EntitySystems; using Content.Shared.Database; using Content.Shared.Interaction.Events; using Content.Shared.Timing; @@ -10,7 +9,6 @@ namespace Content.Server.DeviceLinking.Systems; public sealed class SignallerSystem : EntitySystem { [Dependency] private readonly DeviceLinkSystem _link = default!; - [Dependency] private readonly UseDelaySystem _useDelay = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; public override void Initialize() @@ -19,7 +17,6 @@ public sealed class SignallerSystem : EntitySystem SubscribeLocalEvent(OnInit); SubscribeLocalEvent(OnUseInHand); - SubscribeLocalEvent(OnTrigger); } private void OnInit(EntityUid uid, SignallerComponent component, ComponentInit args) @@ -36,16 +33,4 @@ public sealed class SignallerSystem : EntitySystem _link.InvokePort(uid, component.Port); args.Handled = true; } - - private void OnTrigger(EntityUid uid, SignallerComponent component, TriggerEvent args) - { - if (!TryComp(uid, out UseDelayComponent? useDelay) - // if on cooldown, do nothing - // and set cooldown to prevent clocks - || !_useDelay.TryResetDelay((uid, useDelay), true)) - return; - - _link.InvokePort(uid, component.Port); - args.Handled = true; - } } diff --git a/Content.Server/Electrocution/ElectrocutionSystem.cs b/Content.Server/Electrocution/ElectrocutionSystem.cs index bb9e71cfc3..05dfffa4a9 100644 --- a/Content.Server/Electrocution/ElectrocutionSystem.cs +++ b/Content.Server/Electrocution/ElectrocutionSystem.cs @@ -58,7 +58,7 @@ public sealed class ElectrocutionSystem : SharedElectrocutionSystem [Dependency] private readonly MetaDataSystem _metaData = default!; [Dependency] private readonly TurfSystem _turf = default!; - private static readonly ProtoId StatusEffectKey = "Electrocution"; + private static readonly ProtoId StatusKeyIn = "Electrocution"; private static readonly ProtoId DamageType = "Shock"; private static readonly ProtoId WindowTag = "Window"; @@ -386,12 +386,12 @@ public sealed class ElectrocutionSystem : SharedElectrocutionSystem } if (!Resolve(uid, ref statusEffects, false) || - !_statusEffects.CanApplyEffect(uid, StatusEffectKey, statusEffects)) + !_statusEffects.CanApplyEffect(uid, StatusKeyIn, statusEffects)) { return false; } - if (!_statusEffects.TryAddStatusEffect(uid, StatusEffectKey, time, refresh, statusEffects)) + if (!_statusEffects.TryAddStatusEffect(uid, StatusKeyIn, time, refresh, statusEffects)) return false; var shouldStun = siemensCoefficient > 0.5f; diff --git a/Content.Server/Emp/EmpOnTriggerComponent.cs b/Content.Server/Emp/EmpOnTriggerComponent.cs deleted file mode 100644 index fac509ea9f..0000000000 --- a/Content.Server/Emp/EmpOnTriggerComponent.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace Content.Server.Emp; - -/// -/// Upon being triggered will EMP area around it. -/// -[RegisterComponent] -[Access(typeof(EmpSystem))] -public sealed partial class EmpOnTriggerComponent : Component -{ - [DataField("range"), ViewVariables(VVAccess.ReadWrite)] - public float Range = 1.0f; - - /// - /// How much energy will be consumed per battery in range - /// - [DataField("energyConsumption"), ViewVariables(VVAccess.ReadWrite)] - public float EnergyConsumption; - - /// - /// How long it disables targets in seconds - /// - [DataField("disableDuration"), ViewVariables(VVAccess.ReadWrite)] - public float DisableDuration = 60f; -} diff --git a/Content.Server/Emp/EmpSystem.cs b/Content.Server/Emp/EmpSystem.cs index 4b5143aa40..b8bfc63afe 100644 --- a/Content.Server/Emp/EmpSystem.cs +++ b/Content.Server/Emp/EmpSystem.cs @@ -1,4 +1,3 @@ -using Content.Server.Explosion.EntitySystems; using Content.Server.Power.EntitySystems; using Content.Server.Radio; using Content.Server.SurveillanceCamera; @@ -20,7 +19,6 @@ public sealed class EmpSystem : SharedEmpSystem { base.Initialize(); SubscribeLocalEvent(OnExamine); - SubscribeLocalEvent(HandleEmpTrigger); SubscribeLocalEvent(OnRadioSendAttempt); SubscribeLocalEvent(OnRadioReceiveAttempt); @@ -28,14 +26,7 @@ public sealed class EmpSystem : SharedEmpSystem SubscribeLocalEvent(OnCameraSetActive); } - /// - /// Triggers an EMP pulse at the given location, by first raising an , then a raising on all entities in range. - /// - /// The location to trigger the EMP pulse at. - /// The range of the EMP pulse. - /// The amount of energy consumed by the EMP pulse. - /// The duration of the EMP effects. - public void EmpPulse(MapCoordinates coordinates, float range, float energyConsumption, float duration) + public override void EmpPulse(MapCoordinates coordinates, float range, float energyConsumption, float duration) { foreach (var uid in _lookup.GetEntitiesInRange(coordinates, range)) { @@ -118,12 +109,6 @@ public sealed class EmpSystem : SharedEmpSystem args.PushMarkup(Loc.GetString("emp-disabled-comp-on-examine")); } - private void HandleEmpTrigger(EntityUid uid, EmpOnTriggerComponent comp, TriggerEvent args) - { - EmpPulse(_transform.GetMapCoordinates(uid), comp.Range, comp.EnergyConsumption, comp.DisableDuration); - args.Handled = true; - } - private void OnRadioSendAttempt(EntityUid uid, EmpDisabledComponent component, ref RadioSendAttemptEvent args) { args.Cancelled = true; diff --git a/Content.Server/Explosion/Components/ActiveTriggerOnTimedCollideComponent.cs b/Content.Server/Explosion/Components/ActiveTriggerOnTimedCollideComponent.cs deleted file mode 100644 index 9d8073413c..0000000000 --- a/Content.Server/Explosion/Components/ActiveTriggerOnTimedCollideComponent.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace Content.Server.Explosion.Components; - -[RegisterComponent] -public sealed partial class ActiveTriggerOnTimedCollideComponent : Component { } diff --git a/Content.Server/Explosion/Components/AutomatedTimerComponent.cs b/Content.Server/Explosion/Components/AutomatedTimerComponent.cs deleted file mode 100644 index c01aeb91e5..0000000000 --- a/Content.Server/Explosion/Components/AutomatedTimerComponent.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// Disallows starting the timer by hand, must be stuck or triggered by a system using StartTimer. -/// -[RegisterComponent] -public sealed partial class AutomatedTimerComponent : Component -{ -} diff --git a/Content.Server/Explosion/Components/OnTrigger/AnchorOnTriggerComponent.cs b/Content.Server/Explosion/Components/OnTrigger/AnchorOnTriggerComponent.cs deleted file mode 100644 index d83b57c188..0000000000 --- a/Content.Server/Explosion/Components/OnTrigger/AnchorOnTriggerComponent.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Content.Server.Explosion.EntitySystems; - -namespace Content.Server.Explosion.Components; - -/// -/// Will anchor the attached entity upon a . -/// -[RegisterComponent] -public sealed partial class AnchorOnTriggerComponent : Component -{ - [DataField("removeOnTrigger")] - public bool RemoveOnTrigger = true; -} diff --git a/Content.Server/Explosion/Components/OnTrigger/DeleteOnTriggerComponent.cs b/Content.Server/Explosion/Components/OnTrigger/DeleteOnTriggerComponent.cs deleted file mode 100644 index 9846cad84b..0000000000 --- a/Content.Server/Explosion/Components/OnTrigger/DeleteOnTriggerComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Content.Server.Explosion.EntitySystems; - -namespace Content.Server.Explosion.Components; - -/// -/// Will delete the attached entity upon a . -/// -[RegisterComponent] -public sealed partial class DeleteOnTriggerComponent : Component -{ -} diff --git a/Content.Server/Explosion/Components/OnTrigger/GibOnTriggerComponent.cs b/Content.Server/Explosion/Components/OnTrigger/GibOnTriggerComponent.cs deleted file mode 100644 index da58467659..0000000000 --- a/Content.Server/Explosion/Components/OnTrigger/GibOnTriggerComponent.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// Gibs on trigger, self explanatory. -/// Also in case of an implant using this, gibs the implant user instead. -/// -[RegisterComponent] -public sealed partial class GibOnTriggerComponent : Component -{ - /// - /// Should gibbing also delete the owners items? - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("deleteItems")] - public bool DeleteItems = false; -} diff --git a/Content.Server/Explosion/Components/OnTrigger/SoundOnTriggerComponent.cs b/Content.Server/Explosion/Components/OnTrigger/SoundOnTriggerComponent.cs deleted file mode 100644 index 7f9f16a227..0000000000 --- a/Content.Server/Explosion/Components/OnTrigger/SoundOnTriggerComponent.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Content.Server.Explosion.EntitySystems; -using Robust.Shared.Audio; - -namespace Content.Server.Explosion.Components; - -/// -/// Will play sound from the attached entity upon a . -/// -[RegisterComponent] -public sealed partial class SoundOnTriggerComponent : Component -{ - [DataField("removeOnTrigger")] - public bool RemoveOnTrigger = true; - - [DataField("sound")] - public SoundSpecifier? Sound = new SoundPathSpecifier("/Audio/Effects/Grenades/supermatter_start.ogg"); -} diff --git a/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs b/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs deleted file mode 100644 index a63d6fcf66..0000000000 --- a/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; - -namespace Content.Server.Explosion.Components.OnTrigger; - -/// -/// After being triggered applies the specified components and runs triggers again. -/// -[RegisterComponent, AutoGenerateComponentPause] -public sealed partial class TwoStageTriggerComponent : Component -{ - /// - /// How long it takes for the second stage to be triggered. - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("triggerDelay")] - public TimeSpan TriggerDelay = TimeSpan.FromSeconds(10); - - /// - /// This list of components that will be added for the second trigger. - /// - [DataField("components", required: true)] - public ComponentRegistry SecondStageComponents = new(); - - [DataField("nextTriggerTime", customTypeSerializer: typeof(TimeOffsetSerializer))] - [AutoPausedField] - public TimeSpan? NextTriggerTime; - - [DataField("triggered")] - public bool Triggered = false; - - [DataField("ComponentsIsLoaded")] - public bool ComponentsIsLoaded = false; -} diff --git a/Content.Server/Explosion/Components/ProjectileGrenadeComponent.cs b/Content.Server/Explosion/Components/ProjectileGrenadeComponent.cs index 58d687e025..20a73b46b5 100644 --- a/Content.Server/Explosion/Components/ProjectileGrenadeComponent.cs +++ b/Content.Server/Explosion/Components/ProjectileGrenadeComponent.cs @@ -45,4 +45,10 @@ public sealed partial class ProjectileGrenadeComponent : Component /// [DataField] public float MaxVelocity = 6f; + + /// + /// The trigger key that will activate the grenade. + /// + [DataField] + public string TriggerKey = "timer"; } diff --git a/Content.Server/Explosion/Components/ShockOnTriggerComponent.cs b/Content.Server/Explosion/Components/ShockOnTriggerComponent.cs deleted file mode 100644 index a553cc047a..0000000000 --- a/Content.Server/Explosion/Components/ShockOnTriggerComponent.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -using Content.Server.Explosion.EntitySystems; - -namespace Content.Server.Explosion.Components; - -/// -/// A component that electrocutes an entity having this component when a trigger is triggered. -/// -[RegisterComponent, AutoGenerateComponentPause] -[Access(typeof(TriggerSystem))] -public sealed partial class ShockOnTriggerComponent : Component -{ - /// - /// The force of an electric shock when the trigger is triggered. - /// - [DataField] - public int Damage = 5; - - /// - /// Duration of electric shock when the trigger is triggered. - /// - [DataField] - public TimeSpan Duration = TimeSpan.FromSeconds(2); - - /// - /// The minimum delay between repeating triggers. - /// - [DataField] - public TimeSpan Cooldown = TimeSpan.FromSeconds(4); - - /// - /// When can the trigger run again? - /// - [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] - [AutoPausedField] - public TimeSpan NextTrigger = TimeSpan.Zero; -} diff --git a/Content.Server/Explosion/Components/SpawnOnTriggerComponent.cs b/Content.Server/Explosion/Components/SpawnOnTriggerComponent.cs deleted file mode 100644 index c28ec7faeb..0000000000 --- a/Content.Server/Explosion/Components/SpawnOnTriggerComponent.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Content.Server.Explosion.EntitySystems; -using Robust.Shared.Prototypes; - -namespace Content.Server.Explosion.Components; - -/// -/// Spawns a protoype when triggered. -/// -[RegisterComponent, Access(typeof(TriggerSystem))] -public sealed partial class SpawnOnTriggerComponent : Component -{ - /// - /// The prototype to spawn. - /// - [DataField(required: true)] - public EntProtoId Proto = string.Empty; - - /// - /// Use MapCoordinates for spawning? - /// Set to true if you don't want the new entity parented to the spawner. - /// - [DataField] - public bool mapCoords; -} diff --git a/Content.Server/Explosion/Components/TimerStartOnSignalComponent.cs b/Content.Server/Explosion/Components/TimerStartOnSignalComponent.cs deleted file mode 100644 index 9adc6dab87..0000000000 --- a/Content.Server/Explosion/Components/TimerStartOnSignalComponent.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Content.Shared.DeviceLinking; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; - -namespace Content.Server.Explosion.Components -{ - /// - /// Sends a trigger when signal is received. - /// - [RegisterComponent] - public sealed partial class TimerStartOnSignalComponent : Component - { - [DataField("port", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string Port = "Timer"; - } -} diff --git a/Content.Server/Explosion/Components/TriggerOnActivateComponent.cs b/Content.Server/Explosion/Components/TriggerOnActivateComponent.cs deleted file mode 100644 index 1531c7425e..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnActivateComponent.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// Triggers on click. -/// -[RegisterComponent] -public sealed partial class TriggerOnActivateComponent : Component { } diff --git a/Content.Server/Explosion/Components/TriggerOnCollideComponent.cs b/Content.Server/Explosion/Components/TriggerOnCollideComponent.cs deleted file mode 100644 index 28c2ed8c34..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnCollideComponent.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// Triggers when colliding with another entity. -/// -[RegisterComponent] -public sealed partial class TriggerOnCollideComponent : Component -{ - /// - /// The fixture with which to collide. - /// - [DataField(required: true)] - public string FixtureID = string.Empty; - - /// - /// Doesn't trigger if the other colliding fixture is nonhard. - /// - [DataField] - public bool IgnoreOtherNonHard = true; -} diff --git a/Content.Server/Explosion/Components/TriggerOnMobstateChangeComponent.cs b/Content.Server/Explosion/Components/TriggerOnMobstateChangeComponent.cs deleted file mode 100644 index a6cdda247c..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnMobstateChangeComponent.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Content.Shared.Mobs; - -namespace Content.Server.Explosion.Components; - -/// -/// Use where you want something to trigger on mobstate change -/// -[RegisterComponent] -public sealed partial class TriggerOnMobstateChangeComponent : Component -{ - /// - /// What state should trigger this? - /// - [ViewVariables] - [DataField("mobState", required: true)] - public List MobState = new(); - - /// - /// If true, prevents suicide attempts for the trigger to prevent cheese. - /// - [ViewVariables] - [DataField("preventSuicide")] - public bool PreventSuicide = false; -} diff --git a/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs b/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs deleted file mode 100644 index 4f3fb4754e..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs +++ /dev/null @@ -1,93 +0,0 @@ -using Content.Server.Explosion.EntitySystems; -using Content.Shared.Explosion; -using Content.Shared.Explosion.Components; -using Content.Shared.Physics; -using Robust.Shared.Physics.Collision.Shapes; -using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Dynamics; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; - -namespace Content.Server.Explosion.Components -{ - - /// - /// Raises a whenever an entity collides with a fixture attached to the owner of this component. - /// - [RegisterComponent, AutoGenerateComponentPause] - public sealed partial class TriggerOnProximityComponent : SharedTriggerOnProximityComponent - { - public const string FixtureID = "trigger-on-proximity-fixture"; - - [ViewVariables] - public readonly Dictionary Colliding = new(); - - /// - /// What is the shape of the proximity fixture? - /// - [ViewVariables] - [DataField("shape")] - public IPhysShape Shape = new PhysShapeCircle(2f); - - /// - /// How long the the proximity trigger animation plays for. - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("animationDuration")] - public TimeSpan AnimationDuration = TimeSpan.FromSeconds(0.6f); - - /// - /// Whether the entity needs to be anchored for the proximity to work. - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("requiresAnchored")] - public bool RequiresAnchored = true; - - [ViewVariables(VVAccess.ReadWrite)] - [DataField("enabled")] - public bool Enabled = true; - - /// - /// The minimum delay between repeating triggers. - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("cooldown")] - public TimeSpan Cooldown = TimeSpan.FromSeconds(5); - - /// - /// When can the trigger run again? - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("nextTrigger", customTypeSerializer: typeof(TimeOffsetSerializer))] - [AutoPausedField] - public TimeSpan NextTrigger = TimeSpan.Zero; - - /// - /// When will the visual state be updated again after activation? - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("nextVisualUpdate", customTypeSerializer: typeof(TimeOffsetSerializer))] - [AutoPausedField] - public TimeSpan NextVisualUpdate = TimeSpan.Zero; - - /// - /// What speed should the other object be moving at to trigger the proximity fixture? - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("triggerSpeed")] - public float TriggerSpeed = 3.5f; - - /// - /// If this proximity is triggered should we continually repeat it? - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("repeating")] - public bool Repeating = true; - - /// - /// What layer is the trigger fixture on? - /// - [ViewVariables] - [DataField("layer", customTypeSerializer: typeof(FlagSerializer))] - public int Layer = (int) (CollisionGroup.MidImpassable | CollisionGroup.LowImpassable | CollisionGroup.HighImpassable); - } -} diff --git a/Content.Server/Explosion/Components/TriggerOnSignalComponent.cs b/Content.Server/Explosion/Components/TriggerOnSignalComponent.cs deleted file mode 100644 index fb7495612c..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnSignalComponent.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Content.Shared.DeviceLinking; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; - -namespace Content.Server.Explosion.Components -{ - /// - /// Sends a trigger when signal is received. - /// - [RegisterComponent] - public sealed partial class TriggerOnSignalComponent : Component - { - [DataField("port", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string Port = "Trigger"; - } -} diff --git a/Content.Server/Explosion/Components/TriggerOnSlipComponent.cs b/Content.Server/Explosion/Components/TriggerOnSlipComponent.cs deleted file mode 100644 index 16632b9b72..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnSlipComponent.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Content.Server.Explosion.Components; - -[RegisterComponent] -public sealed partial class TriggerOnSlipComponent : Component -{ -} diff --git a/Content.Server/Explosion/Components/TriggerOnSpawnComponent.cs b/Content.Server/Explosion/Components/TriggerOnSpawnComponent.cs deleted file mode 100644 index 704ff410cd..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnSpawnComponent.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// calls the trigger when the object is initialized -/// -[RegisterComponent] -public sealed partial class TriggerOnSpawnComponent : Component -{ -} diff --git a/Content.Server/Explosion/Components/TriggerOnStepTriggerComponent.cs b/Content.Server/Explosion/Components/TriggerOnStepTriggerComponent.cs deleted file mode 100644 index 49e99ff785..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnStepTriggerComponent.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// This is used for entities that want the more generic 'trigger' behavior after a step trigger occurs. -/// Not done by default, since it's not useful for everything and might cause weird behavior. But it is useful for a lot of stuff like mousetraps. -/// -[RegisterComponent] -public sealed partial class TriggerOnStepTriggerComponent : Component -{ -} diff --git a/Content.Server/Explosion/Components/TriggerOnTimedCollideComponent.cs b/Content.Server/Explosion/Components/TriggerOnTimedCollideComponent.cs deleted file mode 100644 index d53bcbcc5d..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnTimedCollideComponent.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// Triggers when the entity is overlapped for the specified duration. -/// -[RegisterComponent] -public sealed partial class TriggerOnTimedCollideComponent : Component -{ - [ViewVariables(VVAccess.ReadWrite)] - [DataField("threshold")] - public float Threshold; - - /// - /// A collection of entities that are colliding with this, and their own unique accumulator. - /// - [ViewVariables] - public readonly Dictionary Colliding = new(); -} diff --git a/Content.Server/Explosion/Components/TriggerOnUseComponent.cs b/Content.Server/Explosion/Components/TriggerOnUseComponent.cs deleted file mode 100644 index 2b44d2fbac..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnUseComponent.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// Triggers on use in hand. -/// -[RegisterComponent] -public sealed partial class TriggerOnUseComponent : Component { } diff --git a/Content.Server/Explosion/Components/TriggerOnVoiceComponent.cs b/Content.Server/Explosion/Components/TriggerOnVoiceComponent.cs deleted file mode 100644 index 7d07f496d0..0000000000 --- a/Content.Server/Explosion/Components/TriggerOnVoiceComponent.cs +++ /dev/null @@ -1,28 +0,0 @@ -namespace Content.Server.Explosion.Components -{ - /// - /// Sends a trigger when the keyphrase is heard - /// - [RegisterComponent] - public sealed partial class TriggerOnVoiceComponent : Component - { - public bool IsListening => IsRecording || !string.IsNullOrWhiteSpace(KeyPhrase); - - [ViewVariables(VVAccess.ReadWrite)] - [DataField("keyPhrase")] - public string? KeyPhrase; - - [ViewVariables(VVAccess.ReadWrite)] - [DataField("listenRange")] - public int ListenRange { get; private set; } = 4; - - [DataField("isRecording")] - public bool IsRecording = false; - - [DataField("minLength")] - public int MinLength = 3; - - [DataField("maxLength")] - public int MaxLength = 50; - } -} diff --git a/Content.Server/Explosion/Components/TriggerWhenEmptyComponent.cs b/Content.Server/Explosion/Components/TriggerWhenEmptyComponent.cs deleted file mode 100644 index ad39b9c515..0000000000 --- a/Content.Server/Explosion/Components/TriggerWhenEmptyComponent.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Content.Server.Explosion.Components; - -/// -/// Triggers a gun when attempting to shoot while it's empty -/// -[RegisterComponent] -public sealed partial class TriggerWhenEmptyComponent : Component -{ -} diff --git a/Content.Server/Explosion/Components/TriggerWhitelistComponent.cs b/Content.Server/Explosion/Components/TriggerWhitelistComponent.cs deleted file mode 100644 index 80becf17cc..0000000000 --- a/Content.Server/Explosion/Components/TriggerWhitelistComponent.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Content.Shared.Whitelist; - -namespace Content.Server.Explosion.Components; - -/// -/// Checks if the user of a Trigger satisfies a whitelist and blacklist condition. -/// Cancels the trigger otherwise. -/// -[RegisterComponent] -public sealed partial class TriggerWhitelistComponent : Component -{ - /// - /// Whitelist for what entites can cause this trigger. - /// - [DataField] - public EntityWhitelist? Whitelist; - - /// - /// Blacklist for what entites can cause this trigger. - /// - [DataField] - public EntityWhitelist? Blacklist; -} diff --git a/Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs b/Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs index 6953010e46..4b93f22cd1 100644 --- a/Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs +++ b/Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs @@ -1,5 +1,6 @@ using Content.Server.Explosion.Components; using Content.Server.Weapons.Ranged.Systems; +using Content.Shared.Trigger; using Robust.Server.GameObjects; using Robust.Shared.Containers; using Robust.Shared.Map; @@ -45,6 +46,9 @@ public sealed class ProjectileGrenadeSystem : EntitySystem /// private void OnFragTrigger(Entity entity, ref TriggerEvent args) { + if (args.Key != entity.Comp.TriggerKey) + return; + FragmentIntoProjectiles(entity.Owner, entity.Comp); args.Handled = true; } diff --git a/Content.Server/Explosion/EntitySystems/ReleaseGasOnTriggerSystem.cs b/Content.Server/Explosion/EntitySystems/ReleaseGasOnTriggerSystem.cs deleted file mode 100644 index ae3f84f843..0000000000 --- a/Content.Server/Explosion/EntitySystems/ReleaseGasOnTriggerSystem.cs +++ /dev/null @@ -1,79 +0,0 @@ -using Content.Server.Atmos.EntitySystems; -using Content.Shared.Explosion.Components.OnTrigger; -using Content.Shared.Explosion.EntitySystems; -using Robust.Shared.Timing; - -namespace Content.Server.Explosion.EntitySystems; - -/// -/// Releases a gas mixture to the atmosphere when triggered. -/// Can also release gas over a set timespan to prevent trolling people -/// with the instant-wall-of-pressure-inator. -/// -public sealed partial class ReleaseGasOnTriggerSystem : SharedReleaseGasOnTriggerSystem -{ - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - [Dependency] private readonly AtmosphereSystem _atmosphereSystem = default!; - [Dependency] private readonly IGameTiming _timing = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnTrigger); - } - - /// - /// Shrimply sets the component to active when triggered, allowing it to release over time. - /// - private void OnTrigger(Entity ent, ref TriggerEvent args) - { - ent.Comp.Active = true; - ent.Comp.NextReleaseTime = _timing.CurTime; - ent.Comp.StartingTotalMoles = ent.Comp.Air.TotalMoles; - UpdateAppearance(ent.Owner, true); - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - var curTime = _timing.CurTime; - var query = EntityQueryEnumerator(); - - while (query.MoveNext(out var uid, out var comp)) - { - if (!comp.Active || comp.NextReleaseTime > curTime) - continue; - - var giverGasMix = comp.Air.Remove(comp.StartingTotalMoles * comp.RemoveFraction); - var environment = _atmosphereSystem.GetContainingMixture(uid, false, true); - - if (environment == null) - { - UpdateAppearance(uid, false); - RemCompDeferred(uid); - continue; - } - - _atmosphereSystem.Merge(environment, giverGasMix); - comp.NextReleaseTime += comp.ReleaseInterval; - - if (comp.PressureLimit != 0 && environment.Pressure >= comp.PressureLimit || - comp.Air.TotalMoles <= 0) - { - UpdateAppearance(uid, false); - RemCompDeferred(uid); - continue; - } - } - } - - private void UpdateAppearance(Entity entity, bool state) - { - if (!Resolve(entity, ref entity.Comp, false)) - return; - - _appearance.SetData(entity, ReleaseGasOnTriggerVisuals.Key, state); - } -} diff --git a/Content.Server/Explosion/EntitySystems/RepulseAttractOnTriggerSystem.cs b/Content.Server/Explosion/EntitySystems/RepulseAttractOnTriggerSystem.cs deleted file mode 100644 index 9e595c5d9e..0000000000 --- a/Content.Server/Explosion/EntitySystems/RepulseAttractOnTriggerSystem.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Content.Shared.Explosion.Components.OnTrigger; -using Content.Shared.Explosion.EntitySystems; -using Content.Shared.RepulseAttract; -using Content.Shared.Timing; - -namespace Content.Server.Explosion.EntitySystems; - -public sealed class RepulseAttractOnTriggerSystem : SharedRepulseAttractOnTriggerSystem -{ - [Dependency] private readonly RepulseAttractSystem _repulse = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - [Dependency] private readonly UseDelaySystem _delay = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnTrigger); - } - - private void OnTrigger(Entity ent, ref TriggerEvent args) - { - if (_delay.IsDelayed(ent.Owner)) - return; - - var position = _transform.GetMapCoordinates(ent); - _repulse.TryRepulseAttract(position, args.User, ent.Comp.Speed, ent.Comp.Range, ent.Comp.Whitelist, ent.Comp.CollisionMask); - } -} diff --git a/Content.Server/Explosion/EntitySystems/ScatteringGrenadeSystem.cs b/Content.Server/Explosion/EntitySystems/ScatteringGrenadeSystem.cs index 2657ba3449..5f7df28beb 100644 --- a/Content.Server/Explosion/EntitySystems/ScatteringGrenadeSystem.cs +++ b/Content.Server/Explosion/EntitySystems/ScatteringGrenadeSystem.cs @@ -1,5 +1,8 @@ using Content.Shared.Explosion.Components; using Content.Shared.Throwing; +using Content.Shared.Trigger; +using Content.Shared.Trigger.Systems; +using Content.Shared.Trigger.Components; using Robust.Server.GameObjects; using Robust.Shared.Containers; using Robust.Shared.Map; @@ -15,6 +18,7 @@ public sealed class ScatteringGrenadeSystem : SharedScatteringGrenadeSystem [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly ThrowingSystem _throwingSystem = default!; [Dependency] private readonly TransformSystem _transformSystem = default!; + [Dependency] private readonly TriggerSystem _trigger = default!; public override void Initialize() { @@ -30,6 +34,9 @@ public sealed class ScatteringGrenadeSystem : SharedScatteringGrenadeSystem /// private void OnScatteringTrigger(Entity entity, ref TriggerEvent args) { + if (args.Key != entity.Comp.TriggerKey) + return; + entity.Comp.IsTriggered = true; args.Handled = true; } @@ -76,13 +83,12 @@ public sealed class ScatteringGrenadeSystem : SharedScatteringGrenadeSystem _throwingSystem.TryThrow(contentUid, direction, component.Velocity); - if (component.TriggerContents) + if (component.TriggerContents && TryComp(contentUid, out var contentTimer)) { additionalIntervalDelay += _random.NextFloat(component.IntervalBetweenTriggersMin, component.IntervalBetweenTriggersMax); - var contentTimer = EnsureComp(contentUid); - contentTimer.TimeRemaining = component.DelayBeforeTriggerContents + additionalIntervalDelay; - var ev = new ActiveTimerTriggerEvent(contentUid, uid); - RaiseLocalEvent(contentUid, ref ev); + + _trigger.SetDelay((contentUid, contentTimer), TimeSpan.FromSeconds(component.DelayBeforeTriggerContents + additionalIntervalDelay)); + _trigger.ActivateTimerTrigger((contentUid, contentTimer)); } } diff --git a/Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs b/Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs deleted file mode 100644 index 19335d3446..0000000000 --- a/Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs +++ /dev/null @@ -1,57 +0,0 @@ -using Content.Shared.Explosion.Components; -using Content.Shared.Explosion.EntitySystems; -using Content.Server.Fluids.EntitySystems; -using Content.Server.Spreader; -using Content.Shared.Chemistry.Components; -using Content.Shared.Coordinates.Helpers; -using Content.Shared.Maps; -using Robust.Server.GameObjects; -using Robust.Shared.Map; - -namespace Content.Server.Explosion.EntitySystems; - -/// -/// Handles creating smoke when is triggered. -/// -public sealed class SmokeOnTriggerSystem : SharedSmokeOnTriggerSystem -{ - [Dependency] private readonly IMapManager _mapMan = default!; - [Dependency] private readonly SharedMapSystem _map = default!; - [Dependency] private readonly SmokeSystem _smoke = default!; - [Dependency] private readonly TransformSystem _transform = default!; - [Dependency] private readonly SpreaderSystem _spreader = default!; - [Dependency] private readonly TurfSystem _turf = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnTrigger); - } - - private void OnTrigger(EntityUid uid, SmokeOnTriggerComponent comp, TriggerEvent args) - { - var xform = Transform(uid); - var mapCoords = _transform.GetMapCoordinates(uid, xform); - if (!_mapMan.TryFindGridAt(mapCoords, out var gridUid, out var grid) || - !_map.TryGetTileRef(gridUid, grid, xform.Coordinates, out var tileRef) || - tileRef.Tile.IsEmpty) - { - return; - } - - if (_spreader.RequiresFloorToSpread(comp.SmokePrototype.ToString()) && _turf.IsSpace(tileRef)) - return; - - var coords = _map.MapToGrid(gridUid, mapCoords); - var ent = Spawn(comp.SmokePrototype, coords.SnapToGrid()); - if (!TryComp(ent, out var smoke)) - { - Log.Error($"Smoke prototype {comp.SmokePrototype} was missing SmokeComponent"); - Del(ent); - return; - } - - _smoke.StartSmoke(ent, comp.Solution, comp.Duration, comp.SpreadAmount, smoke); - } -} diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.OnUse.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.OnUse.cs deleted file mode 100644 index d06e9fa1c2..0000000000 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.OnUse.cs +++ /dev/null @@ -1,170 +0,0 @@ -using Content.Server.Explosion.Components; -using Content.Shared.Examine; -using Content.Shared.Explosion.Components; -using Content.Shared.Interaction.Events; -using Content.Shared.Popups; -using Content.Shared.Sticky; -using Content.Shared.Verbs; - -namespace Content.Server.Explosion.EntitySystems; - -public sealed partial class TriggerSystem -{ - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - - private void InitializeOnUse() - { - SubscribeLocalEvent(OnTimerUse); - SubscribeLocalEvent(OnExamined); - SubscribeLocalEvent>(OnGetAltVerbs); - SubscribeLocalEvent(OnStuck); - SubscribeLocalEvent(OnRandomTimerTriggerMapInit); - } - - private void OnStuck(EntityUid uid, OnUseTimerTriggerComponent component, ref EntityStuckEvent args) - { - if (!component.StartOnStick) - return; - - StartTimer((uid, component), args.User); - } - - private void OnExamined(EntityUid uid, OnUseTimerTriggerComponent component, ExaminedEvent args) - { - if (args.IsInDetailsRange && component.Examinable) - args.PushText(Loc.GetString("examine-trigger-timer", ("time", component.Delay))); - } - - /// - /// Add an alt-click interaction that cycles through delays. - /// - private void OnGetAltVerbs(EntityUid uid, OnUseTimerTriggerComponent component, GetVerbsEvent args) - { - if (!args.CanInteract || !args.CanAccess || args.Hands == null) - return; - - if (component.UseVerbInstead) - { - args.Verbs.Add(new AlternativeVerb() - { - Text = Loc.GetString("verb-start-detonation"), - Act = () => StartTimer((uid, component), args.User), - Priority = 2 - }); - } - - if (component.AllowToggleStartOnStick) - { - args.Verbs.Add(new AlternativeVerb() - { - Text = Loc.GetString("verb-toggle-start-on-stick"), - Act = () => ToggleStartOnStick(uid, args.User, component) - }); - } - - if (component.DelayOptions == null || component.DelayOptions.Count == 1) - return; - - args.Verbs.Add(new AlternativeVerb() - { - Category = TimerOptions, - Text = Loc.GetString("verb-trigger-timer-cycle"), - Act = () => CycleDelay(component, args.User), - Priority = 1 - }); - - foreach (var option in component.DelayOptions) - { - if (MathHelper.CloseTo(option, component.Delay)) - { - args.Verbs.Add(new AlternativeVerb() - { - Category = TimerOptions, - Text = Loc.GetString("verb-trigger-timer-set-current", ("time", option)), - Disabled = true, - Priority = (int) (-100 * option) - }); - continue; - } - - args.Verbs.Add(new AlternativeVerb() - { - Category = TimerOptions, - Text = Loc.GetString("verb-trigger-timer-set", ("time", option)), - Priority = (int) (-100 * option), - - Act = () => - { - component.Delay = option; - _popupSystem.PopupEntity(Loc.GetString("popup-trigger-timer-set", ("time", option)), args.User, args.User); - }, - }); - } - } - - private void OnRandomTimerTriggerMapInit(Entity ent, ref MapInitEvent args) - { - var (_, comp) = ent; - - if (!TryComp(ent, out var timerTriggerComp)) - return; - - timerTriggerComp.Delay = _random.NextFloat(comp.Min, comp.Max); - } - - private void CycleDelay(OnUseTimerTriggerComponent component, EntityUid user) - { - if (component.DelayOptions == null || component.DelayOptions.Count == 1) - return; - - // This is somewhat inefficient, but its good enough. This is run rarely, and the lists should be short. - - component.DelayOptions.Sort(); - - if (component.DelayOptions[^1] <= component.Delay) - { - component.Delay = component.DelayOptions[0]; - _popupSystem.PopupEntity(Loc.GetString("popup-trigger-timer-set", ("time", component.Delay)), user, user); - return; - } - - foreach (var option in component.DelayOptions) - { - if (option > component.Delay) - { - component.Delay = option; - _popupSystem.PopupEntity(Loc.GetString("popup-trigger-timer-set", ("time", option)), user, user); - return; - } - } - } - - private void ToggleStartOnStick(EntityUid grenade, EntityUid user, OnUseTimerTriggerComponent comp) - { - if (comp.StartOnStick) - { - comp.StartOnStick = false; - _popupSystem.PopupEntity(Loc.GetString("popup-start-on-stick-off"), grenade, user); - } - else - { - comp.StartOnStick = true; - _popupSystem.PopupEntity(Loc.GetString("popup-start-on-stick-on"), grenade, user); - } - } - - private void OnTimerUse(EntityUid uid, OnUseTimerTriggerComponent component, UseInHandEvent args) - { - if (args.Handled || HasComp(uid) || component.UseVerbInstead) - return; - - if (component.DoPopup) - _popupSystem.PopupEntity(Loc.GetString("trigger-activated", ("device", uid)), args.User, args.User); - - StartTimer((uid, component), args.User); - - args.Handled = true; - } - - public static VerbCategory TimerOptions = new("verb-categories-timer", "/Textures/Interface/VerbIcons/clock.svg.192dpi.png"); -} diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs deleted file mode 100644 index 426bade10e..0000000000 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs +++ /dev/null @@ -1,154 +0,0 @@ -using Content.Server.Explosion.Components; -using Content.Shared.Trigger; -using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Events; -using Robust.Shared.Utility; -using Robust.Shared.Timing; - -namespace Content.Server.Explosion.EntitySystems; - -public sealed partial class TriggerSystem -{ - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - - private void InitializeProximity() - { - SubscribeLocalEvent(OnProximityStartCollide); - SubscribeLocalEvent(OnProximityEndCollide); - SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnProximityShutdown); - // Shouldn't need re-anchoring. - SubscribeLocalEvent(OnProximityAnchor); - } - - private void OnProximityAnchor(EntityUid uid, TriggerOnProximityComponent component, ref AnchorStateChangedEvent args) - { - component.Enabled = !component.RequiresAnchored || - args.Anchored; - - SetProximityAppearance(uid, component); - - if (!component.Enabled) - { - component.Colliding.Clear(); - } - // Re-check for contacts as we cleared them. - else if (TryComp(uid, out var body)) - { - _broadphase.RegenerateContacts((uid, body)); - } - } - - private void OnProximityShutdown(EntityUid uid, TriggerOnProximityComponent component, ComponentShutdown args) - { - component.Colliding.Clear(); - } - - private void OnMapInit(EntityUid uid, TriggerOnProximityComponent component, MapInitEvent args) - { - component.Enabled = !component.RequiresAnchored || - Transform(uid).Anchored; - - SetProximityAppearance(uid, component); - - if (!TryComp(uid, out var body)) - return; - - _fixtures.TryCreateFixture( - uid, - component.Shape, - TriggerOnProximityComponent.FixtureID, - hard: false, - body: body, - collisionLayer: component.Layer); - } - - private void OnProximityStartCollide(EntityUid uid, TriggerOnProximityComponent component, ref StartCollideEvent args) - { - if (args.OurFixtureId != TriggerOnProximityComponent.FixtureID) - return; - - component.Colliding[args.OtherEntity] = args.OtherBody; - } - - private static void OnProximityEndCollide(EntityUid uid, TriggerOnProximityComponent component, ref EndCollideEvent args) - { - if (args.OurFixtureId != TriggerOnProximityComponent.FixtureID) - return; - - component.Colliding.Remove(args.OtherEntity); - } - - private void SetProximityAppearance(EntityUid uid, TriggerOnProximityComponent component) - { - if (TryComp(uid, out AppearanceComponent? appearance)) - { - _appearance.SetData(uid, ProximityTriggerVisualState.State, component.Enabled ? ProximityTriggerVisuals.Inactive : ProximityTriggerVisuals.Off, appearance); - } - } - - private void Activate(EntityUid uid, EntityUid user, TriggerOnProximityComponent component) - { - DebugTools.Assert(component.Enabled); - - var curTime = _timing.CurTime; - - if (!component.Repeating) - { - component.Enabled = false; - component.Colliding.Clear(); - } - else - { - component.NextTrigger = curTime + component.Cooldown; - } - - // Queue a visual update for when the animation is complete. - component.NextVisualUpdate = curTime + component.AnimationDuration; - - if (TryComp(uid, out AppearanceComponent? appearance)) - { - _appearance.SetData(uid, ProximityTriggerVisualState.State, ProximityTriggerVisuals.Active, appearance); - } - - Trigger(uid, user); - } - - private void UpdateProximity() - { - var curTime = _timing.CurTime; - - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var trigger)) - { - if (curTime >= trigger.NextVisualUpdate) - { - // Update the visual state once the animation is done. - trigger.NextVisualUpdate = TimeSpan.MaxValue; - SetProximityAppearance(uid, trigger); - } - - if (!trigger.Enabled) - continue; - - if (curTime < trigger.NextTrigger) - // The trigger's on cooldown. - continue; - - // Check for anything colliding and moving fast enough. - foreach (var (collidingUid, colliding) in trigger.Colliding) - { - if (Deleted(collidingUid)) - continue; - - if (colliding.LinearVelocity.Length() < trigger.TriggerSpeed) - continue; - - // Trigger! - Activate(uid, collidingUid, trigger); - break; - } - } - } -} diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.Signal.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.Signal.cs deleted file mode 100644 index 99e8c97d53..0000000000 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.Signal.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Content.Server.DeviceLinking.Systems; -using Content.Server.Explosion.Components; -using Content.Shared.DeviceLinking.Events; - -namespace Content.Server.Explosion.EntitySystems -{ - public sealed partial class TriggerSystem - { - [Dependency] private readonly DeviceLinkSystem _signalSystem = default!; - private void InitializeSignal() - { - SubscribeLocalEvent(OnSignalReceived); - SubscribeLocalEvent(OnInit); - - SubscribeLocalEvent(OnTimerSignalReceived); - SubscribeLocalEvent(OnTimerSignalInit); - } - - private void OnSignalReceived(EntityUid uid, TriggerOnSignalComponent component, ref SignalReceivedEvent args) - { - if (args.Port != component.Port) - return; - - Trigger(uid, args.Trigger); - } - private void OnInit(EntityUid uid, TriggerOnSignalComponent component, ComponentInit args) - { - _signalSystem.EnsureSinkPorts(uid, component.Port); - } - - private void OnTimerSignalReceived(EntityUid uid, TimerStartOnSignalComponent component, ref SignalReceivedEvent args) - { - if (args.Port != component.Port) - return; - - StartTimer(uid, args.Trigger); - } - private void OnTimerSignalInit(EntityUid uid, TimerStartOnSignalComponent component, ComponentInit args) - { - _signalSystem.EnsureSinkPorts(uid, component.Port); - } - } -} diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.TimedCollide.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.TimedCollide.cs deleted file mode 100644 index ea10b7c69b..0000000000 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.TimedCollide.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.Linq; -using Content.Server.Explosion.Components; -using Content.Server.Explosion.EntitySystems; -using Robust.Shared.Physics.Dynamics; -using Robust.Shared.Physics.Events; - -namespace Content.Server.Explosion.EntitySystems; - -public sealed partial class TriggerSystem -{ - private void InitializeTimedCollide() - { - SubscribeLocalEvent(OnTimerCollide); - SubscribeLocalEvent(OnTimerEndCollide); - SubscribeLocalEvent(OnComponentRemove); - } - - private void OnTimerCollide(EntityUid uid, TriggerOnTimedCollideComponent component, ref StartCollideEvent args) - { - //Ensures the entity trigger will have an active component - EnsureComp(uid); - var otherUID = args.OtherEntity; - if (component.Colliding.ContainsKey(otherUID)) - return; - component.Colliding.Add(otherUID, 0); - } - - private void OnTimerEndCollide(EntityUid uid, TriggerOnTimedCollideComponent component, ref EndCollideEvent args) - { - var otherUID = args.OtherEntity; - component.Colliding.Remove(otherUID); - - if (component.Colliding.Count == 0 && HasComp(uid)) - RemComp(uid); - } - - private void OnComponentRemove(EntityUid uid, TriggerOnTimedCollideComponent component, ComponentRemove args) - { - if (HasComp(uid)) - RemComp(uid); - } - - private void UpdateTimedCollide(float frameTime) - { - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out _, out var triggerOnTimedCollide)) - { - foreach (var (collidingEntity, collidingTimer) in triggerOnTimedCollide.Colliding) - { - triggerOnTimedCollide.Colliding[collidingEntity] += frameTime; - if (collidingTimer > triggerOnTimedCollide.Threshold) - { - RaiseLocalEvent(uid, new TriggerEvent(uid, collidingEntity), true); - triggerOnTimedCollide.Colliding[collidingEntity] -= triggerOnTimedCollide.Threshold; - } - } - } - } -} diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs deleted file mode 100644 index a96508e37c..0000000000 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.Voice.cs +++ /dev/null @@ -1,154 +0,0 @@ -using Content.Server.Explosion.Components; -using Content.Server.Speech; -using Content.Server.Speech.Components; -using Content.Shared.Database; -using Content.Shared.Examine; -using Content.Shared.Verbs; - -namespace Content.Server.Explosion.EntitySystems -{ - public sealed partial class TriggerSystem - { - private void InitializeVoice() - { - SubscribeLocalEvent(OnVoiceInit); - SubscribeLocalEvent(OnVoiceExamine); - SubscribeLocalEvent>(OnVoiceGetAltVerbs); - SubscribeLocalEvent(OnListen); - } - - private void OnVoiceInit(EntityUid uid, TriggerOnVoiceComponent component, ComponentInit args) - { - if (component.IsListening) - EnsureComp(uid).Range = component.ListenRange; - else - RemCompDeferred(uid); - } - - private void OnListen(Entity ent, ref ListenEvent args) - { - var component = ent.Comp; - var message = args.Message.Trim(); - - if (component.IsRecording) - { - var ev = new ListenAttemptEvent(args.Source); - RaiseLocalEvent(ent, ev); - - if (ev.Cancelled) - return; - - if (message.Length >= component.MinLength && message.Length <= component.MaxLength) - FinishRecording(ent, args.Source, args.Message); - else if (message.Length > component.MaxLength) - _popupSystem.PopupEntity(Loc.GetString("popup-trigger-voice-record-failed-too-long"), ent); - else if (message.Length < component.MinLength) - _popupSystem.PopupEntity(Loc.GetString("popup-trigger-voice-record-failed-too-short"), ent); - - return; - } - - if (!string.IsNullOrWhiteSpace(component.KeyPhrase) && message.IndexOf(component.KeyPhrase, StringComparison.InvariantCultureIgnoreCase) is var index and >= 0 ) - { - _adminLogger.Add(LogType.Trigger, LogImpact.Medium, - $"A voice-trigger on {ToPrettyString(ent):entity} was triggered by {ToPrettyString(args.Source):speaker} speaking the key-phrase {component.KeyPhrase}."); - Trigger(ent, args.Source); - - var messageWithoutPhrase = message.Remove(index, component.KeyPhrase.Length).Trim(); - - var voice = new VoiceTriggeredEvent(args.Source, message, messageWithoutPhrase); - RaiseLocalEvent(ent, ref voice); - } - } - - private void OnVoiceGetAltVerbs(Entity ent, ref GetVerbsEvent args) - { - if (!args.CanInteract || !args.CanAccess) - return; - - var component = ent.Comp; - - var @event = args; - args.Verbs.Add(new AlternativeVerb() - { - Text = Loc.GetString(component.IsRecording ? "verb-trigger-voice-stop" : "verb-trigger-voice-record"), - Act = () => - { - if (component.IsRecording) - StopRecording(ent); - else - StartRecording(ent, @event.User); - }, - Priority = 1 - }); - - if (string.IsNullOrWhiteSpace(component.KeyPhrase)) - return; - - args.Verbs.Add(new AlternativeVerb() - { - Text = Loc.GetString("verb-trigger-voice-clear"), - Act = () => - { - component.KeyPhrase = null; - component.IsRecording = false; - RemComp(ent); - } - }); - } - - public void StartRecording(Entity ent, EntityUid user) - { - var component = ent.Comp; - component.IsRecording = true; - EnsureComp(ent).Range = component.ListenRange; - - _adminLogger.Add(LogType.Trigger, LogImpact.Low, - $"A voice-trigger on {ToPrettyString(ent):entity} has started recording. User: {ToPrettyString(user):user}"); - - _popupSystem.PopupEntity(Loc.GetString("popup-trigger-voice-start-recording"), ent); - } - - public void StopRecording(Entity ent) - { - var component = ent.Comp; - component.IsRecording = false; - if (string.IsNullOrWhiteSpace(component.KeyPhrase)) - RemComp(ent); - - _popupSystem.PopupEntity(Loc.GetString("popup-trigger-voice-stop-recording"), ent); - } - - public void FinishRecording(Entity ent, EntityUid source, string message) - { - var component = ent.Comp; - component.KeyPhrase = message; - component.IsRecording = false; - - _adminLogger.Add(LogType.Trigger, LogImpact.Low, - $"A voice-trigger on {ToPrettyString(ent):entity} has recorded a new keyphrase: '{component.KeyPhrase}'. Recorded from {ToPrettyString(source):speaker}"); - - _popupSystem.PopupEntity(Loc.GetString("popup-trigger-voice-recorded", ("keyphrase", component.KeyPhrase!)), ent); - } - - private void OnVoiceExamine(EntityUid uid, TriggerOnVoiceComponent component, ExaminedEvent args) - { - if (args.IsInDetailsRange) - { - args.PushText(string.IsNullOrWhiteSpace(component.KeyPhrase) - ? Loc.GetString("trigger-voice-uninitialized") - : Loc.GetString("examine-trigger-voice", ("keyphrase", component.KeyPhrase))); - } - } - } -} - - -/// -/// Raised when a voice trigger is activated, containing the message that triggered it. -/// -/// The EntityUid of the entity sending the message -/// The contents of the message -/// The message without the phrase that triggered it. -[ByRefEvent] -public readonly record struct VoiceTriggeredEvent(EntityUid Source, string Message, string MessageWithoutPhrase); diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.cs deleted file mode 100644 index f3a3f0c87c..0000000000 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.cs +++ /dev/null @@ -1,454 +0,0 @@ -using Content.Server.Administration.Logs; -using Content.Server.Body.Systems; -using Content.Server.Explosion.Components; -using Content.Shared.Flash; -using Content.Server.Electrocution; -using Content.Server.Pinpointer; -using Content.Shared.Chemistry.EntitySystems; -using Content.Shared.Flash.Components; -using Content.Server.Radio.EntitySystems; -using Content.Shared.Chemistry.Components; -using Content.Shared.Chemistry.Components.SolutionManager; -using Content.Shared.Database; -using Content.Shared.Explosion.Components; -using Content.Shared.Explosion.Components.OnTrigger; -using Content.Shared.Implants.Components; -using Content.Shared.Interaction; -using Content.Shared.Interaction.Events; -using Content.Shared.Inventory; -using Content.Shared.Mobs; -using Content.Shared.Mobs.Components; -using Content.Shared.Payload.Components; -using Content.Shared.Radio; -using Content.Shared.Slippery; -using Content.Shared.StepTrigger.Systems; -using Content.Shared.Trigger; -using Content.Shared.Weapons.Ranged.Events; -using Content.Shared.Whitelist; -using JetBrains.Annotations; -using Robust.Shared.Audio; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Containers; -using Robust.Shared.Physics.Events; -using Robust.Shared.Physics.Systems; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; -using Robust.Shared.Utility; - -namespace Content.Server.Explosion.EntitySystems -{ - /// - /// Raised whenever something is Triggered on the entity. - /// - public sealed class TriggerEvent : HandledEntityEventArgs - { - public EntityUid Triggered { get; } - public EntityUid? User { get; } - - public TriggerEvent(EntityUid triggered, EntityUid? user = null) - { - Triggered = triggered; - User = user; - } - } - - /// - /// Raised before a trigger is activated. - /// - [ByRefEvent] - public record struct BeforeTriggerEvent(EntityUid Triggered, EntityUid? User, bool Cancelled = false); - - /// - /// Raised when timer trigger becomes active. - /// - [ByRefEvent] - public readonly record struct ActiveTimerTriggerEvent(EntityUid Triggered, EntityUid? User); - - [UsedImplicitly] - public sealed partial class TriggerSystem : EntitySystem - { - [Dependency] private readonly ExplosionSystem _explosions = default!; - [Dependency] private readonly FixtureSystem _fixtures = default!; - [Dependency] private readonly SharedFlashSystem _flashSystem = default!; - [Dependency] private readonly SharedBroadphaseSystem _broadphase = default!; - [Dependency] private readonly IAdminLogManager _adminLogger = default!; - [Dependency] private readonly SharedContainerSystem _container = default!; - [Dependency] private readonly BodySystem _body = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly SharedTransformSystem _transformSystem = default!; - [Dependency] private readonly NavMapSystem _navMap = default!; - [Dependency] private readonly RadioSystem _radioSystem = default!; - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly SharedSolutionContainerSystem _solutionContainerSystem = default!; - [Dependency] private readonly InventorySystem _inventory = default!; - [Dependency] private readonly ElectrocutionSystem _electrocution = default!; - [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; - - public override void Initialize() - { - base.Initialize(); - - InitializeProximity(); - InitializeOnUse(); - InitializeSignal(); - InitializeTimedCollide(); - InitializeVoice(); - InitializeMobstate(); - - SubscribeLocalEvent(OnSpawnTriggered); - SubscribeLocalEvent(OnTriggerCollide); - SubscribeLocalEvent(OnActivate); - SubscribeLocalEvent(OnUse); - SubscribeLocalEvent(OnImplantTrigger); - SubscribeLocalEvent(OnStepTriggered); - SubscribeLocalEvent(OnSlipTriggered); - SubscribeLocalEvent(OnEmptyTriggered); - SubscribeLocalEvent(OnRepeatInit); - - SubscribeLocalEvent(OnSpawnTrigger); - SubscribeLocalEvent(HandleDeleteTrigger); - SubscribeLocalEvent(HandleExplodeTrigger); - SubscribeLocalEvent(HandleFlashTrigger); - SubscribeLocalEvent(HandleGibTrigger); - - SubscribeLocalEvent(OnAnchorTrigger); - SubscribeLocalEvent(OnSoundTrigger); - SubscribeLocalEvent(HandleShockTrigger); - SubscribeLocalEvent(HandleRattleTrigger); - - SubscribeLocalEvent(HandleWhitelist); - } - - private void HandleWhitelist(Entity ent, ref BeforeTriggerEvent args) - { - args.Cancelled = !_whitelist.CheckBoth(args.User, ent.Comp.Blacklist, ent.Comp.Whitelist); - } - - private void OnSoundTrigger(EntityUid uid, SoundOnTriggerComponent component, TriggerEvent args) - { - if (component.RemoveOnTrigger) // if the component gets removed when it's triggered - { - var xform = Transform(uid); - _audio.PlayPvs(component.Sound, xform.Coordinates); // play the sound at its last known coordinates - } - else // if the component doesn't get removed when triggered - { - _audio.PlayPvs(component.Sound, uid); // have the sound follow the entity itself - } - } - - private void HandleShockTrigger(Entity shockOnTrigger, ref TriggerEvent args) - { - if (!_container.TryGetContainingContainer(shockOnTrigger.Owner, out var container)) - return; - - var containerEnt = container.Owner; - var curTime = _timing.CurTime; - - if (curTime < shockOnTrigger.Comp.NextTrigger) - { - // The trigger's on cooldown. - return; - } - - _electrocution.TryDoElectrocution(containerEnt, null, shockOnTrigger.Comp.Damage, shockOnTrigger.Comp.Duration, true, ignoreInsulation: true); - shockOnTrigger.Comp.NextTrigger = curTime + shockOnTrigger.Comp.Cooldown; - } - - private void OnAnchorTrigger(EntityUid uid, AnchorOnTriggerComponent component, TriggerEvent args) - { - var xform = Transform(uid); - - if (xform.Anchored) - return; - - _transformSystem.AnchorEntity(uid, xform); - - if (component.RemoveOnTrigger) - RemCompDeferred(uid); - } - - private void OnSpawnTrigger(Entity ent, ref TriggerEvent args) - { - var xform = Transform(ent); - - if (ent.Comp.mapCoords) - { - var mapCoords = _transformSystem.GetMapCoordinates(ent, xform); - Spawn(ent.Comp.Proto, mapCoords); - } - else - { - var coords = xform.Coordinates; - if (!coords.IsValid(EntityManager)) - return; - Spawn(ent.Comp.Proto, coords); - - } - } - - private void HandleExplodeTrigger(EntityUid uid, ExplodeOnTriggerComponent component, TriggerEvent args) - { - _explosions.TriggerExplosive(uid, user: args.User); - args.Handled = true; - } - - private void HandleFlashTrigger(EntityUid uid, FlashOnTriggerComponent component, TriggerEvent args) - { - _flashSystem.FlashArea(uid, args.User, component.Range, component.Duration, probability: component.Probability); - args.Handled = true; - } - - private void HandleDeleteTrigger(EntityUid uid, DeleteOnTriggerComponent component, TriggerEvent args) - { - QueueDel(uid); - args.Handled = true; - } - - private void HandleGibTrigger(EntityUid uid, GibOnTriggerComponent component, TriggerEvent args) - { - if (!TryComp(uid, out TransformComponent? xform)) - return; - if (component.DeleteItems) - { - var items = _inventory.GetHandOrInventoryEntities(xform.ParentUid); - foreach (var item in items) - { - Del(item); - } - } - _body.GibBody(xform.ParentUid, true); - args.Handled = true; - } - - - private void HandleRattleTrigger(EntityUid uid, RattleComponent component, TriggerEvent args) - { - if (!TryComp(uid, out var implanted)) - return; - - if (implanted.ImplantedEntity == null) - return; - - // Gets location of the implant - var posText = FormattedMessage.RemoveMarkupOrThrow(_navMap.GetNearestBeaconString(uid)); - var critMessage = Loc.GetString(component.CritMessage, ("user", implanted.ImplantedEntity.Value), ("position", posText)); - var deathMessage = Loc.GetString(component.DeathMessage, ("user", implanted.ImplantedEntity.Value), ("position", posText)); - - if (!TryComp(implanted.ImplantedEntity, out var mobstate)) - return; - - // Sends a message to the radio channel specified by the implant - if (mobstate.CurrentState == MobState.Critical) - _radioSystem.SendRadioMessage(uid, critMessage, _prototypeManager.Index(component.RadioChannel), uid); - if (mobstate.CurrentState == MobState.Dead) - _radioSystem.SendRadioMessage(uid, deathMessage, _prototypeManager.Index(component.RadioChannel), uid); - - args.Handled = true; - } - - private void OnTriggerCollide(EntityUid uid, TriggerOnCollideComponent component, ref StartCollideEvent args) - { - if (args.OurFixtureId == component.FixtureID && (!component.IgnoreOtherNonHard || args.OtherFixture.Hard)) - Trigger(uid, args.OtherEntity); - } - - private void OnSpawnTriggered(EntityUid uid, TriggerOnSpawnComponent component, MapInitEvent args) - { - Trigger(uid); - } - - private void OnActivate(EntityUid uid, TriggerOnActivateComponent component, ActivateInWorldEvent args) - { - if (args.Handled || !args.Complex) - return; - - Trigger(uid, args.User); - args.Handled = true; - } - - private void OnUse(Entity ent, ref UseInHandEvent args) - { - if (args.Handled) - return; - - Trigger(ent.Owner, args.User); - args.Handled = true; - } - - private void OnImplantTrigger(EntityUid uid, TriggerImplantActionComponent component, ActivateImplantEvent args) - { - args.Handled = Trigger(uid); - } - - private void OnStepTriggered(EntityUid uid, TriggerOnStepTriggerComponent component, ref StepTriggeredOffEvent args) - { - Trigger(uid, args.Tripper); - } - - private void OnSlipTriggered(EntityUid uid, TriggerOnSlipComponent component, ref SlipEvent args) - { - Trigger(uid, args.Slipped); - } - - private void OnEmptyTriggered(EntityUid uid, TriggerWhenEmptyComponent component, ref OnEmptyGunShotEvent args) - { - Trigger(uid, args.EmptyGun); - } - - private void OnRepeatInit(Entity ent, ref MapInitEvent args) - { - ent.Comp.NextTrigger = _timing.CurTime + ent.Comp.Delay; - } - - public bool Trigger(EntityUid trigger, EntityUid? user = null) - { - var beforeTriggerEvent = new BeforeTriggerEvent(trigger, user); - RaiseLocalEvent(trigger, ref beforeTriggerEvent); - if (beforeTriggerEvent.Cancelled) - return false; - - var triggerEvent = new TriggerEvent(trigger, user); - EntityManager.EventBus.RaiseLocalEvent(trigger, triggerEvent, true); - return triggerEvent.Handled; - } - - public void TryDelay(EntityUid uid, float amount, ActiveTimerTriggerComponent? comp = null) - { - if (!Resolve(uid, ref comp, false)) - return; - - comp.TimeRemaining += amount; - } - - /// - /// Start the timer for triggering the device. - /// - public void StartTimer(Entity ent, EntityUid? user) - { - if (!Resolve(ent, ref ent.Comp, false)) - return; - - var comp = ent.Comp; - HandleTimerTrigger(ent, user, comp.Delay, comp.BeepInterval, comp.InitialBeepDelay, comp.BeepSound); - } - - public void HandleTimerTrigger(EntityUid uid, EntityUid? user, float delay, float beepInterval, float? initialBeepDelay, SoundSpecifier? beepSound) - { - if (delay <= 0) - { - RemComp(uid); - Trigger(uid, user); - return; - } - - if (HasComp(uid)) - return; - - if (user != null) - { - // Check if entity is bomb/mod. grenade/etc - if (_container.TryGetContainer(uid, "payload", out BaseContainer? container) && - container.ContainedEntities.Count > 0 && - TryComp(container.ContainedEntities[0], out ChemicalPayloadComponent? chemicalPayloadComponent)) - { - // If a beaker is missing, the entity won't explode, so no reason to log it - if (chemicalPayloadComponent?.BeakerSlotA.Item is not { } beakerA || - chemicalPayloadComponent?.BeakerSlotB.Item is not { } beakerB || - !TryComp(beakerA, out SolutionContainerManagerComponent? containerA) || - !TryComp(beakerB, out SolutionContainerManagerComponent? containerB) || - !TryComp(beakerA, out FitsInDispenserComponent? fitsA) || - !TryComp(beakerB, out FitsInDispenserComponent? fitsB) || - !_solutionContainerSystem.TryGetSolution((beakerA, containerA), fitsA.Solution, out _, out var solutionA) || - !_solutionContainerSystem.TryGetSolution((beakerB, containerB), fitsB.Solution, out _, out var solutionB)) - return; - - _adminLogger.Add(LogType.Trigger, - $"{ToPrettyString(user.Value):user} started a {delay} second timer trigger on entity {ToPrettyString(uid):timer}, which contains {SharedSolutionContainerSystem.ToPrettyString(solutionA)} in one beaker and {SharedSolutionContainerSystem.ToPrettyString(solutionB)} in the other."); - } - else - { - _adminLogger.Add(LogType.Trigger, - $"{ToPrettyString(user.Value):user} started a {delay} second timer trigger on entity {ToPrettyString(uid):timer}"); - } - - } - else - { - _adminLogger.Add(LogType.Trigger, - $"{delay} second timer trigger started on entity {ToPrettyString(uid):timer}"); - } - - var active = AddComp(uid); - active.TimeRemaining = delay; - active.User = user; - active.BeepSound = beepSound; - active.BeepInterval = beepInterval; - active.TimeUntilBeep = initialBeepDelay == null ? active.BeepInterval : initialBeepDelay.Value; - - var ev = new ActiveTimerTriggerEvent(uid, user); - RaiseLocalEvent(uid, ref ev); - - if (TryComp(uid, out var appearance)) - _appearance.SetData(uid, TriggerVisuals.VisualState, TriggerVisualState.Primed, appearance); - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - UpdateProximity(); - UpdateTimer(frameTime); - UpdateTimedCollide(frameTime); - UpdateRepeat(); - } - - private void UpdateTimer(float frameTime) - { - HashSet toRemove = new(); - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var timer)) - { - timer.TimeRemaining -= frameTime; - timer.TimeUntilBeep -= frameTime; - - if (timer.TimeRemaining <= 0) - { - Trigger(uid, timer.User); - toRemove.Add(uid); - continue; - } - - if (timer.BeepSound == null || timer.TimeUntilBeep > 0) - continue; - - timer.TimeUntilBeep += timer.BeepInterval; - _audio.PlayPvs(timer.BeepSound, uid, timer.BeepSound.Params); - } - - foreach (var uid in toRemove) - { - RemComp(uid); - - // In case this is a re-usable grenade, un-prime it. - if (TryComp(uid, out var appearance)) - _appearance.SetData(uid, TriggerVisuals.VisualState, TriggerVisualState.Unprimed, appearance); - } - } - - private void UpdateRepeat() - { - var now = _timing.CurTime; - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var comp)) - { - if (comp.NextTrigger > now) - continue; - - comp.NextTrigger = now + comp.Delay; - Trigger(uid); - } - } - } -} diff --git a/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs b/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs deleted file mode 100644 index 8488fd14bb..0000000000 --- a/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs +++ /dev/null @@ -1,64 +0,0 @@ -using Robust.Shared.Timing; -using Robust.Shared.Serialization.Manager; -using Content.Server.Explosion.Components.OnTrigger; - -namespace Content.Server.Explosion.EntitySystems; - -public sealed class TwoStageTriggerSystem : EntitySystem -{ - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly ISerializationManager _serializationManager = default!; - [Dependency] private readonly TriggerSystem _triggerSystem = default!; - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnTrigger); - } - - private void OnTrigger(EntityUid uid, TwoStageTriggerComponent component, TriggerEvent args) - { - if (component.Triggered) - return; - - component.Triggered = true; - component.NextTriggerTime = _timing.CurTime + component.TriggerDelay; - } - - private void LoadComponents(EntityUid uid, TwoStageTriggerComponent component) - { - foreach (var (name, entry) in component.SecondStageComponents) - { - var comp = (Component) Factory.GetComponent(name); - var temp = (object)comp; - - if (EntityManager.TryGetComponent(uid, entry.Component.GetType(), out var c)) - RemComp(uid, c); - - _serializationManager.CopyTo(entry.Component, ref temp); - AddComp(uid, comp); - } - component.ComponentsIsLoaded = true; - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - var enumerator = EntityQueryEnumerator(); - while (enumerator.MoveNext(out var uid, out var component)) - { - if (!component.Triggered) - continue; - - if (!component.ComponentsIsLoaded) - LoadComponents(uid, component); - - if (_timing.CurTime < component.NextTriggerTime) - continue; - - component.NextTriggerTime = null; - _triggerSystem.Trigger(uid); - } - } -} diff --git a/Content.Server/GhostKick/GhostKickUserOnTriggerComponent.cs b/Content.Server/GhostKick/GhostKickUserOnTriggerComponent.cs deleted file mode 100644 index 11fb0156a4..0000000000 --- a/Content.Server/GhostKick/GhostKickUserOnTriggerComponent.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Content.Server.GhostKick; - -[RegisterComponent] -public sealed partial class GhostKickUserOnTriggerComponent : Component -{ - -} diff --git a/Content.Server/GhostKick/GhostKickUserOnTriggerSystem.cs b/Content.Server/GhostKick/GhostKickUserOnTriggerSystem.cs deleted file mode 100644 index 2a5d9065fa..0000000000 --- a/Content.Server/GhostKick/GhostKickUserOnTriggerSystem.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Content.Server.Explosion.EntitySystems; -using Robust.Shared.Player; - -namespace Content.Server.GhostKick; - -public sealed class GhostKickUserOnTriggerSystem : EntitySystem -{ - [Dependency] private readonly GhostKickManager _ghostKickManager = default!; - - public override void Initialize() - { - SubscribeLocalEvent(HandleMineTriggered); - } - - private void HandleMineTriggered(EntityUid uid, GhostKickUserOnTriggerComponent userOnTriggerComponent, TriggerEvent args) - { - if (!TryComp(args.User, out ActorComponent? actor)) - return; - - _ghostKickManager.DoDisconnect( - actor.PlayerSession.Channel, - "Tripped over a kick mine, crashed through the fourth wall"); - - args.Handled = true; - } -} diff --git a/Content.Server/Holopad/HolopadSystem.cs b/Content.Server/Holopad/HolopadSystem.cs index f2bd0e05ad..884fb3ae71 100644 --- a/Content.Server/Holopad/HolopadSystem.cs +++ b/Content.Server/Holopad/HolopadSystem.cs @@ -1,7 +1,6 @@ using Content.Server.Chat.Systems; using Content.Server.Popups; using Content.Server.Power.EntitySystems; -using Content.Server.Speech.Components; using Content.Server.Telephone; using Content.Shared.Access.Systems; using Content.Shared.Audio; @@ -12,6 +11,7 @@ using Content.Shared.Labels.Components; using Content.Shared.Power; using Content.Shared.Silicons.StationAi; using Content.Shared.Speech; +using Content.Shared.Speech.Components; using Content.Shared.Telephone; using Content.Shared.UserInterface; using Content.Shared.Verbs; @@ -560,7 +560,7 @@ public sealed class HolopadSystem : SharedHolopadSystem entity.Comp.User = (user.Value, holopadUser); } - // Add the new user to PVS and sync their appearance with any + // Add the new user to PVS and sync their appearance with any // holopads connected to the one they are using _pvs.AddGlobalOverride(user.Value); SyncHolopadHologramAppearanceWithTarget(entity, entity.Comp.User); diff --git a/Content.Server/HotPotato/HotPotatoSystem.cs b/Content.Server/HotPotato/HotPotatoSystem.cs index 8ca33fb8cd..554fe098b0 100644 --- a/Content.Server/HotPotato/HotPotatoSystem.cs +++ b/Content.Server/HotPotato/HotPotatoSystem.cs @@ -1,61 +1,5 @@ -using Content.Server.Audio; -using Content.Server.Explosion.EntitySystems; -using Content.Shared.Damage.Systems; -using Content.Shared.Hands.Components; -using Content.Shared.Hands.EntitySystems; using Content.Shared.HotPotato; -using Content.Shared.Popups; -using Content.Shared.Weapons.Melee.Events; namespace Content.Server.HotPotato; -public sealed class HotPotatoSystem : SharedHotPotatoSystem -{ - [Dependency] private readonly SharedHandsSystem _hands = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - [Dependency] private readonly AmbientSoundSystem _ambientSound = default!; - [Dependency] private readonly DamageOnHoldingSystem _damageOnHolding = default!; - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnActiveTimer); - SubscribeLocalEvent(OnMeleeHit); - } - - private void OnActiveTimer(EntityUid uid, HotPotatoComponent comp, ref ActiveTimerTriggerEvent args) - { - EnsureComp(uid); - comp.CanTransfer = false; - _ambientSound.SetAmbience(uid, true); - _damageOnHolding.SetEnabled(uid, true); - Dirty(uid, comp); - } - - private void OnMeleeHit(EntityUid uid, HotPotatoComponent comp, MeleeHitEvent args) - { - if (!HasComp(uid)) - return; - - comp.CanTransfer = true; - foreach (var hitEntity in args.HitEntities) - { - if (!TryComp(hitEntity, out var hands)) - continue; - - if (!_hands.IsHolding((hitEntity, hands), uid, out _) && _hands.TryForcePickupAnyHand(hitEntity, uid, handsComp: hands)) - { - _popup.PopupEntity(Loc.GetString("hot-potato-passed", - ("from", args.User), ("to", hitEntity)), uid, PopupType.Medium); - break; - } - - _popup.PopupEntity(Loc.GetString("hot-potato-failed", - ("to", hitEntity)), uid, PopupType.Medium); - - break; - } - comp.CanTransfer = false; - Dirty(uid, comp); - } -} +public sealed class HotPotatoSystem : SharedHotPotatoSystem; diff --git a/Content.Server/IgnitionSource/IgniteOnTriggerComponent.cs b/Content.Server/IgnitionSource/IgniteOnTriggerComponent.cs deleted file mode 100644 index 939198c45e..0000000000 --- a/Content.Server/IgnitionSource/IgniteOnTriggerComponent.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Robust.Shared.Audio; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; - -namespace Content.Server.IgnitionSource; - -/// -/// Ignites for a certain length of time when triggered. -/// Requires along with triggering components. -/// -[RegisterComponent, Access(typeof(IgniteOnTriggerSystem))] -public sealed partial class IgniteOnTriggerComponent : Component -{ - /// - /// Once ignited, the time it will unignite at. - /// - [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] - public TimeSpan IgnitedUntil = TimeSpan.Zero; - - /// - /// How long the ignition source is active for after triggering. - /// - [DataField, ViewVariables(VVAccess.ReadWrite)] - public TimeSpan IgnitedTime = TimeSpan.FromSeconds(0.5); - - /// - /// Sound to play when igniting. - /// - [DataField] - public SoundSpecifier IgniteSound = new SoundCollectionSpecifier("WelderOn"); -} diff --git a/Content.Server/LandMines/LandMineSystem.cs b/Content.Server/LandMines/LandMineSystem.cs index 57d25ef8ab..fdea8e9c65 100644 --- a/Content.Server/LandMines/LandMineSystem.cs +++ b/Content.Server/LandMines/LandMineSystem.cs @@ -1,9 +1,9 @@ -using Content.Server.Explosion.EntitySystems; using Content.Shared.Armable; using Content.Shared.Item.ItemToggle.Components; using Content.Shared.LandMines; using Content.Shared.Popups; using Content.Shared.StepTrigger.Systems; +using Content.Shared.Trigger.Systems; using Robust.Shared.Audio.Systems; namespace Content.Server.LandMines; @@ -28,15 +28,15 @@ public sealed class LandMineSystem : EntitySystem /// private void HandleStepOnTriggered(EntityUid uid, LandMineComponent component, ref StepTriggeredOnEvent args) { - if (!string.IsNullOrEmpty(component.TriggerText)) - { - _popupSystem.PopupCoordinates( - Loc.GetString(component.TriggerText, ("mine", uid)), - Transform(uid).Coordinates, - args.Tripper, - PopupType.LargeCaution); - } - _audioSystem.PlayPvs(component.Sound, uid); + if (!string.IsNullOrEmpty(component.TriggerText)) + { + _popupSystem.PopupCoordinates( + Loc.GetString(component.TriggerText, ("mine", uid)), + Transform(uid).Coordinates, + args.Tripper, + PopupType.LargeCaution); + } + _audioSystem.PlayPvs(component.Sound, uid); } /// @@ -44,7 +44,8 @@ public sealed class LandMineSystem : EntitySystem /// private void HandleStepOffTriggered(EntityUid uid, LandMineComponent component, ref StepTriggeredOffEvent args) { - _trigger.Trigger(uid, args.Tripper); + // TODO: Adjust to the new trigger system + _trigger.Trigger(uid, args.Tripper, TriggerSystem.DefaultTriggerKey); } /// diff --git a/Content.Server/Mousetrap/MousetrapSystem.cs b/Content.Server/Mousetrap/MousetrapSystem.cs deleted file mode 100644 index 3afe858ce0..0000000000 --- a/Content.Server/Mousetrap/MousetrapSystem.cs +++ /dev/null @@ -1,79 +0,0 @@ -using Content.Server.Damage.Systems; -using Content.Server.Explosion.EntitySystems; -using Content.Server.Popups; -using Content.Shared.Interaction.Events; -using Content.Shared.Inventory; -using Content.Shared.Mousetrap; -using Content.Shared.StepTrigger; -using Content.Shared.StepTrigger.Systems; -using Robust.Server.GameObjects; -using Robust.Shared.Physics.Components; -using Robust.Shared.Player; - -namespace Content.Server.Mousetrap; - -public sealed class MousetrapSystem : EntitySystem -{ - [Dependency] private readonly PopupSystem _popupSystem = default!; - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - - public override void Initialize() - { - SubscribeLocalEvent(OnUseInHand); - SubscribeLocalEvent(BeforeDamageOnTrigger); - SubscribeLocalEvent(OnStepTriggerAttempt); - SubscribeLocalEvent(OnTrigger); - } - - private void OnUseInHand(EntityUid uid, MousetrapComponent component, UseInHandEvent args) - { - if (args.Handled) - return; - - component.IsActive = !component.IsActive; - _popupSystem.PopupEntity(component.IsActive - ? Loc.GetString("mousetrap-on-activate") - : Loc.GetString("mousetrap-on-deactivate"), - uid, - args.User); - - UpdateVisuals(uid); - - args.Handled = true; - } - - private void OnStepTriggerAttempt(EntityUid uid, MousetrapComponent component, ref StepTriggerAttemptEvent args) - { - args.Continue |= component.IsActive; - } - - private void BeforeDamageOnTrigger(EntityUid uid, MousetrapComponent component, BeforeDamageUserOnTriggerEvent args) - { - if (TryComp(args.Tripper, out PhysicsComponent? physics) && physics.Mass != 0) - { - // The idea here is inverse, - // Small - big damage, - // Large - small damage - // yes i punched numbers into a calculator until the graph looked right - var scaledDamage = -50 * Math.Atan(physics.Mass - component.MassBalance) + (25 * Math.PI); - args.Damage *= scaledDamage; - } - } - - private void OnTrigger(EntityUid uid, MousetrapComponent component, TriggerEvent args) - { - component.IsActive = false; - UpdateVisuals(uid); - } - - private void UpdateVisuals(EntityUid uid, MousetrapComponent? mousetrap = null, AppearanceComponent? appearance = null) - { - if (!Resolve(uid, ref mousetrap, ref appearance, false)) - { - return; - } - - _appearance.SetData(uid, MousetrapVisuals.Visual, - mousetrap.IsActive ? MousetrapVisuals.Armed : MousetrapVisuals.Unarmed, appearance); - } -} diff --git a/Content.Server/Ninja/Systems/SpiderChargeSystem.cs b/Content.Server/Ninja/Systems/SpiderChargeSystem.cs index 6594d7883b..c08576a5ce 100644 --- a/Content.Server/Ninja/Systems/SpiderChargeSystem.cs +++ b/Content.Server/Ninja/Systems/SpiderChargeSystem.cs @@ -1,4 +1,3 @@ -using Content.Server.Explosion.EntitySystems; using Content.Server.Mind; using Content.Server.Objectives.Components; using Content.Server.Popups; @@ -7,6 +6,7 @@ using Content.Shared.Ninja.Components; using Content.Shared.Ninja.Systems; using Content.Shared.Roles; using Content.Shared.Sticky; +using Content.Shared.Trigger; namespace Content.Server.Ninja.Systems; @@ -80,6 +80,9 @@ public sealed class SpiderChargeSystem : SharedSpiderChargeSystem /// private void OnExplode(EntityUid uid, SpiderChargeComponent comp, TriggerEvent args) { + if (args.Key != comp.TriggerKey) + return; + if (!TryComp(comp.Planter, out var ninja)) return; diff --git a/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs b/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs index 5c0aca1578..e85393e6f7 100644 --- a/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs @@ -1,15 +1,15 @@ -using Content.Server.Explosion.EntitySystems; using Content.Server.Fluids.EntitySystems; using Content.Server.Nutrition.Components; using Content.Server.Popups; using Content.Shared.Containers.ItemSlots; -using Content.Shared.Explosion.Components; using Content.Shared.IdentityManagement; using Content.Shared.Nutrition; using Content.Shared.Nutrition.Components; using Content.Shared.Nutrition.EntitySystems; using Content.Shared.Rejuvenate; using Content.Shared.Throwing; +using Content.Shared.Trigger.Components; +using Content.Shared.Trigger.Systems; using Content.Shared.Chemistry.EntitySystems; using JetBrains.Annotations; using Robust.Shared.Audio; @@ -77,15 +77,9 @@ namespace Content.Server.Nutrition.EntitySystems { if (_itemSlots.TryEject(uid, itemSlot, user: null, out var item)) { - if (TryComp(item.Value, out var timerTrigger)) + if (TryComp(item.Value, out var timerTrigger)) { - _trigger.HandleTimerTrigger( - item.Value, - null, - timerTrigger.Delay, - timerTrigger.BeepInterval, - timerTrigger.InitialBeepDelay, - timerTrigger.BeepSound); + _trigger.ActivateTimerTrigger((item.Value, timerTrigger)); } } } diff --git a/Content.Server/Payload/EntitySystems/PayloadSystem.cs b/Content.Server/Payload/EntitySystems/PayloadSystem.cs index 18444bc590..11e97c5b93 100644 --- a/Content.Server/Payload/EntitySystems/PayloadSystem.cs +++ b/Content.Server/Payload/EntitySystems/PayloadSystem.cs @@ -1,10 +1,10 @@ using Content.Server.Administration.Logs; -using Content.Server.Explosion.EntitySystems; using Content.Shared.Chemistry.Components; using Content.Shared.Database; using Content.Shared.Examine; using Content.Shared.Payload.Components; using Content.Shared.Tag; +using Content.Shared.Trigger; using Content.Shared.Chemistry.EntitySystems; using Robust.Shared.Containers; using Robust.Shared.Serialization.Manager; @@ -54,18 +54,22 @@ public sealed class PayloadSystem : EntitySystem private void OnCaseTriggered(EntityUid uid, PayloadCaseComponent component, TriggerEvent args) { + // TODO: Adjust to the new trigger system + if (!TryComp(uid, out ContainerManagerComponent? contMan)) return; // Pass trigger event onto all contained payloads. Payload capacity configurable by construction graphs. foreach (var ent in GetAllPayloads(uid, contMan)) { - RaiseLocalEvent(ent, args, false); + RaiseLocalEvent(ent, ref args, false); } } private void OnTriggerTriggered(EntityUid uid, PayloadTriggerComponent component, TriggerEvent args) { + // TODO: Adjust to the new trigger system + if (!component.Active) return; @@ -75,7 +79,7 @@ public sealed class PayloadSystem : EntitySystem // Ensure we don't enter a trigger-loop DebugTools.Assert(!_tagSystem.HasTag(uid, PayloadTag)); - RaiseLocalEvent(parent, args, false); + RaiseLocalEvent(parent, ref args); } private void OnEntityInserted(EntityUid uid, PayloadCaseComponent _, EntInsertedIntoContainerMessage args) @@ -146,6 +150,7 @@ public sealed class PayloadSystem : EntitySystem private void HandleChemicalPayloadTrigger(Entity entity, ref TriggerEvent args) { + // TODO: Adjust to the new trigger system if (entity.Comp.BeakerSlotA.Item is not EntityUid beakerA || entity.Comp.BeakerSlotB.Item is not EntityUid beakerB || !TryComp(beakerA, out FitsInDispenserComponent? compA) diff --git a/Content.Server/Polymorph/Components/PolymorphOnTriggerComponent.cs b/Content.Server/Polymorph/Components/PolymorphOnTriggerComponent.cs deleted file mode 100644 index a11b4f4d4c..0000000000 --- a/Content.Server/Polymorph/Components/PolymorphOnTriggerComponent.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Content.Shared.Polymorph; -using Robust.Shared.Prototypes; - -namespace Content.Server.Polymorph.Components; - -/// -/// Intended for use with the trigger system. -/// Polymorphs the user of the trigger. -/// -[RegisterComponent] -public sealed partial class PolymorphOnTriggerComponent : Component -{ - /// - /// Polymorph settings. - /// - [DataField(required: true)] - public ProtoId Polymorph; -} diff --git a/Content.Server/Polymorph/Systems/PolymorphSystem.Trigger.cs b/Content.Server/Polymorph/Systems/PolymorphSystem.Trigger.cs deleted file mode 100644 index 452b060315..0000000000 --- a/Content.Server/Polymorph/Systems/PolymorphSystem.Trigger.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Content.Shared.Polymorph; -using Content.Server.Polymorph.Components; -using Content.Server.Explosion.EntitySystems; -using Robust.Shared.Prototypes; - -namespace Content.Server.Polymorph.Systems; - -public sealed partial class PolymorphSystem -{ - /// - /// Need to do this so we don't get a collection enumeration error in physics by polymorphing - /// an entity we're colliding with in case of TriggerOnCollide. - /// Also makes sure other trigger effects don't activate in nullspace after we have polymorphed. - /// - private Queue<(EntityUid Ent, ProtoId Polymorph)> _queuedPolymorphUpdates = new(); - - private void InitializeTrigger() - { - SubscribeLocalEvent(OnTrigger); - } - - private void OnTrigger(Entity ent, ref TriggerEvent args) - { - if (args.User == null) - return; - - _queuedPolymorphUpdates.Enqueue((args.User.Value, ent.Comp.Polymorph)); - args.Handled = true; - } - - public void UpdateTrigger() - { - while (_queuedPolymorphUpdates.TryDequeue(out var data)) - { - if (TerminatingOrDeleted(data.Item1)) - continue; - - PolymorphEntity(data.Item1, data.Item2); - } - } -} diff --git a/Content.Server/Polymorph/Systems/PolymorphSystem.cs b/Content.Server/Polymorph/Systems/PolymorphSystem.cs index 696b19199e..d411eb7722 100644 --- a/Content.Server/Polymorph/Systems/PolymorphSystem.cs +++ b/Content.Server/Polymorph/Systems/PolymorphSystem.cs @@ -58,7 +58,6 @@ public sealed partial class PolymorphSystem : EntitySystem SubscribeLocalEvent(OnDestruction); InitializeMap(); - InitializeTrigger(); } public override void Update(float frameTime) @@ -85,8 +84,6 @@ public sealed partial class PolymorphSystem : EntitySystem Revert((uid, comp)); } } - - UpdateTrigger(); } private void OnComponentStartup(Entity ent, ref ComponentStartup args) diff --git a/Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs b/Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs index 3829fc34d2..f052c460f5 100644 --- a/Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs +++ b/Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs @@ -2,15 +2,14 @@ using System.Linq; using Content.Server.Chat.Systems; using Content.Server.Interaction; using Content.Server.Popups; -using Content.Server.Power.Components; using Content.Server.Power.EntitySystems; using Content.Server.Radio.Components; -using Content.Server.Speech; -using Content.Server.Speech.Components; using Content.Shared.Examine; using Content.Shared.Interaction; using Content.Shared.Power; using Content.Shared.Radio; +using Content.Shared.Speech; +using Content.Shared.Speech.Components; using Content.Shared.Chat; using Content.Shared.Radio.Components; using Robust.Shared.Prototypes; diff --git a/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs b/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs index e950d3f288..debed525f6 100644 --- a/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs +++ b/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs @@ -119,7 +119,7 @@ public sealed partial class BorgSystem var message = Loc.GetString(ent.Comp.DestroyingPopup, ("name", Name(ent))); Popup.PopupEntity(message, ent); - _trigger.StartTimer(ent.Owner, user: null); + _trigger.ActivateTimerTrigger(ent.Owner); // prevent a shitter borg running into people RemComp(ent); diff --git a/Content.Server/Silicons/Borgs/BorgSystem.cs b/Content.Server/Silicons/Borgs/BorgSystem.cs index 0cd407000f..f33b71c54e 100644 --- a/Content.Server/Silicons/Borgs/BorgSystem.cs +++ b/Content.Server/Silicons/Borgs/BorgSystem.cs @@ -4,7 +4,6 @@ using Content.Server.Actions; using Content.Server.Administration.Logs; using Content.Server.Administration.Managers; using Content.Server.DeviceNetwork.Systems; -using Content.Server.Explosion.EntitySystems; using Content.Server.Hands.Systems; using Content.Server.PowerCell; using Content.Shared.Alert; @@ -25,6 +24,7 @@ using Content.Shared.Roles; using Content.Shared.Silicons.Borgs; using Content.Shared.Silicons.Borgs.Components; using Content.Shared.Throwing; +using Content.Shared.Trigger.Systems; using Content.Shared.Whitelist; using Content.Shared.Wires; using Robust.Server.GameObjects; diff --git a/Content.Server/Sound/Components/EmitSoundOnTriggerComponent.cs b/Content.Server/Sound/Components/EmitSoundOnTriggerComponent.cs deleted file mode 100644 index 5338351948..0000000000 --- a/Content.Server/Sound/Components/EmitSoundOnTriggerComponent.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Content.Server.Explosion.EntitySystems; -using Content.Shared.Sound.Components; - -namespace Content.Server.Sound.Components -{ - /// - /// Whenever a is run play a sound in PVS range. - /// - [RegisterComponent] - public sealed partial class EmitSoundOnTriggerComponent : BaseEmitSoundComponent - { - } -} diff --git a/Content.Server/Sound/EmitSoundSystem.cs b/Content.Server/Sound/EmitSoundSystem.cs index 9d7e8496c3..1720d67d02 100644 --- a/Content.Server/Sound/EmitSoundSystem.cs +++ b/Content.Server/Sound/EmitSoundSystem.cs @@ -1,6 +1,3 @@ -using Content.Server.Explosion.EntitySystems; -using Content.Server.Sound.Components; -using Content.Shared.UserInterface; using Content.Shared.Sound; using Content.Shared.Sound.Components; using Robust.Shared.Timing; @@ -38,16 +35,9 @@ public sealed class EmitSoundSystem : SharedEmitSoundSystem { base.Initialize(); - SubscribeLocalEvent(HandleEmitSoundOnTrigger); SubscribeLocalEvent(HandleSpamEmitSoundMapInit); } - private void HandleEmitSoundOnTrigger(EntityUid uid, EmitSoundOnTriggerComponent component, TriggerEvent args) - { - TryEmitSound(uid, component, args.User, false); - args.Handled = true; - } - private void HandleSpamEmitSoundMapInit(Entity entity, ref MapInitEvent args) { SpamEmitSoundReset(entity); diff --git a/Content.Server/Speech/Components/ActiveListenerComponent.cs b/Content.Server/Speech/Components/ActiveListenerComponent.cs deleted file mode 100644 index 4553fafa51..0000000000 --- a/Content.Server/Speech/Components/ActiveListenerComponent.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Content.Server.Chat.Systems; - -namespace Content.Server.Speech.Components; - -/// -/// This component is used to relay speech events to other systems. -/// -[RegisterComponent] -public sealed partial class ActiveListenerComponent : Component -{ - [DataField("range")] - public float Range = ChatSystem.VoiceRange; -} diff --git a/Content.Server/Speech/EntitySystems/BlockListeningSystem.cs b/Content.Server/Speech/EntitySystems/BlockListeningSystem.cs index a13eda1f73..6b09877512 100644 --- a/Content.Server/Speech/EntitySystems/BlockListeningSystem.cs +++ b/Content.Server/Speech/EntitySystems/BlockListeningSystem.cs @@ -1,4 +1,5 @@ using Content.Server.Speech.Components; +using Content.Shared.Speech; namespace Content.Server.Speech.EntitySystems; diff --git a/Content.Server/Speech/EntitySystems/ListeningSystem.cs b/Content.Server/Speech/EntitySystems/ListeningSystem.cs index ea3569e055..17513d80e7 100644 --- a/Content.Server/Speech/EntitySystems/ListeningSystem.cs +++ b/Content.Server/Speech/EntitySystems/ListeningSystem.cs @@ -1,5 +1,6 @@ using Content.Server.Chat.Systems; -using Content.Server.Speech.Components; +using Content.Shared.Speech; +using Content.Shared.Speech.Components; namespace Content.Server.Speech.EntitySystems; diff --git a/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraMicrophoneSystem.cs b/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraMicrophoneSystem.cs index 4deb5238a5..4029488159 100644 --- a/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraMicrophoneSystem.cs +++ b/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraMicrophoneSystem.cs @@ -1,6 +1,6 @@ using Content.Server.Chat.Systems; -using Content.Server.Speech; -using Content.Server.Speech.Components; +using Content.Shared.Speech; +using Content.Shared.Speech.Components; using Content.Shared.Whitelist; using Robust.Shared.Player; using static Content.Server.Chat.Systems.ChatSystem; diff --git a/Content.Server/Telephone/TelephoneSystem.cs b/Content.Server/Telephone/TelephoneSystem.cs index 4c87707cc6..46f45d1286 100644 --- a/Content.Server/Telephone/TelephoneSystem.cs +++ b/Content.Server/Telephone/TelephoneSystem.cs @@ -3,8 +3,6 @@ using Content.Server.Administration.Logs; using Content.Server.Chat.Systems; using Content.Server.Interaction; using Content.Server.Power.EntitySystems; -using Content.Server.Speech; -using Content.Server.Speech.Components; using Content.Shared.Chat; using Content.Shared.Database; using Content.Shared.Labels.Components; @@ -13,6 +11,7 @@ using Content.Shared.Power; using Content.Shared.Silicons.StationAi; using Content.Shared.Silicons.Borgs.Components; using Content.Shared.Speech; +using Content.Shared.Speech.Components; using Content.Shared.Telephone; using Robust.Server.GameObjects; using Robust.Shared.Audio.Systems; diff --git a/Content.Server/AlertLevel/Systems/AlertLevelChangeOnTriggerSystem.cs b/Content.Server/Trigger/Systems/AlertLevelChangeOnTriggerSystem.cs similarity index 74% rename from Content.Server/AlertLevel/Systems/AlertLevelChangeOnTriggerSystem.cs rename to Content.Server/Trigger/Systems/AlertLevelChangeOnTriggerSystem.cs index 0c9734b943..1a3e49dd44 100644 --- a/Content.Server/AlertLevel/Systems/AlertLevelChangeOnTriggerSystem.cs +++ b/Content.Server/Trigger/Systems/AlertLevelChangeOnTriggerSystem.cs @@ -1,8 +1,9 @@ using Content.Server.AlertLevel; -using Content.Server.Explosion.EntitySystems; +using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Effects; using Content.Server.Station.Systems; -namespace Content.Server.AlertLevel.Systems; +namespace Content.Server.Trigger.Systems; public sealed class AlertLevelChangeOnTriggerSystem : EntitySystem { @@ -18,10 +19,14 @@ public sealed class AlertLevelChangeOnTriggerSystem : EntitySystem private void OnTrigger(Entity ent, ref TriggerEvent args) { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + var stationUid = _station.GetOwningStation(ent.Owner); - if (!stationUid.HasValue) + if (stationUid == null) return; _alertLevelSystem.SetLevel(stationUid.Value, ent.Comp.Level, ent.Comp.PlaySound, ent.Comp.Announce, ent.Comp.Force); + args.Handled = true; } } diff --git a/Content.Server/Trigger/Systems/GhostKickUserOnTriggerSystem.cs b/Content.Server/Trigger/Systems/GhostKickUserOnTriggerSystem.cs new file mode 100644 index 0000000000..0fae6ff1c5 --- /dev/null +++ b/Content.Server/Trigger/Systems/GhostKickUserOnTriggerSystem.cs @@ -0,0 +1,38 @@ +using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Effects; +using Content.Server.GhostKick; +using Robust.Shared.Player; + +namespace Content.Server.Trigger.Systems; + +public sealed class GhostKickUserOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly GhostKickManager _ghostKickManager = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + if (!TryComp(target, out ActorComponent? actor)) + return; + + _ghostKickManager.DoDisconnect( + actor.PlayerSession.Channel, + Loc.GetString(ent.Comp.Reason)); + + args.Handled = true; + } +} diff --git a/Content.Server/IgnitionSource/IgniteOnTriggerSystem.cs b/Content.Server/Trigger/Systems/IgniteOnTriggerSystem.cs similarity index 66% rename from Content.Server/IgnitionSource/IgniteOnTriggerSystem.cs rename to Content.Server/Trigger/Systems/IgniteOnTriggerSystem.cs index 0e9dd56622..f4d88b774a 100644 --- a/Content.Server/IgnitionSource/IgniteOnTriggerSystem.cs +++ b/Content.Server/Trigger/Systems/IgniteOnTriggerSystem.cs @@ -1,10 +1,9 @@ -using Content.Server.Explosion.EntitySystems; using Content.Shared.IgnitionSource; -using Content.Shared.Timing; -using Robust.Shared.Audio.Systems; +using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Effects; using Robust.Shared.Timing; -namespace Content.Server.IgnitionSource; +namespace Content.Server.Trigger.Systems; /// /// Handles igniting when triggered and stopping ignition after the delay. @@ -13,8 +12,6 @@ public sealed class IgniteOnTriggerSystem : EntitySystem { [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly SharedIgnitionSourceSystem _source = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly UseDelaySystem _useDelay = default!; public override void Initialize() { @@ -23,6 +20,8 @@ public sealed class IgniteOnTriggerSystem : EntitySystem SubscribeLocalEvent(OnTrigger); } + // TODO: move this into ignition source component + // it already has an update loop public override void Update(float deltaTime) { base.Update(deltaTime); @@ -42,14 +41,18 @@ public sealed class IgniteOnTriggerSystem : EntitySystem private void OnTrigger(Entity ent, ref TriggerEvent args) { - // prevent spamming sound and ignition - if (!TryComp(ent.Owner, out UseDelayComponent? useDelay) || _useDelay.IsDelayed((ent.Owner, useDelay))) + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) return; - _source.SetIgnited(ent.Owner); - _audio.PlayPvs(ent.Comp.IgniteSound, ent); + var target = ent.Comp.TargetUser ? args.User : ent.Owner; - _useDelay.TryResetDelay((ent.Owner, useDelay)); + if (target == null) + return; + + _source.SetIgnited(target.Value); ent.Comp.IgnitedUntil = _timing.CurTime + ent.Comp.IgnitedTime; + Dirty(ent); + + args.Handled = true; } } diff --git a/Content.Server/Trigger/Systems/PolymorphOnTriggerSystem.cs b/Content.Server/Trigger/Systems/PolymorphOnTriggerSystem.cs new file mode 100644 index 0000000000..8b4741b9ad --- /dev/null +++ b/Content.Server/Trigger/Systems/PolymorphOnTriggerSystem.cs @@ -0,0 +1,51 @@ +using Content.Server.Polymorph.Systems; +using Content.Shared.Polymorph; +using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Effects; +using Robust.Shared.Prototypes; + +namespace Content.Server.Trigger.Systems; + +public sealed partial class PolymorphOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly PolymorphSystem _polymorph = default!; + + /// + /// Need to do this so we don't get a collection enumeration error in physics by polymorphing + /// an entity we're colliding with in case of TriggerOnCollide. + /// Also makes sure other trigger effects don't activate in nullspace after we have polymorphed. + /// + private Queue<(EntityUid Uid, ProtoId Polymorph)> _queuedPolymorphUpdates = new(); + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + _queuedPolymorphUpdates.Enqueue((target.Value, ent.Comp.Polymorph)); + args.Handled = true; + } + + public override void Update(float frametime) + { + while (_queuedPolymorphUpdates.TryDequeue(out var data)) + { + if (TerminatingOrDeleted(data.Uid)) + continue; + + _polymorph.PolymorphEntity(data.Uid, data.Polymorph); + } + } +} diff --git a/Content.Server/Trigger/Systems/RattleOnTriggerSystem.cs b/Content.Server/Trigger/Systems/RattleOnTriggerSystem.cs new file mode 100644 index 0000000000..963ac36b7f --- /dev/null +++ b/Content.Server/Trigger/Systems/RattleOnTriggerSystem.cs @@ -0,0 +1,49 @@ +using Content.Server.Radio.EntitySystems; +using Content.Server.Pinpointer; +using Content.Shared.Mobs.Components; +using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Effects; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Server.Trigger.Systems; + +public sealed class RattleOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly RadioSystem _radio = default!; + [Dependency] private readonly NavMapSystem _navMap = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + if (!TryComp(target.Value, out var mobstate)) + return; + + args.Handled = true; + + if (!ent.Comp.Messages.TryGetValue(mobstate.CurrentState, out var messageId)) + return; + + // Gets the location of the user + var posText = FormattedMessage.RemoveMarkupOrThrow(_navMap.GetNearestBeaconString(target.Value)); + + var message = Loc.GetString(messageId, ("user", target.Value), ("position", posText)); + // Sends a message to the radio channel specified by the implant + _radio.SendRadioMessage(ent.Owner, message, _prototypeManager.Index(ent.Comp.RadioChannel), ent.Owner); + } +} diff --git a/Content.Server/Trigger/Systems/ReleaseGasOnTriggerSystem.cs b/Content.Server/Trigger/Systems/ReleaseGasOnTriggerSystem.cs new file mode 100644 index 0000000000..a38ca2a759 --- /dev/null +++ b/Content.Server/Trigger/Systems/ReleaseGasOnTriggerSystem.cs @@ -0,0 +1,48 @@ +using Content.Server.Atmos.EntitySystems; +using Content.Shared.Trigger.Components.Effects; +using Content.Shared.Trigger.Systems; +using Robust.Shared.Timing; + +namespace Content.Server.Trigger.Systems; + +public sealed class ReleaseGasOnTriggerSystem : SharedReleaseGasOnTriggerSystem +{ + [Dependency] private readonly AtmosphereSystem _atmosphereSystem = default!; + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly IGameTiming _timing = default!; + + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var curTime = _timing.CurTime; + var query = EntityQueryEnumerator(); + + while (query.MoveNext(out var uid, out var comp)) + { + if (!comp.Active || comp.NextReleaseTime > curTime) + continue; + + var giverGasMix = comp.Air.Remove(comp.StartingTotalMoles * comp.RemoveFraction); + var environment = _atmosphereSystem.GetContainingMixture(uid, false, true); + + if (environment == null) + { + _appearance.SetData(uid, ReleaseGasOnTriggerVisuals.Key, false); + RemCompDeferred(uid); + continue; + } + + _atmosphereSystem.Merge(environment, giverGasMix); + comp.NextReleaseTime += comp.ReleaseInterval; + + if (comp.PressureLimit != 0 && environment.Pressure >= comp.PressureLimit || + comp.Air.TotalMoles <= 0) + { + _appearance.SetData(uid, ReleaseGasOnTriggerVisuals.Key, false); + RemCompDeferred(uid); + } + } + } +} diff --git a/Content.Server/Trigger/Systems/SmokeOnTriggerSystem.cs b/Content.Server/Trigger/Systems/SmokeOnTriggerSystem.cs new file mode 100644 index 0000000000..97799b9cc6 --- /dev/null +++ b/Content.Server/Trigger/Systems/SmokeOnTriggerSystem.cs @@ -0,0 +1,68 @@ +using Content.Server.Fluids.EntitySystems; +using Content.Server.Spreader; +using Content.Shared.Chemistry.Components; +using Content.Shared.Coordinates.Helpers; +using Content.Shared.Maps; +using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Effects; +using Robust.Server.GameObjects; +using Robust.Shared.Map; + +namespace Content.Server.Trigger.Systems; + +/// +/// Handles creating smoke when is triggered. +/// +public sealed class SmokeOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly IMapManager _mapMan = default!; + [Dependency] private readonly MapSystem _map = default!; + [Dependency] private readonly SmokeSystem _smoke = default!; + [Dependency] private readonly TransformSystem _transform = default!; + [Dependency] private readonly SpreaderSystem _spreader = default!; + [Dependency] private readonly TurfSystem _turf = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + // TODO: move all of this into an API function in SmokeSystem + var xform = Transform(target.Value); + var mapCoords = _transform.GetMapCoordinates(target.Value, xform); + if (!_mapMan.TryFindGridAt(mapCoords, out var gridUid, out var gridComp) || + !_map.TryGetTileRef(gridUid, gridComp, xform.Coordinates, out var tileRef) || + tileRef.Tile.IsEmpty) + { + return; + } + + if (_spreader.RequiresFloorToSpread(ent.Comp.SmokePrototype.ToString()) && _turf.IsSpace(tileRef)) + return; + + var coords = _map.MapToGrid(gridUid, mapCoords); + var smoke = Spawn(ent.Comp.SmokePrototype, coords.SnapToGrid()); + if (!TryComp(smoke, out var smokeComp)) + { + Log.Error($"Smoke prototype {ent.Comp.SmokePrototype} was missing SmokeComponent"); + Del(smoke); + return; + } + + _smoke.StartSmoke(smoke, ent.Comp.Solution, (float)ent.Comp.Duration.TotalSeconds, ent.Comp.SpreadAmount, smokeComp); + + args.Handled = true; + } +} diff --git a/Content.Server/Chat/Systems/SpeakOnTriggerSystem.cs b/Content.Server/Trigger/Systems/SpeakOnTriggerSystem.cs similarity index 53% rename from Content.Server/Chat/Systems/SpeakOnTriggerSystem.cs rename to Content.Server/Trigger/Systems/SpeakOnTriggerSystem.cs index 28be6a5373..6da6f707c1 100644 --- a/Content.Server/Chat/Systems/SpeakOnTriggerSystem.cs +++ b/Content.Server/Trigger/Systems/SpeakOnTriggerSystem.cs @@ -1,13 +1,13 @@ -using Content.Server.Explosion.EntitySystems; -using Content.Shared.Timing; +using Content.Server.Chat.Systems; +using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Effects; using Robust.Shared.Prototypes; using Robust.Shared.Random; -namespace Content.Server.Chat.Systems; +namespace Content.Server.Trigger.Systems; public sealed class SpeakOnTriggerSystem : EntitySystem { - [Dependency] private readonly UseDelaySystem _useDelay = default!; [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly ChatSystem _chat = default!; @@ -15,32 +15,34 @@ public sealed class SpeakOnTriggerSystem : EntitySystem public override void Initialize() { base.Initialize(); + SubscribeLocalEvent(OnTrigger); } private void OnTrigger(Entity ent, ref TriggerEvent args) { - TrySpeak(ent); - args.Handled = true; - } - - private void TrySpeak(Entity ent) - { - // If it doesn't have the use delay component, still send the message. - if (TryComp(ent.Owner, out var useDelay) && _useDelay.IsDelayed((ent.Owner, useDelay))) + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) return; - if (!_prototypeManager.TryIndex(ent.Comp.Pack, out var messagePack)) + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) return; - var message = Loc.GetString(_random.Pick(messagePack.Values)); + string message; + if (ent.Comp.Text != null) + message = Loc.GetString(ent.Comp.Text); + else + { + if (!_prototypeManager.TryIndex(ent.Comp.Pack, out var messagePack)) + return; + message = Loc.GetString(_random.Pick(messagePack.Values)); + } // Chatcode moment: messages starting with "." are considered radio messages. // Prepending ">" forces the message to be spoken instead. // TODO chat refactor: remove this message = '>' + message; - _chat.TrySendInGameICMessage(ent.Owner, message, InGameICChatType.Speak, true); - - if (useDelay != null) - _useDelay.TryResetDelay((ent.Owner, useDelay)); + _chat.TrySendInGameICMessage(target.Value, message, InGameICChatType.Speak, true); + args.Handled = true; } } diff --git a/Content.Server/VoiceTrigger/StorageVoiceControlSystem.cs b/Content.Server/VoiceTrigger/StorageVoiceControlSystem.cs index 81bbd48a0d..ade861af98 100644 --- a/Content.Server/VoiceTrigger/StorageVoiceControlSystem.cs +++ b/Content.Server/VoiceTrigger/StorageVoiceControlSystem.cs @@ -5,6 +5,7 @@ using Content.Shared.Database; using Content.Shared.Inventory; using Content.Shared.Popups; using Content.Shared.Storage; +using Content.Shared.Trigger; using Robust.Server.Containers; namespace Content.Server.VoiceTrigger; diff --git a/Content.Server/Xenoarchaeology/Artifact/XAE/Components/XAETriggerExplosivesComponent.cs b/Content.Server/Xenoarchaeology/Artifact/XAE/Components/XAETriggerExplosivesComponent.cs index b9e23f036b..faef4d5078 100644 --- a/Content.Server/Xenoarchaeology/Artifact/XAE/Components/XAETriggerExplosivesComponent.cs +++ b/Content.Server/Xenoarchaeology/Artifact/XAE/Components/XAETriggerExplosivesComponent.cs @@ -1,9 +1,9 @@ -using Content.Shared.Explosion.Components.OnTrigger; +using Content.Shared.Explosion.Components; namespace Content.Server.Xenoarchaeology.Artifact.XAE.Components; /// -/// Activates 'trigger' for . +/// Activates to explode. /// [RegisterComponent, Access(typeof(XAETriggerExplosivesSystem))] public sealed partial class XAETriggerExplosivesComponent : Component; diff --git a/Content.Shared/Chat/SharedChatSystem.cs b/Content.Shared/Chat/SharedChatSystem.cs index 967980302d..34e955a50e 100644 --- a/Content.Shared/Chat/SharedChatSystem.cs +++ b/Content.Shared/Chat/SharedChatSystem.cs @@ -24,6 +24,11 @@ public abstract class SharedChatSystem : EntitySystem public const char WhisperPrefix = ','; public const char DefaultChannelKey = 'h'; + public const int VoiceRange = 10; // how far voice goes in world units + public const int WhisperClearRange = 2; // how far whisper goes while still being understandable, in world units + public const int WhisperMuffledRange = 5; // how far whisper goes at all, in world units + public const string DefaultAnnouncementSound = "/Audio/Announcements/announce.ogg"; + public static readonly ProtoId CommonChannel = "Common"; public static readonly string DefaultChannelPrefix = $"{RadioChannelPrefix}{DefaultChannelKey}"; diff --git a/Content.Shared/Damage/Components/DamageUserOnTriggerComponent.cs b/Content.Shared/Damage/Components/DamageUserOnTriggerComponent.cs deleted file mode 100644 index 87adc0cc90..0000000000 --- a/Content.Shared/Damage/Components/DamageUserOnTriggerComponent.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Content.Shared.Damage.Components; - -[RegisterComponent] -public sealed partial class DamageUserOnTriggerComponent : Component -{ - [DataField("ignoreResistances")] public bool IgnoreResistances; - - [DataField("damage", required: true)] - public DamageSpecifier Damage = default!; -} diff --git a/Content.Shared/Emp/SharedEmpSystem.cs b/Content.Shared/Emp/SharedEmpSystem.cs index 6e4478bb6d..72dc874935 100644 --- a/Content.Shared/Emp/SharedEmpSystem.cs +++ b/Content.Shared/Emp/SharedEmpSystem.cs @@ -1,3 +1,4 @@ +using Robust.Shared.Map; using Robust.Shared.Timing; namespace Content.Shared.Emp; @@ -7,4 +8,15 @@ public abstract class SharedEmpSystem : EntitySystem [Dependency] protected readonly IGameTiming Timing = default!; protected const string EmpDisabledEffectPrototype = "EffectEmpDisabled"; + + /// + /// Triggers an EMP pulse at the given location, by first raising an , then a raising on all entities in range. + /// + /// The location to trigger the EMP pulse at. + /// The range of the EMP pulse. + /// The amount of energy consumed by the EMP pulse. + /// The duration of the EMP effects. + public virtual void EmpPulse(MapCoordinates coordinates, float range, float energyConsumption, float duration) + { + } } diff --git a/Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs b/Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs deleted file mode 100644 index 6d43abc9d9..0000000000 --- a/Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Robust.Shared.Audio; -using Robust.Shared.GameStates; - -namespace Content.Shared.Explosion.Components; - -/// -/// Component for tracking active trigger timers. A timers can activated by some other component, e.g. . -/// -[RegisterComponent] -public sealed partial class ActiveTimerTriggerComponent : Component -{ - [DataField] public float TimeRemaining; - - [DataField] public EntityUid? User; - - [DataField] public float BeepInterval; - - [DataField] public float TimeUntilBeep; - - [DataField] public SoundSpecifier? BeepSound; -} diff --git a/Content.Shared/Explosion/Components/OnTrigger/ExplodeOnTriggerComponent.cs b/Content.Shared/Explosion/Components/OnTrigger/ExplodeOnTriggerComponent.cs deleted file mode 100644 index e14cd12464..0000000000 --- a/Content.Shared/Explosion/Components/OnTrigger/ExplodeOnTriggerComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared.Explosion.Components.OnTrigger; - -/// -/// Explode using the entity's if Triggered. -/// -[RegisterComponent, NetworkedComponent] -public sealed partial class ExplodeOnTriggerComponent : Component -{ -} diff --git a/Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs b/Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs deleted file mode 100644 index 983b8a31ee..0000000000 --- a/Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System.Linq; -using Content.Shared.Guidebook; -using Robust.Shared.Audio; -using Robust.Shared.GameStates; - -namespace Content.Shared.Explosion.Components -{ - [RegisterComponent, NetworkedComponent] - public sealed partial class OnUseTimerTriggerComponent : Component - { - [DataField] public float Delay = 1f; - - /// - /// If not null, a user can use verbs to configure the delay to one of these options. - /// - [DataField] public List? DelayOptions = null; - - /// - /// If not null, this timer will periodically play this sound while active. - /// - [DataField] public SoundSpecifier? BeepSound; - - /// - /// Time before beeping starts. Defaults to a single beep interval. If set to zero, will emit a beep immediately after use. - /// - [DataField] public float? InitialBeepDelay; - - [DataField] public float BeepInterval = 1; - - /// - /// Whether the timer should instead be activated through a verb in the right-click menu - /// - [DataField] public bool UseVerbInstead = false; - - /// - /// Should timer be started when it was stuck to another entity. - /// Used for C4 charges and similar behaviour. - /// - [DataField] public bool StartOnStick; - - /// - /// Allows changing the start-on-stick quality. - /// - [DataField("canToggleStartOnStick")] public bool AllowToggleStartOnStick; - - /// - /// Whether you can examine the item to see its timer or not. - /// - [DataField] public bool Examinable = true; - - /// - /// Whether or not to show the user a popup when starting the timer. - /// - [DataField] public bool DoPopup = true; - - #region GuidebookData - - [GuidebookData] - public float? ShortestDelayOption => DelayOptions?.Min(); - - [GuidebookData] - public float? LongestDelayOption => DelayOptions?.Max(); - - #endregion GuidebookData - } -} diff --git a/Content.Shared/Explosion/Components/ScatteringGrenadeComponent.cs b/Content.Shared/Explosion/Components/ScatteringGrenadeComponent.cs index 059ad189d1..1cab5d1a77 100644 --- a/Content.Shared/Explosion/Components/ScatteringGrenadeComponent.cs +++ b/Content.Shared/Explosion/Components/ScatteringGrenadeComponent.cs @@ -112,4 +112,10 @@ public sealed partial class ScatteringGrenadeComponent : Component /// We need to store this because we are only allowed to spawn and trigger timed entities on the next available frame update /// public bool IsTriggered = false; + + /// + /// The trigger key that will activate the grenade. + /// + [DataField] + public string TriggerKey = "timer"; } diff --git a/Content.Shared/Explosion/Components/SharedTriggerOnProximityComponent.cs b/Content.Shared/Explosion/Components/SharedTriggerOnProximityComponent.cs deleted file mode 100644 index 02d1156104..0000000000 --- a/Content.Shared/Explosion/Components/SharedTriggerOnProximityComponent.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared.Explosion.Components; - -[NetworkedComponent] -public abstract partial class SharedTriggerOnProximityComponent : Component -{ - -} diff --git a/Content.Shared/Explosion/EntitySystems/SharedReleaseGasOnTriggerSystem.cs b/Content.Shared/Explosion/EntitySystems/SharedReleaseGasOnTriggerSystem.cs deleted file mode 100644 index 5027b04517..0000000000 --- a/Content.Shared/Explosion/EntitySystems/SharedReleaseGasOnTriggerSystem.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Content.Shared.Explosion.EntitySystems; - -public abstract partial class SharedReleaseGasOnTriggerSystem : EntitySystem; - -// I have dreams of Atmos in shared. diff --git a/Content.Shared/Explosion/EntitySystems/SharedRepulseAttractOnTriggerSystem.cs b/Content.Shared/Explosion/EntitySystems/SharedRepulseAttractOnTriggerSystem.cs deleted file mode 100644 index 386024fbeb..0000000000 --- a/Content.Shared/Explosion/EntitySystems/SharedRepulseAttractOnTriggerSystem.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace Content.Shared.Explosion.EntitySystems; - -public abstract class SharedRepulseAttractOnTriggerSystem : EntitySystem; diff --git a/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs b/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs deleted file mode 100644 index b206dfa696..0000000000 --- a/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Content.Shared.Explosion.EntitySystems; - -public abstract class SharedSmokeOnTriggerSystem : EntitySystem -{ -} diff --git a/Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs b/Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs deleted file mode 100644 index cc5b3f6b74..0000000000 --- a/Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Content.Shared.Explosion.EntitySystems; - -public abstract class SharedTriggerSystem : EntitySystem -{ - -} \ No newline at end of file diff --git a/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs b/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs deleted file mode 100644 index e735b3784a..0000000000 --- a/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Robust.Shared.GameStates; -namespace Content.Shared.Flash.Components; - -/// -/// Upon being triggered will flash in an area around it. -/// -[RegisterComponent, NetworkedComponent] -public sealed partial class FlashOnTriggerComponent : Component -{ - [DataField] - public float Range = 1.0f; - - [DataField] - public TimeSpan Duration = TimeSpan.FromSeconds(8); - - [DataField] - public float Probability = 1.0f; -} diff --git a/Content.Shared/HotPotato/ActiveHotPotatoComponent.cs b/Content.Shared/HotPotato/ActiveHotPotatoComponent.cs index 9bcd218335..28dbb31324 100644 --- a/Content.Shared/HotPotato/ActiveHotPotatoComponent.cs +++ b/Content.Shared/HotPotato/ActiveHotPotatoComponent.cs @@ -12,7 +12,7 @@ public sealed partial class ActiveHotPotatoComponent : Component /// /// Hot potato effect spawn cooldown in seconds /// - [DataField("effectCooldown"), ViewVariables(VVAccess.ReadWrite)] + [DataField] public float EffectCooldown = 0.3f; /// diff --git a/Content.Shared/HotPotato/HotPotatoComponent.cs b/Content.Shared/HotPotato/HotPotatoComponent.cs index f5b2e16189..b077e91e8f 100644 --- a/Content.Shared/HotPotato/HotPotatoComponent.cs +++ b/Content.Shared/HotPotato/HotPotatoComponent.cs @@ -14,7 +14,6 @@ public sealed partial class HotPotatoComponent : Component /// /// If set to true entity can be removed by hitting entities if they have hands /// - [DataField("canTransfer"), ViewVariables(VVAccess.ReadWrite)] - [AutoNetworkedField] + [DataField, AutoNetworkedField] public bool CanTransfer = true; } diff --git a/Content.Shared/HotPotato/SharedHotPotatoSystem.cs b/Content.Shared/HotPotato/SharedHotPotatoSystem.cs index cd7a5d6da5..6f2f498782 100644 --- a/Content.Shared/HotPotato/SharedHotPotatoSystem.cs +++ b/Content.Shared/HotPotato/SharedHotPotatoSystem.cs @@ -1,18 +1,79 @@ +using Content.Shared.Audio; +using Content.Shared.Damage.Systems; +using Content.Shared.Hands.Components; +using Content.Shared.Hands.EntitySystems; +using Content.Shared.IdentityManagement; +using Content.Shared.Popups; +using Content.Shared.Trigger; +using Content.Shared.Weapons.Melee.Events; using Robust.Shared.Containers; +using Robust.Shared.Timing; namespace Content.Shared.HotPotato; public abstract class SharedHotPotatoSystem : EntitySystem { + [Dependency] private readonly SharedHandsSystem _hands = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedAmbientSoundSystem _ambientSound = default!; + [Dependency] private readonly DamageOnHoldingSystem _damageOnHolding = default!; + [Dependency] private readonly IGameTiming _timing = default!; + + public override void Initialize() { base.Initialize(); + SubscribeLocalEvent(OnRemoveAttempt); + SubscribeLocalEvent(OnActiveTimer); + SubscribeLocalEvent(OnMeleeHit); } - private void OnRemoveAttempt(EntityUid uid, HotPotatoComponent comp, ContainerGettingRemovedAttemptEvent args) + private void OnRemoveAttempt(Entity ent, ref ContainerGettingRemovedAttemptEvent args) { - if (!comp.CanTransfer) + if (!_timing.ApplyingState && !ent.Comp.CanTransfer) args.Cancel(); } + + private void OnActiveTimer(Entity ent, ref ActiveTimerTriggerEvent args) + { + EnsureComp(ent); + ent.Comp.CanTransfer = false; + _ambientSound.SetAmbience(ent.Owner, true); + _damageOnHolding.SetEnabled(ent.Owner, true); + Dirty(ent); + } + + private void OnMeleeHit(Entity ent, ref MeleeHitEvent args) + { + if (!HasComp(ent)) + return; + + ent.Comp.CanTransfer = true; + foreach (var hitEntity in args.HitEntities) + { + if (!TryComp(hitEntity, out var hands)) + continue; + + if (!_hands.IsHolding((hitEntity, hands), ent.Owner, out _) && _hands.TryForcePickupAnyHand(hitEntity, ent.Owner, handsComp: hands)) + { + _popup.PopupPredicted( + Loc.GetString("hot-potato-passed", ("from", Identity.Entity(args.User, EntityManager)), ("to", Identity.Entity(hitEntity, EntityManager))), + ent.Owner, + args.User, + PopupType.Medium); + break; + } + + _popup.PopupClient( + Loc.GetString("hot-potato-failed", ("to", Identity.Entity(hitEntity, EntityManager))), + ent.Owner, + args.User, + PopupType.Medium); + + break; + } + + ent.Comp.CanTransfer = false; + } } diff --git a/Content.Shared/Implants/Components/RattleComponent.cs b/Content.Shared/Implants/Components/RattleComponent.cs deleted file mode 100644 index 3ec63e8e15..0000000000 --- a/Content.Shared/Implants/Components/RattleComponent.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Content.Shared.Radio; -using Robust.Shared.GameStates; -using Robust.Shared.Prototypes; - -namespace Content.Shared.Implants.Components; - -[RegisterComponent, NetworkedComponent] -public sealed partial class RattleComponent : Component -{ - // The radio channel the message will be sent to - [DataField] - public ProtoId RadioChannel = "Syndicate"; - - // The message that the implant will send when crit - [DataField] - public LocId CritMessage = "deathrattle-implant-critical-message"; - - // The message that the implant will send when dead - [DataField] - public LocId DeathMessage = "deathrattle-implant-dead-message"; -} diff --git a/Content.Shared/Implants/Components/TriggerImplantActionComponent.cs b/Content.Shared/Implants/Components/TriggerImplantActionComponent.cs deleted file mode 100644 index 0f9856f2a4..0000000000 --- a/Content.Shared/Implants/Components/TriggerImplantActionComponent.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared.Implants.Components; - -/// -/// Triggers implants when the action is pressed -/// -[RegisterComponent, NetworkedComponent] -public sealed partial class TriggerImplantActionComponent : Component -{ - -} diff --git a/Content.Shared/Implants/SharedSubdermalImplantSystem.cs b/Content.Shared/Implants/SharedSubdermalImplantSystem.cs index 95c3f8664f..177e24ff02 100644 --- a/Content.Shared/Implants/SharedSubdermalImplantSystem.cs +++ b/Content.Shared/Implants/SharedSubdermalImplantSystem.cs @@ -179,7 +179,7 @@ public abstract class SharedSubdermalImplantSystem : EntitySystem if (!_container.TryGetContainer(uid, ImplanterComponent.ImplantSlotId, out var implantContainer)) return; - var relayEv = new ImplantRelayEvent(args); + var relayEv = new ImplantRelayEvent(args, uid); foreach (var implant in implantContainer.ContainedEntities) { if (args is HandledEntityEventArgs { Handled : true }) @@ -194,9 +194,12 @@ public sealed class ImplantRelayEvent where T : notnull { public readonly T Event; - public ImplantRelayEvent(T ev) + public readonly EntityUid ImplantedEntity; + + public ImplantRelayEvent(T ev, EntityUid implantedEntity) { Event = ev; + ImplantedEntity = implantedEntity; } } diff --git a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs index 424bd12bb3..6f6e55b5ef 100644 --- a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs +++ b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs @@ -50,25 +50,37 @@ public sealed partial class ItemToggleComponent : Component /// /// /// If server-side systems affect the item's toggle, like charge/fuel systems, then the item is not predictable. /// - [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] + [DataField, AutoNetworkedField] public bool Predictable = true; /// /// The noise this item makes when it is toggled on. /// - [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] + [DataField, AutoNetworkedField] public SoundSpecifier? SoundActivate; /// /// The noise this item makes when it is toggled off. /// - [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] + [DataField, AutoNetworkedField] public SoundSpecifier? SoundDeactivate; + /// + /// The popup to show to someone activating this item. + /// + [DataField, AutoNetworkedField] + public LocId? PopupActivate; + + /// + /// The popup to show to someone deactivating this item. + /// + [DataField, AutoNetworkedField] + public LocId? PopupDeactivate; + /// /// The noise this item makes when it is toggled on. /// - [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] + [DataField, AutoNetworkedField] public SoundSpecifier? SoundFailToActivate; } diff --git a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs index 8008ecf9e5..ff31faaaa1 100644 --- a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs +++ b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs @@ -117,30 +117,30 @@ public sealed class ItemToggleSystem : EntitySystem /// Sets its state to the opposite of what it is. /// /// Same as - public bool Toggle(Entity ent, EntityUid? user = null, bool predicted = true) + public bool Toggle(Entity ent, EntityUid? user = null, bool predicted = true, bool showPopup = true) { if (!_query.Resolve(ent, ref ent.Comp, false)) return false; - return TrySetActive(ent, !ent.Comp.Activated, user, predicted); + return TrySetActive(ent, !ent.Comp.Activated, user, predicted, showPopup); } /// /// Tries to set the activated bool from a value. /// /// false if the attempt fails for any reason - public bool TrySetActive(Entity ent, bool active, EntityUid? user = null, bool predicted = true) + public bool TrySetActive(Entity ent, bool active, EntityUid? user = null, bool predicted = true, bool showPopup = true) { if (active) - return TryActivate(ent, user, predicted: predicted); + return TryActivate(ent, user, predicted: predicted, showPopup); else - return TryDeactivate(ent, user, predicted: predicted); + return TryDeactivate(ent, user, predicted: predicted, showPopup); } /// /// Used when an item is attempting to be activated. It returns false if the attempt fails any reason, interrupting the activation. /// - public bool TryActivate(Entity ent, EntityUid? user = null, bool predicted = true) + public bool TryActivate(Entity ent, EntityUid? user = null, bool predicted = true, bool showPopup = true) { if (!_query.Resolve(ent, ref ent.Comp, false)) return false; @@ -169,7 +169,7 @@ public sealed class ItemToggleSystem : EntitySystem else _audio.PlayPvs(comp.SoundFailToActivate, uid); - if (attempt.Popup != null && user != null) + if (showPopup && attempt.Popup != null && user != null) { if (predicted) _popup.PopupClient(attempt.Popup, uid, user.Value); @@ -180,14 +180,14 @@ public sealed class ItemToggleSystem : EntitySystem return false; } - Activate((uid, comp), predicted, user); + Activate((uid, comp), predicted, user, showPopup); return true; } /// /// Used when an item is attempting to be deactivated. It returns false if the attempt fails any reason, interrupting the deactivation. /// - public bool TryDeactivate(Entity ent, EntityUid? user = null, bool predicted = true) + public bool TryDeactivate(Entity ent, EntityUid? user = null, bool predicted = true, bool showPopup = true) { if (!_query.Resolve(ent, ref ent.Comp, false)) return false; @@ -211,7 +211,7 @@ public sealed class ItemToggleSystem : EntitySystem if (attempt.Silent) return false; - if (attempt.Popup != null && user != null) + if (showPopup && attempt.Popup != null && user != null) { if (predicted) _popup.PopupClient(attempt.Popup, uid, user.Value); @@ -222,18 +222,26 @@ public sealed class ItemToggleSystem : EntitySystem return false; } - Deactivate((uid, comp), predicted, user); + Deactivate((uid, comp), predicted, user, showPopup); return true; } - private void Activate(Entity ent, bool predicted, EntityUid? user = null) + private void Activate(Entity ent, bool predicted, EntityUid? user = null, bool showPopup = true) { var (uid, comp) = ent; var soundToPlay = comp.SoundActivate; if (predicted) + { _audio.PlayPredicted(soundToPlay, uid, user); + if (showPopup && ent.Comp.PopupActivate != null && user != null) + _popup.PopupClient(Loc.GetString(ent.Comp.PopupActivate), user.Value, user.Value); + } else + { _audio.PlayPvs(soundToPlay, uid); + if (showPopup && ent.Comp.PopupActivate != null && user != null) + _popup.PopupEntity(Loc.GetString(ent.Comp.PopupActivate), user.Value, user.Value); + } comp.Activated = true; UpdateVisuals((uid, comp)); @@ -246,14 +254,22 @@ public sealed class ItemToggleSystem : EntitySystem /// /// Used to make the actual changes to the item's components on deactivation. /// - private void Deactivate(Entity ent, bool predicted, EntityUid? user = null) + private void Deactivate(Entity ent, bool predicted, EntityUid? user = null, bool showPopup = true) { var (uid, comp) = ent; var soundToPlay = comp.SoundDeactivate; if (predicted) + { _audio.PlayPredicted(soundToPlay, uid, user); + if (showPopup && ent.Comp.PopupDeactivate != null && user != null) + _popup.PopupClient(Loc.GetString(ent.Comp.PopupDeactivate), user.Value, user.Value); + } else + { _audio.PlayPvs(soundToPlay, uid); + if (showPopup && ent.Comp.PopupDeactivate != null && user != null) + _popup.PopupEntity(Loc.GetString(ent.Comp.PopupDeactivate), user.Value, user.Value); + } comp.Activated = false; UpdateVisuals((uid, comp)); diff --git a/Content.Shared/Mousetrap/MousetrapComponent.cs b/Content.Shared/Mousetrap/MousetrapComponent.cs index 6d7483802b..4f48f00b3a 100644 --- a/Content.Shared/Mousetrap/MousetrapComponent.cs +++ b/Content.Shared/Mousetrap/MousetrapComponent.cs @@ -2,20 +2,20 @@ using Robust.Shared.GameStates; namespace Content.Shared.Mousetrap; -[RegisterComponent, NetworkedComponent] +/// +/// Component inteded to be used for mouse traps. +/// Will stop step triggers from happening unless armed via +/// and will scale damage taken from +/// depending on mass. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class MousetrapComponent : Component { - [ViewVariables] - [DataField("isActive")] - public bool IsActive = false; - /// - /// Set this to change where the - /// inflection point in the scaling - /// equation will occur. - /// The default is 10. + /// Set this to change where the + /// inflection point in the damage scaling + /// equation will occur. /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("massBalance")] + [DataField, AutoNetworkedField] public int MassBalance = 10; } diff --git a/Content.Shared/Mousetrap/MousetrapSystem.cs b/Content.Shared/Mousetrap/MousetrapSystem.cs new file mode 100644 index 0000000000..96f74114b2 --- /dev/null +++ b/Content.Shared/Mousetrap/MousetrapSystem.cs @@ -0,0 +1,42 @@ +using Content.Shared.Item.ItemToggle.Components; +using Content.Shared.Trigger.Systems; +using Content.Shared.StepTrigger.Systems; +using Robust.Shared.Physics.Components; + +namespace Content.Shared.Mousetrap; + +public sealed class MousetrapSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(BeforeDamageOnTrigger); + SubscribeLocalEvent(OnStepTriggerAttempt); + } + + // only allow step triggers to trigger if the trap is armed + // TODO: refactor Steptriggers to get rid of this + // they should just use the new trigger conditions + private void OnStepTriggerAttempt(Entity ent, ref StepTriggerAttemptEvent args) + { + if (!TryComp(ent, out var toggle)) + return; + + args.Continue |= toggle.Activated; + } + + // scale the damage according to mass + private void BeforeDamageOnTrigger(Entity ent, ref BeforeDamageOnTriggerEvent args) + { + if (TryComp(args.Tripper, out PhysicsComponent? physics) && physics.Mass != 0) + { + // The idea here is inverse, + // Small - big damage, + // Large - small damage + // yes i punched numbers into a calculator until the graph looked right + var scaledDamage = -50 * Math.Atan(physics.Mass - ent.Comp.MassBalance) + 25 * Math.PI; + args.Damage *= scaledDamage; + } + } +} diff --git a/Content.Shared/Mousetrap/MousetrapVisuals.cs b/Content.Shared/Mousetrap/MousetrapVisuals.cs deleted file mode 100644 index 9685157aad..0000000000 --- a/Content.Shared/Mousetrap/MousetrapVisuals.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Robust.Shared.Serialization; - -namespace Content.Shared.Mousetrap; - -[Serializable, NetSerializable] -public enum MousetrapVisuals : byte -{ - Visual, - Armed, - Unarmed -} diff --git a/Content.Shared/Ninja/Components/SpiderChargeComponent.cs b/Content.Shared/Ninja/Components/SpiderChargeComponent.cs index 3ba4494cca..75053011ff 100644 --- a/Content.Shared/Ninja/Components/SpiderChargeComponent.cs +++ b/Content.Shared/Ninja/Components/SpiderChargeComponent.cs @@ -10,11 +10,21 @@ namespace Content.Shared.Ninja.Components; [RegisterComponent, NetworkedComponent, Access(typeof(SharedSpiderChargeSystem))] public sealed partial class SpiderChargeComponent : Component { - /// Range for planting within the target area + /// + /// Range for planting within the target area. + /// [DataField] public float Range = 10f; - /// The ninja that planted this charge + /// + /// The ninja that planted this charge. + /// [DataField] public EntityUid? Planter; + + /// + /// The trigger that will mark the objective as successful. + /// + [DataField] + public string TriggerKey = "timer"; } diff --git a/Content.Shared/Payload/Components/PayloadTriggerComponent.cs b/Content.Shared/Payload/Components/PayloadTriggerComponent.cs index b064e91198..d07da4b24e 100644 --- a/Content.Shared/Payload/Components/PayloadTriggerComponent.cs +++ b/Content.Shared/Payload/Components/PayloadTriggerComponent.cs @@ -1,4 +1,5 @@ -using Content.Shared.Explosion.Components; +using Content.Shared.Trigger.Components; +using Content.Shared.Trigger.Components.Triggers; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; @@ -10,7 +11,7 @@ namespace Content.Shared.Payload.Components; /// /// This component performs two functions. Firstly, it will add or remove other components to some entity when this /// item is installed inside of it. This is intended for use with constructible grenades. For example, this allows -/// you to add things like , or . +/// you to add things like , or . /// This is required because otherwise you would have to forward arbitrary interaction directed at the casing /// through to the trigger, which would be quite complicated. Also proximity triggers don't really work inside of /// containers. @@ -29,7 +30,7 @@ public sealed partial class PayloadTriggerComponent : Component /// /// List of components to add or remove from an entity when this trigger is (un)installed. /// - [DataField("components", serverOnly:true, readOnly: true)] + [DataField(serverOnly: true, readOnly: true)] public ComponentRegistry? Components = null; /// @@ -41,6 +42,6 @@ public sealed partial class PayloadTriggerComponent : Component /// when removing the component, to ensure that removal of this trigger only removes the components that it was /// responsible for adding. /// - [DataField("grantedComponents", serverOnly: true)] + [DataField(serverOnly: true)] public HashSet GrantedComponents = new(); } diff --git a/Content.Shared/Rootable/SharedRootableSystem.cs b/Content.Shared/Rootable/SharedRootableSystem.cs index 9a6697cf97..c3deca0769 100644 --- a/Content.Shared/Rootable/SharedRootableSystem.cs +++ b/Content.Shared/Rootable/SharedRootableSystem.cs @@ -1,5 +1,4 @@ -using Content.Shared.Damage.Components; -using Content.Shared.Actions; +using Content.Shared.Actions; using Content.Shared.Actions.Components; using Content.Shared.Alert; using Content.Shared.Coordinates; @@ -9,6 +8,7 @@ using Content.Shared.Mobs; using Content.Shared.Movement.Systems; using Content.Shared.Slippery; using Content.Shared.Toggleable; +using Content.Shared.Trigger.Components.Effects; using Robust.Shared.Audio.Systems; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Events; @@ -127,7 +127,7 @@ public abstract class SharedRootableSystem : EntitySystem if (!ent.Comp.Rooted) return; - if (args.SlipCausingEntity != null && HasComp(args.SlipCausingEntity)) + if (args.SlipCausingEntity != null && HasComp(args.SlipCausingEntity)) return; args.NoSlip = true; diff --git a/Content.Shared/Speech/Components/ActiveListenerComponent.cs b/Content.Shared/Speech/Components/ActiveListenerComponent.cs new file mode 100644 index 0000000000..fde108a817 --- /dev/null +++ b/Content.Shared/Speech/Components/ActiveListenerComponent.cs @@ -0,0 +1,17 @@ +using Content.Shared.Chat; +using Robust.Shared.GameStates; + +namespace Content.Shared.Speech.Components; + +/// +/// This component is used to relay speech events to other systems. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class ActiveListenerComponent : Component +{ + /// + /// The range in which to listen to speech. + /// + [DataField] + public float Range = SharedChatSystem.VoiceRange; +} diff --git a/Content.Server/Speech/ListenEvent.cs b/Content.Shared/Speech/ListenEvent.cs similarity index 93% rename from Content.Server/Speech/ListenEvent.cs rename to Content.Shared/Speech/ListenEvent.cs index b67aa92f65..8854bd99f4 100644 --- a/Content.Server/Speech/ListenEvent.cs +++ b/Content.Shared/Speech/ListenEvent.cs @@ -1,4 +1,4 @@ -namespace Content.Server.Speech; +namespace Content.Shared.Speech; public sealed class ListenEvent : EntityEventArgs { diff --git a/Content.Shared/Sticky/Components/StickyComponent.cs b/Content.Shared/Sticky/Components/StickyComponent.cs index 4513091754..a4007b0780 100644 --- a/Content.Shared/Sticky/Components/StickyComponent.cs +++ b/Content.Shared/Sticky/Components/StickyComponent.cs @@ -1,5 +1,5 @@ using Content.Shared.Sticky.Systems; -using Content.Shared.Whitelist; +using Content.Shared.Whitelist; using Robust.Shared.GameStates; using Robust.Shared.Utility; diff --git a/Content.Shared/Timing/UseDelaySystem.cs b/Content.Shared/Timing/UseDelaySystem.cs index d02752e16b..0950e8981d 100644 --- a/Content.Shared/Timing/UseDelaySystem.cs +++ b/Content.Shared/Timing/UseDelaySystem.cs @@ -9,7 +9,7 @@ public sealed class UseDelaySystem : EntitySystem [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly MetaDataSystem _metadata = default!; - private const string DefaultId = "default"; + public const string DefaultId = "default"; public override void Initialize() { diff --git a/Content.Shared/Trigger/Components/ActiveTimerTriggerComponent.cs b/Content.Shared/Trigger/Components/ActiveTimerTriggerComponent.cs new file mode 100644 index 0000000000..d7da5cecde --- /dev/null +++ b/Content.Shared/Trigger/Components/ActiveTimerTriggerComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components; + +/// +/// Component used for tracking active timers triggers. +/// Used internally for performance reasons. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class ActiveTimerTriggerComponent : Component; diff --git a/Content.Shared/Trigger/Components/ActiveTwoStageTriggerComponent.cs b/Content.Shared/Trigger/Components/ActiveTwoStageTriggerComponent.cs new file mode 100644 index 0000000000..bddbbd402e --- /dev/null +++ b/Content.Shared/Trigger/Components/ActiveTwoStageTriggerComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components; + +/// +/// Component used for tracking active two-stage triggers. +/// Used internally for performance reasons. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class ActiveTwoStageTriggerComponent : Component; diff --git a/Content.Shared/Trigger/Components/Conditions/BaseTriggerConditionComponent.cs b/Content.Shared/Trigger/Components/Conditions/BaseTriggerConditionComponent.cs new file mode 100644 index 0000000000..7e77c99d93 --- /dev/null +++ b/Content.Shared/Trigger/Components/Conditions/BaseTriggerConditionComponent.cs @@ -0,0 +1,15 @@ +using Content.Shared.Trigger.Systems; + +namespace Content.Shared.Trigger.Components.Conditions; + +/// +/// Base class for components that add a condition to triggers. +/// +public abstract partial class BaseTriggerConditionComponent : Component +{ + /// + /// The keys that are checked for the condition. + /// + [DataField, AutoNetworkedField] + public HashSet Keys = new() { TriggerSystem.DefaultTriggerKey }; +} diff --git a/Content.Shared/Trigger/Components/Conditions/ToggleTriggerConditionComponent.cs b/Content.Shared/Trigger/Components/Conditions/ToggleTriggerConditionComponent.cs new file mode 100644 index 0000000000..478f06602d --- /dev/null +++ b/Content.Shared/Trigger/Components/Conditions/ToggleTriggerConditionComponent.cs @@ -0,0 +1,34 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Conditions; + +/// +/// Adds an alt verb that can be used to toggle a trigger. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class ToggleTriggerConditionComponent : BaseTriggerConditionComponent +{ + /// + /// Is the component currently enabled? + /// + [DataField, AutoNetworkedField] + public bool Enabled = true; + + /// + /// The text of the toggle verb. + /// + [DataField, AutoNetworkedField] + public LocId ToggleVerb = "toggle-trigger-condition-default-verb"; + + /// + /// The popup to show when toggled on. + /// + [DataField, AutoNetworkedField] + public LocId ToggleOn = "toggle-trigger-condition-default-on"; + + /// + /// The popup to show when toggled off. + /// + [DataField, AutoNetworkedField] + public LocId ToggleOff = "toggle-trigger-condition-default-off"; +} diff --git a/Content.Shared/Trigger/Components/Conditions/UseDelayTriggerConditionComponent.cs b/Content.Shared/Trigger/Components/Conditions/UseDelayTriggerConditionComponent.cs new file mode 100644 index 0000000000..70a331227e --- /dev/null +++ b/Content.Shared/Trigger/Components/Conditions/UseDelayTriggerConditionComponent.cs @@ -0,0 +1,20 @@ +using Content.Shared.Timing; +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Conditions; + +/// +/// Checks if the triggered entity has an active UseDelay. +/// +/// +/// TODO: Support specific UseDelay IDs for each trigger key. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class UseDelayTriggerConditionComponent : BaseTriggerConditionComponent +{ + /// + /// Checks if the triggered entity has an active UseDelay. + /// + [DataField, AutoNetworkedField] + public string UseDelayId = UseDelaySystem.DefaultId; +} diff --git a/Content.Shared/Trigger/Components/Conditions/WhitelistTriggerConditionComponent.cs b/Content.Shared/Trigger/Components/Conditions/WhitelistTriggerConditionComponent.cs new file mode 100644 index 0000000000..a2779f79c6 --- /dev/null +++ b/Content.Shared/Trigger/Components/Conditions/WhitelistTriggerConditionComponent.cs @@ -0,0 +1,24 @@ +using Content.Shared.Whitelist; +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Conditions; + +/// +/// Checks if the user of a trigger satisfies a whitelist and blacklist condition for the triggered entity or the one triggering it. +/// Cancels the trigger otherwise. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class WhitelistTriggerConditionComponent : BaseTriggerConditionComponent +{ + /// + /// Whitelist for what entites can cause this trigger. + /// + [DataField, AutoNetworkedField] + public EntityWhitelist? UserWhitelist; + + /// + /// Blacklist for what entites can cause this trigger. + /// + [DataField, AutoNetworkedField] + public EntityWhitelist? UserBlacklist; +} diff --git a/Content.Shared/Trigger/Components/Effects/AddComponentsOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/AddComponentsOnTriggerComponent.cs new file mode 100644 index 0000000000..06f5258fbe --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/AddComponentsOnTriggerComponent.cs @@ -0,0 +1,37 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Adds the specified components when triggered. +/// If TargetUser is true they will be added to the user. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class AddComponentsOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The list of components that will be added. + /// + [DataField(required: true)] + public ComponentRegistry Components = new(); + + /// + /// If this component has been triggered at least once already. + /// If this is true the components have been added. + /// + [DataField, AutoNetworkedField] + public bool Triggered = false; + + /// + /// If this effect can only be triggered once. + /// + [DataField, AutoNetworkedField] + public bool TriggerOnce = false; + + /// + /// Should components that already exist on the entity be overwritten? + /// + [DataField, AutoNetworkedField] + public bool RemoveExisting = false; +} diff --git a/Content.Shared/Trigger/Components/Effects/AlertLevelChangeOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/AlertLevelChangeOnTriggerComponent.cs new file mode 100644 index 0000000000..0d161344d8 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/AlertLevelChangeOnTriggerComponent.cs @@ -0,0 +1,34 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Changes the alert level of the station when triggered. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class AlertLevelChangeOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The alert level to change to when triggered. + /// + [DataField, AutoNetworkedField] + public string Level = "blue"; + + /// + /// Whether to play the sound when the alert level changes. + /// + [DataField, AutoNetworkedField] + public bool PlaySound = true; + + /// + /// Whether to say the announcement when the alert level changes. + /// + [DataField, AutoNetworkedField] + public bool Announce = true; + + /// + /// Force the alert change. This applies if the alert level is not selectable or not. + /// + [DataField, AutoNetworkedField] + public bool Force = false; +} diff --git a/Content.Shared/Trigger/Components/Effects/AnchorOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/AnchorOnTriggerComponent.cs new file mode 100644 index 0000000000..ed61876f15 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/AnchorOnTriggerComponent.cs @@ -0,0 +1,34 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will (un)anchor the entity when triggered. +/// If TargetUser is true they will be (un)anchored instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class AnchorOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// Anchor the entity on trigger if it is currently unanchored? + /// + [DataField, AutoNetworkedField] + public bool CanAnchor = true; + + /// + /// Unanchor the entity on trigger if it is currently anchored? + /// If both this and CanAnchor are true then the trigger will toggle between states. + /// + [DataField, AutoNetworkedField] + public bool CanUnanchor = false; + + /// + /// Removes this component when triggered so it can only be activated once. + /// + /// + /// TODO: Make this a generic thing for all triggers. + /// Or just add a RemoveComponentsOnTriggerComponent. + /// + [DataField, AutoNetworkedField] + public bool RemoveOnTrigger = true; +} diff --git a/Content.Shared/Trigger/Components/Effects/BaseXOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/BaseXOnTriggerComponent.cs new file mode 100644 index 0000000000..cf93ad6c4a --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/BaseXOnTriggerComponent.cs @@ -0,0 +1,22 @@ +using Content.Shared.Trigger.Systems; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Base class for components that do something when triggered. +/// +public abstract partial class BaseXOnTriggerComponent : Component +{ + /// + /// The keys that will activate the effect. + /// + [DataField, AutoNetworkedField] + public HashSet KeysIn = new() { TriggerSystem.DefaultTriggerKey }; + + /// + /// Set to true to make the user of the trigger the effect target. + /// Set to false to make the owner of this component the target. + /// + [DataField, AutoNetworkedField] + public bool TargetUser = false; +} diff --git a/Content.Shared/Trigger/Components/Effects/DamageOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/DamageOnTriggerComponent.cs new file mode 100644 index 0000000000..8d35b019b4 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/DamageOnTriggerComponent.cs @@ -0,0 +1,25 @@ +using Content.Shared.Damage; +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will damage an entity when triggered. +/// If TargetUser is true it the user will take damage instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class DamageOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// Should the damage ignore resistances? + /// + [DataField, AutoNetworkedField] + public bool IgnoreResistances; + + /// + /// The base damage amount that is dealt. + /// May be further modified by subscriptions. + /// + [DataField(required: true), AutoNetworkedField] + public DamageSpecifier Damage = default!; +} diff --git a/Content.Shared/Trigger/Components/Effects/DeleteOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/DeleteOnTriggerComponent.cs new file mode 100644 index 0000000000..9d0a5b7517 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/DeleteOnTriggerComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will delete the entity when triggered. +/// If TargetUser is true it will delete them instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class DeleteOnTriggerComponent : BaseXOnTriggerComponent; diff --git a/Content.Shared/Trigger/Components/Effects/EmitSoundOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/EmitSoundOnTriggerComponent.cs new file mode 100644 index 0000000000..f3870225e2 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/EmitSoundOnTriggerComponent.cs @@ -0,0 +1,31 @@ +using Robust.Shared.Audio; +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will play a sound in PVS range when triggered. +/// If TargetUser is true it will be played at their position. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class EmitSoundOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The to play. + /// + [DataField(required: true), AutoNetworkedField] + public SoundSpecifier? Sound; + + /// + /// Play the sound at the position instead of parented to the source entity. + /// Useful if the entity is deleted after. + /// + [DataField, AutoNetworkedField] + public bool Positional; + + /// + /// Should this sound be predicted for the User? + /// + [DataField, AutoNetworkedField] + public bool Predicted; +} diff --git a/Content.Shared/Trigger/Components/Effects/EmpOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/EmpOnTriggerComponent.cs new file mode 100644 index 0000000000..327e9f57db --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/EmpOnTriggerComponent.cs @@ -0,0 +1,29 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will cause an EMP at the entity's location when triggered. +/// If TargetUser is true then it will be spawned at their position. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class EmpOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// EMP range. + /// + [DataField, AutoNetworkedField] + public float Range = 1.0f; + + /// + /// How much energy (in Joules) will be consumed per battery in range. + /// + [DataField, AutoNetworkedField] + public float EnergyConsumption; + + /// + /// How long it disables targets. + /// + [DataField, AutoNetworkedField] + public TimeSpan DisableDuration = TimeSpan.FromSeconds(60); +} diff --git a/Content.Shared/Trigger/Components/Effects/ExplodeOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/ExplodeOnTriggerComponent.cs new file mode 100644 index 0000000000..2a1af40a2c --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/ExplodeOnTriggerComponent.cs @@ -0,0 +1,14 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will explode using the entity's when triggered. +/// TargetUser will only work of the user has ExplosiveComponent as well. +/// The User will be logged in the admin logs. +/// +/// +/// TODO: Allow this to work without an ExplosiveComponent on the user via QueueExplosion. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class ExplodeOnTriggerComponent : BaseXOnTriggerComponent; diff --git a/Content.Shared/Trigger/Components/Effects/FlashOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/FlashOnTriggerComponent.cs new file mode 100644 index 0000000000..8b75417031 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/FlashOnTriggerComponent.cs @@ -0,0 +1,29 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will cause a flash in an area around the entity when triggered. +/// If TargetUser is true then their location will be used. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class FlashOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The range in which to flash entities in. + /// + [DataField, AutoNetworkedField] + public float Range = 1.0f; + + /// + /// The duration of the status effect. + /// + [DataField, AutoNetworkedField] + public TimeSpan Duration = TimeSpan.FromSeconds(8); + + /// + /// The probability to apply the status effect. + /// + [DataField, AutoNetworkedField] + public float Probability = 1.0f; +} diff --git a/Content.Shared/Trigger/Components/Effects/GhostKickOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/GhostKickOnTriggerComponent.cs new file mode 100644 index 0000000000..16c1365c05 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/GhostKickOnTriggerComponent.cs @@ -0,0 +1,19 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will kick a player from the server as if their connection dropped if triggered. +/// Yes, really. Don't use this component. +/// If TargetUser is true then the user of the trigger will be kicked, otherwise the entity itself. +/// +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class GhostKickOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The reason that will be displayed in the server log when a player is kicked. + /// + [DataField, AutoNetworkedField] + public LocId Reason = "ghost-kick-on-trigger-default"; +} diff --git a/Content.Shared/Trigger/Components/Effects/GibOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/GibOnTriggerComponent.cs new file mode 100644 index 0000000000..b3475ac447 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/GibOnTriggerComponent.cs @@ -0,0 +1,17 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will gib the entity when triggered. +/// If TargetUser is true the user will be gibbed instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class GibOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// Should gibbing also delete the owners items? + /// + [DataField, AutoNetworkedField] + public bool DeleteItems = false; +} diff --git a/Content.Shared/Trigger/Components/Effects/IgniteOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/IgniteOnTriggerComponent.cs new file mode 100644 index 0000000000..36273ef1b2 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/IgniteOnTriggerComponent.cs @@ -0,0 +1,27 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will ignite for a certain length of time when triggered. +/// Requires along with triggering components. +/// The if TargetUser is true they will be ignited instead (they need IgnitionSourceComponent as well). +/// +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class IgniteOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// Once ignited, the time it will unignite at. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] + public TimeSpan IgnitedUntil = TimeSpan.Zero; + + /// + /// How long the ignition source is active for after triggering. + /// + [DataField, AutoNetworkedField] + public TimeSpan IgnitedTime = TimeSpan.FromSeconds(0.5); +} diff --git a/Content.Shared/Trigger/Components/Effects/ItemToggleOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/ItemToggleOnTriggerComponent.cs new file mode 100644 index 0000000000..4c5360f4d2 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/ItemToggleOnTriggerComponent.cs @@ -0,0 +1,37 @@ +using Content.Shared.Item.ItemToggle.Components; +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will toggle an item when triggered. Requires . +/// If TargetUser is true and they have that component they will be toggled instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class ItemToggleOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// Can the item be toggled on using the trigger? + /// + [DataField, AutoNetworkedField] + public bool CanActivate = true; + + /// + /// Can the item be toggled on using the trigger? + /// If both this and CanActivate are true then the trigger will toggle between states. + /// + [DataField, AutoNetworkedField] + public bool CanDeactivate = true; + + /// + /// Can the audio and popups be predicted? + /// + [DataField, AutoNetworkedField] + public bool Predicted = true; + + /// + /// Show a popup to the user when toggling the item? + /// + [DataField, AutoNetworkedField] + public bool ShowPopup = true; +} diff --git a/Content.Shared/Trigger/Components/Effects/PolymorphOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/PolymorphOnTriggerComponent.cs new file mode 100644 index 0000000000..3d2021e425 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/PolymorphOnTriggerComponent.cs @@ -0,0 +1,19 @@ +using Content.Shared.Polymorph; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Polymorphs the enity when triggered. +/// If TargetUser is true it will polymorph the user instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class PolymorphOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// Polymorph settings. + /// + [DataField(required: true)] + public ProtoId Polymorph; +} diff --git a/Content.Shared/Trigger/Components/Effects/RattleOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/RattleOnTriggerComponent.cs new file mode 100644 index 0000000000..599a64339a --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/RattleOnTriggerComponent.cs @@ -0,0 +1,30 @@ +using Content.Shared.Mobs; +using Content.Shared.Radio; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Sends an emergency message over coms when triggered giving information about the entity's mob status. +/// If TargetUser is true then the user's mob state will be used instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class RattleOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The radio channel the message will be sent to. + /// + [DataField] + public ProtoId RadioChannel = "Syndicate"; + + /// + /// The message to be send depending on the target's current mob state. + /// + [DataField] + public Dictionary Messages = new() + { + {MobState.Critical, "deathrattle-implant-critical-message"}, + {MobState.Dead, "deathrattle-implant-dead-message"} + }; +} diff --git a/Content.Shared/Explosion/Components/OnTrigger/ReleaseGasOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/ReleaseGasOnTriggerComponent.cs similarity index 90% rename from Content.Shared/Explosion/Components/OnTrigger/ReleaseGasOnTriggerComponent.cs rename to Content.Shared/Trigger/Components/Effects/ReleaseGasOnTriggerComponent.cs index 28a5c5cf81..4edd5f83f4 100644 --- a/Content.Shared/Explosion/Components/OnTrigger/ReleaseGasOnTriggerComponent.cs +++ b/Content.Shared/Trigger/Components/Effects/ReleaseGasOnTriggerComponent.cs @@ -1,18 +1,16 @@ using Content.Shared.Atmos; -using Content.Shared.Explosion.EntitySystems; using Robust.Shared.GameStates; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -namespace Content.Shared.Explosion.Components.OnTrigger; +namespace Content.Shared.Trigger.Components.Effects; /// /// Contains a GasMixture that will release its contents to the atmosphere when triggered. /// [RegisterComponent, NetworkedComponent] -[AutoGenerateComponentPause] -[Access(typeof(SharedReleaseGasOnTriggerSystem))] -public sealed partial class ReleaseGasOnTriggerComponent : Component +[AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class ReleaseGasOnTriggerComponent : BaseXOnTriggerComponent { /// /// Whether this grenade is active and releasing gas. diff --git a/Content.Shared/Explosion/Components/OnTrigger/SharedRepulseAttractOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/RepulseAttractOnTriggerComponent.cs similarity index 57% rename from Content.Shared/Explosion/Components/OnTrigger/SharedRepulseAttractOnTriggerComponent.cs rename to Content.Shared/Trigger/Components/Effects/RepulseAttractOnTriggerComponent.cs index 43febff03b..68af0bb544 100644 --- a/Content.Shared/Explosion/Components/OnTrigger/SharedRepulseAttractOnTriggerComponent.cs +++ b/Content.Shared/Trigger/Components/Effects/RepulseAttractOnTriggerComponent.cs @@ -1,37 +1,39 @@ using Content.Shared.Physics; using Content.Shared.Whitelist; +using Robust.Shared.GameStates; -namespace Content.Shared.Explosion.Components.OnTrigger; +namespace Content.Shared.Trigger.Components.Effects; /// -/// Generates a gravity pulse/repulse using the RepulseAttractComponent when the entity is triggered +/// Generates a gravity pulse/repulse using the RepulseAttractComponent around the entity when triggered. +/// If TargetUser is true their location will be used instead. /// -[RegisterComponent] -public sealed partial class SharedRepulseAttractOnTriggerComponent : Component +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class RepulseAttractOnTriggerComponent : BaseXOnTriggerComponent { /// /// How fast should the Repulsion/Attraction be? - /// A positive value will repulse objects, a negative value will attract + /// A positive value will repulse objects, a negative value will attract. /// - [DataField] - public float Speed; + [DataField, AutoNetworkedField] + public float Speed = 5.0f; /// /// How close do the entities need to be? /// - [DataField] - public float Range; + [DataField, AutoNetworkedField] + public float Range = 5.0f; /// /// What kind of entities should this effect apply to? /// - [DataField] + [DataField, AutoNetworkedField] public EntityWhitelist? Whitelist; /// /// What collision layers should be excluded? /// The default excludes ghost mobs, revenants, the AI camera etc. /// - [DataField] + [DataField, AutoNetworkedField] public CollisionGroup CollisionMask = CollisionGroup.GhostImpassable; } diff --git a/Content.Shared/Trigger/Components/Effects/ShockOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/ShockOnTriggerComponent.cs new file mode 100644 index 0000000000..e7da7a3801 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/ShockOnTriggerComponent.cs @@ -0,0 +1,34 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will electrocute the entity when triggered. +/// If TargetUser is true it will electrocute the user instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class ShockOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// Electrocute entity containing this entity instead (for example for wearable clothing). + /// Has priority over TargetUser. + /// + /// + /// TODO: Make this more generic so it can be used for all triggers. + /// Maybe a BeforeTriggerEvent where we modify the target. + /// + [DataField, AutoNetworkedField] + public bool TargetContainer; + + /// + /// The force of an electric shock when the trigger is triggered. + /// + [DataField, AutoNetworkedField] + public int Damage = 5; + + /// + /// Duration of electric shock when the trigger is triggered. + /// + [DataField, AutoNetworkedField] + public TimeSpan Duration = TimeSpan.FromSeconds(2); +} diff --git a/Content.Shared/Trigger/Components/Effects/SignalOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/SignalOnTriggerComponent.cs new file mode 100644 index 0000000000..0698f2ca33 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/SignalOnTriggerComponent.cs @@ -0,0 +1,18 @@ +using Content.Shared.DeviceLinking; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Sends a device link signal when triggered. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class SignalOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The port that gets signaled when the switch turns on. + /// + [DataField] + public ProtoId Port = "Trigger"; +} diff --git a/Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/SmokeOnTriggerComponent.cs similarity index 59% rename from Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs rename to Content.Shared/Trigger/Components/Effects/SmokeOnTriggerComponent.cs index 1138e74af8..07a5bad056 100644 --- a/Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs +++ b/Content.Shared/Trigger/Components/Effects/SmokeOnTriggerComponent.cs @@ -1,34 +1,34 @@ -using Content.Shared.Explosion.EntitySystems; using Content.Shared.Chemistry.Components; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; -namespace Content.Shared.Explosion.Components; +namespace Content.Shared.Trigger.Components.Effects; /// /// Creates a smoke cloud when triggered, with an optional solution to include in it. -/// No sound is played incase a grenade is stealthy, use if you want a sound. +/// No sound is played incase a grenade is stealthy, use if you want a sound. +/// If TargetUser is true the smoke is spawned at their location. /// -[RegisterComponent, NetworkedComponent, Access(typeof(SharedSmokeOnTriggerSystem))] -public sealed partial class SmokeOnTriggerComponent : Component +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class SmokeOnTriggerComponent : BaseXOnTriggerComponent { /// - /// How long the smoke stays for, after it has spread. + /// How long the smoke stays for, after it has spread (in seconds). /// - [DataField, ViewVariables(VVAccess.ReadWrite)] - public float Duration = 10; + [DataField, AutoNetworkedField] + public TimeSpan Duration = TimeSpan.FromSeconds(10); /// /// How much the smoke will spread. /// - [DataField(required: true), ViewVariables(VVAccess.ReadWrite)] + [DataField(required: true), AutoNetworkedField] public int SpreadAmount; /// /// Smoke entity to spawn. /// Defaults to smoke but you can use foam if you want. /// - [DataField, ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public EntProtoId SmokePrototype = "Smoke"; /// @@ -37,6 +37,6 @@ public sealed partial class SmokeOnTriggerComponent : Component /// /// When using repeating trigger this essentially gets multiplied so dont do anything crazy like omnizine or lexorin. /// - [DataField, ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public Solution Solution = new(); } diff --git a/Content.Shared/Trigger/Components/Effects/SpawnOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/SpawnOnTriggerComponent.cs new file mode 100644 index 0000000000..782626f479 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/SpawnOnTriggerComponent.cs @@ -0,0 +1,31 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Spawns a protoype when triggered. +/// If TargetUser is true it will be spawned at their location. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class SpawnOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The prototype to spawn. + /// + [DataField(required: true), AutoNetworkedField] + public EntProtoId Proto = string.Empty; + + /// + /// Use MapCoordinates for spawning? + /// Set to true if you don't want the new entity parented to the spawner. + /// + [DataField, AutoNetworkedField] + public bool UseMapCoords; + + /// + /// Whether or not to use predicted spawning. + /// + [DataField, AutoNetworkedField] + public bool Predicted; +} diff --git a/Content.Shared/Trigger/Components/Effects/SpeakOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/SpeakOnTriggerComponent.cs new file mode 100644 index 0000000000..8fe6927046 --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/SpeakOnTriggerComponent.cs @@ -0,0 +1,26 @@ +using Content.Shared.Dataset; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Makes the entity speak a message when triggered. +/// If TargetUser is true then they will be forced to speak instead. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class SpeakOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The text to speak. This has priority over Pack. + /// + [DataField] + public LocId? Text; + + /// + /// The identifier for the dataset prototype containing messages to be spoken by this entity. + /// The spoken text will be picked randomly from it. + /// + [DataField] + public ProtoId? Pack; +} diff --git a/Content.Shared/Trigger/Components/Effects/UseDelayOnTriggerComponent.cs b/Content.Shared/Trigger/Components/Effects/UseDelayOnTriggerComponent.cs new file mode 100644 index 0000000000..4d43c2860b --- /dev/null +++ b/Content.Shared/Trigger/Components/Effects/UseDelayOnTriggerComponent.cs @@ -0,0 +1,26 @@ +using Content.Shared.Timing; +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Effects; + +/// +/// Will activate an UseDelay on the target when triggered. +/// +/// +/// TODO: Support specific UseDelay IDs for each trigger key. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class UseDelayOnTriggerComponent : BaseXOnTriggerComponent +{ + /// + /// The UseDelay Id to delay. + /// + [DataField, AutoNetworkedField] + public string UseDelayId = UseDelaySystem.DefaultId; + + /// + /// If true ongoing delays won't be reset. + /// + [DataField, AutoNetworkedField] + public bool CheckDelayed; +} diff --git a/Content.Server/Explosion/Components/RandomTimerTriggerComponent.cs b/Content.Shared/Trigger/Components/RandomTimerTriggerComponent.cs similarity index 50% rename from Content.Server/Explosion/Components/RandomTimerTriggerComponent.cs rename to Content.Shared/Trigger/Components/RandomTimerTriggerComponent.cs index 3863b9c313..89b5535854 100644 --- a/Content.Server/Explosion/Components/RandomTimerTriggerComponent.cs +++ b/Content.Shared/Trigger/Components/RandomTimerTriggerComponent.cs @@ -1,22 +1,22 @@ -using Content.Server.Explosion.EntitySystems; +using Robust.Shared.GameStates; -namespace Content.Server.Explosion.Components; +namespace Content.Shared.Trigger.Components; /// -/// This is used for randomizing a on MapInit +/// This is used for randomizing a on MapInit. /// -[RegisterComponent, Access(typeof(TriggerSystem))] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class RandomTimerTriggerComponent : Component { /// /// The minimum random trigger time. /// - [DataField] + [DataField, AutoNetworkedField] public float Min; /// /// The maximum random trigger time. /// - [DataField] + [DataField, AutoNetworkedField] public float Max; } diff --git a/Content.Shared/Trigger/Components/TimerTriggerComponent.cs b/Content.Shared/Trigger/Components/TimerTriggerComponent.cs new file mode 100644 index 0000000000..9cc58d3cda --- /dev/null +++ b/Content.Shared/Trigger/Components/TimerTriggerComponent.cs @@ -0,0 +1,109 @@ +using Content.Shared.Guidebook; +using Content.Shared.Trigger.Systems; +using Robust.Shared.Audio; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; +using System.Linq; + +namespace Content.Shared.Trigger.Components; + +/// +/// Starts a timer when activated by a trigger. +/// Will cause a different trigger once the time is over. +/// Can play a sound while the timer is active. +/// The time can be set by other components, for example . +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class TimerTriggerComponent : Component +{ + /// + /// The keys that will activate the timer. + /// + [DataField, AutoNetworkedField] + public List KeysIn = new() { TriggerSystem.DefaultTriggerKey }; + + /// + /// The key that will trigger once the timer is finished. + /// + [DataField, AutoNetworkedField] + public string? KeyOut = "timer"; + + /// + /// The time after which this timer will trigger after it is activated. + /// + [DataField, AutoNetworkedField] + public TimeSpan Delay = TimeSpan.FromSeconds(1); + + /// + /// If not empty, a user can use verbs to configure the delay to one of these options. + /// + [DataField, AutoNetworkedField] + public List DelayOptions = new(); + + /// + /// The time at which this trigger will activate. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] + public TimeSpan NextTrigger = TimeSpan.Zero; + + /// + /// Time of the next beeping sound. + /// + /// + /// Not networked because it's only used server side. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] + public TimeSpan NextBeep = TimeSpan.Zero; + + /// + /// Initial beep delay. + /// Defaults to a single BeepInterval if null. + /// + /// + /// Not networked because it's only used server side. + /// + [DataField] + public TimeSpan? InitialBeepDelay; + + /// + /// The time between beeps. + /// + [DataField, AutoNetworkedField] + public TimeSpan BeepInterval = TimeSpan.FromSeconds(1); + + /// + /// The entity that activated this trigger. + /// + [DataField, AutoNetworkedField] + public EntityUid? User; + + /// + /// The beeping sound, if any. + /// + [DataField, AutoNetworkedField] + public SoundSpecifier? BeepSound; + + /// + /// Whether you can examine the item to see its timer or not. + /// + [DataField, AutoNetworkedField] + public bool Examinable = true; + + /// + /// The popup to show the user when starting the timer, if any. + /// + [DataField, AutoNetworkedField] + public LocId? Popup = "timer-trigger-activated"; + + #region GuidebookData + + [GuidebookData] + public float? ShortestDelayOption => DelayOptions.Count == 0 ? null : (float)DelayOptions.Min().TotalSeconds; + + [GuidebookData] + public float? LongestDelayOption => DelayOptions.Count == 0 ? null : (float)DelayOptions.Max().TotalSeconds; + + #endregion GuidebookData +} diff --git a/Content.Shared/Trigger/Components/Triggers/ActiveTriggerOnTimedCollideComponent.cs b/Content.Shared/Trigger/Components/Triggers/ActiveTriggerOnTimedCollideComponent.cs new file mode 100644 index 0000000000..88b68913f0 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/ActiveTriggerOnTimedCollideComponent.cs @@ -0,0 +1,6 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +[RegisterComponent, NetworkedComponent] +public sealed partial class ActiveTriggerOnTimedCollideComponent : Component; diff --git a/Content.Shared/Trigger/Components/Triggers/BaseTriggerOnXComponent.cs b/Content.Shared/Trigger/Components/Triggers/BaseTriggerOnXComponent.cs new file mode 100644 index 0000000000..1f4807f253 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/BaseTriggerOnXComponent.cs @@ -0,0 +1,16 @@ +using Content.Shared.Trigger.Systems; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Base class for components that cause a trigger to be activated. +/// +public abstract partial class BaseTriggerOnXComponent : Component +{ + /// + /// The key that the trigger will activate. + /// null will activate all triggers. + /// + [DataField, AutoNetworkedField] + public string? KeyOut = TriggerSystem.DefaultTriggerKey; +} diff --git a/Content.Server/Explosion/Components/RepeatingTriggerComponent.cs b/Content.Shared/Trigger/Components/Triggers/RepeatingTriggerComponent.cs similarity index 56% rename from Content.Server/Explosion/Components/RepeatingTriggerComponent.cs rename to Content.Shared/Trigger/Components/Triggers/RepeatingTriggerComponent.cs index cc08de53f9..27527d7773 100644 --- a/Content.Server/Explosion/Components/RepeatingTriggerComponent.cs +++ b/Content.Shared/Trigger/Components/Triggers/RepeatingTriggerComponent.cs @@ -1,25 +1,26 @@ -using Content.Server.Explosion.EntitySystems; +using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -namespace Content.Server.Explosion.Components; +namespace Content.Shared.Trigger.Components.Triggers; /// /// Constantly triggers after being added to an entity. /// -[RegisterComponent, Access(typeof(TriggerSystem))] -[AutoGenerateComponentPause] -public sealed partial class RepeatingTriggerComponent : Component +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class RepeatingTriggerComponent : BaseTriggerOnXComponent { /// /// How long to wait between triggers. /// The first trigger starts this long after the component is added. /// - [DataField] + [DataField, AutoNetworkedField] public TimeSpan Delay = TimeSpan.FromSeconds(1); /// /// When the next trigger will be. /// - [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField] - public TimeSpan NextTrigger; + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] + public TimeSpan NextTrigger = TimeSpan.Zero; } diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnActivateComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnActivateComponent.cs new file mode 100644 index 0000000000..9dd145bb26 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnActivateComponent.cs @@ -0,0 +1,17 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers when activated in hand or by clicking on the entity. +/// The user is the player activating it. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnActivateComponent : BaseTriggerOnXComponent +{ + /// + /// Is this interaction a complex interaction? + /// + [DataField, AutoNetworkedField] + public bool RequireComplex = true; +} diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnActivateImplantComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnActivateImplantComponent.cs new file mode 100644 index 0000000000..b26f3b6875 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnActivateImplantComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers when activating an action granted by an implant. +/// The user is the player activating it. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnActivateImplantComponent : BaseTriggerOnXComponent; diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnCollideComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnCollideComponent.cs new file mode 100644 index 0000000000..a1e234bd7a --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnCollideComponent.cs @@ -0,0 +1,23 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers when colliding with another entity. +/// The user is the entity collided with. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnCollideComponent : BaseTriggerOnXComponent +{ + /// + /// The fixture with which to collide. + /// + [DataField(required: true), AutoNetworkedField] + public string FixtureID = string.Empty; + + /// + /// Doesn't trigger if the other colliding fixture is nonhard. + /// + [DataField, AutoNetworkedField] + public bool IgnoreOtherNonHard = true; +} diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnEmptyGunshotComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnEmptyGunshotComponent.cs new file mode 100644 index 0000000000..40d468ec30 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnEmptyGunshotComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers when attempting to shoot a gun while it's empty. +/// The user is the player holding the gun. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnEmptyGunshotComponent : BaseTriggerOnXComponent; diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnMobstateChangeComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnMobstateChangeComponent.cs new file mode 100644 index 0000000000..a8dab4e6cd --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnMobstateChangeComponent.cs @@ -0,0 +1,35 @@ +using Content.Shared.Mobs; +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers when this entity's mob state changes. +/// The user is the entity that caused the state change or the owner depending on the settings. +/// If added to an implant it will trigger when the implanted entity's mob state changes. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnMobstateChangeComponent : BaseTriggerOnXComponent +{ + /// + /// What states should trigger this? + /// + [DataField(required: true), AutoNetworkedField] + public List MobState = new(); + + /// + /// If true, prevents suicide attempts for the trigger to prevent cheese. + /// + [DataField, AutoNetworkedField] + public bool PreventSuicide = false; + + /// + /// If false, the trigger user will be the entity that caused the mobstate to change. + /// If true, the trigger user will the entity that changed its mob state. + /// + /// + /// Set this to true for implants that apply an effect on the implanted entity. + /// + [DataField, AutoNetworkedField] + public bool TargetMobstateEntity = true; +} diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnProximityComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnProximityComponent.cs new file mode 100644 index 0000000000..047d6f0374 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnProximityComponent.cs @@ -0,0 +1,91 @@ +using Content.Shared.Physics; +using Robust.Shared.GameStates; +using Robust.Shared.Physics.Collision.Shapes; +using Robust.Shared.Physics.Components; +using Robust.Shared.Physics.Dynamics; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers whenever an entity collides with a fixture attached to the owner of this component. +/// The user is the entity that collided with the fixture. +/// +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class TriggerOnProximityComponent : BaseTriggerOnXComponent +{ + /// + /// The ID if the fixture that is observed for collisions. + /// + public const string FixtureID = "trigger-on-proximity-fixture"; + + /// + /// Currently colliding entities. + /// + [ViewVariables] + public readonly Dictionary Colliding = new(); + + /// + /// What is the shape of the proximity fixture? + /// + [ViewVariables] + [DataField] + public IPhysShape Shape = new PhysShapeCircle(2f); + + /// + /// How long the the proximity trigger animation plays for. + /// + [DataField, AutoNetworkedField] + public TimeSpan AnimationDuration = TimeSpan.FromSeconds(0.6f); + + /// + /// Whether the entity needs to be anchored for the proximity to work. + /// + [DataField, AutoNetworkedField] + public bool RequiresAnchored = true; + + /// + /// Whether the proximity trigger is currently enabled. + /// + [DataField, AutoNetworkedField] + public bool Enabled = true; + + /// + /// The minimum delay between repeating triggers. + /// + [DataField, AutoNetworkedField] + public TimeSpan Cooldown = TimeSpan.FromSeconds(5); + + /// + /// When can the trigger run again? + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] + public TimeSpan NextTrigger = TimeSpan.Zero; + + /// + /// When will the visual state be updated again after activation? + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] + public TimeSpan NextVisualUpdate = TimeSpan.Zero; + + /// + /// What speed should the other object be moving at to trigger the proximity fixture? + /// + [DataField, AutoNetworkedField] + public float TriggerSpeed = 3.5f; + + /// + /// If this proximity is triggered should we continually repeat it? + /// + [DataField, AutoNetworkedField] + public bool Repeating = true; + + /// + /// What layer is the trigger fixture on? + /// + [DataField(customTypeSerializer: typeof(FlagSerializer))] + public int Layer = (int)(CollisionGroup.MidImpassable | CollisionGroup.LowImpassable | CollisionGroup.HighImpassable); +} diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnSignalComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnSignalComponent.cs new file mode 100644 index 0000000000..6ed81c5fcf --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnSignalComponent.cs @@ -0,0 +1,19 @@ +using Content.Shared.DeviceLinking; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Sends a trigger when signal is received. +/// The user is the sender of the signal. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnSignalComponent : BaseTriggerOnXComponent +{ + /// + /// The sink port prototype we can connect devices to. + /// + [DataField, AutoNetworkedField] + public ProtoId Port = "Trigger"; +} diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnSlipComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnSlipComponent.cs new file mode 100644 index 0000000000..b0381ee74e --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnSlipComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers an entity when someone slipped on it. +/// The user is the entity that was slipped. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnSlipComponent : BaseTriggerOnXComponent; diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnSpawnComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnSpawnComponent.cs new file mode 100644 index 0000000000..c718a20148 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnSpawnComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers when the entity is initialized. +/// The user is null. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnSpawnComponent : BaseTriggerOnXComponent; diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnStepTriggerComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnStepTriggerComponent.cs new file mode 100644 index 0000000000..70d33a1179 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnStepTriggerComponent.cs @@ -0,0 +1,14 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers if a StepTrigger is activated by someone stepping on this entity. +/// The user is the mob who stepped on it. +/// +/// +/// This is used for entities that want the more generic 'trigger' behavior after a step trigger occurs. +/// Not done by default, since it's not useful for everything and might cause weird behavior. But it is useful for a lot of stuff like mousetraps. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnStepTriggerComponent : BaseTriggerOnXComponent; diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnStuckComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnStuckComponent.cs new file mode 100644 index 0000000000..073a64f66e --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnStuckComponent.cs @@ -0,0 +1,11 @@ +using Content.Shared.Sticky.Components; +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers when an entity with is stuck to something. +/// The user is the player doing so. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnStuckComponent : BaseTriggerOnXComponent; diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnTimedCollideComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnTimedCollideComponent.cs new file mode 100644 index 0000000000..185ea7dbe4 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnTimedCollideComponent.cs @@ -0,0 +1,26 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers when the entity is overlapped for the specified duration. +/// The user is the entity that passes the time threshold while colliding. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnTimedCollideComponent : BaseTriggerOnXComponent +{ + /// + /// The time an entity has to collide until the trigger is activated. + /// + [DataField, AutoNetworkedField] + public TimeSpan Threshold = TimeSpan.FromSeconds(1); + + /// + /// A collection of entities that are currently colliding with this, and their own unique accumulator. + /// + /// + /// TODO: Add AutoPausedField and (de)serialize values as time offsets when https://github.com/space-wizards/RobustToolbox/issues/3768 is fixed. + /// + [DataField, AutoNetworkedField] + public Dictionary Colliding = new(); +} diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnUseComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnUseComponent.cs new file mode 100644 index 0000000000..71d289741e --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnUseComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Triggers on use in hand. +/// The user is the player holding the item. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnUseComponent : BaseTriggerOnXComponent; diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnVerb.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnVerb.cs new file mode 100644 index 0000000000..463860f077 --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnVerb.cs @@ -0,0 +1,20 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Starts a trigger when a verb is selected. +/// The user is the player selecting the verb. +/// +/// +/// TODO: Support multiple verbs and trigger keys. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnVerbComponent : BaseTriggerOnXComponent +{ + /// + /// The text to display in the verb. + /// + [DataField, AutoNetworkedField] + public LocId Text = "trigger-on-verb-default"; +} diff --git a/Content.Shared/Trigger/Components/Triggers/TriggerOnVoiceComponent.cs b/Content.Shared/Trigger/Components/Triggers/TriggerOnVoiceComponent.cs new file mode 100644 index 0000000000..a36992d7da --- /dev/null +++ b/Content.Shared/Trigger/Components/Triggers/TriggerOnVoiceComponent.cs @@ -0,0 +1,47 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Trigger.Components.Triggers; + +/// +/// Sends a trigger when the keyphrase is heard. +/// The User is the speaker. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class TriggerOnVoiceComponent : BaseTriggerOnXComponent +{ + /// + /// Whether or not the component is actively listening at the moment. + /// + [ViewVariables] + public bool IsListening => IsRecording || !string.IsNullOrWhiteSpace(KeyPhrase); + + /// + /// The keyphrase that has been set to trigger it. + /// + [DataField, AutoNetworkedField] + public string? KeyPhrase; + + /// + /// Range in which we listen for the keyphrase. + /// + [DataField, AutoNetworkedField] + public int ListenRange = 4; + + /// + /// Whether we are currently recording a new keyphrase. + /// + [DataField, AutoNetworkedField] + public bool IsRecording; + + /// + /// Minimum keyphrase length. + /// + [DataField, AutoNetworkedField] + public int MinLength = 3; + + /// + /// Maximum keyphrase length. + /// + [DataField, AutoNetworkedField] + public int MaxLength = 50; +} diff --git a/Content.Shared/Trigger/Components/TwoStageTriggerComponent.cs b/Content.Shared/Trigger/Components/TwoStageTriggerComponent.cs new file mode 100644 index 0000000000..f0161c7175 --- /dev/null +++ b/Content.Shared/Trigger/Components/TwoStageTriggerComponent.cs @@ -0,0 +1,58 @@ +using Content.Shared.Trigger.Systems; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Shared.Trigger.Components; + +/// +/// After being triggered applies the specified components and runs triggers again. +/// +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState, AutoGenerateComponentPause] +public sealed partial class TwoStageTriggerComponent : Component +{ + /// + /// The keys that will activate the timer and add the given components (first stage). + /// + [DataField, AutoNetworkedField] + public List KeysIn = new() { TriggerSystem.DefaultTriggerKey }; + + /// + /// The key that will trigger once the timer is finished (second stage). + /// + [DataField, AutoNetworkedField] + public string? KeyOut = "stageTwo"; + + /// + /// How long it takes for the second stage to be triggered. + /// + [DataField, AutoNetworkedField] + public TimeSpan TriggerDelay = TimeSpan.FromSeconds(10); + + /// + /// This list of components that will be added on the first trigger. + /// + [DataField(required: true)] + public ComponentRegistry Components = new(); + + /// + /// The time at which the second stage will trigger. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoNetworkedField, AutoPausedField] + public TimeSpan? NextTriggerTime; + + /// + /// Has this entity been triggered already? + /// Used to prevent the components from being added multiple times. + /// + [DataField, AutoNetworkedField] + public bool Triggered = false; + + /// + /// The entity that activated this trigger. + /// + [DataField, AutoNetworkedField] + public EntityUid? User; +} diff --git a/Content.Shared/Trigger/Systems/AddComponentsOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/AddComponentsOnTriggerSystem.cs new file mode 100644 index 0000000000..908307dad0 --- /dev/null +++ b/Content.Shared/Trigger/Systems/AddComponentsOnTriggerSystem.cs @@ -0,0 +1,33 @@ +using Content.Shared.Trigger.Components.Effects; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class AddComponentsOnTriggerSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + if (ent.Comp.TriggerOnce && ent.Comp.Triggered) + return; + + EntityManager.AddComponents(target.Value, ent.Comp.Components, ent.Comp.RemoveExisting); + ent.Comp.Triggered = true; + Dirty(ent); + + args.Handled = true; + } +} diff --git a/Content.Shared/Trigger/Systems/DamageOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/DamageOnTriggerSystem.cs new file mode 100644 index 0000000000..8f30c852ea --- /dev/null +++ b/Content.Shared/Trigger/Systems/DamageOnTriggerSystem.cs @@ -0,0 +1,40 @@ +using Content.Shared.Damage; +using Content.Shared.Trigger.Components.Effects; + +namespace Content.Shared.Trigger.Systems; + +public sealed class DamageOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly DamageableSystem _damageableSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + var damage = new DamageSpecifier(ent.Comp.Damage); + var ev = new BeforeDamageOnTriggerEvent(damage, target.Value); + RaiseLocalEvent(ent.Owner, ref ev); + + args.Handled |= _damageableSystem.TryChangeDamage(target, ev.Damage, ent.Comp.IgnoreResistances, origin: ent.Owner) is not null; + } +} + +/// +/// Raised on an entity before it deals damage using DamageOnTriggerComponent. +/// Used to modify the damage that will be dealt. +/// +[ByRefEvent] +public record struct BeforeDamageOnTriggerEvent(DamageSpecifier Damage, EntityUid Tripper); diff --git a/Content.Shared/Trigger/Systems/EmitSoundOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/EmitSoundOnTriggerSystem.cs new file mode 100644 index 0000000000..e296ccc177 --- /dev/null +++ b/Content.Shared/Trigger/Systems/EmitSoundOnTriggerSystem.cs @@ -0,0 +1,55 @@ +using Content.Shared.Trigger.Components.Effects; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Network; + +namespace Content.Shared.Trigger.Systems; + +public sealed class EmitSoundOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly INetManager _netMan = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + args.Handled |= TryEmitSound(ent, target.Value, args.User); + } + + private bool TryEmitSound(Entity ent, EntityUid target, EntityUid? user = null) + { + if (ent.Comp.Sound == null) + return false; + + if (ent.Comp.Positional) + { + var coords = Transform(target).Coordinates; + if (ent.Comp.Predicted) + _audio.PlayPredicted(ent.Comp.Sound, coords, user); + else if (_netMan.IsServer) + _audio.PlayPvs(ent.Comp.Sound, coords); + } + else + { + if (ent.Comp.Predicted) + _audio.PlayPredicted(ent.Comp.Sound, target, user); + else if (_netMan.IsServer) + _audio.PlayPvs(ent.Comp.Sound, target); + } + + return true; + } +} diff --git a/Content.Shared/Trigger/Systems/EmpOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/EmpOnTriggerSystem.cs new file mode 100644 index 0000000000..136c4474a2 --- /dev/null +++ b/Content.Shared/Trigger/Systems/EmpOnTriggerSystem.cs @@ -0,0 +1,31 @@ +using Content.Shared.Emp; +using Content.Shared.Trigger.Components.Effects; + +namespace Content.Shared.Trigger.Systems; + +public sealed class EmpOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly SharedEmpSystem _emp = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + _emp.EmpPulse(_transform.GetMapCoordinates(target.Value), ent.Comp.Range, ent.Comp.EnergyConsumption, (float)ent.Comp.DisableDuration.TotalSeconds); + args.Handled = true; + } +} diff --git a/Content.Shared/Trigger/Systems/ExplodeOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/ExplodeOnTriggerSystem.cs new file mode 100644 index 0000000000..1c773b79a6 --- /dev/null +++ b/Content.Shared/Trigger/Systems/ExplodeOnTriggerSystem.cs @@ -0,0 +1,30 @@ +using Content.Shared.Explosion.EntitySystems; +using Content.Shared.Trigger.Components.Effects; + +namespace Content.Shared.Trigger.Systems; + +public sealed class ExplodeOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly SharedExplosionSystem _explosion = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + _explosion.TriggerExplosive(target.Value, user: args.User); + args.Handled = true; + } +} diff --git a/Content.Shared/Trigger/Systems/FlashOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/FlashOnTriggerSystem.cs new file mode 100644 index 0000000000..6153e228bf --- /dev/null +++ b/Content.Shared/Trigger/Systems/FlashOnTriggerSystem.cs @@ -0,0 +1,30 @@ +using Content.Shared.Flash; +using Content.Shared.Trigger.Components.Effects; + +namespace Content.Shared.Trigger.Systems; + +public sealed class FlashOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly SharedFlashSystem _flash = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + _flash.FlashArea(target.Value, args.User, ent.Comp.Range, ent.Comp.Duration, probability: ent.Comp.Probability); + args.Handled = true; + } +} diff --git a/Content.Shared/Trigger/Systems/GibOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/GibOnTriggerSystem.cs new file mode 100644 index 0000000000..95ef5ec1db --- /dev/null +++ b/Content.Shared/Trigger/Systems/GibOnTriggerSystem.cs @@ -0,0 +1,40 @@ +using Content.Shared.Body.Systems; +using Content.Shared.Inventory; +using Content.Shared.Trigger.Components.Effects; + +namespace Content.Shared.Trigger.Systems; + +public sealed class GibOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly SharedBodySystem _body = default!; + [Dependency] private readonly InventorySystem _inventory = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + if (ent.Comp.DeleteItems) + { + var items = _inventory.GetHandOrInventoryEntities(target.Value); + foreach (var item in items) + { + PredictedQueueDel(item); + } + } + _body.GibBody(target.Value, true); + args.Handled = true; + } +} diff --git a/Content.Shared/Trigger/Systems/RepulseAttractOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/RepulseAttractOnTriggerSystem.cs new file mode 100644 index 0000000000..9bedc87b6b --- /dev/null +++ b/Content.Shared/Trigger/Systems/RepulseAttractOnTriggerSystem.cs @@ -0,0 +1,34 @@ +using Content.Shared.Trigger; +using Content.Shared.Trigger.Components.Effects; +using Content.Shared.RepulseAttract; + +namespace Content.Shared.Trigger.Systems; + +public sealed class RepulseAttractOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly RepulseAttractSystem _repulse = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + var position = _transform.GetMapCoordinates(target.Value); + _repulse.TryRepulseAttract(position, args.User, ent.Comp.Speed, ent.Comp.Range, ent.Comp.Whitelist, ent.Comp.CollisionMask); + + args.Handled = true; + } +} diff --git a/Content.Shared/Trigger/Systems/SharedReleaseGasOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/SharedReleaseGasOnTriggerSystem.cs new file mode 100644 index 0000000000..e1871e0435 --- /dev/null +++ b/Content.Shared/Trigger/Systems/SharedReleaseGasOnTriggerSystem.cs @@ -0,0 +1,36 @@ +using Content.Shared.Trigger.Components.Effects; +using Robust.Shared.Timing; + +namespace Content.Shared.Trigger.Systems; + +/// +/// Releases a gas mixture to the atmosphere when triggered. +/// Can also release gas over a set timespan to prevent trolling people +/// with the instant-wall-of-pressure-inator. +/// +public abstract class SharedReleaseGasOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly IGameTiming _timing = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + /// + /// Shrimply sets the component to active when triggered, allowing it to release over time. + /// + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + ent.Comp.Active = true; + ent.Comp.NextReleaseTime = _timing.CurTime; + ent.Comp.StartingTotalMoles = ent.Comp.Air.TotalMoles; + _appearance.SetData(ent, ReleaseGasOnTriggerVisuals.Key, true); + } +} diff --git a/Content.Shared/Trigger/Systems/ShockOnTriggerSystem.cs b/Content.Shared/Trigger/Systems/ShockOnTriggerSystem.cs new file mode 100644 index 0000000000..c4d34af7e1 --- /dev/null +++ b/Content.Shared/Trigger/Systems/ShockOnTriggerSystem.cs @@ -0,0 +1,44 @@ +using Content.Shared.Electrocution; +using Content.Shared.Trigger.Components.Effects; +using Robust.Shared.Containers; + +namespace Content.Shared.Trigger.Systems; + +public sealed class ShockOnTriggerSystem : EntitySystem +{ + [Dependency] private readonly SharedContainerSystem _container = default!; + [Dependency] private readonly SharedElectrocutionSystem _electrocution = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + EntityUid? target; + if (ent.Comp.TargetContainer) + { + // shock whoever is wearing this clothing item + if (!_container.TryGetContainingContainer(ent.Owner, out var container)) + return; + target = container.Owner; + } + else + { + target = ent.Comp.TargetUser ? args.User : ent.Owner; + } + + if (target == null) + return; + + _electrocution.TryDoElectrocution(target.Value, null, ent.Comp.Damage, ent.Comp.Duration, true, ignoreInsulation: true); + args.Handled = true; + } + +} diff --git a/Content.Shared/Trigger/Systems/TriggerOnActivateImplantSystem.cs b/Content.Shared/Trigger/Systems/TriggerOnActivateImplantSystem.cs new file mode 100644 index 0000000000..3825708550 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerOnActivateImplantSystem.cs @@ -0,0 +1,22 @@ +using Content.Shared.Implants.Components; +using Content.Shared.Trigger.Components.Triggers; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerOnActivateImplantSystem : EntitySystem +{ + [Dependency] private readonly TriggerSystem _trigger = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnActivateImplant); + } + + private void OnActivateImplant(Entity ent, ref ActivateImplantEvent args) + { + _trigger.Trigger(ent.Owner, args.Performer, ent.Comp.KeyOut); + args.Handled = true; + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerOnEmptyGunshotSystem.cs b/Content.Shared/Trigger/Systems/TriggerOnEmptyGunshotSystem.cs new file mode 100644 index 0000000000..cc23fa2b84 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerOnEmptyGunshotSystem.cs @@ -0,0 +1,20 @@ +using Content.Shared.Trigger.Components.Triggers; +using Content.Shared.Weapons.Ranged.Events; + +namespace Content.Shared.Trigger.Systems; +public sealed partial class TriggerOnEmptyGunshotSystem : EntitySystem +{ + [Dependency] private readonly TriggerSystem _trigger = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnEmptyGunShot); + } + + private void OnEmptyGunShot(Entity ent, ref OnEmptyGunShotEvent args) + { + _trigger.Trigger(ent.Owner, args.User, ent.Comp.KeyOut); + } +} diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.Mobstate.cs b/Content.Shared/Trigger/Systems/TriggerOnMobstateChangeSystem.cs similarity index 56% rename from Content.Server/Explosion/EntitySystems/TriggerSystem.Mobstate.cs rename to Content.Shared/Trigger/Systems/TriggerOnMobstateChangeSystem.cs index ccd2a6e3df..68c109aef9 100644 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.Mobstate.cs +++ b/Content.Shared/Trigger/Systems/TriggerOnMobstateChangeSystem.cs @@ -1,20 +1,25 @@ -using Content.Server.Explosion.Components; -using Content.Shared.Explosion.Components; -using Content.Shared.Implants; +using Content.Shared.Implants; using Content.Shared.Interaction.Events; using Content.Shared.Mobs; +using Content.Shared.Popups; +using Content.Shared.Trigger.Components.Triggers; -namespace Content.Server.Explosion.EntitySystems; +namespace Content.Shared.Trigger.Systems; -public sealed partial class TriggerSystem +public sealed partial class TriggerOnMobstateChangeSystem : EntitySystem { - private void InitializeMobstate() + [Dependency] private readonly TriggerSystem _trigger = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + + public override void Initialize() { + base.Initialize(); + SubscribeLocalEvent(OnMobStateChanged); SubscribeLocalEvent(OnSuicide); - SubscribeLocalEvent>(OnSuicideRelay); SubscribeLocalEvent>(OnMobStateRelay); + SubscribeLocalEvent>(OnSuicideRelay); } private void OnMobStateChanged(EntityUid uid, TriggerOnMobstateChangeComponent component, MobStateChangedEvent args) @@ -22,25 +27,21 @@ public sealed partial class TriggerSystem if (!component.MobState.Contains(args.NewMobState)) return; - //This chains Mobstate Changed triggers with OnUseTimerTrigger if they have it - //Very useful for things that require a mobstate change and a timer - if (TryComp(uid, out var timerTrigger)) - { - HandleTimerTrigger( - uid, - args.Origin, - timerTrigger.Delay, - timerTrigger.BeepInterval, - timerTrigger.InitialBeepDelay, - timerTrigger.BeepSound); - } - else - Trigger(uid); + _trigger.Trigger(uid, component.TargetMobstateEntity ? uid : args.Origin, component.KeyOut); + } + + private void OnMobStateRelay(EntityUid uid, TriggerOnMobstateChangeComponent component, ImplantRelayEvent args) + { + if (!component.MobState.Contains(args.Event.NewMobState)) + return; + + _trigger.Trigger(uid, component.TargetMobstateEntity ? args.ImplantedEntity : args.Event.Origin, component.KeyOut); } /// /// Checks if the user has any implants that prevent suicide to avoid some cheesy strategies /// Prevents suicide by handling the event without killing the user + /// TODO: This doesn't seem to work at the moment as the event is never checked for being handled. /// private void OnSuicide(EntityUid uid, TriggerOnMobstateChangeComponent component, SuicideEvent args) { @@ -50,17 +51,19 @@ public sealed partial class TriggerSystem if (!component.PreventSuicide) return; - _popupSystem.PopupEntity(Loc.GetString("suicide-prevented"), args.Victim, args.Victim); + _popup.PopupClient(Loc.GetString("suicide-prevented"), args.Victim); args.Handled = true; } private void OnSuicideRelay(EntityUid uid, TriggerOnMobstateChangeComponent component, ImplantRelayEvent args) { - OnSuicide(uid, component, args.Event); - } + if (args.Event.Handled) + return; - private void OnMobStateRelay(EntityUid uid, TriggerOnMobstateChangeComponent component, ImplantRelayEvent args) - { - OnMobStateChanged(uid, component, args.Event); + if (!component.PreventSuicide) + return; + + _popup.PopupClient(Loc.GetString("suicide-prevented"), args.Event.Victim); + args.Event.Handled = true; } } diff --git a/Content.Shared/Trigger/Systems/TriggerOnSlipSystem.cs b/Content.Shared/Trigger/Systems/TriggerOnSlipSystem.cs new file mode 100644 index 0000000000..6940ea52e2 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerOnSlipSystem.cs @@ -0,0 +1,21 @@ +using Content.Shared.Slippery; +using Content.Shared.Trigger.Components.Triggers; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerOnSlipSystem : EntitySystem +{ + [Dependency] private readonly TriggerSystem _trigger = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnSlip); + } + + private void OnSlip(Entity ent, ref SlipEvent args) + { + _trigger.Trigger(ent.Owner, args.Slipped, ent.Comp.KeyOut); + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerOnStuckSystem.cs b/Content.Shared/Trigger/Systems/TriggerOnStuckSystem.cs new file mode 100644 index 0000000000..d364adccff --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerOnStuckSystem.cs @@ -0,0 +1,21 @@ +using Content.Shared.Sticky; +using Content.Shared.Trigger.Components.Triggers; + +namespace Content.Shared.Trigger.Systems; + +public sealed class TriggerOnStuckSystem : EntitySystem +{ + [Dependency] private readonly TriggerSystem _trigger = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnStuck); + } + + private void OnStuck(Entity ent, ref EntityStuckEvent args) + { + _trigger.Trigger(ent.Owner, args.User, ent.Comp.KeyOut); + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerOnVerbSystem.cs b/Content.Shared/Trigger/Systems/TriggerOnVerbSystem.cs new file mode 100644 index 0000000000..d5830dd75d --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerOnVerbSystem.cs @@ -0,0 +1,31 @@ +using Content.Shared.Verbs; +using Content.Shared.Trigger.Components.Triggers; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerOnVerbSystem : EntitySystem +{ + [Dependency] private readonly TriggerSystem _trigger = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(OnGetAltVerbs); + } + + private void OnGetAltVerbs(Entity ent, ref GetVerbsEvent args) + { + if (!args.CanInteract || !args.CanAccess || args.Hands == null) + return; + + var user = args.User; + + args.Verbs.Add(new AlternativeVerb + { + Text = Loc.GetString(ent.Comp.Text), + Act = () => _trigger.Trigger(ent.Owner, user, ent.Comp.KeyOut), + Priority = 2 // should be above any timer settings + }); + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.Collide.cs b/Content.Shared/Trigger/Systems/TriggerSystem.Collide.cs new file mode 100644 index 0000000000..5243b13742 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.Collide.cs @@ -0,0 +1,73 @@ +using Content.Shared.Trigger.Components.Triggers; +using Content.Shared.StepTrigger.Systems; +using Robust.Shared.Physics.Events; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerSystem +{ + private void InitializeCollide() + { + SubscribeLocalEvent(OnCollide); + SubscribeLocalEvent(OnStepTriggered); + + SubscribeLocalEvent(OnTimedCollide); + SubscribeLocalEvent(OnTimedEndCollide); + SubscribeLocalEvent(OnTimedShutdown); + } + + private void OnCollide(Entity ent, ref StartCollideEvent args) + { + if (args.OurFixtureId == ent.Comp.FixtureID && (!ent.Comp.IgnoreOtherNonHard || args.OtherFixture.Hard)) + Trigger(ent.Owner, args.OtherEntity, ent.Comp.KeyOut); + } + + private void OnStepTriggered(Entity ent, ref StepTriggeredOffEvent args) + { + Trigger(ent, args.Tripper, ent.Comp.KeyOut); + } + + private void OnTimedCollide(Entity ent, ref StartCollideEvent args) + { + //Ensures the trigger entity will have an active component + EnsureComp(ent); + var otherUID = args.OtherEntity; + if (ent.Comp.Colliding.ContainsKey(otherUID)) + return; + ent.Comp.Colliding.Add(otherUID, _timing.CurTime + ent.Comp.Threshold); + Dirty(ent); + } + + private void OnTimedEndCollide(Entity ent, ref EndCollideEvent args) + { + var otherUID = args.OtherEntity; + ent.Comp.Colliding.Remove(otherUID); + Dirty(ent); + + if (ent.Comp.Colliding.Count == 0) + RemComp(ent); + } + + private void OnTimedShutdown(Entity ent, ref ComponentShutdown args) + { + RemComp(ent); + } + + private void UpdateTimedCollide() + { + var curTime = _timing.CurTime; + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out _, out var triggerOnTimedCollide)) + { + foreach (var (collidingEntity, collidingTime) in triggerOnTimedCollide.Colliding) + { + if (curTime > collidingTime) + { + triggerOnTimedCollide.Colliding[collidingEntity] += triggerOnTimedCollide.Threshold; + Dirty(uid, triggerOnTimedCollide); + Trigger(uid, collidingEntity, triggerOnTimedCollide.KeyOut); + } + } + } + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.Condition.cs b/Content.Shared/Trigger/Systems/TriggerSystem.Condition.cs new file mode 100644 index 0000000000..a917f1ad48 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.Condition.cs @@ -0,0 +1,57 @@ +using Content.Shared.Trigger.Components.Conditions; +using Content.Shared.Verbs; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerSystem +{ + private void InitializeCondition() + { + SubscribeLocalEvent(OnWhitelistTriggerAttempt); + + SubscribeLocalEvent(OnUseDelayTriggerAttempt); + + SubscribeLocalEvent(OnToggleTriggerAttempt); + SubscribeLocalEvent>(OnToggleGetAltVerbs); + } + + private void OnWhitelistTriggerAttempt(Entity ent, ref AttemptTriggerEvent args) + { + if (args.Key == null || ent.Comp.Keys.Contains(args.Key)) + args.Cancelled |= !_whitelist.CheckBoth(args.User, ent.Comp.UserBlacklist, ent.Comp.UserWhitelist); + } + + private void OnUseDelayTriggerAttempt(Entity ent, ref AttemptTriggerEvent args) + { + if (args.Key == null || ent.Comp.Keys.Contains(args.Key)) + args.Cancelled |= _useDelay.IsDelayed(ent.Owner, ent.Comp.UseDelayId); + } + + private void OnToggleTriggerAttempt(Entity ent, ref AttemptTriggerEvent args) + { + if (args.Key == null || ent.Comp.Keys.Contains(args.Key)) + args.Cancelled |= !ent.Comp.Enabled; + } + + private void OnToggleGetAltVerbs(Entity ent, ref GetVerbsEvent args) + { + if (!args.CanInteract || !args.CanAccess || args.Hands == null) + return; + + var user = args.User; + + args.Verbs.Add(new AlternativeVerb() + { + Text = Loc.GetString(ent.Comp.ToggleVerb), + Act = () => Toggle(ent, user) + }); + } + + private void Toggle(Entity ent, EntityUid user) + { + var msg = ent.Comp.Enabled ? ent.Comp.ToggleOff : ent.Comp.ToggleOn; + _popup.PopupPredicted(Loc.GetString(msg), ent.Owner, user); + ent.Comp.Enabled = !ent.Comp.Enabled; + Dirty(ent); + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.Interaction.cs b/Content.Shared/Trigger/Systems/TriggerSystem.Interaction.cs new file mode 100644 index 0000000000..f506909760 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.Interaction.cs @@ -0,0 +1,96 @@ +using Content.Shared.Interaction; +using Content.Shared.Interaction.Events; +using Content.Shared.Item.ItemToggle.Components; +using Content.Shared.Trigger.Components.Triggers; +using Content.Shared.Trigger.Components.Effects; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerSystem +{ + private void InitializeInteraction() + { + SubscribeLocalEvent(OnActivate); + SubscribeLocalEvent(OnUse); + + SubscribeLocalEvent(HandleItemToggleOnTrigger); + SubscribeLocalEvent(HandleAnchorOnTrigger); + SubscribeLocalEvent(HandleUseDelayOnTrigger); + } + + private void OnActivate(Entity ent, ref ActivateInWorldEvent args) + { + if (args.Handled) + return; + + if (ent.Comp.RequireComplex && !args.Complex) + return; + + Trigger(ent.Owner, args.User, ent.Comp.KeyOut); + args.Handled = true; + } + + private void OnUse(Entity ent, ref UseInHandEvent args) + { + if (args.Handled) + return; + + Trigger(ent.Owner, args.User, ent.Comp.KeyOut); + args.Handled = true; + } + + private void HandleItemToggleOnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (!TryComp(target, out var itemToggle)) + return; + + var handled = false; + if (itemToggle.Activated && ent.Comp.CanDeactivate) + handled = _itemToggle.TryDeactivate((target.Value, itemToggle), args.User, ent.Comp.Predicted, ent.Comp.ShowPopup); + else if (ent.Comp.CanActivate) + handled = _itemToggle.TryActivate((target.Value, itemToggle), args.User, ent.Comp.Predicted, ent.Comp.ShowPopup); + + args.Handled |= handled; + } + + private void HandleAnchorOnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + var xform = Transform(target.Value); + + if (xform.Anchored && ent.Comp.CanUnanchor) + _transform.Unanchor(target.Value, xform); + else if (ent.Comp.CanAnchor) + _transform.AnchorEntity(target.Value, xform); + + if (ent.Comp.RemoveOnTrigger) + RemCompDeferred(target.Value); + + args.Handled = true; + } + + private void HandleUseDelayOnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + args.Handled |= _useDelay.TryResetDelay(target.Value, ent.Comp.CheckDelayed); + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.Proximity.cs b/Content.Shared/Trigger/Systems/TriggerSystem.Proximity.cs new file mode 100644 index 0000000000..cf7c11369b --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.Proximity.cs @@ -0,0 +1,138 @@ +using Content.Shared.Trigger.Components.Triggers; +using Robust.Shared.Physics.Components; +using Robust.Shared.Physics.Events; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerSystem +{ + private void InitializeProximity() + { + SubscribeLocalEvent(OnProximityStartCollide); + SubscribeLocalEvent(OnProximityEndCollide); + SubscribeLocalEvent(OnMapInit); + // Shouldn't need re-anchoring. + SubscribeLocalEvent(OnProximityAnchor); + } + + private void OnProximityAnchor(Entity ent, ref AnchorStateChangedEvent args) + { + ent.Comp.Enabled = !ent.Comp.RequiresAnchored || args.Anchored; + + SetProximityAppearance(ent); + + if (!ent.Comp.Enabled) + { + ent.Comp.Colliding.Clear(); + } + // Re-check for contacts as we cleared them. + else if (TryComp(ent, out var body)) + { + _physics.RegenerateContacts((ent.Owner, body)); + } + + Dirty(ent); + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + ent.Comp.Enabled = !ent.Comp.RequiresAnchored || Transform(ent).Anchored; + + SetProximityAppearance(ent); + + if (!TryComp(ent, out var body)) + return; + + _fixture.TryCreateFixture( + ent.Owner, + ent.Comp.Shape, + TriggerOnProximityComponent.FixtureID, + hard: false, + body: body, + collisionLayer: ent.Comp.Layer); + + Dirty(ent); + } + + private void OnProximityStartCollide(EntityUid uid, TriggerOnProximityComponent component, ref StartCollideEvent args) + { + if (args.OurFixtureId != TriggerOnProximityComponent.FixtureID) + return; + + component.Colliding[args.OtherEntity] = args.OtherBody; + } + + private static void OnProximityEndCollide(EntityUid uid, TriggerOnProximityComponent component, ref EndCollideEvent args) + { + if (args.OurFixtureId != TriggerOnProximityComponent.FixtureID) + return; + + component.Colliding.Remove(args.OtherEntity); + } + + private void SetProximityAppearance(Entity ent) + { + _appearance.SetData(ent.Owner, ProximityTriggerVisualState.State, ent.Comp.Enabled ? ProximityTriggerVisuals.Inactive : ProximityTriggerVisuals.Off); + } + + private void Activate(Entity ent, EntityUid user) + { + var curTime = _timing.CurTime; + + if (!ent.Comp.Repeating) + { + ent.Comp.Enabled = false; + ent.Comp.Colliding.Clear(); + } + else + { + ent.Comp.NextTrigger = curTime + ent.Comp.Cooldown; + } + + // Queue a visual update for when the animation is complete. + ent.Comp.NextVisualUpdate = curTime + ent.Comp.AnimationDuration; + Dirty(ent); + + _appearance.SetData(ent.Owner, ProximityTriggerVisualState.State, ProximityTriggerVisuals.Active); + + Trigger(ent.Owner, user, ent.Comp.KeyOut); + } + + private void UpdateProximity() + { + var curTime = _timing.CurTime; + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var trigger)) + { + if (curTime >= trigger.NextVisualUpdate) + { + // Update the visual state once the animation is done. + trigger.NextVisualUpdate = TimeSpan.MaxValue; + Dirty(uid, trigger); + SetProximityAppearance((uid, trigger)); + } + + if (!trigger.Enabled) + continue; + + if (curTime < trigger.NextTrigger) + // The trigger's on cooldown. + continue; + + // Check for anything colliding and moving fast enough. + foreach (var (collidingUid, colliding) in trigger.Colliding) + { + if (TerminatingOrDeleted(collidingUid)) + continue; + + if (colliding.LinearVelocity.Length() < trigger.TriggerSpeed) + continue; + + // Trigger! + Activate((uid, trigger), collidingUid); + break; + } + } + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.Signal.cs b/Content.Shared/Trigger/Systems/TriggerSystem.Signal.cs new file mode 100644 index 0000000000..fa5aa7ea6e --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.Signal.cs @@ -0,0 +1,44 @@ +using Content.Shared.Trigger.Components.Triggers; +using Content.Shared.Trigger.Components.Effects; +using Content.Shared.DeviceLinking.Events; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerSystem +{ + private void InitializeSignal() + { + SubscribeLocalEvent(SignalOnTriggerInit); + SubscribeLocalEvent(TriggerOnSignalInit); + + SubscribeLocalEvent(HandleSignalOnTrigger); + SubscribeLocalEvent(OnSignalReceived); + } + + private void SignalOnTriggerInit(Entity ent, ref ComponentInit args) + { + _deviceLink.EnsureSourcePorts(ent.Owner, ent.Comp.Port); + } + + private void TriggerOnSignalInit(Entity ent, ref ComponentInit args) + { + _deviceLink.EnsureSinkPorts(ent.Owner, ent.Comp.Port); + } + + private void HandleSignalOnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + _deviceLink.InvokePort(ent.Owner, ent.Comp.Port); + args.Handled = true; + } + + private void OnSignalReceived(Entity ent, ref SignalReceivedEvent args) + { + if (args.Port != ent.Comp.Port) + return; + + Trigger(ent.Owner, args.Trigger, ent.Comp.KeyOut); + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.Spawn.cs b/Content.Shared/Trigger/Systems/TriggerSystem.Spawn.cs new file mode 100644 index 0000000000..edcdd03894 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.Spawn.cs @@ -0,0 +1,70 @@ +using Content.Shared.Trigger.Components.Effects; +using Content.Shared.Trigger.Components.Triggers; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerSystem +{ + + private void InitializeSpawn() + { + SubscribeLocalEvent(OnSpawnInit); + + SubscribeLocalEvent(HandleSpawnOnTrigger); + SubscribeLocalEvent(HandleDeleteOnTrigger); + } + + private void OnSpawnInit(Entity ent, ref MapInitEvent args) + { + Trigger(ent.Owner, null, ent.Comp.KeyOut); + } + + private void HandleSpawnOnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + var xform = Transform(target.Value); + + if (ent.Comp.UseMapCoords) + { + var mapCoords = _transform.GetMapCoordinates(target.Value, xform); + if (ent.Comp.Predicted) + EntityManager.PredictedSpawn(ent.Comp.Proto, mapCoords); + else if (_net.IsServer) + Spawn(ent.Comp.Proto, mapCoords); + + } + else + { + var coords = xform.Coordinates; + if (!coords.IsValid(EntityManager)) + return; + + if (ent.Comp.Predicted) + PredictedSpawnAttachedTo(ent.Comp.Proto, coords); + else if (_net.IsServer) + SpawnAttachedTo(ent.Comp.Proto, coords); + + } + } + + private void HandleDeleteOnTrigger(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + var target = ent.Comp.TargetUser ? args.User : ent.Owner; + + if (target == null) + return; + + PredictedQueueDel(target); + args.Handled = true; + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.Timer.cs b/Content.Shared/Trigger/Systems/TriggerSystem.Timer.cs new file mode 100644 index 0000000000..776b17bda6 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.Timer.cs @@ -0,0 +1,179 @@ +using Content.Shared.Trigger.Components; +using Content.Shared.Trigger.Components.Triggers; +using Content.Shared.Examine; +using Content.Shared.Verbs; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerSystem +{ + private void InitializeTimer() + { + SubscribeLocalEvent(OnRepeatInit); + SubscribeLocalEvent(OnRandomInit); + SubscribeLocalEvent(OnTimerShutdown); + SubscribeLocalEvent(OnTimerExamined); + SubscribeLocalEvent(OnTimerTriggered); + SubscribeLocalEvent>(OnTimerGetAltVerbs); + } + + // set the time of the first trigger after being spawned + private void OnRepeatInit(Entity ent, ref MapInitEvent args) + { + ent.Comp.NextTrigger = _timing.CurTime + ent.Comp.Delay; + Dirty(ent); + } + + private void OnRandomInit(Entity ent, ref MapInitEvent args) + { + if (_net.IsClient) // Nextfloat will mispredict, so we set it on the server and dirty it + return; + + if (!TryComp(ent, out var timerTriggerComp)) + return; + + timerTriggerComp.Delay = TimeSpan.FromSeconds(_random.NextFloat(ent.Comp.Min, ent.Comp.Max)); + Dirty(ent.Owner, timerTriggerComp); + } + + private void OnTimerShutdown(Entity ent, ref ComponentShutdown args) + { + RemComp(ent); + } + + private void OnTimerExamined(Entity ent, ref ExaminedEvent args) + { + if (args.IsInDetailsRange && ent.Comp.Examinable) + args.PushText(Loc.GetString("timer-trigger-examine", ("time", ent.Comp.Delay.TotalSeconds))); + } + + private void OnTimerTriggered(Entity ent, ref TriggerEvent args) + { + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + args.Handled |= ActivateTimerTrigger(ent.AsNullable(), args.User); + } + + /// + /// Add an alt-click interaction that cycles through delays. + /// + private void OnTimerGetAltVerbs(Entity ent, ref GetVerbsEvent args) + { + if (!args.CanInteract || !args.CanAccess || args.Hands == null) + return; + + if (ent.Comp.DelayOptions == null || ent.Comp.DelayOptions.Count == 1) + return; + + var user = args.User; + + args.Verbs.Add(new AlternativeVerb + { + Category = TimerOptions, + Text = Loc.GetString("timer-trigger-verb-cycle"), + Act = () => CycleDelay(ent, user), + Priority = 1 + }); + + foreach (var option in ent.Comp.DelayOptions) + { + if (MathHelper.CloseTo(option.TotalSeconds, ent.Comp.Delay.TotalSeconds)) + { + args.Verbs.Add(new AlternativeVerb + { + Category = TimerOptions, + Text = Loc.GetString("timer-trigger-verb-set-current", ("time", option.TotalSeconds)), + Disabled = true, + Priority = -100 * (int)option.TotalSeconds + }); + } + else + { + args.Verbs.Add(new AlternativeVerb + { + Category = TimerOptions, + Text = Loc.GetString("timer-trigger-verb-set", ("time", option.TotalSeconds)), + Priority = -100 * (int)option.TotalSeconds, + Act = () => + { + ent.Comp.Delay = option; + Dirty(ent); + _popup.PopupClient(Loc.GetString("timer-trigger-popup-set", ("time", option.TotalSeconds)), user, user); + } + }); + } + } + } + + public static readonly VerbCategory TimerOptions = new("verb-categories-timer", "/Textures/Interface/VerbIcons/clock.svg.192dpi.png"); + + /// + /// Select the next entry from the DelayOptions. + /// + private void CycleDelay(Entity ent, EntityUid? user) + { + if (ent.Comp.DelayOptions.Count <= 1) + return; + + // This is somewhat inefficient, but its good enough. This is run rarely, and the lists should be short. + + ent.Comp.DelayOptions.Sort(); + Dirty(ent); + + if (ent.Comp.DelayOptions[^1] <= ent.Comp.Delay) + { + ent.Comp.Delay = ent.Comp.DelayOptions[0]; + _popup.PopupClient(Loc.GetString("timer-trigger-popup-set", ("time", ent.Comp.Delay)), ent.Owner, user); + return; + } + + foreach (var option in ent.Comp.DelayOptions) + { + if (option > ent.Comp.Delay) + { + ent.Comp.Delay = option; + _popup.PopupClient(Loc.GetString("timer-trigger-popup-set", ("time", option)), ent.Owner, user); + return; + } + } + } + + private void UpdateRepeat() + { + var curTime = _timing.CurTime; + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var comp)) + { + if (comp.NextTrigger > curTime) + continue; + + comp.NextTrigger += comp.Delay; + Dirty(uid, comp); + Trigger(uid, null, comp.KeyOut); + } + } + + private void UpdateTimer() + { + var curTime = _timing.CurTime; + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out _, out var timer)) + { + if (_net.IsServer && timer.BeepSound != null && timer.NextBeep <= curTime) + { + _audio.PlayPvs(timer.BeepSound, uid); + timer.NextBeep += timer.BeepInterval; + } + + if (timer.NextTrigger <= curTime) + { + Trigger(uid, timer.User, timer.KeyOut); + // Remove after triggering to prevent it from starting the timer again + RemComp(uid); + if (TryComp(uid, out var appearance)) + _appearance.SetData(uid, TriggerVisuals.VisualState, TriggerVisualState.Unprimed, appearance); + } + } + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.Voice.cs b/Content.Shared/Trigger/Systems/TriggerSystem.Voice.cs new file mode 100644 index 0000000000..ac67cb7ed2 --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.Voice.cs @@ -0,0 +1,160 @@ +using Content.Shared.Trigger.Components.Triggers; +using Content.Shared.Speech; +using Content.Shared.Speech.Components; +using Content.Shared.Database; +using Content.Shared.Examine; +using Content.Shared.Verbs; + +namespace Content.Shared.Trigger.Systems; + +public sealed partial class TriggerSystem +{ + private void InitializeVoice() + { + SubscribeLocalEvent(OnVoiceInit); + SubscribeLocalEvent(OnVoiceExamine); + SubscribeLocalEvent(OnListen); + SubscribeLocalEvent>(OnVoiceGetAltVerbs); + } + + private void OnVoiceInit(Entity ent, ref ComponentInit args) + { + if (ent.Comp.IsListening) + EnsureComp(ent).Range = ent.Comp.ListenRange; + else + RemCompDeferred(ent); + } + + private void OnVoiceExamine(Entity ent, ref ExaminedEvent args) + { + if (args.IsInDetailsRange) + { + args.PushText(string.IsNullOrWhiteSpace(ent.Comp.KeyPhrase) + ? Loc.GetString("trigger-on-voice-uninitialized") + : Loc.GetString("trigger-on-voice-examine", ("keyphrase", ent.Comp.KeyPhrase))); + } + } + private void OnListen(Entity ent, ref ListenEvent args) + { + var component = ent.Comp; + var message = args.Message.Trim(); + + if (component.IsRecording) + { + var ev = new ListenAttemptEvent(args.Source); + RaiseLocalEvent(ent, ev); + + if (ev.Cancelled) + return; + + if (message.Length >= component.MinLength && message.Length <= component.MaxLength) + FinishRecording(ent, args.Source, args.Message); + else if (message.Length > component.MaxLength) + _popup.PopupEntity(Loc.GetString("trigger-on-voice-record-failed-too-long"), ent); + else if (message.Length < component.MinLength) + _popup.PopupEntity(Loc.GetString("trigger-on-voice-record-failed-too-short"), ent); + + return; + } + + if (!string.IsNullOrWhiteSpace(component.KeyPhrase) && message.IndexOf(component.KeyPhrase, StringComparison.InvariantCultureIgnoreCase) is var index and >= 0) + { + _adminLogger.Add(LogType.Trigger, LogImpact.Medium, + $"A voice-trigger on {ToPrettyString(ent):entity} was triggered by {ToPrettyString(args.Source):speaker} speaking the key-phrase {component.KeyPhrase}."); + Trigger(ent, args.Source, ent.Comp.KeyOut); + + var messageWithoutPhrase = message.Remove(index, component.KeyPhrase.Length).Trim(); + var voice = new VoiceTriggeredEvent(args.Source, message, messageWithoutPhrase); + RaiseLocalEvent(ent, ref voice); + } + } + + private void OnVoiceGetAltVerbs(Entity ent, ref GetVerbsEvent args) + { + if (!args.CanInteract || !args.CanAccess) + return; + + var user = args.User; + args.Verbs.Add(new AlternativeVerb + { + Text = Loc.GetString(ent.Comp.IsRecording ? "trigger-on-voice-stop" : "trigger-on-voice-record"), + Act = () => + { + if (ent.Comp.IsRecording) + StopRecording(ent, user); + else + StartRecording(ent, user); + }, + Priority = 1 + }); + + if (string.IsNullOrWhiteSpace(ent.Comp.KeyPhrase)) + return; + + args.Verbs.Add(new AlternativeVerb + { + Text = Loc.GetString("trigger-on-voice-clear"), + Act = () => + { + ClearRecording(ent); + } + }); + } + + /// + /// Start recording a new keyphrase. + /// + public void StartRecording(Entity ent, EntityUid? user) + { + ent.Comp.IsRecording = true; + Dirty(ent); + EnsureComp(ent).Range = ent.Comp.ListenRange; + + if (user == null) + _adminLogger.Add(LogType.Trigger, LogImpact.Low, $"A voice-trigger on {ToPrettyString(ent):entity} has started recording."); + else + _adminLogger.Add(LogType.Trigger, LogImpact.Low, $"A voice-trigger on {ToPrettyString(ent):entity} has started recording. User: {ToPrettyString(user.Value):user}"); + + _popup.PopupPredicted(Loc.GetString("trigger-on-voice-start-recording"), ent, user); + } + + /// + /// Stop recording without setting a keyphrase. + /// + public void StopRecording(Entity ent, EntityUid? user) + { + ent.Comp.IsRecording = false; + Dirty(ent); + if (string.IsNullOrWhiteSpace(ent.Comp.KeyPhrase)) + RemComp(ent); + + _popup.PopupPredicted(Loc.GetString("trigger-on-voice-stop-recording"), ent, user); + } + + + /// + /// Stop recording and set the current keyphrase message. + /// + public void FinishRecording(Entity ent, EntityUid source, string message) + { + ent.Comp.KeyPhrase = message; + ent.Comp.IsRecording = false; + Dirty(ent); + + _adminLogger.Add(LogType.Trigger, LogImpact.Low, + $"A voice-trigger on {ToPrettyString(ent):entity} has recorded a new keyphrase: '{ent.Comp.KeyPhrase}'. Recorded from {ToPrettyString(source):speaker}"); + + _popup.PopupEntity(Loc.GetString("trigger-on-voice-recorded", ("keyphrase", ent.Comp.KeyPhrase)), ent); + } + + /// + /// Resets the key phrase and stops recording. + /// + public void ClearRecording(Entity ent) + { + ent.Comp.KeyPhrase = null; + ent.Comp.IsRecording = false; + Dirty(ent); + RemComp(ent); + } +} diff --git a/Content.Shared/Trigger/Systems/TriggerSystem.cs b/Content.Shared/Trigger/Systems/TriggerSystem.cs new file mode 100644 index 0000000000..6a749b87ab --- /dev/null +++ b/Content.Shared/Trigger/Systems/TriggerSystem.cs @@ -0,0 +1,186 @@ +using Content.Shared.Administration.Logs; +using Content.Shared.Database; +using Content.Shared.DeviceLinking; +using Content.Shared.Item.ItemToggle; +using Content.Shared.Popups; +using Content.Shared.Timing; +using Content.Shared.Trigger.Components; +using Content.Shared.Whitelist; +using Robust.Shared.Network; +using Robust.Shared.Physics.Systems; +using Robust.Shared.Timing; +using Robust.Shared.Random; +using Robust.Shared.Audio.Systems; + + +namespace Content.Shared.Trigger.Systems; + +/// +/// System containing the basic trigger API. +/// +/// +/// If you add a custom trigger subscription or effect then don't put them here. +/// Put them into a separate system so we don't end up with a giant list of imports. +/// +public sealed partial class TriggerSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; + [Dependency] private readonly SharedPhysicsSystem _physics = default!; + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly FixtureSystem _fixture = default!; + [Dependency] private readonly INetManager _net = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly UseDelaySystem _useDelay = default!; + [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; + [Dependency] private readonly ItemToggleSystem _itemToggle = default!; + [Dependency] private readonly SharedDeviceLinkSystem _deviceLink = default!; + + public const string DefaultTriggerKey = "trigger"; + + public override void Initialize() + { + base.Initialize(); + + InitializeCollide(); + InitializeCondition(); + InitializeInteraction(); + InitializeProximity(); + InitializeSignal(); + InitializeTimer(); + InitializeSpawn(); + InitializeVoice(); + } + + /// + /// Trigger the given entity. + /// + /// The entity that has the components that should be triggered. + /// The user of the trigger. Some effects may target the user instead of the trigger entity. + /// A key string to allow multiple, independent triggers on the same entity. If null then all triggers will activate. + /// Whether or not the trigger has sucessfully activated an effect. + public bool Trigger(EntityUid trigger, EntityUid? user = null, string? key = null) + { + var attemptTriggerEvent = new AttemptTriggerEvent(user, key); + RaiseLocalEvent(trigger, ref attemptTriggerEvent); + if (attemptTriggerEvent.Cancelled) + return false; + + var triggerEvent = new TriggerEvent(user, key); + RaiseLocalEvent(trigger, ref triggerEvent, true); + return triggerEvent.Handled; + } + + /// + /// Activate a timer trigger on an entity with . + /// + /// Whether or not a timer was activated. + public bool ActivateTimerTrigger(Entity ent, EntityUid? user = null) + { + if (!Resolve(ent, ref ent.Comp)) + return false; + + if (HasComp(ent)) + return false; // already activated + + if (user != null) + { + _adminLogger.Add(LogType.Trigger, + $"{ToPrettyString(user.Value):user} started a {ent.Comp.Delay} second timer trigger on entity {ToPrettyString(ent.Owner):timer}"); + } + else + { + _adminLogger.Add(LogType.Trigger, + $"{ent.Comp.Delay} second timer trigger started on entity {ToPrettyString(ent.Owner):timer}"); + } + + if (ent.Comp.Popup != null) + _popup.PopupPredicted(Loc.GetString(ent.Comp.Popup.Value, ("device", ent.Owner)), ent.Owner, user); + + AddComp(ent); + var curTime = _timing.CurTime; + ent.Comp.NextTrigger = curTime + ent.Comp.Delay; + var delay = ent.Comp.InitialBeepDelay ?? ent.Comp.BeepInterval; + ent.Comp.NextBeep = curTime + delay; + Dirty(ent); + + var ev = new ActiveTimerTriggerEvent(user); + RaiseLocalEvent(ent.Owner, ref ev); + + if (TryComp(ent, out var appearance)) + _appearance.SetData(ent.Owner, TriggerVisuals.VisualState, TriggerVisualState.Primed, appearance); + + return true; + } + + /// + /// Stop a timer trigger on an entity with . + /// + /// Whether or not a timer was stopped. + public bool StopTimerTrigger(Entity ent) + { + if (!Resolve(ent, ref ent.Comp)) + return false; + + if (!HasComp(ent)) + return false; // the timer is not active + + RemComp(ent); + if (TryComp(ent.Owner, out var appearance)) + _appearance.SetData(ent.Owner, TriggerVisuals.VisualState, TriggerVisualState.Unprimed, appearance); + + _adminLogger.Add(LogType.Trigger, $"A timer trigger was stopped before triggering on entity {ToPrettyString(ent.Owner):timer}"); + return true; + } + + /// + /// Delay an active timer trigger. + /// Returns false if not active. + /// + /// The time to add. + public bool TryDelay(Entity ent, TimeSpan amount) + { + if (!Resolve(ent, ref ent.Comp, false) || !HasComp(ent)) + return false; + + ent.Comp.NextTrigger += amount; + Dirty(ent); + return true; + } + + /// + /// Setter for the Delay datafield. + /// + public void SetDelay(Entity ent, TimeSpan delay) + { + if (!Resolve(ent, ref ent.Comp)) + return; + + ent.Comp.Delay = delay; + Dirty(ent); + } + + /// + /// Gets the remaining time until the trigger will activate. + /// Returns null if the trigger is not currently active. + /// + public TimeSpan? GetRemainingTime(Entity ent) + { + if (!Resolve(ent, ref ent.Comp, false) || !HasComp(ent)) + return null; // not a timer or not currently active + + return ent.Comp.NextTrigger - _timing.CurTime; + } + public override void Update(float frameTime) + { + base.Update(frameTime); + + UpdateTimer(); + UpdateRepeat(); + UpdateProximity(); + UpdateTimedCollide(); + } +} diff --git a/Content.Shared/Trigger/Systems/TwoStageTriggerSystem.cs b/Content.Shared/Trigger/Systems/TwoStageTriggerSystem.cs new file mode 100644 index 0000000000..2461e797dc --- /dev/null +++ b/Content.Shared/Trigger/Systems/TwoStageTriggerSystem.cs @@ -0,0 +1,51 @@ +using Robust.Shared.Timing; +using Content.Shared.Trigger.Components; + +namespace Content.Shared.Trigger.Systems; + +public sealed class TwoStageTriggerSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly TriggerSystem _triggerSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTrigger); + } + + private void OnTrigger(Entity ent, ref TriggerEvent args) + { + if (ent.Comp.Triggered) + return; // already triggered + + if (args.Key != null && !ent.Comp.KeysIn.Contains(args.Key)) + return; + + EntityManager.AddComponents(ent, ent.Comp.Components); + EnsureComp(ent); + ent.Comp.Triggered = true; + ent.Comp.NextTriggerTime = _timing.CurTime + ent.Comp.TriggerDelay; + ent.Comp.User = args.User; + Dirty(ent); + + args.Handled = true; + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var curTime = _timing.CurTime; + var enumerator = EntityQueryEnumerator(); + while (enumerator.MoveNext(out var uid, out _, out var component)) + { + if (curTime < component.NextTriggerTime) + continue; + + RemComp(uid); + _triggerSystem.Trigger(uid, component.User, component.KeyOut); + } + } +} diff --git a/Content.Shared/Trigger/TriggerEvent.cs b/Content.Shared/Trigger/TriggerEvent.cs new file mode 100644 index 0000000000..e65e3b48a8 --- /dev/null +++ b/Content.Shared/Trigger/TriggerEvent.cs @@ -0,0 +1,33 @@ +namespace Content.Shared.Trigger; + +/// +/// Raised whenever something is Triggered on the entity. +/// +/// The entity that activated the trigger. +/// +/// Allows to have multiple independent triggers on the same entity. +/// Setting this to null will activate all triggers. +/// +/// Marks the event as handled if at least one trigger effect was activated. +[ByRefEvent] +public record struct TriggerEvent(EntityUid? User = null, string? Key = null, bool Handled = false); + +/// +/// Raised before a trigger is activated. +/// Cancelling prevents it from triggering. +/// +/// The entity that activated the trigger. +/// +/// Allows to have multiple independent triggers on the same entity. +/// Setting this to null will activate all triggers. +/// +/// Marks the event as handled if at least one trigger effect was activated. +[ByRefEvent] +public record struct AttemptTriggerEvent(EntityUid? User, string? Key = null, bool Cancelled = false); + +/// +/// Raised when a timer trigger becomes active. +/// +/// The entity that activated the trigger. +[ByRefEvent] +public readonly record struct ActiveTimerTriggerEvent(EntityUid? User); diff --git a/Content.Shared/Trigger/TriggerVisuals.cs b/Content.Shared/Trigger/TriggerVisuals.cs index ed544f3590..f1d4a55fb1 100644 --- a/Content.Shared/Trigger/TriggerVisuals.cs +++ b/Content.Shared/Trigger/TriggerVisuals.cs @@ -1,31 +1,30 @@ using Robust.Shared.Serialization; -namespace Content.Shared.Trigger +namespace Content.Shared.Trigger; + +[Serializable, NetSerializable] +public enum ProximityTriggerVisuals : byte { - [Serializable, NetSerializable] - public enum ProximityTriggerVisuals : byte - { - Off, - Inactive, - Active, - } - - [Serializable, NetSerializable] - public enum ProximityTriggerVisualState : byte - { - State, - } - - [Serializable, NetSerializable] - public enum TriggerVisuals : byte - { - VisualState, - } - - [Serializable, NetSerializable] - public enum TriggerVisualState : byte - { - Primed, - Unprimed, - } + Off, + Inactive, + Active, +} + +[Serializable, NetSerializable] +public enum ProximityTriggerVisualState : byte +{ + State, +} + +[Serializable, NetSerializable] +public enum TriggerVisuals : byte +{ + VisualState, +} + +[Serializable, NetSerializable] +public enum TriggerVisualState : byte +{ + Primed, + Unprimed, } diff --git a/Content.Shared/Trigger/VoiceTriggeredEvent.cs b/Content.Shared/Trigger/VoiceTriggeredEvent.cs new file mode 100644 index 0000000000..af138b56cf --- /dev/null +++ b/Content.Shared/Trigger/VoiceTriggeredEvent.cs @@ -0,0 +1,10 @@ +namespace Content.Shared.Trigger; + +/// +/// Raised when a voice trigger is activated, containing the message that triggered it. +/// +/// The EntityUid of the entity sending the message +/// The contents of the message +/// The message without the phrase that triggered it. +[ByRefEvent] +public readonly record struct VoiceTriggeredEvent(EntityUid Source, string? Message, string MessageWithoutPhrase); diff --git a/Content.Shared/Weapons/Ranged/Events/OnEmptyGunShotEvent.cs b/Content.Shared/Weapons/Ranged/Events/OnEmptyGunShotEvent.cs index efae42952b..998fa8f0eb 100644 --- a/Content.Shared/Weapons/Ranged/Events/OnEmptyGunShotEvent.cs +++ b/Content.Shared/Weapons/Ranged/Events/OnEmptyGunShotEvent.cs @@ -4,4 +4,4 @@ namespace Content.Shared.Weapons.Ranged.Events; /// Raised directed on the gun when trying to fire it while it's out of ammo /// [ByRefEvent] -public record struct OnEmptyGunShotEvent(EntityUid EmptyGun); +public record struct OnEmptyGunShotEvent(EntityUid User); diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index ba8254f68a..61ee8cdada 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -341,7 +341,7 @@ public abstract partial class SharedGunSystem : EntitySystem if (ev.Ammo.Count <= 0) { // triggers effects on the gun if it's empty - var emptyGunShotEvent = new OnEmptyGunShotEvent(); + var emptyGunShotEvent = new OnEmptyGunShotEvent(user); RaiseLocalEvent(gunUid, ref emptyGunShotEvent); gun.BurstActivated = false; diff --git a/Resources/Locale/en-US/machine-linking/receiver_ports.ftl b/Resources/Locale/en-US/machine-linking/receiver_ports.ftl index d7a2636e11..40dc681405 100644 --- a/Resources/Locale/en-US/machine-linking/receiver_ports.ftl +++ b/Resources/Locale/en-US/machine-linking/receiver_ports.ftl @@ -25,11 +25,8 @@ signal-port-description-close = Closes a device. signal-port-name-doorbolt = Door bolt signal-port-description-doorbolt = Bolts door when HIGH. -signal-port-name-trigger = Trigger -signal-port-description-trigger = Triggers some mechanism on the device. - -signal-port-name-timer = Timer -signal-port-description-timer = Starts the timer countdown of the device. +signal-port-name-trigger-receiver = Trigger +signal-port-description-trigger-receiver = Triggers some mechanism on the device. signal-port-name-order-sender = Order sender signal-port-description-order-sender = Cargo console order sender diff --git a/Resources/Locale/en-US/machine-linking/transmitter_ports.ftl b/Resources/Locale/en-US/machine-linking/transmitter_ports.ftl index 89a978479e..d016a7e206 100644 --- a/Resources/Locale/en-US/machine-linking/transmitter_ports.ftl +++ b/Resources/Locale/en-US/machine-linking/transmitter_ports.ftl @@ -25,8 +25,11 @@ signal-port-description-dockstatus = This port is invoked with HIGH when docked signal-port-name-middle = Middle signal-port-description-middle = This port is invoked whenever the lever is moved to the neutral position. -signal-port-name-timer-trigger = Timer Trigger -signal-port-description-timer-trigger = This port is invoked whenever the timer triggers. +signal-port-name-trigger-sender = Trigger +signal-port-description-trigger-sender = This port is invoked whenever the device triggers. + +signal-port-name-timer-trigger = Timer +signal-port-description-timer-trigger = This port is invoked whenever the timer is up. signal-port-name-timer-start = Timer Start signal-port-description-timer-start = This port is invoked whenever the timer starts. diff --git a/Resources/Locale/en-US/triggers/ghost-kick-on-trigger.ftl b/Resources/Locale/en-US/triggers/ghost-kick-on-trigger.ftl new file mode 100644 index 0000000000..acb06bda47 --- /dev/null +++ b/Resources/Locale/en-US/triggers/ghost-kick-on-trigger.ftl @@ -0,0 +1 @@ +ghost-kick-on-trigger-default = Tripped over a kick mine, crashed through the fourth wall. diff --git a/Resources/Locale/en-US/triggers/timer-trigger.ftl b/Resources/Locale/en-US/triggers/timer-trigger.ftl new file mode 100644 index 0000000000..5d6d553b45 --- /dev/null +++ b/Resources/Locale/en-US/triggers/timer-trigger.ftl @@ -0,0 +1,10 @@ + +timer-trigger-verb-set = {$time} Seconds +timer-trigger-verb-set-current = {$time} Seconds (current) +timer-trigger-verb-cycle = Cycle Time Delay + +timer-trigger-examine = The timer is set to {$time} seconds. + +timer-trigger-popup-set = Timer set to {$time} seconds. + +timer-trigger-activated = You activate {THE($device)}. diff --git a/Resources/Locale/en-US/triggers/toggle-trigger-condition.ftl b/Resources/Locale/en-US/triggers/toggle-trigger-condition.ftl new file mode 100644 index 0000000000..874490686f --- /dev/null +++ b/Resources/Locale/en-US/triggers/toggle-trigger-condition.ftl @@ -0,0 +1,7 @@ +toggle-trigger-condition-default-verb = Toggle device +toggle-trigger-condition-default-on = Device enabled. +toggle-trigger-condition-default-off = Device disabled. + +toggle-trigger-condition-stick-verb = Toggle auto-activation +toggle-trigger-condition-stick-on = The device will now activate automatically when planted. +toggle-trigger-condition-stick-off = The device will no longer activate automatically when planted. diff --git a/Resources/Locale/en-US/triggers/trigger-on-verb.ftl b/Resources/Locale/en-US/triggers/trigger-on-verb.ftl new file mode 100644 index 0000000000..d9342e7bdd --- /dev/null +++ b/Resources/Locale/en-US/triggers/trigger-on-verb.ftl @@ -0,0 +1,2 @@ +trigger-on-verb-default = Trigger +trigger-on-verb-detonation = Start detonation \ No newline at end of file diff --git a/Resources/Locale/en-US/triggers/trigger-on-voice.ftl b/Resources/Locale/en-US/triggers/trigger-on-voice.ftl new file mode 100644 index 0000000000..7ace486657 --- /dev/null +++ b/Resources/Locale/en-US/triggers/trigger-on-voice.ftl @@ -0,0 +1,12 @@ +trigger-on-voice-examine = The display reads: "{$keyphrase}" +trigger-on-voice-uninitialized = The display reads: Uninitialized... + +trigger-on-voice-record = Record +trigger-on-voice-stop = Stop +trigger-on-voice-clear = Clear recording + +trigger-on-voice-start-recording = Started recording. +trigger-on-voice-stop-recording = Stopped recording. +trigger-on-voice-record-failed-too-long = Message too long, try again. +trigger-on-voice-record-failed-too-short = Message too short, try again. +trigger-on-voice-recorded = Recorded successfully! diff --git a/Resources/Locale/en-US/weapons/grenades/timer-trigger.ftl b/Resources/Locale/en-US/weapons/grenades/timer-trigger.ftl deleted file mode 100644 index 9a10e9ef04..0000000000 --- a/Resources/Locale/en-US/weapons/grenades/timer-trigger.ftl +++ /dev/null @@ -1,16 +0,0 @@ - -verb-trigger-timer-set = {$time} Seconds -verb-trigger-timer-set-current = {$time} Seconds (current) -verb-trigger-timer-cycle = Cycle Time Delay - -examine-trigger-timer = The timer is set to {$time} seconds. - -popup-trigger-timer-set = Timer set to {$time} seconds. - -verb-start-detonation = Start detonation - -verb-toggle-start-on-stick = Toggle auto-activation -popup-start-on-stick-off = The device will no longer activate automatically when planted -popup-start-on-stick-on = The device will now activate automatically when planted - -trigger-activated = You activate {THE($device)}. diff --git a/Resources/Locale/en-US/weapons/grenades/voice-trigger.ftl b/Resources/Locale/en-US/weapons/grenades/voice-trigger.ftl deleted file mode 100644 index 07ee5948d5..0000000000 --- a/Resources/Locale/en-US/weapons/grenades/voice-trigger.ftl +++ /dev/null @@ -1,12 +0,0 @@ -examine-trigger-voice = The display reads: "{$keyphrase}" -trigger-voice-uninitialized = The display reads: Uninitialized... - -verb-trigger-voice-record = Record -verb-trigger-voice-stop = Stop -verb-trigger-voice-clear = Clear recording - -popup-trigger-voice-start-recording = Started recording -popup-trigger-voice-stop-recording = Stopped recording -popup-trigger-voice-record-failed-too-long = Message too long, try again -popup-trigger-voice-record-failed-too-short = Message too short, try again -popup-trigger-voice-recorded = Recorded successfully diff --git a/Resources/Maps/Shuttles/ShuttleEvent/quark.yml b/Resources/Maps/Shuttles/ShuttleEvent/quark.yml index 49e27e3fa9..d8deb51141 100644 --- a/Resources/Maps/Shuttles/ShuttleEvent/quark.yml +++ b/Resources/Maps/Shuttles/ShuttleEvent/quark.yml @@ -1351,6 +1351,8 @@ entities: intensity: 50 type: SingularityDistortion - type: ExplodeOnTrigger + keysIn: + - stageTwo triggerDelay: 500 - proto: GravityGeneratorMini entities: @@ -1479,8 +1481,8 @@ entities: [bold]Crew of the NT-Quark[/bold] - [bold]Nuclear containment breach detected on long range - halcyon scanners. Seek immediate shelter. Avoid + [bold]Nuclear containment breach detected on long range + halcyon scanners. Seek immediate shelter. Avoid contaminated materials. Do not panic.[/bold] [color=red][bold]Alpha decay rates indicate estimated diff --git a/Resources/Prototypes/DeviceLinking/sink_ports.yml b/Resources/Prototypes/DeviceLinking/sink_ports.yml index a5313fcc4e..66e2bee27d 100644 --- a/Resources/Prototypes/DeviceLinking/sink_ports.yml +++ b/Resources/Prototypes/DeviceLinking/sink_ports.yml @@ -45,8 +45,8 @@ - type: sinkPort id: Trigger - name: signal-port-name-trigger - description: signal-port-description-trigger + name: signal-port-name-trigger-receiver + description: signal-port-description-trigger-receiver - type: sinkPort id: Timer diff --git a/Resources/Prototypes/DeviceLinking/source_ports.yml b/Resources/Prototypes/DeviceLinking/source_ports.yml index 4a460e722d..302679c4d9 100644 --- a/Resources/Prototypes/DeviceLinking/source_ports.yml +++ b/Resources/Prototypes/DeviceLinking/source_ports.yml @@ -157,6 +157,12 @@ name: signal-port-name-power-discharging description: signal-port-description-power-discharging +- type: sourcePort + id: Trigger + name: signal-port-name-trigger-sender + description: signal-port-description-trigger-sender + defaultLinks: [ AutoClose, On, Open, Forward, Trigger, Timer ] + - type: sourcePort id: ItemDetected name: signal-port-name-item-detected diff --git a/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml b/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml index 4d406e9508..fc3e557bea 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml @@ -339,9 +339,9 @@ equipDelay: 5 # to avoid accidentally falling into the trap associated with SelfUnremovableClothing - type: SelfUnremovableClothing - type: ShockOnTrigger + targetContainer: true damage: 5 duration: 3 - cooldown: 4 - type: TriggerOnSignal - type: DeviceLinkSink ports: diff --git a/Resources/Prototypes/Entities/Effects/admin_triggers.yml b/Resources/Prototypes/Entities/Effects/admin_triggers.yml index 52c5a6c110..df9e11bcff 100644 --- a/Resources/Prototypes/Entities/Effects/admin_triggers.yml +++ b/Resources/Prototypes/Entities/Effects/admin_triggers.yml @@ -7,7 +7,7 @@ sprite: /Textures/Objects/Fun/goldbikehorn.rsi visible: false state: icon - - type: TriggerOnSpawn + - type: TriggerOnSpawn - type: TimedDespawn lifetime: 5 @@ -25,7 +25,7 @@ suffix: BluespaceFlash parent: AdminInstantEffectBase components: - - type: SpawnOnTrigger + - type: SpawnOnTrigger proto: EffectFlashBluespace - type: entity @@ -35,9 +35,9 @@ components: - type: FlashOnTrigger range: 7 - - type: SpawnOnTrigger + - type: SpawnOnTrigger proto: GrenadeFlashEffect - + - type: entity id: AdminInstantEffectSmoke3 suffix: Smoke (03 sec) @@ -46,12 +46,12 @@ - type: SmokeOnTrigger duration: 3 spreadAmount: 1 - - type: SoundOnTrigger + - type: EmitSoundOnTrigger sound: /Audio/Effects/smoke.ogg - type: TimerTriggerVisuals primingSound: path: /Audio/Effects/Smoke-grenade.ogg - + - type: entity id: AdminInstantEffectSmoke10 suffix: Smoke (10 sec) @@ -60,12 +60,12 @@ - type: SmokeOnTrigger duration: 10 spreadAmount: 30 - - type: SoundOnTrigger + - type: EmitSoundOnTrigger sound: /Audio/Effects/smoke.ogg - type: TimerTriggerVisuals primingSound: path: /Audio/Effects/Smoke-grenade.ogg - + - type: entity id: AdminInstantEffectSmoke30 suffix: Smoke (30 sec) @@ -74,7 +74,7 @@ - type: SmokeOnTrigger duration: 30 spreadAmount: 50 - - type: SoundOnTrigger + - type: EmitSoundOnTrigger sound: /Audio/Effects/smoke.ogg - type: TimerTriggerVisuals primingSound: @@ -97,12 +97,12 @@ id: AdminInstantEffectGravityWell suffix: Gravity Well parent: AdminInstantEffectBase - components: - - type: SoundOnTrigger - removeOnTrigger: true + components: + - type: EmitSoundOnTrigger sound: path: /Audio/Effects/Grenades/Supermatter/supermatter_start.ogg - volume: 5 + params: + volume: 5 - type: AmbientSound enabled: true volume: -5 @@ -117,4 +117,4 @@ - type: SingularityDistortion intensity: 10 falloffPower: 1.5 - + diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 714c740cf8..f8a12920cd 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -264,7 +264,7 @@ receiveFrequencyId: CyborgControl transmitFrequencyId: RoboticsConsole savableAddress: false - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 10 examinable: false beepSound: @@ -272,8 +272,9 @@ params: volume: -4 # prevent any funnies if someone makes a cyborg item... - - type: AutomatedTimer - type: ExplodeOnTrigger + keysIn: + - timer # explosion does most of its damage in the center and less at the edges - type: Explosive explosionType: Minibomb diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index dcf40dfcde..41a66d2ef0 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -2370,7 +2370,8 @@ - type: Item size: Normal sprite: Mobs/Animals/grenadepenguin.rsi - - type: OnUseTimerTrigger + - type: TriggerOnUse + - type: TimerTrigger delay: 10 beepSound: path: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg #funny sfx use @@ -2383,6 +2384,8 @@ intensitySlope: 20 totalIntensity: 225 - type: ExplodeOnTrigger + keysIn: + - timer - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml index 77bb8e1a7f..ba4c5e3698 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml @@ -53,11 +53,6 @@ critThreshold: 120 - type: Destructible thresholds: - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:TriggerBehavior - trigger: !type:DamageTrigger damage: 120 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml index 2748462abc..c031559b58 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml @@ -164,7 +164,7 @@ payloadSlot: whitelist: components: - - OnUseTimerTrigger + - TimerTrigger insertSound: path: /Audio/Weapons/Guns/Empty/empty.ogg ejectSound: diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/igniter.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/igniter.yml index 24843f608a..87bef747d8 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/igniter.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/igniter.yml @@ -10,6 +10,11 @@ - type: IgnitionSource temperature: 800 - type: IgniteOnTrigger + - type: EmitSoundOnTrigger + sound: + collection: WelderOn + - type: UseDelayOnTrigger + - type: UseDelayTriggerCondition - type: TriggerOnSignal - type: DeviceNetwork deviceNetId: Wireless diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/signaller.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/signaller.yml index 0a975702aa..4b3d98f198 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/signaller.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/signaller.yml @@ -10,6 +10,10 @@ sprite: Objects/Devices/signaller.rsi state: signaller - type: Signaller + - type: SignalOnTrigger + port: Pressed + - type: UseDelayOnTrigger + - type: UseDelayTriggerCondition - type: UseDelay - type: StaticPrice price: 40 @@ -43,4 +47,4 @@ - type: WirelessNetworkConnection range: 50 - type: StaticPrice - price: 30 \ No newline at end of file + price: 30 diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml index 67374a81f1..c6943a63e3 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/triggers.yml @@ -22,7 +22,13 @@ price: 40 - type: PayloadTrigger components: - - type: OnUseTimerTrigger + - type: TriggerOnUse + keyOut: startTimer + - type: TimerTrigger + keysIn: + - startTimer + # use the default trigger key so it can activate any inserted payload + keyOut: trigger delay: 5 delayOptions: [3, 5, 10, 15, 30] initialBeepDelay: 0 @@ -47,14 +53,19 @@ - SignalTrigger - type: PayloadTrigger components: - - type: TimerStartOnSignal - type: DeviceNetwork deviceNetId: Wireless receiveFrequencyId: BasicDevice - type: WirelessNetworkConnection range: 200 - type: DeviceLinkSink - - type: OnUseTimerTrigger + - type: TriggerOnSignal + keyOut: startTimer + - type: TimerTrigger + keysIn: + - startTimer + # use the default trigger key so it can activate any inserted payload + keyOut: trigger delay: 3 initialBeepDelay: 0 beepSound: diff --git a/Resources/Prototypes/Entities/Objects/Devices/desynchronizer.yml b/Resources/Prototypes/Entities/Objects/Devices/desynchronizer.yml index d5f8352baa..526d297f60 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/desynchronizer.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/desynchronizer.yml @@ -9,6 +9,7 @@ state: icon - type: TriggerOnUse - type: PolymorphOnTrigger + targetUser: true polymorph: VoidPocket - type: UseDelay delay: 220 # long delay to ensure it can't be spammed, use it wisely diff --git a/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml b/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml index 04349c3a1c..f7be194370 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml @@ -8,32 +8,37 @@ sprite: Objects/Devices/mousetrap.rsi drawdepth: SmallMobs # if mice can hide under tables, so can mousetraps layers: - - state: mousetrap - map: ["base"] + - state: mousetrap + map: ["enum.ToggleableVisuals.Layer"] - type: StepTrigger intersectRatio: 0.2 requiredTriggeredSpeed: 2 - type: Mousetrap + - type: ItemToggle + soundActivate: "/Audio/Items/Handcuffs/cuff_end.ogg" + soundDeactivate: "/Audio/Items/snap.ogg" + popupActivate: mousetrap-on-activate + popupDeactivate: mousetrap-on-deactivate + - type: UseDelay + - type: ItemToggleOnTrigger + canActivate: false + showPopup: false # only show the popup when arming/disarming the trap in your hand - type: TriggerOnStepTrigger - type: PreventableStepTrigger - - type: DamageUserOnTrigger + - type: DamageOnTrigger + targetUser: true damage: types: Blunt: 2 # base damage, scales based on mass - - type: EmitSoundOnUse - sound: "/Audio/Items/Handcuffs/cuff_end.ogg" - handle: false - - type: EmitSoundOnTrigger - sound: "/Audio/Items/snap.ogg" - type: Item sprite: Objects/Devices/mousetrap.rsi - type: Appearance - type: GenericVisualizer visuals: - enum.MousetrapVisuals.Visual: - base: - Armed: { state: mousetraparmed } - Unarmed: { state: mousetrap } + enum.ToggleableVisuals.Enabled: + enum.ToggleableVisuals.Layer: + True: {state: mousetraparmed} + False: {state: mousetrap} - type: Physics bodyType: Dynamic - type: CollisionWake @@ -66,6 +71,6 @@ - type: Sprite layers: - state: mousetraparmed - map: ["base"] - - type: Mousetrap - isActive: true + map: ["enum.ToggleableVisuals.Layer"] + - type: ItemToggle + activated: true diff --git a/Resources/Prototypes/Entities/Objects/Devices/payload.yml b/Resources/Prototypes/Entities/Objects/Devices/payload.yml index c161b2a028..e5dc07c7c1 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/payload.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/payload.yml @@ -94,3 +94,4 @@ - type: EmitSoundOnTrigger sound: path: "/Audio/Effects/flash_bang.ogg" + positional: true diff --git a/Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml b/Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml index c4be0aa453..f124be8a42 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml @@ -229,3 +229,4 @@ - MobMover - type: SpawnOnTrigger proto: EffectGravityPulse + predicted: true diff --git a/Resources/Prototypes/Entities/Objects/Fun/dice.yml b/Resources/Prototypes/Entities/Objects/Fun/dice.yml index 32df1f402d..132f92212e 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/dice.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/dice.yml @@ -127,7 +127,8 @@ path: /Audio/Effects/glass_step.ogg slipData: launchForwardsMultiplier: 0 - - type: DamageUserOnTrigger + - type: DamageOnTrigger + targetUser: true damage: types: Piercing: 5 diff --git a/Resources/Prototypes/Entities/Objects/Fun/figurines.yml b/Resources/Prototypes/Entities/Objects/Fun/figurines.yml index c99df854d2..7575457f4d 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/figurines.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/figurines.yml @@ -19,6 +19,8 @@ - Figurine - type: UseDelay delay: 5 + - type: UseDelayOnTrigger + - type: UseDelayTriggerCondition # prevent spam - type: TriggerOnActivate - type: TriggerOnSignal - type: Speech diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index d0be38d504..9ff94db3b1 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -892,7 +892,7 @@ - type: StepTrigger intersectRatio: 0.2 requiredTriggeredSpeed: 2 - - type: TriggerOnStepTrigger + - type: TriggerOnStepTrigger # for payloads - type: Appearance - type: CollisionWake enabled: false diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml index 2457404b48..c649ef921c 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml @@ -72,7 +72,8 @@ slipData: launchForwardsMultiplier: 0 - type: TriggerOnStepTrigger - - type: DamageUserOnTrigger + - type: DamageOnTrigger + targetUser: true damage: types: Piercing: 5 @@ -91,7 +92,7 @@ - type: ToolRefinable refineResult: - id: SheetGlass1 - - type: DamageUserOnTrigger + - type: DamageOnTrigger damage: types: Piercing: 4.5 @@ -127,7 +128,7 @@ refineResult: - id: SheetGlass1 - id: PartRodMetal1 - - type: DamageUserOnTrigger + - type: DamageOnTrigger damage: types: Piercing: 5.5 @@ -163,7 +164,7 @@ refineResult: - id: SheetGlass1 - id: SheetPlasma1 - - type: DamageUserOnTrigger + - type: DamageOnTrigger damage: types: Piercing: 6.5 @@ -202,7 +203,7 @@ refineResult: - id: SheetGlass1 - id: SheetUranium1 - - type: DamageUserOnTrigger + - type: DamageOnTrigger damage: types: Piercing: 5 @@ -237,7 +238,7 @@ refineResult: - id: SheetGlass1 - id: SheetBrass1 - - type: DamageUserOnTrigger + - type: DamageOnTrigger damage: types: Piercing: 5 diff --git a/Resources/Prototypes/Entities/Objects/Misc/land_mine.yml b/Resources/Prototypes/Entities/Objects/Misc/land_mine.yml index 7ed1b657ea..a3a2b60401 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/land_mine.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/land_mine.yml @@ -64,7 +64,8 @@ name: kick mine parent: BaseLandMine components: - - type: GhostKickUserOnTrigger + - type: GhostKickOnTrigger + targetUser: true - type: DeleteOnTrigger - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml b/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml index 7ddf4945d0..a369a730cf 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/subdermal_implants.yml @@ -61,17 +61,18 @@ description: This implant lets the user honk anywhere at any time. categories: [ HideSpawnMenu ] components: - - type: SubdermalImplant - implantAction: ActionActivateHonkImplant - - type: TriggerImplantAction - - type: EmitSoundOnTrigger - sound: - collection: BikeHorn - params: - variation: 0.125 - - type: Tag - tags: - - BikeHorn + - type: SubdermalImplant + implantAction: ActionActivateHonkImplant + - type: TriggerOnActivateImplant + - type: EmitSoundOnTrigger + predicted: true + sound: + collection: BikeHorn + params: + variation: 0.125 + - type: Tag + tags: + - BikeHorn #Security implants @@ -179,13 +180,13 @@ description: This implant creates an electromagnetic pulse when activated. categories: [ HideSpawnMenu ] components: - - type: SubdermalImplant - implantAction: ActionActivateEmpImplant - - type: TriggerImplantAction - - type: EmpOnTrigger - range: 2.75 - energyConsumption: 50000 - disableDuration: 10 + - type: SubdermalImplant + implantAction: ActionActivateEmpImplant + - type: TriggerOnActivateImplant + - type: EmpOnTrigger + range: 2.75 + energyConsumption: 50000 + disableDuration: 10 - type: entity parent: BaseSubdermalImplant @@ -194,10 +195,10 @@ description: This implant randomly teleports the user within a large radius when activated. categories: [ HideSpawnMenu ] components: - - type: SubdermalImplant - implantAction: ActionActivateScramImplant - - type: TriggerImplantAction - - type: ScramImplant + - type: SubdermalImplant + implantAction: ActionActivateScramImplant + - type: TriggerOnActivateImplant + - type: ScramImplant - type: entity parent: BaseSubdermalImplant @@ -238,27 +239,28 @@ description: This implant detonates the user upon activation or upon death. categories: [ HideSpawnMenu ] components: - - type: SubdermalImplant - permanent: true - implantAction: ActionActivateMicroBomb - - type: TriggerOnMobstateChange - mobState: - - Dead - - type: TriggerImplantAction - - type: ExplodeOnTrigger - - type: GibOnTrigger - deleteItems: true - - type: Explosive - explosionType: MicroBomb - totalIntensity: 120 - intensitySlope: 5 - maxIntensity: 30 - canCreateVacuum: false - - type: Tag - tags: - - SubdermalImplant - - HideContextMenu - - MicroBomb + - type: SubdermalImplant + permanent: true + implantAction: ActionActivateMicroBomb + - type: TriggerOnMobstateChange + mobState: + - Dead + - type: TriggerOnActivateImplant + - type: ExplodeOnTrigger + - type: GibOnTrigger + targetUser: true + deleteItems: true + - type: Explosive + explosionType: MicroBomb + totalIntensity: 120 + intensitySlope: 5 + maxIntensity: 30 + canCreateVacuum: false + - type: Tag + tags: + - SubdermalImplant + - HideContextMenu + - MicroBomb - type: entity @@ -270,20 +272,24 @@ components: - type: SubdermalImplant permanent: true - - type: TriggerOnMobstateChange #Chains with OnUseTimerTrigger + - type: TriggerOnMobstateChange #activates the timer mobState: - Dead preventSuicide: true - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 7 - initialBeepDelay: 0 beepSound: path: /Audio/Machines/Nuke/general_beep.ogg params: volume: -2 - type: ExplodeOnTrigger + keysIn: + - timer - type: GibOnTrigger + targetUser: true deleteItems: true + keysIn: + - timer - type: Explosive explosionType: Default totalIntensity: 3500 @@ -309,11 +315,13 @@ - type: TriggerOnMobstateChange mobState: - Dead - - type: TriggerImplantAction + - type: TriggerOnActivateImplant - type: GibOnTrigger + targetUser: true deleteItems: true - type: SpawnOnTrigger proto: Acidifier + predicted: true - type: Tag tags: - SubdermalImplant @@ -336,7 +344,8 @@ mobState: - Critical - Dead - - type: Rattle + - type: RattleOnTrigger + targetUser: true - type: entity parent: BaseSubdermalImplant @@ -382,5 +391,5 @@ description: This implant will inform the Centcomm radio channel should the user fall into critical condition or die. categories: [ HideSpawnMenu ] components: - - type: Rattle + - type: RattleOnTrigger radioChannel: CentCom diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml index d9d4851158..fb740f1cd6 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml @@ -181,24 +181,31 @@ path: /Audio/Effects/beep_landmine.ogg params: maxDistance: 10 - - type: ExplodeOnTrigger - type: Explosive explosionType: HardBomb # normally Default and max 5 total 60 maxIntensity: 10 # about a ~67.5 total damage totalIntensity: 30 # about a ~3 tile radius canCreateVacuum: false + - type: ExplodeOnTrigger + keysIn: + - timer + - trigger # directly explode from the landmine - type: DeleteOnTrigger - - type: OnUseTimerTrigger - useVerbInstead: true + keysIn: + - timer + - trigger + - type: TimerTrigger beepInterval: .25 beepSound: path: /Audio/Items/Janitor/floor_sign_beep.ogg params: volume: 1 examinable: false + - type: TriggerOnVerb + text: trigger-on-verb-detonation - type: Tag tags: # ignore "WhitelistChameleon" tag - - WetFloorSign + - WetFloorSign - type: entity name: plunger diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml index 01283128e6..9f33e3c239 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml @@ -158,6 +158,7 @@ - type: Slippery - type: StepTrigger intersectRatio: 0.04 + - type: TriggerOnStepTrigger - type: Item heldPrefix: syndie - type: Fixtures @@ -178,10 +179,12 @@ - ItemMask - type: DeleteOnTrigger - type: EmitSoundOnTrigger + predicted: true + positional: true sound: path: "/Audio/Effects/Fluids/splat.ogg" params: - volume: -20 + volume: -8 - type: entity name: soap diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml index 23f5cc4362..fec2cca3ab 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml @@ -16,7 +16,8 @@ - state: wires - type: Item sprite: Objects/Weapons/Bombs/ied.rsi - - type: OnUseTimerTrigger + - type: TriggerOnUse + - type: TimerTrigger delay: 5 examinable: false initialBeepDelay: 0 @@ -34,6 +35,8 @@ maxIntensity: 3 canCreateVacuum: false - type: ExplodeOnTrigger + keysIn: + - timer - type: Appearance - type: AnimationPlayer - type: TimerTriggerVisuals diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml index 73c021748c..298b9d7c12 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/funny.yml @@ -23,13 +23,16 @@ damage: types: Blunt: 5 - - type: OnUseTimerTrigger + - type: TriggerOnUse + - type: TimerTrigger delay: 120 beepSound: path: /Audio/Machines/Nuke/general_beep.ogg params: volume: -2 - type: ExplodeOnTrigger + keysIn: + - timer - type: Explosive explosionType: Default maxIntensity: 50 @@ -37,6 +40,8 @@ totalIntensity: 100 canCreateVacuum: false - type: DeleteOnTrigger + keysIn: + - timer - type: HotPotato - type: DamageOnHolding enabled: false @@ -49,7 +54,7 @@ enum.Trigger.TriggerVisuals.VisualState: base: Primed: { state: activated } - Unprimed: { state: complete } + Unprimed: { state: icon } - type: entity id: HotPotatoEffect diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml index d553b2b2a4..8de013afff 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pen.yml @@ -5,7 +5,7 @@ description: A dark ink pen. id: PenExploding components: - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 4 examinable: false - type: Explosive @@ -16,8 +16,11 @@ canCreateVacuum: false - type: ActivateOnPaperOpened - type: ExplodeOnTrigger + keysIn: + - timer + - type: TriggerOnUse - type: TriggerOnSignal - - type: DeviceLinkSink # This should be changed into separate behavior where triggering via signal makes beep, while triggering manually is quiet, when that functionality is supported. + - type: DeviceLinkSink # This should be changed into separate behavior where triggering via signal makes beep, while triggering manually is quiet. ports: - Trigger - type: EmitSoundOnUse diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pipebomb.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pipebomb.yml index a39a1de671..a661224f31 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pipebomb.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/pipebomb.yml @@ -10,7 +10,8 @@ - state: base map: ["enum.TriggerVisualLayers.Base"] - state: wires - - type: OnUseTimerTrigger # todo: make it activate through welder/lighter/fire instead + - type: TriggerOnActivate # todo: make it activate through welder/lighter/fire instead + - type: TimerTrigger delay: 5 examinable: false initialBeepDelay: 0 @@ -19,6 +20,8 @@ min: 1 max: 10 - type: ExplodeOnTrigger + keysIn: + - timer - type: Explosive # Weak explosion in a very small radius. Doesn't break underplating. explosionType: Default totalIntensity: 50 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml index 7e3b3b9e83..b1bfdeef9a 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/plastic.yml @@ -33,7 +33,7 @@ enum.Trigger.TriggerVisuals.VisualState: base: Primed: { state: primed } - Unprimed: { state: complete } + Unprimed: { state: icon } - type: entity name: composition C-4 @@ -54,17 +54,27 @@ quickEquip: false equipDelay: 3 unequipDelay: 6 - - type: OnUseTimerTrigger + - type: TriggerOnActivate + - type: TriggerOnSignal + - type: TriggerOnStuck + keyOut: stuck + - type: ToggleTriggerCondition # for toggling the start on stuck ability + keys: + - stuck + toggleVerb: toggle-trigger-condition-stick-verb + toggleOn: toggle-trigger-condition-stick-on + toggleOff: toggle-trigger-condition-stick-off + - type: TimerTrigger + keysIn: + - trigger + - stuck delay: 10 delayOptions: [10, 30, 60, 120, 300] initialBeepDelay: 0 beepSound: /Audio/Machines/Nuke/general_beep.ogg - startOnStick: true - canToggleStartOnStick: true - - type: TimerStartOnSignal - type: DeviceLinkSink ports: - - Timer + - Trigger - type: Explosive # Powerful explosion in a very small radius. Doesn't break underplating. explosionType: DemolitionCharge totalIntensity: 60 @@ -72,6 +82,8 @@ maxIntensity: 30 canCreateVacuum: false - type: ExplodeOnTrigger + keysIn: + - timer - type: HolidayVisuals holidays: festive: @@ -94,7 +106,20 @@ layers: - state: icon map: ["base"] - - type: OnUseTimerTrigger + - type: TriggerOnActivate + - type: TriggerOnSignal + - type: TriggerOnStuck + keyOut: stuck + - type: ToggleTriggerCondition # for toggling the start on stuck ability + keys: + - stuck + toggleVerb: toggle-trigger-condition-stick-verb + toggleOn: toggle-trigger-condition-stick-on + toggleOff: toggle-trigger-condition-stick-off + - type: TimerTrigger + keysIn: + - trigger + - stuck delay: 5 delayOptions: [5, 10, 15, 20] initialBeepDelay: 0 @@ -102,12 +127,9 @@ path: /Audio/Effects/Cargo/buzz_two.ogg params: volume: -6 - startOnStick: false - canToggleStartOnStick: true - - type: TimerStartOnSignal - type: DeviceLinkSink ports: - - Timer + - Trigger - type: Explosive explosionType: Cryo totalIntensity: 120 @@ -115,3 +137,5 @@ maxIntensity: 30 canCreateVacuum: false - type: ExplodeOnTrigger + keysIn: + - timer diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml index 2ac23f8c3f..d00297a723 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Bombs/spider.yml @@ -12,13 +12,12 @@ sprite: Objects/Weapons/Bombs/spidercharge.rsi size: Small - type: SpiderCharge - - type: OnUseTimerTrigger + - type: TriggerOnStuck + - type: TimerTrigger delay: 10 delayOptions: [5, 10, 30, 60] initialBeepDelay: 0 beepSound: /Audio/Machines/Nuke/general_beep.ogg - startOnStick: true - - type: AutomatedTimer - type: Sticky stickDelay: 5 stickPopupStart: comp-sticky-start-stick-bomb @@ -37,6 +36,8 @@ maxIntensity: 120 canCreateVacuum: true - type: ExplodeOnTrigger + keysIn: + - timer - type: StickyVisualizer - type: Appearance - type: GenericVisualizer @@ -44,4 +45,4 @@ enum.Trigger.TriggerVisuals.VisualState: base: Primed: { state: primed } - Unprimed: { state: complete } + Unprimed: { state: icon } diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/magic.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/magic.yml index c587787d48..9e2b6d76c1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/magic.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/magic.yml @@ -161,6 +161,7 @@ - type: entity id: ProjectilePolyboltBase + abstract: true parent: BaseBullet categories: [ HideSpawnMenu ] components: @@ -175,6 +176,8 @@ Poison: 5 - type: TriggerOnCollide fixtureID: projectile + - type: PolymorphOnTrigger + targetUser: true - type: entity id: ProjectilePolyboltCarp @@ -185,8 +188,8 @@ components: - type: PolymorphOnTrigger polymorph: WizardForcedCarp - - type: TriggerWhitelist - whitelist: + - type: WhitelistTriggerCondition + userWhitelist: components: - Body @@ -199,8 +202,8 @@ components: - type: PolymorphOnTrigger polymorph: WizardForcedMonkey - - type: TriggerWhitelist - whitelist: + - type: WhitelistTriggerCondition + userWhitelist: components: - Body @@ -218,8 +221,8 @@ color: brown - type: PolymorphOnTrigger polymorph: WizardWallDoor - - type: TriggerWhitelist - whitelist: + - type: WhitelistTriggerCondition + userWhitelist: components: - Airlock - Firelock @@ -269,8 +272,8 @@ components: - type: PolymorphOnTrigger polymorph: WizardForcedCluwne - - type: TriggerWhitelist - whitelist: + - type: WhitelistTriggerCondition + userWhitelist: components: - Body @@ -299,7 +302,7 @@ components: - type: PolymorphOnTrigger polymorph: BreadMorph - - type: TriggerWhitelist - whitelist: + - type: WhitelistTriggerCondition + userWhitelist: components: - Body diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index e89792694d..1cf6ab9a94 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -879,8 +879,6 @@ range: 7 - type: SpawnOnTrigger proto: GrenadeFlashEffect - - type: ActiveTimerTrigger - timeRemaining: 0.3 - type: DeleteOnTrigger - type: entity @@ -917,8 +915,6 @@ sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi layers: - state: cleanade - - type: ActiveTimerTrigger - timeRemaining: 0.3 - type: SmokeOnTrigger duration: 3.5 spreadAmount: 30 @@ -927,7 +923,7 @@ reagents: - ReagentId: SpaceCleaner Quantity: 30 - - type: SoundOnTrigger + - type: EmitSoundOnTrigger sound: /Audio/Items/smoke_grenade_smoke.ogg - type: ExplodeOnTrigger - type: Explosive diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml index c5dbb1b216..5259f71f58 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml @@ -47,7 +47,7 @@ - type: Repairable qualityNeeded: "Anchoring" doAfterDelay: 3 - - type: TriggerWhenEmpty + - type: TriggerOnEmptyGunshot - type: ExplodeOnTrigger - type: Explosive explosionType: Default @@ -135,4 +135,4 @@ interactSuccessString: petting-success-generic interactFailureString: petting-failure-generic interactSuccessSound: - path: /Audio/Animals/snake_hiss.ogg \ No newline at end of file + path: /Audio/Animals/snake_hiss.ogg diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml index 4d65cc0806..d843463886 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml @@ -14,7 +14,8 @@ quickEquip: false slots: - Belt - - type: OnUseTimerTrigger + - type: TriggerOnUse + - type: TimerTrigger delay: 3 - type: Damageable damageContainer: Inorganic @@ -25,6 +26,7 @@ damage: 10 behaviors: - !type:TriggerBehavior + keyOut: timer # explode immediately - !type:DoActsBehavior acts: ["Destruction"] - type: Appearance @@ -56,13 +58,15 @@ id: ExGrenade components: - type: ExplodeOnTrigger + keysIn: + - timer - type: Explosive explosionType: Default maxIntensity: 10 intensitySlope: 3 totalIntensity: 120 # about a ~4 tile radius canCreateVacuum: false - - type: OnUseTimerTrigger + - type: TimerTrigger beepSound: path: "/Audio/Effects/beep1.ogg" params: @@ -79,13 +83,22 @@ - type: Sprite sprite: Objects/Weapons/Grenades/flashbang.rsi - type: FlashOnTrigger + keysIn: + - timer range: 7 - - type: SoundOnTrigger + - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Effects/flash_bang.ogg" - type: DeleteOnTrigger + keysIn: + - timer - type: SpawnOnTrigger + keysIn: + - timer proto: GrenadeFlashEffect + predicted: true - type: Appearance - type: TimerTriggerVisuals primingSound: @@ -137,11 +150,14 @@ damage: 45 behaviors: - !type:TriggerBehavior + keyOut: timer # immediately explode - !type:DoActsBehavior acts: ["Destruction"] - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 5 - type: ExplodeOnTrigger + keysIn: + - timer - type: Explosive explosionType: Minibomb totalIntensity: 200 @@ -164,13 +180,15 @@ categories: [ HideSpawnMenu ] components: - type: ExplodeOnTrigger + keysIn: + - timer - type: Explosive explosionType: Minibomb totalIntensity: 400 intensitySlope: 30 maxIntensity: 125 canCreateVacuum: true - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 4.5 beepSound: path: /Audio/Effects/Grenades/SelfDestruct/SDS_Charge2.ogg @@ -188,7 +206,7 @@ components: - type: Sprite sprite: Objects/Weapons/Grenades/singularitygrenade.rsi - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 3 beepInterval: 0.46 beepSound: @@ -200,14 +218,20 @@ path: /Audio/Effects/Grenades/Supermatter/smbeep.ogg params: volume: -5 - - type: SoundOnTrigger - removeOnTrigger: true + - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: /Audio/Effects/Grenades/Supermatter/supermatter_start.ogg - volume: 5 + params: + volume: 5 - type: AnchorOnTrigger + keysIn: + - timer removeOnTrigger: true - type: TwoStageTrigger + keysIn: + - timer triggerDelay: 10.45 components: - type: AmbientSound @@ -231,12 +255,16 @@ radius: 6 softness: 1 offset: "0, 0" - - type: SoundOnTrigger + - type: EmitSoundOnTrigger sound: path: /Audio/Effects/Grenades/Supermatter/supermatter_end.ogg params: volume: 5 + keysIn: + - stageTwo - type: DeleteOnTrigger + keysIn: + - stageTwo - type: StaticPrice price: 1000 @@ -248,14 +276,20 @@ components: - type: Sprite sprite: Objects/Weapons/Grenades/whiteholegrenade.rsi - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 3 beepInterval: 0.69 - - type: SoundOnTrigger - removeOnTrigger: true + - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: /Audio/Effects/Grenades/Supermatter/whitehole_start.ogg - volume: 5 + params: + volume: 5 + - type: AnchorOnTrigger + keysIn: + - timer + removeOnTrigger: true - type: TwoStageTrigger triggerDelay: 11.14 components: @@ -280,12 +314,17 @@ radius: 6 softness: 1 offset: "0, 0" - - type: SoundOnTrigger + - type: EmitSoundOnTrigger + keysIn: + - stageTwo sound: path: /Audio/Effects/Grenades/Supermatter/supermatter_end.ogg params: volume: 15 + positional: true - type: DeleteOnTrigger + keysIn: + - stageTwo - type: StaticPrice price: 1000 @@ -297,9 +336,11 @@ components: - type: Sprite sprite: Objects/Weapons/Grenades/nukenade.rsi - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 5 - type: ExplodeOnTrigger + keysIn: + - timer - type: Explosive explosionType: Default totalIntensity: 20000 # ~15 tile radius. @@ -312,6 +353,7 @@ damage: 50 behaviors: - !type:TriggerBehavior + keyOut: timer # immediately explode - !type:DoActsBehavior acts: ["Destruction"] - type: Appearance @@ -376,9 +418,13 @@ - type: Sprite sprite: Objects/Weapons/Grenades/empgrenade.rsi - type: EmpOnTrigger + keysIn: + - timer range: 5.5 energyConsumption: 50000 - type: DeleteOnTrigger + keysIn: + - timer - type: Appearance - type: TimerTriggerVisuals primingSound: @@ -395,13 +441,15 @@ - type: Sprite sprite: Objects/Weapons/Grenades/holyhandgrenade.rsi - type: ExplodeOnTrigger + keysIn: + - timer - type: Explosive explosionType: Default # same as macrobomb totalIntensity: 3500 intensitySlope: 15 maxIntensity: 70 canCreateVacuum: true - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 3 # by canon - type: PointLight radius: 7 @@ -422,11 +470,17 @@ - type: Sprite sprite: Objects/Weapons/Grenades/smoke.rsi - type: SmokeOnTrigger + keysIn: + - timer duration: 30 spreadAmount: 50 - - type: SoundOnTrigger + - type: EmitSoundOnTrigger + keysIn: + - timer sound: /Audio/Items/smoke_grenade_smoke.ogg - type: DeleteOnTrigger + keysIn: + - timer - type: TimerTriggerVisuals primingSound: path: /Audio/Items/smoke_grenade_prime.ogg @@ -440,6 +494,8 @@ - type: Sprite sprite: Objects/Weapons/Grenades/janitor.rsi - type: SmokeOnTrigger + keysIn: + - timer duration: 15 spreadAmount: 50 smokePrototype: Foam @@ -457,6 +513,8 @@ - type: Sprite sprite: Objects/Weapons/Grenades/tear_gas.rsi - type: SmokeOnTrigger + keysIn: + - timer duration: 10 spreadAmount: 30 smokePrototype: TearGasSmokeWhite @@ -473,9 +531,11 @@ components: - type: Sprite sprite: Objects/Weapons/Grenades/metalfoam.rsi - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 5 - type: SmokeOnTrigger + keysIn: + - timer duration: 10 spreadAmount: 20 smokePrototype: AluminiumMetalFoam @@ -490,14 +550,18 @@ components: - type: Sprite sprite: Objects/Weapons/Grenades/airboom.rsi - - type: SoundOnTrigger + - type: EmitSoundOnTrigger + keysIn: + - timer sound: /Audio/Items/smoke_grenade_smoke.ogg - type: TimerTriggerVisuals primingSound: path: /Audio/Items/smoke_grenade_prime.ogg - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 3 - type: ReleaseGasOnTrigger + keysIn: + - timer removeFraction: 0.25 air: volume: 1000 @@ -525,9 +589,16 @@ - type: Sprite sprite: Objects/Weapons/Grenades/grenade.rsi - type: DeleteOnTrigger + keysIn: + - timer - type: SpawnOnTrigger + keysIn: + - timer proto: GrenadeFlashEffect - - type: SoundOnTrigger + predicted: true + - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: /Audio/Effects/Emotes/parp1.ogg - type: Appearance @@ -543,9 +614,11 @@ components: - type: Sprite sprite: Objects/Weapons/Grenades/syndgrenade.rsi - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 5 - - type: SoundOnTrigger + - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: /Audio/Effects/Emotes/parp1.ogg - type: Appearance diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/projectile_grenades.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/projectile_grenades.yml index bdd8370b10..f9ce11a3b9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/projectile_grenades.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/projectile_grenades.yml @@ -7,6 +7,8 @@ - type: Damageable damageContainer: Inorganic - type: DeleteOnTrigger + keysIn: + - timer - type: Destructible thresholds: - trigger: @@ -14,6 +16,7 @@ damage: 10 behaviors: - !type:TriggerBehavior + keyOut: timer # explode immediately - type: ContainerContainer containers: cluster-payload: !type:Container @@ -54,11 +57,17 @@ fillPrototype: PelletClusterRubber capacity: 30 - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Effects/flash_bang.ogg" - type: SpawnOnTrigger + keysIn: + - timer proto: GrenadeFlashEffect - - type: OnUseTimerTrigger + predicted: true + - type: TriggerOnUse + - type: TimerTrigger initialBeepDelay: 0 beepInterval: 2 delay: 3.5 @@ -80,7 +89,8 @@ - type: ProjectileGrenade fillPrototype: PelletClusterIncendiary capacity: 30 - - type: OnUseTimerTrigger + - type: TriggerOnUse + - type: TimerTrigger beepSound: path: "/Audio/Effects/beep1.ogg" params: @@ -89,6 +99,8 @@ beepInterval: 2 delay: 3.5 - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Weapons/Guns/Gunshots/batrifle.ogg" - type: StaticPrice @@ -108,7 +120,8 @@ - type: ProjectileGrenade fillPrototype: PelletClusterLethal capacity: 30 - - type: OnUseTimerTrigger + - type: TriggerOnUse + - type: TimerTrigger beepSound: path: "/Audio/Effects/beep1.ogg" params: @@ -117,6 +130,8 @@ beepInterval: 2 delay: 3.5 - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Weapons/Guns/Gunshots/batrifle.ogg" - type: StaticPrice diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/scattering_grenades.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/scattering_grenades.yml index 9038df13e0..ce031ba6ff 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/scattering_grenades.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/scattering_grenades.yml @@ -17,8 +17,10 @@ damage: 10 behaviors: - !type:TriggerBehavior + keyOut: timer # explode immediately - type: ScatteringGrenade - - type: OnUseTimerTrigger + - type: TriggerOnUse + - type: TimerTrigger delay: 3 - type: Tag tags: @@ -81,6 +83,8 @@ Primed: { state: primed } Unprimed: { state: icon } - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Machines/door_lock_off.ogg" @@ -98,7 +102,7 @@ - type: ScatteringGrenade fillPrototype: ExGrenade distance: 4 - - type: OnUseTimerTrigger + - type: TimerTrigger beepSound: path: "/Audio/Effects/beep1.ogg" params: @@ -106,6 +110,8 @@ initialBeepDelay: 0 beepInterval: 0.5 - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Machines/door_lock_off.ogg" - type: StaticPrice @@ -130,6 +136,8 @@ types: Blunt: 10 - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Items/bikehorn.ogg" @@ -155,6 +163,8 @@ types: Blunt: 10 - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Effects/flash_bang.ogg" - type: StaticPrice @@ -177,7 +187,7 @@ fillPrototype: BulletFoam capacity: 30 velocity: 30 - - type: OnUseTimerTrigger + - type: TimerTrigger beepSound: path: "/Audio/Effects/beep1.ogg" params: @@ -185,5 +195,7 @@ initialBeepDelay: 0 beepInterval: 2 - type: EmitSoundOnTrigger + keysIn: + - timer sound: path: "/Audio/Weapons/Guns/Gunshots/batrifle.ogg" diff --git a/Resources/Prototypes/Entities/Objects/Weapons/security.yml b/Resources/Prototypes/Entities/Objects/Weapons/security.yml index 7f69d77f93..2f6ac834ba 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/security.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/security.yml @@ -192,6 +192,7 @@ description: An ultrabright flashbulb with a proximity trigger, useful for making an area security-only. components: - type: EmitSoundOnTrigger + predicted: true sound: path: /Audio/Weapons/flash.ogg - type: FlashOnTrigger diff --git a/Resources/Prototypes/Entities/Structures/Machines/bombs.yml b/Resources/Prototypes/Entities/Structures/Machines/bombs.yml index 65eb07f064..dc3aa359f4 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/bombs.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/bombs.yml @@ -23,9 +23,11 @@ intensitySlope: 5 maxIntensity: 4 - type: ExplodeOnTrigger + keysIn: + - timer # If you nerf the syndicate bomb in any major way, this should probably drop down to at least 100s (not 90s to compensate for slower movement speed & less lag in SS14) # Unless, of course, you want the 90 seconds regardless. I can't stop you. - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 180 delayOptions: [180, 240, 300, 600, 900] initialBeepDelay: 0 @@ -150,6 +152,6 @@ components: - type: Defusable disposable: true - - type: OnUseTimerTrigger + - type: TimerTrigger delay: 10 delayOptions: [10, 20, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300] diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml index 2070635676..d3f0d0e2cb 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml @@ -77,7 +77,7 @@ Unprimed: state: gibtonite_inactive visible: false - - type: OnUseTimerTrigger + - type: TimerTrigger examinable: false beepInterval: 0.4 beepSound: @@ -86,6 +86,8 @@ min: 8 max: 10 - type: ExplodeOnTrigger + keysIn: + - timer - type: Explosive explosionType: DemolitionCharge totalIntensity: 450 @@ -109,6 +111,7 @@ - !type:DoActsBehavior acts: ["Destruction"] - !type:TriggerBehavior + keyOut: timer # explode immediately # Ore veins - type: entity diff --git a/Resources/ServerInfo/Guidebook/Security/Defusal.xml b/Resources/ServerInfo/Guidebook/Security/Defusal.xml index 8ebd71a346..4d6880d0b8 100644 --- a/Resources/ServerInfo/Guidebook/Security/Defusal.xml +++ b/Resources/ServerInfo/Guidebook/Security/Defusal.xml @@ -29,7 +29,7 @@ To arm a bomb, you can either [color=yellow]right click[/color] and click [color=yellow]Begin countdown[/click], or [color=yellow]alt-click[/color] the bomb. It will begin beeping. ## Time - A bomb has a limited time, at a minimum of [protodata="SyndicateBomb" comp="OnUseTimerTrigger" member="ShortestDelayOption"/] seconds and a maximum of [protodata="SyndicateBomb" comp="OnUseTimerTrigger" member="LongestDelayOption"/] seconds. You can view the timer by examining it, unless the Proceed wire is cut. Once the timer hits zero, the bomb will detonate. + A bomb has a limited time, at a minimum of [protodata="SyndicateBomb" comp="TimerTrigger" member="ShortestDelayOption"/] seconds and a maximum of [protodata="SyndicateBomb" comp="TimerTrigger" member="LongestDelayOption"/] seconds. You can view the timer by examining it, unless the Proceed wire is cut. Once the timer hits zero, the bomb will detonate. ## Bolts By default, once armed, a bomb will bolt itself to the ground. You must find the BOLT wire and cut it to disable the bolts, after which you can unwrench it and throw it into space. From 2a72e30e0ef917032d89974f00cadeb6a54a64e7 Mon Sep 17 00:00:00 2001 From: Vasilis The Pikachu Date: Sun, 3 Aug 2025 21:56:09 +0200 Subject: [PATCH 078/149] Revert "Added Kill Tome (Death Note). (#39011)" This reverts commit d0c104e4b095b834aa6344f336a45023f66a8e41. Revert suggested due to code issues and passed the voting. @ScarKy0 has interest in fixing it @xsainteer --- Content.Shared/KillTome/KillTomeComponent.cs | 38 ---- Content.Shared/KillTome/KillTomeSystem.cs | 187 ------------------ .../KillTome/KillTomeTargetComponent.cs | 41 ---- Content.Shared/Paper/PaperSystem.cs | 14 +- Resources/Locale/en-US/killtome.ftl | 11 -- .../Entities/Objects/Misc/killtome.yml | 24 --- .../Objects/Misc/killtome.rsi/icon.png | Bin 558 -> 0 bytes .../Objects/Misc/killtome.rsi/meta.json | 14 -- 8 files changed, 1 insertion(+), 328 deletions(-) delete mode 100644 Content.Shared/KillTome/KillTomeComponent.cs delete mode 100644 Content.Shared/KillTome/KillTomeSystem.cs delete mode 100644 Content.Shared/KillTome/KillTomeTargetComponent.cs delete mode 100644 Resources/Locale/en-US/killtome.ftl delete mode 100644 Resources/Prototypes/Entities/Objects/Misc/killtome.yml delete mode 100644 Resources/Textures/Objects/Misc/killtome.rsi/icon.png delete mode 100644 Resources/Textures/Objects/Misc/killtome.rsi/meta.json diff --git a/Content.Shared/KillTome/KillTomeComponent.cs b/Content.Shared/KillTome/KillTomeComponent.cs deleted file mode 100644 index 266ff1a8f8..0000000000 --- a/Content.Shared/KillTome/KillTomeComponent.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Content.Shared.Damage; -using Content.Shared.Damage.Prototypes; -using Content.Shared.FixedPoint; -using Robust.Shared.GameStates; -using Robust.Shared.Prototypes; - -namespace Content.Shared.KillTome; - -/// -/// Paper with that component is KillTome. -/// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] -public sealed partial class KillTomeComponent : Component -{ - /// - /// if delay is not specified, it will use this default value - /// - [DataField, AutoNetworkedField] - public TimeSpan DefaultKillDelay = TimeSpan.FromSeconds(40); - - /// - /// Damage specifier that will be used to kill the target. - /// - [DataField, AutoNetworkedField] - public DamageSpecifier Damage = new() - { - DamageDict = new Dictionary - { - { "Blunt", 200 } - } - }; - - /// - /// to keep a track of already killed people so they won't be killed again - /// - [DataField] - public HashSet KilledEntities = []; -} diff --git a/Content.Shared/KillTome/KillTomeSystem.cs b/Content.Shared/KillTome/KillTomeSystem.cs deleted file mode 100644 index bd49c483d9..0000000000 --- a/Content.Shared/KillTome/KillTomeSystem.cs +++ /dev/null @@ -1,187 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using Content.Shared.Administration.Logs; -using Content.Shared.Damage; -using Content.Shared.Database; -using Content.Shared.Humanoid; -using Content.Shared.Mobs; -using Content.Shared.Mobs.Components; -using Content.Shared.NameModifier.EntitySystems; -using Content.Shared.Paper; -using Content.Shared.Popups; -using Robust.Shared.Timing; -using Robust.Shared.Utility; - -namespace Content.Shared.KillTome; - -/// -/// This handles KillTome functionality. -/// - -/// Kill Tome Rules: -// 1. The humanoid whose name is written in this note shall die. -// 2. If the name is shared by multiple humanoids, a random humanoid with that name will die. -// 3. Each name shall be written on a new line. -// 4. Names must be written in the format: "Name, Delay (in seconds)" (e.g., John Doe, 40). -// 5. A humanoid can be killed by the same Kill Tome only once. -public sealed class KillTomeSystem : EntitySystem -{ - [Dependency] private readonly IGameTiming _gameTiming = default!; - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - [Dependency] private readonly DamageableSystem _damageSystem = default!; - [Dependency] private readonly ISharedAdminLogManager _adminLogs = default!; - [Dependency] private readonly NameModifierSystem _nameModifierSystem = default!; - - /// - public override void Initialize() - { - SubscribeLocalEvent(OnPaperAfterWriteInteract); - } - - public override void Update(float frameTime) - { - // Getting all the entities that are targeted by Kill Tome and checking if their kill time has passed. - // If it has, we kill them and remove the KillTomeTargetComponent. - var query = EntityQueryEnumerator(); - - while (query.MoveNext(out var uid, out var targetComp)) - { - if (_gameTiming.CurTime < targetComp.KillTime) - continue; - - // The component doesn't get removed fast enough and the update loop will run through it a few more times. - // This check is here to ensure it will not spam popups or kill you several times over. - if (targetComp.Dead) - continue; - - Kill(uid, targetComp); - - _popupSystem.PopupPredicted(Loc.GetString("killtome-death"), - Loc.GetString("killtome-death-others", ("target", uid)), - uid, - uid, - PopupType.LargeCaution); - - targetComp.Dead = true; - - RemCompDeferred(uid); - } - } - - private void OnPaperAfterWriteInteract(Entity ent, ref PaperAfterWriteEvent args) - { - // if the entity is not a paper, we don't do anything - if (!TryComp(ent.Owner, out var paper)) - return; - - var content = paper.Content; - - var lines = content.Split('\n', StringSplitOptions.RemoveEmptyEntries); - - var showPopup = false; - - foreach (var line in lines) - { - if (string.IsNullOrEmpty(line)) - continue; - - var parts = line.Split(',', 2, StringSplitOptions.RemoveEmptyEntries); - - var name = parts[0].Trim(); - - var delay = ent.Comp.DefaultKillDelay; - - if (parts.Length == 2 && Parse.TryInt32(parts[1].Trim(), out var parsedDelay) && parsedDelay > 0) - delay = TimeSpan.FromSeconds(parsedDelay); - - if (!CheckIfEligible(name, ent.Comp, out var uid)) - { - continue; - } - - // Compiler will complain if we don't check for null here. - if (uid is not { } realUid) - continue; - - showPopup = true; - - EnsureComp(realUid, out var targetComp); - - targetComp.KillTime = _gameTiming.CurTime + delay; - targetComp.Damage = ent.Comp.Damage; - - Dirty(realUid, targetComp); - - ent.Comp.KilledEntities.Add(realUid); - - Dirty(ent); - - _adminLogs.Add(LogType.Chat, - LogImpact.High, - $"{ToPrettyString(args.Actor)} has written {ToPrettyString(uid)}'s name in Kill Tome."); - } - - // If we have written at least one eligible name, we show the popup (So the player knows death note worked). - if (showPopup) - _popupSystem.PopupEntity(Loc.GetString("killtome-kill-success"), ent.Owner, args.Actor, PopupType.Large); - } - - // A person to be killed by KillTome must: - // 1. be with the name - // 2. have HumanoidAppearanceComponent (so it targets only humanoids, obv) - // 3. not be already dead - // 4. not be already killed by Kill Tome - - // If all these conditions are met, we return true and the entityUid of the person to kill. - private bool CheckIfEligible(string name, KillTomeComponent comp, [NotNullWhen(true)] out EntityUid? entityUid) - { - if (!TryFindEntityByName(name, out var uid) || - !TryComp(uid, out var mob)) - { - entityUid = null; - return false; - } - - if (uid is not { } realUid) - { - entityUid = null; - return false; - } - - if (comp.KilledEntities.Contains(realUid)) - { - entityUid = null; - return false; - } - - if (mob.CurrentState == MobState.Dead) - { - entityUid = null; - return false; - } - - entityUid = uid; - return true; - } - - private bool TryFindEntityByName(string name, [NotNullWhen(true)] out EntityUid? entityUid) - { - var query = EntityQueryEnumerator(); - - while (query.MoveNext(out var uid, out _)) - { - if (!_nameModifierSystem.GetBaseName(uid).Equals(name, StringComparison.OrdinalIgnoreCase)) - continue; - - entityUid = uid; - return true; - } - - entityUid = null; - return false; - } - - private void Kill(EntityUid uid, KillTomeTargetComponent comp) - { - _damageSystem.TryChangeDamage(uid, comp.Damage, true); - } -} diff --git a/Content.Shared/KillTome/KillTomeTargetComponent.cs b/Content.Shared/KillTome/KillTomeTargetComponent.cs deleted file mode 100644 index 14a573b75f..0000000000 --- a/Content.Shared/KillTome/KillTomeTargetComponent.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Content.Shared.Damage; -using Content.Shared.FixedPoint; -using Robust.Shared.GameStates; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; - -namespace Content.Shared.KillTome; - -/// -/// Entity with this component is a Kill Tome target. -/// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] -public sealed partial class KillTomeTargetComponent : Component -{ - /// - /// Damage that will be dealt to the target. - /// - [DataField, AutoNetworkedField] - public DamageSpecifier Damage = new() - { - DamageDict = new Dictionary - { - { "Blunt", 200 } - } - }; - - /// - /// The time when the target is killed. - /// - [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] - [AutoPausedField] - public TimeSpan KillTime = TimeSpan.Zero; - - /// - /// Indicates this target has been killed by the killtome. - /// - [DataField, AutoNetworkedField] - public bool Dead; - - // Disallows cheat clients from seeing who is about to die to the killtome. - public override bool SendOnlyToOwner => true; -} diff --git a/Content.Shared/Paper/PaperSystem.cs b/Content.Shared/Paper/PaperSystem.cs index 6a181e4ae9..75496d93b4 100644 --- a/Content.Shared/Paper/PaperSystem.cs +++ b/Content.Shared/Paper/PaperSystem.cs @@ -187,7 +187,6 @@ public sealed class PaperSystem : EntitySystem { var ev = new PaperWriteAttemptEvent(entity.Owner); RaiseLocalEvent(args.Actor, ref ev); - if (ev.Cancelled) return; @@ -212,9 +211,6 @@ public sealed class PaperSystem : EntitySystem entity.Comp.Mode = PaperAction.Read; UpdateUserInterface(entity); - - var writeAfterEv = new PaperAfterWriteEvent(args.Actor); - RaiseLocalEvent(entity.Owner, ref writeAfterEv); } private void OnRandomPaperContentMapInit(Entity ent, ref MapInitEvent args) @@ -323,14 +319,6 @@ public record struct PaperWriteEvent(EntityUid User, EntityUid Paper); /// /// Cancellable event for attempting to write on a piece of paper. /// -/// The paper that the writing will take place on. +/// The paper that the writing will take place on. [ByRefEvent] public record struct PaperWriteAttemptEvent(EntityUid Paper, string? FailReason = null, bool Cancelled = false); - -/// -/// Event raised on paper after it was written on by someone. -/// -/// Entity that wrote something on the paper. -[ByRefEvent] -public readonly record struct PaperAfterWriteEvent(EntityUid Actor); - diff --git a/Resources/Locale/en-US/killtome.ftl b/Resources/Locale/en-US/killtome.ftl deleted file mode 100644 index 2a45db41ff..0000000000 --- a/Resources/Locale/en-US/killtome.ftl +++ /dev/null @@ -1,11 +0,0 @@ -killtome-rules = - Kill Tome Rules: - 1. The humanoid whose name is written in this note shall die. - 2. If the name is shared by multiple humanoids, a random humanoid with that name will die. - 3. Each name shall be written on a new line. - 4. Names must be written in the format: "Name, Delay (in seconds)" (e.g., John Doe, 40). - 5. A humanoid can be killed by the same Kill Tome only once. - -killtome-kill-success = The name is written. The countdown begins. -killtome-death = You feel sudden pain in your chest! -killtome-death-others = {CAPITALIZE($target)} grabs onto {POSS-ADJ($target)} chest and falls to the ground! diff --git a/Resources/Prototypes/Entities/Objects/Misc/killtome.yml b/Resources/Prototypes/Entities/Objects/Misc/killtome.yml deleted file mode 100644 index 41339a9281..0000000000 --- a/Resources/Prototypes/Entities/Objects/Misc/killtome.yml +++ /dev/null @@ -1,24 +0,0 @@ -- type: entity - name: black tome - parent: BasePaper - id: KillTome - suffix: KillTome, Admeme # To stay true to the lore, please never make this accessible outside of divine intervention (admeme). - description: A worn black tome. It smells like old paper. - components: - - type: Sprite - sprite: Objects/Misc/killtome.rsi - state: icon - - type: KillTome - defaultKillDelay: 40 - damage: - types: - Blunt: 200 - - type: Paper - content: killtome-rules - - type: ActivatableUI - key: enum.PaperUiKey.Key - requiresComplex: false - - type: UserInterface - interfaces: - enum.PaperUiKey.Key: - type: PaperBoundUserInterface diff --git a/Resources/Textures/Objects/Misc/killtome.rsi/icon.png b/Resources/Textures/Objects/Misc/killtome.rsi/icon.png deleted file mode 100644 index b3f5427ebe4e598052cb5b62b0a938632f8a89f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558 zcmV+}0@3}6P)Px$=t)FDR9J=WmCI`DFc3hGq>(Kr{h6){Z3v}gpMUBnWhOBQsX zBm4cnD!0^{UR_<`oC9DO2G;8}F-BsHc<<-+{{D_gby{pqkTC`k;pyoKRi*1XN-305 z5D{KpUU1H#s{&pbRl&@>IIS}jmjfoYnE zF_KbZyWR5o`pR~@#W}~#%?)ka;=Kppcsy2bPHhE32pD77?RJO=cXxMKYuRizIOn*( zzvuh=8}B_K1gx$4E;y$GrIfkp+O{R7goqGAU>rxh_jFxH&iV2J)>?AThzKG=N(tv2 zF-BAs5uubq&KXs`d=IE9-g~UIoK7eBHyPGihGCeeB&9^tG-pjhl|TrAVHf~t+ZKS7 z5&&J-&CjJ2RF%H(FDo!j6J6KQ_dO{kLI{Kq$T<^ZoR7vBgL7_{tf6WOLW16P9PtKt#`ezD${sZGU5<>Xz=F2&gQeqf}vzo9rw2K0ff?qpGY{ wD?UFzY1?)_77-!F$ZEAZOJHGPVd2;L0~ZtUcmAcD^8f$<07*qoM6N<$g4%oh^8f$< diff --git a/Resources/Textures/Objects/Misc/killtome.rsi/meta.json b/Resources/Textures/Objects/Misc/killtome.rsi/meta.json deleted file mode 100644 index b418b2056f..0000000000 --- a/Resources/Textures/Objects/Misc/killtome.rsi/meta.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "alexmactep", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "icon" - } - ] -} From 978c51e73db8ca7f15a4300a3b2c14f47889ab4a Mon Sep 17 00:00:00 2001 From: Vasilis The Pikachu Date: Sun, 3 Aug 2025 21:58:01 +0200 Subject: [PATCH 079/149] Revert "Added utility belt function to scrap armor (#39233)" This reverts commit 7852b52f85215ebb0ff1ba1a531c5384481a09a9. Revert suggested due to the utility toolbelt may be considered too overpowered and passed @ToastEnjoyer --- .../Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml index 8fdc59240d..adf4227595 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/scraparmor.yml @@ -51,7 +51,7 @@ # The armor itself - type: entity - parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseMajorContraband, ClothingBeltUtility] + parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseMajorContraband] id: ClothingOuterArmorScrap name: scrap armor description: A tider's gleaming plate mail. Bail up, or you're a dead man. From ecf96d85f4e269587da25b7c84124a60ba57a21b Mon Sep 17 00:00:00 2001 From: Vasilis The Pikachu Date: Sun, 3 Aug 2025 22:02:33 +0200 Subject: [PATCH 080/149] Changelog removal of reverted PR's --- Resources/Changelog/Changelog.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index d43579dc4b..19902e3f5b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -3818,13 +3818,6 @@ id: 8809 time: '2025-07-25T19:46:42.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/38657 -- author: Toast_Enjoyer, Djmc216 - changes: - - message: The scrap armor now functions as a utility belt too! - type: Add - id: 8810 - time: '2025-07-27T06:17:01.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/39233 - author: PJB3005 changes: - message: Made most plushie sounds quieter, and made plushies slower to use. From 53e64c3a24a541c3f3bfaa99e3ce5d2c6ec1f2b0 Mon Sep 17 00:00:00 2001 From: Samuka-C <47865393+Samuka-C@users.noreply.github.com> Date: Mon, 4 Aug 2025 10:18:55 -0300 Subject: [PATCH 081/149] Xenoborgs part 4 (#36935) Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> Co-authored-by: Quantum-cross <7065792+Quantum-cross@users.noreply.github.com> Co-authored-by: pathetic meowmeow Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com> Co-authored-by: WarPigeon Co-authored-by: Kowlin Co-authored-by: ScarKy0 --- Resources/Audio/Machines/attributions.yml | 7 +- .../Machines/warning_buzzer_xenoborg.ogg | Bin 0 -> 63559 bytes .../Audio/Voice/Xenoborg/attributions.yml | 1 + .../Audio/Voice/Xenoborg/xenoborg_scream.ogg | Bin 0 -> 18684 bytes Resources/Locale/en-US/name-identifier.ftl | 1 + Resources/Locale/en-US/station-laws/laws.ftl | 12 +- Resources/Prototypes/Alerts/alerts.yml | 4 +- .../Prototypes/Specific/mothershipcore.yml | 20 ++ .../Mobs/Cyborgs/base_borg_chassis.yml | 8 +- .../Entities/Mobs/Cyborgs/xenoborgs.yml | 11 +- .../Entities/Mobs/Player/mothershipcore.yml | 192 +++++++++++++++++ .../Entities/Objects/Devices/pinpointer.yml | 4 +- .../Specific/Robotics/borg_modules.yml | 22 +- .../Specific/Xenoborg/cloaking_device.yml | 17 +- .../Specific/Xenoborg/material_bag.yml | 2 +- .../Recipes/Lathes/Packs/xenoborgs.yml | 16 ++ .../Prototypes/Recipes/Lathes/xenoborgs.yml | 67 ++++++ .../Prototypes/SoundCollections/emotes.yml | 5 + .../Prototypes/Voice/speech_emote_sounds.yml | 2 + .../Prototypes/name_identifier_groups.yml | 8 +- .../Actions/actions_borg.rsi/meta.json | 3 + .../actions_borg.rsi/xenoborg-eye2-module.png | Bin 0 -> 313 bytes .../Interface/Alerts/shuttle.rsi/meta.json | 14 ++ .../Alerts/{ => shuttle.rsi}/piloting.png | Bin .../mothership_core.rsi/core-active.png | Bin 0 -> 9845 bytes .../Silicon/mothership_core.rsi/core-idle.png | Bin 0 -> 1737 bytes .../Silicon/mothership_core.rsi/core-load.png | Bin 0 -> 691 bytes .../Silicon/mothership_core.rsi/core-o.png | Bin 0 -> 321 bytes .../Silicon/mothership_core.rsi/meta.json | 199 ++++++++++++++++++ .../borgmodule.rsi/icon-xenoborg-cloak2.png | Bin 0 -> 152 bytes .../Robotics/borgmodule.rsi/meta.json | 7 +- 31 files changed, 596 insertions(+), 26 deletions(-) create mode 100644 Resources/Audio/Machines/warning_buzzer_xenoborg.ogg create mode 100644 Resources/Audio/Voice/Xenoborg/xenoborg_scream.ogg create mode 100644 Resources/Prototypes/Body/Prototypes/Specific/mothershipcore.yml create mode 100644 Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml create mode 100644 Resources/Prototypes/Recipes/Lathes/Packs/xenoborgs.yml create mode 100644 Resources/Prototypes/Recipes/Lathes/xenoborgs.yml create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye2-module.png create mode 100644 Resources/Textures/Interface/Alerts/shuttle.rsi/meta.json rename Resources/Textures/Interface/Alerts/{ => shuttle.rsi}/piloting.png (100%) create mode 100644 Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-active.png create mode 100644 Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-idle.png create mode 100644 Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-load.png create mode 100644 Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-o.png create mode 100644 Resources/Textures/Mobs/Silicon/mothership_core.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak2.png diff --git a/Resources/Audio/Machines/attributions.yml b/Resources/Audio/Machines/attributions.yml index 215944dc29..1fe20a59d9 100644 --- a/Resources/Audio/Machines/attributions.yml +++ b/Resources/Audio/Machines/attributions.yml @@ -58,6 +58,11 @@ copyright: "Taken from TG station." source: "https://github.com/tgstation/tgstation/blob/d4f678a1772007ff8d7eddd21cf7218c8e07bfc0/sound/machines/warning-buzzer.ogg" +- files: ["warning_buzzer_xenoborg.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Made by Toast (Discord)" + source: "https://github.com/space-wizards/space-station-14/pull/36935" + - files: ["anomaly_sync_connect.ogg"] license: "CC0-1.0" copyright: "Created by newagesoup, convert to ogg mono by TheShuEd" @@ -208,4 +213,4 @@ - files: ["shutter.ogg"] license: "CC-BY-3.0" copyright: "Created by Tomlija, converted to OGG and modified by themias." - source: "https://freesound.org/people/Tomlija/sounds/99565/" \ No newline at end of file + source: "https://freesound.org/people/Tomlija/sounds/99565/" diff --git a/Resources/Audio/Machines/warning_buzzer_xenoborg.ogg b/Resources/Audio/Machines/warning_buzzer_xenoborg.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fad2ca222962ef9d2c278f29515596f0565d004b GIT binary patch literal 63559 zcmagF1ymft(=R&9;_kuSmOz3Nd~px3I0Sch3$|!*_u%dh!2<-h0KtM20zo4Xf`q_Z zlK*$V@7?##y>oi|^mI*EbyfYUr)H*C&BjI(Kmz`A%z^$jwhE2YKr|q47k6_zkB2Uh zOznRz@%eX22T1K<+zW;5o50!Zo zeIyy8dPU_vMqiQZj>%qG7>da=Mi-{Sb6A@CT==lEBtiIyt#wuki?elJNrih+$D+O$ z)hNJYM(9iKe=3Z>de9-}B85tBi7$ozz&;96p5=~U^-nE20FF=-kWVI7Y$Bd)qMDv# zQaj_&AmX3nmDSWz)kYj%M!Mcs%idng-hujA5r!Rs`W+F5D-lMQ5oTnO|0!32TbB>z zuj+Ilppa20V;54)KvDcjs2Cg`S&IZ%KA40KBZUEyQleOHZC`Kqy4|*>-D$F!W3n0h z?(+qEl1s`M%|cXVN9d$9B6+nJO&_q3WaeD zyYtC=@Qr$iB8t4H%y^p0^iLJM|8l~E+W`Q|O*QOBHIA?bjPrv#zpjVavWMz2!W0h{ z`9B{afANA)gg(zY!yb;#n`HLaEN}!{vLbY8?0=FF7ep0(rpuYlIiD87&DkrgB7Xg0 zAX@7+YiCu~>%Sg!oFU&u_!2UaJzSVQo8vK~h@DgRujNPh8m+Es9??hsB^P&u+zfG@ z-FyyO)ki(VSpC_Y{mM>aL@PS&HEUa^)<1s#fkl;Z?#zJD4q`;~>T8Ei3?oGA+A{a+ zG{!^U{|+B0!f$3PWFvW@bb$$|=EU^n^r7&&X1XXsze z=>Q-c|1XOFtNIJ&e<&_ZiD92$YnkGiC4y1qZO~M<-o1wc#}tw|2we$SL6VQpb7sQlWFF0+@rZ+ z&!sT_IrzUK$BlS2nQAjSBkrhw50eyb1K zR*T+NAKR@A-vsKn|0iJnh0WHo*Z+u|hY(>9O4wCMLH_T^DP&9d^ell;IF#bgtr?!^Z|2bk1 z)I~nk4}1v2rUL*u05Bq)9F8C3o+RZgriaeG&xBGWgjzI27G8nRi!Fr1;F%=JD%O!A z^bY%c8^%T=qY@U+ESNxtGg$sYaqk&AV%b9mGynk3J;psm=02l1UMMrejggl&Cd68n zIS$)*f-XPUpY`0n?4bsi<+TvB!N1QGps9wt%fhJ2%Mp^%1rAqvl zm4NngJHLjfwuZKqzLvJWx0U{-w(e4(GJ>k9`jJFiyIuR^g_Cwh;Et!Zk*?LpOKpA9 zAj9Q|onL`FWDlH|7rhWvvn4CDH(pz8b~$$T#g)}LY}M6O)$LBz^>v2D2i3*Z6U{c& z^|cet4K?+S#|UbDWpy)0bu~v#bM5bHj^p;q>aMzp=Em3cHOKAWu-%ySM_%A(Q1bM_pB2UCzf{Zd2_}R3+6%ee9EijT6n^j=P?=deLiWdu^l{ z?dl@*a5C}9H@u8!b`p78_j>}tVE#(zy$e+*VpxkaC8BTS{IP`DvxG969K=kk>t0va z95*{Zeph=erJ)^Yly0>pXr%whc}p0o zQY~&&dXMKy!&GVNO7`?=3+y9wS_z6{xv7Lowve=W7+O)8x{^at+7is6seHlwl&+Li z$&NE^-oUn?OH_yvrG$oxkP%`{C(e-^#t}LMtMLcne`V}tr6E{lhovYf z)upGvrgBpsScN4hDMH#)lvEJ2Qc`M)fEhS)FXh4<`4O{1uu4&KP&~{J$0qY9C}MBkm9$iJccZh*bv;2B2^ZtHOsRqmKc| zAfkAL4zcc_l9!Q%&61T8Ti`R4ks%0(9C>x$Ku&--ffuh$% zEb%BaBcNbiH~qONHaL0LqNlk-y0tRs}TcfrMh7~ zhkE+5CG%STWdw-Z_H!JR5Cn(mP5@X(K?54Wl(GV>WEkvxmVcFi(;>_l#~n#*9>e`5 zR~j8MoQ247%E=y555!IOA^(U&5D=#$2!hZTs)s7qBjLXjlmBjE{QoFXg~+oAbP#vz z5i&~je_6R4;onmW$NwbhS^rM|N6!A=+57*gW#~|cfZYGA0O(sxG~gbMQb+z7gaV7> zK}URCM56aD3o&C<>hMU&L1{R`Jw?(=LTtD>S-ArkA!1&TaqoH9aEPmilY$ zhX(@~!WV@PXrY%;LZIpaBlO`2H~i}hPx@bd_`+ZQK??z>FaNGfQb7G_02~_t+*a(5AxmR)!@1!Z%Hc`w_~uUtU@=1S zO;!rz!(@wT+-1a?Fo%O&^EeH)JPRf6ceQCcN^HrY^X|26-cyK2OFDFb3!k1h1PUT1 z8$$>RM}`1}js3ISFOZQx6Y^kUV~&P<%-ewh{O~dCfTthDXx)o0oDP{jY8XVE1P>!}_WgvT)-iw~EL(>A?@1U0&;URR4jltSj!*(_ zB3=@HGC>MqDp48&z5uWdg5v>jCX}eCDC>lhce`LF8O!j}q0h+7f5{IOI{Lpy739C| ze^1K&s{hCjPs$HsoKwnPQ1bIW<>uw#c{(t#)YL!n_U-KWhtbiVfw7V4j@svx<;4MS zf^(Hhw%+;xUyuCxW+Gctc{zhvuAb%HDPIkxYOlJmpC1UQ5p$Y-VZ zSacEMegG12_-gi33bT=Fk*8`j9MF`({q|UcZ_VKYWoX#zJoXeAo;)DFEVJZ0^3uK> z)A*MGpTb7N+X`q?NROaBYj~R<8S-SX zXOtLOkMY`(TOi~vej zWs-%vWW(|2HYgXQZ;W*G!kq11D|fg}w@w!_9D#s!XE(ICYu%)QEyez$1)2tbkE7{R z(k+7sNYGuLt*1O6 zj=xH-q9Q4y(E7xi^u1|Y-ZZaIqoLevb#>Q(eyLgL3y_9ZqRt0&%U_{WLW-NeYi6mr zmpItW_y#`fhqqMvz&7OX@`X+1k&cm4G{99B41F-@0Lpvi1r=BZMiuBgHd5sbsid_7 z-)m(W*7(V8zOSTr{?u5?J;QT79BMV!Ka~VTkY3n#x2nkNb4kAQy=ApJk}=KTe6UMOUi=E5!Btu)<^6gRw?J9T_C1Uc}q%lPWmwu1ixu) z=I(6=GCrvgGf<*P3%#4=2FSLXKm!V3^#l@0<)&MTm=~CBFPt<@v#!PN0)A|E z2+;~A{F0%nW+KSs4x4Yw*e(1TC;O!?GbyyvN4EeMcg@SrHv8b{Vms33ltN?yJn>^? zynscmn7+BvfZ@GYg$*g87k1vvQ~Dg6Ev!!rc|Yv(*}fYjy<_q#Z=#OO4J7*`K^H#* zAT^pL;G{3y`9FZ1=OzE^x}tJ#0c0GtAX@oC;9ZY{s42BZcF^*XT8o z!QgBxKZA*Oyc{p9xs_qW{jZS-khKb!FMQ@8a5eIMYfBWZ!a@uTFaZ^zPYt$YIQFNe zb4Sb@SF;U!sGJq`;=b2IGv%_>;QbjC3!f2CEhiBy}`sX!$u4 zNI^a-6hnCM$K7_wsYHS8(MG&q_HFA*+17`qy;QX6vb^am?VFMk3vE{^ESc)gykGX# zC;Wu;Adcn98V5h^G)3QS!F~D)nc~-q15J0_4TQd@jJ?9b7i0a0fPED7k3Ql`Fh&w zkv=b`ky~p8#*jB1oE8Op5sxM!8yTV!1kh;ILZ{H3Mv#KaiXDqB8Dn~Z;E+w{VBh-U z-s9-oKll2AjvU~c#WPDC2hN@0PsmTAY(EkXpbuN5bGV@MdulibvYZ>OUVfE1(VINr zCGruea9mG(E2fNdjjM1?^i?&gq8`Z#hlXwCYBoy|Hhh#8{f#0heA*G2??Udk(4;?C zAq}rFp!0IDGZWAwQP}f@L0|W(=Y`+HBU(Q58EIf57cyZNvCeNJ53(y=%Dqo%Q_{`) zZftn5!GGx?j_1~{)FbL{E#n* zoBQ!oD(}eGlhT)QM?uYLlL0e0XhfgCz|#%$nA%~$_peOweAKnRD>jBuM}ED$m?Hq$+Fs>g_9$)-=McDJ^CC*&p*P#6@vF|lQV#iEiB&(#I2nq;3Klnv-}pj+$w_md`SW<% zS60HdzX{268U%DC5Hj#ePU5HX|0#YyEEk_rIW`)wG$Sm8m3{r8Ra?|Q$M&V^yB6z{ z%_YgUAS5kF*|s+YnJkh9ezAj}!Rf30vRV@E;N%>xBz&BJ0^>^gaQl2^`2acB?TxXn zGj>t1;2-CS4Bp=?BswBWe4h=UKAGOGndJLy;)3_lP(+;4)P>j9OH#*QO~311uV&aj z$Q1kt@+nC87&?SK@Ka^YvbX&s22DOz{Dxr)*RPVTBf_UEM}a8{ar8LIRjBatbWdP> z%7ExIrw*%JQ>R?+t*%FB%-)O5$IJK5IemP5H~F+=_$^8i*mk+CB1E~g5ifr#q@j1k zpb%2>OF2)it85Dx`WZJM9|P>)YX}oNkw#)?p_BIz%WaYvZdNVa6$3OkS#oI(YA^g= zSp`WEZr+o!^)F%~0vFd_DnQ4ik(&g`J}=Lqk}r!^!fh}3=u=g!6vKg9fwSRDY=G?K zXCGWtIQzFkL$X%dUA2asps)u~KWdPnSB=ZoUTa(TlNyM6eGu$LX*8V|l6r9iPRaxd z_oT`;_r_KpX+GM1(dGNK{mPoF;h?efg%OEo6Fl5Sa($DMGs91!xD_woiAX0S-+HO# zD_JmKpfn~i#^RqtIZ9@a$8wej5IDR{d9Fnpk!si%V_DozKM+K(Dixf z)~prk9!V6T8<;ux$_htUYxARe6Cu2#T~Z)%_-gICqP#8-RyC*X}L-DDkOs zpml;FnoBkFHxYDZZ)Dwp?sbyJ+{`)p4TZ-=w}REmc#ICn^a@gRRH6LyC)IRXidxR* zyipxkjSJ5;5HL0rlcRb~qDk9?%(Leh6f<3;fx>jfcZdq8@#(xmXGO-4eckK!8Y|gv zb19piCYApiEoG1d#g3gjtF?lqu~t85Ykwxi@*4e{?+IExhtU^j`A4aX`oA7Wyv3db ze~yo5_f71ds-n8WaKHTnPytcru5Cmi0GmABmF z{P`jqtkkt1NVVZGD}DUoUDa=H(2f2DJ<$8TaX@Q|vOE>Lls`Xo$)=Ucp{C=ZCRzT*XXf z%HQ0x1YBnyXKqosyx#>%U^`6UGHhlCkE~NrJdXxZE5P}x%8FS1*YX9pikPbd51Zv_ zdzx#?4K0(YbHS#-*q?GMYtoCB9Ouc9(ea!J`?u;Xws*=KHsq4uPboL5m6lmOY)(*s zqEn=JnM|StLOzvCaL=BmnP5kvKs(O*)nG1OO@&<7wVJnJP)*jKS4xwHd5&k93k5e% z>^|9_P%#45+uQ;7oYg@*B8u$Nrz=TJYUP*mtjb^vPtDb}Lch}2gX*7gmu&7(k^q2u zg*IKy$0YEZVlVcxPb-cbtu*2Rhz6)NM-#(QEs8sz6}Am|RNJmZE{*$+@%ge%1dJq| zH^a_>?{3NZrLET5Ab}kc3L?7mbjT-!+GNMg=(pBpb%|2JqN%eu$a;m6yEq5X2=mY} zPyG(7mIgPs?lP|hT#@9Ku#W|-hR4Zav5pFNYr2d>chEvF3`OP0I%h2gE|}NM!Lr-Y^=TpK3dNg-KGbL-zo|#;k}wsbUD@ zkVJY}bY(6~^(i<@o1a zHxhh2sc{GX_$GlJg%ro8RDSqw_dYWiGsVGy^d^;UOmJrxf zHo_%39BD}x^6qi3FBr>D{e$di`z``Uy-OPGTMLYX3d5`tg`jR;kQK`Pm$qif6{~@% zKQEq2Sl{R2HsHmtHw%oGQObU3r%91NBw9>LY}!CqA{s>@8;ad3H_81&-%sxh6` z^r3nr+ctiLFxT8>Q7OL3_c31{gM8kfX-ku`Qsz%gaVul!)UsQj6RSSc^p{^@V&;5V zkXCxxC{_&u`cY@U6G*pvvF$11@&SF4j9Nslm7sq5?KcAp%563D=eo_~(}I^ieacQ1 zu~CKbBYa}rPu@4+`4^`X#d4o8lj^CQ@?Td?)8DRxbny-PeQ zJqeiz!*$=qh1;(PIB2x9?7$@)O3c|_Bkt;_z5lR zskvJ~;nTZduW$Qv&A$f~DAbloN@k*&cQH}mJrq@&EvIYWpYOzDdaLp|*lM6sh}3R5 z6f%WoGSB_d=&cxit4m94nIarpkZs>HdH-)~2RM|#08tv6B{=ajV#!2Y>RMl4qBA$v%|@XcRY%xN`) zJP=m-B$0RbNE4CWIQb%Za+xqI_6;4a@0U(8CI^q`4%Lm8QNTahc$pR0>d$;C%5}8Q z1Vj^dm27X-zK-97s(QB*q;MO__@c417^uP(Jayha{w@bRBib9Dh#{~Xx8)>~oKa=E## zK@hKnxo}y|QXDgx813)6no0~ux{w1S)FQ zt5`I6->6NrVu1qm@-E$+o(5SKV8l%X$m2pz_%kK$F!Q>jlm}phXBQXcnU*z%FfMxV zEDk^k-L?gY=!i?&Jm0>1i)qNzyE(sEsHt3kY`G_J+)yf=BOX&y5Cuwou6aOA6QYe9 zzec8ygc*A5)o&IsS@P=<6lVYwoI=QF8|}dF)}rP-%t5!=_2Z)hQb{!C%O}-$%vr|h1jQ9i!aXw(dWfeH^x8kruOF;bsSqx6MsockBVHfO4< zK|w$QLkQ9kIg669cKV@5szXSVED{cIcav*P9u8GxJiDpnlgbN2=A-O)I z1CYT~fUspU3Xx|_Gq?mrV(MsIiN8O6diwk&X*mavII+(zZugUx%733@L4MeGY) z-GLIYMG1)(QA{!|;hqm5Nw(wcU3mtS=K*~;Dn`~_W=^wt2ICcK+>@r?>|rPgp5PVr zLQS(Jr6OVyG*t;za#>vqoB|43_xow<5&w@_1$}Q-?LD+c}T}%g;!~axh5L4^H`xs`tUR9F7LE>D=+Hu_f3A> zW%*dHI-bSKY{e6gJ3C&|YvI6+vVh`tg>o4FwSo^TT!So^J=8E?jgU)UNRgT@%P8=h za&;O}HZnKgOGiQME9_pf?;v3FMkRLKPR`h{I(L<6emS|1rCJXbW&!TNrNR&Z5~*fG z6s<#b%zjGr%&!;!G{~pZ<#_EBf;J8#t;ktgY(8_nrg*mfX&A4i=a&{})^w}RQs5Cq zg7U#FcKKsj2>Z+%PFfNwS?-WP1EL>SjN$ACHrMI&S^+ES+|aWDD~cuL-}hCYaCk}9 z#fm`_l+-u^jBt#KyOG)F?jpy44+Mg zH!PFX7p`dZR!eVB@~+ud#&#PF+~vfjPGYinsVY4+2)RskK>tH8e^K9+%oLIFV{jh9D_&hZW;28pfD~`5Wt$(hg zEl?qP?Gf`H&n6|IU#1J67Y`CL7f7U9)hX?t*l-DfsXgxahZdlEquMsxoixyjEK?>*PW z8;c$g04Lm^$c#TM#P;-qf-R24z(tRIJ!!wNt=hj|ssXkTH&ENnxzluGgwKy>vN&kyg#(12G~44l#cC{kNYP=$?RL>De6$!m0>#Wk?;>yd@0}Y$l>-H zo5&Qn)JKMpS8l;AS~`UbJDVe~c0RvvS&s{tXOl3m*AFl7P^>0Hzq^X1f_E^fVB)Z_ zyi*p9bk&N@L~N0n#d3XVQ*C8r=BD&&X&m_4E{r#QRUn50tTyk8DW1EDkXj|#d{I!C zSDZI~E!P>62Z&?US*Z9}Iq*0^xJ+E6yZrgrE4=BTrr?yJ6d)rTRzMK>=83Ta)|MTs zT87tIfA@tDay?7IcTYKkrYIK_fUBk&pH7$Fp27)u{F|K~R<@uF(t1i7eWlA~;)?P? z6E&u#Q-uVz_;sX`y~@eYN+4M820~}b6#K@$#X-BBY$q|ag|Uz#%9)1q>{rMs8AEJ$ z4ML9*w>OTi_aab1{Yg7b?1Vpa_FSU+Xfo$-MRBz3Q{&Mp>+}!%AOPiE6^(x`ENj`I3>b4z}ZolEC{xwu?7RS>&S(G~LXOz(b~ z;rpTi3V=L70*zvaA|csIv?28qsYQx)*;~z`Qa&rfJ5F+miVXj)Lx^V*F?)G?Zthxa z(2gS>I#}wWmyk9zacE>$`H>ECrN*SDM>lD4p?+qfdle;QlS@c8DkN zOa&edqPqg2!EqN5uZGDb>U+h#hRfUDl!eU?|u5OT{Yr=q3>~{W+>ET^OSZXKu3VaPr<;*Pt=hs3Q&| z5R=Yd49%a%H3WaRCWNb#G7yJGzqTYcX;S8S3wM=LrQG4_-De+86SWDBS0-^iUMHz zqN3UuRnHo&2(ZSL^A6Gx=VW~ixVGtBa+`HR((^U;qpBcGr&V9Of%r!%9l(JhqoTFfPdLaJAaJ|aod1zpx4kTre@VNex{hWfkxZ%C+} zKo+WtQCO%SL>aa0_j?)CmuQ|Zf~ZW9pyZKa+jhKMmC*v6rls#6)9v;-MNPq5emZ@$Tnm=gM$CfHZxDqR`aFYs!8zwaQNdh&!4C(`?#sAC)@!thYX$i>+K)p2gKIgQJ>4eLr;}J z>6AaiX%#jH!t1dm`DB7WvFC~zDr?!E9v3FVteMH1eq~k87<8Y$^a#+04Adh1B*kj2 z!Fe0;-O@|itL0^MX&OLdG|4Q*+f;>gb(JU}$NN5$8^>z?oC5#C;PX*$O2X=HDQnf1jlSAi zmzGhN3?y}pLFS1K9p7B{1ssG6d>=lG|JudP`GG3hG@fyrCdWu7$5_Ms%xo2nnipst ztG|tk%FbU-q?1h{;TnE}N^s8K)56j$-vsgBs&8NflCp_c{QHL?CJLVyDti?k=^>ZD zDn=XAqJt_U{dh~r_0!o$u5gEG-9%9^6;ipsL`+QzE#vZm^~>Mmv`E?(|~ z-A}hWo3DqN`H&oi;KnyYi}CJB9< ziaSwiq4+BBzH4B{j9&NAS5?Ytls76$Gp8ZLg?e6(7*v(_UKQ41@)&%x;M;IGYp5f_ zM)J#2t;)w-0Hf%7kpXl$KZ1zWG`@$>=K&nrEy#6swxoU%YHXpnUY_8NIa4JG*_HIe z*N;1Lb1udZTUVBF5`8kI$|t6qFfuRPQpyp0z;vpj@b*OKqPIr zm~$_g7#H<)O6u3!)ZQgsl@n3pD=S8QXdl|+T%p23c%HL85{%n-{{$6Ht2Q%us7^6e zYm}hFy&sh>Cjcc|vD1(>cg@(wU`m!9$j>g*>tH!uM#-q!D{ z=)c9UOG3R?f+-8$rmhlWuEqjfaX5$xdOE4r5PVd;x2nY)Jx`sB7JG#(uFVC~QJGBv zU@X}nQx?0QNQ{IrJfkGjt2@C0w*mC$P~I;tu%+>G$rZU$-V8KDqV3Nvk-j4@A(p~&sJqOcb`_#CdJSK9sARp zJj#Rdr0PU9CocXZmoWg#8t9P79eTw4gY|;^ROX#oF!ik3ms$bQ<;{d_eJNAl%%xB` z){nij?=&RSw>6>*w@HG6b?c=S8Z-)eYGWjP5K=Nss9NY=;!I?3kesa@f$rFxKls1YhHbqj`unotN)ZYZyqZr z3Tv-;g54J7&bBu2^?o9?K}s%1uBnjzXvy@KK%*04aQ|leTM5LD-T>t_we#QP>mmyu z6}0Z|>cdg?JxuHkE=Hrh>xpzmcRSl zG=IT4O5R<)#3EkTJ91M<3Jox}^$dJnpV-WYa>;eu{4-gspBM&eHKL>gBR-Dzx6R6# zs3?s)+Krk?K>D8fd9_>TMjS@h!>)H$SRqL~Y@pAdi@tYhO@bb=a*iA1 zj*sciF(n^yRCTH#9~HC<)#;aefnvJ>WDI~Ym=1@_6h&{yxf^d;XtR*Ml563sx9c#g zMC`X`(R(jPR;nrlS-qzzs8D?sG@fPe`X#BqKsU%qu%$18`IJ^jK{XH-<+zwSc{ML6 zTa62`=;A}x$(;cB>YVkHFaehP+dyC8p&|GANjc-bc+yrII$`#_&_Cl_g6a1rw^HAJ zWZe>5S4?T)_3*Tb(Ifrgunf**NRx~yQeb$q^(ALM4W8~nvJ-Il2~#P(DnLV3RH3;1 z>(Wt~c2aD7ANlce&my$r&k!QqPeau0j`qx77Cl3$L zUiZ${qg_Kd?l;&bM^DU)JfX0?%Pvx-8P67FJ7rAwb3SdhXXgVh(je)?? zrt3`UYv#?nA8~kg-CCc-sRbr8V9pnwq2`T$4|<=P(b8P&`q|Z3S(TKVmoV7ZfVZ@WCj3*vm||F;$QDhKnK|npSt6zt$CvpF zby5(ro0iLN%#Q~s!KLvd%0UbMt9 zt~#LTWc8b7{5dzkaTBXo#+Tb(wRIB5m&%tphpI~`@od_Tuy3qxY?xh3mhLOb5D_YM zV1HaQlAu*2x``fhP)zyWszLe2%}aL@vd`3;ez21U@~;GOH@JVHAW@5F51;NA>< zK%JkypgV3;l2P!$)a<}PIqZ z`}t+XTwDl8-H!h$07vP^#Akco+>nh#<~+IHm9Ejk_X2P8)tQNkMhBZ5cy zx|$l=1hJo7Yz^$_#Abnko|1+NSSgM0!S~A?JzU!4-yhB^5 zQT!F(_3hTKDB~zlPy*t%wdeda@pP|(>qC^L-n%NTh(Oa{%^fowLL_+rzI)HGa=Yk! z^Fgc+mHSxNopTu9;#uF>?v8VL4Q9jFwaE4$f`&ijK9PYHDM$mkTxRHVq`Ef@@n+E-ipVQS5Px~O%GSN|3I=Tckmy9j3^De~K` z3YXy59t!GGNId|#w)7xA^>*WZP52aTHd#xqXv=X#eT8D%$|j#=q{&uZL%CZBD=9qJ`3M94i=gt;RV_7oib_+ z(~r{DRGQ>C77=2m1I_e@U8enfGq%HkD*?7x!!;8-&s4MJACI$COAMK7X9tv%A!Rx? zx|nE~;Sr6)p^19GR~4C=MrC{eC!m6KOVgA41_|lw*g{%E<*I(THNX{&_*xVp!f813 zr-3wyE#P4LkY{}iLp5RzSED+gl#9;V@pr$`$AL%o&$%F5TX??x>3Xx`w9Gn5qT;`! z1Y(~SwLZdYwVFD^~Q-!W;8xE=SC$B26;y zKdaSWOn1jMnUb)n9+f?sxv1pbIKPnxa5$YEP;j@W!F>!l>K zbkPf!_$2EGLE>zjG_33`B{utV*0L75_5!4w^!p@lOS|FC(nS@nS?WlE9*ON}yISkl zLCZ&z^0ZVZ%oN^=u5AVUAH_}7Go`1`b_#|52t4vQDpH@{8A9$M|Dh`P_2c)NYbwx- z{$s1wY9$-LzLt%4qhEuctOGi3!Zcn3t>il!;Z8J;u~mI=0=n0!1e`>(gz?%cxp9m} zLAPF>3wy;tD~5EN8Iv=z(KRQ?XMf7eW8dSbwEH-9O~!A{M0`N9`kAI1<&DxJV!LC5 zk(w~L)w+axEcVc^M(Q86+!||R0GRhdvDa=4BR6hl=y!<2t z69r1Wi%`1C@9|4lznOr!shKZ|e1;TX*{WEGJ0V5ca~p=Mwe1b?4E~Am!z+^@&!GTr zV)!jEKS8C9*RRn4KrIU!=r!gA6l@gsafsMn&U9GTJ_+M$GIY*4t-Ew%zYOZd)=m3O z7n9^Mw-S@Q)U0-|$=&*7YF7+nwc)g8E1c$;`mOK$o^;HMdy8YjhCA-TqZU{bZ#scV zj29M37~{@7EXXB0!Jg8ODHq4hA(mU5!S03JGmmtUqi&IO?-I<`oKwGs^yz*Dff+W@ zdwuJ@?o#FyYKnWYTtf7(o2#o$E&CtRminHvX9A+8lyml^PE|2h#`cwX6snbl2j<=9 z1v=hO@etpUjg7jBL&!5Fh6phWyk(J$<2L+bMlGw8lcMuWcaZ6~2Qh6ap+1QJ&A}M~ zQu^3X%TN@+)uTx}F?uO{83|@ne0*E?s^V8m)w#TG>f)}BNd&FgsZsZFWznQRxLeOa zkzuiC9Azl4Qb_aSOU)5s_N3xV)W>1HbcG^=Az*kk7)W!r&(1alK_z`ez?7Mg?jJR3Z66PR{nE8wNi%5g_L_83 zRLtP;qqv%B7?kTwsX%pjXXqq3m4m5mH0CBhAu2ZH*F&H}Ztt^&ydzQrPn=BTz1Y)I zXLC*#b_y)1-)+^AOXdAo(?i-=*Vvn_lX@mM>z|SK_>(Uir6ShcCgGA5`ZH9|kglrI zTD-h)X+XB}PjEHcOyi+UsWgc0fSr5^;w>mvM15URTc=Ug(b<-D?!$pcz25XKzHBMi z>t?L5nsXLJ6R;sbYnD=_=$CSlOj@1;Khy(RGa+6EQfEL_XA^`AcaUeVIMCfd&>vmY z5(N}iIOI6rPUSK?H#&H>0TT$n_twP$Yok-=}kM- zw;!Nu4hg?WJH*>Z;q57|x3ab5+za@aL+KmLX49;P()$JznHR2-fBAu`n?1v!i(!Nf z9Co;QY;fCej`RWV;mO`fT3*9AHsKbhw;x)%v zaYiIBkl)W8SJ)9(SR}lu9H@|#YSV7HjT5h9dBSkFJ(%BkpyK0W4|NK|MB;ObO8G|1 zQ)(1vcbPV&O)PKilIln9!G}qp1VZe&S^*+Z#RV2rzD+vs8+Si~R=> z-<*8CGZd>WWrz0GZnqNR0)pK( zWAX-he*51K3T5anxqY)KuR4$5i>JYAC@=~~3t(f_bbwJW;<|5h*I-}lH;PB0$@sp$MM^UwFf%^K(5l9|A|VA;Yq-~g0HRRyQ_s5id^ z?0EemxKI`h z${^cPn!Md5Ru7@ZwVt13z;z-@5>QAIBSdV?t82>eC-EnJh4|u)R^HERMDYzke#U`x zGR~a9M`fxAv?pM=Noj2S!r`O88!7n|MEGs?aX`a0#EyX}!WtwvT^7w^+l>dn7%%}ONuo_Mokx1llZqpZZ~PAL|ns;AeT<%Kza;fx}nLMGxPHnTOzw*__xRQP9CGmD=Z0RMAwS zYeUfuUj;xlL<}S7<-SP_kq2%paZ1Ez^})TwrKpY_{kqD%e6t!U^`D31uN=Xtr8*U4 zZr|DWM+!chs!7AXM49w+=YaBj1mKBLamoZcKk^|85;?;bDYv0{ zv&;wdaZ(kjjibpAD|E`(0H@;Yx00Y_N-lC8?voC+k5xMka-!-TT8|pecbj9RSGE|Y zABDN+Jz6Pt>$%!H&?op&skgLW4MR(jn+)-g%-$bxob9-u7G^1EFa zbTMn0+M{~008z&3>kA&EfTN1@!3$6k|K_zRbl0%H%XWP%jq&A?a5R!Xt;ZJon~*l9 zQj(G~9^6V?Ajq(;O)tjymwZ9=%3M!6jjtq8G}dk$VzUF68vuZzsQ#u2Dp8LC>8(vW z~+e!A5V>r*puzbMm^0M0FJxtdNkO*d!5yz;8fC!>#Ckiv|QwadHwK~X7B1XZjc ztUr46pW%)85%R=Ix6rG0d~H3qKf@OA?$g>>1i0Ee&p_W~lM6S$piclC&1`0WyEYaM z&@G?6vfAm%Q|q{xM|=H_Qz45Z_@w`h$|?fMNdsAa12Q;etOTix5DN#gpVRzQvz}hd zo-dvD#uBsR%T0x>*Aw8!TzzZu;C`#MVETT?>u`XbzMiwt;3n~7AJ5F5r!ufnnwfKJ zo9~_JQ!Rrhnpc->YSG*giC`JHPfsvs{Km6>^4U08FZWDRIV*-%2~%9(ewjl!L_$Hg z7;~F_RtO1&058_ND91wH7v@Y#$GC^lmKIpPT|p6nJ>#P5VoF=H9P!4@h}qPh`Qj{! z{-*Eq!=na|LT+yxIW|REM#euF3ejvpaiQ36DTfzRWkjpgf)G{Gc7X{jv=9Q1;`9k@ z0`P$Ipsuj}Sd=)M{?p=iXdiP?|J@X=c={it`B4NeOtMiAB%%(>(ffYZva;Bb`NANZ zYaUYKQEoQ&6FEa-$ho|b{-OsrZQNrdPfW%$+dwi3{0yJZ%ujZ8Osu!wE!~l`oJM_YUVU5=u4I7r)SxhWpV1_^*K$N0fU?*& z7nb=bHo67oEft%f5a%$;W{bezqP}!~sxv5Lp3|Wx4TXy%Zquad*4tE~rcb%1MHG-c zZ(KCO0~59q^YF?>ZV%ZQ^In(lqJ9CYn7E8Jz?e}BhMLto5Vj^IP zF_M!99unAlf*z^TIF@OrAMp<5(N5l6n)Kwxf@2?4JhD2T|Iq5hnFZj?*0S9e9rS28 zKT8$YyRZ6^bocMl}0GR)XnwWDQSGILTWB zQ?7mF=DHLF;uY)Dgmu@(xli9Y`t3T-KhWf=n6mJj^s~LjLeDVS+S^)zsxiBOkkW*y zZg#D^=8z<)T{*F1^SNLHXa@pt|7B*2vDp4Ax_)FPEO`M-2)xL5P4UGEq%w0zOfAz4 zLA&5Zz6HG0xPX5pqqpTjSdCpcIfwiU2 z9=}6N`>24*nks~sk*o^$qJ72+e6z?e`SL_GoGHnBIAo3k=YW+KgNiT!iUD87nUw@_#G`4ii~D_z zCNalj-e(Zx%I5WaXdnCf@8%{VGLW93FHZ1Vd69H?qXkmlX=W^==j7KLfpV$B=2%>yCv_{3`N1{KLrwNDO6Ccn5;k9rKs^;-zZuqd%Bb2i%O zF(VAzX6Fb%Ry^S!t`!2#K8a9;_| zDACMlggD={%ipp%-Atewf}@j#{;f9$voU+1KA^lP8uG#~sEti9p&zjrO7s5xSUC3k zt#%IH-gsm2P#8jyZ2%1*No!JIH97wh9onkc_Eh*t;yT4<`ugGVCEVr-!E0}3a#4e) z%=!}ArZdih*VQ%e*|fqX$l9*yXwWa607k=g7gth zCEF;x#wTxO;81`z=|6^`n;$M~V-@7L(8o&}TXt)w{uS$$3Aj01LSr8gb9=!Zc84Q%sGsFWfFD!E_ zOJ4vlbEJQnt;#35+q>uWymjV&oEUvjfcx}hwxd$2Tp;zqy6u#oh3-#TftsdS+3D5? zI%+YPfSs#Y__>vGnK|+D^*OsvrE!419P3y~liTbj^v(SOaVXRO3Vn26R;zmcyFxv6 zjW+T2mYXW>r^sr>Ih30u#>>}~3K2N=N{=H~sl$$c=gQf?FUsC79%}PMYe-Dx6z-=JxNZK4?o`P#Z70 zptyvUsfvv80T)WeM1?jh;DiqF#ifaKh0CF1 zqk?YUEMJyPSp9`Z~pgs-kJV7hVv(~W*YhL!o|3=#4 zRhCN?qO88d?8|WWPS8BGzH=cwNuCnHgf{`9qW(dZq2C+vY%9{OqLm;0U>VoD>P|a5 z1`o*+aM-lf;b7iQ=ADn88P!On~~pR+@pG z^t1MU3{DL?S=sP~l_!c!i5>aU3$R(w+Fw{4(2h3IbMy>S@K?qb%c{l^uM^|r&kYbn zZ*35r;K@Z>Vf#UVLh(Y%7%F&v*VcYbtSL$;E@ii^t ziP>KTUFVSur?yY^_2x%wBY-0 z$QrtwmTZNZk}yRd!tP96didZ5dV^Y8^(AxvzipF(Mnnvt_k}%dI~KuzF4l6PC>(G6 z>KLwbJ>+l-t@HI>6-17@{WHm5Q~xV_9PY25F12K>PTzgle>OvsLI7CWr}e6YI|PFs zj4v?bab@5fz0FvBQ}Byk(Ly2-cNs+N)N2Mpd)xaLhd2VBG!!0sAp=Fzq2%1{1dMeZ zg;1}f2tAL^rBtM5Y}vUT9R<<8r!P5bru|bQoA>Stk}VED)iTrOd`OIk1VIg&yS>AB zwU)m`Ho4%7*UQS?ed?=kU}ZwPRXh>c*Dag_=U%o5V~T!9j{L53+kAS|a@CUB?pUvN zVQpB7MOw-{LRaX}AB9O9T^dX3ZG%S3!^(JnkR|he9Mx+lTKIcmPx$u)T!`e8?dLTV zfOY4mt6m`L9$#)lQ!GBfu|g`Uc@K)qPf2c!PN_i;{?n|hwRT2#LT8bx4?YF~-TVeL zsn+u9-!b(U&ch3Gtspqx05CBGq*VuUg&}>o2NK?nqlnf(^v`}bl2koUuN*OBPwOxI zNkoo>u3tG%Pc2!|XoC~1LtdkD=!i&lV4eQF&-HW^qC$8qb3eAe3cAbeYUPW|0($w5 z3|^XP+@1#H=o;EiT+WnXj~I{d+-G|K7Jo*mm^t%#E4HoiB}X`j%4dg}0Fwe_ zZlRGV-L8LCDoU5mu!oFxt!s@B6}}}h2X`l*7R!NGZe)k!X^Vu=~Z^wDapRe6>`Pb~6^J|?+#m`L(7u*9T1v7Rih>;pz z6E2CUd8a~{3YMS$qL4h_3zX-;(w8FY{J^GJF?hd_XW{7-Szgk;pel$ff~hQS^Mlo5 z0edr`OOn)B<>Bxc)R`sGazrj;m(q)*r!*IzfXVtefV>AzP~a#Gt}MFzI95RDT^0giE)P` z?b~aPfS3=P_O%O@944+W@P;#y2$t3}2xd*j$gEy^oweAA=u~$5#(86vzan3f9rKq8 z9>c-!W*!H%*+3h9N)>SLScgG_Zkx8HnuM%1Cv^v(0Jq+GuYiqw?pbt)ITR>m&xuaN zNk^JeI(i^r!T7uQnZ`TeXV~#G;{eTCVXl3r-7>gDo+@k^93uUbPcxZ)7FYKB#ty%w zbtAGIyrc7V00COn;||X)%nsUUuYV#U(1!$5TsTRD!$;O3eA|bAhS7C%4n{xYG3Wt+ zf2qipADn$iw)?8%Qs9LivyRf#g2hHJ&Kzn*b45dq;aVV{z{KwaS)E1T@=(xuu#Dl- zC~-Ygx(%PNwFu8%e3 zN{(!8pW1Jb%QL*QFvcAd{JGUxnM8~^7iCa}F$Qe9pc<#k`CEcl6Mt1iv-*~dRp@^Y z+fxZjS|KPIGqfiB-EJbX;O_+>qG21qr6|3`K+2-XJK4UVCewgovf}g(>qw3-OVgZt z=cl3*zn6X~?xC$J>tXxMPS>$CZlycIDae?_3C%?iig*Y9z+G2dUSR|)Q1G=+kMcjt zH6X;j*Lg1Vk%<6f;yZYE?XNU1mMp_oxXYt_8JHDNs1yfIvoSt%X})J#d>>|IV38n} z-Hp?U*EdpCCD+`rSLJGsh+3>>7XTfqZte^{8-4w`{K&@g_u<``=-d9~XCZ=FG9bPu z@7hv+4FAZ2X`?z>twHm42XK7tMDvVKZHpN|IbT%z{W=Q!CKE==&X6xNVN#>MHN4%0 zDbZ5jX$J#sxKL%MG?8ySc|f#d$VL6KI&8M28-)~`L2NVjHJgcT;zW2#=fbj4N7Hlq z>>ZsvTbL4T7)5Rux~msvBW$s}&RDJBZl)#<1~c2?mfz6YXF9R^V@KrA=86XKu(URO zYg!3?R>$_55bEk@P{nVM4WL;`8lswS20o1ogWwRc%8C zpaX8Z#8BN(4V;ak*t^k0#CRFH{`6sQ-Sc?~{0JhqoPb6XsB+Rv%S^NnOl4qfFX$w| zL9Qy}bFu5^7h92>Sk5`yDco=5C`Aq$qpJDoQ$7_6SZS|A?!S2rRXtwnGziGzjs5vm z5PEf(uyq`nZBWN+j_rw%p6)A%oEbGql`t~HT3W@vEP`l2Y)o*^BX55!Nv6CBY_vWM zro|@BfPBM|ZXzJi?1YLBn}+hAgr$hR3S9I-mU*{!HG(4SkUbu`E}~ZFJ1VA(5BB zLzX)iv}2X(mhEb)f`QTHE7K&A{M1g9(3@U2Tv=K1g#I@OePgk6J)^w+Srkpfn^3`} zKs(e~DH`^BgFfi65s0L3TT0SOC4H9#17vc9$?J5Pt!1A6tXueb=Sb2}lB?5XDGmy) z;xyQMT6J6O5r{96wQ0RWJU$T%=`%Ybc#Cgju{9$TdNDtle|0pS?`FyPwrJf`gO;O_!!e;e4*hUVSaPEj(xADs|dEQ8?^s(VfCck z=r;?uF|0d#Jg3%?ZNpSKUJ5q#_TuBD>VD*P1|&cRrH*#hIb?n%gJk9)|N1rAMHV!0 z)X^}z1JDqW4g*3@1lJ2fSc*N{)|7W?6pGh3^LfX{F%ic)*!Lc>AxB&J2=DOM_|0L6 zwve*lk#T@tqhyM<35oqHj++2`Onv`Fz!H{+!}yd35FsOF9iWHG4(&sFG1Lop4c?D? zT0NO{D&F|}2*64jdTVxa*-VGCV@A%V-mEdF>UHLmI@53vZ4IqDkvZ@#2tKYlT@pe* zb29KpeWUwhYG5i|bEQWyd8L{nfqG*G%iZkWw9?ta#u+1-XW8oI(I!n!2^OjvbH*n1 zi*+~-OV9VqLCgl(x=zojXEw^Tv2aUTdJXFvW+FDcp8VlYxnm|GIEZ@(xBdhf&H z+d(?SYkssA{GKj6I=2POyhF1;PxsOuk)kajku05~Y%7-^OSv3YBfIT~F|QHMX+x+} z!*vC6KuSU?Q}!bPkjbfHpXMz(a5n4^p*Y4$;eT1paoQ zPN&^pdGrm{!PwXRMk>ml@2B#E0dgLQ%@hWB<;29E2X_Td2(rOY<~pvt4Hy~LzyW`F zN`f~?4>nFRfvyip#F^?7H#0~6Keu{51O7DSZ~w5tY8$_J%YM_?FaP4kFmoADPHoQN z5MnGi^WOK?i1X$fcZkHnoZV0>?`r%!e^y-EMj#O&sc*}`wB;+3D3WaQ?XAR)8b~s0$h9f4?RF)~y|bt6>;CX>&mNzq6A`Ja=Uoh#)}3R0DgPI8Gk=XYk{0 zO8Ns-MMf(MdD=9fD?svB=qJ|^zbLh8O@ycA0z_ZgsIH=5QRIxV3$rh1Ewe@aLCwGg z2na=UN&~s}ty0%5DTEoI@wNK(rG<@dTuW{Eavj|W&`?ub(Ip};t4Cbfe+LgLUg4zb z6720NNaINd$!W-`A&&4z#ZNjpDLU0o<0cdIOk9g!|2C0@?{XT5l47D#GXO_?cMZUAXNn*S=EN-y%Z|WY#cDtef2U#4Q{_>T3obyhi26(ID3uld4csz9(@gv-XH>$_}o)NwAER$j4#6}2lZ zE{?%*-O@jV7&v~`@wP`1GpN=VG=w(HYS`nRv*l@VoZHpQV~7wtkerz4HL#3~S|~tR zmw=&e)^9WG#PaB>bfFl7vY-uqfFnu|{tliJItlVD(p1om7+YQrY^j-@I9j=U&`+++ zE70=MfOjO5^pTDc*HiGM5Om3ir^0Za{YXYnPpFEhqVkdH$kH{JS)Vv>XtZMO)WIUH z$Zu<}25ZaW61O>VM8=BOPfdY-n`nnBUAjr{xbRF+QLZGffij{a$wGhfuoA@I9Qx;d zN0a{&0CZT=^W?4C%Qi5?QRr(6r!j6isQH$46V0+RfS`Md0j+;NAaZ+O!4rYrf{aI2 z3f*a};*Awn{W=qamLTa{Nrgr^Dl!731;N$NGWLmd-tNGq_jwC*=1eTUc+D3@%8LJX z6!XSsa_H)73lB~fV^l!`9er<3BA^llKwoV&BM->Z=1si3lmM|Y0oybu$+qApLf6`A zQO)(>o8pZx6-g;RgwAiON~di}TjQDnu2NkKR)pCauyy-BUVWi$eUMy5&szHrP0!PD z3J}~tc16XZkbGZ^8iAWoaZ>+LG^RJF0IPy4Oqvi#EAQa_ITHEm)D$}E;5OiELtIK% zEk)QT3@cE=zzT!h8|+Lj%39?t0zQVg=EcY&LM|*XzGs&389ZdfeKFg=hG_Yc+kJen zaa)ubU=$D%jH(;2R8oOkO?Q1}(HXNeF-U?+Z2V%BvG8=|t9$qNSDkJBVsKAJ*agnw z@+j<|e9J~*gG*K&vfFw=B`;buaZd-M(31U;Gbl~pyUNGnlt zRvZ8p4F`c(m*WrW{D$8TwnhL_cTFB(1GrjXxBvhmnYTq`rKVU5zs2A%VUNFJHk_bd z+*RPMLx9RxYvGU%h1>uUXMbZR@}*FV2cj0XkR+hf7({d>)3)F%G-!>N!#c?^-N zlahRtr6z1U6g`eedBGYjdw1|x;k;U0{&E$Yrk+rVMnQ*LH^9uk8~%wToLnVQv^sM_ zFl8nHEWk?c@Cde=_96nkSlheF-H?4qc%Ar!vAHqHyYu$!VEZ&y;QNNINgB|5;D6)O z@dNStoU@(Vs~LaYO4)ba>2@QF)rVJ;%G0`!(P02<=J3*XUtZ7y(tjcowxmntYCfwDxXe~6DLOw zbZ9#m1E(dv{-;M3fyuT1!jn-Mw`vEmnZp)hm1|7Kc&oZz=f)h;sxTtp1yt^v?1 zP?fX=hLfTH!O&@TO}@3yO3YswfAx!{Y^48@qn!SKVB?K82KZEYcoMdEcQ!RPbvD)% zH&#`ZRdmoYe`FsY>>lW8d9lta;T$)!qT)tx^If8mBpGYfSg{P|pGmn2b$tm$uTI@b;m;5z9@o|Sn$5LKc_P=?wu-&9Vmh?9=M zB$tH)Be2hm;wkt#EGahK=y7<)-r0uBq=)Dex?mTxd_pKMHdxsWkL>uFh=`KV@%zFY z6JP-#{M3dt{Mq&?)L+plxp3}w=LP1{F|rRM%ykH0MM&CPzjEY6!hZr8_s|dDf6h?_ zSOuIMdaL2xDKbg1u3tM?$ai?hS~BJ4*4UyIcR)Ad$J3}m!e)_~(P+=eLo4_P;r+V! zu!Oz&Xrwm!w}SL&%s*m-$&JXwOqj>WeKJ5p!0Z_%cv4Fhp!3Vo`}WPnUq|TdwI}_- z$v>88Lgna-#ro_B#o73YwVr2Um@qVQI4c;8@ zf;M{ISDo;;JxD~L zC5bZWO(*~h*VNRlX~b-8wy)4LzvYI9gCCyDK>7=Z0`>5Cs2qCmS^BO&^4A6&$aNcD zjS|ZbgMX$hClMG+5VJ%bG7IW$F&D}CJJdbnuTj;}Vk8Po=8=>q8TcVNmp&_JrK~qR zQd}y8YHcK}putOK!uo?1lMC`gFYI3P>F}?8r$TNP@PQ3p?9YFNa)P#@D15KOVbe6ZFFZ~M>*MpnfK=p!+*yOe3mYSeAf~46prcZ zO9MAn;j1eks?D;g2?Og$u}EgxD=Pl0VPyWK0AbUdp4d^ZNpL*gd_*3;)Me;H?ktw1 zB4)&9!Z7=+52vm%IMCpo4j&$mAM*|B)TEVJo<1|f^qDaOZ<5I*IjdWHCOdEKR|RcmFGHl7inN#_xH2?#AyH%zqJXaY zf$&`F^ER!F#m7YJ!a@U)dH_z6+DY9o ztwB1VWrJ0l^=A){*l4_zcMjOy9MXh~X78fGDR-T0w>|mYk+#?ddiw?+)8_}EujGPD zO)u&r@1m^EBj5FMa}Xp2Tgu9Mqmx|Jx=6L-@_@~kXjB!`JmVnvEyPO#P2CVIfW1yV zOA)6qwEsZI?Tu8Cj2AM4?_?k25J!$`E&ogO5Oj2*u{Q4;AeFDDw-X$2An3a zkr~Bo-O}7J;c=6VW)l)6;yv0m785J8GF=R6+5a_1xmkzw$NB_gZDp-cm`oEiQ3`1~z6b3g+1CF|_fVil80 z_V~r0t93RMVuDL#36ogqKKrs02Kxt#F6;`z2y<>%G~~C}Yd^st5%{jB*K7m+U;kT7 z1Fh}&qmmSb1%$t8jnbX1x#lPzYzdACpCzrfq-pRxGyeQ>-XN{uS`?JWZ-#ZC6TEw> zMrEqNEn^6VywgLJ=rwU>^jCuKhP%Vj9*yGNQm2CIxdK$u>8u`HtyZB_w*VU8W%3Du846jvKHs#to5i%t#Y!ug^=@h?{>A-ki(`?!#8 z0|G+!4<&`aAH2 z;B>0DPyPGjB1+C}a+B@(F~PU%p!N3NxgTq!rJSoi$}!TPk88e2sxCU1WpaOeb9-9I7Sse4 zTV55G{~i#1JZq?f* zp;AQyq6}G$Z%jTs;USlNove!_3>NU!vgm-HnOMiQsZn(Qbd#iGCZboY6}b5<*gIritV^J?ir^~Ao#zlo(SoMA6mRTE5jVW`p^cy)-SXovgXZ4 z$){pgFjq(CS$nWmyJDDT7(^Bo?}=9#Td@(rFJ%koN%SyqGMq_urJ$s!>eo}l{!rC; z$ES}eXhbgCEMIrn&IL#ZUBPYmE>&wl%2!B6KS(l^8c4Ne7hdct!v~>;gG^5j7CE0> z{rj&gfAgI2hWxF_LCbmPS#Yl3mCXmNY6xK5q~4pQQnQ0Q4I4FsjRxt~C!TVEs=mKJ zK4qLBo*tEQZQiIqzUryvz9#8@&Qd9xycicY%BT>Abbd{CrTBVJ=G5j#;}4Kv6MwPt zjE?^D0Sf~-|ypklya5>q2|Jo5c_3RN8Npld-z<*G__y_lki(rM>8$nmS2 zMV7~!9WbaINcsDT632D?*4Ov5fbwDE+WKu)&Q$0~;<~^q6EFI`fkxji%n-RSgVU}X za|`C^22$1;nvk=uHa^@v(F8{X?lC22VaLPbu`u(3*078!jX;03>L~MLMBR~@S0akj9!uZz_Q@xXGN3z>Nw(C}$!<$o&pF44?3dU~T#gdqdJ6@- zLY$JdWSrHif8$=4a>cU-+eNn^nYYi;edCGuSoK&63Vlf)uD+5D3RVPxCryU2nVB8m z3Hta&a($Rv))%lYK*=kZjfOYoO98bThUOZ_4YM}joHhvuklRs%@7xwQMT4%&Q_Z9$ zgZZ~JtP$;DjuL~R`-HD&%{Bmr3ILYPz3tQV9-GYeZ$bN7oOFT|KYu7ehiwf&6ET(@ zV56FK<4;37#5Q38Qtxa_lFh&p3xj_L-aalQ{&I}+X+rH(3rZdD~XR(;@y#G57T}`kl1QaOAsGPmzK46^W^6rv3JMo!os(8ihaNxaSQZede>W;%v90{}@f%fSyxpH&Jty-+O}9{rvh1pSLOa4=Gyzfu z3F3y_0I8*;(v@00h#tn!TQEb3 zy{}sRR!z=Y@JH1h;w%~fBj6ImV;taCg+Mrb(l&JubI4Jn`XwhO1#b6G`IodG{spOzL=;rbVd{=r|&dJEGN@Pt|a) zK=2p-fbkL4xZnz!%R}?wYM`El9=L#PrQ`u=+jM~O#8Y~O-oQ^Q4N}4(dBaa8V<$bd z4(lI?MQR?y)=g`yfo*&Z9Osa7OSgt`S@hC0-q1QXK*)Y`Un#_)!EF#b*cjZHC zd|aM$MDYxKSe%U0uV1*OtPGpw^_16wGGEC=WaPxC`pFe5HUP|kIggJjqXLm}J$bCK ziUJ7wxI9KsXcVZk)vjOh?@8VV&}H~^=m6?8s!J|Lv6@wx*`t&}Yr)ddIRf-izS8D+ zq<<+L*MIdvmJ+2f!k`Iw(KCpY;hs+K8h7UFOWmZA!8b#6Uo!>|#sn69U`@))kNf%K zNY)Tt7ri6hMRT&_<$CNzsajh4_h-5vT8tcCNto|3eUq9CGOS#$G&sDz%DQ3EY<6~p zN2H{;%173(gdvbL%qtBRS-qnbsO0l1EDFMj+^PxvF6`zV8mw+hdKrV|6;e`DPwLZk z4CQ?m3kAsO7o!>L+vQ|+j4e#eIy`a64LviSBn8ajuvSC&8fIIhEdEzOBJ}?Th5X04 z_;1q3(@_}?ZudZ6@6y!Z{AAnI5&(`?2geY^WUe`b~!@x{Rr~lVN~+j zIFMy2Ld4HgiMr+a4Rxi03g&B8409pYY2r1;FB~p%{?k1HXn0YEYSY7->}4lYrLce0 zSZN-yRBemjV|g%&h+yl{Is6sx_Sr`>>EA}y9hHG1w-vx55vk{GI zNMP~(Po?|s*vC$XM-H0t9sWe#7jUB}1|a0q6gG3(kXM6>MQhWxYk!;1TjF zKL1A0<3Fu@#0KDISuYe;=GosPct}my*BJSA{gF!o4~z7C@98V>MnCNWT<^9=`uX6v zgyfmFl6%}@LjF;c$bHInu`rG*?wi9ya5I-jB*u=4`uV2m%>DHfmSVvxIaSc~`md~v zLBhbQ-@$Z9yYRGKteq0lLfxVJ=Gt)PYY+35tJC$od$`;`DjRxsY~#n-c|GJM4>?7V zh}4)Zqc6kXXm)n7C}eiqnKWG{Vp_1>$ndv|HI@eDV2;OoGy~A%n-4-^)=ag{BeS*+ z#O(}DshRwKs8G97_d~qe0?@)DJqzj`>wLv!CXu40RT_wK(cdVUic_oahrMqM(C&F_ zm8bd<#6UJMJOH@Ly6(*^XTE*}R&8Ds+slA!%H<{nnTh+#*3&CR&){GEV-wZ2L!P$j zadRFiVF}h&RuftwAn7Dr8L^7I)`#iT3VbHdYLai~=~`h`5t7+F)>C9EKOXSf5QEK0 zC+r&L}YCK8Yu3_f6a7qDyC?UsZFZ%Oz)qJ=-5i}&NVFS2g16eLuY1R>LHP~q! zbYPp&D2-5!E+AUzl~cq%_fNtCkn`xOZf}UEwEa!y3~LzV6(H3kRu-t?Z~WGyXQgJP z2_R?dLL+J=`>>GFSavSwF^csd)rp)E}%Ox5R#i6;#5wJYoMN+$~w?e14Ct7;G;7h@HHK5<5% z?Wk;r=b8mC;ns@63yZBF%2^-ah9!E?;`w-~L$JQ6G5 zn$VRDo6@A964jczl`g`Q`GZkQr_glySXM9P=5P&%Ip!!}9E)CVEQ6}xhDq}~5oJ&^ zwv924LvJsh_+^%Ad?^Z+TZ$!zz>aLn*ezEA6>Ge7QL!L}r~G|@jc9hJvU zMbMu!tkv6zA%RE?MNE5&$v;zBVuS!HfVm>)!1$)FX;mqS)@W^jy1gZ6{2IeeXAru( zqy3f0K!qDdNZ;UVE_KvDYi7r41`VGCsUA4QoD$x*IZ;^9R;*szDOe#hwngt=z1lBZ zH9942Q?o+=oZetG3W_2w8)U!pg94oQnRbq@hah5S-^R_T)66<=I@Kf2#ACZD7`3Ub2~HU0>4j z;4bGqf^(iL=<P6TunSS6|xb?BN`#T4bB_QTDNP_cO4@&y?C z;)EPFm@$SDSW+C^Ked&Krpqz*ihT-aO6Y!+A_CtAecj5=vw20yj`7#(YmUE}7&!YX zl#Py2qDb)L9@#NZP@c;!Vn~rLA=W`vZZcg$pJw`o4RICfOMGmg>ZswPf{#_e%o!i1 zP|W=C4IpqF~ho8Y^b5pd}5ScoN6S}B7yeR9}1Qt#-B;G_R_^>D**B3W7$`+ zQa9B$eOeGfP}nx&ph3i2eNrneAfdAU3Gki&R_g{Zz%zMFK{wcE?}6TpPt`}rxtpvR z)V}V0yZW-x8g_vqFvMylw*}OyfbKnwG+ufC?nN*6o04M_9h(YYJD=D!DK>Z3?I#L? zLO-Pg1o+$wJDx)o7G?3}x`UM(_%+xJP!1^tP)s=6-ql7!+Zn}PGn?*{%j@Tj{%r<#f#gTn;Bp0~ec z(4fP?6|(qlKv?Sz5-we|TqW?MlOntnUDkHpp{U(wSyI_5yCe+Xk@7bkxQfJ?t!e8( z97NQxlqo<})O%}$k=qsS?Ufeo!##2C?r*+-osa*uaqZ$N&r)xGvUci4fx}5I>&@(I zbN^#0y-$g%J-bcKNLrRNuPy;J2~gsG#eOg1QSSQOEu89SVU6Ez9{%3 zDD6-b!O76r=Bn182oRB;?i#-#;ap`jYixuQCA#m^T3K|n8Py|- zTHyEl1&mP|xkzGCar)NyG-^Mb=t$xA6M;zi6*osd@RSd^m@k(``KIKUB0d{@0;p0^13+q)Ro1uHHIzyoV56Z>%q!cWPJ&<#h;B%MiEdlcOmQG%hsx-VM^umy$-B< z^vxdyz~;nm!U@$=AGBUE;X-6Pajn#*UibdVCU4gy>t6ok_k@iJxe437 z6)N&~Cxj=gtVGI1e`R+eP%}}Vf_zm9WVvK9dck{F!RcHx#ev5(;N&G4e;21AQ zT;psvIzHEVK?h^Yx0JsvU)^hw1v(tEoBbs?Bisk)LoEeC8q; z5HU?10TE@5Z9RWw8r*P35f9*tcv?5rf(~)!?-1esR^3y&nMWjODuHR64H#KQfgB+3 zv3}3KyB~b3I_yyLU15tanzNY2%6f%qhMsm5Yf%~VF*>I{$dLF1aKeWn=BuU2R!PZA zMq@q-a^wr4W8RPN%DVii(@p$^MPMR*;0qjGK`9*IP#l>O{%F>X#96Bd6|tFH+2YY@ z`amXhlQUukkY{%pe4IvYJj4S;3S95yH$=k{wpByNe}`BDfE+V&C^lC2l1G=PdRh$vtG&pfik(M4M)^0hz!r^#n!;%vyLESB7iv8Qtt zCJW3&69t1@im@C(2M{_t?}$pBPjXbm{1?bKR`JOiJHc`wh_Vi(@-8W_*;u%NTO&t9 za0oJ2{7jOW*?Qg~afJ+nex&r933WU=8q5Q}oC9IQs;KRT3LL82!8>K%p3Q!0)|UE8 zPJo+4WB>c3{_`YS{N8;`K|N%+VYO>4xGdD9bd%2hUJc$Ip+^x508psB?p}$IfYw@YXMVcX!j(s${)3XH(kxBFv5Dzct z)$Jm${*H0>B8ctf|5*dg!brn>f-Cxs~Bc`i1??oHx*!zxH3Dzu@$cd#b-y_vWb*+8t2+q+UXXqvBlqXY5@KnTY!hCM zDEQeCvF5Y!Zh&(?zVkkr01O3zQ#E&8Q`lbYk<^x*6vPU=2l$}~TS3CNMn`T0lI4?3z zD!L3(bJ3*; zuNjQk4#4U!+h>g{D0AKBkKI1P8~>d|Ui1a|*H7$;;uEaR#=>!FCd7M-oDzhH3D)F_ zM9d&n&~ayLo0F73j9K23e;Az7hA$`F{Dluh z3q#mz*%|~UrKs?qyRVs(|C~M!o{NVNG}Lu%sDqI5WG?XtX&1PJ8(ITY&>ykZyx%oL z3J8Fga}n(Gn4@g0EfdOSjXx%$Bx$I?)~S7VNwA6`YD}ZzMb2tx9$(O6AH;ecgoe5^ z>jdSkhZXuThOb}WOG}WCjH!FM7lsdt?Fpum86LdIS`eP_pIbg9qPgqRaFkk zAv@uR8N#jbvT4#-l$L~gKOMYBp9~W9dr3SN1Q4lV}p!#iQFgC`;DKF%g5_5VT>8UG)ecpJeBFx`Y5;LVIrPmBzY_Sbf{HlpwT#>v!IrNOkgl#OIYcjWI2=X zP1?lQM+;p&KRqw52hw6kNhp?DF+M625^ORp=igC&7z7?z2FY0&PEh-FYx6F3FvCv% z#w)sF28^S~FPoDeD;%`5>_(MilI#|usC<9|!&cn34VYX)d10?Xx?!w|Gd~Y;M z8CtqC07#^`+|B2S^EdstjhQ{ts(eR+l-5O~h*K`?hl+J!r6ss!V;O+<@(|THLmJgB z%Ud(=?Q?Yr!aa_2DnEg^+XMgEwO8&iERrEbDe=ctZ?2*{d&+qoUF8QBerzJDwi1R^ z|5C|w3Gy_0qn(t0bIh-Ygt;n|x4q~d{n<(uCZ4Ap6OUmDI6=wNxv5O@`#(gTRa9GD zxOR64?(XhT+@-h{cc-|!L$RR69g4fVLvdOhiWb*m#oZ}z_{RUAadNXSa&pK z<~yISHYq9UexQ#s%@d;QdHfcG{|IIVcvB~!81uhSs@%OYR=Iw7TKsJ24g(9{C|NSw zB*!@0y?`YeTm}l})_~Z4;;6wI`*)d|u)J0x>dUDz9p0M>J=7=7TPLD-6t)$Oz_9eb zdmC0x45Z76Yn_{~Z%6_80}GH12LKdFj!QZR`7yPt-RcHAorUaps?-Wz&NfihV|seo zz}k_$eCL_?<*6o}eAg0iH&dzo@d86JDuy(7ihKsi#g{HP`f zEvzEK%(>1m5!i%%&q0z|&t#%dqOM^eTptDXay-!L8EA|?I9l^6|;04dU`Vp*6= zN~rj8t<0~L_X@Ez9YBu_!~;R;Lk0LvGI)XLVRj30et3U5*DtI~9O#B}2%RM}xF}F7 zR2%G|iZIK?;tg&oJ+&wq3BLuT~p3SMQ;dZyO&>hmE2tlNx`awk3nZ}vIrgb^yUtRZ5x z19}rd2nxt=ZhkTtN1J8Mz>0v8X8qsw#wyE3O-^2xtRu)vJC7kRW@H>I@H4(y@C&;aiASmV1q&F z_-fG1gQs+FglM|mfqs2!uQzmifeps(un&6&A5T z>{BL-4s{>8h8f*vOUT_~Sl~cE^nat~H$l|Z?3JAE|7XP4$O$|k=WB`?Y1dCsImK|xI{J5#c3XMS0*(Zf_OdKh-M3%`&ksnJzYdvPebTDZRhpyexBB7x zmSmv0?Lwq>rSwin7MQZ+az82jqJ|}?+q2ddEFI5VGw5vySsoRts_V(697 zSh(^9e&~zwkN;lW0}^WFEOrD@T^f3u7cWBHiiGmW73%7IP1E(}oL}-G$sBJ8^nHvH zfDw35Wt|^70nq8FUFA~DK{!s`I$L~39b?>FQu*jy6{;>S_T4Q@^k*7+UA->J%@NTT zVIY^kdcD{neJoUbbuyg48Ue-(L4#I|AJ*MU(BXIxbBMV-nt z2Xre`e#)hKwaHV4_3EW@g&`d+Yja#6OLUor4H>DLlEN~ja7khstGz7q!7!h%ur}ZT z^u9I;3rF*CQ73`m8*_?xCsigq#+LvOJJ{ng#Tj4+aXK~4BA|&>9rsAsU z)`3dDy1Uf$=X}Nf>CgkmX~08J<~PPS#zD%T&|{}vEDABd3b#AmHl5nGXJW#upI}z= z3neL_mQEd{-L$~S){k0kO@PZF9?UF(jQqbmNsatzV&!P?rBubo>&o#Xa z@lGD-kDnxkDziN53pe_rJPHpb3YAAe3E~2BZS38qsznYuXNsveUeLYCKoBSgfq0B& zOcG8`iu}Ic5>stt1kJNgg;Nt9d2iE#tda5UN(reuoeAC*I3Z*DdYLQ{pK|9(vFHW2 zyQA#>Ws`?M{?XrYmxt%WUcaW}B&F5J<&BDW{L2wy@%3XmWQ9!2qepp*=Lqe)M(IAN zbKp_~!T(}rsv5i?KT(bX>DypmG`#y*yt|KHP2=;B+=@J!_*P)7JAt6@!I#Zwyj<`2 za`ku;i?F!U16>+pEiYaMD<%t9P#=))+HmoX|4v&jG!(VW8VKjDJ!NpUPNspaT4xBq zoQkB)VHeU*Umg&!2qh^5t=}@_GW!Q5Zy)XPzA(QjF8Fb(!%&m6sIqu+pubBwKrx3V zXOVE8$>M)EA4N)3tyDV}^|lD9Vj_z9$^J2kgECqxL>aTtk&135@^yVQFP5BG zp_7*T;bldJ5QJ^2ud{K<_`M_%DbqbUi9VzBwJZ^mOF&gfvm{Y7gCIy~ehm)iehz6l zr*=l0nQn(}V|Ao1kp`^n-AdW(+?1L(QWzaHlmf#cwS)7&&>^yF)NmaG7-?*9(=CN! z?z-y&q18%O#yQdbA-*-}AW0MX%aN9t)Na4g##)QHBXYr?$7taLLcghmuvr)uiGpZFBQjs)$^&InbjH|M`VviO(Rmx{4{HeP^dA(WO?~0w zvRLYs?g)m(*XD-*NDO#IX8HW_yLxrzj>Jdi!K7K%^73EV}OA7znX!d$_;*4yNg}z}SX^XXqF7Xl@KmK(E~8t8cEsUBTpH zKC%$*^600;g!@_xJ&pLu>b`p`IQ11RT7}Qc=)|R(yA`IkL`#^a?*Zbh@TP5RuDTjX z*jn;5O_&USCvWqlfOw&;w3|&|{vi1`bS08(J$D+2DI;i6b-fBzpF}f;o#lRH=aN0v z{FX~+{SA|wNIMVR>-y;zZ91O5AdL%r$3IuX2TmxkF*W1lUr_FsVz7gqv#RMBN}ym4 zPS+T^29DM1W!@aJ{zr}r$1Ny)fP~ttqVC2PN{^8)9RY|z+%zWJfQZX|Gg%vk;cDg3 zy5-2k{g^=hUW!n?Lqiy!m?dlE&BXUJBf$H}_(V_ltF9d)Fx9j2@o&g?B}ZyITg!=h zBt?I2-mKD2VUj5C=q#7S-=n#YhMpq0CX1mL8>4!P`s##;YS@ID2|2}D6@eJ_hQ(XZ zap^`loG#$XYqU)C5Kxo3ILnNUGetQxWhvTD$6OU<5>lpls^_%wb=NUNP_;6tC_pL8 z_vQOZ_TKVPvwryH5V4>3p(zZ`#NK~*I>&<%UqBZ{9eUs?VZ0}N2ygiQ&n5wc8wG(% z{~}_Yz&+#f((N0=VJyVa@qRea8#$u_gLGuIi?P(2zW)6hih=@?r}p#@>jG#t$9d9^7t9MQ`|Nk*XIg0|f+F-;84%iNR>6vi0)(4GBntd%}2vh2W6i z7VGdK0c2+~C!8rWt$Q8q^OVoSntd%Fj*rx4QuW=a-07>Cz>bns zTqroCxfF$L%fKQr)b+ZQYe2lGZN9cfuX}4oE#g?HRuccKJ9JB$W7qD5=h1*F;#dR8 zV^Ce2ZPH2Lpl-av_h1 zEQkE&Qn}Czu6-YyV7li1{7q0RVNLB|va#6!Pv8K_Q}hFhisXjWAdrv8@%G5NS`!dv zf-+`=)?*j&{HNU`FW@3Uy};Wxoy3kl*4iGm9UCX=OQ!PBAwkp}H2xl)H%v8K;5@WU zsyOW@>gi-L4({d@ac93e8|t4p1Bpk~hfe0yBLe#B+wF8byP8j;QlZ&5Vfd{}-(!e@M~y zeuVnp>py-1@%@Un_!E`9q^`21uDp(#mWGO!j*gXsgPo1NyKiLW$MBEQp_$RncW3$w zVXTDMYcD*ucQzEmUhpi!A^_MVgUBTmIKY6HkX22$o{J-{knp|AVsQ7k1GUUCKrN&8oma3Q(lF(zF1SFf!}DZgnCEUv#%LBPQNU}UjG zaqUW%;S*Ho+Zg)%(wKF621??^dlkBLXTy9|Y~N2wsr+cgzFe7t`I`A|DgDUlQ=`S3 zuN9c@3i6m2sz1L@2F{ep7R3%?+@8WY5d6WS`T~8llAx_EFNY`FF?=>RqSGywtaj6z zfvMPCZp|H2Js0euKo^6q;_@1KL_N2B{0FK>=3C#xf^aWmUI2{HUGugoIIcuz!0|Og zw=6xEmTsiL_QCze{Q|)xRldvtB$jYD@nGTT6N|mMsy@?_cwfh&z%BN3vM;WE_&mrY zi8dqq*q@}i2YJ2KQh!!rkmsw(JsWX=^~tzUL`mYmEO<#PQ8Nqv3zL%{uEKrA7C?Hd zFln#4gGylD)zjkR-kLB@@ABuim5y$*wGL<@%u!iEE(%^6pEMf4!a^`GokwhzymaqA zkF)}M4a+`nyaxvevRSnMvffu`?`nj;koxZ2!(Ui<1dS5}nPY6bfdyG?7=e(P(>_0Z#QU3Rjp|J?37R7c~+`+=}gM~dTTe|BcG ze8(2dn^VpZ%Hmrm*xeT6F;=?l0zS zsu)}V1b){-F!`$kHDJsZAn3n1@O^k$K*G_Tq1!#8e&KP4@z%$q#_=N<)~3K7!34gf z@Df~y9cC#QpGcAZL+9}9)M3}^Ll3FtYLpE49T^{IE*USL3S1bWOJ7o%Y=S~2Esw*d zuD}Q4K4-Mt+LGV?3-JhW^-_6xt#rf93*bx)tG)EHtW4p(cTwk=jjn8i3{&iBGWI9< z)DsgS{bU7s83Qt()=6x3k(f*wNY?BQ5j8myFted_M1R1ZG#LftLgk^&A`bM`XgUO;NzT0|nuazy*0h8v>c*9fj$F`YCtkSXBzDUUd3On*{f+FZ=7AM%+^) z`VD1P5)?o+!6i}#Z|+;D!2H@bKvC2rb5B1LW`2}y_+Ii44(#+`jtIz)poIwCN@RL5 zTM$BykTDog>)^}KulX7-SAub9DqYvGoy(I4xRX@C(QEslccmYF5XE9^VXnwkyD+f% zUX$ZnTGyMy>HXvyg^)rpLzhtgnsNIN6GFRXgMCGVl4LjzH7}m*EGI=vsyX+y*ybM#9RB=KdzFogK*$S4%TBIk4TyoPz)%Mo z8Z0sr^`0C5VW;TkeKnL}6cAka0Jy`1p+HvzLhp{oa6%F%xT8+zWVQa`_jV?`{DOa} zLSWE9^b^7Xs$bHZD2i{v_eEe??SFw*cydTH!3J^f;_;<(NU*!=`Uv?ba$>x@N| zg1TJ6ARDtcD!FujR}^RnF7ch_9gQ7RE{m00DdgHudq`*Pi%=+8IDsG4#r%P88Ij6ln(V zz`{Q}*`+{eW5Y{+7ST7aY(&QD? zB79CN3W-#5@fu%PPQ<59qM$-x+6~G1wfwsHt>YM0kf#-eidl^xhAir*0VO~FwU^yHiv8>v_GrRVm5$frM{04X?F%`sUO zZ7)?44F*2U7Uy@5O0T{aPB`jTuuqN1HJJ)fWY^*?L&fR^^qFp+U3N%ZT*1|@MEjD# zXKUH=*33BrmpJL3=o-d##t+{_MfDJKMX35XE!`~zoN^`+BU8t$(=wc%rnu3> z@aMCAJv6Wfri^2Os;R+&|K`W!+O)|=k>OX0iP>(hhGKae_OyWb?QL@KJ1MZ|b{++c zr>sNj4{Boa|NX@!#4T?qW6++24;C$JvmcM^w{lI`W~5bfwp?6XRdzElqBD$it;<` z<@CoriabSO6Cwq(h|v10T{_sq)e-L?`dj*COQj+{0z$nb)d38h;~Sv?-LvN|ET*x) z73z|wOOR|~*v_z^>0pvPA~V2OBYm^AqC0^guv=8!2{}}@MpNC z1GWKfChMND&Y&b}b@J-Q^B)Bw->k_fHx8IlD zcO_LrW*7|nTqMsVh=WpMhawV{V#3*Si7j<6+9HV2yXE9=a%9eT=nWS>pwO3oZSb?k zn%~dCUfJ!NJ?j`cvn`==WFI0k^MbBo7?)ww$Bg|rDPlaf{0B$OmHTrQLO?Vmc6JLR zj9hB8o^$n02HRIJh7O=#)NE0CdA4!U&6UkB{Od(UL(~g;CCaH9soc&zeFlG2>%(7K zx+pjlkVgd+Y;hB}D{1x_y*}G26Ag5C7;4Cf^q{aFRU;+4P>?Wu0XvpyW`1aS@>H)( zW9}1>%v`i!Rgw~aOGJ<5%!yqsy)TEt$q#~y4C!Y@l%K#_I3?ra3)<>=ybGnts#G$b zE}1^!f5}wo5x}q;<7i5{SdvGr2;no6|1ibg$du)OY1n3&k0X?t=Ud&WW~NpIK3x2? zzE@Xzz5hCu#PtpLO!<;f%>Gwl1$2*otQ%8aQOrUu>9O_1`f+iAfB<)CSr>>D6lv^k zY?01`SSPYr*QxqNW2b5=+K+jycb(%bS6R!qrcGaW##kjP@~R+;&?Wqa$6u#qCM0ex z#?BHc)%GQFiWf0jBSD1Q>eIx_&6VQR$}?)GaKrZ(PN+*UsD>g3R`f#PBk7|4uTB;2 z2oVWm0HI!A)w8Rd)e9P;uC?|KS!7VH(BQ~}G6e?6(K2tY%W4u^`)XAn!XThtge)JQ zw1YZl6)2RR#F2=65=t!lRQm)#52NR&{m zpG$Q1*+JgMJR=SPeb1r4&%YDWclTSX6f~q~`<4(Y^B5 z($Hl$Xh`*EnziSL6_SJd81KmBTdazeH`9R(Txd^zecZTP23e>MJ`#d}#8Uo$&MG2! z|flGzdc#L4eVkHjybk~6`=f#1)GmzFR(Ywv!dBq0nx%_nR^23d zFU85Kf07G2;0Wsjn?Wvp@Apj=4=LZ!6{50%XYyie@*3O2f(fK=C_o?eMEcNrGza>2 zFKT$iPpK$PKk&hFXIai~sKH%5g2!j-qo%KNcK;hTaDm?=hW{5fAiZC^@o}**JBD|6 z53cqPU(WBY&R*{C&u?Ds*1a(9jg1Vq8yWu|W6Ao#w)T}3I|U)29I9iyk2;JvZrHIX zNyj>UwP))v$`gL&_Z1Xa9pXSMRrNwckegRQXlqUZpEwP|b^K6eN1*BTPI!YN4;spv z67Z5LrG%?0#g}HCiCWtd7Jomv?xK#M{am5&+!6D_yMqUTKJjHF$KgYdcG z1mhA#2*QBG?Iss@*p_J8z1U&zHQG1U7KH$u-F>6ifQpwLT!|0`-@{2m|3}wm(__o5{g%T-Db zLREq2L-)EhMTyYOYZd)GRSneo&bz?T4ZAC1R-!X#Xa#`{{H!2zisNrh=7(FOSHl!C zU2{md8XNPM{eWu(p-s=e=Fgc}SVqvRe)lAUN%XaKs;v4p99*_2 z>dr?32$;MdAd!E!5n1AcXqd4~hua0t@;Dk zyNhu%Y)TJawqe&|m#bBX3-VT84-CqcYL|^;ai+UEO5JP2C)bMq3AkQ0a34+kS>oCO zqSj@y8zqs;a-bw-#UOEPoS`P*Mg(|V&BE<@tjY8esdeG^b5RMI}fUkU8V z{9TWA5d}aCFX?cd#Ffx2EY0MH9*r75_)Z!8{pG`*uKyizRdkK3&>(KvM5Q`c%Zpk- z(&NDFfpa!Isl8dw2{(m{WV=6{2IeTS21-`Gxu%l{7e|jcM_oS;1=#ZX4T7>xActV6 zBi*oTX~Qcui-{)`*fi1(v~>2m0RbNj>GCl9yAbD-{wjO<_nQMMrr>UZzVLSrM^yLA z*1KqVB78>f>(kU?Z-?PtbJ4(7EhoDA^SR%u7T1I9OsT1~(P~ey88P`8Nupj^E4QY!=L%Ka4bEGByjlc-CKGRQJfQ#|bmW ze7Zx6> z=bVM8A1ic2$&2D{QfPW>F||2{x9vzbBj1=>Vmv72Gz`bh^ve3eC`Y_?*S)elhFcA= zkX3Q#{^V&mJ(10ItsV&G@yaXluJda*x;n-k%nJ|AQITB<+T+AKLiHy;ZH81!F!|Ri zEh};RETjB7tdF2g@LaaArgBR_{E@lyH15#M1=w^`VMTTHw8xfuI+)_JhFaj+F^8aQ zhy2juR!M`%C!HuiX%2iJwe+SeuZ<)=vz~_9kT+bweCI(2Q%BC=+#2zKS@EFvK1gSJ z;47GsFkcYL7`>P(mS#Xnz~C1G@0H@0%45AYom%E};Xtw^^<)b?p+Sx1>gNm^D4gMs z7$Vu>1czrK)I@YOOfGs)2Dl z*nBG#_+750Di`cqhM^}Lk{1(0=jOq%?{FC_5zK=?6a)|Xi-G{fCL^J>qB$8qO|Ian zTXdRRTM}wBS7%)^QfWSsfetVM&&Hn*y7>cA&rHUlh>Kawd%kwz38BbtceOY>UZ9|Q zRWJeCwY0YKal;;;B&owRV)Zc!$2^F-viAFfi|HLpV zvDT!|4<|eA>~Lrm+TTUwFUF;kp07n*(S>?Y0()**i;$c47ojxQ-B~iu`xYSmsIM1` z&-Ao7VSkH{VI4Ab+9}s^C&vPKdjEbgEi=5+Z8leQ7uBKEI9sP-4HBwXhhrfJMCIkG zF&rJ9Jpn;tHuuKRG-Qnt4%=K1@NUbF$8HwAn)>myD*$E1O(J&8Vh{1O1NuM!69^Vk zgvbWZuUtP64kzz$e(LtL9Oo4quo{55`jOY^MxQkBad4rIS94|w^LUP}_QXwEKK+(3 zT^<$%+OLGsNn7RaME;rC$XIH(tcIv7a~uyn~eLf5A&#U{xVn*tDn{p&Sc0p^rDsQ#C=z=gm>HCDq26EGZJG2QF zqr^v>3#1dlmM56^pY$c5nbXaVz3-sRA$f5PNwARasmZ4Yo_C&Z1Upz{Jl zCcUFR$3Bd{C`G0miHe*dzAuS~YfmxJ`kmN2)XgsVKQq2ea-RB>7d6Zvw5zrm#=a!8 zbd|91%_e}isTX$V({e-MUFi2-0{i`*Eq^Ef+BWW+TbNXhW+jIHSaHFbLoYJlNxhvw zgC*m+&-amJ^ZKy99yto+m67fl%mb%Dk|SPGSES=H7*^Ek9@+;LURNkhWHs&-@@h;1 z^r`T`H|ri}tr#yHC3xI$?3L<||_ntu_VS~Ws43M_a1eOiY_S_{Lk7x4#|wz*SH^;svq~|`f)&p9>K>c2 zrMPL$JkYM)_T>xdV{Dx39uxzEXWJ_!m2K zX75Ditd#Xnfb6dTT`<^=nME|^cj%AyVrW1ZDaVuSV?O*H*0p6mqre{%a5@v{{TM&T z1Ub!JfrY|^Arh_k-;lO^h@BRKP1K9PuML|V%Zu2I;<8x}j^EjItCe*e^lQj7q;!%g zLi`M%E4{*=L4vG&38XQlC_?%b8>A)q>0y3$f-H?sF|Z>KN06`VME#@DO#s=yn@Ap% z1zTcSP)UzjHAO%ebk{cSG?554TR=J2*gPo9xravg4@PuEc+3zb;Z=9yW%q0%WY37^ zwJ!)tGzBXiPsV*BcHaR@h_ewbJghMdNUxUGzVtKq65k?A5U92*7n9$257}e1OSF-O znLXM}rC!1T0#;7ui=&Hc9^ksxW*5!R^VM&9!fE=DjbT3wWK0A5fU^eB3QH?QYfZrJ zz$+x=VdmTQ;5dwBb27E0f9I?Dm#d8SN`tX(-$Ua><;@r|yV^Z>>G{X=mTqWd(3l5V z38{Hzqgx4s|GiSyW6vkVtXNFS5i{Y|74mh`3)pl-im6m}x#-IY=!C01d8Q~|Zb+{> zQv1)KPleM%roif`OM$fT7=B%!kNn;M5fVIsN!%g5$wPKRExD2&;ZF56 z77vycnd=qAA=>wa{Ha83Gd`5^bAyUR@KX{SKh}p@&kcU3qQHlnF0;iRYr{?G0i|1hi)I-5CFK?kpm#Eu=B5ijiQH*pnDgsHHn!I1>z(~R8-663wbBsvMT#=yxoBek%rzc(& zWH-8JiHK4r3jAw)wlv?(RFfK5?_W`jGpfLPuOZ)fB9{498&@S!G4(XiMUW0u9L$BG zZ26Fb(6`v2you2PW;U=0yG@2MOnqPGVYJHJUDJYh3zm~ZPvaold9fXj)e~cr!sao* zGQPV@$>A}Q0>Kl-ENt3bp-NW{6VTWN{wMj_98-HRh| zVZxUgzh3_4n$9g*5%u0y^txhT`7KGz8~*jToKMXSw@m<=w+{|#Bf%=XXwP>O9yYHEg$)*mSq%M3y#}k63 z_umaMv8(W!0@5@JmEaUbU(DWKbXDFe19+D;TC?sZaB%yLBi$qw{dKUFQAL#-qGbqQ zU$~lwH`Vegt$_q?B$=Fl8HCzEJ_0+E^h4Xf9^4C@sNHap0=G%b8X?R`-9#u6cI%JR z5D7BMf=wW(@lzjK41zrf-KeZr-_-S**iynsI$~oLvn{E#WfvMUsI9xWL@wo* zHMyrEi0G`ND%`S@03(X72F*gxu`%c#{`ehi$01Lg$EUc}oBE?_>?Uoe;jFX@$q?VFWl|5Z zc@=t3+y)v>68GGEn7>b4&~`6TvJAQ+hvgs3&$fQH2IE!gIt8CGnZ~tw$p`yn|EM}E zO{fYqwX;j;Ie;IAu-OYO##`8Yh=!6v(=z$u>V+_mRInXs66|olct(T}25>1nmW3cb zc}x}*%3oTRPWWo1NowSyOrjD(lNSvM78{C|?f7giH(w!&8Pms=WH;94*xiODmw~kJ zg@EN1M#b_twUF(?Sv+?bu|6#uID=HlR)57DXS`Yq;DVh#Ypxfr?Cchek!?BA$j7Lk81)Lmjd8JO{?+jQh zKnlM@NtWzJZE(g|pA~$YDX{T;vi27I`lz4qCX9&xI4momgY6B!OA?F}C2 z7Xv4T@loAVAb5IqaHa$V4iyGKEeBH0;34cf%Ip-Lp*vPj&;2rge{{-^M@O$ub{*VA zjg9|iy6DNs%L3MiA^nvb2*39~_t!{Ue#dPNsLXMoNpG~J26ZSM7rkX+Qk@0kX(jQf z5XD@1&Z4l;tCfuG^h!UX+3~BUdcxgK=5cuYlX!dTd_iS>uwx6#s*v^?SWzR!;3_$v6+<9ww&QLd&~>Rc%Wto2P{ng!oK zGa%q23cS14I2G!var!?B=uA`m@-vLo5jyrTcT$_a5yE5`F!E3NK5OxN7o!k>c>$6lxdVJ`&5ht18@5-?aWq*C1 z4p%(&268J6Xp>d;s-`2>{EdKKzDzWP0)ifR)=Z*E_fcls9b6?&`E910bSNJV4eEuQsOz*rxTMrD&zblqMJ zqiX}o4-WhXuPJT*_H;QE>RIghwNPWxxl9Aw{v*)ysk)?CoDcfVC9&<=Y*i@i>m?uq zA^3<&4>Sn^_E^PDximVa;;3Zbv`GWfD(p8d{tVTv*L_qoHnd2g;6H|O>5fJttQ3*3rArL_D?X^cJF5oIU6+!X}{DDpZwHxPM9Uum&E}C zI;Q1y=H+wTOE~NX^ed}t?a4FGIo6#g<5h;dCDK--eE7GlfvP5oM zaL|k|^-i=s1^{ejIGx^p4?uk&DZ<9K4B#*!vgx(JI~(#KY8Otjd6)pU@oz9-MF&N} z|BzRl4gk_mHx0#>u3YnumLeVCA#{CU9cqgWl#gT&=u(r=jHqUhl}f7zNRrr(R4n=Z zIc=(D|2XYUZp9t`NF&JNl(pbZ2h_Tb4i{s$txROZ>ERM!J~4D8w=CM~h2?Ivz(cSe z&2lODbyxl|(>zn=ms>!idGlA#K-Wh3(xDSD{t@w^DV7i)(tYVZDJm^`&=ax>Ys~u7 zo$P)v>aMXWw{?H_6yE?s07&x9Tq`fiiGh@RK@{>!ug@R6qs6wk?BylCze#XWa2Xfq zdB|0FOuo-PWS3#zkDka^N*x@ohmU5e{FHxRq!4I%Z0p%voHPW?sKdNFz2&*`iQ~q( z9A<^My6R5w@ym6}>RPr!(_i!UhmJ8FQ*g=t4C8&p+ytjgO%r~I!8@e5gjQ$<@^f^biVrPYsL>AQBKZ;-*9?r>#qctJQ zs+7@$lx{KF| z+H~9!6wBEWx4%l%13-^%_TSvAVa^Y)%iB+p1$h2R&;b36g=~F6A1paLP*0vg4mZ8O zc>XO{t;a5kmeyXx%L~C48v%}}sE}Kl>#TWVn0TfLXc54mD#}APz=PJ#hBEl$O;27h zE`3H}a2G;#pSd5dqIz6bE_O;2N&AB}s7(hmfBhTVEUxR|^|cr74Mbt&Y=WjKP;v5m zt^c0%0yQUU8vD>x{(^l^wHYnI$hA_a1GV$qg2ZX^w__$VzUSjNMd8-;gDns1;VA=l zXF+XP2r9`t&D&kJ9iKCJv$?EfJX4eoW~q{Zp>u#>I&wlh$ni<&Z8Fda4oI1ej{d1$ z-Ia9h&n3U<7gF<%e&d^Z1a}Oqerne0fF1s+js(9qs-mgb(K|GtQG>MTUuft|-9wLx z|C_G;AC4mBCeq69C=t?ns>IZ=l(H7La}vnBPRox|WtOZXQP`USUedo^C6|sOg`z#D zaanyR<teWbZTExPF9?-K9YyV{gO@E! z+y2Z03?HJg5n|-L5&IQkt99k{YYgM20L@eE`2n^>Go|s8G@chve^SePG4TcU*9R@y zpyPbv+`oB6PywG5coymm&7N=GA$o(M+*-2hA0qS6_e}0hJy|d;B*we>qv*!7awxz= zCPClXqDWn!Y<0*UL)lvVvF8-&QrKf7(FWzO9ZsytzlNC|i7_8=JRkMvc_V`R_3=y+ zGZnQD%j=i`?CMxo zDS5u&QAR~?*rR@^HLlDUF)3B&uqcjF7&1Y07}`%5IfS8KvxkQNhGVn*5UESd3CHq+ zz%*xdb73W@u~HKn#hY`A1r7RiZR+nKF5>fqCol^;|ERL1*);6s)IcnF$$ZD}G2fA9pEv5tjawi95s{kEm0?JF=K4lP0@Eps>LR9bnA- z-EV*bA}x@R<8kvA&(Z63<6k$C2gY+0(T%Z8e+%fEi;T-O zP_66%MTm(+Z4Xw$Z_w-kI;a;?qXuMPiYeA^v^@HtC-7FnRXptP`*gx5hqe+mSi#Ej zVU&Vt>~v~TlK1J5xx}d96YMt<{Sp7RlJ9}~qWG&v;b3>BkMHFjq{(Pqf+9#n2)#mG z{#^I3XUS`fn}>#7hrPn)mv;lI1s}+_qH;O$^A&M$0_e98zyhA-DG^vmlh&{*8W)yy zc*A{cn36*+!?%s9f|12Cy!@>S)0mw{u+L zDd{oiA49WY5a#z$_g+5?-R4LW80uap+f7et&B|fpJ}?5W*2K?A?|?fDg^pME*yQoM zxxE#tA5;nlg~DzeW&$jwyj_mBH!yWB`;V)B%nc~e!Q{45zgKPZSlDUCL|+sea9%Do zz{&f{SYQ{9=9AUTw1E*?c%7WbmUBrtLO6+P*UgPC`ch#xRe`_1X1#kpS*+NI7Wp^z zC(hIXS8&}ltN@CmKOUFOf{tAHBs0w)lb!W|`(@{ym$yn*k4CwT z!ocA7dB5fNFZwXvb@`P6p^<)!YO9e!m7oLh7tLs?ga(QQye9h(uREL0v3sD}abI zh3=hKQczg_rPSb|mQ?%(6JD8b)DHZDi}h1O`_sN1jL!bh0^h8}KuGik8#=GQfPT0B zGkWDF?MClAS+<0h5dK@ri8D=Y=Ao#2593=>0A2vaW#eC;!)C-KCVe{GdArGuFDw|B zKb%1^cfBX`6n~On(`99Yvc^7Peke|yK{Q6=uq-Ot%|4ToIxY?tH=KT_mF-VQet+t? zAPeqRuXzmQ1{hV6Sv+Q)MahZ5ec5x@^X(oIo>RM@d5Ag3kagfS&G5%oy-~>|qdc!E zaZsR+hPaK1-KLMX$nc)9ej*}12Et%cB*lpOFh(jJMg;qLWC2@WXF~cjg1~Cgv~l+= zU(!hRys4dF$vK;@BxMrQGD_iVg3f|H*DoplDT*~G1I_KFy5)iGTOt{Rk-jU%xc0qR zV^!b8UO^jHF?%DCpN^>C*4@cvW_na6P{7?>?QEmyTL6Fx4>^N_w!sHjg6w-%lGzH& z>Ue2gp51fKAMGktU-BkGcTR*eDd}mqQ86Bb*3Am`6rj;%dYC`EXd2>$Nc$wpBYA@< z*=!4rpGgR;u70cK#PIB#y!rv~3O!0)MDi=g%HFPnh&&vplzmkB_>p55qFVWr8?bns zu1@Kme~Mgj@++IVGDEJgG9MtNCz8dm0nbxRckYs#m};Ox$yC`PY$`~^eO~36*Y!(F4uwJ%UFEHiDW^ z5faW8*>-LFf*N?HP(2UJiR`(tU0@{3rVVTGGC=;nxx~T$<#p8+P1W_e*4g{=a$LAS^EgcM$`2&_!f;gHIlXs76OfZK`>sj8 zSl+#u&uFsdH|Q+GyV~3cxN4X^`ZrZ#pk>~yuAQAMg_5Pot zzA3u0ri=E(cG6)79ox2zj_u^cosN@^?T&5Rwr$(Co%B85{qGoeztrm*s}`!}t~ICA zXQuvS=+%SsQeSRII{jrM6^Sq-gf=*)O%C^P7+%v5OWl?Az;P#hoROV zOaR60;nna~-8oD+0bI)YWU-k|lNoOn8zENW{0bCol{(U;ojI*fI}n<}UnN?IUHl_} z$9JI0m$vI|^XH^=P85~d`tn@6H8Wy7Fz)4-VB!YjdP9hnuU?qXKkKGY3TBXOd7#nv z)0=-(r^rb2ugXFGNSZud)Q3!ysrd zZg}lL)9ctPTEut$LsU8XU?Pj)BliJO(TvALNO0X_D(ko3`5K;sX`i~~gE%@;m<>C) zUJp6KPq@;nk$eE*7Le|eb~1j|`jGnD>4*Zotz-f~*AGbv^fO7Ge^?t0;M=LUHjUe5 zB*4Eo|CxWv`oXyuaO4&xe7(Mct8|5=nJWP|9rxJ9ixYQG;eTv>bMNoRDGBKtS==fb z&&2-_S3!__>1ZfMs4=23vliS}ON;3S4-mrJL&?+{&;c`6oUVEx)5N3*2;_}wwe9b6 zwJ;O8x;p7ApJChM8|MgE~#M(^GEXN>XWHj}#+|ksvxMeKZ1^|Twnv@oVXhfHhwvg^zo!*Xz-qt{87+w9FNe@R$EC8x>Az%r~2}#lP(KZ?Zh({wK z%1|MysP9>o_6+nPu;gGeQx03UYo_P4@wa3jA93TuzXc;n+NrDMbQ2h1&JHA$7 zD|3B1nP`3M8B#y8e(^Ga@`DztgGkMB0iLI2^@=%I#wO6%XV{a))W)*pgrmKp*|7x zY87yknK|QeIUU+P$pC23K`tx@pv;6uriPb@P~`>5Gyn@2L~7& z2oS!;@g+#b90 zj;XXzJ%`M{^}a}3%=XYQ75Brgr)Q>P`&MW2e_*@!SRlwwmD-~e5EE)Q9Fjp({YiH( z*2nt2=3FWZk89%i-iaP$t43T?yJSP>SdZ#GgZ*HlNQxexuL7!0msJSn(S7su>pF`!^}|Ri~lHmYO)SoCCzys4j|_YENl^9I#4kN$NeiGUqlE3gI&{AIi!`FumlBn+*UtSgQH?D)MCV~V`(gkKu} zf@Q$Ycr)Tk0$cF~Co@Yb?^wrDDYA;Ec?AO(dA3&lh1-@Lk|_eBGkbj!o$Ae#w}a{* zm6M9}+}be8f_V<3W6Eb;ftVg?Vpb#pqJ$oap7?!5_adb2DmkLgo7j3~_PPO6g~^r9 zJst9|FN28u_YGSjvyR%n(wp!NA#lJJkYIYd7m3N%=y|;1Qw0Pg*wz6oBCGku!FHZP z{EqR@pX~_vy74himxiF#>ME!(=YM)eQIT8w*0;hd1Xgp=Nl7USxkazJ0Pjle#C)j2 zoQ;{r&W4TgkX^Ze)5etYOH@MYv)wgJ?;{;+PY8|?g_ti2#h=2 zE~&S^S3^!~)hgrUJqN{HiS5og(+M8HRDmhWX9sm2&}fjjcz!PX7Et$in$5XSe8qUR ztu9?hb81@}fIyqW{u&*ru!IQUTs0xGsZjj9bZ2{zxw|xki3Cy-G$A6V#54+OW0PWs z#{}7%lrXxv!NVM3yxsv>7Fwx{A?97S<>iNG8_h6VA`k-$Hg~OBz zRocWxYJ&nKY{IOMF1vPwWxBLQE0Kd8zFo!g=8reeBJRUvP4@wR184aKa;m zNE0T{oV{HM#@}=T%YW&bYHo`{H(?93N!XXm;9Jd*HME5g0NU(VH`p~~F=cM`_-{(G zb~5_*P{dW$7BFiw1Nd$j6ud?RqW4wq=-LO`$c@5I_G`r$BlzdmtmXiAQpDw??#wnC zi%CR=hGe1cU*6W6ef@JCV|V*m#(k%I@Kcp(4@f$b#bwbzr)O%+-R<0m801o_l`~b- zHRNC8r2nMP&B2yo4)bR*e=N_Wo&--4LTh7vghLejaGSJQcQ#_qI>!J6fCR(YZa6GO zk@$9YyQp&0d^t#vpJLjx7L)DAMCxJ&B6y zQs@y`-0QuyQvhIMt7-{HLsFeseF+|KC0B8@!amx!OnbssNS zZGV&!$OS6wb?a5fQT3DF(;jPD8x(T%p*wfV{t42ekyytr2^!_S8|vDlHVNk^D`paEMETQ8jA#=t5B zKns3xXP(t6KDV*|p(!ocH=dH=}R8Aj4Gh8JP)94w%mDygZd;%JHO4ANT z?}FO?gfoxL+XqTM((mX@6g)@`D%`+!N`an}28nPD`+?o(0stUe_p2vHOUCG~60~o( zj3M=*KpKO4jb?d3EENFJ#*?@akn6sSF1J_e9YyhPd@H= z96i)~T(?CC&A_|3G3SFE|fSWvPUg6hvc}xAMY1pqKZ>pnr+$)noqBF z3m92>fd5Y|v`6YcZSwz3c_4$Bvt zS3eX6S~O5chr?X4&6k6v6|w67zz6l|?$`QNgWypQf{XTnt2Mi-@NL4FuxVu?i@B?k zgOshGLT-kiBr!V|PY_Wa2^7QMjQ`H3i03K!jht9MO3edYckspfsk#Ep>EC{!@2ax1 zN1}@QStlBFMH-_g?LUoAzB}lZ<#f^13y$AX)PH9Tk=Q~V-RT{F+G@^RT>T1D>3*r1 z+#CPX=1#BjD(8Y;L7oOO6ga!0uH`~<7dfsT&pfR%ycng+`;24j zoiYSO^IDd4K~ZH?8B1HocEliM>9UeWGI|Hi&~UEAA5Xi-XZt_?D|PeL4Vm1jOC7I3 zUwgqrcqw8qlbkSb@@Oo;$jdxP9W}KK<4wVqBd$>zPZ5cG^p8t$nKw|AG`zBn`j*Ts ztZCt)bQH?8yz|iSWSQC&uZ?G??jS-c2VrFbnenfrXj5e1?Vr-KrXLbcyjnl?j3yJ0 z#`l@Bt?P7P&OhJ!E27|W(-~zAuU%QOPw+!Wj^rnUPi^xfNxa6sd_)Ii`x4cRJMb@g z?FQ`iFypNZenvtN0(FzG-Bc(n6%ce~)lq$G5xDjzVKr|m^gw5s6AWLUOl>@**kZEf!}GgKTqbdTC+ZArwyt6DPUMhmnw3Jb=nj*$Xf`Rz(2OCA#o-zfCPP^BheX$ z(azIVK3W4PG@EYa zbXJdXMi9OlVJI{k^pi3Yo1C9A*)&cvKb(I!B<-Of_eoS)K&{l)blb*() z9;sk2Him(C27~~wcHh-So7^x^j+N&RkV7kYl>Wfxx^o)s2H4Pmm1bxu3{c(E1sXZ$n8MZT?e*0ck7mD(#VFW^=v+X?~qXm#UlCm zj#Q-0@buM~Ng(~%b*e)@Sm#2gB=I9Wrq|4{(WT1uyZP^^!MF6cA)hRg#PG!f1_>$+ z1MoBF7ctmua{jR;wD0~`cJDkg+-73sX6Mlf&;+jZhxVjp0k=#zD)?*O4;l1FeJ~hR zKKp(plni+% zGjl6u>m(p|6P#-t1BlTWXCY2xX%IPmZ1>PMz~;jb}^)=VlJGg%c_^dJ~LTypV* ze-Kz;yg`cA_;_W&A~`s*LpOMD-+G8jG)CnEWSL*=YaCTJC|LBL(i|~pnIK3>L-#Nm zEJcIJrS-iodlUGiv()2L6G{=9vp1~b^)#{#l&>pPJISmhI9k$u_x`jWaApJOLmsE7 z%bsP&p2h76k-Skx7yb8CO@-(tvnb83gdDR*cMWFvlw%wt+OdFJ_Smw z+aBc7n(-tH-{rthp8y8yqdhf8MTmZq*nNu`9!oo^5e1tgk5ju__r$Z+=(K|99g-0G z<^;*p1JlGb=5W`P9>PXO0HLsk?@`%YbJT#B$TU7=1>x!soJh1vbM?YxGVVAvr|6$! z#(wuqofL@NQXf!G@kb7a-f0=7fEcs`4+?CHZWZ*f(tNhZR^}av0xpU;t1VHyHd><) zHsm!KWqQAPQ=+Gkd5tUgr1?V@r?H(r>9{q)G6{6x4}UyJ1L;%h^xJe?p2V~F<0xjX zVnjeMzQLge(+(4ga)#(39>~KR$r@`_p^>}3yB;^NLh%%d7V%6_z5&PX&;J@s@1BxL zesAa9pUct#gNZsme(z5O+$(#K<7e<%MimEbR|m#s_T^SmhqE0uM`Goc=IDZm5m-qA zxVi@thLWFPg4V54R5205+4?`l`qo5cG&y~&>!L!RxiXW>&9PMEPNxseM&e#Q{YJg7 z$?n}{%XjVOwZnV+wCU%n`8yT6BKg}Z`*;xMCXX(?d0Fcc#%y(Ur_w-BzvQ1axjj=p zE~uFZ*hJi}-_HT{hb$xdgtC{C^{$jRo9Of`4z_7f4l0=frX6evdFj}?=hQ;*{MrXJ z196YJpBOgt-Oj$)Wio=x^eQXn`s~ihm9$}!84Wf};C(^*??7X59o__HvnJq2K2 zW)J@u`#vs9+z}wgk_*UoBz;Xo3NScU8g^L!s z*oQ-&t5@ZmrLVfC16fTnlAB?I3j(?FMF9&@J}nC+nAGxNzFMwLf0LK4XbSwo(!#n8 zidgIWuEuiVn^z?#0i)w;PCu>0U1QE{W=$*m+s4cPwH+bRB&FJ4bMWKb!Tj~0VnV%C zt{3ip&}kw>;iX}(6lT)S+*Qow_+%T1!TQxWSzE{s0VZHhu>7||BP^n#Rl?xt8-_9j z8yI6-0UIlzBb)bFDnZBlxHtF z*oT8{$K=(xT>tA=b{8hg{C&s85K-J8oS`k1+cF-yhS60WU*7&D7%fTXPiZ>$m4u~A z5bBqfk*{g9A3}p#PA&LrF`f;~+jt4S;yWq)1+p)(I@Wo?cL#2!z>r@^K>Z9RGSx4n|h&*kIza^1TI>Q}omGa-8L zsMPYmn_xef4et#@u?xVQ4`_NywJ|5f&=0Vr!r>uph@aR3Wb|Xho49t{`inn`z?v5z z9a%VSdgyg_rjw98&EvKbQLO`Zqed7)+lZvLF{XF$P7mSWq#JR`&aZT^TjyU}`MY&w zkph%5CO^$*y)$@W$;f;`2J@Zs+futGAze23;zRuf^Mx1tE}NVOxN$M$4`}Xa7p*1a zNqfB;Z}9xHWcxOBL*dhZ*`IfU(NiL&$ws=TvEDbo2&xFoPikaRvjZED^KW|SN;P|I zaj2!Rqz_3&U6FAyb5N7f+7+UO&lZxO24~8Bhvb>YM>zHpG=XKr+Qv=NatX(_QYRS8^3(9F!ZHzqJ4S6v1tk1OCyJOapqz zznYChmcf#2E&{!Q`5P&Tw_f#7YvyYE@+SOHuH_uL;$!B+e##{4Y$>?4qy(J8qJbrj zn)O54$mPCB+4ty3@YX}BSTj*F>*Ul&?M-~89*R0SWLc1)AAB!?GwFPD3D zMaW8lGV(vreHXBm1S_9@2>a|Flyno;9ti%0s%AcyL%U#%AwC~M^Dd^h1PzF;V_|pR zkhYxu(u1G^Sz9c*R$f3Ts!p@PlOBx+E3Kwx9BB-{^G=k$nK>*zh5XV*G}7(kbMJtc zjDWGolu23H2iN=HLZZ}mOUd3uS*lBl$aT6R6C0yc0#4EAXxG)KAGG4s0(fwqR=<&t zQIaj(SDVc=;UJ5!9V(<=795@WxBCE)Uc8SHEy6gad|w5b1*!&;YorNV zOuC0K&yVC4qdB7Iuig)cw6dUAHH!Z@CMM?$(iaknQ(eRy< z$X{srqvYXKwWs_2HSU>;G{491OCj<%V)D4atC}z0j_#)Yk#>&I4*MzqLJAc%5Z6Z( zFehpbLul5r#x9q{CaOL!r1kjD`J;Er%7_o%E2LJP75<`qJ=&Q;!5X`CS-P^ z`r2E$uZDh!(=~V2>M=2*`#Z=>G>vfS8{C`~G9OL;l$9GyVGlFN=sd7V{HZk>{Nx&)~>RLm2mPrL5SQMS5 z$CN%HIB+F*;nI&=eZ`2pSailAMEA|`HP7-0hA=_Xk{zcs3?UYtkmo#3h&64yQSHLu zHlf6F0K&|!k*GIbW)&UBbSaGv6xrYqf$<{eGd~ za;A?*i~fb-Gt2Iiq$?s{ge9ri_>aT`F|S6t4;nTK(g~C=sK#wDBtMV_mf_CrbXoJE z$Efa&!CvA3yg%;`ucE%W7${MXs}YXy$ckiVG{0$4T@|vUMbMz~0P(%k`8DKS!)heu zR+$RyL!$nO6r1btpDp*@d!xJw;fU$AcRyqNvjkV4_X(mbw(fVu>n{>DTkC<&6un7u z0r6{qzNtfL7n)EN%406S_7?SRx`r_t6$|%uGL4?538-e)d6A! z07}AR;8EqpnWY;Jr!J#hwu#VuSR5^nI9QK^?f&g+k$6JalA=p;)oM=gN`dqR7u3c- zIf^)(M2jti%U>%Qr}GLKB94+QgQ%rt8y^pKtt?;hjYeD)DoH0Kv4(?=S=JkzS5}ne z>{QZN4-#n{#MHf0K8=SM3{{3pg`kRTQ(RlvKakRSbqzOUqvtDFB&AJx*8F{I`z94> zOfxToVp$N zmI-~gMEcwITMe3X@PV+*E+>}LsT8VKvQ=cw1982+(Szf2$#TWCnJcb>bf?l@8*T%I zM`mT|wEuSeyAJ%jpOt42MhUh#FiP~(fXC7yZYcwkg=Ve@i7)f>BpVt z>O9C?iR=!1g|-@h=E#nMRsM9x|MO}*UUlR?%!fUt4-ZE;-yQXnRuW+W# z<(FFSZK_N2x-bu=5xs?vFrS=#)Nk`rlbLwvSu(kvhi~K#GU_f-VCQ-vQC{czLrH>z zkU+VbTgfjb?ZLcz#i0VLlFjM(S4X}PHitRBIZc-!M4WP@cgYmtqeU`C_zP-m8l=%gT7XQK4T&XBFokwdS&G-CCXiKf& z&xY;VaX|Atn)<@|ZBv2AGFf9sH|M$;U8qRNN+HYsPfuStK~$n$EQUX(gxE~;WODb1>w#<%-I!z@izCv*aL`tV;aW`%B|!j^|ZSh=rME7x4l zU5(}JKwb7hLMG>FP*iqQ4|h6~N=z<%M}Vqg%*_Y4D6b4$hz0|cjURogoxcY>%+ig| zf4~)%uE6Kc<>VFI{@{w(k37i=EfX_G3L1eL2AE~BJr^bpOv@`gDZ#VXjd*9ht=`L! z_uq$Kit&&CVd|<){<}<&M_&82R@j9&$JwBB(js$RI`f7y5yVXUk7LoWZi2q2+r|T_TWf8WR|31t9C4L1&Vr>4gHl?VMuVddgBm@V0sDV$UBi<>-jsUoa|%|RRuGqs=<;^{Z_ zk|JH&A61yNiVm634_-A%uL!eUP->Zr(G-ZVmgKh6EJ9dLZM%+x%a6T8f-jPagt|A> zSvDj@`S)}Lq71vhwzxB%)MEW)&7ZyfJ*?OU=lkC_e?L~qb&9ZTD}n-2hk#3!#hrjI zbiR-85sXE$1sX1$Y18z{%DEg*==0bslMsA$6TYs>6ay|#<&M?T+&}vEhw584CwI{P z@@dwz3-Rf3&*g5N`-HI3X}5^#tSFF(!hgS{RI4a#<{mc@5v3bosJ>={SRE$eS#IRy zRPh2z#S=7TK4ctN+xGga{2uDIEfn4hT1_-T*y&vUCDB5aJm-f0f6W|L;8Y?&&}F=s z0oW#9a4Uj-Qg?kWPuJ6M-xMns7rHV zl4dH4uiV%gEbDjb3?oa00amU|P+4AcMkA=BQr^*Bio+-MM!6I`$*XQS^wJPD2Zsu3 z?Vgq6^&2DQdr}aTDN;geuS4+WfF9GGMb{K^pmdSOvcagT~>(o5%Z2#unfpiE@gg{YN)fw4BR{pyVikJ8A(NzP26RS8p)kD$PQt6Qu z3sgpG=r{F_ota0PKKuC%ioy(_br)ZxKEb}60% zQOF-w<^t|3hyjN%G_hE$07DOx`^#prz)>D1Xt56lgYMhbACmTcD zt)>HdX5*`xWY^g`x20yH5Wz8aw~ij~@u0nd7f@36Jh287y#KV<&*6-}nD$VuOwDva+qKx(`f@*91RRtp zd`rL}a2HK`)>U^Qyw9=|%SixWvgqQ|hWr{Cd!8tM^xWD2NkyxYQ*Ee7o>`#3kaH*v zU;F6P)Q?c2zvj_=@n}oL%No-|m6$6bsLtv4mAPbNaLe`+#NeT;G|NGbp^wyZkwJcM z#brwpMmK#Sx2VPu5%wp`3iN#9npBqOBd4ou_HWwgGTu1f%dk+G`S9K}Lv37pnzYl* z+$YWxH=6&vSULQj(^6yRxr>G%Lk#9Mlwy%!1P>Uzx(ZkdsKMjtE$^qBCU+^qa_pN4 zUz%8}uhoz5DTF(%O+Mc$(R(REBh%03S&`I#Jk=+3&r3}X5J7>DUkT8zD&mH*i7 zf%-u|jcvltGVzL;d$SPs+~83P+fWda@#LJIu8Qkbrsjf;-{LP2iC8pt4yJ2lXndt) zF#|gLcuoyFqB^B0`^{^D3AxBMUQiDLeAArIr&PqVY#sydEN)_E72A97NA0u9Nqe2` za0>YSlIY$O-Q_$q_FM@nNJ&>_@{Ixm6I%qttGIi|v?;iA4eF%G;cmp<*%1^VHWVk| zY55tJe|88#y#E2giVIu(bDu^Sjihvcb;8x1&9$k`Kym}ecX2_nMPRIJbpNcwe2ToV zzGs|Da`$ZNZ?3I;pzndww*52PVLVrv8Jr=46#~ci_3ck!B9WJz#(QS zv{%I#C{y0Pc;S3pTHdyySl3VA+@*#)fb*To%*SqxX-2qv_ePfim=i>*<#$0K*MZ z2^;KVcaR#yvF^GQvN@2TuhD-*?twPQOYX&B_#TC=+=(7bs?*Aa`92W()}X=b zCQw6{V!@!=AK8@%zHh|+QZLH|V{A1;9Z?ff;tJ@1`)~g;jt^mZFPTBW7oPmBwO+#qoG*yS^#wK_9PfyMOBqMHKbl8SzqQE(`E(uzA`e{X-9xs;gM==5uE2{Qhp`C{5<8d3oWb-f&1#U-iZ8T^4bLFT z2DLZ`wZj6TI|{%+F3Ng8tU7^O2d4~&yHSlaOHBm_l&ofdX~%p8#ifB{tCNo68B$sP zxTpUxK5q^i9hX%Rslm|C%ZXj8Ha$K;57S%=n(fQm##PsrKnp032!HU|Z+a{I#w%L@ zSBibwc~#;fgh4&wPI`thXP4jlSu&Vm9udCDdFERBYyWfYfoLdUymP^Y)>WrI7#b8t zJWH;kHOAn_=?c)q^2T|U>X-nbk1sCmyg=1t-3G0T$z0|r*;zU~hIruR+ZFW1RzFIKmAE=%X;`Y^I_|F= zDKoF=;05$pOJBE$jAeJ7dx79?6p$$`mqe&NkW-FiJvdSGbSYqfNh!~a-%*NL?3+zI zbI^9GORMvdr0SOiKjh5xp(e6o6|rNYAaf?#56MM=}^1EPeY zZZ=sx6iKYM%gU_a>Jq)dGt9BL@KfSpEg7?PP2PN@34{|Jok;<9cVx=^+{YB%<8QVa z;~9JusQ(+hfZS;O|1bh72u3KC^PU0sM(Hy1w0(AEgPLs$CZ9B^z%e$52KX+1Y_;b; z-1MAu5fFF}Nld$W75yD8Kd)a_0P^*7l6WRj{UU>vMXZ(+{rXF_7f)^09@5dQB74u) ziaDocS%|x*b%@}m6nx0M&~B7HOmME|f+V*@xfZ4KyTa1Ph6~7I!YQLMc-aUJa?~}Q NfeZlVKY#-O_&>{Fb7TMj literal 0 HcmV?d00001 diff --git a/Resources/Audio/Voice/Xenoborg/attributions.yml b/Resources/Audio/Voice/Xenoborg/attributions.yml index 7a08f127d3..775cc731be 100644 --- a/Resources/Audio/Voice/Xenoborg/attributions.yml +++ b/Resources/Audio/Voice/Xenoborg/attributions.yml @@ -10,6 +10,7 @@ - xenoborg_laugh_3.ogg - xenoborg_laugh_4.ogg - xenoborg_ping.ogg + - xenoborg_scream.ogg - xenoborg_talk.ogg - xenoborg_twobeep.ogg license: "CC-BY-SA-4.0" diff --git a/Resources/Audio/Voice/Xenoborg/xenoborg_scream.ogg b/Resources/Audio/Voice/Xenoborg/xenoborg_scream.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bc83ec46ff4aa5e22f427a1f517f8b7d5231a20a GIT binary patch literal 18684 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-load.png b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-load.png new file mode 100644 index 0000000000000000000000000000000000000000..138e9eebcf871bc2cbad8aa639c61efebb1f951b GIT binary patch literal 691 zcmeAS@N?(olHy`uVBq!ia0vp^2Y|SNgAGW=wxnePDaPU;cPEB*=VV?oFfiqMx;TbZ z%z1mq&|fN1;=o7t$9^fVB2GOxbW~z)T7U09_WjVq4=zCCk-#3mz3&o3T|>Tx*Z!TJk$>BK-v3Xt zX4P%}eZV*)_gCA&gbz=S-z~7X^JCVpU;kHKw_Q{9{@%Zjf3ALg>h||UdG~C^}m0u+5i8Tc?0i_ zH@rV?<@`DR=KF8|f8qz&7?C`Hmzh;{_wcH&6<@xVAB}tUpz_s%eRdn-v_mrtBy{Y5 ziFF_S^dra2dsAC`UEjBLUy8RXEB*TW@6=-dSO40-%TND%u|lZ(==U&}NA3$Y=`7Yc z-O-`ZrIcEA^ZeC&t#y-cf1Z6?qF3Ee%0H~{{qmS2o`qA4mYOs?WB&b3+26G9 zjYp!s?tDAfFTFC!LPl-&{e5}7zOU9tJD;m_`StVf+;g*Eefd#X_3i4{)Jgy1jy%5e z?bn}wS6*djB<-(uPn2J= zmBcPJvcEH5_I0ny$r-hiqz!b}z3!Q?b@2*m1=~q-$1@$Lg*|Iu@Yng;|10JX?n)|V zGs3KCu>X8@-^|td@}K1o2&L^l47AZ-->z+S{`=dP`JbM8zLMdZnDZ(Jm6iK)7C*C_ z`gQlscOT#IdPsJx&Y%BDzB%0Ttk{7WwVNEyzopr0QeV(-2eap literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/mothership_core.rsi/meta.json b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/meta.json new file mode 100644 index 0000000000..0f8bb69530 --- /dev/null +++ b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/meta.json @@ -0,0 +1,199 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by Samuka", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core-active", + "directions": 4, + "delays": [ + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "core-idle", + "directions": 4 + }, + { + "name": "core-o", + "directions": 4 + }, + { + "name": "core-load", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak2.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak2.png new file mode 100644 index 0000000000000000000000000000000000000000..77819e93e8d67db41790602fb1f5c525de8a982f GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|cmjMvT!Hiz z28M+`K39^HKV>NS1Nkf^L4Lsu|NsBrtn1JLZHZut4v7YHk t=x}Fbd0^T&GfDWv?#2cBZU-Bf7?|`K8jf`)9|h`S@O1TaS?83{1ON%ODsun; literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json index 3bf41f81ff..ae64caaa15 100644 --- a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json @@ -118,6 +118,9 @@ { "name": "icon-xenoborg-cloak" }, + { + "name": "icon-xenoborg-cloak2" + }, { "name": "icon-xenoborg-fire-extinguisher" }, @@ -177,10 +180,10 @@ }, { "name": "xenoborg_engi" - }, + }, { "name": "xenoborg_generic" - }, + }, { "name": "xenoborg_heavy" }, From 6d50fb03d6096184600682236821c4324aadfa2c Mon Sep 17 00:00:00 2001 From: Perry Fraser Date: Mon, 4 Aug 2025 12:26:52 -0400 Subject: [PATCH 082/149] fix: auto-update mailing unit + gas canister UIs on state (#39289) * fix: auto-update mailing unit + gas canister UIs * fix: make FollowerComponent auto handle state * refactor: kill AfterAutoHandleState for Follower * flakeops --- .../Atmos/Piping/Unary/Components/GasCanisterComponent.cs | 2 +- Content.Shared/Configurable/ConfigurationComponent.cs | 2 +- Content.Shared/Follower/Components/FollowerComponent.cs | 2 +- Content.Shared/Follower/FollowerSystem.cs | 6 ------ 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/Content.Shared/Atmos/Piping/Unary/Components/GasCanisterComponent.cs b/Content.Shared/Atmos/Piping/Unary/Components/GasCanisterComponent.cs index 204cbc76d5..40d76684ee 100644 --- a/Content.Shared/Atmos/Piping/Unary/Components/GasCanisterComponent.cs +++ b/Content.Shared/Atmos/Piping/Unary/Components/GasCanisterComponent.cs @@ -6,7 +6,7 @@ using Robust.Shared.GameStates; namespace Content.Shared.Atmos.Piping.Unary.Components; -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] public sealed partial class GasCanisterComponent : Component, IGasMixtureHolder { [DataField("port")] diff --git a/Content.Shared/Configurable/ConfigurationComponent.cs b/Content.Shared/Configurable/ConfigurationComponent.cs index 63c0845083..80affb81f5 100644 --- a/Content.Shared/Configurable/ConfigurationComponent.cs +++ b/Content.Shared/Configurable/ConfigurationComponent.cs @@ -13,7 +13,7 @@ namespace Content.Shared.Configurable /// /// If you want a more detailed description ask the original coder. /// - [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] + [RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] public sealed partial class ConfigurationComponent : Component { /// diff --git a/Content.Shared/Follower/Components/FollowerComponent.cs b/Content.Shared/Follower/Components/FollowerComponent.cs index ede810293f..15d23a7037 100644 --- a/Content.Shared/Follower/Components/FollowerComponent.cs +++ b/Content.Shared/Follower/Components/FollowerComponent.cs @@ -4,7 +4,7 @@ namespace Content.Shared.Follower.Components; [RegisterComponent] [Access(typeof(FollowerSystem))] -[NetworkedComponent, AutoGenerateComponentState(RaiseAfterAutoHandleState = true)] +[NetworkedComponent, AutoGenerateComponentState] public sealed partial class FollowerComponent : Component { [AutoNetworkedField, DataField("following")] diff --git a/Content.Shared/Follower/FollowerSystem.cs b/Content.Shared/Follower/FollowerSystem.cs index b9c2f4bece..07639a1790 100644 --- a/Content.Shared/Follower/FollowerSystem.cs +++ b/Content.Shared/Follower/FollowerSystem.cs @@ -44,7 +44,6 @@ public sealed class FollowerSystem : EntitySystem SubscribeLocalEvent(OnFollowerMove); SubscribeLocalEvent(OnPullStarted); SubscribeLocalEvent(OnFollowerTerminating); - SubscribeLocalEvent(OnAfterHandleState); SubscribeLocalEvent(OnFollowedAttempt); SubscribeLocalEvent(OnGotEquippedHand); @@ -150,11 +149,6 @@ public sealed class FollowerSystem : EntitySystem StopFollowingEntity(uid, component.Following, deparent: false); } - private void OnAfterHandleState(Entity entity, ref AfterAutoHandleStateEvent args) - { - StartFollowingEntity(entity, entity.Comp.Following); - } - // Since we parent our observer to the followed entity, we need to detach // before they get deleted so that we don't get recursively deleted too. private void OnFollowedTerminating(EntityUid uid, FollowedComponent component, ref EntityTerminatingEvent args) From 93a03111a5c7169510da76d297eaaa3d4189c8f9 Mon Sep 17 00:00:00 2001 From: alexalexmax <149889301+alexalexmax@users.noreply.github.com> Date: Mon, 4 Aug 2025 15:19:20 -0400 Subject: [PATCH 083/149] Updated syndicate throwing knives description (#39374) Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com> --- Resources/Locale/en-US/store/uplink-catalog.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index f2a8dcef49..a1e44241c5 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -237,7 +237,7 @@ uplink-chemistry-kit-name = Chemical Synthesis Kit uplink-chemistry-kit-desc = A starter kit for the aspiring chemist, includes two vials of vestine for all your criminal needs! uplink-knives-kit-name = Throwing Knives Kit -uplink-knives-kit-desc = A set of 4 syndicate branded throwing knives, perfect for embedding into the body of your victims. +uplink-knives-kit-desc = A set of 4 syndicate branded throwing knives, perfect for embedding into the body of your victims. Capable of ignoring armor entirely when thrown. uplink-meds-bundle-name = Interdyne Medical Bundle uplink-meds-bundle-desc = An assortment of autoinjectors and premium medical equipment to cover for every possible situation. Contains an elite compact defibrillator that can be used as a weapon. From f6737d4a574f6dcadfe137f2e6a7ee605e2e5374 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 4 Aug 2025 19:20:31 +0000 Subject: [PATCH 084/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1575e62bdb..e1755ac90a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -3895,3 +3895,11 @@ id: 8825 time: '2025-08-03T00:34:37.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/38165 +- author: alexalexmax + changes: + - message: Updated the syndicate throwing knives uplink entry to include the fact + that they ignore armor. + type: Tweak + id: 8826 + time: '2025-08-04T19:19:20.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39374 From e996fb62f1fd9ae434e60d3e783c24e147f0768e Mon Sep 17 00:00:00 2001 From: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> Date: Mon, 4 Aug 2025 13:10:54 -0700 Subject: [PATCH 085/149] Revert "Fix bug with pipe color" (#39135) --- .../PipeColorVisualizerSystem.cs | 37 -------------- .../Systems/Storage/Controls/ItemGridPiece.cs | 20 +------- .../Components/AtmosPipeColorComponent.cs | 11 ++--- .../EntitySystems/AtmosPipeColorSystem.cs | 48 +++++++++++++++++++ .../Sandbox/Commands/ColorNetworkCommand.cs | 6 +-- .../SprayPainter/SprayPainterSystem.cs | 6 +-- .../EntitySystems/AtmosPipeColorSystem.cs | 36 -------------- 7 files changed, 59 insertions(+), 105 deletions(-) rename {Content.Shared/Atmos => Content.Server/Atmos/Piping}/Components/AtmosPipeColorComponent.cs (63%) create mode 100644 Content.Server/Atmos/Piping/EntitySystems/AtmosPipeColorSystem.cs delete mode 100644 Content.Shared/Atmos/EntitySystems/AtmosPipeColorSystem.cs diff --git a/Content.Client/Atmos/EntitySystems/PipeColorVisualizerSystem.cs b/Content.Client/Atmos/EntitySystems/PipeColorVisualizerSystem.cs index b23a44e403..5595f441f7 100644 --- a/Content.Client/Atmos/EntitySystems/PipeColorVisualizerSystem.cs +++ b/Content.Client/Atmos/EntitySystems/PipeColorVisualizerSystem.cs @@ -1,46 +1,11 @@ using Content.Client.Atmos.Components; using Robust.Client.GameObjects; -using Content.Client.UserInterface.Systems.Storage.Controls; using Content.Shared.Atmos.Piping; -using Content.Shared.Hands; -using Content.Shared.Atmos.Components; -using Content.Shared.Item; namespace Content.Client.Atmos.EntitySystems; public sealed class PipeColorVisualizerSystem : VisualizerSystem { - [Dependency] private readonly SharedItemSystem _itemSystem = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnGetVisuals); - SubscribeLocalEvent(OnDrawInGrid); - } - - /// - /// This method is used to display the color changes of the pipe on the screen.. - /// - private void OnGetVisuals(Entity item, ref GetInhandVisualsEvent args) - { - foreach (var (_, layerData) in args.Layers) - { - if (TryComp(item.Owner, out AtmosPipeColorComponent? pipeColor)) - layerData.Color = pipeColor.Color; - } - } - - /// - /// This method is used to change the pipe's color in a container grid. - /// - private void OnDrawInGrid(Entity item, ref BeforeRenderInGridEvent args) - { - if (TryComp(item.Owner, out AtmosPipeColorComponent? pipeColor)) - args.Color = pipeColor.Color; - } - protected override void OnAppearanceChange(EntityUid uid, PipeColorVisualsComponent component, ref AppearanceChangeEvent args) { if (TryComp(uid, out var sprite) @@ -50,8 +15,6 @@ public sealed class PipeColorVisualizerSystem : VisualizerSystem Entity; } -/// -/// This event gets raised before a sprite gets drawn in a grid and lets to change the sprite color for several gameobjects that have special sprites to render in containers. -/// -public sealed class BeforeRenderInGridEvent : EntityEventArgs -{ - public Color Color { get; set; } - - public BeforeRenderInGridEvent(Color color) - { - Color = color; - } -} - public enum ItemGridPieceMarks { First, diff --git a/Content.Shared/Atmos/Components/AtmosPipeColorComponent.cs b/Content.Server/Atmos/Piping/Components/AtmosPipeColorComponent.cs similarity index 63% rename from Content.Shared/Atmos/Components/AtmosPipeColorComponent.cs rename to Content.Server/Atmos/Piping/Components/AtmosPipeColorComponent.cs index ee8e55491f..a8edb07d31 100644 --- a/Content.Shared/Atmos/Components/AtmosPipeColorComponent.cs +++ b/Content.Server/Atmos/Piping/Components/AtmosPipeColorComponent.cs @@ -1,22 +1,19 @@ -using Content.Shared.Atmos.EntitySystems; -using Robust.Shared.GameStates; +using Content.Server.Atmos.Piping.EntitySystems; using JetBrains.Annotations; -namespace Content.Shared.Atmos.Components; +namespace Content.Server.Atmos.Piping.Components; -[RegisterComponent, NetworkedComponent] -[AutoGenerateComponentState] +[RegisterComponent] public sealed partial class AtmosPipeColorComponent : Component { [DataField] - [AutoNetworkedField] public Color Color { get; set; } = Color.White; [ViewVariables(VVAccess.ReadWrite), UsedImplicitly] public Color ColorVV { get => Color; - set => IoCManager.Resolve().System().SetColor((Owner, this), value); + set => IoCManager.Resolve().System().SetColor(Owner, this, value); } } diff --git a/Content.Server/Atmos/Piping/EntitySystems/AtmosPipeColorSystem.cs b/Content.Server/Atmos/Piping/EntitySystems/AtmosPipeColorSystem.cs new file mode 100644 index 0000000000..91f70467b4 --- /dev/null +++ b/Content.Server/Atmos/Piping/EntitySystems/AtmosPipeColorSystem.cs @@ -0,0 +1,48 @@ +using Content.Server.Atmos.Piping.Components; +using Content.Shared.Atmos.Piping; +using Robust.Server.GameObjects; + +namespace Content.Server.Atmos.Piping.EntitySystems +{ + public sealed class AtmosPipeColorSystem : EntitySystem + { + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnStartup); + SubscribeLocalEvent(OnShutdown); + } + + private void OnStartup(EntityUid uid, AtmosPipeColorComponent component, ComponentStartup args) + { + if (!TryComp(uid, out AppearanceComponent? appearance)) + return; + + _appearance.SetData(uid, PipeColorVisuals.Color, component.Color, appearance); + } + + private void OnShutdown(EntityUid uid, AtmosPipeColorComponent component, ComponentShutdown args) + { + if (!TryComp(uid, out AppearanceComponent? appearance)) + return; + + _appearance.SetData(uid, PipeColorVisuals.Color, Color.White, appearance); + } + + public void SetColor(EntityUid uid, AtmosPipeColorComponent component, Color color) + { + component.Color = color; + + if (!TryComp(uid, out AppearanceComponent? appearance)) + return; + + _appearance.SetData(uid, PipeColorVisuals.Color, color, appearance); + + var ev = new AtmosPipeColorChangedEvent(color); + RaiseLocalEvent(uid, ref ev); + } + } +} diff --git a/Content.Server/Sandbox/Commands/ColorNetworkCommand.cs b/Content.Server/Sandbox/Commands/ColorNetworkCommand.cs index 89c1182eae..8237ccb2eb 100644 --- a/Content.Server/Sandbox/Commands/ColorNetworkCommand.cs +++ b/Content.Server/Sandbox/Commands/ColorNetworkCommand.cs @@ -1,6 +1,6 @@ using Content.Server.Administration.Managers; -using Content.Shared.Atmos.Components; -using Content.Shared.Atmos.EntitySystems; +using Content.Server.Atmos.Piping.Components; +using Content.Server.Atmos.Piping.EntitySystems; using Content.Shared.Administration; using Content.Shared.NodeContainer; using Content.Shared.NodeContainer.NodeGroups; @@ -78,7 +78,7 @@ namespace Content.Server.Sandbox.Commands if (!EntityManager.TryGetComponent(x.Owner, out AtmosPipeColorComponent? atmosPipeColorComponent)) continue; - _pipeColorSystem.SetColor((x.Owner, atmosPipeColorComponent), color); + _pipeColorSystem.SetColor(x.Owner, atmosPipeColorComponent, color); } } } diff --git a/Content.Server/SprayPainter/SprayPainterSystem.cs b/Content.Server/SprayPainter/SprayPainterSystem.cs index a5e08a91a6..24ab5e0ea2 100644 --- a/Content.Server/SprayPainter/SprayPainterSystem.cs +++ b/Content.Server/SprayPainter/SprayPainterSystem.cs @@ -1,5 +1,5 @@ -using Content.Shared.Atmos.Components; -using Content.Shared.Atmos.EntitySystems; +using Content.Server.Atmos.Piping.Components; +using Content.Server.Atmos.Piping.EntitySystems; using Content.Server.Charges; using Content.Server.Decals; using Content.Server.Destructible; @@ -147,7 +147,7 @@ public sealed class SprayPainterSystem : SharedSprayPainterSystem return; Audio.PlayPvs(ent.Comp.SpraySound, ent); - _pipeColor.SetColor((target, color), args.Color); + _pipeColor.SetColor(target, color, args.Color); args.Handled = true; } diff --git a/Content.Shared/Atmos/EntitySystems/AtmosPipeColorSystem.cs b/Content.Shared/Atmos/EntitySystems/AtmosPipeColorSystem.cs deleted file mode 100644 index 548136fbfa..0000000000 --- a/Content.Shared/Atmos/EntitySystems/AtmosPipeColorSystem.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Content.Shared.Atmos.Components; -using Content.Shared.Atmos.Piping; - -namespace Content.Shared.Atmos.EntitySystems; - -public sealed class AtmosPipeColorSystem : EntitySystem -{ - - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnStartup); - SubscribeLocalEvent(OnShutdown); - } - - private void OnStartup(Entity item, ref ComponentStartup args) - { - _appearance.SetData(item.Owner, PipeColorVisuals.Color, item.Comp.Color); - } - - private void OnShutdown(Entity item, ref ComponentShutdown args) - { - _appearance.SetData(item.Owner, PipeColorVisuals.Color, Color.White); - } - - public void SetColor(Entity item, Color color) - { - item.Comp.Color = color; - _appearance.SetData(item.Owner, PipeColorVisuals.Color, color); - Dirty(item); - } -} - From 312f81d58ad5e11e2a7510b2bcc30e1a49390159 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Mon, 4 Aug 2025 17:00:19 -0400 Subject: [PATCH 086/149] Move `HeadstandComponent` to Shared (#39377) Move HeadstandComponent to Shared --- .../Administration/Components/HeadstandComponent.cs | 10 ---------- .../Administration/Systems/HeadstandSystem.cs | 2 +- .../Administration/Components/HeadstandComponent.cs | 10 ---------- .../Components/SharedHeadstandComponent.cs | 6 +++--- 4 files changed, 4 insertions(+), 24 deletions(-) delete mode 100644 Content.Client/Administration/Components/HeadstandComponent.cs delete mode 100644 Content.Server/Administration/Components/HeadstandComponent.cs diff --git a/Content.Client/Administration/Components/HeadstandComponent.cs b/Content.Client/Administration/Components/HeadstandComponent.cs deleted file mode 100644 index a4e3bfc5aa..0000000000 --- a/Content.Client/Administration/Components/HeadstandComponent.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Content.Shared.Administration.Components; -using Robust.Shared.GameStates; - -namespace Content.Client.Administration.Components; - -[RegisterComponent] -public sealed partial class HeadstandComponent : SharedHeadstandComponent -{ - -} diff --git a/Content.Client/Administration/Systems/HeadstandSystem.cs b/Content.Client/Administration/Systems/HeadstandSystem.cs index d0634e4ddd..8ab337f3cc 100644 --- a/Content.Client/Administration/Systems/HeadstandSystem.cs +++ b/Content.Client/Administration/Systems/HeadstandSystem.cs @@ -1,4 +1,4 @@ -using Content.Client.Administration.Components; +using Content.Shared.Administration.Components; using Robust.Client.GameObjects; namespace Content.Client.Administration.Systems; diff --git a/Content.Server/Administration/Components/HeadstandComponent.cs b/Content.Server/Administration/Components/HeadstandComponent.cs deleted file mode 100644 index 2ab097fad4..0000000000 --- a/Content.Server/Administration/Components/HeadstandComponent.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Content.Shared.Administration.Components; -using Robust.Shared.GameStates; - -namespace Content.Server.Administration.Components; - -[RegisterComponent] -public sealed partial class HeadstandComponent : SharedHeadstandComponent -{ - -} diff --git a/Content.Shared/Administration/Components/SharedHeadstandComponent.cs b/Content.Shared/Administration/Components/SharedHeadstandComponent.cs index 96a4dfc2dd..25576fc466 100644 --- a/Content.Shared/Administration/Components/SharedHeadstandComponent.cs +++ b/Content.Shared/Administration/Components/SharedHeadstandComponent.cs @@ -3,7 +3,7 @@ namespace Content.Shared.Administration.Components; /// -/// Flips the target's sprite on it's head, so they do a headstand. +/// Flips the target's sprite on its head, so they do a headstand. /// -[NetworkedComponent] -public abstract partial class SharedHeadstandComponent : Component { } +[RegisterComponent, NetworkedComponent] +public sealed partial class HeadstandComponent : Component; From 14c2a1fa9266a3dcd692eb7fdbd44fb76b364d4a Mon Sep 17 00:00:00 2001 From: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> Date: Mon, 4 Aug 2025 14:02:40 -0700 Subject: [PATCH 087/149] Fix head mappers codeowners (#39378) webedit ops codeowners --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2ac30d2f17..c4de781a23 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -9,6 +9,7 @@ /Resources/ServerInfo/Guidebook/ServerRules/ @crazybrain23 /Resources/Prototypes/Maps/** @Emisse @ArtisticRoomba +/Resources/Maps/** @Emisse @ArtisticRoomba /Resources/Prototypes/Body/ @DrSmugleaf # suffering /Resources/Prototypes/Entities/Mobs/Player/ @DrSmugleaf From a80b31e1cd1543580853fb0b72dfa19b3ec9ea2c Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Tue, 5 Aug 2025 01:34:41 +0200 Subject: [PATCH 088/149] Fix vox inhand displacements (#38507) fix --- .../Species/Vox/displacement.rsi/hand_r.png | Bin 247 -> 269 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Mobs/Species/Vox/displacement.rsi/hand_r.png b/Resources/Textures/Mobs/Species/Vox/displacement.rsi/hand_r.png index c10c6abe663553559ab44d54723430cebecf68f1..2988b27a54b7ab124077e294992ddf8ca3c472c1 100644 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil)db&7v{6jqih-(&k2Y=$zE~pm}r*C#OU9%^q=qF z^-ZU*SpHZ0@$M{BhO1c&tFAJHtY%yh#vHJgZ9x>T!&a#VEE1hpe#z9#-v52g_k-{4 zcd@J_pd4Y&Bz}X>%oh4w1u@?*03FQ0mm1-j=IhI#1!QvoF$i1=o(!TqUHx3vIVCg! E0AQnAfdBvi literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|HhQ`^hE&XX zdvhZ%vmws`2g~OF>T!QAs~E>53K=Z$W8pTP*SR_J_bhjvec#snuTgHl{$AFXaZAH8 zhA4+%2Hgdk4PqBW9Jn*M7O Date: Mon, 4 Aug 2025 15:39:40 -0800 Subject: [PATCH 089/149] Add Offset Canes + Trinket Canes Group (#39272) * Added offset cane * Added offset cane colors * Added canes to the trinkets menu * added color to names instead of suffix * removes some stripes from the mime cane icon * update file organization * standard -> standard.rsi, stop making commits at nearly 3 in the morning. * updated comment to be more explicit in what doesnt work * Cane refactor :godo: * git makes me very upset sometimes (fixed cane yaml) * wooden->wood * apparently this didnt push * Standardize comments * Removed comment * Removed comment * Adds red accents to mime cane * Indent fixes --- .../Objects/Weapons/Melee/offset_cane.yml | 85 ++++++++++++++++++ .../Loadouts/Miscellaneous/trinkets.yml | 68 ++++++++++++++ .../Prototypes/Loadouts/loadout_groups.yml | 6 ++ .../Recipes/Lathes/Packs/medical.yml | 2 + .../Prototypes/Recipes/Lathes/medical.yml | 16 ++++ .../Melee/offset_canes/clown.rsi/icon.png | Bin 0 -> 761 bytes .../offset_canes/clown.rsi/inhand-left.png | Bin 0 -> 2676 bytes .../offset_canes/clown.rsi/inhand-right.png | Bin 0 -> 356 bytes .../Melee/offset_canes/clown.rsi/meta.json | 30 +++++++ .../clown.rsi/wielded-inhand-left.png | Bin 0 -> 637 bytes .../clown.rsi/wielded-inhand-right.png | Bin 0 -> 640 bytes .../Melee/offset_canes/mime.rsi/icon.png | Bin 0 -> 711 bytes .../offset_canes/mime.rsi/inhand-left.png | Bin 0 -> 2599 bytes .../offset_canes/mime.rsi/inhand-right.png | Bin 0 -> 280 bytes .../Melee/offset_canes/mime.rsi/meta.json | 30 +++++++ .../mime.rsi/wielded-inhand-left.png | Bin 0 -> 608 bytes .../mime.rsi/wielded-inhand-right.png | Bin 0 -> 607 bytes .../offset_canes/nanotrasen.rsi/icon.png | Bin 0 -> 731 bytes .../nanotrasen.rsi/inhand-left.png | Bin 0 -> 2630 bytes .../nanotrasen.rsi/inhand-right.png | Bin 0 -> 309 bytes .../offset_canes/nanotrasen.rsi/meta.json | 30 +++++++ .../nanotrasen.rsi/wielded-inhand-left.png | Bin 0 -> 639 bytes .../nanotrasen.rsi/wielded-inhand-right.png | Bin 0 -> 637 bytes .../Melee/offset_canes/standard.rsi/icon.png | Bin 0 -> 675 bytes .../offset_canes/standard.rsi/inhand-left.png | Bin 0 -> 2601 bytes .../standard.rsi/inhand-right.png | Bin 0 -> 278 bytes .../Melee/offset_canes/standard.rsi/meta.json | 30 +++++++ .../standard.rsi/wielded-inhand-left.png | Bin 0 -> 596 bytes .../standard.rsi/wielded-inhand-right.png | Bin 0 -> 596 bytes .../Melee/offset_canes/wood.rsi/icon.png | Bin 0 -> 668 bytes .../offset_canes/wood.rsi/inhand-left.png | Bin 0 -> 2638 bytes .../offset_canes/wood.rsi/inhand-right.png | Bin 0 -> 314 bytes .../Melee/offset_canes/wood.rsi/meta.json | 30 +++++++ .../wood.rsi/wielded-inhand-left.png | Bin 0 -> 632 bytes .../wood.rsi/wielded-inhand-right.png | Bin 0 -> 632 bytes 35 files changed, 327 insertions(+) create mode 100644 Resources/Prototypes/Entities/Objects/Weapons/Melee/offset_cane.yml create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/icon.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/wielded-inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/mime.rsi/icon.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/mime.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/mime.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/mime.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/mime.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/mime.rsi/wielded-inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/icon.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/wielded-inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/icon.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/wielded-inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/icon.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/wielded-inhand-right.png diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/offset_cane.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/offset_cane.yml new file mode 100644 index 0000000000..1d2081fe93 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/offset_cane.yml @@ -0,0 +1,85 @@ +- type: entity + parent: BaseItem + id: OffsetCane + name: standard offset cane + description: A standard offset cane, essential for getting around when your legs aren't up to the task. May or may not grant you the wisdom of the elderly. + components: + - type: Sprite + sprite: Objects/Weapons/Melee/offset_canes/standard.rsi + state: icon + - type: Item + size: Normal + sprite: Objects/Weapons/Melee/offset_canes/standard.rsi +# - type: RandomSprite # Ideally I'd rather these be their own selectable item instead of randomly picked. +# available: +# - color: "#91949C" # standard gray +# - color: "#000000" # black +# - color: "#406BDE" # blue +# - color: "#00FFFF" # cyan +# - color: "#00FF00" # green +# - color: "#FF69B4" # pink +# - color: "#800080" # purple +# - color: "#FF0000" # red +# - color: "#FFFF00" # yellow + - type: MeleeWeapon + wideAnimationRotation: 45 + damage: + types: + Blunt: 5 + - type: StaminaDamageOnHit + damage: 5 + - type: Wieldable + - type: IncreaseDamageOnWield + damage: + types: + Blunt: 3 + - type: UseDelay + delay: 1 + +- type: entity + parent: OffsetCane + id: OffsetCaneClown + name: rainbow offset cane + description: A rainbow offset cane, perfect for clowns and those who enjoy a splash of color in their lives. + components: + - type: Sprite + sprite: Objects/Weapons/Melee/offset_canes/clown.rsi + state: icon + - type: Item + sprite: Objects/Weapons/Melee/offset_canes/clown.rsi + +- type: entity + parent: OffsetCane + id: OffsetCaneMime + name: striped offset cane + description: A black and white striped cane, perfect for silent performances. + components: + - type: Sprite + sprite: Objects/Weapons/Melee/offset_canes/mime.rsi + state: icon + - type: Item + sprite: Objects/Weapons/Melee/offset_canes/mime.rsi + +- type: entity + parent: OffsetCane + id: OffsetCaneNT + name: nanotrasen offset cane + description: A nanotrasen standard issue offset cane with the NT logo, favored by those who prefer a more corporate look. + components: + - type: Sprite + sprite: Objects/Weapons/Melee/offset_canes/nanotrasen.rsi + state: icon + - type: Item + sprite: Objects/Weapons/Melee/offset_canes/nanotrasen.rsi + +- type: entity + parent: OffsetCane + id: OffsetCaneWood + name: wooden offset cane + description: A wooden offset cane, a classic choice for those who appreciate natural materials and a sturdy grip. + components: + - type: Sprite + sprite: Objects/Weapons/Melee/offset_canes/wood.rsi + state: icon + - type: Item + sprite: Objects/Weapons/Melee/offset_canes/wood.rsi diff --git a/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml b/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml index 2649dfa958..ccaf3abe42 100644 --- a/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml +++ b/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml @@ -233,6 +233,74 @@ - ClothingNeckGenderfluidPin groupBy: "pin" +# Canes +# The white cane is intentionally not included here. Thats for the blind. +- type: loadout + id: OffsetCane + storage: + back: + - OffsetCane + groupBy: "canes" + +- type: loadout + id: OffsetCaneWood + storage: + back: + - OffsetCaneWood + groupBy: "canes" + +- type: loadout + id: OffsetCaneClown + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobClown + time: 3600 # 1hr + storage: + back: + - OffsetCaneClown + groupBy: "canes" + +- type: loadout + id: OffsetCaneMime + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobMime + time: 3600 # 1hr + storage: + back: + - OffsetCaneMime + groupBy: "canes" + +- type: loadout + id: OffsetCaneNT + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:DepartmentTimeRequirement + department: Command + time: 18000 # 5hr + storage: + back: + - OffsetCaneNT + groupBy: "canes" + +- type: loadout + id: Cane + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobLibrarian + time: 3600 # 1hr same as Jamjar. + storage: + back: + - Cane + groupBy: "canes" + # Towels - type: loadout id: TowelColorWhite diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index 32f73bbf83..333d914225 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -36,6 +36,12 @@ - ClothingNeckTransPin - ClothingNeckAutismPin - ClothingNeckGoldAutismPin + - OffsetCane + - OffsetCaneWood + - OffsetCaneClown + - OffsetCaneMime + - OffsetCaneNT + - Cane - TowelColorBlack - TowelColorDarkBlue - TowelColorDarkGreen diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml b/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml index 6e855f393d..0b6cccf78b 100644 --- a/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/Packs/medical.yml @@ -44,6 +44,8 @@ - DiseaseSwab - BodyBag - WhiteCane + - OffsetCane + - OffsetCaneWood - type: latheRecipePack id: RollerBedsStatic diff --git a/Resources/Prototypes/Recipes/Lathes/medical.yml b/Resources/Prototypes/Recipes/Lathes/medical.yml index 2f968893b1..bd3ee3773d 100644 --- a/Resources/Prototypes/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/medical.yml @@ -217,6 +217,22 @@ Steel: 100 Plastic: 100 +- type: latheRecipe + id: OffsetCane + result: OffsetCane + completetime: 2 + materials: + Steel: 100 + Plastic: 100 + +- type: latheRecipe + id: OffsetCaneWood + result: OffsetCaneWood + completetime: 2 + materials: + Steel: 100 + Wood: 100 + - type: latheRecipe id: LauncherSyringe result: LauncherSyringe diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/icon.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..de4d7464b37b3aa20f5b5c7386dab9a693689f5d GIT binary patch literal 761 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0U@Xscb`J1#c2)=|%1_J8No8Qr zI6rmbUhl&W636Cm^K#XeeWUP5U}2Xtx2vPf(x%u|&e8{0c^COcDS94Ob?sXH;88$< zKKl~-4F`_Jvf-ZON{Eb?2Qavyk2w!Y93E*eTy1C1t@rbf-i*^bBX`Yyp*htm;%!3MGqsNvg?CI=ttpi& zoZOM7`)noOMX9!C86%HiF|Ab*&5YuntHe^j?bg5gMR$RdoLjuKX+hDH0JZ$4D_W&j zSG-!1ZNhuS<(>WKk}oGY_gAa%me^O`yR9K`k5Q`h{BNsIdyW|jRI%u-*|y)w(zkv> zTz>XPW`$jxb7HrdmWo^4XJV7jY1Q`CbkSb%`oL?=3-JtWc@6hO?N?v3^Lxiw**x!s z)Q#Kh$6ow@@yh(|+YF|I_b2TI#zaVfPl)RiX67qQOlO#w{`WAfWn!|jvU=OZurrlG zN=iyjPVWC(hMj8|7#h?VQe+v5lo;Y=3Rf^mt0}mfQeE*NFqF7R}5 z46*RvdigfrAq4@J3-n)*pUU`psyt-J}l za-^2#On2COTUb`X<-^U+EuxtWij9v?-gEuKw4{`6Mh??k$)hRUJGRKq;$(k#&e5L5 zn)$E6B1OT3YL*{zO|Or9W4N=-dX_kU$8Po~wXFS-clIaL?YppuL8ZLmOI~Bqd8QM-V77#iNZiy3cu%~WAf#895(mXt-p^uQjR52cweN5H?z4S&F1d1XC{=#t&3SWo zmX2rkaW&%!+rm8~acS-RmkDfTdgrUBm^=P8I{(;(zxXz9KK{rD)z=Swa(-wOdphVn zGk<*9Tll^=kCdJMbcA2`*xE^LvgGk4!Ruqm(TlFrfjx8fEppnP|6b>l?bTf`oEy#v z8%Jy-3)YTTJuudjQQw-(tlgOTxar2p(ESf^+TIIuC)?|0a@#{8|DuI|-G1)i`Bp zXm7@{Hs#lYpPl~}eU0mR=|G@=OK)Og^4Ni@2T#0HPJbkf{pRw$n{U)Tiw!;f+LP*u z3G(dVrH>CJ`^Rs?{V(13@{IEG-opeul=@#vj=p_k=;D7W&Q+Ai>O(6|HLXWK%aYKV zwgAhrf1fog`zV%u55u-BBWn7!s=jqg`D`|eBxSoVjiI+vy``xY&Ey`~Z%4bvR80KA>R(P-p>UbDNMaf58 zdGR=bi-M0>?`WhO6+euL!5$U1_B6GDo=w0b5Gz-dm3q@GA|#;BW%YPG6wOc!Lm~yKbxS&*CMB&h2gzgVp$1e@(M4Ip4J;p)le&*Ud6)^JZ$Kc8 zCh~k^Y|=Gdpg1(JqYWVe#n7~yq#2U&7<sBDu0yR0Q0vPCml3rO@Oo=D8scR)QXiS;8#)Sxl(ll2r=vQ%#p`zZX zT2xFZrrJ;zR01e!l%yIrzZU=n<1m31*AUTK)S|ee_?GD#P*f4NUIs}coU8W{#;U9! z15sejk73}lyMZlCx&)V%w9_y`x*Y(JZl}ZLaXUR>+71gGPSSK<0?^IZjXly!$_D6N8AF#0|D3~pb+1zipaZsd}=-hM?f4WV*@np0;Gcp+ey0v zI7p8@Y$I(E7Xs5f4}p`wjUuwOAad&ruG#fIo=u(KuMFQx5=BtxvEaNc+Ab^X3?#NMySe#i_#bs zFIy-fyQt_Y6@Q=jBf5r~dg@x@ke@mY`@@Hq?oXFzNj$Ku?C4G17!vFi@-s2S)IzAnHsMq>Y z;s;x@*Pf9V_jXszn0Ly$AZ8DC^zW$IUprIVIs2}|Cw@}d+fbd>mc~YAzJGA2;eZc2 X`uxvlQ#FTbjsFo`psD^~T}R*NGJ}l| literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/clown.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb35c758fe6ed7378e8a7376543b4b40c00a893 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`1k1^9%xT3K2B?_qet%>4f?14DzFl0#pyW>c7a;{X5ufl4YD8At*tu96_X zV4w&DFl;)ba~>$lS>O>_%)r2R5QG_bOw0zFz_8QP#W5tp{p~bwzQYC_tdp17-~WH; zpr|1Sv))Sc-Wj|{{N*gQBTn@%QDB`avSh)h?M+MXW}mG(tad^%Vq=>ni}bbkJCa#% z>9_FAYLMrvOkh>xy76#=df04Tx04UFukxeK>Q5?m8#!RGVht+M#vs821rCRAy{LuSs&3oi%{tmSix zcZDP7lAaPi6Yg^4g2E34Tx04UFukxeK>Q5?m8#!RGVht+M#vs821rCRAy{LuSs&3oi%{tmSix zcZDP7lAaPi6Yg^4g2E34Tx04UFuk-ba9Kp4iKwn{}S9qb_D5TS}g3q?U3rGj0mLmR=WOL9$GAxXm} zMT)E7;!to9UHlsS4|Ek=6$C*MMBLo{TBOAHnnH`{;2oFu$8&jJ?w$jJS%aBQR|+sK zm*+BRX{oR*g?Y5cM`Gdf|Vguc$c;2=ow7F`K)@GsM|- z*A~1@9AjmrNPI|~;B-LZE1|1CKMOAT{4SWwxmmiK=qZ&tSnXg|<|gqtaojYjtaTo7 zlZa+5=BWhUA8rK7dYPn1|MvND@`dxE2!(h>nYG*00wS=-W5Nq);><|0eOR-=o;AD2gd0C z=;}A^?PvnQ-;%um000SaNLh0L01m(a01m(bYSxJf0002?NklST5JiuO z3_vVuC=kOiN(S-}ED)AR104mfphHyD4riGN5lB+lz5-`~K&2{oQxjUp$y zu7hzLRh_2kuFgfT#+byEcvV%Qm@$^n(_MCI~;hi=Q053HU;E7jDu_OQh002ovPDHLkV1iOwH=qCj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/mime.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/mime.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc2b7a9dc992cc74fa2f3d47cf9016b6bea7927 GIT binary patch literal 2599 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 X+$?Rnck>7RSs6AyoV*MEHm`{sum z&vb9UyUA~xu4~m}qp(JsXE~k|j^D2KpUP0VXR7vsCn_4>|JnqHHrT|S6rZYGx##9H zhMhU05YreKguLzDZU0G}FK&4kc*B^pT7AaSjcfPFG2ZSyYP?~B=Z81a95)vSEM%I& qvK_*Huro`hsP)%}{Kh|`7jDVF*p;`$UQWmqWS*z1pUXO@geCx_LUuU- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/meta.json new file mode 100644 index 0000000000..374d6f5ef4 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by TrixxedHeart", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..2bec441eb61cc9ba4b6eb0ef5820d29b739647be GIT binary patch literal 639 zcmV-_0)YLAP)4Tx04UFukxeK>Q5?m8#!RGVht+M#vs821rCRAy{LuSs&3oi%{tmSix zcZDP7lAaPi6Yg^4g2E3}p6RyczgMBMYRIqo2F@s!R zm?+3ey=xRbg8~Ww1rz`ZC;)#GpiS`p;NA}Gh&K?Za$MYC@SlSe&k{6Glj3G)4+RvM ZnQaHYKa&u<0aO40002ovPDHLkV1mVU9ku`f literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/nanotrasen.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..069f7b670c8bf27d3a6d5fa997af36f84f2dbcb2 GIT binary patch literal 637 zcmV-@0)qXCP)4Tx04UFukxeK>Q5?m8#!RGVht+M#vs821rCRAy{LuSs&3oi%{tmSix zcZDP7lAaPi6Yg^4g2E3@R~`2 z_}sgAP5HS&B#;0|AOVm-0`M~d_nZ%^%{Fm>*yAM|1f3q=NY4~>hJ;2s2%aH<1ZHL% XzUe=Uf*dlK00000NkvXXu0mjfv)UkX literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/icon.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2b989d43776ebc7dc4187556a6bed8ceebdb04ce GIT binary patch literal 675 zcmV;U0$lxxP)4Tx04UFuk-ba9Kp4iKwn{}S9qb_D5TS}g3q?U3rGj0mLmR=WOL9$GAxXm} zMT)E7;!to9UHlsS4|Ek=6$C*MMBLo{TBOAHnnH`{;2oFu$8&jJ?w$jJS%aBQR|+sK zm*+BRX{oR*g?Y5cM`Gdf|Vguc$c;2=ow7F`K)@GsM|- z*A~1@9AjmrNPI|~;B-LZE1|1CKMOAT{4SWwxmmiK=qZ&tSnXg|<|gqtaojYjtaTo7 zlZa+5=BWhUA8rK7dYPn1|MvND@`dxE2!(h>nYG*00wS=-W5Nq);><|0eOR-=o;AD2gd0C z=;}A^?PvnQ-;%um001OVOjJex|Nr6P;nUO8v$L~0IyxsOC*R-S9v&XW#l?<}j?2r- z00024O78an000bhQchF<|NsC0|NsC0|Nj6I-_Fhe000SaNLh0L01mW%pslQoZ=p@@iJ8p+P4*Rl1yN3ZcY`H_ z82PTRZg(eIS(sqU&s2pESiFEL-TI2Zd2S)F} zY4jF^&FBp{&He!M`}YKRU4Yve_`QNCe*$9+%56@5q`L_qx&SO4DV?T11rq=O002ov JPDHLkV1h^-CH?>a literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..37c5475b2a5a4198d489552824098cfe788874ad GIT binary patch literal 2601 zcma)-3v3ic7{?b9c^tG-;)4<;>l%qw_I7XYz1{)s_3)O`_R^M8F|qE=&RrMocDK8G zy=%p2sU#qR3MxXhYVZj~!58w7hqhQ1P-#$O0yHIR5J-WDMC9S@_U^0*(o60!bN}x* z-+cT3W|o92?$5JKv|t#P$AwC((D!uXJ!%B{Tqiaj#;{>eh=D+u3k2}6Do4dQ#IU=+ zdHz{{==1PRiz=(jg7@S%jce=!kjp+f(`dhsKOrX6fl@=ce~0>^HCK zj7zh}?jW#f>1AK|Af~!z%BX!4dR1 zuI1AW!R3#)CVKm}ZYX+W*U$O%??U&RCuT0VRPq|O{gv-tRCo1~-){cp?1tp>o{@Oq z)44l_<>$9h!wuSuBtfR$h=J(3(ytNR45>X=#NA^P!GMU`&+!ME|y(1TG4GVve(%E>{Au zK@7F1u)3w92DHovUV)f4HP7Npvxty@I*+FlaYK^=(jOV5x6PQ=lhAe@-QBd zRfs#R4l7Lt(_#}tAPA28R3XY%mCndO(8y0T=(@sER4SFSrtDT(jZrqQ*Gth1#V{mN zkXo~(^J!Aj?i_$*Fr`ofs;KCqEa3*0kH|^gPoO-^1kpbrm_`#BzA-lGnl4Zr8aU8~ zkbq)n+C$O|$#{)D3~Vl;l$YlsB`s4!R81<)E0oPjQ;9@Qt?9w0f7ZFGTB~VRAXNo5 zIjI5|Y=V-0XLd0qp40}fmDHdyW#$?eq7+KgTrsP^pDPdN^hVWUVnQ+1hBB)XKu)71 z)wub;04NxT3ADI|h_;*-#pT3TP2Yf`im;_JNE+c>sh==bWd#|C0&D(^0Jp;f>=Du} zxNW3^hEdYv1c3CooNlkj<&Dq|nB{Pirt=bj1_zO?B7(q(hjBSQZj#|`Jn8Uwy<`MN zBV;7%5f~l_z#awJ_)1ko-sR(i^D#IA;rq)vpjHqiK~8Cz`5G|+t99NelFj9@({9G;bh%u#!{yB= zYN4tj8yYYhZM883E&z50Lh;BKVuFuBN|9n__H00fye_LXvK;plMjE&glyx@pcE-5u zEE({Ixy=A5nEivBFSCnE_!v&*CVkZP!v4dpZje(_4v=Z8>rww5lw%gFdP-L3SE`kf zc@XGBrCuv6$E`wVl%}iA+>p0_l?dN}c|(XKtIb#DRt*~mO=Zdu7jd(zSsoaVz)xs= z6BLNdBxvBJ7(_=V>YxFccojqQE)cavfj|P@i45&xoFvaXU8E3oI2anZJ#NO4jo0L; zp5j$l97ElOY=L^qv;}^5#)?H*WvT%hKBE~sNjuT8Rm0FM?PYDq)Bm^u?Se9n#KC*> z83zgK;VaAFGY%V;GfY~YRFt>~)j{)>=H>=w(XEC?sLI)k(ir6~TPPvBsOTycwm>Zp_4zASvv8tSa>yPzTB2xS!g*X)ov(g>o4XGHH03kN*Gu6E>}zck>iV_ zx6e7Ss-b;-Nx{^D&9!HwHLLY4!}nHrKEUpp)H=&D?sT1HT;n?1jFd(r}o$X~qgnP|kGt}D8sZcF>l opAWartZ%*P-nZ8F@0oXUk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`211o(uwT3K2B|NsB~{rf-xQEm5KAax}{e!)ON1_!N`Ux0kh0*}aI1_r*v zAk26?e??C~V=Aa8>M}VKYQ|omxfK zk773dj(^$)3Lh&O_cf(CYd3se;p(VAV~^0WwU5;^uJ;A5o+AA&O@Fp`pnV6>ISihz KelF{r5}E*re_=!b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/meta.json new file mode 100644 index 0000000000..374d6f5ef4 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by TrixxedHeart", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/standard.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2843d85b15093a5c7d5dbcd699f643d169f45b GIT binary patch literal 596 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..7388db8476156c1af127d287657fa04124ddc4c5 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en@VuvsV@O5Z+glsC4jBkEJPe4j`o_s}^yJ3o z2}h4!41baR%VJ-b&<;JmOV{p9{QQsKYtqtkTMvyVLO{Jh(6E0(aotq+X}5i+$Icb6 zEV2J?XkSw%HR&`{$k}SEU)oMz=j;_t^xZeNC$UxkfYLp_!=^tsv8Eg`-){JW|KjJu z-dKn^3=D>~-#Dk-W9+UzEVTH@q||DY-yAVtG&17mn%3*4Z)HunC3gDAmZU;UE#+++ zY!+-u+Q^#1^Ljbc8~(j#zC<32I( A2><{9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/meta.json new file mode 100644 index 0000000000..8bfbd3140d --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/meta.json @@ -0,0 +1,30 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by TrixxedHeart, inspiration from ps3moira#9488 on discord", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/offset_canes/wood.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..c7cd397457ef5c05ff1731ff8ff5959295ff143d GIT binary patch literal 632 zcmV-;0*C#HP)4Tx04UFukxeK>Q5?m8#!RGVht+M#vs821rCRAy{LuSs&3oi%{tmSix zcZDP7lAaPi6Yg^4g2E3fzrGg$0001h z@O)gl>v7Yi;b6ZFUEkVW*4Gbu&B! SL&?Vg00004Tx04UFukxeK>Q5?m8#!RGVht+M#vs821rCRAy{LuSs&3oi%{tmSix zcZDP7lAaPi6Yg^4g2E3^`$p7pwRO z000000002UoOb#D|4=?)Y98Pj^>*Ivc`uLfN)BO?UuFirdA58&ssR8fO9)r2W-~m; S_?zqi0000 Date: Mon, 4 Aug 2025 23:40:47 +0000 Subject: [PATCH 090/149] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index e1755ac90a..2ca5351055 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: yuitop - changes: - - message: Fingerless gloves no more blocking taking the fingerprint. - type: Tweak - id: 8314 - time: '2025-04-22T18:15:12.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31864 - author: GoldenCan changes: - message: Heads of Personnel can now fabricate generic command-themed clothes using @@ -3903,3 +3896,13 @@ id: 8826 time: '2025-08-04T19:19:20.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39374 +- author: TrixxedHeart + changes: + - message: Added canes to the trinkets loadout tab. + type: Add + - message: Added offset canes for roleplay flair. They can be crafted in the medical + lathe. + type: Add + id: 8827 + time: '2025-08-04T23:39:40.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/39272 From 2c933c8de77df74bc9a1bce617db18512a923016 Mon Sep 17 00:00:00 2001 From: qwerltaz <69696513+qwerltaz@users.noreply.github.com> Date: Tue, 5 Aug 2025 02:34:10 +0200 Subject: [PATCH 091/149] add: air alarm scrubber select all gases button (#39296) * add select all gases button * now make it work * localize * refactor * remove redundant Orientation Co-authored-by: Perry Fraser * remove useless HorizontalExpand Co-authored-by: Perry Fraser * add nice newline Co-authored-by: Perry Fraser * deduplicate Enum.GetValues usage --------- Co-authored-by: Perry Fraser --- .../Monitor/UI/Widgets/ScrubberControl.xaml | 8 +++++++- .../Monitor/UI/Widgets/ScrubberControl.xaml.cs | 17 ++++++++++++++++- Resources/Locale/en-US/atmos/air-alarm-ui.ftl | 2 ++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml b/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml index 34c1a9dd1a..85f63731fb 100644 --- a/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml +++ b/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml @@ -29,7 +29,13 @@ - + + +