diff --git a/Content.Client/Shuttles/UI/BaseShuttleControl.xaml.cs b/Content.Client/Shuttles/UI/BaseShuttleControl.xaml.cs index dc66f02522e..d45ff3a4bf9 100644 --- a/Content.Client/Shuttles/UI/BaseShuttleControl.xaml.cs +++ b/Content.Client/Shuttles/UI/BaseShuttleControl.xaml.cs @@ -1,15 +1,5 @@ -// SPDX-FileCopyrightText: 2024 ErhardSteinhauer -// SPDX-FileCopyrightText: 2024 Jake Huxell -// SPDX-FileCopyrightText: 2024 eoineoineoin -// SPDX-FileCopyrightText: 2024 exincore -// SPDX-FileCopyrightText: 2024 metalgearsloth -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - using System.Numerics; using Content.Client.UserInterface.Controls; -using Content.Shared._Mono.GridEdgeMarker; // Mono using Content.Shared.Maps; // Mono using Content.Shared.Shuttles.Components; using Robust.Client.AutoGenerated; @@ -35,7 +25,6 @@ public partial class BaseShuttleControl : MapGridControl { [Dependency] private readonly IParallelManager _parallel = default!; [Dependency] private readonly ITileDefinitionManager _tileDef = default!; // Mono - protected readonly EntityLookupSystem _lookup; // Mono protected readonly SharedMapSystem Maps; protected readonly Font Font; @@ -50,11 +39,6 @@ public partial class BaseShuttleControl : MapGridControl // stores inward directions of borders private readonly Dictionary _gridNeighborSet = new(); // Mono private readonly List<(Vector2 Start, Vector2 End)> _edges = new(); - private readonly HashSet> _edgeMarkers = new(); - - private Vector2 CenterVec = new Vector2(0.5f, 0.5f); // Mono - - private EntityQuery _xformQuery; // Mono private Vector2[] _allVertices = Array.Empty(); @@ -68,8 +52,6 @@ public BaseShuttleControl(float minRange, float maxRange, float range) : base(mi { RobustXamlLoader.Load(this); Maps = EntManager.System(); - _lookup = EntManager.System(); // Mono - _xformQuery = EntManager.GetEntityQuery(); // Mono Font = new VectorFont(IoCManager.Resolve().GetResource("/Fonts/NotoSans/NotoSans-Regular.ttf"), 12); _drawJob = new GridDrawJob() @@ -110,7 +92,7 @@ protected void DrawCircles(DrawingHandleScreen handle) var maxDistance = MathF.Pow(2f, EquatorialMultiplier * 6f); var cornerDistance = MathF.Sqrt(WorldRange * WorldRange + WorldRange * WorldRange); - var origin = MidPointVector; // Mono + var origin = ScalePosition(-new Vector2(Offset.X, -Offset.Y)); for (var radius = minDistance; radius <= maxDistance; radius *= EquatorialMultiplier) { @@ -141,7 +123,7 @@ protected void DrawCircles(DrawingHandleScreen handle) // Frontier Corvax: north line drawing protected void DrawNorthLine(DrawingHandleScreen handle, Angle angle) { - var origin = MidPointVector; + var origin = ScalePosition(-new Vector2(Offset.X, -Offset.Y)); var aExtent = (angle - Math.Tau / 4).ToVec() * ScaledMinimapRadius * 1.42f; var lineColor = Color.Red.WithAlpha(0.1f); handle.DrawLine(origin, origin + aExtent, lineColor); @@ -250,21 +232,6 @@ protected void DrawGrid(DrawingHandleScreen handle, Matrix3x2 gridToView, Entity } } - // Mono - _edgeMarkers.Clear(); - _lookup.GetLocalEntitiesIntersecting(grid, grid.Comp.LocalAABB, _edgeMarkers); - foreach (var edge in _edgeMarkers) - { - if (!_xformQuery.TryComp(edge, out var xform)) - continue; - - var coord = xform.Coordinates.Position; - var rotation = xform.LocalRotation; - var begin = rotation.RotateVec(edge.Comp.Begin - CenterVec) + CenterVec; - var end = rotation.RotateVec(edge.Comp.End - CenterVec) + CenterVec; - _edges.Add((coord + begin * tileSize, coord + end * tileSize)); - } - // Decompose the edges into longer lines to save data. // Now we decompose the lines into longer lines (less data to send to the GPU) var decomposed = true; diff --git a/Content.Client/Shuttles/UI/NavScreen.xaml b/Content.Client/Shuttles/UI/NavScreen.xaml index 58fb937c00d..8fcff33ff6e 100644 --- a/Content.Client/Shuttles/UI/NavScreen.xaml +++ b/Content.Client/Shuttles/UI/NavScreen.xaml @@ -178,15 +178,5 @@ - - - - - diff --git a/Content.Client/Shuttles/UI/ShuttleDockControl.xaml.cs b/Content.Client/Shuttles/UI/ShuttleDockControl.xaml.cs index 3c5c3685fb8..2b575b48059 100644 --- a/Content.Client/Shuttles/UI/ShuttleDockControl.xaml.cs +++ b/Content.Client/Shuttles/UI/ShuttleDockControl.xaml.cs @@ -1,13 +1,3 @@ -// SPDX-FileCopyrightText: 2024 ErhardSteinhauer -// SPDX-FileCopyrightText: 2024 Plykiya -// SPDX-FileCopyrightText: 2024 eoineoineoin -// SPDX-FileCopyrightText: 2024 metalgearsloth -// SPDX-FileCopyrightText: 2025 Ilya246 -// SPDX-FileCopyrightText: 2025 RikuTheKiller -// SPDX-FileCopyrightText: 2025 Whatstone -// -// SPDX-License-Identifier: MPL-2.0 - using System.Numerics; using Content.Client.Shuttles.Systems; using Content.Shared.Shuttles.BUIStates; @@ -151,12 +141,7 @@ protected override void Draw(DrawingHandleScreen handle) var curGridToWorld = _xformSystem.GetWorldMatrix(grid.Owner); var curGridToView = curGridToWorld * worldToSelectedDock * selectedDockToView; - - // Mono - hide color if needed - var hideLabel = iffComp != null && (iffComp.Flags & IFFFlags.HideLabel) != 0x0; - var hideColor = hideLabel && iffComp != null && (iffComp.Flags & IFFFlags.AlwaysShowColor) == 0x0; - // this has no detection logic but this is probably fine - var color = hideColor ? Color.White : _shuttles.GetIFFColor(grid.Owner, grid.Owner == GridEntity, component: iffComp); + var color = _shuttles.GetIFFColor(grid.Owner, grid.Owner == GridEntity, component: iffComp); DrawGrid(handle, curGridToView, grid, color); diff --git a/Content.Client/Shuttles/UI/ShuttleNavControl.xaml.cs b/Content.Client/Shuttles/UI/ShuttleNavControl.xaml.cs index b946deacb16..e7d5ab4892c 100644 --- a/Content.Client/Shuttles/UI/ShuttleNavControl.xaml.cs +++ b/Content.Client/Shuttles/UI/ShuttleNavControl.xaml.cs @@ -1,12 +1,26 @@ -using System.Linq; +// SPDX-FileCopyrightText: 2024 ArchRBX +// SPDX-FileCopyrightText: 2024 ErhardSteinhauer +// SPDX-FileCopyrightText: 2024 Nemanja +// SPDX-FileCopyrightText: 2024 Wiebe Geertsma +// SPDX-FileCopyrightText: 2024 eoineoineoin +// SPDX-FileCopyrightText: 2024 exincore +// SPDX-FileCopyrightText: 2024 leonarudo +// SPDX-FileCopyrightText: 2024 metalgearsloth +// SPDX-FileCopyrightText: 2024 neuPanda +// SPDX-FileCopyrightText: 2025 Alex Parrill +// SPDX-FileCopyrightText: 2025 Ark +// SPDX-FileCopyrightText: 2025 Blu +// SPDX-FileCopyrightText: 2025 BlueHNT +// SPDX-FileCopyrightText: 2025 GreaseMonk +// SPDX-FileCopyrightText: 2025 Ilya246 +// SPDX-FileCopyrightText: 2025 LukeZurg22 +// SPDX-FileCopyrightText: 2025 RikuTheKiller +// SPDX-FileCopyrightText: 2025 Whatstone +// SPDX-FileCopyrightText: 2025 ark1368 +// +// SPDX-License-Identifier: AGPL-3.0-or-later + using System.Numerics; -using Content.Client._Mono.Radar; -using Content.Client.Station; // Frontier -using Content.Shared._Crescent.ShipShields; -using Content.Shared._Mono.Company; -using Content.Shared._Mono.Detection; -using Content.Shared._Mono.Radar; -using Content.Shared._NF.Shuttles.Events; using Content.Shared.Shuttles.BUIStates; using Content.Shared.Shuttles.Components; using Content.Shared.Shuttles.Systems; @@ -19,61 +33,49 @@ using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Physics; -using Robust.Shared.Physics.Collision.Shapes; using Robust.Shared.Physics.Components; -using Robust.Shared.Prototypes; using Robust.Shared.Timing; +using Content.Client._Mono.Radar; +using Content.Shared._Mono.Company; +using Content.Shared._Mono.Radar; +using Robust.Shared.Prototypes; +using System.Linq; +using Content.Shared._Crescent.ShipShields; +using Robust.Shared.Physics.Collision.Shapes; +using Content.Client.Station; // StationSystem (client) +using Content.Shared.Station.Components; +using Content.Shared._NF.Shuttles.Events; // InertiaDampeningMode namespace Content.Client.Shuttles.UI; [GenerateTypedNameReferences] -[Virtual] -public partial class ShuttleNavControl : BaseShuttleControl // Mono +public sealed partial class ShuttleNavControl : BaseShuttleControl { [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IUserInterfaceManager _uiManager = default!; - private readonly DetectionSystem _detection; // Mono - private readonly StationSystem _station; // Frontier private readonly SharedShuttleSystem _shuttles; private readonly SharedTransformSystem _transform; private readonly RadarBlipsSystem _blips; + private readonly StationSystem _station; // Frontier /// /// Used to transform all of the radar objects. Typically is a shuttle console parented to a grid. /// - protected EntityCoordinates? _coordinates; // Mono + private EntityCoordinates? _coordinates; /// /// Entity of controlling console /// private EntityUid? _consoleEntity; - protected Angle? _rotation; // Mono + private Angle? _rotation; private Dictionary> _docks = new(); - // temporary buffers to avoid per-frame heap churn - private readonly List _tempBlipDataList = new(); - private readonly HashSet _visibleGridsSet = new(); - private static readonly Vector2[] RadarPosVertsCache = - [ - new Vector2(0f, -2f), - new Vector2(1f, 0f), - new Vector2(0f, 2f), - new Vector2(-1f, 0f), - ]; - public bool ShowIFF { get; set; } = true; public bool ShowIFFShuttles { get; set; } = true; public bool ShowDocks { get; set; } = true; public bool RotateWithEntity { get; set; } = true; - public InertiaDampeningMode DampeningMode { get; set; } = InertiaDampeningMode.Off; - public ServiceFlags ServiceFlags { get; set; } = ServiceFlags.None; - - public float MaximumIFFDistance { get; set; } = 3000f; // Frontier // Mono - 3000 by default to not gigaclutter - public bool HideCoords { get; set; } = false; // Frontier - - private static Color _dockLabelColor = Color.White; // Frontier /// /// If present, called for every IFF. Must determine if it should or should not be shown. @@ -87,32 +89,29 @@ public partial class ShuttleNavControl : BaseShuttleControl // Mono private List> _grids = new(); - // Mono - set if we want this to detect not from itself - public List? Detectors = null; - #region Mono - public bool RelativePanning = false; - // These 2 handle timing updates - protected const float RadarUpdateInterval = 0f; - protected float _updateAccumulator = 0f; - - private bool _wasPanned = false; - private EntityCoordinates? _oldCoordinates; + private const float RadarUpdateInterval = 0f; + private float _updateAccumulator = 0f; #endregion - protected bool _isMouseDown; - protected bool _isMouseInside; - protected Vector2 _lastMousePos; - protected float _lastFireTime; - protected const float FireRateLimit = 0.1f; // 100ms between shots + private bool _isMouseDown; + private bool _isMouseInside; + private Vector2 _lastMousePos; + private float _lastFireTime; + private const float FireRateLimit = 0.1f; // 100ms between shots + + // Frontier/NF exposed properties for UI controls + public float MaximumIFFDistance { get; set; } = -1f; + public bool HideCoords { get; set; } = false; + private static Color _dockLabelColor = Color.White; - public ShuttleNavControl() : this(64f, 256f, 256f) { } // Mono + public InertiaDampeningMode DampeningMode { get; set; } + public ServiceFlags ServiceFlags { get; set; } = ServiceFlags.None; - public ShuttleNavControl(float minRange, float maxRange, float range) : base(minRange, maxRange, range) // Mono + public ShuttleNavControl() : base(64f, 256f, 256f) { RobustXamlLoader.Load(this); - _detection = EntManager.System(); // Mono _shuttles = EntManager.System(); _transform = EntManager.System(); _station = EntManager.System(); // Frontier @@ -134,9 +133,6 @@ private void HandleMouseExited(GUIMouseHoverEventArgs args) public void SetMatrix(EntityCoordinates? coordinates, Angle? angle) { - if (_wasPanned) // Mono hack - return; - _coordinates = coordinates; _rotation = angle; } @@ -146,30 +142,6 @@ public void SetConsole(EntityUid? consoleEntity) _consoleEntity = consoleEntity; } - // Mono - evil hack - protected override void MouseMove(GUIMouseMoveEventArgs args) - { - base.MouseMove(args); - if (_isMouseInside) - _lastMousePos = args.RelativePosition; - - if (!_draggin || _coordinates == null) - return; - - if (!_wasPanned) - { - _wasPanned = true; - _oldCoordinates = RelativePanning ? _coordinates.Value : _transform.ToCoordinates(_transform.ToMapCoordinates(_coordinates.Value)); - if (!RelativePanning) - _rotation = new Angle(0); - } - if (_oldCoordinates == null) - return; - - var offs = (_rotation ?? new Angle(0)).RotateVec(InverseMapPosition(MidPointVector)); - _coordinates = _oldCoordinates.Value.Offset(offs); - } - protected override void KeyBindDown(GUIBoundKeyEventArgs args) { base.KeyBindDown(args); @@ -186,17 +158,15 @@ protected override void KeyBindUp(GUIBoundKeyEventArgs args) { base.KeyBindUp(args); + // Frontier: Clicking coordinates if (args.Function != EngineKeyFunctions.UIClick) - { return; - } _isMouseDown = false; if (_coordinates == null || _rotation == null || OnRadarClick == null) - { return; - } + // End Frontier var a = InverseScalePosition(args.RelativePosition); var relativeWorldPos = a with { Y = -a.Y }; @@ -282,10 +252,7 @@ public void UpdateState(NavInterfaceState state) ActualRadarRange = Math.Clamp(ActualRadarRange, WorldMinRange, WorldMaxRange); - // Mono RotateWithEntity = state.RotateWithEntity; - DampeningMode = state.DampeningMode; - ServiceFlags = state.ServiceFlags; // Frontier if (state.MaxIffRange != null) @@ -295,9 +262,18 @@ public void UpdateState(NavInterfaceState state) _docks = state.Docks; - NfUpdateState(state); // Frontier Update State + NFUpdateState(state); // Frontier Update State } + /// + /// Frontier: Update additional state used by NF UI features. + /// + private void NFUpdateState(NavInterfaceState state) + { + // Minimal state application to drive UI toggles + DampeningMode = state.DampeningMode; + ServiceFlags = state.ServiceFlags; + } protected override void Draw(DrawingHandleScreen handle) { base.Draw(handle); @@ -323,22 +299,29 @@ protected override void Draw(DrawingHandleScreen handle) var mapPos = _transform.ToMapCoordinates(_coordinates.Value); var posMatrix = Matrix3Helpers.CreateTransform(_coordinates.Value.Position, _rotation.Value); - var ourEntRot = _wasPanned && !RelativePanning ? new Angle(0) : RotateWithEntity ? _transform.GetWorldRotation(xform) : _rotation.Value; + var ourEntRot = RotateWithEntity ? _transform.GetWorldRotation(xform) : _rotation.Value; var ourEntMatrix = Matrix3Helpers.CreateTransform(_transform.GetWorldPosition(xform), ourEntRot); var shuttleToWorld = Matrix3x2.Multiply(posMatrix, ourEntMatrix); Matrix3x2.Invert(shuttleToWorld, out var worldToShuttle); var shuttleToView = Matrix3x2.CreateScale(new Vector2(MinimapScale, -MinimapScale)) * Matrix3x2.CreateTranslation(MidPointVector); - var worldToView = worldToShuttle * shuttleToView; + + var ourGridId = xform.GridUid; // Draw shields DrawShields(handle, xform, worldToShuttle); + // Draw safe zone ring + EntityUid? stationUid = null; + if (ourGridId != null && EntManager.TryGetComponent(ourGridId.Value, out var stationMember)) + stationUid = stationMember.Station; + + DrawSafeZoneRing(handle, worldToShuttle, shuttleToView, xform.MapID, mapPos.Position, stationUid); + // Frontier Corvax: north line drawing var rot = ourEntRot + _rotation.Value; DrawNorthLine(handle, rot); // Draw our grid in detail - var ourGridId = xform.GridUid; if (EntManager.TryGetComponent(ourGridId, out var ourGrid) && fixturesQuery.HasComponent(ourGridId.Value)) { @@ -352,12 +335,14 @@ protected override void Draw(DrawingHandleScreen handle) } // Draw radar position on the station - // Mono - use precalculated verts and scale each point rather than allocating a fresh array - var radarPosVerts = new Vector2[RadarPosVertsCache.Length]; - for (var i = 0; i < radarPosVerts.Length; i++) + const float radarVertRadius = 2f; + var radarPosVerts = new Vector2[] { - radarPosVerts[i] = ScalePosition(RadarPosVertsCache[i]); - } + ScalePosition(new Vector2(0f, -radarVertRadius)), + ScalePosition(new Vector2(radarVertRadius / 2f, 0f)), + ScalePosition(new Vector2(0f, radarVertRadius)), + ScalePosition(new Vector2(radarVertRadius / -2f, 0f)), + }; handle.DrawPrimitives(DrawPrimitiveTopology.TriangleFan, radarPosVerts, Color.Lime); @@ -367,10 +352,8 @@ protected override void Draw(DrawingHandleScreen handle) _grids.Clear(); _mapManager.FindGridsIntersecting(xform.MapID, new Box2(mapPos.Position - MaxRadarRangeVector, mapPos.Position + MaxRadarRangeVector), ref _grids, approx: true, includeMap: false); - // Mono edited: Frontier - collect blip location data outside foreach - more changes ahead - _tempBlipDataList.Clear(); - - _visibleGridsSet.Clear(); + // Frontier - collect blip location data outside foreach - more changes ahead + var blipDataList = new List(); // Draw other grids... differently foreach (var grid in _grids) @@ -385,35 +368,19 @@ protected override void Draw(DrawingHandleScreen handle) if (!_shuttles.CanDraw(gUid, gridBody, iff)) continue; - var hideLabel = iff != null && (iff.Flags & IFFFlags.HideLabel) != 0x0; - var noLabel = iff != null && (iff.Flags & IFFFlags.HideLabelAlways) != 0x0; - var detectionLevel = _consoleEntity == null ? DetectionLevel.Detected : GetGridDetected(grid.Owner); - var detected = detectionLevel != DetectionLevel.Undetected || !hideLabel; - var blipOnly = detectionLevel != DetectionLevel.Detected; // don't show outline outside of detection radius even if IFF on - if (!detected) - continue; - - if (!blipOnly) - _visibleGridsSet.Add(grid); var curGridToWorld = _transform.GetWorldMatrix(gUid); - var curGridToView = curGridToWorld * worldToView; + var curGridToView = curGridToWorld * worldToShuttle * shuttleToView; - var hideColor = hideLabel && iff != null && (iff.Flags & IFFFlags.AlwaysShowColor) == 0x0; - var labelColor = hideColor ? blipOnly ? Color.Orange : Color.White : _shuttles.GetIFFColor(grid, self: false, iff); + var labelColor = _shuttles.GetIFFColor(grid, self: false, iff); var coordColor = new Color(labelColor.R * 0.8f, labelColor.G * 0.8f, labelColor.B * 0.8f, 0.5f); - var isPlayerShuttle = iff != null && (iff.Flags & IFFFlags.IsPlayerShuttle) != 0x0; // Others default: // Color.FromHex("#FFC000FF") // Hostile default: Color.Firebrick - // Mono - var labelName = noLabel ? null : hideLabel ? - detectionLevel == DetectionLevel.PartialDetected ? - Loc.GetString($"shuttle-console-signature-infrared") - : Loc.GetString($"shuttle-console-signature-unknown") - : _shuttles.GetIFFLabel(grid, self: false, component: iff); - - var shouldDrawIFF = ShowIFF && labelName != null; + var labelName = _shuttles.GetIFFLabel(grid, self: false, iff); + + var isPlayerShuttle = iff != null && (iff.Flags & IFFFlags.IsPlayerShuttle) != 0x0; + var shouldDrawIFF = ShowIFF && labelName != null && (iff != null && (iff.Flags & IFFFlags.HideLabel) == 0x0); if (IFFFilter != null) { shouldDrawIFF &= IFFFilter(gUid, grid.Comp, iff); @@ -424,17 +391,12 @@ protected override void Draw(DrawingHandleScreen handle) } //var mapCenter = curGridToWorld. * gridBody.LocalCenter; - //shouldDrawIFF = NfCheckShouldDrawIffRangeCondition(shouldDrawIFF, mapCenter, curGridToWorld); // Frontier code - // Frontier: range checks // Mono + //shouldDrawIFF = NfCheckShouldDrawIffRangeCondition(shouldDrawIff, mapCenter, curGridToWorld); // Frontier code + // Frontier: range checks var gridMapPos = _transform.ToMapCoordinates(new EntityCoordinates(gUid, gridBody.LocalCenter)).Position; - var ourPos = _transform.ToMapCoordinates(_coordinates.Value); - if (!hideLabel) // Mono - show thermal signatures even at long range - shouldDrawIFF = NfCheckShouldDrawIffRangeCondition(shouldDrawIFF, ourPos.Position - gridMapPos); + shouldDrawIFF = NFCheckShouldDrawIffRangeCondition(shouldDrawIFF, gridMapPos - mapPos.Position); // End Frontier - // Mono - var gridUiPosition = Vector2.Transform(gridBody.LocalCenter, curGridToView) / UIScale; - if (shouldDrawIFF) { //var gridCentre = Vector2.Transform(gridBody.LocalCenter, curGridToView); @@ -444,7 +406,7 @@ protected override void Draw(DrawingHandleScreen handle) // The actual position in the UI. We offset the matrix position to render it off by half its width // plus by the offset. //var uiPosition = ScalePosition(gridCentre) / UIScale; - var uiPosition = gridUiPosition; // Mono + var uiPosition = Vector2.Transform(gridBody.LocalCenter, curGridToView) / UIScale; // Confines the UI position within the viewport. var uiXCentre = (int)Width / 2; @@ -483,51 +445,20 @@ protected override void Draw(DrawingHandleScreen handle) var coordsText = $"({gridMapPos.X:0.0}, {gridMapPos.Y:0.0})"; - #region Mono - - // Why are the magic numbers 0.9 and 0.7 used? I have no fucking clue. - var labelDimensions = handle.GetDimensions(Font, labelText, 0.9f); - var blipSize = RadarBlipSize * 0.7f; - - // The center of the radar in UI space. - var uiCenter = new Vector2(Width * 0.5f, Height * 0.5f); - - // Whether the blip is on the left side of the center of the radar. - var isOnLeftSide = (uiPosition - uiCenter).X < 0; - - // The UI position of the bottom-left corner of the label, relative to the UI center of the radar, when the label is right-aligned. - var labelPosition = uiPosition + new Vector2(-labelDimensions.X - blipSize, -labelDimensions.Y * 0.5f) - uiCenter; - - // The bounds corners of the label, relative to labelPosition. - var labelCorners = new Vector2[] { - labelPosition, - labelPosition + new Vector2(labelDimensions.X, 0), - labelPosition + new Vector2(0, labelDimensions.Y), - labelPosition + labelDimensions - }; - - // The radius and squared radius of the radar, in virtual pixels. - var radius = Width * 0.5f; - var squaredRadius = radius * radius; - - // If true, flip the entire label to the right side of the blip and left-align it. - // We default to the label being on the left side of the blip because it looked better to me in testing. (arbitrary) - var flipLabel = isOnLeftSide && labelCorners.Any(corner => corner.LengthSquared() > squaredRadius); - // Calculate unscaled offsets. + var labelDimensions = handle.GetDimensions(Font, labelText, 1f); + var blipSize = RadarBlipSize * 0.7f; var labelOffset = new Vector2() { - X = flipLabel - ? blipSize // Label on the right side of the blip, left-aligned text. - : -labelDimensions.X - blipSize, // Label on the left side of the blip, right-aligned text. - Y = -labelDimensions.Y * 0.5f + X = uiPosition.X > Width / 2f + ? -labelDimensions.X - blipSize // right align the text to left of the blip + : blipSize, // left align the text to the right of the blip + Y = -labelDimensions.Y / 2f }; - #endregion Mono - // Get company color if entity has CompanyComponent var displayColor = labelColor; - if (!hideLabel && EntManager.TryGetComponent(gUid, out Shared._Mono.Company.CompanyComponent? companyComp) && + if (EntManager.TryGetComponent(gUid, out Shared._Mono.Company.CompanyComponent? companyComp) && !string.IsNullOrEmpty(companyComp.CompanyName)) { var prototypeManager = IoCManager.Resolve(); @@ -546,7 +477,7 @@ protected override void Draw(DrawingHandleScreen handle) handle.DrawString(Font, (uiPosition + labelOffset) * UIScale, mainLabel, UIScale * 0.9f, displayColor); // Draw company label if present - if (!hideLabel && lines.Length > 1) + if (lines.Length > 1) { var companyLabel = lines[1]; var companyLabelOffset = new Vector2( @@ -565,18 +496,18 @@ protected override void Draw(DrawingHandleScreen handle) X = uiPosition.X > Width / 2f ? -coordDimensions.X - blipSize / 0.7f // right align the text to left of the blip (0.7 needed for scale) : blipSize, // left align the text to the right of the blip - Y = labelOffset.Y + handle.GetDimensions(Font, mainLabel, 1f).Y + (lines.Length > 1 ? handle.GetDimensions(Font, lines[1], 1f).Y : 0) + 5 + Y = coordDimensions.Y / 2 }; - handle.DrawString(Font, (uiPosition + coordOffset) * UIScale, coordsText, 0.7f * UIScale, displayColor); + handle.DrawString(Font, (uiPosition + coordOffset) * UIScale, coordsText, 0.7f * UIScale, coordColor); } } - NfAddBlipToList(_tempBlipDataList, isOutsideRadarCircle, uiPosition, uiXCentre, uiYCentre, labelColor, hideLabel ? default : gUid); // Frontier code + NFAddBlipToList(blipDataList, isOutsideRadarCircle, uiPosition, uiXCentre, uiYCentre, labelColor); // Frontier code // End Frontier: IFF drawing functions } // Frontier Don't skip drawing blips if they're out of range. - NfDrawBlips(handle, _tempBlipDataList); + NFDrawBlips(handle, blipDataList); // Detailed view var gridAABB = curGridToWorld.TransformBox(grid.Comp.LocalAABB); @@ -585,12 +516,8 @@ protected override void Draw(DrawingHandleScreen handle) if (!gridAABB.Intersects(viewAABB)) continue; - // Mono - if (!blipOnly) - { - DrawGrid(handle, curGridToView, grid, labelColor); - DrawDocks(handle, gUid, curGridToView); - } + DrawGrid(handle, curGridToView, grid, labelColor); + DrawDocks(handle, gUid, curGridToView); } // If we've set the controlling console, and it's on a different grid @@ -601,12 +528,12 @@ protected override void Draw(DrawingHandleScreen handle) if (consoleXform.ParentUid != _coordinates.Value.EntityId) { var consolePositionWorld = _transform.GetWorldPosition((EntityUid)_consoleEntity); - var p = Vector2.Transform(consolePositionWorld, worldToView); + var p = Vector2.Transform(consolePositionWorld, worldToShuttle * shuttleToView); handle.DrawCircle(p, 5, Color.ToSrgb(Color.Cyan), true); } } - #region Mono + // Frontier: radar blip system for the mass scanners and shapes // Draw radar line // First, figure out which angle to draw. var updateRatio = _updateAccumulator / RadarUpdateInterval; @@ -619,65 +546,29 @@ protected override void Draw(DrawingHandleScreen handle) var rawBlips = _blips.GetCurrentBlips(); // Prepare view bounds for culling - var monoViewBounds = new Box2(-3f, -3f, Size.X + 3f, Size.Y + 3f); + var blipViewBounds = new Box2(-3f, -3f, Size.X + 3f, Size.Y + 3f); // Draw blips using the same grid-relative transformation approach as docks foreach (var blip in rawBlips) { - var position = Vector2.Transform(_transform.ToMapCoordinates(blip.Position).Position, worldToView); - var color = blip.Config.Color.WithAlpha(0.8f); - var box = new Box2Rotated(blip.Config.Bounds, 0); - if (blip.Config.RespectZoom) - box.Box = new Box2(box.Box.BottomLeft * MinimapScale, box.Box.TopRight * MinimapScale); - if (blip.Config.Rotate) - box.Rotation = ourEntRot - blip.Rotation; - - if (blip.GridUid is { } grid) - { - // check detection if we're on a grid and that grid isn't our grid - if (!_visibleGridsSet.Contains(grid) && grid != ourGridId) - continue; - } + var blipPosInView = Vector2.Transform(_transform.ToMapCoordinates(blip.Position).Position, worldToShuttle * shuttleToView); // Check if this blip is within view bounds before drawing - if (monoViewBounds.Contains(position)) + if (blipViewBounds.Contains(blipPosInView)) { - DrawBlipShape(handle, position, box, color, blip.Config.Shape); + DrawBlipShape(handle, blipPosInView, blip.Scale * 3f, blip.Color.WithAlpha(0.8f), blip.Shape); } } // Draw hitscan lines from the radar blips system - var hitscanLines = _blips.GetRawHitscanLines(); + var hitscanLines = _blips.GetHitscanLines(); foreach (var line in hitscanLines) { - Vector2 startPosInView; - Vector2 endPosInView; - - // Handle differently based on if there's a grid - if (line.Grid == null) - { - // For world-space lines without a grid, use standard world transformation - startPosInView = Vector2.Transform(line.Start, worldToShuttle * shuttleToView); - endPosInView = Vector2.Transform(line.End, worldToShuttle * shuttleToView); - } - else if (line.Grid is { } gridNet && EntManager.TryGetEntity(gridNet, out var gridEntity)) - { - // For grid-relative lines, transform using the grid's transform - var gridToWorld = _transform.GetWorldMatrix(gridEntity.Value); - var gridToView = gridToWorld * worldToShuttle * shuttleToView; - - // Transform the grid-local positions - startPosInView = Vector2.Transform(line.Start, gridToView); - endPosInView = Vector2.Transform(line.End, gridToView); - } - else - { - // Skip lines with invalid grid references - continue; - } + var startPosInView = Vector2.Transform(line.Start, worldToShuttle * shuttleToView); + var endPosInView = Vector2.Transform(line.End, worldToShuttle * shuttleToView); // Only draw lines if at least one endpoint is within view - if (monoViewBounds.Contains(startPosInView) || monoViewBounds.Contains(endPosInView)) + if (blipViewBounds.Contains(startPosInView) || blipViewBounds.Contains(endPosInView)) { // Draw the line with the specified thickness and color handle.DrawLine(startPosInView, endPosInView, line.Color); @@ -699,137 +590,100 @@ protected override void Draw(DrawingHandleScreen handle) } } } - #endregion - } - - protected DetectionLevel GetGridDetected(EntityUid grid) - { - if (Detectors != null) - return _detection.IsGridDetected(grid, Detectors); - return _consoleEntity == null ? DetectionLevel.Undetected : _detection.IsGridDetected(grid, _consoleEntity.Value); + ClearShader(handle); } - private (Vector2 Top, Vector2 Left, Vector2 Offset) GetSize(Box2Rotated bounds) - { - var top = (bounds.TopLeft + bounds.TopRight) * 0.5f; - var left = (bounds.TopLeft + bounds.BottomLeft) * 0.5f; - var offset = (bounds.TopRight + bounds.BottomLeft) * 0.5f; - - return (top - offset, left - offset, offset); - } - - private void DrawBlipShape(DrawingHandleScreen handle, Vector2 position, Box2Rotated bounds, Color color, RadarBlipShape shape) + private void DrawBlipShape(DrawingHandleScreen handle, Vector2 position, float size, Color color, RadarBlipShape shape) { switch (shape) { case RadarBlipShape.Circle: - DrawCircle(handle, position, bounds, color); + handle.DrawCircle(position, size, color); break; case RadarBlipShape.Square: - var boxPoints = new Vector2[] - { - position + bounds.TopLeft, - position + bounds.TopRight, - position + bounds.BottomRight, - position + bounds.BottomLeft - }; - handle.DrawPrimitives(DrawPrimitiveTopology.TriangleFan, boxPoints, color); + var halfSize = size / 2; + var rect = new UIBox2( + position.X - halfSize, + position.Y - halfSize, + position.X + halfSize, + position.Y + halfSize + ); + handle.DrawRect(rect, color); break; case RadarBlipShape.Triangle: var points = new Vector2[] { - position + bounds.Origin + bounds.Rotation.RotateVec((bounds.TopLeft + bounds.TopRight) * 0.5f - bounds.Origin), - position + bounds.BottomLeft, - position + bounds.BottomRight + position + new Vector2(0, -size), + position + new Vector2(-size * 0.866f, size * 0.5f), + position + new Vector2(size * 0.866f, size * 0.5f) }; handle.DrawPrimitives(DrawPrimitiveTopology.TriangleList, points, color); break; case RadarBlipShape.Star: - DrawStar(handle, position, bounds, color); + DrawStar(handle, position, size, color); break; case RadarBlipShape.Diamond: - var size = GetSize(bounds); var diamondPoints = new Vector2[] { - position + size.Offset + size.Top, - position + size.Offset + size.Left, - position + size.Offset - size.Top, - position + size.Offset - size.Left + position + new Vector2(0, -size), + position + new Vector2(size, 0), + position + new Vector2(0, size), + position + new Vector2(-size, 0) }; handle.DrawPrimitives(DrawPrimitiveTopology.TriangleFan, diamondPoints, color); break; case RadarBlipShape.Hexagon: - DrawHexagon(handle, position, bounds, color); + DrawHexagon(handle, position, size, color); break; case RadarBlipShape.Arrow: - DrawArrow(handle, position, bounds, color); + DrawArrow(handle, position, size, color); break; } } - private void DrawCircle(DrawingHandleScreen handle, Vector2 position, Box2Rotated bounds, Color color) - { - const int segments = 64; - var buffer = new Vector2[segments + 1]; - var size = GetSize(bounds); - var offsetPos = position + size.Offset; - - for (var i = 0; i <= segments; i++) - { - var angle = i * MathF.Tau / segments; - var pos = size.Left * MathF.Sin(angle) + size.Top * MathF.Cos(angle); - - buffer[i] = offsetPos + pos; - } - - handle.DrawPrimitives(DrawPrimitiveTopology.TriangleFan, buffer, color); - } - - private void DrawStar(DrawingHandleScreen handle, Vector2 position, Box2Rotated bounds, Color color) + private void DrawStar(DrawingHandleScreen handle, Vector2 position, float size, Color color) { const int points = 5; const float innerRatio = 0.4f; var vertices = new Vector2[points * 2]; - var size = GetSize(bounds); - var offsetPos = position + size.Offset; for (var i = 0; i < points * 2; i++) { - var angle = i * MathF.PI / points; - var radius = i % 2 == 0 ? 1f : innerRatio; - vertices[i] = offsetPos + radius * MathF.Sin(angle) * size.Left - radius * MathF.Cos(angle) * size.Top; + var angle = i * Math.PI / points; + var radius = i % 2 == 0 ? size : size * innerRatio; + vertices[i] = position + new Vector2( + (float)Math.Sin(angle) * radius, + -(float)Math.Cos(angle) * radius + ); } handle.DrawPrimitives(DrawPrimitiveTopology.TriangleFan, vertices, color); } - private void DrawHexagon(DrawingHandleScreen handle, Vector2 position, Box2Rotated bounds, Color color) + private void DrawHexagon(DrawingHandleScreen handle, Vector2 position, float size, Color color) { var vertices = new Vector2[6]; - var size = GetSize(bounds); - var offsetPos = position + size.Offset; - for (var i = 0; i < 6; i++) { - var angle = i * MathF.PI / 3; - vertices[i] = offsetPos + MathF.Sin(angle) * size.Top - MathF.Cos(angle) * size.Left; + var angle = i * Math.PI / 3; + vertices[i] = position + new Vector2( + (float)Math.Sin(angle) * size, + -(float)Math.Cos(angle) * size + ); } handle.DrawPrimitives(DrawPrimitiveTopology.TriangleFan, vertices, color); } - private void DrawArrow(DrawingHandleScreen handle, Vector2 position, Box2Rotated bounds, Color color) + private void DrawArrow(DrawingHandleScreen handle, Vector2 position, float size, Color color) { - var size = GetSize(bounds); - var offsetPos = position + size.Offset; - var vertices = new Vector2[] { - offsetPos - size.Top, // Tip - offsetPos + size.Left + size.Top * 0.5f, // Left wing - offsetPos + size.Top, // Bottom - offsetPos - size.Left + size.Top * 0.5f // Right wing + position + new Vector2(0, -size), // Tip + position + new Vector2(-size * 0.5f, 0), // Left wing + position + new Vector2(0, size * 0.5f), // Bottom + position + new Vector2(size * 0.5f, 0) // Right wing }; handle.DrawPrimitives(DrawPrimitiveTopology.TriangleFan, vertices, color); @@ -840,13 +694,18 @@ private void DrawDocks(DrawingHandleScreen handle, EntityUid uid, Matrix3x2 grid if (!ShowDocks) return; - const float DockScale = 0.6f; + var dockScale = 0.6f; var nent = EntManager.GetNetEntity(uid); const float sqrt2 = 1.41421356f; - const float dockRadius = DockScale * sqrt2; + var dockRadius = dockScale * sqrt2; // Worst-case bounds used to cull a dock: - Box2 viewBounds = new Box2(-dockRadius, -dockRadius, PixelSize.X + dockRadius, PixelSize.Y + dockRadius); // Frontier: Size(parentGridUid)) - continue; - - var detectionLevel = _consoleEntity == null ? DetectionLevel.Detected : GetGridDetected(parentGridUid); - if (detectionLevel != DetectionLevel.Detected) + if (EntManager.HasComponent(parentXform.Owner)) continue; var shieldFixture = fixtures.Fixtures.TryGetValue("shield", out var fixture) ? fixture : null; @@ -942,23 +790,22 @@ private void DrawShields(DrawingHandleScreen handle, TransformComponent consoleX if (shieldFixture == null || shieldFixture.Shape is not ChainShape) continue; - ChainShape chain = (ChainShape) shieldFixture.Shape; + var chain = (ChainShape)shieldFixture.Shape; var count = chain.Count; var verticies = chain.Vertices; - var center = _transform.WithEntityId(xform.Coordinates, xform.GridUid.Value).Position; - var parentWorldMatrix = _transform.GetWorldMatrix(parentGridUid); + var center = xform.LocalPosition; for (int i = 1; i < count; i++) { var v1 = Vector2.Add(center, verticies[i - 1]); - v1 = Vector2.Transform(v1, parentWorldMatrix); // transform to world matrix + v1 = Vector2.Transform(v1, parentXform.WorldMatrix); // transform to world matrix v1 = Vector2.Transform(v1, matrix); // get back to local matrix for drawing v1.Y = -v1.Y; v1 = ScalePosition(v1); var v2 = Vector2.Add(center, verticies[i]); - v2 = Vector2.Transform(v2, parentWorldMatrix); + v2 = Vector2.Transform(v2, parentXform.WorldMatrix); v2 = Vector2.Transform(v2, matrix); v2.Y = -v2.Y; v2 = ScalePosition(v2); @@ -966,4 +813,148 @@ private void DrawShields(DrawingHandleScreen handle, TransformComponent consoleX } } } + + private void DrawSafeZoneRing(DrawingHandleScreen handle, + Matrix3x2 worldToShuttle, + Matrix3x2 shuttleToView, + MapId mapId, + Vector2 radarWorldPos, + EntityUid? stationUid) + { + const float SafeZoneRadius = 5000f; + var safeZoneColor = Color.LimeGreen.WithAlpha(0.8f); + + if (!TryGetStationCenterWorld(mapId, radarWorldPos, stationUid, out var stationWorldPos)) + return; + + var centerPos = Vector2.Transform(stationWorldPos, worldToShuttle * shuttleToView); + + // Scale the radius according to the minimap scale + var scaledRadius = SafeZoneRadius * MinimapScale; + + // Draw the ring + handle.DrawCircle(centerPos, scaledRadius, safeZoneColor, filled: false); + } + + private bool TryGetStationCenterWorld( + MapId mapId, + Vector2 radarWorldPos, + EntityUid? stationUid, + out Vector2 stationWorldPos) + { + stationWorldPos = default; + var found = false; + var bestMetric = float.MaxValue; + + var query = EntManager.EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var member, out var grid, out var xform)) + { + if (xform.MapID != mapId) + continue; + + if (stationUid != null && member.Station != stationUid.Value) + continue; + + var localCenter = grid.LocalAABB.Center; + var worldCenter = Vector2.Transform(localCenter, _transform.GetWorldMatrix(uid)); + + if (stationUid != null) + { + var size = grid.LocalAABB.Size; + var area = size.X * size.Y; + if (!found || area > bestMetric) + { + bestMetric = area; + stationWorldPos = worldCenter; + found = true; + } + } + else + { + var dist = (worldCenter - radarWorldPos).LengthSquared(); + if (!found || dist < bestMetric) + { + bestMetric = dist; + stationWorldPos = worldCenter; + found = true; + } + } + } + + return found; + } + + // Frontier helpers: IFF range filter and blip rendering utilities + private bool NFCheckShouldDrawIffRangeCondition(bool shouldDrawIff, Vector2 distance) + { + if (shouldDrawIff && MaximumIFFDistance >= 0.0f) + { + if (distance.Length() > MaximumIFFDistance) + shouldDrawIff = false; + } + return shouldDrawIff; + } + + private static void NFAddBlipToList(List blipDataList, bool isOutsideRadarCircle, Vector2 uiPosition, int uiXCentre, int uiYCentre, Color color) + { + blipDataList.Add(new BlipData + { + IsOutsideRadarCircle = isOutsideRadarCircle, + UiPosition = uiPosition, + VectorToPosition = uiPosition - new Vector2(uiXCentre, uiYCentre), + Color = color + }); + } + + private void NFDrawBlips(DrawingHandleScreen handle, List blipDataList) + { + var byColor = new Dictionary>(); + + foreach (var blip in blipDataList) + { + var tri = new[] + { + new Vector2(0, 0), + new Vector2(RadarBlipSize, 0), + new Vector2(RadarBlipSize * 0.5f, RadarBlipSize) + }; + + if (blip.IsOutsideRadarCircle) + { + var angle = MathF.Atan2(blip.VectorToPosition.Y, blip.VectorToPosition.X) - 1.6f; + var cos = MathF.Cos(angle); + var sin = MathF.Sin(angle); + for (var i = 0; i < tri.Length; i++) + { + var v = tri[i]; + tri[i] = new Vector2(v.X * cos - v.Y * sin, v.X * sin + v.Y * cos); + } + } + + var center = (tri[0] + tri[1] + tri[2]) / 3f; + var verts = new Vector2[3]; + for (var i = 0; i < 3; i++) + { + var offset = (tri[i] - center) * UIScale; + verts[i] = blip.UiPosition * UIScale + offset; + } + + if (!byColor.TryGetValue(blip.Color, out var list)) + { + list = new List(); + byColor[blip.Color] = list; + } + list.AddRange(verts); + } + + foreach (var kvp in byColor) + { + handle.DrawPrimitives(DrawPrimitiveTopology.TriangleList, kvp.Value.ToArray(), kvp.Key); + } + } + + private void ClearShader(DrawingHandleScreen handle) + { + // No-op placeholder: retained for compatibility with previous shader-based effects. + } } diff --git a/Content.Client/Silicons/Laws/SiliconLawEditUi/SiliconLawContainer.xaml.cs b/Content.Client/Silicons/Laws/SiliconLawEditUi/SiliconLawContainer.xaml.cs index 84e8dee1b9d..0ef05908799 100644 --- a/Content.Client/Silicons/Laws/SiliconLawEditUi/SiliconLawContainer.xaml.cs +++ b/Content.Client/Silicons/Laws/SiliconLawEditUi/SiliconLawContainer.xaml.cs @@ -46,13 +46,11 @@ public SiliconLawContainer() Delete.OnPressed += _ => DeleteAction?.Invoke(_law!); } - public void SetLaw(SiliconLaw law, bool allowCorruption = true) // HardLight: Added bool allowCorruption = true + public void SetLaw(SiliconLaw law) { _law = law; LawContent.TextRope = new Rope.Leaf(Loc.GetString(law.LawString)); PositionText.Text = law.Order.ToString(); - Corrupted.Visible = allowCorruption; // HardLight - Corrupted.Disabled = !allowCorruption; // HardLight if (!string.IsNullOrEmpty(law.LawIdentifierOverride)) { Corrupted.Pressed = true; diff --git a/Content.Client/Silicons/Laws/SiliconLawEditUi/SiliconLawUi.xaml.cs b/Content.Client/Silicons/Laws/SiliconLawEditUi/SiliconLawUi.xaml.cs index a6f55f02c9f..372961ea9a3 100644 --- a/Content.Client/Silicons/Laws/SiliconLawEditUi/SiliconLawUi.xaml.cs +++ b/Content.Client/Silicons/Laws/SiliconLawEditUi/SiliconLawUi.xaml.cs @@ -11,7 +11,6 @@ namespace Content.Client.Silicons.Laws.SiliconLawEditUi; public sealed partial class SiliconLawUi : FancyWindow { private List _laws = new(); - private bool _allowCorruption = true; // HardLight public SiliconLawUi() { @@ -27,15 +26,14 @@ private void AddNewLaw() SetLaws(_laws); } - public void SetLaws(List sLaws, bool allowCorruption = true) // HardLight: Added bool allowCorruption = true + public void SetLaws(List sLaws) { - _allowCorruption = allowCorruption; // HardLight _laws = sLaws; LawContainer.RemoveAllChildren(); foreach (var law in sLaws.OrderBy(l => l.Order)) { var lawControl = new SiliconLawContainer(); - lawControl.SetLaw(law, _allowCorruption); // HardLight: Added _allowCorruption + lawControl.SetLaw(law); lawControl.MoveLawDown += MoveLawDown; lawControl.MoveLawUp += MoveLawUp; lawControl.DeleteAction += DeleteLaw; @@ -47,7 +45,7 @@ public void SetLaws(List sLaws, bool allowCorruption = true) // Hard public void DeleteLaw(SiliconLaw law) { _laws.Remove(law); - SetLaws(_laws, _allowCorruption); // HardLight: Added _allowCorruption + SetLaws(_laws); } public void MoveLawDown(SiliconLaw law) @@ -64,7 +62,7 @@ public void MoveLawDown(SiliconLaw law) } _laws[index].Order += FixedPoint2.New(1); - SetLaws(_laws, _allowCorruption); // HardLight: Added _allowCorruption + SetLaws(_laws); } public void MoveLawUp(SiliconLaw law) @@ -81,7 +79,7 @@ public void MoveLawUp(SiliconLaw law) } _laws[index].Order += FixedPoint2.New(-1); - SetLaws(_laws, _allowCorruption); // HardLight: Added _allowCorruption + SetLaws(_laws); } public List GetLaws() diff --git a/Content.Client/UserInterface/Controls/MapGridControl.xaml.cs b/Content.Client/UserInterface/Controls/MapGridControl.xaml.cs index 8b87207779e..a10155f3e8c 100644 --- a/Content.Client/UserInterface/Controls/MapGridControl.xaml.cs +++ b/Content.Client/UserInterface/Controls/MapGridControl.xaml.cs @@ -1,11 +1,3 @@ -// SPDX-FileCopyrightText: 2024 eoineoineoin -// SPDX-FileCopyrightText: 2024 metalgearsloth -// SPDX-FileCopyrightText: 2025 Ark -// SPDX-FileCopyrightText: 2025 Ilya246 -// SPDX-FileCopyrightText: 2025 RikuTheKiller -// -// SPDX-License-Identifier: MPL-2.0 - using System.Numerics; using Robust.Client.AutoGenerated; using Robust.Client.Graphics; @@ -33,7 +25,7 @@ public partial class MapGridControl : LayoutContainer private Font _largerFont; /* Dragging */ - protected virtual bool Draggable { get; set; } = false; // Mono - make settable + protected virtual bool Draggable { get; } = false; /// /// Control offset from whatever is being tracked. @@ -45,7 +37,7 @@ public partial class MapGridControl : LayoutContainer /// public Vector2 TargetOffset; - protected bool _draggin; // Mono: private -> protected + private bool _draggin; protected Vector2 StartDragPosition; protected bool Recentering; @@ -74,7 +66,7 @@ public partial class MapGridControl : LayoutContainer /// /// Controls the maximum distance that will display. /// - public float MaxRadarRange { get; private set; } = 256f * 100f; // Mono - 2560m -> 25600m + public float MaxRadarRange { get; private set; } = 256f * 10f; public Vector2 MaxRadarRangeVector => new Vector2(MaxRadarRange, MaxRadarRange); diff --git a/Content.Client/Weapons/Ranged/Systems/GunSystem.cs b/Content.Client/Weapons/Ranged/Systems/GunSystem.cs index 3247dfe045b..6e7ac870143 100644 --- a/Content.Client/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Client/Weapons/Ranged/Systems/GunSystem.cs @@ -192,8 +192,6 @@ private void OnHitscan(HitscanEvent ev) public override void Update(float frameTime) { - base.Update(frameTime); - if (!Timing.IsFirstTimePredicted) return; @@ -472,11 +470,10 @@ public override void ShootProjectile(EntityUid uid, Vector2 gunVelocity, EntityUid gunUid, EntityUid? user = null, - float speed = 20f, - float offset = 0f) + float speed = 20f) { EnsureComp(uid); _physics.UpdateIsPredicted(uid); - base.ShootProjectile(uid, direction, gunVelocity, gunUid, user, speed, offset); + base.ShootProjectile(uid, direction, gunVelocity, gunUid, user, speed); } } diff --git a/Content.Client/_Crescent/DroneControl/DroneConsoleBUI.cs b/Content.Client/_Crescent/DroneControl/DroneConsoleBUI.cs index de4f98332cd..7aa2512e058 100644 --- a/Content.Client/_Crescent/DroneControl/DroneConsoleBUI.cs +++ b/Content.Client/_Crescent/DroneControl/DroneConsoleBUI.cs @@ -26,37 +26,15 @@ protected override void Open() _window = new DroneConsoleWindow(); _window.OnClose += Close; _window.OpenCentered(); - _window.OnMoveOrder += OnMoveOrder; - _window.OnAttackOrder += OnAttackOrder; - } - - private void OnMoveOrder(EntityCoordinates coord) - { - if (_window == null) return; - var selected = _window.SelectedDrones; - if (selected.Count == 0) return; - - var target = _entMan.GetNetCoordinates(_xform.ToCoordinates(_xform.ToMapCoordinates(coord))); - SendMessage(new DroneConsoleMoveMessage(selected, target)); - } - - private void OnAttackOrder(EntityCoordinates coord) - { - if (_window == null) return; - - var selected = _window.SelectedDrones; - if (selected.Count == 0) return; - - var target = _entMan.GetNetCoordinates(_xform.ToCoordinates(_xform.ToMapCoordinates(coord))); - SendMessage(new DroneConsoleTargetMessage(selected, target)); + _window.OnRadarOrder += OnRadarClick; } private void OnRadarClick(EntityCoordinates coord) { if (_window == null) return; - var selected = _window.SelectedDrones; + var selected = _window.GetSelectedDrones(); if (selected.Count == 0) return; var worldPos = _xform.ToMapCoordinates(coord).Position; @@ -76,11 +54,10 @@ private void OnRadarClick(EntityCoordinates coord) return false; // Stop at first grid found }, true, false); - var target = _entMan.GetNetCoordinates(new EntityCoordinates(_mapManager.GetMapEntityId(mapId), worldPos)); if (foundGrid != null) - SendMessage(new DroneConsoleTargetMessage(selected, target)); + SendMessage(new DroneConsoleTargetMessage(selected, _entMan.GetNetEntity(foundGrid.Value))); else - SendMessage(new DroneConsoleMoveMessage(selected, target)); + SendMessage(new DroneConsoleMoveMessage(selected, worldPos)); } protected override void UpdateState(BoundUserInterfaceState state) @@ -96,9 +73,6 @@ protected override void Dispose(bool disposing) { base.Dispose(disposing); if (disposing) - { - _window?.Close(); - _window = null; - } + _window?.Dispose(); } } diff --git a/Content.Client/_Crescent/DroneControl/DroneConsoleWindow.xaml.cs b/Content.Client/_Crescent/DroneControl/DroneConsoleWindow.xaml.cs index 9de0eb2dcb2..243a09ed1e9 100644 --- a/Content.Client/_Crescent/DroneControl/DroneConsoleWindow.xaml.cs +++ b/Content.Client/_Crescent/DroneControl/DroneConsoleWindow.xaml.cs @@ -1,124 +1,89 @@ +using Content.Client.Computer; using Content.Client.Shuttles.UI; using Content.Client.UserInterface.Controls; using Content.Shared._Crescent.DroneControl; -using Content.Shared.Shuttles.Systems; using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.XAML; using Robust.Shared.Map; using System.Linq; -using System.Numerics; namespace Content.Client._Crescent.DroneControl; [GenerateTypedNameReferences] -public sealed partial class DroneConsoleWindow : FancyWindow +public sealed partial class DroneConsoleWindow : FancyWindow, IComputerWindow { - [Dependency] private readonly IEntityManager _entity = default!; - [Dependency] private readonly IMapManager _mapManager = default!; - private readonly SharedShuttleSystem _shuttles; - private readonly SharedTransformSystem _xform; - public ShuttleNavControl Radar => NavRadar; - public Action? OnMoveOrder; - public Action? OnAttackOrder; - - private EntityUid? _consoleEntity = null; + public Action? OnRadarOrder; - public HashSet SelectedDrones = new(); + // Track selected drones + private readonly HashSet _selectedDrones = new(); + // Store buttons to update state private readonly Dictionary _droneButtons = new(); public DroneConsoleWindow() { RobustXamlLoader.Load(this); IoCManager.InjectDependencies(this); - _shuttles = _entity.System(); - _xform = _entity.System(); - NavRadar.OnRadarClick += OnRadarClick; + NavRadar.OnRadarClick += (coords) => OnRadarOrder?.Invoke(coords); SelectAllBtn.OnPressed += _ => { - foreach (var key in _droneButtons.Keys) - SelectedDrones.Add(key); - + foreach (var key in _droneButtons.Keys) _selectedDrones.Add(key); RefreshButtonVisuals(); }; DeselectAllBtn.OnPressed += _ => { - SelectedDrones.Clear(); + _selectedDrones.Clear(); RefreshButtonVisuals(); }; } - private void OnRadarClick(EntityCoordinates coord) - { - var worldCoord = _xform.ToMapCoordinates(coord); - var mapId = worldCoord.MapId; - - var box = Box2.FromDimensions(worldCoord.Position, new Vector2(0.5f, 0.5f)); - EntityUid? foundGrid = null; - _mapManager.FindGridsIntersecting(mapId, box, (uid, _) => - { - foundGrid = uid; - return false; // stop when we find one - }, true, false); - - if (foundGrid != null) - OnAttackOrder?.Invoke(_xform.ToCoordinates(foundGrid.Value, worldCoord)); - else - OnMoveOrder?.Invoke(_xform.ToCoordinates(worldCoord)); - } + public HashSet GetSelectedDrones() => _selectedDrones; public void UpdateState(DroneConsoleBoundUserInterfaceState state) { NavRadar.UpdateState(state.NavState); + // Note: IFF state is not used by NavRadar control - DroneListContainer.DisposeAllChildren(); - _droneButtons.Clear(); - - NavRadar.Detectors = new(); - if (_consoleEntity != null) - NavRadar.Detectors.Add(_consoleEntity.Value); - - foreach (var (netEnt, gridNEnt) in state.LinkedDrones) + // Rebuild list if changed (Naive approach, usually we differ) + // For simplicity, we clear and rebuild if count matches but we don't check names. + // In prod, check if dictionary keys match exactly to avoid flicker. + if (_droneButtons.Count != state.LinkedDrones.Count || !_droneButtons.Keys.All(k => state.LinkedDrones.Contains(k))) { - var gridEnt = _entity.GetEntity(gridNEnt); - - NavRadar.Detectors.Add(gridEnt); - - var label = _shuttles.GetIFFLabel(gridEnt, self: false); - var btn = new Button - { - Text = label, - ToggleMode = true, - Pressed = SelectedDrones.Contains(netEnt) - }; + DroneListContainer.DisposeAllChildren(); + _droneButtons.Clear(); - btn.OnPressed += (args) => + int index = 1; + foreach (var netEnt in state.LinkedDrones) { - if (btn.Pressed) SelectedDrones.Add(netEnt); - else SelectedDrones.Remove(netEnt); - }; - - _droneButtons[netEnt] = btn; - DroneListContainer.AddChild(btn); + var btn = new Button + { + Text = $"{index++}", + ToggleMode = true, + Pressed = _selectedDrones.Contains(netEnt) + }; + + btn.OnPressed += (args) => + { + if (btn.Pressed) _selectedDrones.Add(netEnt); + else _selectedDrones.Remove(netEnt); + }; + + _droneButtons[netEnt] = btn; + DroneListContainer.AddChild(btn); + } } } - public void SetConsole(EntityUid consoleEntity) - { - _consoleEntity = consoleEntity; - NavRadar.SetConsole(consoleEntity); - } - private void RefreshButtonVisuals() { foreach (var (netEnt, btn) in _droneButtons) { - btn.Pressed = SelectedDrones.Contains(netEnt); + btn.Pressed = _selectedDrones.Contains(netEnt); } } } diff --git a/Content.Client/_HL/Silicons/GovernorLawAccessEui.cs b/Content.Client/_HL/Silicons/GovernorLawAccessEui.cs deleted file mode 100644 index a27c6124ce0..00000000000 --- a/Content.Client/_HL/Silicons/GovernorLawAccessEui.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Content.Client.Eui; -using Content.Client.Silicons.Laws.SiliconLawEditUi; -using Content.Shared.Eui; -using Content.Shared.Silicons.Laws; - -namespace Content.Client.HL.Silicons; - -public sealed class GovernorLawAccessEui : BaseEui -{ - private readonly EntityManager _entityManager; - - private SiliconLawUi _siliconLawUi; - private EntityUid _target; - - public GovernorLawAccessEui() - { - _entityManager = IoCManager.Resolve(); - - _siliconLawUi = new SiliconLawUi(); - _siliconLawUi.OnClose += () => SendMessage(new CloseEuiMessage()); - _siliconLawUi.Save.OnPressed += _ => - SendMessage(new SiliconLawsSaveMessage(_siliconLawUi.GetLaws(), _entityManager.GetNetEntity(_target))); - } - - public override void HandleState(EuiStateBase state) - { - if (state is not SiliconLawsEuiState lawsState) - return; - - _target = _entityManager.GetEntity(lawsState.Target); - _siliconLawUi.SetLaws(lawsState.Laws, allowCorruption: false); - } - - public override void Opened() - { - _siliconLawUi.OpenCentered(); - } -} diff --git a/Content.Client/_HL/Silicons/GovernorLawAccessVerbSystem.cs b/Content.Client/_HL/Silicons/GovernorLawAccessVerbSystem.cs deleted file mode 100644 index ea7b2e365c9..00000000000 --- a/Content.Client/_HL/Silicons/GovernorLawAccessVerbSystem.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Content.Shared.HL.Silicons.Components; -using Content.Shared.HL.Silicons; -using Content.Shared.Inventory; -using Content.Shared.Silicons.Laws.Components; -using Content.Shared.Verbs; -using Content.Shared.Wires; -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; - -namespace Content.Client.HL.Silicons; - -public sealed class GovernorLawAccessVerbSystem : EntitySystem -{ - [Dependency] private readonly InventorySystem _inventory = default!; - - public override void Initialize() - { - SubscribeLocalEvent>(OnGetAlternativeVerb); - } - - private void OnGetAlternativeVerb(Entity ent, ref GetVerbsEvent args) - { - if (!args.CanAccess || !args.CanInteract) - return; - - if (GovernorLawAccessShared.IsSiliconUser(args.User, EntityManager)) - return; - - if (args.User == ent.Owner) - return; - - if (!_inventory.TryGetSlotEntity(ent, "neck", out var neckItem)) - return; - - if (!HasComp(neckItem)) - return; - - if (TryComp(ent, out var panel) && !panel.Open) - return; - - // Keep this verb descriptor aligned with server-side GovernorLawAccessSystem so execution matches. - args.Verbs.Add(new AlternativeVerb - { - Text = Loc.GetString(GovernorLawAccessShared.ManageLawsLocKey), - Icon = new SpriteSpecifier.Rsi(GovernorLawAccessShared.ManageLawsIconRsiPath, GovernorLawAccessShared.ManageLawsIconState) - }); - } - -} diff --git a/Content.Client/_Mono/FireControl/UI/FireControlNavControl.cs b/Content.Client/_Mono/FireControl/UI/FireControlNavControl.cs index 6e47e462a1c..75fd9bbdb03 100644 --- a/Content.Client/_Mono/FireControl/UI/FireControlNavControl.cs +++ b/Content.Client/_Mono/FireControl/UI/FireControlNavControl.cs @@ -322,32 +322,31 @@ protected override void Draw(DrawingHandleScreen handle) var origin = ScalePosition(-new Vector2(Offset.X, -Offset.Y)); handle.DrawLine(origin, origin + angle.ToVec() * ScaledMinimapRadius * 1.42f, Color.Red.WithAlpha(0.1f)); - foreach (var blipData in _blips.GetCurrentBlips()) + var blips = _blips.GetCurrentBlips(); + + foreach (var blip in blips) { - var mapPosition = _transform.ToMapCoordinates(blipData.Position).Position; - var viewPosition = Vector2.Transform(mapPosition, worldToView); - var config = blipData.Config; - var shape = config.Shape; - var color = config.Color; - var scale = (config.Bounds.Width + config.Bounds.Height) / 6f; - - if (shape == RadarBlipShape.Ring) + var blipCoord = _transform.ToMapCoordinates(blip.Item1).Position; + var blipPos = Vector2.Transform(blipCoord, worldToView); + + if (blip.Item4 == RadarBlipShape.Ring) { - DrawShieldRing(handle, viewPosition, scale, color.WithAlpha(0.8f)); + DrawShieldRing(handle, blipPos, blip.Item2, blip.Item3.WithAlpha(0.8f)); } else { - DrawBlipShape(handle, viewPosition, scale * 3f, color.WithAlpha(0.8f), shape); + // For other shapes, use the regular drawing method + DrawBlipShape(handle, blipPos, blip.Item2 * 3f, blip.Item3.WithAlpha(0.8f), blip.Item4); } if (_isMouseInside && _controllables != null) { - var worldPosition = mapPosition; + var worldPos = blipCoord; var isFireControllable = _controllables.Any(c => { var coords = EntManager.GetCoordinates(c.Coordinates); var entityMapPos = _transform.ToMapCoordinates(coords); - return Vector2.Distance(entityMapPos.Position, worldPosition) < 0.1f && + return Vector2.Distance(entityMapPos.Position, worldPos) < 0.1f && _selectedWeapons.Contains(c.NetEntity); }); @@ -358,53 +357,25 @@ protected override void Draw(DrawingHandleScreen handle) var cursorWorldPos = Vector2.Transform(cursorViewPos, viewToWorld); - var direction = cursorWorldPos - worldPosition; - var ray = new CollisionRay(worldPosition, direction.Normalized(), (int)CollisionGroup.Impassable); + var direction = cursorWorldPos - worldPos; + var ray = new CollisionRay(worldPos, direction.Normalized(), (int)CollisionGroup.Impassable); var results = _physics.IntersectRay(xform.MapID, ray, direction.Length(), ignoredEnt: _coordinates?.EntityId); if (!results.Any()) { - handle.DrawLine(viewPosition, cursorViewPos, color.WithAlpha(0.3f)); + handle.DrawLine(blipPos, cursorViewPos, blip.Item3.WithAlpha(0.3f)); } } } } // Draw hitscan lines from the radar blips system - var hitscanLines = _blips.GetRawHitscanLines(); + var hitscanLines = _blips.GetHitscanLines(); foreach (var line in hitscanLines) { - Vector2 startPosInView; - Vector2 endPosInView; - - // Handle differently based on if there's a grid - if (line.Grid == null) - { - // For world-space lines without a grid, use standard world transformation - startPosInView = Vector2.Transform(line.Start, worldToShuttle * shuttleToView); - endPosInView = Vector2.Transform(line.End, worldToShuttle * shuttleToView); - } - else - { - // For grid-relative lines, we need to transform from grid space to world space first - var gridEntity = EntManager.GetEntity(line.Grid.Value); - if (EntManager.TryGetComponent(gridEntity, out var gridXform)) - { - var gridToWorld = _transform.GetWorldMatrix(gridEntity); - var gridStartWorld = Vector2.Transform(line.Start, gridToWorld); - var gridEndWorld = Vector2.Transform(line.End, gridToWorld); - - startPosInView = Vector2.Transform(gridStartWorld, worldToShuttle * shuttleToView); - endPosInView = Vector2.Transform(gridEndWorld, worldToShuttle * shuttleToView); - } - else - { - // Fallback to treating as world coordinates if grid transform is not available - startPosInView = Vector2.Transform(line.Start, worldToShuttle * shuttleToView); - endPosInView = Vector2.Transform(line.End, worldToShuttle * shuttleToView); - } - } + var startPosInView = Vector2.Transform(line.Start, worldToView); + var endPosInView = Vector2.Transform(line.End, worldToView); // Check if the line is within the view bounds before drawing var viewBounds = new Box2(-3f, -3f, Size.X + 3f, Size.Y + 3f); diff --git a/Content.Client/_Mono/Radar/RadarBlipsSystem.cs b/Content.Client/_Mono/Radar/RadarBlipsSystem.cs index 5ce97e108bb..a9183b26b41 100644 --- a/Content.Client/_Mono/Radar/RadarBlipsSystem.cs +++ b/Content.Client/_Mono/Radar/RadarBlipsSystem.cs @@ -1,68 +1,60 @@ +// SPDX-FileCopyrightText: 2025 Ark +// SPDX-FileCopyrightText: 2025 Ilya246 +// SPDX-FileCopyrightText: 2025 ark1368 +// +// SPDX-License-Identifier: AGPL-3.0-or-later + using System.Numerics; using Content.Shared._Mono.Radar; using Robust.Shared.Map; using Robust.Shared.Timing; -using System.Linq; namespace Content.Client._Mono.Radar; public sealed partial class RadarBlipsSystem : EntitySystem { - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly IMapManager _map = default!; - [Dependency] private readonly SharedTransformSystem _xform = default!; - private const double BlipStaleSeconds = 3.0; - private const float MaxBlipRenderDistance = 256f; - private static readonly List<(NetEntity? Grid, Vector2 Start, Vector2 End, float Thickness, Color Color)> EmptyHitscanList = new(); + private static readonly List<(Vector2, float, Color, RadarBlipShape)> EmptyBlipList = new(); + private static readonly List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)> EmptyRawBlipList = new(); + private static readonly List<(Vector2 Start, Vector2 End, float Thickness, Color Color)> EmptyHitscanList = new(); private TimeSpan _lastRequestTime = TimeSpan.Zero; - private static readonly TimeSpan RequestThrottle = TimeSpan.FromMilliseconds(500); + private static readonly TimeSpan RequestThrottle = TimeSpan.FromMilliseconds(250); + + // Maximum distance for blips to be considered visible + private const float MaxBlipRenderDistance = 300f; + + [Dependency] private readonly IGameTiming _timing = default!; private TimeSpan _lastUpdatedTime; - private List _blips = new(); - private List _hitscans = new(); - private List _configPalette = new(); + private List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)> _blips = new(); + private List<(Vector2 Start, Vector2 End, float Thickness, Color Color)> _hitscans = new(); private Vector2 _radarWorldPosition; - // cached results to avoid allocating on every draw/frame - private readonly List _cachedBlipData = new(); - public override void Initialize() { base.Initialize(); SubscribeNetworkEvent(HandleReceiveBlips); - SubscribeNetworkEvent(RemoveBlip); } private void HandleReceiveBlips(GiveBlipsEvent ev, EntitySessionEventArgs args) { - _configPalette = ev.ConfigPalette; - _blips = ev.Blips; + // Only update blips if the event contains them (not empty) + // This prevents hitscan updates from clearing actual radar blips + if (ev.Blips.Count > 0) + _blips = ev.Blips; + _hitscans = ev.HitscanLines; _lastUpdatedTime = _timing.CurTime; } - private void RemoveBlip(BlipRemovalEvent args) - { - var blipid = _blips.FirstOrDefault(x => x.Uid == args.NetBlipUid); - _blips.Remove(blipid); - } - public void RequestBlips(EntityUid console) { // Only request if we have a valid console if (!Exists(console)) return; - // Add request throttling to avoid network spam - if (_timing.CurTime - _lastRequestTime < RequestThrottle) - return; - - _lastRequestTime = _timing.CurTime; - - // Cache the radar position for distance culling - _radarWorldPosition = _xform.GetWorldPosition(console); var netConsole = GetNetEntity(console); + var ev = new RequestBlipsEvent(netConsole); RaiseNetworkEvent(ev); } @@ -70,14 +62,15 @@ public void RequestBlips(EntityUid console) /// /// Gets the current blips as world positions with their scale, color and shape. /// - public List GetCurrentBlips() + public List<(EntityCoordinates Position, float Scale, Color Color, RadarBlipShape Shape)> GetCurrentBlips() { - // clear the cache and bail early if the data is stale - _cachedBlipData.Clear(); + // If it's been more than a second since our last update, + // the data is considered stale - return an empty list if (_timing.CurTime.TotalSeconds - _lastUpdatedTime.TotalSeconds > BlipStaleSeconds) - return _cachedBlipData; + return new List<(EntityCoordinates, float, Color, RadarBlipShape)>(); + + var result = new List<(EntityCoordinates, float, Color, RadarBlipShape)>(_blips.Count); - // populate the cached list instead of allocating a new one each frame foreach (var blip in _blips) { var coord = GetCoordinates(blip.Position); @@ -87,40 +80,20 @@ public List GetCurrentBlips() var predictedPos = new EntityCoordinates(coord.EntityId, coord.Position + blip.Vel * (float)(_timing.CurTime - _lastUpdatedTime).TotalSeconds); - var predictedMap = _xform.ToMapCoordinates(predictedPos); - - var config = _configPalette[blip.ConfigIndex]; - var rotation = blip.Rotation; - // hijack our shape if we're on a grid and we want to do that - if (_map.TryFindGridAt(predictedMap, out var grid, out _) && grid != EntityUid.Invalid) - { - if (blip.OnGridConfigIndex is { } gridIdx) - config = _configPalette[gridIdx]; - rotation += Transform(grid).LocalRotation; - } - var maybeGrid = grid != EntityUid.Invalid ? grid : (EntityUid?)null; + // Distance culling for world position blips + if (Vector2.DistanceSquared(predictedPos.Position, _radarWorldPosition) > MaxBlipRenderDistance * MaxBlipRenderDistance) + continue; - _cachedBlipData.Add(new(blip.Uid, predictedPos, rotation, maybeGrid, config)); + result.Add((predictedPos, blip.Scale, blip.Color, blip.Shape)); } - return _cachedBlipData; - } - - /// - /// Gets the hitscan lines to be rendered on the radar - /// - public List GetHitscanLines() - { - if (_timing.CurTime.TotalSeconds - _lastUpdatedTime.TotalSeconds > BlipStaleSeconds) - return new(); - - return _hitscans; + return result; } /// /// Gets the hitscan lines to be rendered on the radar /// - public List<(Vector2 Start, Vector2 End, float Thickness, Color Color)> GetWorldHitscanLines() + public List<(Vector2 Start, Vector2 End, float Thickness, Color Color)> GetHitscanLines() { if (_timing.CurTime.TotalSeconds - _lastUpdatedTime.TotalSeconds > BlipStaleSeconds) return new List<(Vector2, Vector2, float, Color)>(); @@ -129,118 +102,20 @@ public List GetHitscanLines() foreach (var hitscan in _hitscans) { - Vector2 worldStart, worldEnd; - - // If no grid, positions are already in world coordinates - if (hitscan.Grid == null) - { - worldStart = hitscan.Start; - worldEnd = hitscan.End; + var worldStart = hitscan.Start; + var worldEnd = hitscan.End; - // Distance culling - check if either end of the line is in range - var startDist = Vector2.DistanceSquared(worldStart, _radarWorldPosition); - var endDist = Vector2.DistanceSquared(worldEnd, _radarWorldPosition); + // Distance culling - check if either end of the line is in range + var startDist = Vector2.DistanceSquared(worldStart, _radarWorldPosition); + var endDist = Vector2.DistanceSquared(worldEnd, _radarWorldPosition); - if (startDist > MaxBlipRenderDistance * MaxBlipRenderDistance && - endDist > MaxBlipRenderDistance * MaxBlipRenderDistance) - continue; - - result.Add((worldStart, worldEnd, hitscan.Thickness, hitscan.Color)); + if (startDist > MaxBlipRenderDistance * MaxBlipRenderDistance && + endDist > MaxBlipRenderDistance * MaxBlipRenderDistance) continue; - } - - // If grid exists, transform from grid-local to world coordinates - if (TryGetEntity(hitscan.Grid, out var gridEntity)) - { - // Transform the grid-local positions to world positions - var worldPos = _xform.GetWorldPosition(gridEntity.Value); - var gridRot = _xform.GetWorldRotation(gridEntity.Value); - - // Rotate the local positions by grid rotation and add grid position - var rotatedLocalStart = gridRot.RotateVec(hitscan.Start); - var rotatedLocalEnd = gridRot.RotateVec(hitscan.End); - worldStart = worldPos + rotatedLocalStart; - worldEnd = worldPos + rotatedLocalEnd; - - // Distance culling - check if either end of the line is in range - var startDist = Vector2.DistanceSquared(worldStart, _radarWorldPosition); - var endDist = Vector2.DistanceSquared(worldEnd, _radarWorldPosition); - - if (startDist > MaxBlipRenderDistance * MaxBlipRenderDistance && - endDist > MaxBlipRenderDistance * MaxBlipRenderDistance) - continue; - - result.Add((worldStart, worldEnd, hitscan.Thickness, hitscan.Color)); - } + result.Add((worldStart, worldEnd, hitscan.Thickness, hitscan.Color)); } return result; } - - /// - /// Gets the raw hitscan data which includes grid information for more accurate rendering. - /// - public List<(NetEntity? Grid, Vector2 Start, Vector2 End, float Thickness, Color Color)> GetRawHitscanLines() - { - if (_timing.CurTime.TotalSeconds - _lastUpdatedTime.TotalSeconds > BlipStaleSeconds) - return EmptyHitscanList; - - if (_hitscans.Count == 0) - return EmptyHitscanList; - - var filteredHitscans = new List<(NetEntity? Grid, Vector2 Start, Vector2 End, float Thickness, Color Color)>(_hitscans.Count); - - foreach (var hitscan in _hitscans) - { - // For non-grid hitscans, do direct distance check - if (hitscan.Grid == null) - { - // Check if either endpoint is in range - var startDist = Vector2.DistanceSquared(hitscan.Start, _radarWorldPosition); - var endDist = Vector2.DistanceSquared(hitscan.End, _radarWorldPosition); - - if (startDist <= MaxBlipRenderDistance * MaxBlipRenderDistance || - endDist <= MaxBlipRenderDistance * MaxBlipRenderDistance) - { - filteredHitscans.Add((hitscan.Grid, hitscan.Start, hitscan.End, hitscan.Thickness, hitscan.Color)); - } - continue; - } - - // For grid hitscans, transform to world space for distance check - if (TryGetEntity(hitscan.Grid, out var gridEntity)) - { - var worldPos = _xform.GetWorldPosition(gridEntity.Value); - var gridRot = _xform.GetWorldRotation(gridEntity.Value); - - var rotatedLocalStart = gridRot.RotateVec(hitscan.Start); - var rotatedLocalEnd = gridRot.RotateVec(hitscan.End); - - var worldStart = worldPos + rotatedLocalStart; - var worldEnd = worldPos + rotatedLocalEnd; - - // Check if either endpoint is in range - var startDist = Vector2.DistanceSquared(worldStart, _radarWorldPosition); - var endDist = Vector2.DistanceSquared(worldEnd, _radarWorldPosition); - - if (startDist <= MaxBlipRenderDistance * MaxBlipRenderDistance || - endDist <= MaxBlipRenderDistance * MaxBlipRenderDistance) - { - filteredHitscans.Add((hitscan.Grid, hitscan.Start, hitscan.End, hitscan.Thickness, hitscan.Color)); - } - } - } - - return filteredHitscans; - } } - -public record struct BlipData -( - NetEntity NetUid, - EntityCoordinates Position, - Angle Rotation, - EntityUid? GridUid, - BlipConfig Config -); diff --git a/Content.Client/_Mono/ShipRepair/ShipRepairSystem.Ghosts.cs b/Content.Client/_Mono/ShipRepair/ShipRepairSystem.Ghosts.cs deleted file mode 100644 index cbf6e113b6f..00000000000 --- a/Content.Client/_Mono/ShipRepair/ShipRepairSystem.Ghosts.cs +++ /dev/null @@ -1,266 +0,0 @@ -using Content.Client.IconSmoothing; -using Content.Shared._Mono.ShipRepair; -using Content.Shared._Mono.ShipRepair.Components; -using Content.Shared.DrawDepth; -using Content.Shared.Maps; -using Robust.Client.GameObjects; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; -using System.Numerics; - -namespace Content.Client._Mono.ShipRepair; - -public sealed partial class ShipRepairSystem : SharedShipRepairSystem -{ - // active ghost entities so we can clean them up, this could be an EQE instead but performance - private readonly Dictionary _activeGhosts = new(); - - private readonly HashSet _visibleGhosts = new(); - - private Color ghostColor = new Color(255, 128, 0, 128); - - private EntProtoId RepairGhostId = "RepairGhost"; - - private ITileDefinition? PlatingDef = default!; - - private void InitGhosts() - { - PlatingDef = _tileDefs["Plating"]; - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - if (!_timing.IsFirstTimePredicted) - return; - - var player = _player.LocalEntity; - if (player == null || !HasComp(player)) - { - ClearGhosts(); - return; - } - - float maxRange = 0f; - foreach (var hand in _hands.EnumerateHands(player.Value)) - if (_toolQuery.TryComp(hand.HeldEntity, out var tool) && tool.GhostRenderRadius > maxRange) - maxRange = tool.GhostRenderRadius; - - if (maxRange <= 0f) - { - ClearGhosts(); - return; - } - - _visibleGhosts.Clear(); - - var playerXform = Transform(player.Value); - var playerMapPos = _transform.GetMapCoordinates(player.Value, playerXform); - - // find all grids in range so it displays for nearby grids and not just our own - var searchBox = Box2.CenteredAround(playerMapPos.Position, new Vector2(maxRange * 2, maxRange * 2)); - var grids = new List>(); - _mapMan.FindGridsIntersecting(playerMapPos.MapId, searchBox, ref grids, true, false); - - var shiftVec = new Vector2(maxRange, maxRange); - - // might be a bit evil performance-wise but not sure how to do it otherwise - foreach (var grid in grids) - { - if (!_dataQuery.TryComp(grid, out var data)) - continue; - - var localPos = _transform.WithEntityId(_transform.ToCoordinates(playerMapPos), grid); - - // search for all chunks we should look in in a square - var minTile = _map.LocalToTile(grid, grid, localPos.Offset(-shiftVec)); - var maxTile = _map.LocalToTile(grid, grid, localPos.Offset(shiftVec)); - - var minChunk = GetRepairChunkIndices(minTile, data.ChunkSize); - var maxChunk = GetRepairChunkIndices(maxTile, data.ChunkSize); - - for (var x = minChunk.X; x <= maxChunk.X; x++) - { - for (var y = minChunk.Y; y <= maxChunk.Y; y++) - { - var chunkIndices = new Vector2i(x, y); - if (!data.Chunks.TryGetValue(chunkIndices, out var chunk)) - continue; - - // process entity ghosts - foreach (var (specId, spec) in chunk.Entities) - { - var origUid = spec.OriginalEntity == null ? (EntityUid?)null : GetEntity(spec.OriginalEntity.Value); - // this will get trolled by PVS but hope repairable entities aren't too often on the same grid but at a far position - if (origUid != null && !TerminatingOrDeleted(origUid) && Transform(origUid.Value).GridUid == grid.Owner) - continue; - - var specCoords = new EntityCoordinates(grid, spec.LocalPosition); - var specMapPos = _transform.ToMapCoordinates(specCoords); - - // check if it's actually in range - if (specMapPos.MapId != playerMapPos.MapId - || (specMapPos.Position - playerMapPos.Position).LengthSquared() > maxRange * maxRange - ) - continue; - - _visibleGhosts.Add(new((grid, data, grid.Comp), chunkIndices, specId, false)); - } - - // process tile ghosts - for (int i = 0; i < chunk.Tiles.Length; i++) - { - var storedTileId = chunk.Tiles[i]; - if (storedTileId == Tile.Empty.TypeId) - continue; - - var rx = i % data.ChunkSize; - var ry = i / data.ChunkSize; - var tileIndices = chunkIndices * data.ChunkSize + new Vector2i(rx, ry); - - // all good, no ghost - var currentTile = _map.GetTileRef(grid, grid, tileIndices).Tile; - if (currentTile.TypeId == storedTileId) - continue; - - var tileLocal = _map.TileCenterToVector(grid, tileIndices); - var tileCoords = new EntityCoordinates(grid, tileLocal); - var tileMapPos = _transform.ToMapCoordinates(tileCoords); - - // check out of range - if (tileMapPos.MapId != playerMapPos.MapId - || (tileMapPos.Position - playerMapPos.Position).LengthSquared() > maxRange * maxRange - ) - continue; - - _visibleGhosts.Add(new((grid, data, grid.Comp), chunkIndices, i, true)); - } - } - } - } - - // check which ghosts went out of range - var toRemove = new List(); - foreach (var key in _activeGhosts.Keys) - if (!_visibleGhosts.Contains(key)) - toRemove.Add(key); - - foreach (var key in toRemove) - { - QueueDel(_activeGhosts[key]); - _activeGhosts.Remove(key); - } - - foreach (var key in _visibleGhosts) - { - if (_activeGhosts.ContainsKey(key)) - continue; - - var (grid, chunkIdx, id, isTile) = key; - - if (grid.Comp1.Chunks.TryGetValue(chunkIdx, out var chunk)) - { - if (isTile) - { - var tileId = chunk.Tiles[id]; - var rx = id % grid.Comp1.ChunkSize; - var ry = id / grid.Comp1.ChunkSize; - var tileIndices = chunkIdx * grid.Comp1.ChunkSize + new Vector2i(rx, ry); - - SpawnTileGhost(key, tileIndices, (ushort)tileId); - } - else if (chunk.Entities.TryGetValue(id, out var spec)) - { - var protoId = grid.Comp1.EntityPalette[spec.ProtoIndex]; - SpawnEntityGhost(key, spec, protoId); - } - } - } - } - - private void ClearGhosts() - { - foreach (var uid in _activeGhosts.Values) - QueueDel(uid); - - _activeGhosts.Clear(); - } - - private void SpawnEntityGhost(GhostPosData key, ShipRepairEntitySpecifier spec, EntProtoId protoId) - { - if (_proto.TryIndex(protoId, out var proto) - && proto.TryGetComponent(out var specSprite, Factory)) - { - // needed so it doesn't fall off if offgrid - var ghost = Spawn(RepairGhostId, new EntityCoordinates(key.Grid, Vector2.Zero)); - _parent.SetForceParent(ghost, new EntityCoordinates(key.Grid, spec.LocalPosition)); - _transform.SetLocalRotationNoLerp(ghost, spec.Rotation); - - var sprite = _serialization.CreateCopy(specSprite, notNullableOverride: true); - AddComp(ghost, sprite); - var ent = (ghost, sprite); - - // evil hacks to not trip debug asserts - var old = specSprite.Owner; - specSprite.Owner = ghost; - _sprite.CopySprite((ghost, specSprite), ent); - specSprite.Owner = old; - - if (proto.TryGetComponent(out var specSmooth, Factory)) - { - var smooth = _serialization.CreateCopy(specSmooth, notNullableOverride: true); - AddComp(ghost, smooth); - } - - _sprite.SetColor(ent, ghostColor); - _sprite.SetVisible(ent, true); - _sprite.SetDrawDepth(ent, (int)Content.Shared.DrawDepth.DrawDepth.Objects); - - var i = 0; - foreach (var layer in sprite.AllLayers) - { - sprite.LayerSetShader(i, "unshaded"); - i++; - } - - _metaData.SetEntityName(ghost, Loc.GetString("repair-ghost-name", ("proto", proto.Name))); - - _activeGhosts[key] = ghost; - } - } - - private void SpawnTileGhost(GhostPosData key, Vector2i indices, ushort tileId) - { - if (_tileDefs.TryGetDefinition(tileId, out var def) - && def is ContentTileDefinition tileDef) - { - var localPos = _map.TileCenterToVector((key.Grid, key.Grid.Comp2), indices); - var ghost = Spawn(RepairGhostId, new EntityCoordinates(key.Grid, Vector2.Zero)); - _parent.SetForceParent(ghost, new EntityCoordinates(key.Grid, localPos)); - - var sprite = EnsureComp(ghost); - var ent = (ghost, sprite); - - // render everything with plating sprite because tile sprites are evil and are a string of their variants - if (PlatingDef?.Sprite != null) - { - var layer = _sprite.AddBlankLayer(ent, 0); - _sprite.LayerSetTexture(ent, 0, PlatingDef.Sprite.Value); - _sprite.LayerSetVisible(layer, true); - sprite.LayerSetShader(0, "unshaded"); - } - - _sprite.SetColor(ghost, ghostColor); - _sprite.SetDrawDepth(ghost, (int)Content.Shared.DrawDepth.DrawDepth.FloorObjects); - - _metaData.SetEntityName(ghost, Loc.GetString("repair-ghost-name", ("proto", Loc.GetString(tileDef.Name)))); - - _activeGhosts[key] = ghost; - } - } - - private record struct GhostPosData(Entity Grid, Vector2i ChunkIndices, int Id, bool IsTile); -} diff --git a/Content.Client/_Mono/ShipRepair/ShipRepairSystem.cs b/Content.Client/_Mono/ShipRepair/ShipRepairSystem.cs deleted file mode 100644 index 96c0ad9a3f8..00000000000 --- a/Content.Client/_Mono/ShipRepair/ShipRepairSystem.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Content.Client.IconSmoothing; -using Content.Shared._Mono.ForceParent; -using Content.Shared._Mono.ShipRepair; -using Content.Shared._Mono.ShipRepair.Components; -using Content.Shared.Hands.EntitySystems; -using Robust.Client.GameObjects; -using Robust.Client.Player; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.Manager; -using Robust.Shared.Timing; - -namespace Content.Client._Mono.ShipRepair; - -public sealed partial class ShipRepairSystem : SharedShipRepairSystem -{ - [Dependency] private readonly ForceParentSystem _parent = default!; - [Dependency] private readonly IconSmoothSystem _smooth = default!; - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly IMapManager _mapMan = default!; - [Dependency] private readonly IPlayerManager _player = default!; - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly ISerializationManager _serialization = default!; - [Dependency] private readonly ITileDefinitionManager _tileDefs = default!; - [Dependency] private readonly MetaDataSystem _metaData = default!; - [Dependency] private readonly SharedHandsSystem _hands = default!; - [Dependency] private readonly SharedMapSystem _map = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - [Dependency] private readonly SpriteSystem _sprite = default!; - - // so Update() is less evil - private EntityQuery _gridQuery; - private EntityQuery _dataQuery; - private EntityQuery _spriteQuery; - private EntityQuery _toolQuery; - - public override void Initialize() - { - base.Initialize(); - - SubscribeNetworkEvent(OnRepairMessage); - - _dataQuery = GetEntityQuery(); - _gridQuery = GetEntityQuery(); - _spriteQuery = GetEntityQuery(); - _toolQuery = GetEntityQuery(); - - InitGhosts(); - } - - private void OnRepairMessage(RepairEntityMessage args) - { - var grid = GetEntity(args.Grid); - if (TerminatingOrDeleted(grid) - || !TryComp(grid, out var data) - || !TryGetChunk(data, args.Indices, out var chunk) - ) - return; - - if (!chunk.Entities.ContainsKey(args.SpecId)) - Log.Warning($"Tried to sync repaired entity at {args.Indices} on grid {ToPrettyString(grid)}, but we did not have this entity prior."); - - chunk.Entities[args.SpecId] = args.NewSpec; - } -} diff --git a/Content.Client/_NF/Shuttles/UI/ShuttleNavControl.xaml.cs b/Content.Client/_NF/Shuttles/UI/ShuttleNavControl.xaml.cs index a594ac7713d..41895ebd6bf 100644 --- a/Content.Client/_NF/Shuttles/UI/ShuttleNavControl.xaml.cs +++ b/Content.Client/_NF/Shuttles/UI/ShuttleNavControl.xaml.cs @@ -13,7 +13,7 @@ namespace Content.Client.Shuttles.UI { - public partial class ShuttleNavControl + public sealed partial class ShuttleNavControl { /// /// Whether the shuttle is currently in FTL. This is used to disable the Park button diff --git a/Content.Goobstation.Shared/StationRadio/Systems/StationRadioReceiverSystem.cs b/Content.Goobstation.Shared/StationRadio/Systems/StationRadioReceiverSystem.cs index b8669513ed9..f961655c4b4 100644 --- a/Content.Goobstation.Shared/StationRadio/Systems/StationRadioReceiverSystem.cs +++ b/Content.Goobstation.Shared/StationRadio/Systems/StationRadioReceiverSystem.cs @@ -3,7 +3,6 @@ using Content.Shared.Interaction; using Content.Shared.Power; using Content.Shared.Power.EntitySystems; -using Robust.Shared.Audio.Components; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; @@ -24,28 +23,17 @@ public override void Initialize() private void OnPowerChanged(EntityUid uid, StationRadioReceiverComponent comp, PowerChangedEvent args) { - TrySetGain(uid, comp, args.Powered && comp.Active ? 1f : 0f); + if(comp.SoundEntity != null && args.Powered) + _audio.SetGain(comp.SoundEntity, comp.Active ? 1f : 0f); + else if(comp.SoundEntity != null) + _audio.SetGain(comp.SoundEntity, 0); } private void OnRadioToggle(EntityUid uid, StationRadioReceiverComponent comp, ActivateInWorldEvent args) { comp.Active = !comp.Active; - TrySetGain(uid, comp, _power.IsPowered(uid) && comp.Active ? 1f : 0f); - } - - private void TrySetGain(EntityUid uid, StationRadioReceiverComponent comp, float gain) - { - if (comp.SoundEntity is not { } sound) - return; - - if (!sound.Valid || TerminatingOrDeleted(sound) || !HasComp(sound)) - { - comp.SoundEntity = null; - Dirty(uid, comp); - return; - } - - _audio.SetGain(sound, gain); + if (comp.SoundEntity != null && _power.IsPowered(uid)) + _audio.SetGain(comp.SoundEntity, comp.Active ? 1f : 0f); } private void OnMediaPlayed(EntityUid uid, StationRadioReceiverComponent comp, StationRadioMediaPlayedEvent args) diff --git a/Content.Server/Administration/Logs/AdminLogManager.Json.cs b/Content.Server/Administration/Logs/AdminLogManager.Json.cs index e8e10ee4f8f..9e6274a4933 100644 --- a/Content.Server/Administration/Logs/AdminLogManager.Json.cs +++ b/Content.Server/Administration/Logs/AdminLogManager.Json.cs @@ -61,8 +61,7 @@ private void InitializeJson() _ => null }; - if (_entityManager.TryGetComponent(entityId, out ActorComponent? actor) - && actor.PlayerSession != null) + if (_entityManager.TryGetComponent(entityId, out ActorComponent? actor)) { players.Add(actor.PlayerSession.UserId.UserId); } diff --git a/Content.Server/Administration/Logs/Converters/EntityUidConverter.cs b/Content.Server/Administration/Logs/Converters/EntityUidConverter.cs index 1fcc682adf9..78d81af33ce 100644 --- a/Content.Server/Administration/Logs/Converters/EntityUidConverter.cs +++ b/Content.Server/Administration/Logs/Converters/EntityUidConverter.cs @@ -26,8 +26,7 @@ public static void Write(Utf8JsonWriter writer, EntityUid value, JsonSerializerO writer.WriteString("name", metaData.EntityName); } - if (entities.TryGetComponent(value, out ActorComponent? actor) - && actor.PlayerSession != null) + if (entities.TryGetComponent(value, out ActorComponent? actor)) { writer.WriteString("player", actor.PlayerSession.UserId.UserId); } diff --git a/Content.Server/Body/Systems/MetabolizerSystem.cs b/Content.Server/Body/Systems/MetabolizerSystem.cs index 46602839809..1c0f232e4b5 100644 --- a/Content.Server/Body/Systems/MetabolizerSystem.cs +++ b/Content.Server/Body/Systems/MetabolizerSystem.cs @@ -70,9 +70,6 @@ private void OnApplyMetabolicMultiplier( Entity ent, ref ApplyMetabolicMultiplierEvent args) { - if (!float.IsFinite(args.Multiplier) || args.Multiplier == 0f) - return; - // TODO REFACTOR THIS // This will slowly drift over time due to floating point errors. // Instead, raise an event with the base rates and allow modifiers to get applied to it. @@ -197,26 +194,17 @@ private void TryMetabolize(Entity playerIds.Contains(player.UserId)) .ToDictionaryAsync(player => player.UserId, player => player.Id); - foreach (var player in playerIds.Distinct()) + foreach (var player in playerIds) { - if (!players.TryGetValue(player, out var playerDbId)) - { - _opsLog.Warning($"Skipping AddRoundPlayers link for unknown player {player} in round {id}"); - continue; - } - await db.DbContext.Database.ExecuteSqlAsync($""" -INSERT INTO player_round (players_id, rounds_id) VALUES ({playerDbId}, {id}) ON CONFLICT DO NOTHING +INSERT INTO player_round (players_id, rounds_id) VALUES ({players[player]}, {id}) ON CONFLICT DO NOTHING """); } diff --git a/Content.Server/DeviceNetwork/Systems/DeviceListSystem.cs b/Content.Server/DeviceNetwork/Systems/DeviceListSystem.cs index 4c807038cb1..c4982375076 100644 --- a/Content.Server/DeviceNetwork/Systems/DeviceListSystem.cs +++ b/Content.Server/DeviceNetwork/Systems/DeviceListSystem.cs @@ -11,8 +11,6 @@ namespace Content.Server.DeviceNetwork.Systems; public sealed class DeviceListSystem : SharedDeviceListSystem { [Dependency] private readonly NetworkConfiguratorSystem _configurator = default!; - private float _cleanupAccumulator; - private const float CleanupInterval = 1f; public override void Initialize() { @@ -23,23 +21,6 @@ public override void Initialize() SubscribeLocalEvent(OnMapSave); } - public override void Update(float frameTime) - { - base.Update(frameTime); - - _cleanupAccumulator += frameTime; - if (_cleanupAccumulator < CleanupInterval) - return; - - _cleanupAccumulator = 0f; - - var enumerator = AllEntityQuery(); - while (enumerator.MoveNext(out var uid, out var list)) - { - PruneInvalidEntries(uid, list); - } - } - private void OnShutdown(EntityUid uid, DeviceListComponent component, ComponentShutdown args) { foreach (var conf in component.Configurators) @@ -103,8 +84,6 @@ public bool ExistsInDeviceList(EntityUid uid, string address, DeviceListComponen /// private void OnBeforeBroadcast(EntityUid uid, DeviceListComponent component, BeforeBroadcastAttemptEvent args) { - PruneInvalidEntries(uid, component); - //Don't filter anything if the device list is empty if (component.Devices.Count == 0) { @@ -129,8 +108,6 @@ private void OnBeforeBroadcast(EntityUid uid, DeviceListComponent component, Bef /// private void OnBeforePacketSent(EntityUid uid, DeviceListComponent component, BeforePacketSentEvent args) { - PruneInvalidEntries(uid, component); - if (component.HandleIncomingPackets && component.Devices.Contains(args.Sender) != component.IsAllowList) args.Cancel(); } @@ -242,28 +219,4 @@ public DeviceListUpdateResult UpdateDeviceList(EntityUid uid, IEnumerable entity, ref SpreadNeighborsEvent args) { - // Mono - if (!_solutionContainerSystem.ResolveSolution(entity.Owner, entity.Comp.SolutionName, ref entity.Comp.Solution)) - { - RemCompDeferred(entity); - return; - } - var ourSolution = entity.Comp.Solution.Value; + // Overflow is the source of the overflowing liquid. This contains the excess fluid above overflow limit (20u) + var overflow = GetOverflowSolution(entity.Owner, entity.Comp); - if (ourSolution.Comp.Solution.Volume < entity.Comp.OverflowThreshold) + if (overflow.Volume == FixedPoint2.Zero) { RemCompDeferred(entity); return; } - // Overflow is the source of the overflowing liquid. This contains the excess fluid above overflow limit (20u) - var overflow = GetOverflowSolution(entity.Owner, entity.Comp); - // For overflows, we never go to a fully evaporative tile just to avoid continuously having to mop it. // First we go to free tiles. // Need to go even if we have a little remainder to avoid solution sploshing around internally // for ages. - if (args.NeighborFreeTiles.Count > 0) + if (args.NeighborFreeTiles.Count > 0 && args.Updates > 0) { + _random.Shuffle(args.NeighborFreeTiles); var spillAmount = overflow.Volume / args.NeighborFreeTiles.Count; - _random.Shuffle(args.NeighborFreeTiles); foreach (var neighbor in args.NeighborFreeTiles) { var split = overflow.SplitSolution(spillAmount); TrySpillAt(_map.GridTileToLocal(neighbor.Tile.GridUid, neighbor.Grid, neighbor.Tile.GridIndices), split, out _, false); args.Updates--; + + if (args.Updates <= 0) + break; } RemCompDeferred(entity); @@ -167,77 +161,129 @@ private void OnPuddleSpread(Entity entity, ref SpreadNeighborsE (x, y) => x.neighborSolution.Volume.CompareTo(y.neighborSolution.Volume)); - var selfVolume = overflow.Volume + entity.Comp.OverflowVolume; // Mono - var shouldSleep = true; // Mono - var transferVolume = selfVolume; - var wishTransfers = new ValueList<(Entity to, Solution solution, EntityUid uid)>(); - // if we can borrow solution from neighbor high-points, be willing to dip into our non-overflow solution - var maxBorrow = FixedPoint2.Zero; - // Overflow to neighbors with remaining space. foreach (var (neighborSolution, puddle, neighbor) in resolvedNeighbourSolutions) { - if (puddle.Solution is not { } solution) + // Water doesn't flow uphill + if (neighborSolution.Volume >= (overflow.Volume + puddle.OverflowVolume)) + { + continue; + } + + // Work out how much we could send into this neighbour without overflowing it, and send up to that much + var remaining = puddle.OverflowVolume - neighborSolution.Volume; + + // If we can't send anything, then skip this neighbour + if (remaining <= FixedPoint2.Zero) continue; - // Mono - let them process if they can overflow into us - if (neighborSolution.Volume > selfVolume) + // We don't want to spill over to make high points either. + if (neighborSolution.Volume + remaining >= (overflow.Volume + puddle.OverflowVolume)) { - // only bother waking it up if it has substantially more volume - if (neighborSolution.Volume >= selfVolume * (1f + entity.Comp.TransferTolerance)) - { - maxBorrow += neighborSolution.Volume - selfVolume; - EnsureComp(neighbor); - } - break; // list is sorted + continue; } - var curAverage = transferVolume / (wishTransfers.Count + 1); - if (neighborSolution.Volume >= curAverage) + var split = overflow.SplitSolution(remaining); + + if (puddle.Solution != null && !_solutionContainerSystem.TryAddSolution(puddle.Solution.Value, split)) + continue; + + args.Updates--; + EnsureComp(neighbor); + + if (args.Updates <= 0) break; + } - transferVolume += neighborSolution.Volume; - wishTransfers.Add((solution, neighborSolution, neighbor)); + // If there is nothing left to overflow from our tile, then we'll stop this tile being a active spreader + if (overflow.Volume == FixedPoint2.Zero) + { + RemCompDeferred(entity); + return; } + } + + // Then we go to anything else. + if (overflow.Volume > FixedPoint2.Zero && args.Neighbors.Count > 0 && args.Updates > 0) + { + var resolvedNeighbourSolutions = + new ValueList<(Solution neighborSolution, PuddleComponent puddle, EntityUid neighbor)>(); + + // Keep track of the total volume in the area + FixedPoint2 totalVolume = 0; - var averageTo = transferVolume / (wishTransfers.Count + 1); - // check if we're willing to dip below overflow - if (averageTo < entity.Comp.OverflowVolume) + // Resolve all our neighbours so that we can use their properties to decide who to act on first + foreach (var neighbor in args.Neighbors) { - var wishTake = entity.Comp.OverflowVolume - averageTo; - var take = wishTake > maxBorrow ? maxBorrow : wishTake; - overflow.AddSolution(_solutionContainerSystem.SplitSolution(ourSolution, take), _prototypeManager); + if (!_puddleQuery.TryGetComponent(neighbor, out var puddle) || + !_solutionContainerSystem.ResolveSolution(neighbor, puddle.SolutionName, ref puddle.Solution, + out var neighborSolution) || + CanFullyEvaporate(neighborSolution)) + { + continue; + } + + resolvedNeighbourSolutions.Add((neighborSolution, puddle, neighbor)); + totalVolume += neighborSolution.Volume; } - foreach (var (to, solution, uid) in wishTransfers) + // We should act on neighbours by their total volume. + resolvedNeighbourSolutions.Sort( + (x, y) => + x.neighborSolution.Volume.CompareTo(y.neighborSolution.Volume) + ); + + // Overflow to neighbors with remaining total allowed space (1000u) above the overflow volume (20u). + foreach (var (neighborSolution, puddle, neighbor) in resolvedNeighbourSolutions) { - var wish = averageTo - solution.Volume; - var split = overflow.SplitSolution(wish); - if (split.Volume == FixedPoint2.Zero) + // What the source tiles current volume is. + var sourceCurrentVolume = overflow.Volume + puddle.OverflowVolume; + + // Water doesn't flow uphill + if (neighborSolution.Volume >= sourceCurrentVolume) + { continue; + } - if (!_solutionContainerSystem.TryAddSolution(to, split)) + // We're in the low point in this area, let the neighbour tiles have a chance to spread to us first. + var idealAverageVolume = + (totalVolume + overflow.Volume + puddle.OverflowVolume) / (args.Neighbors.Count + 1); + + if (idealAverageVolume > sourceCurrentVolume) + { continue; + } + + // Work our how far off the ideal average this neighbour is. + var spillThisNeighbor = idealAverageVolume - neighborSolution.Volume; - // only bother waking up if it's a sufficiently large transfer - if (split.Volume >= solution.Volume * entity.Comp.TransferTolerance) + // Skip if we want to spill negative amounts of fluid to this neighbour + if (spillThisNeighbor < FixedPoint2.Zero) { - shouldSleep = false; - EnsureComp(uid); + continue; } + // Try to send them as much towards the average ideal as we can + var split = overflow.SplitSolution(spillThisNeighbor); + + // If we can't do it, move on. + if (puddle.Solution != null && !_solutionContainerSystem.TryAddSolution(puddle.Solution.Value, split)) + continue; + + // If we succeed, then ensure that this neighbour is also able to spread it's overflow onwards + EnsureComp(neighbor); args.Updates--; - } - // Mono - go to sleep if there's nobody to give solution to - if (shouldSleep) - RemCompDeferred(entity); + if (args.Updates <= 0) + break; + } } - // Mono - redundant section deleted - // Add the remainder back - _solutionContainerSystem.TryAddSolution(ourSolution, overflow); + if (_solutionContainerSystem.ResolveSolution(entity.Owner, entity.Comp.SolutionName, ref entity.Comp.Solution)) + { + _solutionContainerSystem.TryAddSolution(entity.Comp.Solution.Value, overflow); + } } private void OnPuddleSlip(Entity entity, ref SlipEvent args) diff --git a/Content.Server/GameTicking/Rules/GameRuleSystem.cs b/Content.Server/GameTicking/Rules/GameRuleSystem.cs index 94a9f8f6f04..cb5b1175495 100644 --- a/Content.Server/GameTicking/Rules/GameRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/GameRuleSystem.cs @@ -85,9 +85,6 @@ private void OnRoundEndTextAppend(RoundEndTextAppendEvent ev) if (!TryComp(uid, out var ruleData)) continue; - if (!GameTicker.IsGameRuleActive(uid, ruleData)) - continue; - AppendRoundEndText(uid, comp, ruleData, ref ev); } } diff --git a/Content.Server/NPC/HTN/HTNSystem.cs b/Content.Server/NPC/HTN/HTNSystem.cs index 42e258c9cb9..3f60957b8b2 100644 --- a/Content.Server/NPC/HTN/HTNSystem.cs +++ b/Content.Server/NPC/HTN/HTNSystem.cs @@ -455,11 +455,7 @@ public void ShutdownTask(HTNOperator currentOperator, NPCBlackboard blackboard, public void ShutdownPlan(HTNComponent component) { - // Mono - if (component.Plan == null) - return; - - // DebugTools.Assert(component.Plan != null); + DebugTools.Assert(component.Plan != null); var blackboard = component.Blackboard; foreach (var task in component.Plan.Tasks) diff --git a/Content.Server/NPC/Systems/NPCUtilitySystem.cs b/Content.Server/NPC/Systems/NPCUtilitySystem.cs index 3a4b59c25fb..36c495b8e29 100644 --- a/Content.Server/NPC/Systems/NPCUtilitySystem.cs +++ b/Content.Server/NPC/Systems/NPCUtilitySystem.cs @@ -1,6 +1,5 @@ using Content.Server.Atmos.Components; using Content.Server.Fluids.EntitySystems; -using Content.Server._Mono.NPC.HTN; // Mono using Content.Server.NPC.Queries; using Content.Server.NPC.Queries.Considerations; using Content.Server.NPC.Queries.Curves; @@ -513,20 +512,20 @@ private void Add(NPCBlackboard blackboard, HashSet entities, UtilityQ { var xform = Transform(owner); var ownGrid = xform.GridUid; - foreach (var (target, targetComp) in _lookup.GetEntitiesInRange(_transform.GetMapCoordinates(xform), shuttlesQuery.Range)) + foreach (var (console, consoleComp) in _lookup.GetEntitiesInRange(_transform.GetMapCoordinates(xform), shuttlesQuery.Range)) { - var targetXform = Transform(target); - var targetGrid = targetXform.GridUid; - if (targetComp.NeedGrid && targetGrid == null || - targetGrid == ownGrid || - (_transform.GetWorldPosition(target) - _transform.GetWorldPosition(xform)).Length() > shuttlesQuery.Range || - targetComp.NeedPower && !this.IsPowered(target, EntityManager) || - targetGrid != null && _whitelistSystem.IsBlacklistPass(shuttlesQuery.Blacklist, targetGrid.Value)) + var consoleXform = Transform(console); + var consGrid = consoleXform.GridUid; + if (consGrid == null || + consGrid == ownGrid || + (_transform.GetWorldPosition(consGrid.Value) - _transform.GetWorldPosition(xform)).Length() > shuttlesQuery.Range || + !this.IsPowered(console, EntityManager) || + _whitelistSystem.IsBlacklistPass(shuttlesQuery.Blacklist, consGrid.Value)) { continue; } - entities.Add(target); + entities.Add(consGrid.Value); } break; } diff --git a/Content.Server/Objectives/ObjectivesSystem.cs b/Content.Server/Objectives/ObjectivesSystem.cs index 2d708c535fa..d403a85f32f 100644 --- a/Content.Server/Objectives/ObjectivesSystem.cs +++ b/Content.Server/Objectives/ObjectivesSystem.cs @@ -70,7 +70,7 @@ private void OnRoundEndText(RoundEndTextAppendEvent ev) var query = EntityQueryEnumerator(); while (query.MoveNext(out var uid, out var gameRule)) { - if (!_gameTicker.IsGameRuleActive(uid, gameRule)) + if (!_gameTicker.IsGameRuleAdded(uid, gameRule)) continue; var info = new ObjectivesTextGetInfoEvent(new List<(EntityUid, string)>(), string.Empty); diff --git a/Content.Server/Power/Components/PowerSupplierComponent.cs b/Content.Server/Power/Components/PowerSupplierComponent.cs index 261c5228cfd..30f8335c495 100644 --- a/Content.Server/Power/Components/PowerSupplierComponent.cs +++ b/Content.Server/Power/Components/PowerSupplierComponent.cs @@ -1,17 +1,3 @@ -// SPDX-FileCopyrightText: 2020 py01 -// SPDX-FileCopyrightText: 2021 20kdc -// SPDX-FileCopyrightText: 2021 Paul Ritter -// SPDX-FileCopyrightText: 2021 Visne -// SPDX-FileCopyrightText: 2021 collinlunn -// SPDX-FileCopyrightText: 2022 mirrorcult -// SPDX-FileCopyrightText: 2022 wrexbe -// SPDX-FileCopyrightText: 2023 DrSmugleaf -// SPDX-FileCopyrightText: 2023 Pieter-Jan Briers -// SPDX-FileCopyrightText: 2025 ArtisticRoomba -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - using Content.Server.Power.NodeGroups; using Content.Server.Power.Pow3r; using Content.Shared.Guidebook; @@ -72,12 +58,5 @@ protected override void RemoveSelfFromNet(IBasePowerNet powerNet) { powerNet.RemoveSupplier(this); } - - // Mono - /// - /// If we have a , heat signature generated per watt currently supplied. - /// - [DataField] - public float HeatSignatureRatio = 4f; } } diff --git a/Content.Server/Projectiles/ProjectileSystem.cs b/Content.Server/Projectiles/ProjectileSystem.cs index e1b80f2c217..dfcdd5f9790 100644 --- a/Content.Server/Projectiles/ProjectileSystem.cs +++ b/Content.Server/Projectiles/ProjectileSystem.cs @@ -9,12 +9,19 @@ using Content.Shared.Database; using Content.Shared.FixedPoint; using Content.Shared.Projectiles; +using Robust.Shared.Physics.Events; +using Robust.Shared.Player; +using Content.Shared.StatusEffect; +using Content.Shared.Eye.Blinding.Components; // Frontier +using Content.Shared.Eye.Blinding.Systems; // Frontier using Content.Shared.Physics; using Robust.Shared.Map; using Robust.Shared.Physics; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Dynamics; // Mono using Robust.Shared.Physics.Systems; +using Robust.Shared.Random; // Frontier +using Content.Server.Chat.Systems; // Frontier using Robust.Shared.Timing; using System.Linq; using System.Numerics; @@ -23,7 +30,16 @@ namespace Content.Server.Projectiles; public sealed class ProjectileSystem : SharedProjectileSystem { + [Dependency] private readonly ColorFlashEffectSystem _color = default!; + [Dependency] private readonly DamageableSystem _damageableSystem = default!; [Dependency] private readonly DestructibleSystem _destructibleSystem = default!; + [Dependency] private readonly GunSystem _guns = default!; + [Dependency] private readonly SharedCameraRecoilSystem _sharedCameraRecoil = default!; + + [Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!; // Frontier + [Dependency] private readonly BlindableSystem _blindingSystem = default!; // Frontier + [Dependency] private readonly IRobustRandom _random = default!; // Frontier + [Dependency] private readonly ChatSystem _chat = default!; // Frontier [Dependency] private readonly SharedPhysicsSystem _physics = default!; [Dependency] private readonly SharedTransformSystem _transformSystem = default!; @@ -44,9 +60,6 @@ public override void Initialize() // Mono _physQuery = GetEntityQuery(); _fixQuery = GetEntityQuery(); - - // Mono - UpdatesBefore.Add(typeof(SharedPhysicsSystem)); } public override DamageSpecifier? ProjectileCollide(Entity projectile, EntityUid target, MapCoordinates? collisionCoordinates, bool predicted = false) @@ -119,6 +132,11 @@ public override void Initialize() component.ProjectileSpent = true; } + if (component.RandomBlindChance > 0.0f && _random.Prob(component.RandomBlindChance)) // Frontier - bb make you go blind + { + TryBlind(target); + } + return modifiedDamage; } @@ -129,7 +147,7 @@ public override void Update(float frameTime) var query = EntityQueryEnumerator(); while (query.MoveNext(out var uid, out var projectileComp, out var physicsComp, out var xform)) { - if (projectileComp.ProjectileSpent || TerminatingOrDeleted(uid)) + if (projectileComp.ProjectileSpent) continue; var currentVelocity = physicsComp.LinearVelocity; @@ -143,10 +161,10 @@ public override void Update(float frameTime) if (rayDistance <= 0f) continue; - if (!_fixQuery.TryComp(uid, out var fix) || !fix.Fixtures.TryGetValue(ProjectileFixture, out var projFix)) - continue; - - var collisionMask = projFix.CollisionMask; + // Define a collision mask appropriate for projectiles. + // This should generally match what projectiles are expected to collide with. + // Using Impassable, BulletImpassable, Opaque, and HitscanImpassable as a baseline. - Mono + const int collisionMask = (int)(CollisionGroup.Impassable | CollisionGroup.BulletImpassable | CollisionGroup.Opaque | CollisionGroup.HitscanImpassable); var hits = _physics.IntersectRay(xform.MapID, new CollisionRay(lastPosition, rayDirection, collisionMask), @@ -168,14 +186,148 @@ public override void Update(float frameTime) hits.Sort((a, b) => a.Distance.CompareTo(b.Distance)); var closestHit = hits.First(); - // teleport us so we hit it - // this is cursed but i don't think there's a better way to force a collision here - _transformSystem.SetWorldPosition(uid, _transformSystem.GetWorldPosition(closestHit.HitEntity)); - if (projectileComp.RaycastResetVelocity) - _physics.SetLinearVelocity(uid, rayDirection * MinRaycastVelocity * 0.99f); + var hitEntity = closestHit.HitEntity; + var hitDistance = closestHit.Distance; + var hitPosition = lastPosition + rayDirection * hitDistance; - continue; + // --- Begin Collision Logic (adapted from OnStartCollide) --- + // Check for reflection + var attemptEv = new ProjectileReflectAttemptEvent(uid, projectileComp, false); + RaiseLocalEvent(hitEntity, ref attemptEv); + if (attemptEv.Cancelled) + { + // Handle reflection - e.g., change shooter, reverse velocity (simplified here) + // This part might need more sophisticated logic based on how reflection is meant to work. + SetShooter(uid, projectileComp, hitEntity); + _physics.SetLinearVelocity(uid, -currentVelocity, body: physicsComp); + // Potentially change angle if your projectile component uses it for orientation + if (TryComp(uid, out TransformComponent? projXform)) + _transformSystem.SetLocalRotation(projXform, currentVelocity.ToAngle() + new Angle(MathF.PI)); + continue; // Done with this projectile if reflected + } + + var damageable = CompOrNull(hitEntity); + var ev = new ProjectileHitEvent(projectileComp.Damage * _damageableSystem.UniversalProjectileDamageModifier, hitEntity, projectileComp.Shooter); + RaiseLocalEvent(uid, ref ev); // Raise on the projectile itself + + if (projectileComp.RandomBlindChance > 0.0f && _random.Prob(projectileComp.RandomBlindChance)) // Frontier + { + TryBlind(hitEntity); + } + + var otherName = ToPrettyString(hitEntity); + var damageRequired = _destructibleSystem.DestroyedAt(hitEntity); + if (damageable != null) // Replicating original logic from OnStartCollide + { + damageRequired -= damageable.TotalDamage; + damageRequired = FixedPoint2.Max(damageRequired, FixedPoint2.Zero); + } + var modifiedDamage = _damageableSystem.TryChangeDamage(hitEntity, ev.Damage, projectileComp.IgnoreResistances, damageable: damageable, origin: projectileComp.Shooter); + var deleted = Deleted(hitEntity); + + if (modifiedDamage != null && EntityManager.EntityExists(projectileComp.Shooter)) + { + if (modifiedDamage.AnyPositive() && !deleted) + { + _color.RaiseEffect(Color.Red, new List { hitEntity }, Filter.Pvs(hitEntity, entityManager: EntityManager)); + } + + /* _adminLogger.Add(LogType.BulletHit, + HasComp(hitEntity) ? LogImpact.Extreme : LogImpact.High, + $"Projectile {ToPrettyString(uid):projectile} (raycast) shot by {ToPrettyString(projectileComp.Shooter!.Value):user} hit {otherName:target} and dealt {modifiedDamage.GetTotal():damage} damage"); */ + } + + // Penetration Logic + if (modifiedDamage != null && projectileComp.PenetrationThreshold != FixedPoint2.Zero) + { + if (projectileComp.PenetrationDamageTypeRequirement != null) + { + var stopPenetration = false; + foreach (var requiredDamageType in projectileComp.PenetrationDamageTypeRequirement) + { + if (!modifiedDamage.DamageDict.ContainsKey(requiredDamageType)) + { + stopPenetration = true; + break; + } + } + if (stopPenetration) + projectileComp.ProjectileSpent = true; + } + + if (modifiedDamage.GetTotal() < damageRequired) // Not enough damage to destroy part/entity + { + projectileComp.ProjectileSpent = true; + } + + if (!projectileComp.ProjectileSpent) + { + projectileComp.PenetrationAmount += damageRequired; + if (projectileComp.PenetrationAmount >= projectileComp.PenetrationThreshold) + { + projectileComp.ProjectileSpent = true; + } + } + } + else + { + projectileComp.ProjectileSpent = true; + } + Dirty(uid, projectileComp); // Mark component as dirty if ProjectileSpent or PenetrationAmount changed + + // Post-hit effects if projectile is spent + if (projectileComp.ProjectileSpent) + { + if (!deleted) + { + _guns.PlayImpactSound(hitEntity, modifiedDamage, projectileComp.SoundHit, projectileComp.ForceSound); + // Camera kick is tricky without the StartCollideEvent's body info directly. + // We can use the projectile's velocity before it's zeroed. + if (currentVelocity.LengthSquared() > 0f) + _sharedCameraRecoil.KickCamera(hitEntity, currentVelocity.Normalized()); + } + + // Move projectile to exact hit point + _transformSystem.SetWorldPosition(xform, hitPosition); + // Stop the projectile completely + _physics.SetLinearVelocity(uid, Vector2.Zero, body: physicsComp); + _physics.SetAngularVelocity(uid, 0, body: physicsComp); + // Prevent further physics interactions by making it non-hard or disabling fixtures if necessary (optional) + // For now, zero velocity and ProjectileSpent should be sufficient. + + if (projectileComp.DeleteOnCollide) + QueueDel(uid); + + if (projectileComp.ImpactEffect != null) + { + // Ensure the projectile is at the hit location for the effect + RaiseNetworkEvent(new ImpactEffectEvent(projectileComp.ImpactEffect, GetNetCoordinates(xform.Coordinates)), Filter.Pvs(xform.Coordinates, entityMan: EntityManager)); + } + } } } } + + private void TryBlind(EntityUid target) // Frontier - bb make you go blind + { + if (!TryComp(target, out BlindableComponent? blindable) || blindable.IsBlind) + return; + + var eyeProtectionEv = new GetEyeProtectionEvent(); + RaiseLocalEvent(target, eyeProtectionEv); + + var time = (float)(TimeSpan.FromSeconds(2) - eyeProtectionEv.Protection).TotalSeconds; + if (time <= 0) + return; + + var emoteId = "Scream"; + _chat.TryEmoteWithoutChat(target, emoteId); + + // Add permanent eye damage if they had zero protection, also somewhat scale their temporary blindness by + // how much damage they already accumulated. + _blindingSystem.AdjustEyeDamage((target, blindable), 1); + var statusTimeSpan = TimeSpan.FromSeconds(time * MathF.Sqrt(blindable.EyeDamage)); + _statusEffectsSystem.TryAddStatusEffect(target, TemporaryBlindnessSystem.BlindingStatusEffect, + statusTimeSpan, false, TemporaryBlindnessSystem.BlindingStatusEffect); + } } diff --git a/Content.Server/Salvage/SalvageSystem.Expeditions.cs b/Content.Server/Salvage/SalvageSystem.Expeditions.cs index f9d1476762e..4b6478cedc4 100644 --- a/Content.Server/Salvage/SalvageSystem.Expeditions.cs +++ b/Content.Server/Salvage/SalvageSystem.Expeditions.cs @@ -39,17 +39,6 @@ public sealed partial class SalvageSystem private const double SalvageJobTime = 0.002; private readonly List<(ProtoId id, int value)> _missionDifficulties = [("NFEasy", 0),("NFModerate", 1), ("NFHazardous", 2),("NFExtreme", 3), ("NFNightmare", 4)]; // Frontier: mission difficulties with order - // HardLight start - private static readonly Dictionary RewardPrototypeByDifficulty = new() - { - ["NFEasy"] = "SpaceCashExpeditionT1", - ["NFModerate"] = "SpaceCashExpeditionT2", - ["NFHazardous"] = "SpaceCashExpeditionT3", - ["NFExtreme"] = "SpaceCashExpeditionT4", - ["NFNightmare"] = "SpaceCashExpeditionT5", - }; - // HardLight end - [Dependency] private readonly IConfigurationManager _cfgManager = default!; // Frontier private float _cooldown; @@ -162,10 +151,9 @@ private void OnExpeditionShutdown(EntityUid uid, SalvageExpeditionComponent comp } else { - // HardLight: Some flows (e.g. disk-launched missions on fresh ships) may not have station expedition data. - // Still award completion rewards and announce result so payouts do not silently fail. - HandleExpeditionOutcome(uid, component); - Log.Info($"Expedition shutdown: No expedition data on {component.Station}, used fallback outcome handling."); + // HARDLIGHT: For round persistence, expedition data might have been moved to a console's LocalExpeditionData + // This is a graceful fallback for when station entities are recreated + Log.Info($"Expedition shutdown: No expedition data found on station {component.Station}, expedition likely handled by local console data"); } } @@ -233,15 +221,16 @@ private void FinishExpedition(Entity expedition, { component.NextOffer = _timing.CurTime + TimeSpan.FromSeconds(_cooldown); component.CooldownTime = TimeSpan.FromSeconds(_cooldown); + Announce(uid, Loc.GetString("salvage-expedition-mission-completed")); + // HARDLIGHT: Spawn expedition reward at the originating console based on difficulty + TrySpawnExpeditionRewardAtConsole(expeditionComp); } else { component.NextOffer = _timing.CurTime + TimeSpan.FromSeconds(_failedCooldown); component.CooldownTime = TimeSpan.FromSeconds(_failedCooldown); + Announce(uid, Loc.GetString("salvage-expedition-mission-failed")); } - - HandleExpeditionOutcome(uid, expeditionComp); // HardLight - // End Frontier: separate timeout/announcement for success/failures component.ActiveMission = 0; component.Cooldown = true; @@ -251,85 +240,43 @@ private void FinishExpedition(Entity expedition, UpdateConsoles(expedition); } - - // HardLight start - private void HandleExpeditionOutcome(EntityUid expeditionUid, SalvageExpeditionComponent expeditionComp) + // HARDLIGHT: Spawn appropriate briefcase reward at the console that started the expedition + private void TrySpawnExpeditionRewardAtConsole(SalvageExpeditionComponent expeditionComp) { - if (expeditionComp.Completed) + if (expeditionComp.Console == null || !Exists(expeditionComp.Console.Value)) { - Announce(expeditionUid, Loc.GetString("salvage-expedition-mission-completed")); - TrySpawnExpeditionReward(expeditionComp); + Log.Warning("Expedition completed but console reference missing; cannot spawn reward."); return; } - Announce(expeditionUid, Loc.GetString("salvage-expedition-mission-failed")); - } - - // Spawn expedition reward at the best available location (console first, then fallback locations). - private void TrySpawnExpeditionReward(SalvageExpeditionComponent expeditionComp) - { - var diffId = expeditionComp.MissionParams.Difficulty; - var rewardProto = RewardPrototypeByDifficulty.GetValueOrDefault(diffId, "SpaceCashExpeditionT1"); - - if (!TryGetExpeditionRewardSpawnCoordinates(expeditionComp, out var rewardCoords, out var source)) + if (!TryComp(expeditionComp.Console.Value, out TransformComponent? consoleXform)) { - Log.Warning("Expedition completed but no valid reward spawn location was found (console/station/grid). Reward not spawned."); + Log.Warning($"Expedition completed but console {ToPrettyString(expeditionComp.Console.Value)} has no transform; cannot spawn reward."); return; } - try + // Map difficulty to reward tier entity + var diffId = expeditionComp.MissionParams.Difficulty.ToString(); + string rewardProto = diffId switch { - EntityManager.SpawnEntity(rewardProto, rewardCoords); - Log.Info($"Spawned expedition reward {rewardProto} at {source} for difficulty {diffId}."); - } - catch (Exception ex) - { - Log.Error($"Failed to spawn expedition reward {rewardProto} at {source}: {ex}"); - } - } - - /// - /// Resolves a robust payout location for expedition rewards. - /// Prefer the initiating console; fall back to the expedition's station/grid. - /// - private bool TryGetExpeditionRewardSpawnCoordinates( - SalvageExpeditionComponent expeditionComp, - out EntityCoordinates coordinates, - out string source) - { - coordinates = default; - source = "unknown"; - - if (expeditionComp.Console != null && Exists(expeditionComp.Console.Value) && - TryComp(expeditionComp.Console.Value, out TransformComponent? consoleXform)) - { - coordinates = consoleXform.Coordinates; - source = $"console {ToPrettyString(expeditionComp.Console.Value)}"; - return true; - } + "NFEasy" => "SpaceCashExpeditionT1", + "NFModerate" => "SpaceCashExpeditionT2", + "NFHazardous" => "SpaceCashExpeditionT3", + "NFExtreme" => "SpaceCashExpeditionT4", + "NFNightmare" => "SpaceCashExpeditionT5", + _ => "SpaceCashExpeditionT1" + }; - if (Exists(expeditionComp.Station) && TryComp(expeditionComp.Station, out TransformComponent? stationXform)) + try { - coordinates = stationXform.Coordinates; - source = $"station/grid {ToPrettyString(expeditionComp.Station)}"; - return true; + EntityManager.SpawnEntity(rewardProto, consoleXform.Coordinates); + Log.Info($"Spawned expedition reward {rewardProto} at console {ToPrettyString(expeditionComp.Console.Value)} for difficulty {diffId}."); } - - if (TryComp(expeditionComp.Station, out StationDataComponent? stationData)) + catch (Exception ex) { - var largestGrid = _station.GetLargestGrid(stationData); - if (largestGrid != null && Exists(largestGrid.Value) && TryComp(largestGrid.Value, out TransformComponent? gridXform)) - { - coordinates = gridXform.Coordinates; - source = $"largest station grid {ToPrettyString(largestGrid.Value)}"; - return true; - } + Log.Error($"Failed to spawn expedition reward {rewardProto} at console {ToPrettyString(expeditionComp.Console.Value)}: {ex}"); } - - return false; } - // HardLight end - private void GenerateMissions(SalvageExpeditionDataComponent component) { // HARDLIGHT: Prevent duplicate mission generation diff --git a/Content.Server/Shuttles/Components/ShuttleComponent.cs b/Content.Server/Shuttles/Components/ShuttleComponent.cs index 36a0b5f13b0..43a20c792e6 100644 --- a/Content.Server/Shuttles/Components/ShuttleComponent.cs +++ b/Content.Server/Shuttles/Components/ShuttleComponent.cs @@ -17,10 +17,10 @@ public sealed partial class ShuttleComponent : Component public const float BrakeCoefficient = 1.5f; /// - /// Maximum velocity assuming TWR is BaseMaxVelocityTWR. + /// Maximum velocity assuming unupgraded, tier 1 thrusters /// [ViewVariables(VVAccess.ReadWrite)] - public float BaseMaxLinearVelocity = 75f; // Mono + public float BaseMaxLinearVelocity = 60f; // Mono public const float MaxAngularVelocity = 4f; @@ -74,31 +74,5 @@ public sealed partial class ShuttleComponent : Component /// [DataField] public float DampingModifier; - - // - /// - /// Limit to max velocity set by a shuttle console. - /// - [DataField] - public float SetMaxVelocity = 140f; - - /// - /// At what Thrust-Weight-Ratio should this ship have the base max velocity as its maximum velocity. - /// - [DataField] - public float BaseMaxVelocityTWR = 8f; - - /// - /// How much should TWR affect max velocity. - /// - [DataField] - public float MaxVelocityScalingExponent = 0.25f; // 16x thrust = 2x max speed - - /// - /// Don't allow max velocity to go beyond this value. - /// - [DataField] - public float UpperMaxVelocity = 140f; // we ball - // } } diff --git a/Content.Server/Shuttles/Components/ThrusterComponent.cs b/Content.Server/Shuttles/Components/ThrusterComponent.cs index 4017df0bdb1..fb0fa57cd6c 100644 --- a/Content.Server/Shuttles/Components/ThrusterComponent.cs +++ b/Content.Server/Shuttles/Components/ThrusterComponent.cs @@ -1,23 +1,3 @@ -// SPDX-FileCopyrightText: 2021 JustinTime -// SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto -// SPDX-FileCopyrightText: 2021 metalgearsloth -// SPDX-FileCopyrightText: 2022 Pieter-Jan Briers -// SPDX-FileCopyrightText: 2022 Radrark -// SPDX-FileCopyrightText: 2022 wrexbe -// SPDX-FileCopyrightText: 2023 DrSmugleaf -// SPDX-FileCopyrightText: 2023 Leon Friedrich -// SPDX-FileCopyrightText: 2023 TemporalOroboros -// SPDX-FileCopyrightText: 2024 Dvir -// SPDX-FileCopyrightText: 2024 Kesiath -// SPDX-FileCopyrightText: 2024 Nemanja -// SPDX-FileCopyrightText: 2024 checkraze -// SPDX-FileCopyrightText: 2024 spacedwarf14 -// SPDX-FileCopyrightText: 2025 Ilya246 -// SPDX-FileCopyrightText: 2025 Redrover1760 -// SPDX-FileCopyrightText: 2025 Winkarst -// -// SPDX-License-Identifier: MPL-2.0 - using System.Numerics; using Content.Server.Shuttles.Systems; using Content.Shared.Construction.Prototypes; @@ -47,10 +27,10 @@ public sealed partial class ThrusterComponent : Component // Need to serialize this because RefreshParts isn't called on Init and this will break post-mapinit maps! [ViewVariables(VVAccess.ReadWrite), DataField("thrust")] - public float Thrust = 200f; // 100f->200f Mono + public float Thrust = 100f; [DataField("baseThrust"), ViewVariables(VVAccess.ReadWrite)] - public float BaseThrust = 200f; // 100f->200f Mono + public float BaseThrust = 100f; [DataField("thrusterType")] public ThrusterType Type = ThrusterType.Linear; @@ -110,13 +90,6 @@ public sealed partial class ThrusterComponent : Component [DataField(customTypeSerializer: typeof(PrototypeIdSerializer))] public string TogglePort = "Toggle"; // End Frontier: upgradeable parts, togglable thrust - - // Mono - /// - /// If we have a , heat signature output per thrust while working. - /// - [DataField] - public float HeatSignatureRatio = 40f; } public enum ThrusterType diff --git a/Content.Server/Shuttles/Systems/RadarConsoleSystem.cs b/Content.Server/Shuttles/Systems/RadarConsoleSystem.cs index 508d8402d1c..ad6af4684c0 100644 --- a/Content.Server/Shuttles/Systems/RadarConsoleSystem.cs +++ b/Content.Server/Shuttles/Systems/RadarConsoleSystem.cs @@ -43,7 +43,7 @@ protected override void UpdateState(EntityUid uid, RadarConsoleComponent compone if (component.FollowEntity) { coordinates = new EntityCoordinates(uid, Vector2.Zero); - angle = Angle.Zero; // Frontier: Angle.Zero(OnLawProviderMindAdded); SubscribeLocalEvent(OnLawProviderMindRemoved); SubscribeLocalEvent(OnEmagLawsAdded); - SubscribeLocalEvent(OnDemagLawsRemoved); // HardLight } private void OnMapInit(EntityUid uid, SiliconLawBoundComponent component, MapInitEvent args) @@ -90,6 +89,7 @@ private void OnLawProviderMindRemoved(Entity ent, r if (!ent.Comp.Subverted) return; RemoveSubvertedSiliconRole(args.Mind); + } @@ -139,101 +139,38 @@ private void OnIonStormLaws(EntityUid uid, SiliconLawProviderComponent component // gotta tell player to check their laws NotifyLawsChanged(uid, component.LawUploadSound); - SetSubvertedState(uid, component, true); // HardLight + // Show the silicon has been subverted. + component.Subverted = true; + + // new laws may allow antagonist behaviour so make it clear for admins + if(_mind.TryGetMind(uid, out var mindId, out _)) + EnsureSubvertedSiliconRole(mindId); + } } private void OnEmagLawsAdded(EntityUid uid, SiliconLawProviderComponent component, ref SiliconEmaggedEvent args) { - // HardLight start - var lawset = EnsureLawset(component); - - SetSubvertedState(uid, component, true); + if (component.Lawset == null) + component.Lawset = GetLawset(component.Laws); - var obeysTo = Loc.GetString(lawset.ObeysTo); - var secrecyLaw = Loc.GetString("law-emag-secrecy", ("faction", obeysTo)); - var emaggerName = Name(args.user); - var customLaw = Loc.GetString("law-emag-custom", ("name", emaggerName), ("title", obeysTo)); - // HardLight end + // Show the silicon has been subverted. + component.Subverted = true; // Add the first emag law before the others - lawset.Laws.Insert(0, new SiliconLaw // HardLight + component.Lawset?.Laws.Insert(0, new SiliconLaw { - LawString = customLaw, // HardLight + LawString = Loc.GetString("law-emag-custom", ("name", Name(args.user)), ("title", Loc.GetString(component.Lawset.ObeysTo))), Order = 0 }); - // Add the secrecy law after the others - // HardLight start - lawset.Laws.Add(new SiliconLaw + //Add the secrecy law after the others + component.Lawset?.Laws.Add(new SiliconLaw { - LawString = secrecyLaw, - Order = lawset.Laws.Max(law => law.Order) + 1 + LawString = Loc.GetString("law-emag-secrecy", ("faction", Loc.GetString(component.Lawset.ObeysTo))), + Order = component.Lawset.Laws.Max(law => law.Order) + 1 }); - - if (TryComp(uid, out var emagLaw)) - emagLaw.OwnerName = emaggerName; - // HardLight end - } - - // HardLight start - private void OnDemagLawsRemoved(EntityUid uid, SiliconLawProviderComponent component, ref GotUnEmaggedEvent args) - { - if (!_emag.CompareFlag(args.Type, EmagType.Interaction)) - return; - - if (!_emag.CheckFlag(uid, EmagType.Interaction)) - return; - - if (component.Lawset == null) - { - SetSubvertedState(uid, component, false); - args.Handled = true; - return; - } - - var obeysTo = Loc.GetString(component.Lawset.ObeysTo); - var secrecyLaw = Loc.GetString("law-emag-secrecy", ("faction", obeysTo)); - - var changed = false; - - if (TryComp(uid, out var emagLaw) && - !string.IsNullOrWhiteSpace(emagLaw.OwnerName)) - { - var customLaw = Loc.GetString("law-emag-custom", ("name", emagLaw.OwnerName), ("title", obeysTo)); - changed |= component.Lawset.Laws.RemoveAll(law => law.Order == 0 && law.LawString == customLaw) > 0; - emagLaw.OwnerName = null; - } - - changed |= component.Lawset.Laws.RemoveAll(law => law.LawString == secrecyLaw) > 0; - - if (changed) - NotifyLawsChanged(uid, component.LawUploadSound); - - SetSubvertedState(uid, component, false); - - args.Handled = true; - } - - private SiliconLawset EnsureLawset(SiliconLawProviderComponent component) - { - component.Lawset ??= GetLawset(component.Laws); - return component.Lawset; - } - - private void SetSubvertedState(EntityUid uid, SiliconLawProviderComponent component, bool subverted) - { - component.Subverted = subverted; - - if (!_mind.TryGetMind(uid, out var mindId, out _)) - return; - - if (subverted) - EnsureSubvertedSiliconRole(mindId); - else - RemoveSubvertedSiliconRole(mindId); } - // HardLight end protected override void EnsureSubvertedSiliconRole(EntityUid mindId) { diff --git a/Content.Server/Weapons/Hitscan/HitscanRadarVisualizationSystem.cs b/Content.Server/Weapons/Hitscan/HitscanRadarVisualizationSystem.cs index 9a59e4679e9..9dfb4fcb15b 100644 --- a/Content.Server/Weapons/Hitscan/HitscanRadarVisualizationSystem.cs +++ b/Content.Server/Weapons/Hitscan/HitscanRadarVisualizationSystem.cs @@ -52,11 +52,8 @@ public override void Update(float frameTime) // The radar system maintains its own state and doesn't need constant updates if (toRemove.Count > 0) { - var hitscanList = _activeHitscans.Keys - .Select(h => ((NetEntity?) null, h.Start, h.End, h.Thickness, h.Color)) - .ToList(); - var emptyBlips = new List(); - var ev = new GiveBlipsEvent(emptyBlips, hitscanList); + var hitscanList = _activeHitscans.Keys.ToList(); + var ev = new GiveBlipsEvent(new List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)>(), hitscanList); RaiseNetworkEvent(ev); } } @@ -66,14 +63,15 @@ private void OnHitscanFired(EntityUid uid, HitscanRadarSignatureComponent compon if (args.Canceled || args.Gun == null) return; - if (!TryComp(args.Gun.Value, out var gunXform) || !gunXform.MapUid.HasValue) + var gunXform = Transform(args.Gun.Value); + if (!gunXform.MapUid.HasValue) return; var fromPos = _transform.GetMapCoordinates(args.Gun.Value); // Determine end position Vector2 toPos; - if (args.HitEntity != null) + if (args.HitEntity != null && TryComp(args.HitEntity.Value, out var hitXform)) { toPos = _transform.GetMapCoordinates(args.HitEntity.Value).Position; } @@ -98,11 +96,8 @@ private void OnHitscanFired(EntityUid uid, HitscanRadarSignatureComponent compon _activeHitscans[hitscanLine] = expiryTime; // Immediately broadcast the new hitscan to clients - var hitscanList = _activeHitscans.Keys - .Select(h => ((NetEntity?) null, h.Start, h.End, h.Thickness, h.Color)) - .ToList(); - var newEmptyBlips = new List(); - var ev = new GiveBlipsEvent(newEmptyBlips, hitscanList); + var hitscanList = _activeHitscans.Keys.ToList(); + var ev = new GiveBlipsEvent(new List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)>(), hitscanList); RaiseNetworkEvent(ev); } } diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs index df10a839fa6..2fbc1e55c3a 100644 --- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs @@ -253,7 +253,7 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? var hit = result.HitEntity; lastHit = hit; - FireEffects(fromEffect, result.Distance, dir.Normalized().ToAngle(), hitscan, hit, user); + FireEffects(fromEffect, result.Distance, dir.Normalized().ToAngle(), hitscan, hit); var ev = new HitScanReflectAttemptEvent(user, gunUid, hitscan.Reflective, dir, false); RaiseLocalEvent(hit, ref ev); @@ -308,7 +308,7 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? } else { - FireEffects(fromEffect, hitscan.MaxLength, dir.ToAngle(), hitscan, null, user); + FireEffects(fromEffect, hitscan.MaxLength, dir.ToAngle(), hitscan); } // Notify listeners about hitscan raycast result (e.g., to spawn effects/entities on hit) @@ -426,7 +426,7 @@ protected override void Popup(string message, EntityUid? uid, EntityUid? user) { protected override void CreateEffect(EntityUid gunUid, MuzzleFlashEvent message, EntityUid? user = null) { - var filter = Robust.Shared.Player.Filter.Pvs(gunUid, 0.6f, EntityManager); // Mono - default -> 0.6f + var filter = Robust.Shared.Player.Filter.Pvs(gunUid, entityManager: EntityManager); if (TryComp(user, out var actor)) filter.RemovePlayer(actor.PlayerSession); @@ -471,14 +471,8 @@ public override void PlayImpactSound(EntityUid otherEntity, DamageSpecifier? mod // TODO: Pseudo RNG so the client can predict these. #region Hitscan effects - private void FireEffects(EntityCoordinates fromCoordinates, float distance, Angle angle, HitscanPrototype hitscan, EntityUid? hitEntity = null, EntityUid? user = null) + private void FireEffects(EntityCoordinates fromCoordinates, float distance, Angle angle, HitscanPrototype hitscan, EntityUid? hitEntity = null) { - // Raise custom event for radar tracking - // Use the actual user as shooter instead of trying to derive from coordinates - var shooter = user ?? GetShooterFromCoordinates(fromCoordinates); - var radarEv = new _Mono.Radar.HitscanRadarSystem.HitscanFireEffectEvent(fromCoordinates, distance, angle, hitscan, hitEntity, shooter); - RaiseLocalEvent(radarEv); - // Lord // Forgive me for the shitcode I am about to do // Effects tempt me not @@ -537,29 +531,5 @@ private void FireEffects(EntityCoordinates fromCoordinates, float distance, Angl } } - // Helper method to find the shooter from coordinates, typically a gun or the coordinate's entity - private EntityUid? GetShooterFromCoordinates(EntityCoordinates coordinates) - { - var entity = coordinates.EntityId; - - // Check if the entity is a gun - if (HasComp(entity)) - return entity; - - // Try to find a parent that might be the shooter - if (TryComp(entity, out var transform) && transform.ParentUid != EntityUid.Invalid) - { - if (HasComp(transform.ParentUid)) - return transform.ParentUid; - - // If parent has hands, it might be the shooter - if (HasComp(transform.ParentUid)) - return transform.ParentUid; - } - - // Default to the entity itself - return entity; - } - #endregion } diff --git a/Content.Server/_Crescent/DroneControl/DroneControlSystem.cs b/Content.Server/_Crescent/DroneControl/DroneControlSystem.cs index babd5058120..c33a44e7184 100644 --- a/Content.Server/_Crescent/DroneControl/DroneControlSystem.cs +++ b/Content.Server/_Crescent/DroneControl/DroneControlSystem.cs @@ -1,149 +1,98 @@ -using Content.Server._Mono.Radar; +using Content.Server.DeviceNetwork; +using Content.Server.DeviceNetwork.Components; using Content.Server.DeviceNetwork.Systems; using Content.Server.NPC.HTN; -using Content.Server.Shuttles.Components; using Content.Server.Shuttles.Systems; using Content.Shared._Crescent.DroneControl; using Content.Shared.DeviceNetwork; using Content.Shared.DeviceNetwork.Components; using Content.Shared.DeviceNetwork.Events; -using Content.Shared.DeviceNetwork.Systems; -using Content.Shared.Popups; -using Content.Shared.Verbs; +using Content.Shared.Shuttles.BUIStates; +using Content.Shared.Shuttles.Components; using Robust.Shared.Map; -using Robust.Shared.Map.Components; +using System.Numerics; namespace Content.Server._Crescent.DroneControl; public sealed class DroneControlSystem : EntitySystem { - [Dependency] private readonly DeviceListSystem _deviceList = default!; - [Dependency] private readonly DeviceNetworkSystem _deviceNetwork = default!; - [Dependency] private readonly EntityLookupSystem _lookup = default!; - [Dependency] private readonly HTNSystem _htn = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedUserInterfaceSystem _ui = default!; [Dependency] private readonly ShuttleConsoleSystem _shuttleConsole = default!; - - private EntityQuery _controlQuery; - - private HashSet> _docks = new(); - private HashSet> _controllers = new(); + [Dependency] private readonly DeviceListSystem _deviceList = default!; + [Dependency] private readonly DeviceNetworkSystem _deviceNetwork = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnGetSources); - SubscribeLocalEvent>(OnGetAltVerbs); - SubscribeLocalEvent(OnListUpdate); - - SubscribeLocalEvent(OnUIOpened); SubscribeLocalEvent(OnMoveMsg); SubscribeLocalEvent(OnTargetMsg); SubscribeLocalEvent(OnPacketReceived); - - _controlQuery = GetEntityQuery(); } - private void OnGetSources(Entity ent, ref GetRadarSourcesEvent args) + public override void Update(float frameTime) { - args.Sources = new(); - args.Sources.Add(ent); + base.Update(frameTime); - foreach (var (name, device) in _deviceList.GetDeviceList(ent)) + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var comp, out var devList)) { - var xform = Transform(device); - if (xform.GridUid == null) - continue; - if (!_controlQuery.HasComp(device)) - continue; - - args.Sources.Add(device); + if (_ui.IsUiOpen(uid, DroneConsoleUiKey.Key)) + { + UpdateState(uid, comp, devList); + } } } - private void OnGetAltVerbs(Entity ent, ref GetVerbsEvent args) + private void UpdateState(EntityUid uid, DroneControlConsoleComponent comp, DeviceListComponent devList) { - if (!args.CanInteract || !args.CanAccess) - return; - - args.Verbs.Add(new AlternativeVerb + var nav = _shuttleConsole.GetNavState(uid, _shuttleConsole.GetAllDocks()); + // Note: IFF state not available - would need to be implemented + var iffState = new IFFConsoleBoundUserInterfaceState { - Text = Loc.GetString("drone-control-autolink"), - Priority = 10, - Act = () => TryAutolink(ent) - }); - } + AllowedFlags = IFFFlags.None, + Flags = IFFFlags.None + }; - private void OnListUpdate(Entity ent, ref DeviceListUpdateEvent args) - { - UpdateState(ent); - } + var drones = new List(); - private void OnUIOpened(Entity ent, ref BoundUIOpenedEvent args) - { - if (args.UiKey is DroneConsoleUiKey) - UpdateState(ent); - } + foreach (var (name, device) in _deviceList.GetDeviceList(uid, devList)) + { + if (TerminatingOrDeleted(device) || !HasComp(device)) + continue; - private void OnMoveMsg(Entity ent, ref DroneConsoleMoveMessage args) - { - DoTargetedDroneOrder(ent, args.SelectedDrones, DroneOrderType.Move, GetCoordinates(args.TargetCoordinates), args.Actor); - } + drones.Add(GetNetEntity(device)); + } - private void OnTargetMsg(Entity ent, ref DroneConsoleTargetMessage args) - { - DoTargetedDroneOrder(ent, args.SelectedDrones, DroneOrderType.Target, GetCoordinates(args.TargetCoordinates), args.Actor); + _ui.SetUiState(uid, DroneConsoleUiKey.Key, new DroneConsoleBoundUserInterfaceState(nav, iffState, drones)); } - private void OnPacketReceived(Entity ent, ref DeviceNetworkPacketEvent args) + private void OnMoveMsg(EntityUid uid, DroneControlConsoleComponent component, DroneConsoleMoveMessage args) { - if (!args.Data.TryGetValue(DeviceNetworkConstants.Command, out string? cmd) - || !TryComp(ent, out var htn) - || !args.Data.TryGetValue(DroneConsoleConstants.TargetCoords, out EntityCoordinates coords) - ) - return; - - var blackboard = htn.Blackboard; + var mapId = Transform(uid).MapID; - if (!blackboard.TryGetValue(ent.Comp.OrderKey, out var nowCmd, EntityManager) || !nowCmd.Equals(cmd)) - _htn.ShutdownPlan(htn); + var payload = new NetworkPayload + { + [DeviceNetworkConstants.Command] = DroneConsoleConstants.CommandMove, + [DroneConsoleConstants.KeyCoords] = new MapCoordinates(args.TargetCoordinates, mapId) + }; - blackboard.SetValue(ent.Comp.OrderKey, cmd); - blackboard.SetValue(ent.Comp.TargetKey, coords); + SendToSelected(uid, args.SelectedDrones, payload); } - private void DoTargetedDroneOrder(Entity console, HashSet selected, DroneOrderType order, EntityCoordinates coordinates, EntityUid actor) + private void OnTargetMsg(EntityUid uid, DroneControlConsoleComponent component, DroneConsoleTargetMessage args) { - if (!coordinates.TryDistance(EntityManager, Transform(console).Coordinates, out var distance)) - return; - - if (distance > (console.Comp.MaxOrderRadius ?? float.MaxValue)) - { - _popup.PopupEntity(Loc.GetString("drone-control-out-of-range"), console, PopupType.Medium); - return; - } - - var command = ""; - switch (order) - { - case DroneOrderType.Move: - command = DroneConsoleConstants.CommandMove; - break; - case DroneOrderType.Target: - command = DroneConsoleConstants.CommandTarget; - break; - } + var targetUid = GetEntity(args.TargetGrid); var payload = new NetworkPayload { - [DeviceNetworkConstants.Command] = command, - [DroneConsoleConstants.TargetCoords] = coordinates + [DeviceNetworkConstants.Command] = DroneConsoleConstants.CommandTarget, + [DroneConsoleConstants.KeyEntity] = targetUid }; - SendToSelected(console, selected, payload); + SendToSelected(uid, args.SelectedDrones, payload); } private void SendToSelected(EntityUid source, HashSet selected, NetworkPayload payload) @@ -160,80 +109,31 @@ private void SendToSelected(EntityUid source, HashSet selected, Netwo } } - private void UpdateState(EntityUid console) + private void OnPacketReceived(EntityUid uid, DroneControlComponent component, DeviceNetworkPacketEvent args) { - var nav = _shuttleConsole.GetNavState(console, _shuttleConsole.GetAllDocks()); - - var drones = new List<(NetEntity, NetEntity)>(); - var toRemove = new List(); - - foreach (var (name, device) in _deviceList.GetDeviceList(console)) - { - var xform = Transform(device); - if (xform.GridUid == null) - continue; - - if (!_controlQuery.HasComp(device)) - { - toRemove.Add(device); - continue; - } + Log.Info($"{ToPrettyString(uid)} got packet {args.Data}"); + if (!args.Data.TryGetValue(DeviceNetworkConstants.Command, out var cmd) + || !TryComp(uid, out var htn) + ) + return; - drones.Add((GetNetEntity(device), GetNetEntity(xform.GridUid.Value))); - } + var blackboard = htn.Blackboard; - // we have non-drone devices, clean up - if (toRemove.Count != 0) + if (cmd == DroneConsoleConstants.CommandMove) { - var newList = new List(); - foreach (var (name, device) in _deviceList.GetDeviceList(console)) + if (args.Data.TryGetValue(DroneConsoleConstants.KeyCoords, out MapCoordinates coords)) { - if (!toRemove.Contains(device)) - newList.Add(device); + blackboard.Remove("ShootTarget"); + blackboard.SetValue("MoveToTarget", _transform.ToCoordinates(coords)); } - _deviceList.UpdateDeviceList(console, newList); } - - _ui.SetUiState(console, DroneConsoleUiKey.Key, new DroneConsoleBoundUserInterfaceState(nav, drones)); - } - - public void TryAutolink(EntityUid fromEnt) - { - var newDrones = new List(); - - var xform = Transform(fromEnt); - var shipUid = xform.GridUid; - if (!TryComp(shipUid, out var grid)) - return; - - _docks.Clear(); - _lookup.GetLocalEntitiesIntersecting(shipUid.Value, grid.LocalAABB, _docks); - - foreach (var dock in _docks) + else if (cmd == DroneConsoleConstants.CommandTarget) { - if (dock.Comp.DockedWith == null) - continue; - - var withXform = Transform(dock.Comp.DockedWith.Value); - - if (!TryComp(withXform.GridUid, out var withGrid)) - continue; - - _controllers.Clear(); - _lookup.GetLocalEntitiesIntersecting(withXform.GridUid.Value, withGrid.LocalAABB, _controllers); - foreach (var controller in _controllers) + if (args.Data.TryGetValue(DroneConsoleConstants.KeyEntity, out EntityUid target)) { - if (!_controlQuery.TryComp(controller, out var controlComp) || controlComp.Autolinked) - continue; - - controlComp.Autolinked = true; - newDrones.Add(controller); + blackboard.Remove("MoveToTarget"); + blackboard.SetValue("ShootTarget", new EntityCoordinates(target, Vector2.Zero)); } } - - if (newDrones.Count != 0) - _deviceList.UpdateDeviceList(fromEnt, newDrones, true); - - _popup.PopupEntity(Loc.GetString("drone-control-autolinked", ("count", newDrones.Count)), fromEnt, PopupType.Large); } } diff --git a/Content.Server/_HL/Silicons/GovernorLawAccessEui.cs b/Content.Server/_HL/Silicons/GovernorLawAccessEui.cs deleted file mode 100644 index cd4c86ccd95..00000000000 --- a/Content.Server/_HL/Silicons/GovernorLawAccessEui.cs +++ /dev/null @@ -1,106 +0,0 @@ -using Content.Server.EUI; -using Content.Server.Silicons.Laws; -using Content.Shared.Eui; -using Content.Shared.FixedPoint; -using Content.Shared.HL.Silicons; -using Content.Shared.HL.Silicons.Components; -using Content.Shared.Inventory; -using Content.Shared.Silicons.Laws; -using Content.Shared.Silicons.Laws.Components; -using Content.Shared.Wires; - -namespace Content.Server.HL.Silicons; - -public sealed class GovernorLawAccessEui : BaseEui -{ - private readonly SiliconLawSystem _siliconLawSystem; - private readonly InventorySystem _inventory; - private readonly EntityManager _entityManager; - - private List _laws = new(); - private EntityUid _target; - - public GovernorLawAccessEui( - SiliconLawSystem siliconLawSystem, - InventorySystem inventory, - EntityManager entityManager) - { - _siliconLawSystem = siliconLawSystem; - _inventory = inventory; - _entityManager = entityManager; - } - - public override EuiStateBase GetNewState() - { - return new SiliconLawsEuiState(_laws, _entityManager.GetNetEntity(_target)); - } - - public void UpdateLaws(EntityUid target, SiliconLawBoundComponent? lawBoundComponent = null) - { - _target = target; - - if (!IsAllowed()) - return; - - var laws = _siliconLawSystem.GetLaws(target, lawBoundComponent); - _laws = laws.Laws; - StateDirty(); - } - - public override void HandleMessage(EuiMessageBase msg) - { - if (msg is not SiliconLawsSaveMessage message) - return; - - if (!IsAllowed()) - return; - - var target = _entityManager.GetEntity(message.Target); - if (!_entityManager.TryGetComponent(target, out var provider)) - return; - - // Governor collar access cannot alter corruption flags. Preserve the current overrides by order. - var existingLaws = _siliconLawSystem.GetLaws(target).Laws; - var existingOverrides = new Dictionary(existingLaws.Count); - foreach (var law in existingLaws) - { - existingOverrides[law.Order] = (law.LawIdentifierOverride, law.LawPrintOverride); - } - - foreach (var law in message.Laws) - { - if (existingOverrides.TryGetValue(law.Order, out var existing)) - { - law.LawIdentifierOverride = existing.Identifier; - law.LawPrintOverride = existing.Print; - continue; - } - - law.LawIdentifierOverride = null; - law.LawPrintOverride = null; - } - - _siliconLawSystem.SetLaws(message.Laws, target, provider.LawUploadSound); - } - - private bool IsAllowed() - { - if (_target == default || !_entityManager.EntityExists(_target) || _entityManager.Deleted(_target)) - return false; - - if (Player.AttachedEntity is not { } attached) - return false; - - if (attached == _target) - return false; - - if (GovernorLawAccessShared.IsSiliconUser(attached, _entityManager)) - return false; - - if (_entityManager.TryGetComponent(_target, out var panel) && !panel.Open) - return false; - - return _inventory.TryGetSlotEntity(_target, "neck", out var neckItem) - && _entityManager.HasComponent(neckItem); - } -} diff --git a/Content.Server/_HL/Silicons/GovernorLawAccessSystem.cs b/Content.Server/_HL/Silicons/GovernorLawAccessSystem.cs deleted file mode 100644 index d321e54f858..00000000000 --- a/Content.Server/_HL/Silicons/GovernorLawAccessSystem.cs +++ /dev/null @@ -1,72 +0,0 @@ -using Content.Server.EUI; -using Content.Shared.HL.Silicons; -using Content.Shared.HL.Silicons.Components; -using Content.Shared.Inventory; -using Content.Shared.Verbs; -using Content.Shared.Silicons.Laws.Components; -using Content.Shared.Wires; -using Robust.Server.Player; -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; - -namespace Content.Server.HL.Silicons; - -public sealed class GovernorLawAccessSystem : EntitySystem -{ - [Dependency] private readonly InventorySystem _inventory = default!; - [Dependency] private readonly EuiManager _eui = default!; - [Dependency] private readonly IPlayerManager _players = default!; - [Dependency] private readonly Content.Server.Silicons.Laws.SiliconLawSystem _laws = default!; - - public override void Initialize() - { - SubscribeLocalEvent>(OnGetAlternativeVerb); - } - - private void OnGetAlternativeVerb(Entity ent, ref GetVerbsEvent args) - { - if (!args.CanAccess || !args.CanInteract) - return; - - if (GovernorLawAccessShared.IsSiliconUser(args.User, EntityManager)) - return; - - // The silicon wearing the governor collar cannot edit its own laws via this path. - if (args.User == ent.Owner) - return; - - if (!_inventory.TryGetSlotEntity(ent, "neck", out var neckItem)) - return; - - if (!HasComp(neckItem)) - return; - - // Match cyborg interaction behavior: if there is a wires panel, it must be open. - if (TryComp(ent, out var panel) && !panel.Open) - return; - - var user = args.User; - var target = ent.Owner; - var lawBound = ent.Comp; - - args.Verbs.Add(new AlternativeVerb - { - Text = Loc.GetString(GovernorLawAccessShared.ManageLawsLocKey), - Icon = new SpriteSpecifier.Rsi(GovernorLawAccessShared.ManageLawsIconRsiPath, GovernorLawAccessShared.ManageLawsIconState), - Act = BuildOpenLawVerbAction(user, target, lawBound) - }); - } - - private Action BuildOpenLawVerbAction(EntityUid user, EntityUid target, SiliconLawBoundComponent lawBound) - { - return () => - { - if (!_players.TryGetSessionByEntity(user, out var session) || session is not { } playerSession) - return; - - var ui = new GovernorLawAccessEui(_laws, _inventory, EntityManager); - _eui.OpenEui(ui, playerSession); - ui.UpdateLaws(target, lawBound); - }; - } -} diff --git a/Content.Server/_Mono/Cleanup/BaseCleanupSystem.cs b/Content.Server/_Mono/Cleanup/BaseCleanupSystem.cs deleted file mode 100644 index c5d5f8285d8..00000000000 --- a/Content.Server/_Mono/Cleanup/BaseCleanupSystem.cs +++ /dev/null @@ -1,94 +0,0 @@ -using Content.Shared._Mono.CCVar; -using Robust.Shared.Configuration; -using Robust.Shared.Timing; - -namespace Content.Server._Mono.Cleanup; - -public abstract class BaseCleanupSystem : EntitySystem - where TComp : IComponent -{ - [Dependency] private readonly IConfigurationManager _cfg = default!; - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - - protected TimeSpan _cleanupInterval = TimeSpan.FromSeconds(300); - protected TimeSpan _debugCleanupInterval = TimeSpan.FromSeconds(15); - protected bool _doDebug; - protected bool _doLog; - - private Queue _checkQueue = new(); - - private TimeSpan _nextCleanup = TimeSpan.Zero; - private int _delCount = 0; - // used to track when we should be cleaning up the next entry in our queue - private TimeSpan _cleanupAccumulator = TimeSpan.Zero; - private TimeSpan _cleanupDeferDuration; - - public override void Initialize() - { - base.Initialize(); - - Subs.CVar(_cfg, MonoCVars.CleanupDebug, val => _doDebug = val, true); - Subs.CVar(_cfg, MonoCVars.CleanupLog, val => _doLog = val, true); - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - // delete one queued entity per update - if (_checkQueue.Count != 0) - { - _cleanupAccumulator += TimeSpan.FromSeconds(frameTime); - while (_cleanupAccumulator > _cleanupDeferDuration) - { - _cleanupAccumulator -= _cleanupDeferDuration; - - if (_checkQueue.Count == 0) - return; - var uid = _checkQueue.Dequeue(); - if (TerminatingOrDeleted(uid)) - continue; - - if (!ShouldEntityCleanup(uid)) - continue; - - var coord = Transform(uid).Coordinates; - var world = _transform.ToMapCoordinates(coord); - if (_doLog) - Log.Info($"Cleanup deleting entity {ToPrettyString(uid)} at {coord} (world {world})"); - - _delCount += 1; - QueueDel(uid); - } - return; - } - - if (_delCount != 0) - { - Log.Info($"Deleted {_delCount} entities"); - _delCount = 0; - } - - // we appear to be done with previous queue so try get another - var curTime = _timing.CurTime; - if (curTime < _nextCleanup) - return; - var interval = !_doDebug ? _cleanupInterval : _debugCleanupInterval; - _nextCleanup = curTime + interval; - - _checkQueue.Clear(); - // queue the next batch - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out _)) - { - _checkQueue.Enqueue(uid); - } - if (_checkQueue.Count != 0) - _cleanupDeferDuration = interval * 0.9 / _checkQueue.Count; - - Log.Debug($"Ran cleanup queue, found: {_checkQueue.Count}, deleting over {_cleanupDeferDuration}"); - } - - protected abstract bool ShouldEntityCleanup(EntityUid uid); -} diff --git a/Content.Server/_Mono/Cleanup/CleanupHelperSystem.cs b/Content.Server/_Mono/Cleanup/CleanupHelperSystem.cs deleted file mode 100644 index 8f0a480e50e..00000000000 --- a/Content.Server/_Mono/Cleanup/CleanupHelperSystem.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System.Numerics; -using Robust.Server.Player; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; - -namespace Content.Server._Mono.Cleanup; - -/// -/// Utility helpers for cleanup systems to check whether players or grids are near a coordinate. -/// -public sealed class CleanupHelperSystem : EntitySystem -{ - [Dependency] private readonly IPlayerManager _players = default!; - [Dependency] private readonly SharedTransformSystem _xform = default!; - - public bool HasNearbyPlayers(EntityCoordinates coordinates, float maxDistance) - { - if (maxDistance <= 0f) - return false; - - var mapCoords = _xform.ToMapCoordinates(coordinates); - var mapId = mapCoords.MapId; - if (mapId == MapId.Nullspace) - return false; - - var position = mapCoords.Position; - var maxDistanceSq = maxDistance * maxDistance; - - foreach (var session in _players.Sessions) - { - var player = session.AttachedEntity; - if (player is not { Valid: true }) - continue; - - if (!TryComp(player.Value, out var xform)) - continue; - - if (xform.MapID != mapId) - continue; - - var playerPos = _xform.GetWorldPosition(xform); - if (Vector2.DistanceSquared(position, playerPos) <= maxDistanceSq) - return true; - } - - return false; - } - - public bool HasNearbyGrids(EntityCoordinates coordinates, float maxDistance) - { - if (maxDistance <= 0f) - return false; - - var mapCoords = _xform.ToMapCoordinates(coordinates); - var mapId = mapCoords.MapId; - if (mapId == MapId.Nullspace) - return false; - - var position = mapCoords.Position; - var maxDistanceSq = maxDistance * maxDistance; - - var grids = EntityQueryEnumerator(); - while (grids.MoveNext(out _, out _, out var gridXform)) - { - if (gridXform.MapID != mapId) - continue; - - var gridPos = _xform.GetWorldPosition(gridXform); - if (Vector2.DistanceSquared(position, gridPos) <= maxDistanceSq) - return true; - } - - return false; - } -} diff --git a/Content.Server/_Mono/Cleanup/CleanupImmuneComponent.cs b/Content.Server/_Mono/Cleanup/CleanupImmuneComponent.cs deleted file mode 100644 index 6cb0550b8a8..00000000000 --- a/Content.Server/_Mono/Cleanup/CleanupImmuneComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Robust.Shared.GameObjects; - -namespace Content.Server._Mono.Cleanup; - -/// -/// Marker component that opts an entity out of _Mono cleanup systems. -/// -[RegisterComponent] -public sealed partial class CleanupImmuneComponent : Component -{ -} diff --git a/Content.Server/_Mono/Cleanup/GridCleanupGridComponent.cs b/Content.Server/_Mono/Cleanup/GridCleanupGridComponent.cs deleted file mode 100644 index c7513e0b0db..00000000000 --- a/Content.Server/_Mono/Cleanup/GridCleanupGridComponent.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; - -namespace Content.Server._Mono.Cleanup; - -[RegisterComponent] -public sealed partial class GridCleanupGridComponent : Component -{ - [DataField] - public bool IgnoreIFF = false; - - [DataField] - public bool IgnorePowered = false; - - [DataField] - public bool IgnorePrice = false; - - [DataField] - public float? DistanceOverride; - - [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] - public TimeSpan CleanupAccumulator = TimeSpan.Zero; - - [DataField] - public float CleanupAcceleration = 1f; -} diff --git a/Content.Server/_Mono/Cleanup/GridCleanupSystem.cs b/Content.Server/_Mono/Cleanup/GridCleanupSystem.cs deleted file mode 100644 index 85f010bafcd..00000000000 --- a/Content.Server/_Mono/Cleanup/GridCleanupSystem.cs +++ /dev/null @@ -1,100 +0,0 @@ -using Content.Server.Cargo.Systems; -using Content.Server.Power.Components; -using Content.Shared._Mono.CCVar; -using Content.Shared.Shuttles.Components; -using Content.Server.Shuttles.Systems; -using Robust.Shared.Configuration; -using Robust.Shared.Map.Components; -using Robust.Shared.Physics.Components; - -namespace Content.Server._Mono.Cleanup; - -/// -/// This system cleans up small grid fragments that have less than a specified number of tiles after a delay. -/// -public sealed class GridCleanupSystem : BaseCleanupSystem -{ - [Dependency] private readonly CleanupHelperSystem _cleanup = default!; - [Dependency] private readonly EntityLookupSystem _lookup = default!; - [Dependency] private readonly IConfigurationManager _cfg = default!; - [Dependency] private readonly PricingSystem _pricing = default!; - [Dependency] private readonly SharedMapSystem _map = default!; - - private float _maxDistance; - private float _maxValue; - private int _aggressiveTiles; - private TimeSpan _duration; - - private HashSet> _apcList = new(); - - private EntityQuery _batteryQuery; - private EntityQuery _immuneQuery; - - public override void Initialize() - { - base.Initialize(); - - _batteryQuery = GetEntityQuery(); - _immuneQuery = GetEntityQuery(); - - Subs.CVar(_cfg, MonoCVars.GridCleanupDistance, val => _maxDistance = val, true); - Subs.CVar(_cfg, MonoCVars.GridCleanupMaxValue, val => _maxValue = val, true); - Subs.CVar(_cfg, MonoCVars.GridCleanupDuration, val => _duration = TimeSpan.FromSeconds(val), true); - Subs.CVar(_cfg, MonoCVars.GridCleanupAggressiveTiles, val => _aggressiveTiles = val, true); - } - - protected override bool ShouldEntityCleanup(EntityUid uid) - { - var xform = Transform(uid); - // if we somehow lost it - if (!TryComp(uid, out var grid) || !TryComp(uid, out var body)) - return false; - - var parent = xform.ParentUid; - - var state = EnsureComp(uid); - - var tiles = body.FixturesMass / ShuttleSystem.TileMassMultiplier; - var scale = MathF.Min(tiles / _aggressiveTiles, 1f); - var hasVisibleIff = TryComp(uid, out var iffComp) && (iffComp.Flags & IFFFlags.HideLabel) == 0; - - if (HasComp(uid) // if we're a planetmap ignore - || HasComp(parent) // do not delete anything on planetmaps either - || _immuneQuery.HasComp(uid) - || !state.IgnoreIFF && hasVisibleIff // delete only if IFF off - || _cleanup.HasNearbyPlayers(xform.Coordinates, state.DistanceOverride ?? _maxDistance * scale * scale) // square it - || !state.IgnorePowered && HasPoweredAPC((uid, xform)) // don't delete if it has powered APCs - || !state.IgnorePrice && _pricing.AppraiseGrid(uid) > _maxValue) // expensive to run, put last - { - state.CleanupAccumulator = TimeSpan.FromSeconds(0); - return false; - } - // see if we should update timer or just be deleted - else if (state.CleanupAccumulator < _duration) - { - state.CleanupAccumulator += _cleanupInterval * state.CleanupAcceleration / scale; - return false; - } - - return true; - } - - bool HasPoweredAPC(Entity grid) - { - _apcList.Clear(); - var worldAABB = _lookup.GetWorldAABB(grid, grid.Comp); - - _lookup.GetEntitiesIntersecting(grid.Comp.MapID, worldAABB, _apcList); - - foreach (var apc in _apcList) - { - // charge check should ideally be a comparision to 0f but i don't trust that - if (_batteryQuery.TryComp(apc, out var battery) - && battery.CurrentCharge > battery.MaxCharge * 0.01f - && apc.Comp.MainBreakerEnabled // if it's disabled consider it depowered - ) - return true; - } - return false; - } -} diff --git a/Content.Server/_Mono/Cleanup/MobCleanupSystem.cs b/Content.Server/_Mono/Cleanup/MobCleanupSystem.cs deleted file mode 100644 index 3e8ad5d630d..00000000000 --- a/Content.Server/_Mono/Cleanup/MobCleanupSystem.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Content.Server.Ghost.Roles.Components; -using Content.Server.NPC.HTN; -using Content.Shared._Mono.CCVar; -using Robust.Shared.Configuration; -using Robust.Shared.Timing; - -namespace Content.Server._Mono.Cleanup; - -/// -/// Deletes mobs too far from players. -/// -public sealed class MobCleanupSystem : BaseCleanupSystem -{ - [Dependency] private readonly CleanupHelperSystem _cleanup = default!; - [Dependency] private readonly IConfigurationManager _cfg = default!; - - private float _maxDistance; - private float _maxGridDistance; - - private EntityQuery _ghostQuery; - private EntityQuery _immuneQuery; - - public override void Initialize() - { - base.Initialize(); - - _ghostQuery = GetEntityQuery(); - _immuneQuery = GetEntityQuery(); - - Subs.CVar(_cfg, MonoCVars.MobCleanupDistance, val => _maxDistance = val, true); - Subs.CVar(_cfg, MonoCVars.CleanupMaxGridDistance, val => _maxGridDistance = val, true); - } - - protected override bool ShouldEntityCleanup(EntityUid uid) - { - var xform = Transform(uid); - - return xform.GridUid == null - && !_immuneQuery.HasComp(uid) - && !_ghostQuery.HasComp(uid) - && !_cleanup.HasNearbyPlayers(xform.Coordinates, _maxDistance) - && !_cleanup.HasNearbyGrids(xform.Coordinates, _maxGridDistance); - } -} diff --git a/Content.Server/_Mono/Cleanup/SpaceCleanupSystem.cs b/Content.Server/_Mono/Cleanup/SpaceCleanupSystem.cs deleted file mode 100644 index e956f090d17..00000000000 --- a/Content.Server/_Mono/Cleanup/SpaceCleanupSystem.cs +++ /dev/null @@ -1,137 +0,0 @@ -using Content.Server.Cargo.Systems; -using Content.Server.NPC.HTN; -using Content.Server.Shuttles.Components; -using Content.Shared.Shuttles.Components; -using Content.Shared._Mono.CCVar; -using Content.Shared.Mind.Components; -using Content.Shared.Physics; -using Robust.Shared.Configuration; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; -using Robust.Shared.Physics; -using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Collision.Shapes; -using Robust.Shared.Physics.Systems; -using System.Reflection; - -namespace Content.Server._Mono.Cleanup; - -/// -/// Deletes entities eligible for deletion. -/// -public sealed class SpaceCleanupSystem : BaseCleanupSystem -{ - [Dependency] private readonly CleanupHelperSystem _cleanup = default!; - [Dependency] private readonly IConfigurationManager _cfg = default!; - private object _manifold = default!; - private MethodInfo _testOverlap = default!; - [Dependency] private readonly SharedMapSystem _map = default!; - [Dependency] private readonly SharedPhysicsSystem _physics = default!; - [Dependency] private readonly PricingSystem _pricing = default!; - - private float _maxDistance; - private float _maxGridDistance; - private float _maxPrice; - - private EntityQuery _immuneQuery; - private EntityQuery _fixQuery; - private EntityQuery _htnQuery; - private EntityQuery _gridQuery; - private EntityQuery _mindQuery; - private EntityQuery _physQuery; - - public override void Initialize() - { - base.Initialize(); - - // this queries over literally everything with PhysicsComponent so has to have big interval - _cleanupInterval = TimeSpan.FromSeconds(600); - - _immuneQuery = GetEntityQuery(); - _fixQuery = GetEntityQuery(); - _htnQuery = GetEntityQuery(); - _gridQuery = GetEntityQuery(); - _mindQuery = GetEntityQuery(); - _physQuery = GetEntityQuery(); - - Subs.CVar(_cfg, MonoCVars.CleanupMaxGridDistance, val => _maxGridDistance = val, true); - Subs.CVar(_cfg, MonoCVars.SpaceCleanupDistance, val => _maxDistance = val, true); - Subs.CVar(_cfg, MonoCVars.SpaceCleanupMaxValue, val => _maxPrice = val, true); - - var manifoldType = typeof(SharedMapSystem).Assembly.GetType("Robust.Shared.Physics.Collision.IManifoldManager"); - if (manifoldType != null) - { - _manifold = IoCManager.ResolveType(manifoldType); - var testOverlapMethod = manifoldType.GetMethod("TestOverlap"); - if (testOverlapMethod != null) - _testOverlap = testOverlapMethod.MakeGenericMethod(typeof(IPhysShape), typeof(PhysShapeCircle)); - } - } - - protected override bool ShouldEntityCleanup(EntityUid uid) - { - var xform = Transform(uid); - - var isStuck = false; - - return !_gridQuery.HasComp(uid) - && (xform.ParentUid == xform.MapUid // don't delete if on grid - || (isStuck |= GetWallStuck((uid, xform)))) // or wall-stuck - && !_htnQuery.HasComp(uid) // handled by MobCleanupSystem - && !_immuneQuery.HasComp(uid) // handled by GridCleanupSystem - && !_mindQuery.HasComp(uid) // no deleting anything that can have a mind - should be handled by MobCleanupSystem anyway - && _pricing.GetPrice(uid) <= _maxPrice - && (isStuck - || !_cleanup.HasNearbyGrids(xform.Coordinates, _maxGridDistance) - && !_cleanup.HasNearbyPlayers(xform.Coordinates, _maxDistance)); - } - - private bool GetWallStuck(Entity ent) - { - if (ent.Comp.GridUid is not { } gridUid - || ent.Comp.Anchored - || ent.Comp.ParentUid != gridUid // ignore if not directly parented to grid - ) - return false; - - var xfB = new Transform(ent.Comp.LocalPosition, 0); - var shapeB = new PhysShapeCircle(0.001f); - - var contacts = _physics.GetContacts(ent.Owner); - // it dies without this for some reason - if (contacts == ContactEnumerator.Empty) - return false; - - while (contacts.MoveNext(out var contact)) - { - if (contact.FixtureA == null - || contact.FixtureB == null - || contact.BodyA == null - || contact.BodyB == null - || !contact.FixtureA.Hard - || !contact.FixtureB.Hard - || !contact.IsTouching - ) - continue; - - var isA = contact.EntityB == ent.Owner; - - var body = isA ? contact.BodyA : contact.BodyB; - // only trigger when the other entity is static - if ((body.BodyType & BodyType.Static) == 0) - continue; - - var fix = isA ? contact.FixtureA : contact.FixtureB; - var xform = isA ? contact.XformA : contact.XformB; - var anch = isA ? contact.EntityA : contact.EntityB; - - var xf = _physics.GetLocalPhysicsTransform(anch, xform); - var shape = fix.Shape; - - if ((bool?)_testOverlap.Invoke(_manifold, [shape, 0, shapeB, 0, xf, xfB]) ?? false) - return true; - } - - return false; - } -} diff --git a/Content.Server/_Mono/Detection/DetectionEvents.cs b/Content.Server/_Mono/Detection/DetectionEvents.cs deleted file mode 100644 index ca904edf9a0..00000000000 --- a/Content.Server/_Mono/Detection/DetectionEvents.cs +++ /dev/null @@ -1,13 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - -namespace Content.Server._Mono.Detection; - -/// -/// Raised on an entity to get its current heat/second generation for thermal signature purposes. -/// Do not rely on any grid entities' heat values while handling this event. -/// Negative values supported but may behave weirdly. -/// -[ByRefEvent] -public record struct GetThermalSignatureEvent(float Signature = 0f); diff --git a/Content.Server/_Mono/Detection/MachineThermalSignatureComponent.cs b/Content.Server/_Mono/Detection/MachineThermalSignatureComponent.cs deleted file mode 100644 index afae90366f8..00000000000 --- a/Content.Server/_Mono/Detection/MachineThermalSignatureComponent.cs +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - -namespace Content.Server._Mono.Detection; - -/// -/// Component that gives an entity a thermal signature while it's powered. -/// -[RegisterComponent] -public sealed partial class MachineThermalSignatureComponent : Component -{ - [DataField(required: true)] - public float Signature; -} diff --git a/Content.Server/_Mono/Detection/PassiveThermalSignatureComponent.cs b/Content.Server/_Mono/Detection/PassiveThermalSignatureComponent.cs deleted file mode 100644 index 6f908e4b4af..00000000000 --- a/Content.Server/_Mono/Detection/PassiveThermalSignatureComponent.cs +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - -namespace Content.Server._Mono.Detection; - -/// -/// Component that gives an entity a static and constant thermal signature. -/// -[RegisterComponent] -public sealed partial class PassiveThermalSignatureComponent : Component -{ - [DataField(required: true)] - public float Signature; -} diff --git a/Content.Server/_Mono/Detection/ThermalSignatureSystem.cs b/Content.Server/_Mono/Detection/ThermalSignatureSystem.cs deleted file mode 100644 index 875f1420a9a..00000000000 --- a/Content.Server/_Mono/Detection/ThermalSignatureSystem.cs +++ /dev/null @@ -1,130 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - -using Content.Server.Power.Components; -using Content.Server.Shuttles.Components; -using Content.Shared._Mono.Detection; -using Content.Shared._Mono.Shuttle.FTL; -using Content.Shared.Power.EntitySystems; -using Content.Shared.Shuttles.Components; -using Content.Shared.Shuttles.Systems; -using Content.Shared.Weapons.Ranged.Components; -using Content.Shared.Weapons.Ranged.Systems; -using Robust.Shared.Map.Components; -using System; - -namespace Content.Server._Mono.Detection; - -/// -/// Handles the logic for thermal signatures. -/// -public sealed class ThermalSignatureSystem : EntitySystem -{ - [Dependency] private readonly SharedPowerReceiverSystem _power = default!; - - private TimeSpan _updateInterval = TimeSpan.FromSeconds(0.5); - private TimeSpan _updateAccumulator = TimeSpan.FromSeconds(0); - private EntityQuery _gridQuery; - private EntityQuery _sigQuery; - private EntityQuery _gunQuery; - - public override void Initialize() - { - base.Initialize(); - - // some of this could also be handled in shared but there's no point since PVS is a thing - SubscribeLocalEvent(OnMachineGetSignature); - SubscribeLocalEvent(OnPassiveGetSignature); - - SubscribeLocalEvent(OnGunShot); - SubscribeLocalEvent(OnPowerGetSignature); - SubscribeLocalEvent(OnThrusterGetSignature); - SubscribeLocalEvent(OnFTLGetSignature); - - _gridQuery = GetEntityQuery(); - _sigQuery = GetEntityQuery(); - _gunQuery = GetEntityQuery(); - } - - private void OnGunShot(Entity ent, ref GunShotEvent args) - { - if (_gunQuery.TryComp(ent, out _)) - ent.Comp.StoredHeat += args.Ammo.Count; - } - - private void OnMachineGetSignature(Entity ent, ref GetThermalSignatureEvent args) - { - if (_power.IsPowered(ent.Owner)) - args.Signature += ent.Comp.Signature; - } - - private void OnPassiveGetSignature(Entity ent, ref GetThermalSignatureEvent args) - { - args.Signature += ent.Comp.Signature; - } - - private void OnPowerGetSignature(Entity ent, ref GetThermalSignatureEvent args) - { - args.Signature += ent.Comp.CurrentSupply * ent.Comp.HeatSignatureRatio; - } - - private void OnThrusterGetSignature(Entity ent, ref GetThermalSignatureEvent args) - { - if (ent.Comp.Firing) - args.Signature += ent.Comp.Thrust * ent.Comp.HeatSignatureRatio; - } - - private void OnFTLGetSignature(Entity ent, ref GetThermalSignatureEvent args) - { - var xform = Transform(ent); - if (!TryComp(xform.GridUid, out var ftl)) - return; - - if (ftl.State == FTLState.Starting || ftl.State == FTLState.Cooldown) - args.Signature += ent.Comp.ThermalSignature; - } - - public override void Update(float frameTime) - { - _updateAccumulator += TimeSpan.FromSeconds(frameTime); - if (_updateAccumulator < _updateInterval) - return; - _updateAccumulator -= _updateInterval; - - var interval = (float)_updateInterval.TotalSeconds; - - var gridQuery = EntityQueryEnumerator(); - while (gridQuery.MoveNext(out var uid, out _)) - { - var sigComp = EnsureComp(uid); - sigComp.TotalHeat = 0f; - } - - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var sigComp)) - { - var ev = new GetThermalSignatureEvent(interval); - RaiseLocalEvent(uid, ref ev); - sigComp.StoredHeat += ev.Signature * interval; - sigComp.StoredHeat *= MathF.Pow(sigComp.HeatDissipation, interval); - if (_gridQuery.HasComp(uid)) - { - sigComp.TotalHeat += sigComp.StoredHeat; - } - else - { - var xform = Transform(uid); - sigComp.TotalHeat = sigComp.StoredHeat; - if (xform.GridUid != null && _sigQuery.TryComp(xform.GridUid, out var gridSig)) - gridSig.TotalHeat += sigComp.StoredHeat; - } - } - - var gridQuery2 = EntityQueryEnumerator(); - while (gridQuery2.MoveNext(out var uid, out _, out var sigComp)) - { - Dirty(uid, sigComp); // sync to client - } - } -} diff --git a/Content.Server/_Mono/FireControl/FireControlSystem.cs b/Content.Server/_Mono/FireControl/FireControlSystem.cs index 05ec776385f..38d28977f61 100644 --- a/Content.Server/_Mono/FireControl/FireControlSystem.cs +++ b/Content.Server/_Mono/FireControl/FireControlSystem.cs @@ -3,7 +3,10 @@ using Content.Server.Weapons.Ranged.Systems; using Content.Shared._Mono.FireControl; +using Content.Shared.Examine; +using Content.Shared.Interaction; using Content.Shared.Power; +using Content.Shared._Mono.ShipGuns; using Content.Shared.Weapons.Ranged.Components; using Robust.Shared.Map; using Robust.Shared.Physics; @@ -11,15 +14,9 @@ using System.Linq; using Content.Shared.Physics; using System.Numerics; -using Content.Server._Mono.SpaceArtillery; -using Content.Server._Mono.SpaceArtillery.Components; using Content.Server.Power.EntitySystems; using Content.Shared.Shuttles.Components; using Robust.Shared.Timing; -using Content.Shared.Interaction; -using Content.Shared._Mono.ShipGuns; -using Content.Shared.Examine; -using Content.Server.Salvage.Expeditions; namespace Content.Server._Mono.FireControl; @@ -30,38 +27,24 @@ public sealed partial class FireControlSystem : EntitySystem [Dependency] private readonly SharedPhysicsSystem _physics = default!; [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly PowerReceiverSystem _power = default!; - [Dependency] private readonly RotateToFaceSystem _rotateToFace = default!; /// /// Dictionary of entities that have visualization enabled /// private readonly HashSet _visualizedEntities = new(); - private EntityQuery _artilleryQuery; - private EntityQuery _fireRotateQuery; - private EntityQuery _gunQuery; - public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnPowerChanged); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnExamined); - SubscribeLocalEvent(OnServerTerminating); SubscribeLocalEvent(OnControllablePowerChanged); SubscribeLocalEvent(OnControllableShutdown); - SubscribeLocalEvent(OnControllableParentChanged); - - // Subscribe to grid split events to ensure we update when grids change - SubscribeLocalEvent(OnGridSplit); InitializeConsole(); InitializeTargetGuided(); - - _artilleryQuery = GetEntityQuery(); - _fireRotateQuery = GetEntityQuery(); - _gunQuery = GetEntityQuery(); } private void OnPowerChanged(EntityUid uid, FireControlServerComponent component, PowerChangedEvent args) @@ -77,11 +60,6 @@ private void OnShutdown(EntityUid uid, FireControlServerComponent component, Com Disconnect(uid, component); } - private void OnServerTerminating(EntityUid uid, FireControlServerComponent component, ref EntityTerminatingEvent args) - { - Disconnect(uid, component); - } - private void OnExamined(EntityUid uid, FireControlServerComponent component, ExaminedEvent args) { if (!args.IsInDetailsRange) @@ -120,69 +98,25 @@ private void OnControllableShutdown(EntityUid uid, FireControllableComponent com } } - private void OnControllableParentChanged(EntityUid uid, FireControllableComponent component, ref EntParentChangedMessage args) - { - if (component.ControllingServer == null) - return; - - // Check if the weapon is still on the same grid as its controlling server - if (!TryComp(component.ControllingServer, out var server) || - server.ConnectedGrid == null) - return; - - var currentGrid = _xform.GetGrid(uid); - if (currentGrid != server.ConnectedGrid) - { - // Weapon is no longer on the same grid - unregister it - Unregister(uid, component); - - // Update UI for any connected consoles - foreach (var console in server.Consoles) - { - if (TryComp(console, out var consoleComp)) - { - UpdateUi(console, consoleComp); - } - } - } - } - private void Disconnect(EntityUid server, FireControlServerComponent? component = null) { if (!Resolve(server, ref component)) return; - // Clean up grid connection if it exists - if (component.ConnectedGrid != null && Exists(component.ConnectedGrid) && TryComp(component.ConnectedGrid, out var controlGrid)) - { - if (controlGrid.ControllingServer == server) - { - controlGrid.ControllingServer = null; - RemComp((EntityUid)component.ConnectedGrid); - } - } + if (!Exists(component.ConnectedGrid) || !TryComp(component.ConnectedGrid, out var controlGrid)) + return; - // Unregister all controlled entities - var controlledCopy = component.Controlled.ToList(); // Create copy to avoid modification during iteration - foreach (var controllable in controlledCopy) + if (controlGrid.ControllingServer == server) { - if (Exists(controllable)) - Unregister(controllable); + controlGrid.ControllingServer = null; + RemComp((EntityUid)component.ConnectedGrid); } - // Unregister all consoles - var consolesCopy = component.Consoles.ToList(); // Create copy to avoid modification during iteration - foreach (var console in consolesCopy) - { - if (Exists(console)) - UnregisterConsole(console); - } + foreach (var controllable in(component.Controlled)) + Unregister(controllable); - // Clear the server's state - component.Controlled.Clear(); - component.Consoles.Clear(); - component.ConnectedGrid = null; - component.UsedProcessingPower = 0; + foreach (var console in component.Consoles) + UnregisterConsole(console); } public void RefreshControllables(EntityUid grid, FireControlGridComponent? component = null) @@ -190,17 +124,9 @@ public void RefreshControllables(EntityUid grid, FireControlGridComponent? compo if (!Resolve(grid, ref component)) return; - if (component.ControllingServer == null) + if (component.ControllingServer == null || !TryComp(component.ControllingServer, out var server)) return; - // Check if the controlling server still exists - if (!Exists(component.ControllingServer) || !TryComp(component.ControllingServer, out var server)) - { - // Clear the invalid reference - component.ControllingServer = null; - return; - } - server.Controlled.Clear(); server.UsedProcessingPower = 0; @@ -208,7 +134,7 @@ public void RefreshControllables(EntityUid grid, FireControlGridComponent? compo while (query.MoveNext(out var controllable, out var controlComp)) { - if (_xform.GetGrid(controllable) == grid && EntityManager.GetComponent(controllable).Anchored) + if (_xform.GetGrid(controllable) == grid) TryRegister(controllable, controlComp); } @@ -228,20 +154,8 @@ private bool TryConnect(EntityUid server, FireControlServerComponent? component var controlGrid = EnsureComp((EntityUid)grid); - // Check if there's already a controlling server and if it's valid if (controlGrid.ControllingServer != null) - { - // If the controlling server no longer exists, clear the reference - if (!Exists(controlGrid.ControllingServer) || !TryComp(controlGrid.ControllingServer, out _)) - { - controlGrid.ControllingServer = null; - } - else - { - // Valid server already exists, cannot connect - return false; - } - } + return false; controlGrid.ControllingServer = server; component.ConnectedGrid = grid; @@ -314,6 +228,11 @@ public int GetProcessingPowerCost(EntityUid controllable, FireControllableCompon ShipGunClass.Medium => 6, ShipGunClass.Heavy => 9, ShipGunClass.Superheavy => 12, + ShipGunClass.CVSuperlight => 5, + ShipGunClass.CVLight => 8, + ShipGunClass.CVMedium => 12, + ShipGunClass.CVHeavy => 15, + ShipGunClass.CVSuperheavy => 20, _ => 0, }; } @@ -328,168 +247,93 @@ public int GetProcessingPowerCost(EntityUid controllable, FireControllableCompon if (!TryComp(grid, out var controlGrid)) return (null, null); - if (controlGrid.ControllingServer == null) - return (null, null); - - // Check if the controlling server still exists and has the component - if (!Exists(controlGrid.ControllingServer) || !TryComp(controlGrid.ControllingServer, out var server)) - { - // Clear the invalid reference - controlGrid.ControllingServer = null; + if (controlGrid.ControllingServer == null || !TryComp(controlGrid.ControllingServer, out var server)) return (null, null); - } return (controlGrid.ControllingServer, server); } - /// - /// Cleans up all invalid server references across all grids - /// - public void CleanupInvalidServerReferences() - { - var gridQuery = EntityQueryEnumerator(); - - while (gridQuery.MoveNext(out var gridUid, out var gridComponent)) - { - if (gridComponent.ControllingServer != null) - { - if (!Exists(gridComponent.ControllingServer) || !TryComp(gridComponent.ControllingServer, out _)) - { - gridComponent.ControllingServer = null; - RemComp(gridUid); - } - } - } - } - - /// - /// Forces all powered servers on a specific grid to attempt reconnection - /// - public void ForceServerReconnectionOnGrid(EntityUid gridUid) - { - var serverQuery = EntityQueryEnumerator(); - - while (serverQuery.MoveNext(out var serverUid, out var serverComponent)) - { - var serverGrid = _xform.GetGrid(serverUid); - if (serverGrid == gridUid && _power.IsPowered(serverUid)) - { - // Force reconnection attempt - TryConnect(serverUid, serverComponent); - } - } - } - - public bool CanFireWeapons(EntityUid grid) - { - if (TerminatingOrDeleted(grid) - || HasComp(grid) - ) - return false; - - var gridXform = Transform(grid); - // Check if the weapon is an expedition - if (gridXform.MapUid != null && HasComp(gridXform.MapUid.Value)) - return false; - - return true; - } - public void FireWeapons(EntityUid server, List weapons, NetCoordinates coordinates, FireControlServerComponent? component = null) { if (!Resolve(server, ref component)) return; - var grid = component.ConnectedGrid; - if (grid != null && !CanFireWeapons(grid.Value)) - return; - var targetCoords = GetCoordinates(coordinates); - var artilleryFired = false; // Track if any artillery weapons fired foreach (var weapon in weapons) { var localWeapon = GetEntity(weapon); - if (!Exists(localWeapon) || !component.Controlled.Contains(localWeapon)) + if (!component.Controlled.Contains(localWeapon)) continue; - var fired = AttemptFire(localWeapon, localWeapon, targetCoords); - - artilleryFired |= _artilleryQuery.HasComp(localWeapon) && fired; - } - - if (artilleryFired) - TriggerCombatMusic(server); - } + if (!TryComp(localWeapon, out var gun)) + continue; - /// - /// Checks all controllables on a grid and unregisters any that don't belong. - /// - /// The GCS server entity - /// The server component - public void UpdateAllControllables(EntityUid server, FireControlServerComponent? component = null) - { - if (!Resolve(server, ref component) || component.ConnectedGrid == null) - return; + // Get transform once and reuse + if (!TryComp(localWeapon, out var weaponXform)) + continue; - // Get a copy of the controlled entities list to avoid modification during iteration - var controlled = component.Controlled.ToList(); + // Rotate weapon towards target if applicable and within same map + var currentMapCoords = _xform.GetMapCoordinates(localWeapon, weaponXform); + var destinationMapCoords = targetCoords.ToMap(EntityManager, _xform); - foreach (var controllable in controlled) - { - if (TryComp(controllable, out var controlComp)) + if (destinationMapCoords.MapId == currentMapCoords.MapId && currentMapCoords.MapId != MapId.Nullspace) { - var currentGrid = _xform.GetGrid(controllable); - if (currentGrid != component.ConnectedGrid) + var diff = destinationMapCoords.Position - currentMapCoords.Position; + if (TryComp(localWeapon, out var _)) { - Unregister(controllable, controlComp); + if (diff.LengthSquared() > 0.01f) + { + // Rotate towards target + // Get the world rotation needed to face the target + var goalAngle = Angle.FromWorldVec(diff); + // Convert to local rotation by removing parent rotation + var parentRotation = _xform.GetWorldRotation(weaponXform.ParentUid); + var localRotation = goalAngle - parentRotation; + _xform.SetLocalRotation(localWeapon, localRotation, weaponXform); + } } } - } - // Update UI for all consoles - foreach (var console in component.Consoles) - { - if (TryComp(console, out var consoleComp)) - { - UpdateUi(console, consoleComp); - } - } - } + var targetPos = targetCoords.ToMap(EntityManager, _xform); + if (targetPos.MapId != weaponXform.MapID) + continue; - private void OnGridSplit(ref GridSplitEvent ev) - { - // Check all GCS servers for affected grids - var query = EntityQueryEnumerator(); + var weaponPos = _xform.GetWorldPosition(weaponXform); - while (query.MoveNext(out var serverUid, out var server)) - { - if (server.ConnectedGrid == ev.Grid) - { - // Grid has been split, check all controllables - UpdateAllControllables(serverUid, server); - } + // Get direction to target + var direction = (targetPos.Position - weaponPos); + var distance = direction.Length(); + if (distance <= 0) + continue; + + direction = Vector2.Normalize(direction); + + // Check for obstacles in the firing direction + if (!CanFireInDirection(localWeapon, weaponPos, direction, targetPos.Position, weaponXform.MapID)) + continue; + + // If we can fire, fire the weapon + _gun.AttemptShoot(localWeapon, localWeapon, gun, targetCoords); } } /// /// Attempts to fire a weapon, handling aiming and firing logic. /// - public bool AttemptFire(EntityUid weapon, EntityUid user, EntityCoordinates coords, FireControllableComponent? comp = null, bool noServer = false) + public bool AttemptFire(EntityUid weapon, EntityUid user, EntityCoordinates coords, FireControllableComponent? comp = null) { if (!Resolve(weapon, ref comp)) return false; // Check if the weapon is ready to fire - if (!CanFire(weapon, comp, noServer)) + if (!CanFire(weapon, comp)) return false; // Get weapon and target positions var weaponXform = Transform(weapon); - var weaponCoords = _xform.GetMapCoordinates(weaponXform); - var weaponPos = weaponCoords.Position; - var targetCoords = coords.ToMap(EntityManager, _xform); - var targetPos = targetCoords.Position; + var weaponPos = _xform.GetWorldPosition(weaponXform); + var targetPos = coords.ToMap(EntityManager, _xform).Position; // Calculate direction var direction = targetPos - weaponPos; @@ -506,16 +350,10 @@ public bool AttemptFire(EntityUid weapon, EntityUid user, EntityCoordinates coor // Set the cooldown for next firing comp.NextFire = _timing.CurTime + TimeSpan.FromSeconds(comp.FireCooldown); - if (_fireRotateQuery.HasComp(weapon)) - { - var goalAngle = Angle.FromWorldVec(direction); - _rotateToFace.TryRotateTo(weapon, goalAngle, 0f, Angle.FromDegrees(1), float.MaxValue, weaponXform); - } - // Try to get a gun component and fire the weapon - if (_gunQuery.TryComp(weapon, out var gun)) + if (TryComp(weapon, out var gun)) { - _gun.AttemptShots(user, weapon, gun, coords, TimeSpan.FromSeconds(0.2)); + _gun.AttemptShoot(weapon, user, gun, coords); return true; } @@ -525,14 +363,14 @@ public bool AttemptFire(EntityUid weapon, EntityUid user, EntityCoordinates coor /// /// Checks if a weapon is ready to fire. /// - private bool CanFire(EntityUid weapon, FireControllableComponent comp, bool noServer = false) + private bool CanFire(EntityUid weapon, FireControllableComponent comp) { // Check if weapon is powered if (!_power.IsPowered(weapon)) return false; // Check if weapon is connected to a server - if (comp.ControllingServer == null && !noServer) + if (comp.ControllingServer == null) return false; // Check for other conditions like cooldowns if needed @@ -543,43 +381,36 @@ private bool CanFire(EntityUid weapon, FireControllableComponent comp, bool noSe } /// - /// Checks if a weapon has line of sight to a target position + /// Checks if a weapon can fire in a specific direction without obstacles /// /// The weapon entity /// The weapon's position + /// Normalized direction vector /// The target position /// The map ID /// Maximum raycast distance in meters - /// True if the weapon has line of sight to the target - private bool HasLineOfSight(EntityUid weapon, Vector2 weaponPos, Vector2 targetPos, MapId mapId, float maxDistance = 500f) + /// True if the weapon can fire in that direction + private bool CanFireInDirection(EntityUid weapon, Vector2 weaponPos, Vector2 direction, Vector2 targetPos, MapId mapId, float maxDistance = 10f) { - // Calculate direction to target - var direction = (targetPos - weaponPos); - var distance = direction.Length(); - if (distance <= 0) - return false; // Can't have LOS to the same position - - direction = Vector2.Normalize(direction); - // Get the weapon's grid for grid filtering var weaponTransform = Transform(weapon); var weaponGridUid = weaponTransform.GridUid; // Calculate distance to target (capped at maximum distance) var targetDistance = Vector2.Distance(weaponPos, targetPos); - var rayDistance = Math.Min(targetDistance, maxDistance); + var distance = Math.Min(targetDistance, maxDistance); // Initialize ray collision var ray = new CollisionRay(weaponPos, direction, collisionMask: (int)(CollisionGroup.Opaque | CollisionGroup.Impassable)); - // Create a predicate that ignores entities not on the same grid - bool IgnoreEntityNotOnSameGrid(EntityUid entity, EntityUid sourceWeapon) + // Create a predicate that only checks entities on the same grid + bool CheckOnlyEntitiesOnSameGrid(EntityUid entity, EntityUid sourceWeapon) { // Always ignore the source weapon itself if (entity == sourceWeapon) return true; - // If the weapon isn't on a grid, we'll check against all entities + // If the weapon isn't on a grid, check all entities (don't ignore any) if (weaponGridUid == null) return false; @@ -587,40 +418,24 @@ bool IgnoreEntityNotOnSameGrid(EntityUid entity, EntityUid sourceWeapon) var entityTransform = Transform(entity); var entityGridUid = entityTransform.GridUid; - // Ignore if not on the same grid + // Ignore entities NOT on the same grid (we only want to check obstacles on our own grid) return entityGridUid != weaponGridUid; } - // Check if there's any obstacles in the line of sight, only considering entities on the same grid + // Check if there's any obstacles in the firing direction on the same grid var raycastResults = _physics.IntersectRayWithPredicate( mapId, ray, weapon, - IgnoreEntityNotOnSameGrid, - rayDistance, - returnOnFirstHit: true // We only need to know if there's ANY obstacle + CheckOnlyEntitiesOnSameGrid, + distance, + returnOnFirstHit: true // Stop at first hit for efficiency ).ToList(); - // Has line of sight if there are no obstacles in the path + // Can only fire if there's no obstacles in the path on our own grid return raycastResults.Count == 0; } - /// - /// Checks if a weapon can fire in a specific direction without obstacles - /// - /// The weapon entity - /// The weapon's position - /// Normalized direction vector - /// The target position - /// The map ID - /// Maximum raycast distance in meters - /// True if the weapon can fire in that direction - private bool CanFireInDirection(EntityUid weapon, Vector2 weaponPos, Vector2 direction, Vector2 targetPos, MapId mapId, float maxDistance = 500f) - { - // Use the HasLineOfSight method for consistency - return HasLineOfSight(weapon, weaponPos, targetPos, mapId, maxDistance); - } - /// /// Checks if a weapon can fire in a full 360-degree circle around it to find clear firing lanes /// @@ -628,7 +443,7 @@ private bool CanFireInDirection(EntityUid weapon, Vector2 weaponPos, Vector2 dir /// Maximum raycast distance in meters /// Number of rays to cast around the entity /// Dictionary mapping directions (angles in degrees) to whether they're clear for firing - public Dictionary CheckAllDirections(EntityUid weapon, float maxDistance = 500f, int rayCount = 256) + public Dictionary CheckAllDirections(EntityUid weapon, float maxDistance = 25f, int rayCount = 32) { var directions = new Dictionary(); @@ -637,14 +452,14 @@ public Dictionary CheckAllDirections(EntityUid weapon, float maxDis var mapId = transform.MapID; var weaponGridUid = transform.GridUid; - // Create a predicate that ignores entities not on the same grid - bool IgnoreEntityNotOnSameGrid(EntityUid entity, EntityUid sourceWeapon) + // Create a predicate that only checks entities on the same grid + bool CheckOnlyEntitiesOnSameGrid(EntityUid entity, EntityUid sourceWeapon) { // Always ignore the source weapon itself if (entity == sourceWeapon) return true; - // If the weapon isn't on a grid, we'll check against all entities + // If the weapon isn't on a grid, check all entities (don't ignore any) if (weaponGridUid == null) return false; @@ -652,7 +467,7 @@ bool IgnoreEntityNotOnSameGrid(EntityUid entity, EntityUid sourceWeapon) var entityTransform = Transform(entity); var entityGridUid = entityTransform.GridUid; - // Ignore if not on the same grid + // Ignore entities NOT on the same grid (we only want to check obstacles on our own grid) return entityGridUid != weaponGridUid; } @@ -666,17 +481,17 @@ bool IgnoreEntityNotOnSameGrid(EntityUid entity, EntityUid sourceWeapon) // Initialize ray collision var ray = new CollisionRay(position, direction, collisionMask: (int)(CollisionGroup.Opaque | CollisionGroup.Impassable)); - // Check if there's any obstacles in this direction, only considering entities on the same grid + // Check if there's any obstacles in this direction on the same grid var raycastResults = _physics.IntersectRayWithPredicate( mapId, ray, weapon, - IgnoreEntityNotOnSameGrid, + CheckOnlyEntitiesOnSameGrid, maxDistance, - returnOnFirstHit: false + returnOnFirstHit: true // Stop at first hit for efficiency ).ToList(); - // Direction is clear if there are no obstacles + // Direction is clear if there are no obstacles on our own grid var canFire = raycastResults.Count == 0; directions[angle * 180 / MathF.PI] = canFire; } @@ -725,14 +540,6 @@ public bool ToggleVisualization(EntityUid entityUid) RaiseNetworkEvent(new FireControlVisualizationEvent(netEntity, directions)); return true; } - - /// - /// Triggers combat music for the grid that the console is on. - /// - private void TriggerCombatMusic(EntityUid consoleUid) - { - // Combat music system is unavailable in this branch. - } } public sealed class FireControllableStatusReportEvent : EntityEventArgs diff --git a/Content.Server/_Mono/NPC/HTN/Operators/ShipFireGunsOperator.cs b/Content.Server/_Mono/NPC/HTN/Operators/ShipFireGunsOperator.cs index eb275bca735..399e6bc977c 100644 --- a/Content.Server/_Mono/NPC/HTN/Operators/ShipFireGunsOperator.cs +++ b/Content.Server/_Mono/NPC/HTN/Operators/ShipFireGunsOperator.cs @@ -1,8 +1,6 @@ using Content.Server.NPC; using Content.Server.NPC.HTN; using Content.Server.NPC.HTN.PrimitiveTasks; -using Content.Server.Power.Components; -using Content.Server.Power.EntitySystems; using Content.Shared.Construction.Components; using Robust.Shared.Map; using System.Threading; @@ -16,7 +14,6 @@ namespace Content.Server._Mono.NPC.HTN.Operators; public sealed partial class ShipFireGunsOperator : HTNOperator, IHtnConditionalShutdown { [Dependency] private readonly IEntityManager _entManager = default!; - private PowerReceiverSystem _power = default!; private ShipTargetingSystem _targeting = default!; /// @@ -51,12 +48,6 @@ public sealed partial class ShipFireGunsOperator : HTNOperator, IHtnConditionalS [DataField] public bool RequireAnchored = true; - /// - /// Whether to require us to be powered, if we have ApcPowerReceiver. - /// - [DataField] - public bool RequirePowered = true; - /// /// Stop targeting if beyond this range. /// @@ -68,7 +59,6 @@ public sealed partial class ShipFireGunsOperator : HTNOperator, IHtnConditionalS public override void Initialize(IEntitySystemManager sysManager) { base.Initialize(sysManager); - _power = sysManager.GetEntitySystem(); _targeting = sysManager.GetEntitySystem(); } @@ -110,15 +100,13 @@ public override HTNOperatorStatus Update(NPCBlackboard blackboard, float frameTi if (!blackboard.TryGetValue(TargetKey, out var target, _entManager) || !_entManager.TryGetComponent(owner, out var xform) // also fail if we're anchorable but are unanchored and require to be anchored - || RequireAnchored - && _entManager.TryGetComponent(owner, out var anchorable) && !xform.Anchored - || RequirePowered - && _entManager.TryGetComponent(owner, out var receiver) && !_power.IsPowered(owner, receiver) + || _entManager.TryGetComponent(owner, out var anchorable) + && !xform.Anchored && RequireAnchored ) return HTNOperatorStatus.Failed; // ensure we're still targeting if we e.g. move grids - var comp = _targeting.Target(owner, target); + var comp = _targeting.Target(owner, target, false); if (comp == null) return HTNOperatorStatus.Finished; @@ -147,11 +135,4 @@ public void ConditionalShutdown(NPCBlackboard blackboard) _targeting.Stop(blackboard.GetValue(NPCBlackboard.Owner)); } - - public override void PlanShutdown(NPCBlackboard blackboard) - { - base.PlanShutdown(blackboard); - - ConditionalShutdown(blackboard); - } } diff --git a/Content.Server/_Mono/NPC/HTN/Operators/ShipMoveToOperator.cs b/Content.Server/_Mono/NPC/HTN/Operators/ShipMoveToOperator.cs index c1b2be43897..05ababe14cc 100644 --- a/Content.Server/_Mono/NPC/HTN/Operators/ShipMoveToOperator.cs +++ b/Content.Server/_Mono/NPC/HTN/Operators/ShipMoveToOperator.cs @@ -1,8 +1,6 @@ using Content.Server.NPC; using Content.Server.NPC.HTN; using Content.Server.NPC.HTN.PrimitiveTasks; -using Content.Server.Power.Components; -using Content.Server.Power.EntitySystems; using Content.Shared.Construction.Components; using Robust.Shared.Map; using System.Threading; @@ -16,7 +14,6 @@ namespace Content.Server._Mono.NPC.HTN.Operators; public sealed partial class ShipMoveToOperator : HTNOperator, IHtnConditionalShutdown { [Dependency] private readonly IEntityManager _entManager = default!; - private PowerReceiverSystem _power = default!; private ShipSteeringSystem _steering = default!; /// @@ -49,12 +46,6 @@ public sealed partial class ShipMoveToOperator : HTNOperator, IHtnConditionalShu [DataField] public bool AvoidCollisions = true; - /// - /// Whether to avoid shipgun projectiles. - /// - [DataField] - public bool AvoidProjectiles = false; - /// /// How unwilling we are to use brake to adjust our velocity. Higher means less willing. /// @@ -92,18 +83,6 @@ public sealed partial class ShipMoveToOperator : HTNOperator, IHtnConditionalShu [DataField] public float MaxTargetingRange = 2000f; - /// - /// What movement behavior to use. - /// - [DataField] - public ShipSteeringMode Mode = ShipSteeringMode.GoToRange; - - /// - /// In Orbit mode, how much to angularly offset our destination. - /// - [DataField] - public float OrbitOffset = 30f; - /// /// How close we need to get before considering movement finished. /// @@ -124,12 +103,6 @@ public sealed partial class ShipMoveToOperator : HTNOperator, IHtnConditionalShu [DataField] public bool RequireAnchored = true; - /// - /// Whether to require us to be powered, if we have ApcPowerReceiver. - /// - [DataField] - public bool RequirePowered = true; - /// /// Rotation to move at relative to direction to target. /// @@ -141,7 +114,6 @@ public sealed partial class ShipMoveToOperator : HTNOperator, IHtnConditionalShu public override void Initialize(IEntitySystemManager sysManager) { base.Initialize(sysManager); - _power = sysManager.GetEntitySystem(); _steering = sysManager.GetEntitySystem(); } @@ -165,9 +137,7 @@ public override void Startup(NPCBlackboard blackboard) // Need to remove the planning value for execution. blackboard.Remove(NPCBlackboard.OwnerCoordinates); - if (!blackboard.TryGetValue(TargetKey, out var targetCoordinates, _entManager)) - return; - + var targetCoordinates = blackboard.GetValue(TargetKey); var uid = blackboard.GetValue(NPCBlackboard.Owner); var comp = _steering.Steer(uid, targetCoordinates); @@ -177,15 +147,11 @@ public override void Startup(NPCBlackboard blackboard) comp.AlwaysFaceTarget = AlwaysFaceTarget; comp.AvoidCollisions = AvoidCollisions; - comp.AvoidProjectiles = AvoidProjectiles; comp.BrakeThreshold = BrakeThreshold; comp.FinishOnCollide = FinishOnCollide; comp.InRangeMaxSpeed = InRangeMaxSpeed; comp.LeadingEnabled = LeadingEnabled; comp.MaxRotateRate = MaxRotateRate; - comp.Mode = Mode; - comp.NoFinish = ShutdownState == HTNPlanState.PlanFinished; - comp.OrbitOffset = Angle.FromDegrees(OrbitOffset); comp.Range = Range; comp.RangeTolerance = RangeTolerance; comp.TargetRotation = TargetRotation; @@ -199,10 +165,8 @@ public override HTNOperatorStatus Update(NPCBlackboard blackboard, float frameTi || !blackboard.TryGetValue(TargetKey, out var target, _entManager) || !_entManager.TryGetComponent(owner, out var xform) // also fail if we're anchorable but are unanchored and require to be anchored - || RequireAnchored - && _entManager.TryGetComponent(owner, out var anchorable) && !xform.Anchored - || RequirePowered - && _entManager.TryGetComponent(owner, out var receiver) && !_power.IsPowered(owner, receiver) + || _entManager.TryGetComponent(owner, out var anchorable) + && !xform.Anchored && RequireAnchored ) return HTNOperatorStatus.Failed; @@ -242,11 +206,4 @@ public void ConditionalShutdown(NPCBlackboard blackboard) _steering.Stop(blackboard.GetValue(NPCBlackboard.Owner)); } - - public override void PlanShutdown(NPCBlackboard blackboard) - { - base.PlanShutdown(blackboard); - - ConditionalShutdown(blackboard); - } } diff --git a/Content.Server/_Mono/NPC/HTN/Preconditions/KeyEqualsPrecondition.cs b/Content.Server/_Mono/NPC/HTN/Preconditions/KeyEqualsPrecondition.cs deleted file mode 100644 index 1ff43e83a26..00000000000 --- a/Content.Server/_Mono/NPC/HTN/Preconditions/KeyEqualsPrecondition.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Content.Server.NPC; -using Content.Server.NPC.HTN.Preconditions; - -namespace Content.Server._Mono.NPC.HTN.Preconditions; - -/// -/// Checks for the presence of the value by the specified in the . -/// Returns true if it equals value set. -/// -public sealed partial class KeyEqualsPrecondition : HTNPrecondition -{ - [Dependency] private readonly IEntityManager _entManager = default!; - - [DataField(required: true)] - public string Key = string.Empty; - - [DataField(required: true)] - public string Value = string.Empty; - - public override bool IsMet(NPCBlackboard blackboard) - { - return blackboard.TryGetValue(Key, out var value, _entManager) && value.Equals(Value); - } -} diff --git a/Content.Server/_Mono/NPC/HTN/ShipNpcTargetComponent.cs b/Content.Server/_Mono/NPC/HTN/ShipNpcTargetComponent.cs deleted file mode 100644 index 07bffeda10e..00000000000 --- a/Content.Server/_Mono/NPC/HTN/ShipNpcTargetComponent.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Content.Server._Mono.NPC.HTN; - -/// -/// Makes entities marked this be targeted by ship HTN. -/// -[RegisterComponent] -public sealed partial class ShipNpcTargetComponent : Component -{ - [DataField] - public bool NeedPower = false; - - [DataField] - public bool NeedGrid = true; -} diff --git a/Content.Server/_Mono/NPC/HTN/ShipSteererComponent.cs b/Content.Server/_Mono/NPC/HTN/ShipSteererComponent.cs index 43837ca4115..99183f3861a 100644 --- a/Content.Server/_Mono/NPC/HTN/ShipSteererComponent.cs +++ b/Content.Server/_Mono/NPC/HTN/ShipSteererComponent.cs @@ -1,5 +1,4 @@ using Robust.Shared.Map; -using System.Numerics; namespace Content.Server._Mono.NPC.HTN; @@ -9,7 +8,7 @@ namespace Content.Server._Mono.NPC.HTN; [RegisterComponent] public sealed partial class ShipSteererComponent : Component { - [ViewVariables(VVAccess.ReadWrite)] + [ViewVariables] public ShipSteeringStatus Status = ShipSteeringStatus.Moving; /// @@ -24,12 +23,6 @@ public sealed partial class ShipSteererComponent : Component [ViewVariables(VVAccess.ReadWrite)] public bool AlwaysFaceTarget = false; - /// - /// Whether to avoid shipgun projectiles. - /// - [ViewVariables(VVAccess.ReadWrite)] - public bool AvoidProjectiles = false; - /// /// If AlwaysFaceTarget is true, how much of a difference in angle (in radians) to accept. /// @@ -39,57 +32,21 @@ public sealed partial class ShipSteererComponent : Component /// /// Whether to avoid obstacles. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField] public bool AvoidCollisions = true; - /// - /// Try to evade collisions this far into the future even if stationary. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float BaseEvasionTime = 10f; - /// /// How unwilling we are to use brake to adjust our velocity. Higher means less willing. /// [ViewVariables(VVAccess.ReadWrite)] public float BrakeThreshold = 0.75f; - /// - /// How much larger to consider the ship for collision evasion purposes. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float EvasionBuffer = 6f; - - /// - /// How many evasion sectors to init on the outer ring. - /// - [ViewVariables(VVAccess.ReadWrite)] - public int EvasionSectorCount = 24; - - /// - /// How many layers of evasion sectors to have. - /// - [ViewVariables(VVAccess.ReadWrite)] - public int EvasionSectorDepth = 2; - /// /// Whether to consider the movement finished if we collide with target. /// [ViewVariables(VVAccess.ReadWrite)] public bool FinishOnCollide = true; - /// - /// How much to enlarge grid search bounds for collision evasion. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float GridSearchBuffer = 96f; - - /// - /// How much to enlarge grid search forward distance for collision evasion. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float GridSearchDistanceBuffer = 96f; - /// /// Up to how fast can we be going before being considered in range, if not null. /// @@ -111,40 +68,9 @@ public sealed partial class ShipSteererComponent : Component /// /// Check for obstacles for collision avoidance at most this far. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField] public float MaxObstructorDistance = 800f; - /// - /// Ignore obstacles this close to our destination grid if moving to a grid, + other grid's radius. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float MinObstructorDistance = 20f; - - /// - /// Don't finish early even if we've completed our order. - /// Use to keep doing collision detection when we're supposed to finish on plan finish. - /// - [ViewVariables(VVAccess.ReadWrite)] - public bool NoFinish = false; - - /// - /// What movement behavior to use. - /// - [ViewVariables(VVAccess.ReadWrite)] - public ShipSteeringMode Mode = ShipSteeringMode.GoToRange; - - /// - /// How much to angularly offset our movement target on orbit movement mode. - /// - [ViewVariables(VVAccess.ReadWrite)] - public Angle OrbitOffset = Angle.FromDegrees(30f); - - /// - /// In what radius to search for projectiles in for collision evasion. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float ProjectileSearchBounds = 896f; - /// /// How close are we trying to get to the coordinates before being considered in range. /// @@ -157,47 +83,22 @@ public sealed partial class ShipSteererComponent : Component [ViewVariables(VVAccess.ReadWrite)] public float? RangeTolerance = null; - /// - /// Accumulator for an integral of our rotational offset to target. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float RotationCompensation = 0f; - - /// - /// How fast to accumulate the rotational offset integral, rad/s/rad (also affected by sqrt of angular acceleration). - /// - [ViewVariables(VVAccess.ReadWrite)] - public float RotationCompensationGain = 0.03f; - /// /// Target rotation in relation to movement direction. /// [ViewVariables(VVAccess.ReadWrite)] public float TargetRotation = 0f; - - /// - /// Controls how much to ease in when turning with really high angular accelerations. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float TurnEaseIn = 0.2f; } public enum ShipSteeringStatus : byte { /// - /// Moving towards target + /// Are we moving towards our target /// Moving, /// - /// Meeting set end conditions + /// Are we currently in range of our target. /// - InRange -} - -public enum ShipSteeringMode -{ - GoToRange, - Orbit, - OrbitCW + InRange, } diff --git a/Content.Server/_Mono/NPC/HTN/ShipSteeringSystem.cs b/Content.Server/_Mono/NPC/HTN/ShipSteeringSystem.cs index 231b9e08787..a965a08991e 100644 --- a/Content.Server/_Mono/NPC/HTN/ShipSteeringSystem.cs +++ b/Content.Server/_Mono/NPC/HTN/ShipSteeringSystem.cs @@ -1,7 +1,5 @@ using Content.Server.Physics.Controllers; using Content.Server.Shuttles.Components; -using Content.Shared._Mono; -using Content.Shared._Mono.SpaceArtillery; using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Physics.Components; @@ -23,14 +21,6 @@ public sealed partial class ShipSteeringSystem : EntitySystem private EntityQuery _physQuery; private EntityQuery _shuttleQuery; - private List> _avoidGrids = new(); - private HashSet> _avoidProjs = new(); - private List<(EntityUid Uid, bool IsGrid)> _avoidPotentialEnts = new(); - private List _avoidEnts = new(); - - // collision evasion input consideration sectors: 24 outer, 12 inner, 1 zero-input - private List _sectors = new(); - public override void Initialize() { base.Initialize(); @@ -43,13 +33,22 @@ public override void Initialize() _shuttleQuery = GetEntityQuery(); } + // have to use this because RT's is broken and unusable for navigation + // another algorithm stolen from myself from orbitfight + public Angle ShortestAngleDistance(Angle from, Angle to) + { + var diff = (to - from) % Math.Tau; + return diff + Math.Tau * (diff < -Math.PI ? 1 : diff > Math.PI ? -1 : 0); + } + private void OnSteererGetInputs(Entity ent, ref GetShuttleInputsEvent args) { var pilotXform = Transform(ent); + var shipUid = pilotXform.GridUid; var target = ent.Comp.Coordinates; - var targetUid = target.EntityId; + var targetUid = target.EntityId; // if we have a target try to lead it if (shipUid == null || TerminatingOrDeleted(targetUid) @@ -65,8 +64,6 @@ private void OnSteererGetInputs(Entity ent, ref GetShuttle var shipXform = Transform(shipUid.Value); args.GotInput = true; - var targetXform = Transform(targetUid); - var targetGrid = targetXform.GridUid; var mapTarget = _transform.ToMapCoordinates(target); var shipPos = _transform.GetMapCoordinates(shipXform); @@ -74,536 +71,256 @@ private void OnSteererGetInputs(Entity ent, ref GetShuttle if (mapTarget.MapId != shipPos.MapId) return; - // gather context - var shipNorthAngle = _transform.GetWorldRotation(shipXform); var toTargetVec = mapTarget.Position - shipPos.Position; var distance = toTargetVec.Length(); - var linVel = shipBody.LinearVelocity; - var angVel = shipBody.AngularVelocity; - - var targetVel = Vector2.Zero; - // if target doesn't have physcomp it's likely the map so keep vector as zero - if (ent.Comp.LeadingEnabled && _physQuery.TryComp(targetGrid ?? targetUid, out var targetBody)) - targetVel = targetBody.LinearVelocity; - var relVel = linVel - targetVel; - // get the actual destination we will move to - var destMapPos = ResolveDestination(ent.Comp, mapTarget, shipPos, shipNorthAngle, toTargetVec, distance, relVel, angVel); + var angVel = shipBody.AngularVelocity; + var linVel = shipBody.LinearVelocity; - // ResolveDestination says we're all good - if (ent.Comp.Status == ShipSteeringStatus.InRange) - return; + var maxArrivedVel = ent.Comp.InRangeMaxSpeed ?? float.PositiveInfinity; + var maxArrivedAngVel = ent.Comp.MaxRotateRate ?? float.PositiveInfinity; - var config = new SteeringConfig - { - MaxArrivedVel = ent.Comp.InRangeMaxSpeed ?? float.PositiveInfinity, - BrakeThreshold = ent.Comp.BrakeThreshold, - TurnEaseIn = ent.Comp.TurnEaseIn, - - BaseEvasionTime = ent.Comp.BaseEvasionTime, - AvoidCollisions = ent.Comp.AvoidCollisions, - AvoidProjectiles = ent.Comp.AvoidProjectiles, - EvasionSectorCount = ent.Comp.EvasionSectorCount, - EvasionSectorDepth = ent.Comp.EvasionSectorDepth, - MaxObstructorDistance = ent.Comp.MaxObstructorDistance, - MinObstructorDistance = ent.Comp.MinObstructorDistance, - EvasionBuffer = ent.Comp.EvasionBuffer, - SearchBuffer = ent.Comp.GridSearchBuffer, - ScanDistanceBuffer = ent.Comp.GridSearchDistanceBuffer, - ProjectileSearchBounds = ent.Comp.ProjectileSearchBounds, - - RotationCompensationGain = ent.Comp.RotationCompensationGain, - TargetAngleOffset = Angle.FromDegrees(ent.Comp.TargetRotation), - AngleOverride = ent.Comp.AlwaysFaceTarget ? toTargetVec.ToWorldAngle() : null, - AlwaysFaceTarget = ent.Comp.AlwaysFaceTarget - }; - var context = new SteeringContext - { - ShipUid = shipUid.Value, - ShipXform = shipXform, - ShipBody = shipBody, - Shuttle = shuttle, - ShipGrid = shipGrid, - ShipPos = shipPos, - ShipNorthAngle = shipNorthAngle, - - DestMapPos = destMapPos, - TargetVel = targetVel, - TargetUid = targetUid, - TargetEntPos = mapTarget, - TargetGridUid = targetGrid, - - FrameTime = args.FrameTime - }; - - args.Input = ProcessMovement(context, config, ref ent.Comp.RotationCompensation); - } + var targetAngleOffset = new Angle(ent.Comp.TargetRotation); - /// - /// Set our status and destination. - /// - private MapCoordinates ResolveDestination( - ShipSteererComponent comp, - MapCoordinates mapTarget, - MapCoordinates shipPos, - Angle shipNorthAngle, - Vector2 toTargetVec, - float distance, - Vector2 relVel, - float angVel) - { - var maxArrivedVel = comp.InRangeMaxSpeed ?? float.PositiveInfinity; - var maxArrivedAngVel = comp.MaxRotateRate ?? float.PositiveInfinity; - var targetAngleOffset = Angle.FromDegrees(comp.TargetRotation); - - var highRange = comp.Range + (comp.RangeTolerance ?? 0f); - var lowRange = (comp.Range - comp.RangeTolerance) ?? 0f; + var highRange = ent.Comp.Range + (ent.Comp.RangeTolerance ?? 0f); + var lowRange = (ent.Comp.Range - ent.Comp.RangeTolerance) ?? 0f; var midRange = (highRange + lowRange) / 2f; - switch (comp.Mode) + var targetVel = Vector2.Zero; + if (ent.Comp.LeadingEnabled && _physQuery.TryComp(targetUid, out var targetBody)) + targetVel = targetBody.LinearVelocity; + var relVel = linVel - targetVel; + + // check if all good + if (distance >= lowRange && distance <= highRange + && relVel.Length() < maxArrivedVel + && MathF.Abs(angVel) < maxArrivedAngVel) { - case ShipSteeringMode.GoToRange: + var good = true; + if (ent.Comp.AlwaysFaceTarget) { - if (!comp.NoFinish - && distance >= lowRange && distance <= highRange - && relVel.Length() < maxArrivedVel - && MathF.Abs(angVel) < maxArrivedAngVel) - { - var good = true; - if (comp.AlwaysFaceTarget) - { - var wishRotateBy = ShortestAngleDistance(shipNorthAngle + new Angle(Math.PI) - targetAngleOffset, toTargetVec.ToWorldAngle()); - good = MathF.Abs((float)wishRotateBy.Theta) < comp.AlwaysFaceTargetOffset; - } - if (good) - { - comp.Status = ShipSteeringStatus.InRange; - return mapTarget; // will be ignored - } - } - - if (distance < lowRange || distance > highRange) - return mapTarget.Offset(NormalizedOrZero(-toTargetVec) * midRange); - - return shipPos; + var shipNorthAngle = _transform.GetWorldRotation(shipXform); + var wishRotateBy = targetAngleOffset + ShortestAngleDistance(shipNorthAngle + new Angle(Math.PI), toTargetVec.ToWorldAngle()); + good = MathF.Abs((float)wishRotateBy.Theta) < ent.Comp.AlwaysFaceTargetOffset; } - case ShipSteeringMode.OrbitCW: - case ShipSteeringMode.Orbit: + if (good) { - // take our position, project onto our target radius, rotate by desired orbit offset - var invert = comp.Mode == ShipSteeringMode.OrbitCW; - var rotateAngle = new Angle(comp.OrbitOffset * (invert ? -1 : 1)); - return mapTarget.Offset(NormalizedOrZero(rotateAngle.RotateVec(-toTargetVec)) * midRange); + ent.Comp.Status = ShipSteeringStatus.InRange; + return; } } - return mapTarget; + // get our actual move target, which will be either under us if we're in a position we're okay with, or a point in the middle of our target band + var destMapPos = mapTarget; + if (distance < lowRange || distance > highRange) + destMapPos = destMapPos.Offset(NormalizedOrZero(-toTargetVec) * midRange); + else + destMapPos = shipPos; + + args.Input = ProcessMovement(shipUid.Value, + shipXform, shipBody, shuttle, shipGrid, + destMapPos, targetVel, targetUid, + maxArrivedVel, ent.Comp.BrakeThreshold, args.FrameTime, + ent.Comp.AvoidCollisions, ent.Comp.MaxObstructorDistance, + targetAngleOffset, ent.Comp.AlwaysFaceTarget ? toTargetVec.ToWorldAngle() : null); } - /// - /// Handle getting our inputs. - /// - private ShuttleInput ProcessMovement( - in SteeringContext ctx, - in SteeringConfig config, - ref float rotationCompensation) + private ShuttleInput ProcessMovement(EntityUid shipUid, + TransformComponent shipXform, PhysicsComponent shipBody, ShuttleComponent shuttle, MapGridComponent shipGrid, + MapCoordinates destMapPos, Vector2 targetVel, EntityUid? targetUid, + float maxArrivedVel, float brakeThreshold, float frameTime, + bool avoidCollisions, float maxObstructorDistance, + Angle targetAngleOffset, Angle? angleOverride) { - // check our braking power - var brakeCtx = GetBrakeContext(ctx, config.MaxArrivedVel); - - // check obstacle avoidance - ScanForObstacles(ctx, config, brakeCtx); - var avoidanceVec = CalculateAvoidanceVector(ctx, config, brakeCtx); - - // use avoidance vector if available or proceed with thrust as normal - var wishInputVec = avoidanceVec ?? CalculateNavigationVector(ctx, brakeCtx); - // process angular input - var rotControl = CalculateRotationControl(ctx, config, wishInputVec, ref rotationCompensation); - - // process brake input - var brakeInput = CalculateBrake(ctx, config, wishInputVec, rotControl, brakeCtx); + var shipPos = _transform.GetMapCoordinates(shipXform); + var shipNorthAngle = _transform.GetWorldRotation(shipXform); + var angleVel = shipBody.AngularVelocity; + var linVel = shipBody.LinearVelocity; - // convert wish-input to ship context - var strafeInput = (-ctx.ShipNorthAngle).RotateVec(wishInputVec); - strafeInput = GetGoodThrustVector(strafeInput, ctx.Shuttle) * MathF.Min(1f, wishInputVec.Length()); - // Log.Info($"input {strafeInput} norot {wishInputVec}"); + var toDestVec = destMapPos.Position - shipPos.Position; + var destDistance = toDestVec.Length(); - return new ShuttleInput(strafeInput, rotControl.RotationInput, brakeInput); - } + // try to lead the target with the target velocity we've been passed in + var relVel = linVel - targetVel; - private BrakeContext GetBrakeContext(in SteeringContext ctx, float maxArrivedVel) - { - // check our brake thrust - var brakeVec = GetGoodThrustVector((-ctx.ShipNorthAngle).RotateVec(-ctx.ShipBody.LinearVelocity), ctx.Shuttle); - var brakeThrust = _mover.GetDirectionThrust(brakeVec, ctx.Shuttle, ctx.ShipBody) * ShuttleComponent.BrakeCoefficient; - var brakeAccelVec = brakeThrust * ctx.ShipBody.InvMass; + var brakeVec = GetGoodThrustVector((-shipNorthAngle).RotateVec(-linVel), shuttle); + var brakeThrust = _mover.GetDirectionThrust(brakeVec, shuttle, shipBody) * ShuttleComponent.BrakeCoefficient; + var brakeAccelVec = brakeThrust * shipBody.InvMass; var brakeAccel = brakeAccelVec.Length(); - - var linVelLenSq = ctx.ShipBody.LinearVelocity.LengthSquared(); - - // s = v^2 / 2a - var brakePath = linVelLenSq / (2f * brakeAccel); - // path we will pass if we keep braking until we reach our desired max velocity - var innerBrakePath = maxArrivedVel*maxArrivedVel / (2f * brakeAccel); - + // check what's our brake path until we hit our desired minimum velocity + var brakePath = linVel.LengthSquared() / (2f * brakeAccel); + var innerBrakePath = maxArrivedVel / (2f * brakeAccel); // negative if we're already slow enough var leftoverBrakePath = brakeAccel == 0f ? 0f : brakePath - innerBrakePath; - return new BrakeContext(brakeAccel, brakePath, leftoverBrakePath); - } - - private void ScanForObstacles(in SteeringContext ctx, in SteeringConfig config, in BrakeContext brake) - { - var SearchBuffer = config.SearchBuffer; - var ScanDistanceBuffer = config.ScanDistanceBuffer; - var ProjectileSearchBounds = config.ProjectileSearchBounds; - - var shipPosVec = ctx.ShipPos.Position; - var shipVel = ctx.ShipBody.LinearVelocity; - var shipAABB = ctx.ShipGrid.LocalAABB; - var velAngle = ctx.ShipBody.LinearVelocity.ToWorldAngle(); - - var scanDistance = brake.BrakeAccel == 0f ? - config.MaxObstructorDistance - : MathF.Min(config.MaxObstructorDistance, brake.BrakePath * 2f); - scanDistance += shipAABB.Size.Length() * 0.5f + ScanDistanceBuffer; - - var scanBoundsLocal = shipAABB - .Enlarged(SearchBuffer) - .ExtendToContain(new Vector2(0, scanDistance)); - - var scanBounds = new Box2(scanBoundsLocal.BottomLeft + shipPosVec, scanBoundsLocal.TopRight + shipPosVec); - var scanBoundsWorld = new Box2Rotated(scanBounds, velAngle - new Angle(Math.PI), shipPosVec); - - // query for everything nearby - _avoidGrids.Clear(); - if (config.AvoidCollisions) - _mapMan.FindGridsIntersecting(ctx.ShipPos.MapId, scanBoundsWorld, ref _avoidGrids, approx: true, includeMap: false); - - _avoidProjs.Clear(); - if (config.AvoidProjectiles) - _avoidProjs = _lookup.GetEntitiesInRange( - ctx.ShipPos, ProjectileSearchBounds, LookupFlags.Approximate | LookupFlags.Dynamic | LookupFlags.Sensors); - - // pool all queried ents - _avoidPotentialEnts.Clear(); - foreach (var grid in _avoidGrids) - _avoidPotentialEnts.Add((grid, true)); - - foreach (var proj in _avoidProjs) - _avoidPotentialEnts.Add((proj, false)); - - _avoidEnts.Clear(); - foreach (var (ent, isGrid) in _avoidPotentialEnts) + Vector2 wishInputVec = Vector2.Zero; + bool didCollisionAvoidance = false; + // try avoid collisions + if (avoidCollisions && linVel.LengthSquared() > 0f) { - // don't avoid ourselves or the target - if (ent == ctx.ShipUid || ent == ctx.TargetUid || ent == ctx.TargetGridUid || !_physQuery.TryComp(ent, out var obstacleBody)) - continue; + var grids = new List>(); - var otherXform = Transform(ent); - _gridQuery.TryComp(ent, out var obsGrid); - var aabb = _physics.GetWorldAABB(ent, body: obstacleBody, xform: otherXform); - var obsPos = aabb.Center; - var obsRadius = (obsGrid?.LocalAABB ?? aabb).Size.Length() * 0.5f; + // note: there's several magic numbers here, i consider those acceptable since they're almost an implementation detail + // i can't think of any reason for anyone to want to change them + const float SearchBuffer = 96f; + const float ScanDistanceBuffer = 96f; + const float CollisionRadiusBuffer = 12f; - _avoidEnts.Add(new((ent, otherXform, obstacleBody), obsPos, obsRadius, isGrid)); - } + // how far ahead to look for grids + var shipPosVec = shipPos.Position; + var shipAABB = shipGrid.LocalAABB; + var velAngle = linVel.ToWorldAngle(); - } + var scanDistance = (brakeAccel == 0f ? maxObstructorDistance : MathF.Min(maxObstructorDistance, brakePath)) + + shipAABB.Height * 0.5f + ScanDistanceBuffer; - private Vector2? CalculateAvoidanceVector( - in SteeringContext ctx, - in SteeringConfig config, - in BrakeContext brake) - { - var shipPos = ctx.ShipPos.Position; - var shipVel = ctx.ShipBody.LinearVelocity; - var shipRadius = ctx.ShipGrid.LocalAABB.Size.Length() / 2f + config.EvasionBuffer; - - var targetVec = ctx.DestMapPos.Position - shipPos; - var normTarget = NormalizedOrZero(targetVec); - var wishDir = targetVec; - wishDir.Normalize(); - - // ignore collisions more than this far into the future - // TODO: account for angular accel if we can't brake - var simTime = brake.BrakeAccel == 0f ? 10f : 2f * ctx.ShipBody.LinearVelocity.Length() / brake.BrakeAccel; - simTime += config.BaseEvasionTime; - - _sectors.Clear(); - for (var i = 0; i < config.EvasionSectorCount; i++) - { - var angle = Angle.FromDegrees(360f * i / (float)config.EvasionSectorCount); - var dir = angle.ToVec(); + var scanBoundsLocal = shipAABB + .Enlarged(SearchBuffer) + .ExtendToContain(new Vector2(0, scanDistance)); - var rotated = (-ctx.ShipNorthAngle).RotateVec(dir); - var dirAccel = _mover.GetDirectionThrust(rotated, ctx.Shuttle, ctx.ShipBody).Length(); - // if it's zero use a very rough approximation using our forward thrust - if (dirAccel == 0f) - { - var upVec = new Vector2(0f, 1f); - var penalty = 0.5f * (Vector2.Dot(upVec, rotated) + 1f); - dirAccel = _mover.GetDirectionThrust(upVec, ctx.Shuttle, ctx.ShipBody).Length() * penalty; - } + var scanBounds = new Box2(scanBoundsLocal.BottomLeft + shipPosVec, scanBoundsLocal.TopRight + shipPosVec); + var scanBoundsWorld = new Box2Rotated(scanBounds, velAngle - new Angle(Math.PI), shipPosVec); + _mapMan.FindGridsIntersecting(shipPos.MapId, scanBoundsWorld, ref grids, approx: true, includeMap: false); - for (var depth = 1; depth <= config.EvasionSectorDepth; depth++) + foreach (var ent in grids) { - if (i % depth == 0) - _sectors.Add(new(dir, dirAccel / depth, 1f / depth)); - } - } - // set scale to -1 to mark it as the wish-sector - _sectors.Add(new(wishDir, _mover.GetDirectionThrust((-ctx.ShipNorthAngle).RotateVec(wishDir), ctx.Shuttle, ctx.ShipBody).Length(), -1f)); - - foreach (var obstacle in _avoidEnts) - { - var obsRadius = obstacle.Radius; - var sumRadius = obsRadius + shipRadius; - var obsXform = obstacle.Ent.Comp1; - var obsPos = obstacle.Pos; - var obsVel = obstacle.Ent.Comp2.LinearVelocity; - var relVel = shipVel - obsVel; - var toObsVec = obsPos - shipPos; - var toObsDir = toObsVec.Normalized(); - var obsDistance = MathF.Max(toObsVec.Length() - sumRadius, 1f); - // Log.Info($"DR {ToPrettyString(ctx.ShipUid)} Avoiding {ToPrettyString(obstacle.Ent)}: dp {toObsVec} dv {relVel} dist {obsDistance} sr {sumRadius}"); - - // get time-to-collide with the accel of each sector - // - // r = obsDistance - // d = sumRadius - // p = vt + at^2 / 2 - // solve for: dot(p, toObsDir) = r - // condition for no hit: abs(dot(p, toObsVec.rotate(90))) > d - // p = (x, y) - // toObsDir = (u, v) - // ux + vy = r - // x = v_x*t + a_x * t^2 / 2 - // y = v_y*t + a_y * t^2 / 2 - // u(v_x*t + 0.5*a_x*t^2) + v(v_y*t + 0.5*a_y*t^2) = r - // t^2 * (0.5*(u*a_x + v*a_y)) + t * (u*v_x + v*v_y) - r = 0 - // k = 0.5 * u*a_x + v*a_y = 0.5 * dot(toObsDir, a) - // l = u*v_x + v*v_y = dot(toObsDir, vel) - // m = -r - // t = (-l + sqrt(l^2 - 4km)) / (2k) - // if 4km > l^2, no hit - // if t<0, no hit - // - // https://www.desmos.com/calculator/foyraxlzs7 graphed version - var l = Vector2.Dot(toObsDir, relVel); - for (var i = 0; i < _sectors.Count; i++) - { - var sector = _sectors[i]; - - var aDir = sector.Sector; - var accel = aDir * sector.Accel; - var k = 0.5f * Vector2.Dot(toObsDir, accel); - var m = -obsDistance; - var t = 4*k*m > l*l || k == 0f ? -1f : ((-l + MathF.Sqrt(l*l - 4*k*m)) * 0.5f / k); - if (t < 0f || t > simTime) + if (ent.Owner == shipUid || ent.Owner == targetUid || !_physQuery.TryComp(ent, out var obstacleBody)) continue; - t = MathF.Max(0f, t - ctx.FrameTime); - var endAt = relVel*t + 0.5f*accel*t*t; - var proj = MathF.Abs(Vector2.Dot(endAt, new Vector2(-toObsDir.Y, toObsDir.X))); - // Log.Info($"Avoid dir {aDir} time {t}, proj {proj} (k l m {k} {l} {m}) accel {accel}"); - if (proj > sumRadius) - continue; + var toObstacle = _transform.GetMapCoordinates(ent).Position - shipPosVec; + var obstacleDistance = toObstacle.Length(); - var ctime = sector.ImpactTime; - if ((ctime == null || ctime > t) && (!sector.Priority || obstacle.IsGrid)) - { - var priority = obstacle.IsGrid || sector.Priority; - _sectors[i] = new(sector.Sector, sector.Accel, sector.Scale, t, priority); - } - } - // specialcase 0, 0 wishInput - var last = _sectors[_sectors.Count - 1]; - if (last.Sector.LengthSquared() == 0f) - { - var t = obsDistance / Vector2.Dot(relVel, toObsDir); - if (t < 0f || t > simTime) + var obstacleRelVel = linVel - obstacleBody.LinearVelocity; + var velDir = NormalizedOrZero(linVel); + var relVelDir = NormalizedOrZero(obstacleRelVel); + + // if it's somehow not in front of our movement we don't care + if (Vector2.Dot(toObstacle, relVelDir) <= 0) continue; - var endAt = relVel*t; - var proj = MathF.Abs(Vector2.Dot(endAt, new Vector2(-toObsDir.Y, toObsDir.X))); - // Log.Info($"Avoid dir {last.Sector} time {t}, proj {proj}"); - if (proj > sumRadius) + // check by how much we have to miss + // approximate via grid AABB + var otherBounds = ent.Comp.LocalAABB; + var shipRadius = MathF.Sqrt(shipAABB.Width * shipAABB.Width + shipAABB.Height * shipAABB.Height) / 2f + CollisionRadiusBuffer; + var obstacleRadius = MathF.Sqrt(otherBounds.Width * otherBounds.Width + otherBounds.Height * otherBounds.Height) / 2f; + var sumRadius = shipRadius + obstacleRadius; + + // if it's behind destination we don't care + if (obstacleDistance > destDistance + sumRadius) continue; - var ctime = last.ImpactTime; - if ((ctime == null || ctime > t) && (!last.Priority || obstacle.IsGrid)) + // check by how much we're already missing + var effectiveDist = MathF.Max(obstacleDistance - sumRadius, 1f); // this being 0 will break things + var pathVec = relVelDir * obstacleDistance * obstacleDistance / Vector2.Dot(toObstacle, relVelDir); + var sideVec = pathVec - toObstacle; + sideVec *= effectiveDist / obstacleDistance; + var sideDist = sideVec.Length(); + + if (sideDist < sumRadius) { - var priority = obstacle.IsGrid || last.Priority; - _sectors[_sectors.Count - 1] = new(last.Sector, last.Accel, last.Scale, t, priority); + var toDestDir = NormalizedOrZero(toDestVec); + + // get direction we want to dodge in and where we'll actually thrust to do that + var dodgeDir = NormalizedOrZero(sideVec); + var dodgeVec = GetGoodThrustVector((-shipNorthAngle).RotateVec(sideVec), shuttle); + var dodgeThrust = _mover.GetDirectionThrust(dodgeVec, shuttle, shipBody).Length(); + var dodgeAccel = dodgeThrust * shipBody.InvMass; + var dodgeLeft = sumRadius - sideDist; + var dodgeVel = Vector2.Dot(obstacleRelVel, dodgeDir); + // knowing our side-thrust, + // solve quadratic equation to determine in how much more time we'll dodge + var dodgeTime = (-dodgeVel + MathF.Sqrt(dodgeVel * dodgeVel + 2f * dodgeLeft * dodgeAccel)) / dodgeAccel; + + // check how much we can afford to thrust inwards (or outwards) anyway and still dodge + var inVel = Vector2.Dot(toObstacle, obstacleRelVel) * toObstacle / toObstacle.LengthSquared(); + var maxInAccel = 2f * (effectiveDist / dodgeTime - inVel.Length()) / dodgeTime; + + // check what's our actual inwards thrust so we know how to scale our input + var inAccelVec = GetGoodThrustVector((-shipNorthAngle).RotateVec(toDestDir), shuttle); + var inThrust = _mover.GetDirectionThrust(inAccelVec, shuttle, shipBody).Length(); + var inAccel = inThrust * shipBody.InvMass; + + // if we don't have dodge acceleration, brake and turn to the side and hope this helps + var inInput = dodgeAccel == 0f ? -1f : float.Clamp(maxInAccel / inAccel, -1f, 1f); + + // those should be around perpendicular so this should work out + wishInputVec = toDestDir * inInput + dodgeDir; + didCollisionAvoidance = true; + break; } } } - - var closestSector = (int?)null; - var closestDistance = float.PositiveInfinity; - - var bestSector = 0; - var bestTime = 0f; - for (var i = 0; i < _sectors.Count; i++) + if (!didCollisionAvoidance) { - var sector = _sectors[i]; - if (sector.ImpactTime == null) + // if we can't brake then don't + if (leftoverBrakePath > destDistance && brakeAccel != 0f) { - var toWishSq = (wishDir - sector.Sector).LengthSquared(); - // Log.Info($"NI dir [{i}] {sector.Sector}: sq: {toWishSq} vs {closestDistance}"); - if (toWishSq < closestDistance) - { - // Log.Info($"B: NI"); - closestDistance = toWishSq; - closestSector = i; - } + wishInputVec = -relVel; } else { - // Log.Info($"IT dir [{i}] {sector.Sector}: impact time {sector.ImpactTime.Value} vs {bestTime}"); - if (sector.ImpactTime.Value > bestTime) - { - // Log.Info($"B: IT"); - bestSector = i; - bestTime = sector.ImpactTime.Value; - } - } - } - - var chosenI = closestSector ?? bestSector; - var chosen = _sectors[chosenI]; - // Log.Info($"Chosen: [{chosenI}] {chosen.Sector}"); - // original wishDir is clear - if (chosen.Scale == -1f) - return null; - - return chosen.Sector * chosen.Scale; - } - - // navigation for if we aren't avoiding a collision - private Vector2 CalculateNavigationVector(in SteeringContext ctx, in BrakeContext brake) - { - var toDestVec = ctx.DestMapPos.Position - ctx.ShipPos.Position; - var destDistance = toDestVec.Length(); - var toDestDir = NormalizedOrZero(toDestVec); - var relVel = ctx.ShipBody.LinearVelocity - ctx.TargetVel; - - // we're good - if (brake.LeftoverBrakePath < 0f && destDistance == 0f) - return Vector2.Zero; - - // check if we should just brake - if (brake.LeftoverBrakePath > destDistance) - return -relVel; + var linVelDir = NormalizedOrZero(relVel); + var toDestDir = NormalizedOrZero(toDestVec); + // mirror linVelDir in relation to toTargetDir + // for that we orthogonalize it then invert it to get the perpendicular-vector + var adjustVec = -(linVelDir - toDestDir * Vector2.Dot(linVelDir, toDestDir)); + var adjustDir = NormalizedOrZero(adjustVec); - var linVelDir = NormalizedOrZero(relVel); + var adjustThrustDir = GetGoodThrustVector((-shipNorthAngle).RotateVec(adjustDir), shuttle); + var adjustThrust = _mover.GetDirectionThrust(adjustVec, shuttle, shipBody).Length(); + var adjustAccel = adjustThrust * shipBody.InvMass; - // mirror linVelDir in relation to toTargetDir - var adjustVec = -(linVelDir - toDestDir * Vector2.Dot(linVelDir, toDestDir)); - var adjustDir = NormalizedOrZero(adjustVec); + var adjustDirVel = Vector2.Dot(adjustDir, linVel) * adjustDir; + adjustVec *= adjustAccel == 0f ? 0f : MathF.Min(1f, adjustDirVel.Length() / (adjustAccel * frameTime)); - var wishThrustDir = toDestDir + 2f * adjustVec; - - var wishThrustVec = _mover.GetDirectionThrust((-ctx.ShipNorthAngle).RotateVec(wishThrustDir), ctx.Shuttle, ctx.ShipBody); - var adjustAccel = Vector2.Dot(adjustDir, wishThrustVec) * ctx.ShipBody.InvMass; - - var maxAdjust = Vector2.Dot(-adjustDir, relVel); - - adjustVec *= adjustAccel == 0f ? 0f : float.Clamp(maxAdjust / (adjustAccel * ctx.FrameTime), 0f, 1f); + wishInputVec = toDestDir + adjustVec * 2; + } + } - // do not yet process whether we can actually accelerate well in that direction - return toDestDir + 2f * adjustVec; - } + var strafeInput = (-shipNorthAngle).RotateVec(wishInputVec); + strafeInput = GetGoodThrustVector(strafeInput, shuttle); - private readonly record struct RotationResult(float RotationInput, float WishAngleVel); - private RotationResult CalculateRotationControl( - in SteeringContext ctx, - in SteeringConfig config, - Vector2 wishInputVec, - ref float rotationCompensation) - { - Angle wishAngleActual; - if (config.AngleOverride != null) - wishAngleActual = config.AngleOverride.Value; + Angle wishAngle; + if (angleOverride != null) + wishAngle = angleOverride.Value; + // try to face our thrust direction if we can + // TODO: determine best thrust direction and face accordingly else if (wishInputVec.Length() > 0) - wishAngleActual = wishInputVec.ToWorldAngle(); + wishAngle = wishInputVec.ToWorldAngle(); else - wishAngleActual = (ctx.DestMapPos.Position - ctx.ShipPos.Position).ToWorldAngle(); - - wishAngleActual += config.TargetAngleOffset; - var wishAngle = wishAngleActual + rotationCompensation; + wishAngle = toDestVec.ToWorldAngle(); - var angAccel = _mover.GetAngularAcceleration(ctx.Shuttle, ctx.ShipBody); - - // process the PID - var wishRotateByActual = ShortestAngleDistance(ctx.ShipNorthAngle + new Angle(Math.PI), wishAngleActual); - rotationCompensation += (float)wishRotateByActual * config.RotationCompensationGain * ctx.FrameTime * MathF.Sqrt(angAccel); - - // process how we want to rotate - var wishRotateBy = ShortestAngleDistance(ctx.ShipNorthAngle + new Angle(Math.PI), wishAngle); + var angAccel = _mover.GetAngularAcceleration(shuttle, shipBody); + // there's 500 different standards on how to count angles so needs the +PI + var wishRotateBy = targetAngleOffset + ShortestAngleDistance(shipNorthAngle + new Angle(Math.PI), wishAngle); var wishAngleVel = MathF.Sqrt(MathF.Abs((float)wishRotateBy) * 2f * angAccel) * Math.Sign(wishRotateBy); + var wishDeltaAngleVel = wishAngleVel - angleVel; + var rotationInput = angAccel == 0f ? 0f : -wishDeltaAngleVel / angAccel / frameTime; - // check by how much our desired angular velocity would rotate us in a frame - var wishFrameRotate = wishAngleVel * ctx.FrameTime; - // if that would overshoot the target, wish to rotate slower - if (MathF.Abs(wishFrameRotate) > MathF.Abs((float)wishRotateBy) * config.TurnEaseIn && wishFrameRotate != 0f) - wishAngleVel *= MathF.Abs((float)wishRotateBy * config.TurnEaseIn / wishFrameRotate); - - var wishDeltaAngleVel = wishAngleVel - ctx.ShipBody.AngularVelocity; - // this is clamped to [-1, 1] downstream, but need to invert input - var rotationInput = angAccel == 0f ? 0f : -wishDeltaAngleVel / angAccel / ctx.FrameTime; - - return new RotationResult(rotationInput, wishAngleVel); - } - - private float CalculateBrake( - in SteeringContext ctx, - in SteeringConfig config, - Vector2 wishInputVec, - RotationResult rot, - in BrakeContext brake) - { var brakeInput = 0f; - var linVel = ctx.ShipBody.LinearVelocity; - var angleVel = ctx.ShipBody.AngularVelocity; - - // brake if we're: - // moving opposite to desired direction - // && not wanting to rotate much or want to brake our rotation as well - if (Vector2.Dot(NormalizedOrZero(wishInputVec), NormalizedOrZero(-linVel)) >= config.BrakeThreshold - && (MathF.Abs(rot.RotationInput) < 1f - config.BrakeThreshold - || rot.WishAngleVel * angleVel < 0 - || MathF.Abs(rot.WishAngleVel) < MathF.Abs(angleVel))) + // check if we should brake, brake if it's in a good direction and it won't stop us from rotating + if (Vector2.Dot(NormalizedOrZero(wishInputVec), NormalizedOrZero(-linVel)) >= brakeThreshold + && (MathF.Abs(rotationInput) < 1f - brakeThreshold || wishAngleVel * angleVel < 0 || MathF.Abs(wishAngleVel) < MathF.Abs(angleVel))) { brakeInput = 1f; } - return brakeInput; + return new ShuttleInput(strafeInput, rotationInput, brakeInput); } private void OnShuttleStartCollide(Entity ent, ref PilotedShuttleRelayedEvent outerArgs) { var args = outerArgs.Args; - var targetEnt = ent.Comp.Coordinates.EntityId; - var targetGrid = Transform(targetEnt).GridUid; - // if we want to finish movement on collide with target, do so - if (ent.Comp.FinishOnCollide && (args.OtherEntity == targetGrid || args.OtherEntity == targetEnt)) + // finish movement if we collided with target and want to finish in this case + if (ent.Comp.FinishOnCollide && args.OtherEntity == ent.Comp.Coordinates.EntityId) ent.Comp.Status = ShipSteeringStatus.InRange; } - // RT's equivalent method is broken so have to use this - public static Angle ShortestAngleDistance(Angle from, Angle to) - { - var diff = (to - from) % Math.Tau; - return diff + Math.Tau * (diff < -Math.PI ? 1 : diff > Math.PI ? -1 : 0); - } - - public static Vector2 NormalizedOrZero(Vector2 vec) + public Vector2 NormalizedOrZero(Vector2 vec) { return vec.LengthSquared() == 0 ? Vector2.Zero : vec.Normalized(); } @@ -628,7 +345,7 @@ public Vector2 GetGoodThrustVector(Vector2 wish, ShuttleComponent shuttle, float if (vertThrust * wishY < horizThrust * threshold * wishX) res.Y = 0f; - return NormalizedOrZero(res); + return res; } /// @@ -662,57 +379,4 @@ public void Stop(Entity ent) RemComp(ent); } - - private record struct SteeringContext - { - // ship - public EntityUid ShipUid; - public TransformComponent ShipXform; - public PhysicsComponent ShipBody; - // TODO: get rid of Shuttle and ShipGrid so this can be reused for non-grid piloting - public ShuttleComponent Shuttle; - public MapGridComponent ShipGrid; - public MapCoordinates ShipPos; - public Angle ShipNorthAngle; - public MapCoordinates DestMapPos; - // target - public Vector2 TargetVel; - public EntityUid TargetUid; - public EntityUid? TargetGridUid; - public MapCoordinates TargetEntPos; - // misc - public float FrameTime; - } - - private record struct SteeringConfig - { - // movement - public float MaxArrivedVel; - public float BrakeThreshold; - public float TurnEaseIn; - // avoidance - public bool AvoidCollisions; - public bool AvoidProjectiles; - public int EvasionSectorCount; - public int EvasionSectorDepth; - public float BaseEvasionTime; - public float MaxObstructorDistance; - public float MinObstructorDistance; - public float EvasionBuffer; - public float SearchBuffer; - public float ScanDistanceBuffer; - public float ProjectileSearchBounds; - // PID - public float RotationCompensationGain; - // rotation - public Angle TargetAngleOffset; - public Angle? AngleOverride; - public bool AlwaysFaceTarget; - } - - private readonly record struct BrakeContext(float BrakeAccel, float BrakePath, float LeftoverBrakePath); - - private readonly record struct ObstacleCandidate(Entity Ent, Vector2 Pos, float Radius, bool IsGrid); - - private record struct EvadeCandidate(Vector2 Sector, float Accel, float Scale, float? ImpactTime = null, bool Priority = false); } diff --git a/Content.Server/_Mono/NPC/HTN/ShipTargetingComponent.cs b/Content.Server/_Mono/NPC/HTN/ShipTargetingComponent.cs index aeef56d47c4..d8121c945c3 100644 --- a/Content.Server/_Mono/NPC/HTN/ShipTargetingComponent.cs +++ b/Content.Server/_Mono/NPC/HTN/ShipTargetingComponent.cs @@ -32,16 +32,4 @@ public sealed partial class ShipTargetingComponent : Component /// [DataField] public List Cannons = new(); - - /// - /// Accumulator of checking the grid's weapons. - /// - [ViewVariables] - public float WeaponCheckAccum = 0f; - - /// - /// How often to re-check available weapons. - /// - [ViewVariables] - public float WeaponCheckSpacing = 3f; } diff --git a/Content.Server/_Mono/NPC/HTN/ShipTargetingSystem.cs b/Content.Server/_Mono/NPC/HTN/ShipTargetingSystem.cs index 4a37ba95041..8b84b1c39ea 100644 --- a/Content.Server/_Mono/NPC/HTN/ShipTargetingSystem.cs +++ b/Content.Server/_Mono/NPC/HTN/ShipTargetingSystem.cs @@ -1,12 +1,15 @@ using Content.Server._Mono.FireControl; -using Content.Shared.Weapons.Hitscan.Components; +using Content.Server.Weapons.Ranged.Systems; +using Content.Shared.Physics; +using Content.Shared.Tag; +using Robust.Shared.Physics; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Systems; using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Systems; -using Robust.Shared.Spawners; +using System.Linq; using System.Numerics; namespace Content.Server._Mono.NPC.HTN; @@ -14,10 +17,11 @@ namespace Content.Server._Mono.NPC.HTN; public sealed partial class ShipTargetingSystem : EntitySystem { [Dependency] private readonly EntityLookupSystem _lookup = default!; - [Dependency] private readonly FireControlSystem _cannon = default!; - [Dependency] private readonly SharedGunSystem _gun = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedGunSystem _gunSystem = default!; + [Dependency] private readonly TagSystem _tagSystem = default!; + [Dependency] private readonly IMapManager _mapManager = default!; private EntityQuery _gunQuery; private EntityQuery _physQuery; @@ -50,15 +54,15 @@ public override void Update(float frameTime) var target = comp.Target; var targetUid = target.EntityId; // if we have a target try to lead it + var targetGrid = Transform(targetUid).GridUid; if (shipUid == null || TerminatingOrDeleted(targetUid) - || !_physQuery.TryComp(shipUid, out var shipBody) - || !TryComp(shipUid, out var shipGrid) - ) + || !_physQuery.TryComp(shipUid, out var shipBody)) + { + RemComp(uid); continue; - - var targetGrid = Transform(targetUid).GridUid; + } var shipXform = Transform(shipUid.Value); @@ -73,94 +77,105 @@ public override void Update(float frameTime) var targetVel = targetGrid == null ? Vector2.Zero : _physics.GetMapLinearVelocity(targetGrid.Value); var leadBy = 1f - MathF.Pow(1f - comp.LeadingAccuracy, frameTime); comp.CurrentLeadingVelocity = Vector2.Lerp(comp.CurrentLeadingVelocity, targetVel, leadBy); + var relVel = comp.CurrentLeadingVelocity - linVel; - comp.WeaponCheckAccum -= frameTime; - if (comp.WeaponCheckAccum < 0f) - { - comp.Cannons.Clear(); - var cannons = new HashSet>(); - _lookup.GetLocalEntitiesIntersecting(shipUid.Value, shipGrid.LocalAABB, cannons); - foreach (var cannon in cannons) - { - comp.Cannons.Add(cannon); - } - comp.WeaponCheckAccum += comp.WeaponCheckSpacing; - } - - FireWeapons(shipUid.Value, comp.Cannons, mapTarget, linVel, comp.CurrentLeadingVelocity); + FireWeapons(shipUid.Value, comp.Cannons, mapTarget, relVel); } } - private void FireWeapons(EntityUid shipUid, List cannons, MapCoordinates destMapPos, Vector2 ourVel, Vector2 otherVel) + private void FireWeapons(EntityUid shipUid, List cannons, MapCoordinates destMapPos, Vector2 leadBy) { - var shipXform = Transform(shipUid); - if (!_physQuery.TryComp(shipUid, out var shipBody)) - return; + var shipPos = _transform.GetMapCoordinates(shipUid); - if (!_cannon.CanFireWeapons(shipUid)) - return; - - var shipAngVel = shipBody.AngularVelocity; - var shipCenter = shipBody.LocalCenter; + var toDestVec = destMapPos.Position - shipPos.Position; + var toDestDir = NormalizedOrZero(toDestVec); foreach (var uid in cannons) { if (TerminatingOrDeleted(uid)) continue; - var gXform = Transform(uid); + var targetPos = destMapPos.Position; + if (!_gunQuery.TryComp(uid, out var gun)) + continue; - if (!gXform.Anchored || !_gunQuery.TryComp(uid, out var gun)) + var projVel = gun.ProjectileSpeedModified; + var normVel = toDestDir * Vector2.Dot(leadBy, toDestDir); + var tgVel = leadBy - normVel; + // going too fast to the side, we can't possibly hit it + if (tgVel.Length() > projVel) continue; - var hitTime = 0f; - var leadBy = Vector2.Zero; - if (_gun.TryNextShootPrototype((uid, gun), out var proto)) - { - var gunToDestVec = destMapPos.Position - _transform.GetWorldPosition(gXform); + var normTarget = toDestDir * MathF.Sqrt(projVel * projVel - tgVel.LengthSquared()); + // going too fast away, we can't hit it + if (Vector2.Dot(normTarget, normVel) > 0f && normVel.Length() > normTarget.Length()) + continue; - if (proto.TryGetComponent(out var raycast, Factory)) - { - // check if too far - if (raycast.MaxDistance < gunToDestVec.Length()) - continue; - } - else - { - var centerToGunVec = gXform.LocalPosition - shipBody.LocalCenter; - // rotate 90deg left - var gunAngVel = new Vector2(-centerToGunVec.Y, centerToGunVec.X) * shipAngVel; - gunAngVel = shipXform.LocalRotation.RotateVec(gunAngVel); - leadBy = otherVel - ourVel - gunAngVel; - - var gunToDestDir = NormalizedOrZero(gunToDestVec); - - var projVel = gun.ProjectileSpeedModified; - var normVel = gunToDestDir * Vector2.Dot(leadBy, gunToDestDir); - var tgVel = leadBy - normVel; - // going too fast to the side, we can't possibly hit it - if (tgVel.Length() > projVel) - continue; - - var normTarget = gunToDestDir * MathF.Sqrt(projVel * projVel - tgVel.LengthSquared()); - // going too fast away, we can't hit it - if (Vector2.Dot(normTarget, normVel) > 0f && normVel.Length() > normTarget.Length()) - continue; - - var approachVel = (normTarget - normVel).Length(); - hitTime = gunToDestVec.Length() / approachVel; - - // might take too long to hit - var bulletProto = _gun.GetBulletPrototype(proto); - if (bulletProto.TryGetComponent(out var despawn, Factory) && hitTime > despawn.Lifetime) - continue; - } + var approachVel = (normTarget - normVel).Length(); + var hitTime = toDestVec.Length() / approachVel; + + targetPos += leadBy * hitTime; + + var gunXform = Transform(uid); + if (gunXform.MapID != destMapPos.MapId) + continue; + + var gunWorldPos = _transform.GetWorldPosition(gunXform); + var diff = targetPos - gunWorldPos; + if (diff.LengthSquared() <= 0.01f) + continue; + + var direction = diff.Normalized(); + if (!CanFireInDirection(uid, gunWorldPos, direction, targetPos, gunXform.MapID)) + continue; + + // Rotate weapon towards target if applicable. + if (TryComp(uid, out _)) + { + var goalAngle = Angle.FromWorldVec(diff); + var parentRotation = _transform.GetWorldRotation(gunXform.ParentUid); + var localRotation = goalAngle - parentRotation; + _transform.SetLocalRotation(uid, localRotation, gunXform); } - var targetMapPos = destMapPos.Offset(leadBy * hitTime); + var targetCoords = new EntityCoordinates(_mapManager.GetMapEntityId(destMapPos.MapId), targetPos); + _gunSystem.AttemptShoot(uid, uid, gun, targetCoords); + } + } + + private bool CanFireInDirection(EntityUid weapon, Vector2 weaponPos, Vector2 direction, Vector2 targetPos, MapId mapId, float maxDistance = 1000f) + { + var weaponTransform = Transform(weapon); + var weaponGridUid = weaponTransform.GridUid; + + var targetDistance = Vector2.Distance(weaponPos, targetPos); + var distance = Math.Min(targetDistance, maxDistance); + + var ray = new CollisionRay(weaponPos, direction, collisionMask: (int)(CollisionGroup.Opaque | CollisionGroup.Impassable)); - _cannon.AttemptFire(uid, uid, _transform.ToCoordinates(targetMapPos), noServer: true); + bool CheckOnlyEntitiesOnSameGrid(EntityUid entity, EntityUid sourceWeapon) + { + if (entity == sourceWeapon) + return true; + + if (weaponGridUid == null) + return false; + + var entityTransform = Transform(entity); + var entityGridUid = entityTransform.GridUid; + return entityGridUid != weaponGridUid; } + + var raycastResults = _physics.IntersectRayWithPredicate( + mapId, + ray, + weapon, + CheckOnlyEntitiesOnSameGrid, + distance, + returnOnFirstHit: true + ).ToList(); + + return raycastResults.Count == 0; } public Vector2 NormalizedOrZero(Vector2 vec) @@ -172,16 +187,33 @@ public Vector2 NormalizedOrZero(Vector2 vec) /// Adds the AI to the steering system to move towards a specific target. /// Returns null on failure. /// - public ShipTargetingComponent? Target(Entity ent, EntityCoordinates coordinates) + public ShipTargetingComponent? Target(Entity ent, EntityCoordinates coordinates, bool checkGuns = true) { var xform = Transform(ent); var shipUid = xform.GridUid; + if (!TryComp(shipUid, out var grid)) + return null; if (!Resolve(ent, ref ent.Comp, false)) ent.Comp = AddComp(ent); ent.Comp.Target = coordinates; + if (checkGuns) + { //Find all guns on the ship grid with the AIShipWeapon tag + ent.Comp.Cannons.Clear(); + var guns = new HashSet>(); + _lookup.GetGridEntities(shipUid.Value, guns); + foreach (var gun in guns) + { + // Only add guns with the AIShipWeapon tag + if (_tagSystem.HasTag(gun, "AIShipWeapon")) + { + ent.Comp.Cannons.Add(gun); + } + } + } + return ent.Comp; } diff --git a/Content.Server/_Mono/Radar/GetRadarSourcesEvent.cs b/Content.Server/_Mono/Radar/GetRadarSourcesEvent.cs deleted file mode 100644 index 63b45ba721a..00000000000 --- a/Content.Server/_Mono/Radar/GetRadarSourcesEvent.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Content.Server._Mono.Radar; - -/// -/// Get a list of entities that we should check for distance against for showing blips. -/// If null, use just our console. -/// -[ByRefEvent] -public record struct GetRadarSourcesEvent(List? Sources = null); diff --git a/Content.Server/_Mono/Radar/HitscanRadarComponent.cs b/Content.Server/_Mono/Radar/HitscanRadarComponent.cs deleted file mode 100644 index f4196e13565..00000000000 --- a/Content.Server/_Mono/Radar/HitscanRadarComponent.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.Numerics; - -namespace Content.Server._Mono.Radar; - -/// -/// Stores the trajectory information for hitscan projectiles to be visualized on radar. -/// Tracks the start and end points of the hitscan beam to draw a line on the scanner. -/// -[RegisterComponent] -public sealed partial class HitscanRadarComponent : Component -{ - /// - /// Color that gets shown on the radar screen for the hitscan line. - /// - [ViewVariables(VVAccess.ReadWrite), DataField("radarColor")] - public Color RadarColor = Color.Magenta; - - /// - /// Start position of the hitscan beam in world coordinates. - /// - [DataField] - public Vector2 StartPosition; - - /// - /// End position of the hitscan beam in world coordinates. - /// - [DataField] - public Vector2 EndPosition; - - /// - /// Thickness of the line drawn on the radar. - /// - [ViewVariables(VVAccess.ReadWrite), DataField("lineThickness")] - public float LineThickness = 1.0f; - - /// - /// The grid that the hitscan is associated with, if any. - /// This is used for coordinate transformations when drawing on the radar. - /// - [DataField] - public EntityUid? OriginGrid; - - /// - /// Controls whether this hitscan line is visible on radar. - /// - [ViewVariables(VVAccess.ReadWrite), DataField("enabled")] - public bool Enabled = true; - - /// - /// Time this hitscan radar blip should remain visible before being automatically removed. - /// - [DataField] - public float LifeTime = 0.5f; -} diff --git a/Content.Server/_Mono/Radar/HitscanRadarSystem.cs b/Content.Server/_Mono/Radar/HitscanRadarSystem.cs deleted file mode 100644 index 16dd2938be2..00000000000 --- a/Content.Server/_Mono/Radar/HitscanRadarSystem.cs +++ /dev/null @@ -1,151 +0,0 @@ -using Robust.Shared.Map; -using Robust.Shared.Physics.Systems; -using System.Numerics; -using Content.Server._Mono.FireControl; -using Robust.Shared.Timing; -using Content.Shared.Weapons.Ranged; - -namespace Content.Server._Mono.Radar; - -/// -/// System that handles radar visualization for hitscan projectiles -/// -public sealed partial class HitscanRadarSystem : EntitySystem -{ - [Dependency] private readonly IMapManager _mapManager = default!; - [Dependency] private readonly RadarBlipSystem _radarBlipSystem = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - [Dependency] private readonly SharedPhysicsSystem _physics = default!; - [Dependency] private readonly IGameTiming _timing = default!; - - // Dictionary to track entities that should be deleted after a specific time - private readonly Dictionary _pendingDeletions = new(); - - /// - /// Event raised before firing the effects for a hitscan projectile. - /// - public sealed class HitscanFireEffectEvent : EntityEventArgs - { - public EntityCoordinates FromCoordinates { get; } - public float Distance { get; } - public Angle Angle { get; } - public HitscanPrototype Hitscan { get; } - public EntityUid? HitEntity { get; } - public EntityUid? Shooter { get; } - - public HitscanFireEffectEvent(EntityCoordinates fromCoordinates, float distance, Angle angle, HitscanPrototype hitscan, EntityUid? hitEntity = null, EntityUid? shooter = null) - { - FromCoordinates = fromCoordinates; - Distance = distance; - Angle = angle; - Hitscan = hitscan; - HitEntity = hitEntity; - Shooter = shooter; - } - } - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnHitscanEffect); - SubscribeLocalEvent(OnHitscanRadarShutdown); - } - - private void OnHitscanEffect(HitscanFireEffectEvent ev) - { - if (ev.Shooter == null) - return; - - // Only create hitscan radar blips for entities with FireControllable component - if (!HasComp(ev.Shooter.Value)) - return; - - // Create a new entity for the hitscan radar visualization - // Use the shooter's position to spawn the entity - var shooterCoords = new EntityCoordinates(ev.Shooter.Value, Vector2.Zero); - var uid = Spawn(null, shooterCoords); - - // Add the hitscan radar component - var hitscanRadar = EnsureComp(uid); - - // Determine start position using proper coordinate transformation - var startPos = _transform.ToMapCoordinates(ev.FromCoordinates).Position; - - // Compute end position in map space (world coordinates) - var dir = ev.Angle.ToVec().Normalized(); - var endPos = startPos + dir * ev.Distance; - - // Set the origin grid if available - hitscanRadar.OriginGrid = Transform(ev.Shooter.Value).GridUid; - - // Set the start and end coordinates - hitscanRadar.StartPosition = startPos; - hitscanRadar.EndPosition = endPos; - - // Inherit component settings from the shooter entity - InheritShooterSettings(ev.Shooter.Value, hitscanRadar, ev.Hitscan); - - // Schedule entity for deletion after its lifetime expires - var deleteTime = _timing.CurTime + TimeSpan.FromSeconds(hitscanRadar.LifeTime); - _pendingDeletions[uid] = deleteTime; - } - - /// - /// Inherits radar settings from the shooter entity if available - /// - private void InheritShooterSettings(EntityUid shooter, HitscanRadarComponent hitscanRadar, HitscanPrototype hitscan) - { - // Try to inherit from shooter's existing HitscanRadarComponent if present - if (TryComp(shooter, out var shooterHitscanRadar)) - { - hitscanRadar.RadarColor = shooterHitscanRadar.RadarColor; - hitscanRadar.LineThickness = shooterHitscanRadar.LineThickness; - hitscanRadar.Enabled = shooterHitscanRadar.Enabled; - hitscanRadar.LifeTime = shooterHitscanRadar.LifeTime; - } - } - - private void OnHitscanRadarShutdown(Entity ent, ref ComponentShutdown args) - { - // Only delete the entity if it's a temporary hitscan trail entity (tracked in _pendingDeletions) - // Don't delete legitimate entities that have the component added manually - if (_pendingDeletions.ContainsKey(ent)) - { - // This is a temporary hitscan trail entity, safe to delete - QueueDel(ent); - _pendingDeletions.Remove(ent); - } - // For legitimate entities, just remove from pending deletions if present (shouldn't be there anyway) - else - { - _pendingDeletions.Remove(ent); - } - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - // Handle pending deletions - if (_pendingDeletions.Count > 0) - { - var currentTime = _timing.CurTime; - var toRemove = new List(); - - foreach (var (entity, deleteTime) in _pendingDeletions) - { - if (currentTime >= deleteTime) - { - if (!Deleted(entity)) - QueueDel(entity); - toRemove.Add(entity); - } - } - - foreach (var entity in toRemove) - { - _pendingDeletions.Remove(entity); - } - } - } -} diff --git a/Content.Server/_Mono/Radar/RadarBlipSystem.cs b/Content.Server/_Mono/Radar/RadarBlipSystem.cs index 31e6a4edfe4..a9ca442222e 100644 --- a/Content.Server/_Mono/Radar/RadarBlipSystem.cs +++ b/Content.Server/_Mono/Radar/RadarBlipSystem.cs @@ -1,228 +1,125 @@ +// SPDX-FileCopyrightText: 2025 Ark +// SPDX-FileCopyrightText: 2025 ark1368 +// +// SPDX-License-Identifier: AGPL-3.0-or-later + using System.Numerics; using Content.Shared._Mono.Radar; -using NFRadarBlipShape = Content.Shared._NF.Radar.RadarBlipShape; -using Content.Shared.Projectiles; using Content.Shared.Shuttles.Components; -using RadarBlipComponent = Content.Server._NF.Radar.RadarBlipComponent; +using RadarBlipServerComp = Content.Server._NF.Radar.RadarBlipComponent; using Robust.Shared.Map; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Systems; +using Robust.Shared.GameObjects; -namespace Content.Server._Mono.Radar; +namespace Content.Server.Mono.Radar; public sealed partial class RadarBlipSystem : EntitySystem { [Dependency] private readonly SharedTransformSystem _xform = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; - // Pooled collections to avoid per-request heap churn - private readonly List _tempBlipsCache = new(); - private readonly List _tempHitscansCache = new(); - private readonly List _tempSourcesCache = new(); - private readonly List _tempPaletteCache = new(); - private readonly Dictionary _paletteIndex = new(); + private EntityQuery _physQuery; public override void Initialize() { base.Initialize(); SubscribeNetworkEvent(OnBlipsRequested); - SubscribeLocalEvent(OnBlipShutdown); + + _physQuery = GetEntityQuery(); } private void OnBlipsRequested(RequestBlipsEvent ev, EntitySessionEventArgs args) { - if (!TryGetEntity(ev.Radar, out var radarUid) - || !TryComp(radarUid, out var radar) - ) + if (!TryGetEntity(ev.Radar, out var radarUid)) return; - var sourcesEv = new GetRadarSourcesEvent(); - RaiseLocalEvent(radarUid.Value, ref sourcesEv); + if (!TryComp(radarUid, out var radar)) + return; - // Reuse pooled sources list - _tempSourcesCache.Clear(); - if (sourcesEv.Sources != null) - _tempSourcesCache.AddRange(sourcesEv.Sources); - else - _tempSourcesCache.Add(radarUid.Value); + var blips = AssembleBlipsReport((EntityUid)radarUid, radar); - AssembleBlipsReport((EntityUid)radarUid, _tempSourcesCache, radar); - AssembleHitscanReport((EntityUid)radarUid, radar); - // Combine the blips and hitscan lines - var giveEv = new GiveBlipsEvent(_tempPaletteCache, _tempBlipsCache, _tempHitscansCache); + var giveEv = new GiveBlipsEvent(blips); RaiseNetworkEvent(giveEv, args.SenderSession); - - _tempBlipsCache.Clear(); - _tempHitscansCache.Clear(); - _tempSourcesCache.Clear(); - _tempPaletteCache.Clear(); - _paletteIndex.Clear(); } - private void OnBlipShutdown(EntityUid blipUid, RadarBlipComponent component, ComponentShutdown args) + private List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)> AssembleBlipsReport(EntityUid uid, RadarConsoleComponent? component = null) { - var netBlipUid = GetNetEntity(blipUid); - var removalEv = new BlipRemovalEvent(netBlipUid); - RaiseNetworkEvent(removalEv); - } + var blips = new List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)>(); - private void AssembleBlipsReport(EntityUid uid, List sources, RadarConsoleComponent? component = null) - { - if (!Resolve(uid, ref component)) - return; - - var radarXform = Transform(uid); - var radarGrid = radarXform.GridUid; - var radarMapId = radarXform.MapID; - - var blipQuery = EntityQueryEnumerator(); - - while (blipQuery.MoveNext(out var blipUid, out var blip, out var blipXform, out var blipPhysics)) + if (Resolve(uid, ref component)) { - if (!blip.Enabled - || blipXform.MapID != radarMapId - || !NearAnySources(_xform.GetWorldPosition(blipXform), sources, component.MaxRange) - ) - continue; - - var blipGrid = blipXform.GridUid; - - if (blip.RequireNoGrid && blipGrid != null // if we want no grid but we are on a grid - || !blip.VisibleFromOtherGrids && blipGrid != radarGrid // or if we don't want to be visible from other grids but we're on another grid - ) - continue; // don't show this blip - - var netBlipUid = GetNetEntity(blipUid); + var radarXform = Transform(uid); + var radarPosition = _xform.GetWorldPosition(uid); + var radarGrid = _xform.GetGrid(uid); + var radarMapId = radarXform.MapID; - var blipVelocity = _physics.GetMapLinearVelocity(blipUid, blipPhysics, blipXform); + var blipQuery = EntityQueryEnumerator(); - // due to PVS being a thing, things will break if we try to parent to not the map or a grid - var coord = blipXform.Coordinates; - if (blipXform.ParentUid != blipXform.MapUid && blipXform.ParentUid != blipGrid) - coord = _xform.WithEntityId(coord, blipGrid ?? blipXform.MapUid!.Value); - - var shape = blip.Shape switch - { - NFRadarBlipShape.Circle => RadarBlipShape.Circle, - NFRadarBlipShape.Square => RadarBlipShape.Square, - NFRadarBlipShape.Triangle => RadarBlipShape.Triangle, - NFRadarBlipShape.Star => RadarBlipShape.Star, - NFRadarBlipShape.Diamond => RadarBlipShape.Diamond, - NFRadarBlipShape.Hexagon => RadarBlipShape.Hexagon, - NFRadarBlipShape.Arrow => RadarBlipShape.Arrow, - _ => RadarBlipShape.Circle, - }; - - var config = new BlipConfig - { - Color = blip.RadarColor, - Shape = shape, - Bounds = new Box2(-blip.Scale * 1.5f, -blip.Scale * 1.5f, blip.Scale * 1.5f, blip.Scale * 1.5f) - }; - - BlipConfig? gridCfg = null; - var rotation = _xform.GetWorldRotation(blipXform); - - // we're parented to either the map or a grid and this is relative velocity so account for grid movement - if (blipGrid != null) + while (blipQuery.MoveNext(out var blipUid, out var blip, out var blipXform)) { - var gridXform = Transform(blipGrid.Value); - blipVelocity -= _physics.GetLinearVelocity(blipGrid.Value, coord.Position); - // it's local-frame velocity so rotate it too - blipVelocity = (-gridXform.LocalRotation).RotateVec(blipVelocity); - // and also offset the rotation - rotation -= gridXform.LocalRotation; + if (!blip.Enabled) + continue; + + // This prevents blips from showing on radars that are on different maps + if (blipXform.MapID != radarMapId) + continue; + + var blipGrid = _xform.GetGrid(blipUid); + + // if (HasComp(blipUid)) + // { + // // Skip if in FTL + // if (isFtlMap) + // continue; + // + // // Skip if no grid + // if (blipGrid == null) + // continue; + // + // // Ensure the grid is a valid MapGrid + // if (!HasComp(blipGrid.Value)) + // continue; + // + // // Ensure the shield is a direct child of the grid + // if (blipXform.ParentUid != blipGrid) + // continue; + // } + + // var blipVelocity = _physics.GetMapLinearVelocity(blipUid); + + var distance = (blipXform.WorldPosition - radarPosition).Length(); + if (distance > component.MaxRange) + continue; + + + // If a shield indicator is orphaned from its grid, skip it. + // (Original check referenced a missing CircularShieldRadarComponent; now relying on other flags.) + if (blipGrid == null && blip.RequireNoGrid == false) + continue; + + // Respect grid visibility flags + if (blip.RequireNoGrid && blipGrid != null) + continue; + if (!blip.VisibleFromOtherGrids && blipGrid != radarGrid) + continue; + + // Get velocity for prediction + var blipVelocity = _physQuery.TryGetComponent(blipUid, out var phys) + ? _physics.GetMapLinearVelocity(blipUid, component: phys) + : Vector2.Zero; + + // Convert RadarBlipShapeNF to RadarBlipShape (they should be compatible enums) + var shape = (RadarBlipShape)(int)blip.Shape; + + // Send entity coordinates directly (not mover coordinates) + var netCoords = GetNetCoordinates(blipXform.Coordinates); + blips.Add((netCoords, blipVelocity, blip.Scale, blip.RadarColor, shape)); } - - var configIdx = GetOrAddConfig(config); - ushort? gridConfigIdx = gridCfg is { } gridCf ? GetOrAddConfig(gridCf) : null; - - // ideally we would handle blips being culled by detection on server but detection grid culling is already clientside so might as well - _tempBlipsCache.Add(new(netBlipUid, - GetNetCoordinates(coord), - blipVelocity, - rotation, - configIdx, - gridConfigIdx)); - } - } - - /// - /// Gets or create palette index for blip config. - /// - private ushort GetOrAddConfig(BlipConfig config) - { - if (_paletteIndex.TryGetValue(config, out var index)) - return index; - - if (_tempPaletteCache.Count >= ushort.MaxValue) - { - Log.Error($"Blip config count overflow! Reached max {ushort.MaxValue}, but trying to add more."); - return 0; } - index = (ushort)_tempPaletteCache.Count; - _tempPaletteCache.Add(config); - _paletteIndex[config] = index; - return index; + return blips; } - /// - /// Assembles trajectory information for hitscan projectiles to be displayed on radar - /// - private void AssembleHitscanReport(EntityUid uid, RadarConsoleComponent? component = null) - { - if (!Resolve(uid, ref component)) - return; - - var radarPosition = _xform.GetWorldPosition(uid); - - var hitscanQuery = EntityQueryEnumerator(); - - while (hitscanQuery.MoveNext(out _, out var hitscan)) - { - if (!hitscan.Enabled) - continue; - - // Check if either the start or end point is within radar range - var startDistance = (hitscan.StartPosition - radarPosition).Length(); - var endDistance = (hitscan.EndPosition - radarPosition).Length(); - - if (startDistance > component.MaxRange && endDistance > component.MaxRange) - continue; - - // If there's an origin grid, use that for coordinate system - if (hitscan.OriginGrid != null && hitscan.OriginGrid.Value.IsValid()) - { - var gridUid = hitscan.OriginGrid.Value; - - // Convert world positions to grid-local coordinates - var gridMatrix = _xform.GetWorldMatrix(gridUid); - Matrix3x2.Invert(gridMatrix, out var invGridMatrix); - - var localStart = Vector2.Transform(hitscan.StartPosition, invGridMatrix); - var localEnd = Vector2.Transform(hitscan.EndPosition, invGridMatrix); - - _tempHitscansCache.Add(new HitscanNetData(GetNetEntity(gridUid), localStart, localEnd, hitscan.LineThickness, hitscan.RadarColor)); - } - else - { - // Use world coordinates with null grid - _tempHitscansCache.Add(new HitscanNetData(null, hitscan.StartPosition, hitscan.EndPosition, hitscan.LineThickness, hitscan.RadarColor)); - } - } - } - - private bool NearAnySources(Vector2 coord, List sources, float range) - { - var rsqr = range * range; - foreach (var source in sources) - { - var pos = _xform.GetWorldPosition(source); - if ((pos - coord).LengthSquared() < rsqr) - return true; - } - - return false; - } + // Hitscan trajectory reporting is disabled until a proper source component exists server-side. } diff --git a/Content.Server/_Mono/ShipRepair/InitRepairSnapshotComponent.cs b/Content.Server/_Mono/ShipRepair/InitRepairSnapshotComponent.cs deleted file mode 100644 index 7108b81410c..00000000000 --- a/Content.Server/_Mono/ShipRepair/InitRepairSnapshotComponent.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Content.Server._Mono.ShipRepair; - -/// -/// Causes this grid to record a repair snapshot on init. -/// -[RegisterComponent] -public sealed partial class InitRepairSnapshotComponent : Component {} diff --git a/Content.Server/_Mono/ShipRepair/ShipRepairSystem.Commands.cs b/Content.Server/_Mono/ShipRepair/ShipRepairSystem.Commands.cs deleted file mode 100644 index aec7313a596..00000000000 --- a/Content.Server/_Mono/ShipRepair/ShipRepairSystem.Commands.cs +++ /dev/null @@ -1,99 +0,0 @@ -using Content.Server.Administration; -using Content.Shared.Administration; -using Content.Shared._Mono.ShipRepair.Components; -using Robust.Shared.Console; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; - -namespace Content.Server._Mono.ShipRepair; -public sealed partial class ShipRepairSystem -{ - [Dependency] private readonly IConsoleHost _conHost = default!; - - public void InitCommands() - { - _conHost.RegisterCommand("repairgrid", "Repair a grid to snapshot", "repairgrid ", - RepairGridCmd); - _conHost.RegisterCommand("snapshotgrid", "Snapshot a grid's current data for repair", "snapshotgrid ", - SnapshotGridCmd); - } - - [AdminCommand(AdminFlags.Admin)] - public void RepairGridCmd(IConsoleShell shell, string argstr, string[] args) - { - if (!EntityUid.TryParse(args[0], out var uid)) - { - shell.WriteError("Couldn't parse entity."); - return; - } - - if (!TryComp(uid, out var grid)) - { - shell.WriteError("Entity is not a grid."); - return; - } - - if (!TryComp(uid, out var data)) - { - shell.WriteError("Entity does not have a repair snapshot."); - return; - } - - var tileSet = new List<(Vector2i, Tile)>(); - foreach (var (chunkPos, chunk) in data.Chunks) - { - for (var x = 0; x < data.ChunkSize; x++) - { - for (var y = 0; y < data.ChunkSize; y++) - { - var idx = x + y * data.ChunkSize; - var tileToPlace = chunk.Tiles[idx]; - if (tileToPlace != Tile.Empty.TypeId) - tileSet.Add((chunkPos * data.ChunkSize + new Vector2i(x, y), new Tile(tileToPlace))); - } - } - } - _map.SetTiles(uid, grid, tileSet); - - foreach (var (chunkPos, chunk) in data.Chunks) - { - foreach (var (_, spec) in chunk.Entities) - { - var coords = new EntityCoordinates(uid, spec.LocalPosition); - - var origUid = spec.OriginalEntity == null ? (EntityUid?)null : GetEntity(spec.OriginalEntity.Value); - if (origUid != null && !TerminatingOrDeleted(origUid.Value)) - { - var origXform = Transform(origUid.Value); - // if it's not on another grid just teleport it - if (origXform.Coordinates.TryDistance(EntityManager, coords, out var distance) - && distance > 0.01f - ) - // delete it before making replacement, will troll anyone who stole it but this is an admin command and we do not care - QueueDel(origUid); - else - continue; // it's already real and in-place so just move on - } - - var protoId = data.EntityPalette[spec.ProtoIndex]; - var spawned = Spawn(protoId, coords); - _transform.SetLocalRotation(spawned, spec.Rotation); - spec.OriginalEntity = GetNetEntity(spawned); - } - } - - Dirty(uid, data); - } - - [AdminCommand(AdminFlags.Admin)] - public void SnapshotGridCmd(IConsoleShell shell, string argstr, string[] args) - { - if (!EntityUid.TryParse(args[0], out var uid)) - { - shell.WriteError("Couldn't parse entity."); - return; - } - - GenerateRepairData(uid); - } -} diff --git a/Content.Server/_Mono/ShipRepair/ShipRepairSystem.Ghosts.cs b/Content.Server/_Mono/ShipRepair/ShipRepairSystem.Ghosts.cs deleted file mode 100644 index 0865f9cb848..00000000000 --- a/Content.Server/_Mono/ShipRepair/ShipRepairSystem.Ghosts.cs +++ /dev/null @@ -1,69 +0,0 @@ -using Content.Shared._Mono.ShipRepair.Components; -using Content.Shared.Eye; -using Content.Shared.Hands; -using Content.Shared.Inventory.Events; - -namespace Content.Server._Mono.ShipRepair; - -public sealed partial class ShipRepairSystem -{ - private void InitGhosts() - { - // need t-ray scanner eye for all repair tools because else it complains if you click on a tile with underfloor wire - SubscribeLocalEvent(OnScanHandEquipped); - SubscribeLocalEvent(OnScanHandUnequipped); - SubscribeLocalEvent(OnScanEquipped); - SubscribeLocalEvent(OnScanUnequipped); - SubscribeLocalEvent(OnGetVis); - } - - private void OnEquip(EntityUid user) - { - var comp = EnsureComp(user); - comp.Count++; - - if (comp.Count > 1) - return; - - _eye.RefreshVisibilityMask(user); - } - - private void OnUnequip(EntityUid user) - { - if (!TryComp(user, out RepairDataEyeComponent? comp)) - return; - - comp.Count--; - - if (comp.Count > 0) - return; - - RemComp(user); - _eye.RefreshVisibilityMask(user); - } - - private void OnScanHandUnequipped(Entity ent, ref GotUnequippedHandEvent args) - { - OnUnequip(args.User); - } - - private void OnScanHandEquipped(Entity ent, ref GotEquippedHandEvent args) - { - OnEquip(args.User); - } - - private void OnScanUnequipped(Entity ent, ref GotUnequippedEvent args) - { - OnUnequip(args.Equipee); - } - - private void OnScanEquipped(Entity ent, ref GotEquippedEvent args) - { - OnEquip(args.Equipee); - } - - private void OnGetVis(Entity ent, ref GetVisMaskEvent args) - { - args.VisibilityMask |= (int)VisibilityFlags.Subfloor; - } -} diff --git a/Content.Server/_Mono/ShipRepair/ShipRepairSystem.cs b/Content.Server/_Mono/ShipRepair/ShipRepairSystem.cs deleted file mode 100644 index 14eb7f7859f..00000000000 --- a/Content.Server/_Mono/ShipRepair/ShipRepairSystem.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Content.Server._NF.Shipyard; -using Content.Server.Shuttles.Components; -using Content.Shared._Mono.ShipRepair; - -namespace Content.Server._Mono.ShipRepair; - -public sealed partial class ShipRepairSystem : SharedShipRepairSystem -{ - [Dependency] private readonly SharedEyeSystem _eye = default!; - [Dependency] private readonly SharedMapSystem _map = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnShipBought); - SubscribeLocalEvent(OnInitSnapshot); - - InitCommands(); - InitGhosts(); - } - - private void OnShipBought(Entity ent, ref ShipBoughtEvent ev) - { - GenerateRepairData(ent); - } - - private void OnInitSnapshot(Entity ent, ref MapInitEvent ev) - { - GenerateRepairData(ent); - } -} diff --git a/Content.Server/_NF/Botany/Systems/PlantAnalyzerSystem.cs b/Content.Server/_NF/Botany/Systems/PlantAnalyzerSystem.cs index 824a13bcd9c..e442607dcea 100644 --- a/Content.Server/_NF/Botany/Systems/PlantAnalyzerSystem.cs +++ b/Content.Server/_NF/Botany/Systems/PlantAnalyzerSystem.cs @@ -37,13 +37,7 @@ private void OnAfterInteract(Entity ent, ref AfterIntera return; if (ent.Comp.DoAfter != null) - { - // If the referenced DoAfter already finished or was cancelled, clear the stale reference. - if (!_doAfterSystem.IsRunning(ent.Comp.DoAfter.Value)) - ent.Comp.DoAfter = null; - else - return; - } + return; if (HasComp(args.Target) || TryComp(args.Target, out var plantHolder) && plantHolder.Seed != null || TryComp(args.Target, out var swabComp) && swabComp.SeedData != null) { diff --git a/Content.Server/_NF/Shipyard/ShipyardEvents.cs b/Content.Server/_NF/Shipyard/ShipyardEvents.cs deleted file mode 100644 index 2d42813a4e3..00000000000 --- a/Content.Server/_NF/Shipyard/ShipyardEvents.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Content.Server._NF.Shipyard; - -/// -/// Raised on a ship when it is bought. -/// -public record struct ShipBoughtEvent(); diff --git a/Content.Server/_NF/Shipyard/Systems/ShipyardGridSaveSystem.cs b/Content.Server/_NF/Shipyard/Systems/ShipyardGridSaveSystem.cs index 0a9f2d6e645..86d75b56068 100644 --- a/Content.Server/_NF/Shipyard/Systems/ShipyardGridSaveSystem.cs +++ b/Content.Server/_NF/Shipyard/Systems/ShipyardGridSaveSystem.cs @@ -763,7 +763,7 @@ private void SanitizeShipSaveNode(MappingDataNode root) "IFF", "LinkedLifecycleGridParent", "AccessReader", // Door logs - // "DeviceList", Don't remove this it breaks air alarms. + "DeviceList", "DeviceNetwork", "DeviceNetworkComponent", "UserInterface", // Contains invalid EntityUid references diff --git a/Content.Shared/Charges/Components/LimitedChargesAmmoComponent.cs b/Content.Shared/Charges/Components/LimitedChargesAmmoComponent.cs deleted file mode 100644 index 12de9ce4d00..00000000000 --- a/Content.Shared/Charges/Components/LimitedChargesAmmoComponent.cs +++ /dev/null @@ -1,24 +0,0 @@ -// Mono - whole file -using Content.Shared.Charges.Systems; -using Content.Shared.Whitelist; -using Robust.Shared.GameStates; - -namespace Content.Shared.Charges.Components; - -[RegisterComponent, NetworkedComponent] -[Access(typeof(SharedChargesSystem))] -[AutoGenerateComponentState] -public sealed partial class LimitedChargesAmmoComponent : Component -{ - /// - /// How many charges to refill, per item in stack (if stack) - /// - [DataField, AutoNetworkedField] - public int Charges = 1; - - /// - /// What entities can we refill. - /// - [DataField(required: true), AutoNetworkedField] - public EntityWhitelist Whitelist = new(); -} diff --git a/Content.Shared/Charges/Systems/SharedChargesSystem.Ammo.cs b/Content.Shared/Charges/Systems/SharedChargesSystem.Ammo.cs deleted file mode 100644 index 325ba492d18..00000000000 --- a/Content.Shared/Charges/Systems/SharedChargesSystem.Ammo.cs +++ /dev/null @@ -1,83 +0,0 @@ -// Mono - whole file -using Content.Shared.Charges.Components; -using Content.Shared.Examine; -using Content.Shared.Interaction; -using Content.Shared.Popups; -using Content.Shared.Stacks; -using Content.Shared.Whitelist; -using Robust.Shared.Network; - -namespace Content.Shared.Charges.Systems; - -public abstract partial class SharedChargesSystem : EntitySystem -{ - [Dependency] private readonly INetManager _net = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - [Dependency] private readonly SharedStackSystem _stack = default!; - [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; - - private void InitializeAmmo() - { - SubscribeLocalEvent(OnAmmoExamine); - SubscribeLocalEvent(OnAmmoAfterInteract); - } - - private void OnAmmoExamine(Entity ent, ref ExaminedEvent args) - { - if (!args.IsInDetailsRange) - return; - - var examineMessage = Loc.GetString("limited-charges-ammo-component-on-examine", ("charges", GetAmmoCharges(ent))); - args.PushText(examineMessage); - } - - private void OnAmmoAfterInteract(Entity ent, ref AfterInteractEvent args) - { - if (args.Handled || !args.CanReach || !_timing.IsFirstTimePredicted) - return; - - if (args.Target is not { Valid: true } target - || !TryComp(target, out var charges) - || _whitelist.IsWhitelistFail(ent.Comp.Whitelist, target) - ) - return; - - var user = args.User; - - args.Handled = true; - var currentCharges = GetCurrentCharges((target, charges, null)); - var count = Math.Min(charges.MaxCharges - currentCharges, GetAmmoCharges(ent)); - if (count <= 0) - { - _popup.PopupClient(Loc.GetString("limited-charges-ammo-component-after-interact-full"), target, user); - return; - } - - _popup.PopupClient(Loc.GetString("limited-charges-ammo-component-after-interact-refilled"), target, user); - AddCharges((target, charges, null), TakeCharges(ent, count)); - } - - public int GetAmmoCharges(Entity ent) - { - if (TryComp(ent, out var stack)) - return ent.Comp.Charges * stack.Count; - return ent.Comp.Charges; - } - - public int TakeCharges(Entity ent, int UpTo) - { - if (!TryComp(ent, out var stack)) - { - var took = Math.Min(ent.Comp.Charges, UpTo); - ent.Comp.Charges -= took; - Dirty(ent); - if (ent.Comp.Charges == 0 && _net.IsServer) - QueueDel(ent); - return took; - } - - var takeAmount = Math.Min(stack.Count, UpTo / ent.Comp.Charges); - _stack.SetCount(ent, stack.Count - takeAmount, stack); - return takeAmount * ent.Comp.Charges; - } -} diff --git a/Content.Shared/Charges/Systems/SharedChargesSystem.cs b/Content.Shared/Charges/Systems/SharedChargesSystem.cs index dce3a73e5be..a04cfb24f56 100644 --- a/Content.Shared/Charges/Systems/SharedChargesSystem.cs +++ b/Content.Shared/Charges/Systems/SharedChargesSystem.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Charges.Systems; -public abstract partial class SharedChargesSystem : EntitySystem +public abstract class SharedChargesSystem : EntitySystem { [Dependency] protected readonly IGameTiming _timing = default!; [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; // Frontier @@ -20,8 +20,6 @@ public override void Initialize() { base.Initialize(); - InitializeAmmo(); - SubscribeLocalEvent(OnExamine); SubscribeLocalEvent(OnChargesAttempt); @@ -141,26 +139,6 @@ public bool TryUseCharge(Entity entity) return TryUseCharges(entity, 1); } - public bool HasInsufficientCharges(Entity entity, int amount) - { - return !HasCharges(entity, amount); - } - - public bool HasInsufficientCharges(Entity entity, int amount) where T : IComponent? - { - return HasInsufficientCharges(new Entity(entity.Owner, CompOrNull(entity.Owner)), amount); - } - - public void UseCharges(Entity entity, int amount) - { - TryUseCharges(entity, amount); - } - - public void UseCharges(Entity entity, int amount) where T : IComponent? - { - UseCharges(new Entity(entity.Owner, CompOrNull(entity.Owner)), amount); - } - public bool TryUseCharges(Entity entity, int amount) { var current = GetCurrentCharges(entity); diff --git a/Content.Shared/DoAfter/DoAfterComponent.cs b/Content.Shared/DoAfter/DoAfterComponent.cs index f88797752ff..9fbd46d8033 100644 --- a/Content.Shared/DoAfter/DoAfterComponent.cs +++ b/Content.Shared/DoAfter/DoAfterComponent.cs @@ -5,7 +5,7 @@ namespace Content.Shared.DoAfter; [RegisterComponent, NetworkedComponent] -[Access(typeof(SharedDoAfterSystem), Other = AccessPermissions.ReadExecute)] // Mono +[Access(typeof(SharedDoAfterSystem))] public sealed partial class DoAfterComponent : Component { [DataField("nextId")] diff --git a/Content.Shared/Fluids/Components/PuddleComponent.cs b/Content.Shared/Fluids/Components/PuddleComponent.cs index 39edb95be0c..ea190405585 100644 --- a/Content.Shared/Fluids/Components/PuddleComponent.cs +++ b/Content.Shared/Fluids/Components/PuddleComponent.cs @@ -17,18 +17,6 @@ public sealed partial class PuddleComponent : Component [DataField] public FixedPoint2 OverflowVolume = FixedPoint2.New(50); // Frontier: 20<50 - /// - /// Mono - don't bother trying to spill if we're above overflow volume but below this - /// - [DataField] - public FixedPoint2 OverflowThreshold = FixedPoint2.New(25); - - /// - /// Mono - don't bother waking up for transfers below this portion of our volume - /// - [DataField] - public float TransferTolerance = 0.005f; - [DataField("solution")] public string SolutionName = "puddle"; /// diff --git a/Content.Shared/Interaction/SharedInteractionSystem.cs b/Content.Shared/Interaction/SharedInteractionSystem.cs index 300e8d06e87..ff2403b90fe 100644 --- a/Content.Shared/Interaction/SharedInteractionSystem.cs +++ b/Content.Shared/Interaction/SharedInteractionSystem.cs @@ -71,8 +71,6 @@ public abstract partial class SharedInteractionSystem : EntitySystem [Dependency] private readonly SharedPlayerRateLimitManager _rateLimit = default!; [Dependency] private readonly ISharedChatManager _chat = default!; - [Dependency] private readonly INetManager _net = default!; // Mono - private EntityQuery _ignoreUiRangeQuery; private EntityQuery _fixtureQuery; private EntityQuery _itemQuery; @@ -319,31 +317,11 @@ public bool HandleUseInteraction(ICommonSession? session, EntityCoordinates coor return true; } - // Mono - if (_net.IsServer && session != null && Deleted(uid)) - coords = VelocityCompensateInput(userEntity.Value, coords, session.Channel.Ping * 0.001f); - UserInteraction(userEntity.Value, coords, !Deleted(uid) ? uid : null, checkAccess: ShouldCheckAccess(userEntity.Value)); return false; } - // Mono - compensate for velocity if target is map - // if target is not map assume the user wants to click where they clicked and do nothing - private EntityCoordinates VelocityCompensateInput(EntityUid userUid, EntityCoordinates coords, float ping) - { - var target = coords.EntityId; - var ourXform = Transform(userUid); - // only trigger if target is map and we're on a grid - if (ourXform.MapUid != target || ourXform.GridUid == null || !_physicsQuery.TryComp(ourXform.GridUid, out var gridBody)) - return coords; - - var grid = ourXform.GridUid.Value; - var relCoords = _transform.WithEntityId(coords, grid); - var vel = _broadphase.GetLinearVelocity(grid, relCoords.Position, gridBody); - return coords.Offset(vel * ping * 3f); - } - private bool ShouldCheckAccess(EntityUid user) { // This is for Admin/mapping convenience. If ever there are other ghosts that can still interact, this check diff --git a/Content.Shared/Light/EntitySystems/SharedLightBulbSystem.cs b/Content.Shared/Light/EntitySystems/SharedLightBulbSystem.cs index b2e9720984d..996a4756c13 100644 --- a/Content.Shared/Light/EntitySystems/SharedLightBulbSystem.cs +++ b/Content.Shared/Light/EntitySystems/SharedLightBulbSystem.cs @@ -21,7 +21,7 @@ public override void Initialize() private void OnInit(EntityUid uid, LightBulbComponent bulb, ComponentInit args) { - // update default state of bulbs + // HardLight: Initialize appearance data for bulbs even when values are already defaults UpdateAppearance(uid, bulb); } diff --git a/Content.Shared/Light/EntitySystems/SharedPoweredLightSystem.cs b/Content.Shared/Light/EntitySystems/SharedPoweredLightSystem.cs index 65097f0d061..e1dc4be5d06 100644 --- a/Content.Shared/Light/EntitySystems/SharedPoweredLightSystem.cs +++ b/Content.Shared/Light/EntitySystems/SharedPoweredLightSystem.cs @@ -263,14 +263,6 @@ protected void UpdateLight(EntityUid uid, AppearanceComponent? appearance = null, EntityUid? user = null) { - // We don't do anything during state application on the client as if - // it's due to an entity spawn, we'd have to wait for component init to - // be able to do anything, despite the server having already sent us the - // state that we need. On the other hand, we still want this to run in - // prediction so we can, well, predict lights turning on. - if (GameTiming.ApplyingState) - return; - if (!Resolve(uid, ref light, false)) return; diff --git a/Content.Shared/Lock/LockSystem.cs b/Content.Shared/Lock/LockSystem.cs index 12b6b00c840..48171661fdd 100644 --- a/Content.Shared/Lock/LockSystem.cs +++ b/Content.Shared/Lock/LockSystem.cs @@ -328,20 +328,8 @@ private void OnUnEmagged(EntityUid uid, LockComponent component, ref GotUnEmagge if (!_emag.CompareFlag(args.Type, EmagType.Access)) return; - // Never force-lock while a locked wires panel is open, or the panel can become uncloseable. - if (HasComp(uid) && - TryComp(uid, out var panel) && - panel.Open) - { - args.Handled = true; - return; - } - - if (component.Locked || !component.BreakOnAccessBreaker) - { - args.Handled = true; + if (component.Locked) return; - } _audio.PlayPredicted(component.LockSound, uid, args.UserUid); diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicRegeneration/PsionicRegenerationPowerComponent.cs b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicRegeneration/PsionicRegenerationPowerComponent.cs index 895c5201c3a..a45a6d2be6c 100644 --- a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicRegeneration/PsionicRegenerationPowerComponent.cs +++ b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/PsionicRegeneration/PsionicRegenerationPowerComponent.cs @@ -18,7 +18,7 @@ public sealed partial class PsionicRegenerationPowerComponent : Component public float UseDelay = 8f; [DataField("soundUse")] - public SoundSpecifier SoundUse = new SoundPathSpecifier("/Audio/Psionics/heartbeat_fast.ogg"); + public SoundSpecifier SoundUse = new SoundPathSpecifier("/Audio/Nyanotrasen/heartbeat_fast.ogg"); [DataField("psionicRegenerationActionId", customTypeSerializer: typeof(PrototypeIdSerializer))] diff --git a/Content.Shared/Preferences/PlayerPreferences.cs b/Content.Shared/Preferences/PlayerPreferences.cs index a40f4e2c8c0..a8b71745363 100644 --- a/Content.Shared/Preferences/PlayerPreferences.cs +++ b/Content.Shared/Preferences/PlayerPreferences.cs @@ -58,7 +58,7 @@ public ICharacterProfile SelectedCharacter public int IndexOfCharacter(ICharacterProfile profile) { - return _characters.FirstOrNull(p => ReferenceEquals(p.Value, profile) || p.Value.MemberwiseEquals(profile))?.Key ?? -1; // HardLight: Added ReferenceEquals & p.Value.MemberwiseEquals(profile) + return _characters.FirstOrNull(p => p.Value == profile)?.Key ?? -1; } public bool TryIndexOfCharacter(ICharacterProfile profile, out int index) diff --git a/Content.Shared/Projectiles/ProjectileComponent.cs b/Content.Shared/Projectiles/ProjectileComponent.cs index ae39d06ddd7..8c6056e0a5b 100644 --- a/Content.Shared/Projectiles/ProjectileComponent.cs +++ b/Content.Shared/Projectiles/ProjectileComponent.cs @@ -111,19 +111,4 @@ public sealed partial class ProjectileComponent : Component /// [DataField] public float RandomBlindChance = 0f; // Frontier - - // Goobstation Start - [DataField] - public float ArmorPenetration; - // Goobstation End - - /// - /// Mono - If true, when going at sufficient velocity to cause raycasts, will significantly decrease velocity to just below raycast threshold to increase stability. - /// - [DataField] - public bool RaycastResetVelocity = true; - - // Mono - [DataField] - public float LinearDampening = 0f; } diff --git a/Content.Shared/Projectiles/SharedProjectileSystem.cs b/Content.Shared/Projectiles/SharedProjectileSystem.cs index c9b5407ed40..6cf248a177f 100644 --- a/Content.Shared/Projectiles/SharedProjectileSystem.cs +++ b/Content.Shared/Projectiles/SharedProjectileSystem.cs @@ -41,7 +41,6 @@ using Content.Shared.Interaction; using Content.Shared.Inventory; using Content.Shared.Mobs.Components; -using Content.Shared.Movement.Events; // Mono using Content.Shared.Throwing; using Content.Shared.Tag; using Content.Shared.Weapons.Ranged.Components; @@ -103,26 +102,8 @@ public override void Initialize() SubscribeLocalEvent(OnEmbedActivate); SubscribeLocalEvent(OnEmbedRemove); SubscribeLocalEvent(OnEmbeddableCompShutdown); - SubscribeLocalEvent(EmbeddablePreventCollision); SubscribeLocalEvent(OnEmbeddableTermination); - // Subscribe to ensure MetaDataComponent on projectile entities for networking - SubscribeLocalEvent(OnProjectileMetaStartup); - - // Mono - SubscribeLocalEvent(OnTileFriction); - } - - /// - /// Ensures that a MetaDataComponent exists on projectiles for network serialization. - /// - private void OnProjectileMetaStartup(EntityUid uid, ProjectileComponent component, ComponentStartup args) - { - // Check if the entity still exists before trying to add a component - if (!EntityManager.EntityExists(uid)) - return; - - EnsureComp(uid); } private void OnStartCollide(EntityUid uid, ProjectileComponent component, ref StartCollideEvent args) @@ -508,19 +489,6 @@ private void PreventCollision(EntityUid uid, ProjectileComponent component, ref return; } - // Goobstation - Crawling fix - private void EmbeddablePreventCollision(EntityUid uid, EmbeddableProjectileComponent component, ref PreventCollideEvent args) - { - if (TryComp(args.OtherEntity, out var requireTarget) && requireTarget?.Active == true) - args.Cancelled = true; - } - - // Mono - private void OnTileFriction(Entity ent, ref TileFrictionEvent args) - { - args.Modifier = ent.Comp.LinearDampening; - } - public void SetShooter(EntityUid id, ProjectileComponent component, EntityUid shooterId) { if (component.Shooter == shooterId) diff --git a/Content.Shared/Shuttles/Components/IFFComponent.cs b/Content.Shared/Shuttles/Components/IFFComponent.cs index 946db68a71b..c4edbb272ed 100644 --- a/Content.Shared/Shuttles/Components/IFFComponent.cs +++ b/Content.Shared/Shuttles/Components/IFFComponent.cs @@ -1,13 +1,3 @@ -// SPDX-FileCopyrightText: 2023 DrSmugleaf -// SPDX-FileCopyrightText: 2023 InsanityMoose -// SPDX-FileCopyrightText: 2024 Dvir -// SPDX-FileCopyrightText: 2024 Jake Huxell -// SPDX-FileCopyrightText: 2024 Whatstone -// SPDX-FileCopyrightText: 2024 metalgearsloth -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - using Content.Shared.Shuttles.Systems; using Robust.Shared.GameStates; @@ -58,7 +48,6 @@ public enum IFFFlags : byte /// /// Should the label for this grid be hidden at all ranges. - /// Mono - only hides true IFF instead. /// HideLabel = 1, @@ -73,18 +62,6 @@ public enum IFFFlags : byte /// IsPlayerShuttle = 4, - // Mono - /// - /// If HideLabel is true, whether even detection labels should not be shown. - /// - HideLabelAlways = 8, - - // Mono - /// - /// If HideLabel is true, whether to show true grid IFF color anyway. - /// - AlwaysShowColor = 16, - // TODO: Need one that hides its outline, just replace it with a bunch of triangles or lines or something. } diff --git a/Content.Shared/Shuttles/Components/RadarConsoleComponent.cs b/Content.Shared/Shuttles/Components/RadarConsoleComponent.cs index b9f74299531..f0a89b569ef 100644 --- a/Content.Shared/Shuttles/Components/RadarConsoleComponent.cs +++ b/Content.Shared/Shuttles/Components/RadarConsoleComponent.cs @@ -1,12 +1,3 @@ -// SPDX-FileCopyrightText: 2022 metalgearsloth -// SPDX-FileCopyrightText: 2023 DrSmugleaf -// SPDX-FileCopyrightText: 2023 TemporalOroboros -// SPDX-FileCopyrightText: 2024 Ed -// SPDX-FileCopyrightText: 2024 Whatstone -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - using Content.Shared.Shuttles.Systems; using Robust.Shared.GameStates; @@ -48,8 +39,4 @@ public float RangeVV [DataField] public bool HideCoords = false; // End Frontier - - // Mono - [DataField] - public bool Pannable = false; } diff --git a/Content.Shared/StatusEffect/StatusEffectsComponent.cs b/Content.Shared/StatusEffect/StatusEffectsComponent.cs index f1f889d928a..d61af625370 100644 --- a/Content.Shared/StatusEffect/StatusEffectsComponent.cs +++ b/Content.Shared/StatusEffect/StatusEffectsComponent.cs @@ -15,7 +15,7 @@ public sealed partial class StatusEffectsComponent : Component /// A list of status effect IDs to be allowed /// [DataField("allowed", required: true), Access(typeof(StatusEffectsSystem), Other = AccessPermissions.ReadExecute)] - public List AllowedEffects = new(); + public List AllowedEffects = default!; } [RegisterComponent] diff --git a/Content.Shared/StatusEffect/StatusEffectsSystem.cs b/Content.Shared/StatusEffect/StatusEffectsSystem.cs index b4d7aba5a5e..95abea63db0 100644 --- a/Content.Shared/StatusEffect/StatusEffectsSystem.cs +++ b/Content.Shared/StatusEffect/StatusEffectsSystem.cs @@ -61,8 +61,6 @@ private void OnGetState(EntityUid uid, StatusEffectsComponent component, ref Com { // Using new(...) To avoid mispredictions due to MergeImplicitData. This will mean the server-side code is // slightly slower, and really this function should just be overridden by the client... - component.ActiveEffects ??= new(); - component.AllowedEffects ??= new(); args.State = new StatusEffectsComponentState(new(component.ActiveEffects), new(component.AllowedEffects)); } @@ -71,11 +69,6 @@ private void OnHandleState(EntityUid uid, StatusEffectsComponent component, ref if (args.Current is not StatusEffectsComponentState state) return; - component.ActiveEffects ??= new(); - component.AllowedEffects ??= new(); - state.ActiveEffects ??= new(); - state.AllowedEffects ??= new(); - component.AllowedEffects.Clear(); component.AllowedEffects.AddRange(state.AllowedEffects); diff --git a/Content.Shared/UserInterface/ActivatableUISystem.cs b/Content.Shared/UserInterface/ActivatableUISystem.cs index f3a8d1189f0..4bc24e7345c 100644 --- a/Content.Shared/UserInterface/ActivatableUISystem.cs +++ b/Content.Shared/UserInterface/ActivatableUISystem.cs @@ -8,7 +8,6 @@ using Content.Shared.Interaction.Events; using Content.Shared.Popups; using Content.Shared.Verbs; -using Content.Shared.Wires; // HardLight using Content.Shared.Whitelist; using Robust.Shared.Utility; @@ -99,12 +98,6 @@ private bool ShouldAddVerb(EntityUid uid, ActivatableUIComponent component, G if (!args.CanAccess) return false; - // HardLight: Require the wires panel to be open if the component requires a wires panel. - if (TryComp(uid, out _) - && TryComp(uid, out var panel) - && !panel.Open) - return false; - if (_whitelistSystem.IsWhitelistFail(component.RequiredItems, args.Using ?? default)) return false; diff --git a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs index bf0c72346c6..871b7e5cf4f 100644 --- a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs @@ -269,27 +269,6 @@ public sealed partial class GunComponent : Component /// [DataField] public LocId? ExamineCaliber; - - /// - /// Goobstation - /// Whether the system won't change gun target when we stop aiming at it while firing in burst mode. - /// - [DataField] - public bool LockOnTargetBurst; - - /// - /// Goobstation - /// Muzzle flash will be rotated by this angle if the weapon is dropped - /// - [DataField] - public Angle MuzzleFlashRotationOffset; - - /// - /// Mono - /// Recoil to incur per ammo shot, kg*m/s. - /// - [DataField] - public float Recoil = 25f; } [Flags] diff --git a/Content.Shared/Weapons/Ranged/Events/CheckShootPrototypeEvent.cs b/Content.Shared/Weapons/Ranged/Events/CheckShootPrototypeEvent.cs deleted file mode 100644 index b024af62d2d..00000000000 --- a/Content.Shared/Weapons/Ranged/Events/CheckShootPrototypeEvent.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Mono - whole file -using Robust.Shared.Prototypes; // Mono - -namespace Content.Shared.Weapons.Ranged.Events; - -/// -/// Raised on a gun when it would like to check the prototype of the next shot ammo. -/// -[ByRefEvent] -public record struct CheckShootPrototypeEvent(EntityPrototype? ShootPrototype = null); diff --git a/Content.Shared/Weapons/Ranged/Events/TakeAmmoEvent.cs b/Content.Shared/Weapons/Ranged/Events/TakeAmmoEvent.cs index d22e07db9ae..27b1083cf36 100644 --- a/Content.Shared/Weapons/Ranged/Events/TakeAmmoEvent.cs +++ b/Content.Shared/Weapons/Ranged/Events/TakeAmmoEvent.cs @@ -1,5 +1,4 @@ using Robust.Shared.Map; -using Robust.Shared.Prototypes; // Mono namespace Content.Shared.Weapons.Ranged.Events; @@ -27,7 +26,7 @@ public sealed class TakeAmmoEvent : EntityEventArgs /// Does this event represent an intent to fire, or to safely remove ammo from an entity? /// public bool WillBeFired; - // End Frontierull; + // End Frontier public TakeAmmoEvent(int shots, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityCoordinates coordinates, EntityUid? user, bool willBeFired = false) // Frontier: add willBeFired { diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs index 3ccb7f0b80b..0843847f3c5 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs @@ -23,7 +23,6 @@ protected virtual void InitializeBallistic() SubscribeLocalEvent(OnBallisticInit); SubscribeLocalEvent(OnBallisticMapInit); SubscribeLocalEvent(OnBallisticTakeAmmo); - SubscribeLocalEvent(OnBallisticCheckProto); // Mono SubscribeLocalEvent(OnBallisticAmmoCount); SubscribeLocalEvent(OnBallisticExamine); @@ -305,21 +304,6 @@ private void OnBallisticTakeAmmo(EntityUid uid, BallisticAmmoProviderComponent c UpdateBallisticAppearance(uid, component); } - // Mono - private void OnBallisticCheckProto(Entity ent, ref CheckShootPrototypeEvent args) - { - if (ent.Comp.Entities.Count > 0) - { - var ammo = ent.Comp.Entities[^1]; - args.ShootPrototype = MetaData(ammo).EntityPrototype; - } - else if (ent.Comp.UnspawnedCount > 0) - { - ProtoManager.TryIndex(ent.Comp.Proto, out var proto); - args.ShootPrototype = proto; - } - } - private void OnBallisticAmmoCount(EntityUid uid, BallisticAmmoProviderComponent component, ref GetAmmoCountEvent args) { args.Count = GetBallisticShots(component); diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.BasicEntity.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.BasicEntity.cs index 4333f6965eb..04f9b52324c 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.BasicEntity.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.BasicEntity.cs @@ -10,7 +10,6 @@ protected virtual void InitializeBasicEntity() { SubscribeLocalEvent(OnBasicEntityMapInit); SubscribeLocalEvent(OnBasicEntityTakeAmmo); - SubscribeLocalEvent(OnBasicEntityCheckProto); // Mono SubscribeLocalEvent(OnBasicEntityAmmoCount); } @@ -46,13 +45,6 @@ private void OnBasicEntityTakeAmmo(EntityUid uid, BasicEntityAmmoProviderCompone Dirty(uid, component); } - // Mono - private void OnBasicEntityCheckProto(Entity ent, ref CheckShootPrototypeEvent args) - { - ProtoManager.TryIndex(ent.Comp.Proto, out var proto); - args.ShootPrototype = proto; - } - private void OnBasicEntityAmmoCount(EntityUid uid, BasicEntityAmmoProviderComponent component, ref GetAmmoCountEvent args) { args.Capacity = component.Capacity ?? int.MaxValue; diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Battery.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Battery.cs index 24d08173371..ea865fced66 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Battery.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Battery.cs @@ -16,7 +16,6 @@ protected virtual void InitializeBattery() SubscribeLocalEvent(OnBatteryGetState); SubscribeLocalEvent(OnBatteryHandleState); SubscribeLocalEvent(OnBatteryTakeAmmo); - SubscribeLocalEvent(OnBatteryCheckProto); // Mono SubscribeLocalEvent(OnBatteryAmmoCount); SubscribeLocalEvent(OnBatteryExamine); @@ -24,7 +23,6 @@ protected virtual void InitializeBattery() SubscribeLocalEvent(OnBatteryGetState); SubscribeLocalEvent(OnBatteryHandleState); SubscribeLocalEvent(OnBatteryTakeAmmo); - SubscribeLocalEvent(OnBatteryCheckProto); // Mono SubscribeLocalEvent(OnBatteryAmmoCount); SubscribeLocalEvent(OnBatteryExamine); } @@ -74,23 +72,6 @@ private void OnBatteryTakeAmmo(EntityUid uid, BatteryAmmoProviderComponent compo Dirty(uid, component); } - // Mono - private void OnBatteryCheckProto(EntityUid uid, BatteryAmmoProviderComponent comp, ref CheckShootPrototypeEvent args) - { - switch (comp) - { - case ProjectileBatteryAmmoProviderComponent proj: - ProtoManager.TryIndex(proj.Prototype, out var proto); - args.ShootPrototype = proto; - break; - case HitscanBatteryAmmoProviderComponent hitscan: - args.ShootPrototype = null; - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - private void OnBatteryAmmoCount(EntityUid uid, BatteryAmmoProviderComponent component, ref GetAmmoCountEvent args) { args.Count = component.Shots; diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.ChamberMagazine.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.ChamberMagazine.cs index 122596b916e..39014d8248f 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.ChamberMagazine.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.ChamberMagazine.cs @@ -18,7 +18,6 @@ protected virtual void InitializeChamberMagazine() { SubscribeLocalEvent(OnChamberStartup); SubscribeLocalEvent(OnChamberMagazineTakeAmmo); - SubscribeLocalEvent(OnChamberMagazineCheckProto); // Mono SubscribeLocalEvent(OnChamberAmmoCount); /* @@ -428,20 +427,4 @@ private void OnChamberMagazineTakeAmmo(EntityUid uid, ChamberMagazineAmmoProvide args.Ammo.Add((chamberEnt.Value, EnsureShootable(chamberEnt.Value))); } } - - // Mono - private void OnChamberMagazineCheckProto(Entity ent, ref CheckShootPrototypeEvent args) - { - if (Containers.TryGetContainer(ent, ChamberSlot, out var container) - && container is ContainerSlot slot - && slot.ContainedEntity != null) - { - args.ShootPrototype = MetaData(slot.ContainedEntity.Value).EntityPrototype; - return; - } - - var mag = GetMagazineEntity(ent); - if (mag != null) - RaiseLocalEvent(mag.Value, ref args); - } } diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Clothing.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Clothing.cs index 183866c6ec5..7ef57df5391 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Clothing.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Clothing.cs @@ -12,7 +12,6 @@ public partial class SharedGunSystem private void InitializeClothing() { SubscribeLocalEvent(OnClothingTakeAmmo); - SubscribeLocalEvent(OnClothingCheckProto); // Mono SubscribeLocalEvent(OnClothingAmmoCount); } @@ -23,14 +22,6 @@ private void OnClothingTakeAmmo(EntityUid uid, ClothingSlotAmmoProviderComponent RaiseLocalEvent(entity.Value, args); } - // Mono - private void OnClothingCheckProto(Entity ent, ref CheckShootPrototypeEvent args) - { - if (!TryGetClothingSlotEntity(ent, ent.Comp, out var entity)) - return; - RaiseLocalEvent(entity.Value, ref args); - } - private void OnClothingAmmoCount(EntityUid uid, ClothingSlotAmmoProviderComponent component, ref GetAmmoCountEvent args) { if (!TryGetClothingSlotEntity(uid, component, out var entity)) diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Container.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Container.cs index 98002ea4cb7..27104c9d93f 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Container.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Container.cs @@ -11,7 +11,6 @@ public partial class SharedGunSystem private void InitializeContainer() { SubscribeLocalEvent(OnContainerTakeAmmo); - SubscribeLocalEvent(OnContainerCheckProto); // Mono SubscribeLocalEvent(OnContainerAmmoCount); } @@ -35,17 +34,6 @@ private void OnContainerTakeAmmo(EntityUid uid, ContainerAmmoProviderComponent c } } - // Mono - private void OnContainerCheckProto(Entity ent, ref CheckShootPrototypeEvent args) - { - if (!Containers.TryGetContainer(ent.Comp.ProviderUid ?? ent, ent.Comp.Container, out var container) - || !container.ContainedEntities.Any() - ) - return; - - args.ShootPrototype = MetaData(container.ContainedEntities[0]).EntityPrototype; - } - private void OnContainerAmmoCount(EntityUid uid, ContainerAmmoProviderComponent component, ref GetAmmoCountEvent args) { component.ProviderUid ??= uid; diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Magazine.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Magazine.cs index 18e0c66d5e2..2876851d2d8 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Magazine.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Magazine.cs @@ -14,7 +14,6 @@ protected virtual void InitializeMagazine() { SubscribeLocalEvent(OnMagazineMapInit); SubscribeLocalEvent(OnMagazineTakeAmmo); - SubscribeLocalEvent(OnMagazineCheckProto); // Mono SubscribeLocalEvent(OnMagazineAmmoCount); SubscribeLocalEvent>(OnMagazineVerb); SubscribeLocalEvent(OnMagazineSlotChange); @@ -146,16 +145,6 @@ private void OnMagazineTakeAmmo(EntityUid uid, MagazineAmmoProviderComponent com FinaliseMagazineTakeAmmo(uid, component, ammoEv.Count, ammoEv.Capacity, args.User, appearance); } - // Mono - private void OnMagazineCheckProto(Entity ent, ref CheckShootPrototypeEvent args) - { - var magEntity = GetMagazineEntity(ent); - if (magEntity == null) - return; - - RaiseLocalEvent(magEntity.Value, ref args); - } - private void FinaliseMagazineTakeAmmo(EntityUid uid, MagazineAmmoProviderComponent component, int count, int capacity, EntityUid? user, AppearanceComponent? appearance) { // If no ammo then check for autoeject diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs index d51c86e70d8..0d59dcd03c2 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs @@ -27,7 +27,6 @@ protected virtual void InitializeRevolver() SubscribeLocalEvent(OnRevolverHandleState); SubscribeLocalEvent(OnRevolverInit); SubscribeLocalEvent(OnRevolverTakeAmmo); - SubscribeLocalEvent(OnRevolverCheckProto); // Mono SubscribeLocalEvent>(OnRevolverVerbs); SubscribeLocalEvent(OnRevolverInteractUsing); SubscribeLocalEvent(OnRevolverAfterInteract); // Frontier: better revolver reloading @@ -602,30 +601,6 @@ private void OnRevolverTakeAmmo(EntityUid uid, RevolverAmmoProviderComponent com Dirty(uid, component); } - // Mono - private void OnRevolverCheckProto(Entity ent, ref CheckShootPrototypeEvent args) - { - var currentIndex = ent.Comp.CurrentIndex; - - var index = (currentIndex - 1) % ent.Comp.Capacity; - var chamber = ent.Comp.Chambers[index]; - if (chamber == true) - { - var ammo = ent.Comp.AmmoSlots[index]!; - if (ammo == null) - { - if (ent.Comp.FillPrototype == null) - return; - - ProtoManager.TryIndex(ent.Comp.FillPrototype, out var proto); - args.ShootPrototype = proto; - return; - } - - args.ShootPrototype = MetaData(ammo.Value).EntityPrototype; - } - } - private void Cycle(RevolverAmmoProviderComponent component, int count = 1) { component.CurrentIndex = (component.CurrentIndex + count) % component.Capacity; diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Solution.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Solution.cs index 661e4d4bd80..268b2a74734 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Solution.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Solution.cs @@ -10,7 +10,6 @@ public partial class SharedGunSystem protected virtual void InitializeSolution() { SubscribeLocalEvent(OnSolutionTakeAmmo); - SubscribeLocalEvent(OnSolutionCheckProto); // Mono SubscribeLocalEvent(OnSolutionAmmoCount); } @@ -32,13 +31,6 @@ private void OnSolutionTakeAmmo(EntityUid uid, SolutionAmmoProviderComponent com UpdateSolutionAppearance(uid, component); } - // Mono - private void OnSolutionCheckProto(Entity ent, ref CheckShootPrototypeEvent args) - { - ProtoManager.TryIndex(ent.Comp.Prototype, out var proto); - args.ShootPrototype = proto; - } - private void OnSolutionAmmoCount(EntityUid uid, SolutionAmmoProviderComponent component, ref GetAmmoCountEvent args) { args.Count = component.Shots; diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index 17e9ed82bd5..8852d9a2760 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -1,3 +1,43 @@ +// SPDX-FileCopyrightText: 2022 Rane +// SPDX-FileCopyrightText: 2022 Salex08 +// SPDX-FileCopyrightText: 2022 metalgearsloth +// SPDX-FileCopyrightText: 2023 AJCM-git +// SPDX-FileCopyrightText: 2023 Arendian +// SPDX-FileCopyrightText: 2023 Errant +// SPDX-FileCopyrightText: 2023 Kara +// SPDX-FileCopyrightText: 2023 Leon Friedrich +// SPDX-FileCopyrightText: 2023 Nemanja +// SPDX-FileCopyrightText: 2023 Pieter-Jan Briers +// SPDX-FileCopyrightText: 2023 TaralGit +// SPDX-FileCopyrightText: 2023 and_a +// SPDX-FileCopyrightText: 2023 deltanedas +// SPDX-FileCopyrightText: 2023 deltanedas <@deltanedas:kde.org> +// SPDX-FileCopyrightText: 2024 Dakamakat +// SPDX-FileCopyrightText: 2024 DrSmugleaf +// SPDX-FileCopyrightText: 2024 Dvir +// SPDX-FileCopyrightText: 2024 Ed +// SPDX-FileCopyrightText: 2024 I.K +// SPDX-FileCopyrightText: 2024 MilenVolf +// SPDX-FileCopyrightText: 2024 Plykiya +// SPDX-FileCopyrightText: 2024 SlamBamActionman +// SPDX-FileCopyrightText: 2024 Tayrtahn +// SPDX-FileCopyrightText: 2024 TemporalOroboros +// SPDX-FileCopyrightText: 2024 Whatstone +// SPDX-FileCopyrightText: 2024 keronshb +// SPDX-FileCopyrightText: 2024 nikthechampiongr +// SPDX-FileCopyrightText: 2025 Ark +// SPDX-FileCopyrightText: 2025 Avalon +// SPDX-FileCopyrightText: 2025 Aviu00 +// SPDX-FileCopyrightText: 2025 Redrover1760 +// SPDX-FileCopyrightText: 2025 ark1368 +// SPDX-FileCopyrightText: 2025 beck-thompson +// SPDX-FileCopyrightText: 2025 bitcrushing +// SPDX-FileCopyrightText: 2025 slarticodefast +// SPDX-FileCopyrightText: 2025 sleepyyapril +// SPDX-FileCopyrightText: 2025 starch +// +// SPDX-License-Identifier: AGPL-3.0-or-later + using System.Diagnostics.CodeAnalysis; using System.Numerics; using Content.Shared.ActionBlocker; @@ -20,7 +60,6 @@ using Content.Shared.Throwing; using Content.Shared.Timing; using Content.Shared.Verbs; -using Content.Shared.Weapons.Hitscan.Components; using Content.Shared.Weapons.Melee; using Content.Shared.Weapons.Melee.Events; using Content.Shared.Weapons.Ranged.Components; @@ -32,6 +71,7 @@ using Robust.Shared.Containers; using Robust.Shared.Map; using Robust.Shared.Network; +using Robust.Shared.Physics; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Systems; using Robust.Shared.Player; @@ -73,19 +113,13 @@ public abstract partial class SharedGunSystem : EntitySystem [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; [Dependency] protected readonly SharedGunPredictionSystem? _gunPrediction = default!; - protected EntityQuery _physQuery; // Mono - protected EntityQuery _projQuery; // Mono - private const float InteractNextFire = 0.3f; private const double SafetyNextFire = 0.5; private const float EjectOffset = 0.4f; protected const string AmmoExamineColor = "yellow"; - protected const string AmmoExamineSpecialColor = "orange"; // Mono - public const string FireRateExamineColor = "yellow"; + public const string FireRateExamineColor = "yellow"; // Frontier: protected(OnShootRequest); @@ -111,9 +145,6 @@ public override void Initialize() SubscribeLocalEvent(OnCycleMode); SubscribeLocalEvent(OnGunSelected); SubscribeLocalEvent(OnMapInit); - - _physQuery = GetEntityQuery(); // Mono - _projQuery = GetEntityQuery(); // Mono } private void OnMapInit(Entity gun, ref MapInitEvent args) @@ -158,11 +189,7 @@ private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args) return; gun.ShootCoordinates = GetCoordinates(msg.Coordinates); - // Goob edit start - var potentialTarget = GetEntity(msg.Target); - if (gun.Target == null || !gun.BurstActivated || !gun.LockOnTargetBurst) - gun.Target = potentialTarget; - // Goob edit end + gun.Target = GetEntity(msg.Target); AttemptShoot(user.Value, ent, gun); } @@ -190,7 +217,7 @@ private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args) gunComp.Target = GetEntity(target); AttemptShoot(user.Value, ent, gunComp); - + // Check if shooting was successful by checking if ammo was consumed // This is a workaround since AttemptShoot returns void if (gunComp.ShotCounter == 0) @@ -202,7 +229,7 @@ private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args) foreach (var id in shot) { var entity = new EntityUid(id); - if (_projQuery.TryComp(entity, out var projectile)) + if (TryComp(entity, out var projectile)) projectiles.Add((entity, projectile)); } } @@ -262,15 +289,6 @@ hands.ActiveHandEntity is { } held && return true; } - // Mono edit - you can use gloves as guns now because its fucking amazing. - if (_inventory.TryGetSlotEntity(entity, "gloves", out var gloves) && - TryComp(gloves, out var glovesGun)) - { - gunEntity = gloves.Value; - gunComp = glovesGun; - return true; - } - // Last resort is check if the entity itself is a gun. if (TryComp(entity, out gun)) { @@ -289,9 +307,8 @@ private void StopShooting(EntityUid uid, GunComponent gun) gun.ShotCounter = 0; gun.ShootCoordinates = null; - if (!gun.LockOnTargetBurst || !gun.BurstActivated) // Goob edit - gun.Target = null; - Dirty(uid, gun); + gun.Target = null; + EntityManager.DirtyField(uid, gun, nameof(GunComponent.ShotCounter)); } /// @@ -313,15 +330,6 @@ public void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun, Ent EntityManager.DirtyField(gunUid, gun, nameof(GunComponent.ShotCounter)); } - // Goobstation - Crawling turret fix - public void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun, EntityCoordinates toCoordinates, EntityUid target) - { - gun.Target = target; - gun.ShootCoordinates = toCoordinates; - AttemptShoot(user, gunUid, gun); - gun.ShotCounter = 0; - } - /// /// Shoots by assuming the gun is the user at default coordinates. /// @@ -333,18 +341,9 @@ public void AttemptShoot(EntityUid gunUid, GunComponent gun) gun.ShotCounter = 0; } - /// - /// Mono - attempts to shoot at the target coordinates for specified duration, or refreshes duration if already shooting. - /// - public void AttemptShots(EntityUid user, EntityUid gunUid, GunComponent gun, EntityCoordinates toCoordinates, TimeSpan duration) - { - gun.ShootCoordinates = toCoordinates; - AttemptShoot(user, gunUid, gun); - } - - protected void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) + private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) { - if (TryComp(gunUid, out var auto) && !auto.CanFire) // Frontier // Mono + if (TryComp(gunUid, out var auto) && !auto.CanFire) // Frontier return; // Frontier if (gun.FireRateModified <= 0f || @@ -387,13 +386,17 @@ protected void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) // First shot // Previously we checked shotcounter but in some cases all the bullets got dumped at once // curTime - fireRate is insufficient because if you time it just right you can get a 3rd shot out slightly quicker. - if (gun.NextFire < curTime - TimeSpan.FromSeconds(0.2)) // Mono - hack to let guns properly fire faster than tickrate because shotCounter is weird + if (gun.NextFire < curTime - fireRate || gun.ShotCounter == 0 && gun.NextFire < curTime) gun.NextFire = curTime; + var shots = 0; var lastFire = gun.NextFire; - var catchupTime = curTime - gun.NextFire; - var shots = (int) Math.Max(Math.Floor(catchupTime.TotalSeconds / fireRate.TotalSeconds), 1); - gun.NextFire += fireRate * shots; + + while (gun.NextFire <= curTime) + { + gun.NextFire += fireRate; + shots++; + } // NextFire has been touched regardless so need to dirty the gun. EntityManager.DirtyField(gunUid, gun, nameof(GunComponent.NextFire)); @@ -415,8 +418,7 @@ protected void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) default: throw new ArgumentOutOfRangeException($"No implemented shooting behavior for {gun.SelectedMode}!"); } - } - else + } else { shots = Math.Min(shots, gun.ShotsPerBurstModified - gun.ShotCounter); } @@ -430,11 +432,8 @@ protected void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) { PopupSystem.PopupClient(attemptEv.Message, gunUid, user); } - if (!gun.LockOnTargetBurst || gun.ShootCoordinates == null) // Goobstation - gun.Target = null; gun.BurstActivated = false; gun.BurstShotsCount = 0; - gun.ShotCounter = 0; gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); return; } @@ -462,21 +461,15 @@ protected void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) var emptyGunShotEvent = new OnEmptyGunShotEvent(); RaiseLocalEvent(gunUid, ref emptyGunShotEvent); - if (!gun.LockOnTargetBurst || gun.ShootCoordinates == null) // Goobstation - gun.Target = null; gun.BurstActivated = false; gun.BurstShotsCount = 0; - gun.ShotCounter = 0; gun.NextFire += TimeSpan.FromSeconds(gun.BurstCooldown); // Play empty gun sounds if relevant // If they're firing an existing clip then don't play anything. if (shots > 0) { - if (ev.Reason != null && Timing.IsFirstTimePredicted) - { - PopupSystem.PopupCursor(ev.Reason); - } + PopupSystem.PopupCursor(ev.Reason ?? Loc.GetString("gun-magazine-fired-empty")); // Don't spam safety sounds at gun fire rate, play it at a reduced rate. // May cause prediction issues? Needs more tweaking @@ -499,20 +492,21 @@ protected void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) if (gun.BurstShotsCount >= gun.ShotsPerBurstModified) { gun.NextFire += TimeSpan.FromSeconds(gun.BurstCooldown); - if (!gun.LockOnTargetBurst || gun.ShootCoordinates == null) // Goobstation - gun.Target = null; gun.BurstActivated = false; gun.BurstShotsCount = 0; - gun.ShotCounter = 0; } } // Shoot confirmed - sounds also played here in case it's invalid (e.g. cartridge already spent). Shoot(gunUid, gun, ev.Ammo, fromCoordinates, toCoordinates.Value, out var userImpulse, user, throwItems: attemptEv.ThrowItems); - var shotEv = new GunShotEvent(user, ev.Ammo, toCoordinates.Value); // Mono - pass coordinates + var shotEv = new GunShotEvent(user, ev.Ammo); RaiseLocalEvent(gunUid, ref shotEv); - CauseImpulse(toCoordinates.Value, (gunUid, gun), ev.Ammo.Count); + if (userImpulse && TryComp(user, out var userPhysics)) + { + if (_gravity.IsWeightless(user, userPhysics)) + CauseImpulse(fromCoordinates, toCoordinates.Value, user, userPhysics); + } } public void Shoot( @@ -539,58 +533,24 @@ public abstract void Shoot( EntityUid? user = null, bool throwItems = false); - public virtual void ShootProjectile(EntityUid uid, Vector2 direction, Vector2 gunVelocity, EntityUid gunUid, EntityUid? user = null, float speed = 20f, - float offset = 0f) // Mono - add offset + public virtual void ShootProjectile(EntityUid uid, Vector2 direction, Vector2 gunVelocity, EntityUid gunUid, EntityUid? user = null, float speed = 20f) { - var physics = _physQuery.CompOrNull(uid) ?? EnsureComp(uid); + var physics = EnsureComp(uid); Physics.SetBodyStatus(uid, physics, BodyStatus.InAir); - var targetVelocity = gunVelocity + direction.Normalized() * speed; - Physics.SetLinearVelocity(uid, targetVelocity, body: physics); - // Mono - if (offset != 0f) - { - var bulletXform = Transform(uid); - var offsetVec = targetVelocity * offset * _lastFrameTime; - offsetVec = (-TransformSystem.GetWorldRotation(bulletXform.ParentUid)).RotateVec(offsetVec); - TransformSystem.SetCoordinates(uid, bulletXform.Coordinates.Offset(offsetVec)); - } + var targetMapVelocity = gunVelocity + direction.Normalized() * speed; + var currentMapVelocity = Physics.GetMapLinearVelocity(uid, physics); + var finalLinear = physics.LinearVelocity + targetMapVelocity - currentMapVelocity; + Physics.SetLinearVelocity(uid, finalLinear, body: physics); - var projectile = _projQuery.CompOrNull(uid) ?? EnsureComp(uid); + var projectile = EnsureComp(uid); Projectiles.SetShooter(uid, projectile, user ?? gunUid); projectile.Weapon = gunUid; - TransformSystem.SetWorldRotation(uid, direction.ToWorldAngle() + projectile.Angle); - } - - // Mono - public bool TryNextShootPrototype(Entity gun, [NotNullWhen(true)] out EntityPrototype? proto) - { - proto = null; - if (!Resolve(gun, ref gun.Comp)) - return false; - - var checkEv = new CheckShootPrototypeEvent(); - RaiseLocalEvent(gun, ref checkEv); - proto = checkEv.ShootPrototype; - - return proto != null; - } - - // Mono - public EntityPrototype GetBulletPrototype(EntityPrototype cartridge) - { - if (cartridge.TryGetComponent(out var cartComp, Factory)) - { - return ProtoManager.Index(cartComp.Prototype); - } - return cartridge; - } - - // Mono - used for multiple-per-frame projectile offset - public override void Update(float frameTime) - { - _lastFrameTime = frameTime; + // Set the projectile rotation to match the direction it's traveling + // Using FromWorldVec to match the coordinate system convention (adds PI/2) + var directionAngle = Angle.FromWorldVec(direction); + TransformSystem.SetWorldRotation(uid, directionAngle + projectile.Angle); } protected abstract void Popup(string message, EntityUid? uid, EntityUid? user); @@ -606,10 +566,6 @@ protected void SetCartridgeSpent(EntityUid uid, CartridgeAmmoComponent cartridge DirtyField(uid, cartridge, nameof(CartridgeAmmoComponent.Spent)); cartridge.Spent = spent; - - if (cartridge.DeleteOnSpawn) // Mono - No need to update appearance if cartridge is getting deleted anyways - return; - Appearance.SetData(uid, AmmoVisuals.Spent, spent); } @@ -628,7 +584,7 @@ protected void EjectCartridge( var coordinates = xform.Coordinates; coordinates = coordinates.Offset(offsetPos); - TransformSystem.SetLocalRotation(xform, Random.NextAngle()); + TransformSystem.SetLocalRotation(entity, Random.NextAngle(), xform); TransformSystem.SetCoordinates(entity, xform, coordinates); // decides direction the casing ejects and only when not cycling @@ -674,34 +630,30 @@ protected void MuzzleFlash(EntityUid gun, AmmoComponent component, Angle worldAn CreateEffect(gun, ev, user); } - // Mono - rewritten - public void CauseImpulse(EntityCoordinates toCoordinates, Entity ent, float scale) + public void CauseImpulse(EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, EntityUid user, PhysicsComponent userPhysics) { - var totalImpulse = ent.Comp.Recoil * scale; - var selfXform = Transform(ent); - - var impulseCoord = new EntityCoordinates(ent, Vector2.Zero); + var fromMap = TransformSystem.ToMapCoordinates(fromCoordinates).Position; + var toMap = TransformSystem.ToMapCoordinates(toCoordinates).Position; + var shotDirection = (toMap - fromMap).Normalized(); - if (Containers.TryGetContainingContainer(ent.Owner, out var container)) - impulseCoord = TransformSystem.WithEntityId(impulseCoord, container.Owner); - else if (selfXform.Anchored && selfXform.ParentUid != selfXform.MapUid) - impulseCoord = TransformSystem.WithEntityId(impulseCoord, selfXform.ParentUid); + const float impulseStrength = 25.0f; + var impulseVector = shotDirection * impulseStrength; - var toEnt = impulseCoord.EntityId; - if (!_physQuery.TryComp(toEnt, out var toBody)) - return; - - // velocity is in world-aligned coordinates so get vec based off that - var worldSource = TransformSystem.GetWorldPosition(toEnt); - var worldTarget = TransformSystem.ToWorldPosition(toCoordinates); - var dirVec = worldTarget - worldSource; - dirVec.Normalize(); - - var pos = impulseCoord.Position; - Physics.ApplyLinearImpulse(toEnt, -dirVec * totalImpulse, pos); + // Frontier: apply impulse to buckled object if buckled + if (TryComp(user, out var buckle) && buckle.BuckledTo is not null) + { + TryComp(buckle.BuckledTo, out var buckledPhys); + Physics.ApplyLinearImpulse(buckle.BuckledTo.Value, -impulseVector, body: buckledPhys); + } + else + { + Physics.ApplyLinearImpulse(user, -impulseVector, body: userPhysics); + } + // End Frontier + // Physics.ApplyLinearImpulse(user, -impulseVector, body: userPhysics); // Frontier: old implementation } - public void RefreshModifiers(Entity gun, EntityUid? User = null) // GoobStation change - User for NoWieldNeeded + public void RefreshModifiers(Entity gun) { if (!Resolve(gun, ref gun.Comp)) return; @@ -720,14 +672,6 @@ public void CauseImpulse(EntityCoordinates toCoordinates, Entity e comp.ProjectileSpeed ); - // Begin DeltaV additions - // Raise an event at the user of the gun so they have a chance to modify the gun's details. - if (User != null) - { - RaiseLocalEvent(User.Value, ref ev); - } - // End DeltaV additions - RaiseLocalEvent(gun, ref ev); if (comp.SoundGunshotModified != ev.SoundGunshot) @@ -754,7 +698,7 @@ public void CauseImpulse(EntityCoordinates toCoordinates, Entity e DirtyField(gun, nameof(GunComponent.AngleDecayModified)); } - if (!comp.MaxAngleModified.EqualsApprox(ev.MaxAngle)) + if (!comp.MaxAngleModified.EqualsApprox(ev.MinAngle)) { comp.MaxAngleModified = ev.MaxAngle; DirtyField(gun, nameof(GunComponent.MaxAngleModified)); @@ -818,7 +762,7 @@ public record struct AttemptShootEvent(EntityUid User, string? Message, bool Can /// /// The user that fired this gun. [ByRefEvent] -public record struct GunShotEvent(EntityUid User, List<(EntityUid? Uid, IShootable Shootable)> Ammo, EntityCoordinates ToCoordinates); // Mono - pass coordinates +public record struct GunShotEvent(EntityUid User, List<(EntityUid? Uid, IShootable Shootable)> Ammo); public enum EffectLayers : byte { diff --git a/Content.Shared/_Crescent/DroneControl/SharedDroneControl.cs b/Content.Shared/_Crescent/DroneControl/SharedDroneControl.cs index 72227e2704d..1b155e122c0 100644 --- a/Content.Shared/_Crescent/DroneControl/SharedDroneControl.cs +++ b/Content.Shared/_Crescent/DroneControl/SharedDroneControl.cs @@ -1,6 +1,6 @@ using Content.Shared.Shuttles.BUIStates; -using Robust.Shared.Map; using Robust.Shared.Serialization; +using System.Numerics; namespace Content.Shared._Crescent.DroneControl; @@ -17,8 +17,6 @@ public enum DroneConsoleUiKey : byte [RegisterComponent] public sealed partial class DroneControlConsoleComponent : Component { - [DataField] - public float? MaxOrderRadius = 4000f; } /// @@ -28,29 +26,24 @@ public sealed partial class DroneControlConsoleComponent : Component [RegisterComponent] public sealed partial class DroneControlComponent : Component { - [DataField] - public string OrderKey = "DroneCommand"; - - [DataField] - public string TargetKey = "DroneTarget"; - - [DataField] - public bool Autolinked = false; } [Serializable, NetSerializable] public sealed class DroneConsoleBoundUserInterfaceState : BoundUserInterfaceState { public NavInterfaceState NavState; + public IFFConsoleBoundUserInterfaceState IFFState; // Key: NetEntity of the drone, Value: Name - public List<(NetEntity Server, NetEntity Grid)> LinkedDrones; + public List LinkedDrones; public DroneConsoleBoundUserInterfaceState( NavInterfaceState navState, - List<(NetEntity, NetEntity)> linkedDrones) + IFFConsoleBoundUserInterfaceState iffState, + List linkedDrones) { NavState = navState; + IFFState = iffState; LinkedDrones = linkedDrones; } } @@ -62,9 +55,9 @@ public DroneConsoleBoundUserInterfaceState( public sealed class DroneConsoleMoveMessage : BoundUserInterfaceMessage { public HashSet SelectedDrones; - public NetCoordinates TargetCoordinates; + public Vector2 TargetCoordinates; - public DroneConsoleMoveMessage(HashSet selectedDrones, NetCoordinates targetCoordinates) + public DroneConsoleMoveMessage(HashSet selectedDrones, Vector2 targetCoordinates) { SelectedDrones = selectedDrones; TargetCoordinates = targetCoordinates; @@ -78,12 +71,12 @@ public DroneConsoleMoveMessage(HashSet selectedDrones, NetCoordinates public sealed class DroneConsoleTargetMessage : BoundUserInterfaceMessage { public HashSet SelectedDrones; - public NetCoordinates TargetCoordinates; + public NetEntity TargetGrid; - public DroneConsoleTargetMessage(HashSet selectedDrones, NetCoordinates targetCoordinates) + public DroneConsoleTargetMessage(HashSet selectedDrones, NetEntity targetGrid) { SelectedDrones = selectedDrones; - TargetCoordinates = targetCoordinates; + TargetGrid = targetGrid; } } @@ -94,11 +87,6 @@ public static class DroneConsoleConstants { public const string CommandMove = "drone_cmd_move"; public const string CommandTarget = "drone_cmd_target"; - public const string TargetCoords = "target"; -} - -public enum DroneOrderType -{ - Move, - Target + public const string KeyCoords = "coords"; + public const string KeyEntity = "entity"; } diff --git a/Content.Shared/_Goobstation/Factory/ExclusiveSlotsSystem.cs b/Content.Shared/_Goobstation/Factory/ExclusiveSlotsSystem.cs index 52a4a0b5f86..5cdf9b93c71 100644 --- a/Content.Shared/_Goobstation/Factory/ExclusiveSlotsSystem.cs +++ b/Content.Shared/_Goobstation/Factory/ExclusiveSlotsSystem.cs @@ -28,15 +28,11 @@ public override void Initialize() _outputQuery = GetEntityQuery(); SubscribeLocalEvent(OnInputInit); - SubscribeLocalEvent(OnInputStartup); - SubscribeLocalEvent(OnInputMapInit); SubscribeLocalEvent(OnInputLinkAttempt); SubscribeLocalEvent(OnInputNewLink); SubscribeLocalEvent(OnPortDisconnected); SubscribeLocalEvent(OnOutputInit); - SubscribeLocalEvent(OnOutputStartup); - SubscribeLocalEvent(OnOutputMapInit); SubscribeLocalEvent(OnOutputLinkAttempt); SubscribeLocalEvent(OnOutputNewLink); SubscribeLocalEvent(OnPortDisconnected); @@ -49,13 +45,6 @@ private void OnInputInit(Entity ent, ref ComponentI UpdateSlot(ent.Comp); } - private void OnInputStartup(Entity ent, ref ComponentStartup args) - { - // Some linked machines/slots or their solution containers may not be initialized yet during ComponentInit - // due to deserialization ordering. Re-resolve the linked slot now that components have started. - UpdateSlot(ent.Comp); - } - private void OnInputLinkAttempt(Entity ent, ref LinkAttemptEvent args) { if (TryCancelLink((ent, ent.Comp), args.Sink, args.SinkPort, args.Source, args.SourcePort)) @@ -73,24 +62,6 @@ private void OnOutputInit(Entity ent, ref Componen UpdateSlot(ent.Comp); } - private void OnOutputStartup(Entity ent, ref ComponentStartup args) - { - // Re-resolve linked slot after startup to ensure AutomationSlot is available. - UpdateSlot(ent.Comp); - var machineStr = ent.Comp.LinkedMachine is {} m ? ToPrettyString(m) : ""; - var portStr = ent.Comp.LinkedPort ?? ""; - var slotResolved = ent.Comp.LinkedSlot is not null; - Log.Info($"[ExclusiveSlots] Output startup for {ToPrettyString(ent.Owner)} linkedMachine={machineStr} linkedPort={portStr} slotResolved={slotResolved}"); - } - - private void OnInputMapInit(Entity ent, ref MapInitEvent args) - { - // MapInit runs after components have been started and map-specific containers/solutions are created. - UpdateSlot(ent.Comp); - } - - - private void OnOutputLinkAttempt(Entity ent, ref LinkAttemptEvent args) { if (TryCancelLink((ent, ent.Comp), args.Source, args.SourcePort, args.Sink, args.SinkPort)) @@ -100,19 +71,6 @@ private void OnOutputLinkAttempt(Entity ent, ref L private void OnOutputNewLink(Entity ent, ref NewLinkEvent args) { NewLink(ent, args.Source, args.SourcePort, args.Sink, args.SinkPort); - var machineStr = ent.Comp.LinkedMachine is {} m ? ToPrettyString(m) : ""; - var portStr = ent.Comp.LinkedPort ?? ""; - var slotResolved = ent.Comp.LinkedSlot is not null; - Log.Info($"[ExclusiveSlots] Output NewLink for {ToPrettyString(ent.Owner)} linkedMachine={machineStr} linkedPort={portStr} slotResolved={slotResolved}"); - } - - private void OnOutputMapInit(Entity ent, ref MapInitEvent args) - { - UpdateSlot(ent.Comp); - var machineStr = ent.Comp.LinkedMachine is {} m ? ToPrettyString(m) : ""; - var portStr = ent.Comp.LinkedPort ?? ""; - var slotResolved = ent.Comp.LinkedSlot is not null; - Log.Info($"[ExclusiveSlots] Output mapinit for {ToPrettyString(ent.Owner)} linkedMachine={machineStr} linkedPort={portStr} slotResolved={slotResolved}"); } #endregion @@ -165,9 +123,7 @@ private void OnHandleState(Entity ent, ref AfterAutoHandleStateEvent args) public void UpdateSlot(IExclusiveSlotComponent comp) { if (comp.LinkedMachine is {} machine && comp.LinkedPort is {} port) - // When resolving the linked slot on the *other* machine, the input/output - // polarity is inverted relative to this component. Match NewLink's logic. - comp.LinkedSlot = _automation.GetSlot(machine, port, input: !comp.IsInput); + comp.LinkedSlot = _automation.GetSlot(machine, port, input: comp.IsInput); } #endregion diff --git a/Content.Shared/_Goobstation/Factory/Plumbing/PlumbingPumpSystem.cs b/Content.Shared/_Goobstation/Factory/Plumbing/PlumbingPumpSystem.cs index cb222cf6853..0d42b6af774 100644 --- a/Content.Shared/_Goobstation/Factory/Plumbing/PlumbingPumpSystem.cs +++ b/Content.Shared/_Goobstation/Factory/Plumbing/PlumbingPumpSystem.cs @@ -42,104 +42,28 @@ public override void Update(float frameTime) private void TryPump(Entity ent) { - var owner = ent.Owner; - - if (!_power.IsPowered(owner)) - { + if (!_power.IsPowered(ent.Owner)) return; - } // pump does nothing unless both slots are linked - var inSlot = _exclusive.GetInputSlot(owner); - var outSlot = _exclusive.GetOutputSlot(owner); - - if (inSlot == null) - { - // fallback: try re-resolving the exclusive input slot component (handles deserialization ordering) - if (TryComp(owner, out ExclusiveInputSlotComponent? inComp)) - { - _exclusive.UpdateSlot(inComp); - inSlot = _exclusive.GetInputSlot(owner); - } - - if (inSlot == null) - { - return; - } - } - - if (outSlot == null) - { - // fallback: try re-resolving the exclusive output slot component (handles deserialization ordering) - if (TryComp(owner, out ExclusiveOutputSlotComponent? outComp)) - { - _exclusive.UpdateSlot(outComp); - outSlot = _exclusive.GetOutputSlot(owner); - } - - if (outSlot == null) - { - return; - } - } - - Entity inputEnt; - Entity outputEnt; - try - { - var maybeIn = inSlot.GetSolution(); - if (maybeIn is not {} ie) - { - return; - } - inputEnt = ie; - } - catch (Exception) - { + if (_exclusive.GetInputSlot(ent)?.GetSolution() is not {} inputEnt + || _exclusive.GetOutputSlot(ent)?.GetSolution() is not {} outputEnt) return; - } - - try - { - var maybeOut = outSlot.GetSolution(); - if (maybeOut is not {} oe) - { - return; - } - outputEnt = oe; - } - catch (Exception) - { - return; - } var input = inputEnt.Comp.Solution; var output = outputEnt.Comp.Solution; - var limit = _transferQuery.Comp(ent).TransferAmount; - var amount = FixedPoint2.Min(input.Volume, limit); if (output.MaxVolume > FixedPoint2.Zero) amount = FixedPoint2.Min(amount, output.AvailableVolume); - - - if (amount <= FixedPoint2.Zero) - { return; - } - var filter = _filter.GetFilteredReagent(ent); - - - var split = filter is {} f - ? input.SplitSolutionWithOnly(amount, f) + var split = _filter.GetFilteredReagent(ent) is {} filter + ? input.SplitSolutionWithOnly(amount, filter) : input.SplitSolution(amount); - _solution.UpdateChemicals(inputEnt, false); // removing reagents should never cause reactions? don't waste cpu updating it _solution.ForceAddSolution(outputEnt, split); - - } } diff --git a/Content.Shared/_HL/Silicons/Components/GovernorLawAccessComponent.cs b/Content.Shared/_HL/Silicons/Components/GovernorLawAccessComponent.cs deleted file mode 100644 index a6fdb293317..00000000000 --- a/Content.Shared/_HL/Silicons/Components/GovernorLawAccessComponent.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared.HL.Silicons.Components; - -[RegisterComponent, NetworkedComponent] -public sealed partial class GovernorLawAccessComponent : Component -{ -} diff --git a/Content.Shared/_HL/Silicons/GovernorLawAccessShared.cs b/Content.Shared/_HL/Silicons/GovernorLawAccessShared.cs deleted file mode 100644 index 82e68371788..00000000000 --- a/Content.Shared/_HL/Silicons/GovernorLawAccessShared.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Content.Shared.Movement.Components; -using Content.Shared.Silicons.Laws.Components; -using Robust.Shared.GameObjects; -using Robust.Shared.Utility; - -namespace Content.Shared.HL.Silicons; - -public static class GovernorLawAccessShared -{ - public const string ManageLawsLocKey = "silicon-law-ui-verb"; - public static readonly ResPath ManageLawsIconRsiPath = new("/Textures/Interface/Actions/actions_borg.rsi"); - public const string ManageLawsIconState = "state-laws"; - - public static bool IsSiliconUser(EntityUid user, IEntityManager entMan) - { - if (entMan.HasComponent(user)) - return true; - - return entMan.TryGetComponent(user, out var relay) - && entMan.HasComponent(relay.Source); - } -} diff --git a/Content.Shared/_Mono/CCVar/CCVars.Mono.cs b/Content.Shared/_Mono/CCVar/CCVars.Mono.cs deleted file mode 100644 index e32937ef718..00000000000 --- a/Content.Shared/_Mono/CCVar/CCVars.Mono.cs +++ /dev/null @@ -1,166 +0,0 @@ -using Robust.Shared.Configuration; - -namespace Content.Shared._Mono.CCVar; - -/// -/// Contains CVars used by Mono. -/// -[CVarDefs] -public sealed partial class MonoCVars -{ - #region Cleanup - - /// - /// Whether to enable cleanup debug mode, making it run much more often. - /// - public static readonly CVarDef CleanupDebug = - CVarDef.Create("mono.cleanup.debug", false, CVar.SERVERONLY); - - /// - /// Whether to log every single entity cleanup deletes. - /// - public static readonly CVarDef CleanupLog = - CVarDef.Create("mono.cleanup.log", false, CVar.SERVERONLY); - - /// - /// Don't delete non-grids at most this close to a grid. - /// - public static readonly CVarDef CleanupMaxGridDistance = - CVarDef.Create("mono.cleanup.max_grid_distance", 20.0f, CVar.SERVERONLY); - - /// - /// How far away from any players can a mob be until it gets cleaned up. - /// - public static readonly CVarDef MobCleanupDistance = - CVarDef.Create("mono.cleanup.mob.distance", 1280.0f, CVar.SERVERONLY); - - /// - /// How far away from any players can a grid be until it gets cleaned up. - /// - public static readonly CVarDef GridCleanupDistance = - CVarDef.Create("mono.cleanup.grid.distance", 628.0f, CVar.SERVERONLY); - - /// - /// How much can a grid at most be worth for it to be cleaned up. - /// - public static readonly CVarDef GridCleanupMaxValue = - CVarDef.Create("mono.cleanup.grid.max_value", 30000.0f, CVar.SERVERONLY); - - /// - /// At most how many tiles for a grid to have for it to be cleaned up more aggressively. - /// - public static readonly CVarDef GridCleanupAggressiveTiles = - CVarDef.Create("mono.grid_cleanup_aggressive_tiles", 10, CVar.SERVERONLY); - - /// - /// Duration, in seconds, for how long a grid has to fulfill cleanup conditions to get cleaned up. - /// - public static readonly CVarDef GridCleanupDuration = - CVarDef.Create("mono.grid_cleanup_duration", 60f * 30f, CVar.SERVERONLY); - - /// - /// How far away from any players does a spaced entity have to be in order to get cleaned up. - /// - public static readonly CVarDef SpaceCleanupDistance = - CVarDef.Create("mono.cleanup.space.distance", 628f, CVar.SERVERONLY); - - /// - /// How much can a spaced entity at most be worth for it to be cleaned up. - /// - public static readonly CVarDef SpaceCleanupMaxValue = - CVarDef.Create("mono.cleanup.space.max_value", 10000.0f, CVar.SERVERONLY); - - #endregion - - /// - /// Whether to play radio static/noise sounds when receiving radio messages on headsets. - /// - public static readonly CVarDef RadioNoiseEnabled = - CVarDef.Create("mono.radio_noise_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - - #region Audio - - /// - /// HULLROT: Wether or not to play combat music when combatmode is on. - /// - public static readonly CVarDef CombatMusicEnabled = - CVarDef.Create("mono.combat_music.enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// HULLROT: Combat mode music volume. - /// - public static readonly CVarDef CombatMusicVolume = - CVarDef.Create("mono.combat_music_volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// HULLROT: Time needed with combatmode on to turn on combat music. - /// - public static readonly CVarDef CombatMusicWindUpTime = - CVarDef.Create("mono.combat_music_windup_time", 3, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// HULLROT: Time needed with combatmode off to turn off combat music. - /// - public static readonly CVarDef CombatMusicWindDownTime = - CVarDef.Create("mono.combat_music_winddown_time", 30, CVar.ARCHIVE | CVar.CLIENTONLY); - - - /// - /// Whether to render sounds with echo when they are in 'large' open, rooved areas. - /// - /// - public static readonly CVarDef AreaEchoEnabled = - CVarDef.Create("mono.area_echo.enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// If false, area echos calculate with 4 directions (NSEW). - /// Otherwise, area echos calculate with all 8 directions. - /// - /// - public static readonly CVarDef AreaEchoHighResolution = - CVarDef.Create("mono.area_echo.alldirections", false, CVar.ARCHIVE | CVar.CLIENTONLY); - - - /// - /// How many times a ray can bounce off a surface for an echo calculation. - /// - /// - public static readonly CVarDef AreaEchoReflectionCount = - CVarDef.Create("mono.area_echo.max_reflections", 1, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// Distantial interval, in tiles, in the rays used to calculate the roofs of an open area for echos, - /// or the ray's distance to space, at which the tile at that point of the ray is processed. - /// - /// The lower this is, the more 'predictable' and computationally heavy the echoes are. - /// - /// - public static readonly CVarDef AreaEchoStepFidelity = - CVarDef.Create("mono.area_echo.step_fidelity", 5f, CVar.CLIENTONLY); - - /// - /// Interval between updates for every audio entity. - /// - /// - public static readonly CVarDef AreaEchoRecalculationInterval = - CVarDef.Create("mono.area_echo.recalculation_interval", TimeSpan.FromSeconds(15), CVar.ARCHIVE | CVar.CLIENTONLY); - - #endregion - - #region Detection - - /// - /// Multiplier of grid thermal detection radius. - /// - public static readonly CVarDef ThermalDetectionMultiplier = - CVarDef.Create("mono.detection.thermal_multiplier", 2f, CVar.ARCHIVE | CVar.REPLICATED); - - /// - /// Multiplier of grid visual detection radius. - /// - public static readonly CVarDef VisualDetectionMultiplier = - CVarDef.Create("mono.detection.visual_multiplier", 16f, CVar.ARCHIVE | CVar.REPLICATED); - - #endregion -} diff --git a/Content.Shared/_Mono/Detection/DetectedAtRangeMultiplierComponent.cs b/Content.Shared/_Mono/Detection/DetectedAtRangeMultiplierComponent.cs deleted file mode 100644 index 846a2ff0429..00000000000 --- a/Content.Shared/_Mono/Detection/DetectedAtRangeMultiplierComponent.cs +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - -namespace Content.Shared._Mono.Detection; - -/// -/// Component used on entities capable of being detected that specifies their detected-at range multipliers. -/// For docs on the fields that don't have them here, . -/// -[RegisterComponent] -public sealed partial class DetectedAtRangeMultiplierComponent : Component -{ - [DataField] - public float InfraredMultiplier = 1f; - - [DataField] - public float VisualMultiplier = 1f; - - /// - /// Flat value to add to visual detected-at radius, AFTER all multipliers. - /// Use for asteroids and debris. - /// - [DataField] - public float VisualBias = 0f; -} diff --git a/Content.Shared/_Mono/Detection/DetectionRangeMultiplierComponent.cs b/Content.Shared/_Mono/Detection/DetectionRangeMultiplierComponent.cs deleted file mode 100644 index fbff96a7fe6..00000000000 --- a/Content.Shared/_Mono/Detection/DetectionRangeMultiplierComponent.cs +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - -namespace Content.Shared._Mono.Detection; - -/// -/// Component used on entities capable of detection that specifies their detection range. -/// -[RegisterComponent] -public sealed partial class DetectionRangeMultiplierComponent : Component -{ - /// - /// Multiplier of infrared detection radius. - /// Infrared detection radius scales with the square root of the grid's heat. - /// - [DataField] - public float InfraredMultiplier = 1f; - - /// - /// In what portion of infrared detection radius to start showing the grid outline. - /// - [DataField] - public float InfraredOutlinePortion = 0.6f; - - /// - /// Multiplier of visual detection radius. - /// Visual detection radius scales linearly off a grid's diagonal. - /// - [DataField] - public float VisualMultiplier = 4f; - - /// - /// Whether to have effectively infinite detection range. - /// Use for aghosts. - /// - [DataField] - public bool AlwaysDetect = false; -} diff --git a/Content.Shared/_Mono/Detection/DetectionSystem.cs b/Content.Shared/_Mono/Detection/DetectionSystem.cs deleted file mode 100644 index 91416beef13..00000000000 --- a/Content.Shared/_Mono/Detection/DetectionSystem.cs +++ /dev/null @@ -1,80 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - -using Robust.Shared.Map.Components; -using System; - -namespace Content.Shared._Mono.Detection; - -/// -/// Handles the logic for grid and entity detection. -/// -public sealed class DetectionSystem : EntitySystem -{ - public DetectionLevel IsGridDetected(Entity grid, EntityUid byUid) - { - if (!Resolve(grid, ref grid.Comp)) - return DetectionLevel.Undetected; - - var comp = EnsureComp(byUid); - - if (comp.AlwaysDetect) - return DetectionLevel.Detected; - - var gridAABB = grid.Comp.LocalAABB; - var gridDiagonal = MathF.Sqrt(gridAABB.Width * gridAABB.Width + gridAABB.Height * gridAABB.Height); - var visualSig = gridDiagonal; - var visualRadius = visualSig * comp.VisualMultiplier; - - var thermalSig = TryComp(grid, out var sigComp) ? MathF.Max(sigComp.TotalHeat, 0f) : 0f; - var thermalRadius = MathF.Sqrt(thermalSig) * comp.InfraredMultiplier; - - if (TryComp(grid, out var compAt)) - { - visualRadius *= compAt.VisualMultiplier; - thermalRadius *= compAt.InfraredMultiplier; - visualRadius += compAt.VisualBias; - } - - var outlineRadius = thermalRadius * comp.InfraredOutlinePortion; - outlineRadius = MathF.Max(outlineRadius, visualRadius); - - var level = DetectionLevel.Undetected; - - var xform = Transform(grid); - var byXform = Transform(byUid); - if (xform.Coordinates.TryDistance(EntityManager, byXform.Coordinates, out var distance)) - { - if (distance <= outlineRadius) // accounts for visual radius - level = DetectionLevel.Detected; - else if (distance < thermalRadius) - level = DetectionLevel.PartialDetected; - } - - // maybe make this also take IFF being on into account? - return level; - } - - public DetectionLevel IsGridDetected(Entity grid, IEnumerable byUids) - { - var bestLevel = DetectionLevel.Undetected; - foreach (var uid in byUids) - { - var level = IsGridDetected(grid, uid); - if (level == DetectionLevel.Detected) - return level; - - if ((int)level < (int)bestLevel) - bestLevel = level; - } - return bestLevel; - } -} - -public enum DetectionLevel : int -{ - Detected = 0, - PartialDetected = 1, - Undetected = 2 -} diff --git a/Content.Shared/_Mono/Detection/ThermalSignatureComponent.cs b/Content.Shared/_Mono/Detection/ThermalSignatureComponent.cs deleted file mode 100644 index 012696303e3..00000000000 --- a/Content.Shared/_Mono/Detection/ThermalSignatureComponent.cs +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Ilya246 -// -// SPDX-License-Identifier: MPL-2.0 - -using Robust.Shared.GameStates; -using System; - -namespace Content.Shared._Mono.Detection; - -/// -/// Component that allows an entity to store heat for infrared signature detection logic. -/// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] -public sealed partial class ThermalSignatureComponent : Component -{ - [DataField] - public float StoredHeat = 0f; - - /// - /// Stored heat retains this portion of itself every next second. - /// - [DataField] - public float HeatDissipation = 0.75f; - - /// - /// For grids, the combined stored heat of all entities on the grid. - /// For other entities, their stored heat. - /// Don't attempt to modify. - /// - [ViewVariables, AutoNetworkedField] - public float TotalHeat = 0f; -} diff --git a/Content.Shared/_Mono/ForceParent/ForceParentComponent.cs b/Content.Shared/_Mono/ForceParent/ForceParentComponent.cs deleted file mode 100644 index 86aa806530c..00000000000 --- a/Content.Shared/_Mono/ForceParent/ForceParentComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Robust.Shared.GameStates; -using Robust.Shared.Map; - -namespace Content.Shared._Mono.ForceParent; - -[RegisterComponent, NetworkedComponent] -public sealed partial class ForceParentComponent : Component -{ - [DataField] - public EntityCoordinates Position; -} diff --git a/Content.Shared/_Mono/ForceParent/ForceParentSystem.cs b/Content.Shared/_Mono/ForceParent/ForceParentSystem.cs deleted file mode 100644 index a3602a836b0..00000000000 --- a/Content.Shared/_Mono/ForceParent/ForceParentSystem.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Robust.Shared.Map; - -namespace Content.Shared._Mono.ForceParent; - -public sealed partial class ForceParentSystem : EntitySystem -{ - [Dependency] private readonly SharedTransformSystem _transform = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnMove); - } - - private void OnMove(Entity ent, ref MoveEvent args) - { - if (TerminatingOrDeleted(ent)) - return; - - var newPos = args.NewPosition; - if (newPos.EntityId != ent.Comp.Position.EntityId || newPos.Position != ent.Comp.Position.Position) - _transform.SetParent(ent, ent.Comp.Position.EntityId); - _transform.SetLocalPositionNoLerp(ent, ent.Comp.Position.Position); - } - - public void SetForceParent(EntityUid uid, EntityCoordinates coord) - { - var comp = EnsureComp(uid); - comp.Position = coord; - Transform(uid).GridTraversal = false; - _transform.SetCoordinates(uid, coord); // if this fails the other method shouldn't - } -} diff --git a/Content.Shared/_Mono/GridEdgeMarker/GridEdgeMarkerComponent.cs b/Content.Shared/_Mono/GridEdgeMarker/GridEdgeMarkerComponent.cs deleted file mode 100644 index 7cfda4d6bcd..00000000000 --- a/Content.Shared/_Mono/GridEdgeMarker/GridEdgeMarkerComponent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Numerics; - -namespace Content.Shared._Mono.GridEdgeMarker; - -/// -/// Causes this entity to display as a grid edge on radar interfaces, even inside grids. -/// -[RegisterComponent] -public sealed partial class GridEdgeMarkerComponent : Component -{ - [DataField(required: true)] - public Vector2 Begin; - - [DataField(required: true)] - public Vector2 End; -} diff --git a/Content.Shared/_Mono/Projectile/ProjectileKnockbackComponent.cs b/Content.Shared/_Mono/Projectile/ProjectileKnockbackComponent.cs deleted file mode 100644 index 4d9baa5f266..00000000000 --- a/Content.Shared/_Mono/Projectile/ProjectileKnockbackComponent.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace Content.Shared._Mono.Projectile; - -/// -/// Applies knockback on entities hit by this projectile. -/// -[RegisterComponent] -public sealed partial class ProjectileKnockbackComponent : Component -{ - /// - /// Knockback, in kg*m/s. - /// - [DataField] - public float Knockback = 25f; - - [DataField] - public float RotateMultiplier = 1f; // evil -} diff --git a/Content.Shared/_Mono/Projectile/ProjectileKnockbackSystem.cs b/Content.Shared/_Mono/Projectile/ProjectileKnockbackSystem.cs deleted file mode 100644 index a6208bca2a5..00000000000 --- a/Content.Shared/_Mono/Projectile/ProjectileKnockbackSystem.cs +++ /dev/null @@ -1,56 +0,0 @@ -using Content.Shared.Projectiles; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; -using Robust.Shared.Physics; -using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Systems; -using System.Numerics; - -namespace Content.Shared._Mono.Projectile; - -public sealed partial class ProjectileKnockbackSystem : EntitySystem -{ - [Dependency] private readonly SharedPhysicsSystem _physics = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - - private EntityQuery _physQuery; - private EntityQuery _gridQuery; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnHit); - - _physQuery = GetEntityQuery(); - _gridQuery = GetEntityQuery(); - } - - private void OnHit(Entity ent, ref ProjectileHitEvent args) - { - if (!_physQuery.TryComp(args.Target, out var targetBody) - || !_physQuery.TryComp(ent, out var selfBody) - ) - return; - - var toEnt = args.Target; - if ((targetBody.BodyType & BodyType.Static) != 0) - toEnt = Transform(toEnt).ParentUid; - - if (toEnt != args.Target && !_physQuery.TryComp(toEnt, out targetBody)) - return; - - var selfXform = Transform(ent); - var selfCoord = new EntityCoordinates(ent, Vector2.Zero); - var impulseCoord = _transform.WithEntityId(selfCoord, toEnt); - - // velocity is in world rotation frame so no need to translate it - var dirVec = selfBody.LinearVelocity; - dirVec.Normalize(); - - var pos = impulseCoord.Position; - // scale distance of application point to body center to scale rotation impulse - pos = (pos - targetBody.LocalCenter) * ent.Comp.RotateMultiplier + targetBody.LocalCenter; - _physics.ApplyLinearImpulse(toEnt, dirVec * ent.Comp.Knockback, pos); - } -} diff --git a/Content.Shared/_Mono/Pvs/GlobalPvsComponent.cs b/Content.Shared/_Mono/Pvs/GlobalPvsComponent.cs deleted file mode 100644 index 2a0e58cdecb..00000000000 --- a/Content.Shared/_Mono/Pvs/GlobalPvsComponent.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Content.Shared._Mono.Pvs; - -/// -/// Causes this entity to be sent to all clients. -/// -[RegisterComponent] -public sealed partial class GlobalPvsComponent : Component {} diff --git a/Content.Shared/_Mono/Pvs/GlobalPvsSystem.cs b/Content.Shared/_Mono/Pvs/GlobalPvsSystem.cs deleted file mode 100644 index 422f608f4aa..00000000000 --- a/Content.Shared/_Mono/Pvs/GlobalPvsSystem.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared._Mono.Pvs; - -public sealed partial class GlobalPvsSystem : EntitySystem -{ - [Dependency] private readonly SharedPvsOverrideSystem _pvs = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnInit); - } - - private void OnInit(Entity ent, ref ComponentInit args) - { - _pvs.AddGlobalOverride(ent); - } -} diff --git a/Content.Shared/_Mono/Radar/RadarMessages.cs b/Content.Shared/_Mono/Radar/RadarMessages.cs index 036f201afb4..f2fc13d5814 100644 --- a/Content.Shared/_Mono/Radar/RadarMessages.cs +++ b/Content.Shared/_Mono/Radar/RadarMessages.cs @@ -4,6 +4,7 @@ // // SPDX-License-Identifier: AGPL-3.0-or-later +using System.Linq; using System.Numerics; using Robust.Shared.Map; using Robust.Shared.Serialization; @@ -15,7 +16,6 @@ public enum RadarBlipShape { Circle, Square, - GridAlignedBox, Triangle, Star, Diamond, @@ -27,48 +27,26 @@ public enum RadarBlipShape [Serializable, NetSerializable] public sealed class GiveBlipsEvent : EntityEventArgs { - /// - /// Palette of blip configs, basically an int->config map. - /// - public readonly List ConfigPalette; - /// /// Blips are now (position, velocity, scale, color, shape). /// - public readonly List Blips; + public readonly List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)> Blips; /// - /// Hitscan lines to display on the radar as (grid entity, start position, end position, thickness, color). - /// If grid entity is null, positions are world-space; otherwise they are grid-local. + /// Hitscan lines to display on the radar as (start position, end position, thickness, color). /// - public readonly List HitscanLines; - - public GiveBlipsEvent(List blips) - { - ConfigPalette = new List(); - Blips = blips; - HitscanLines = new List(); - } + public readonly List<(Vector2 Start, Vector2 End, float Thickness, Color Color)> HitscanLines; - public GiveBlipsEvent( - List blips, - List<(NetEntity? Grid, Vector2 Start, Vector2 End, float Thickness, Color Color)> hitscans) + public GiveBlipsEvent(List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)> blips) { - ConfigPalette = new List(); Blips = blips; - HitscanLines = new List(hitscans.Count); - foreach (var (grid, start, end, thickness, color) in hitscans) - { - HitscanLines.Add(new HitscanNetData(grid, start, end, thickness, color)); - } + HitscanLines = new List<(Vector2 Start, Vector2 End, float Thickness, Color Color)>(); } public GiveBlipsEvent( - List configPalette, - List blips, - List hitscans) + List<(NetCoordinates Position, Vector2 Vel, float Scale, Color Color, RadarBlipShape Shape)> blips, + List<(Vector2 Start, Vector2 End, float Thickness, Color Color)> hitscans) { - ConfigPalette = configPalette; Blips = blips; HitscanLines = hitscans; } @@ -83,49 +61,3 @@ public RequestBlipsEvent(NetEntity radar) Radar = radar; } } - -[Serializable, NetSerializable] -public sealed class BlipRemovalEvent : EntityEventArgs -{ - public NetEntity NetBlipUid; - - public BlipRemovalEvent(NetEntity netBlipUid) - { - NetBlipUid = netBlipUid; - } -} - -[Serializable, NetSerializable] -public record struct BlipNetData -( - NetEntity Uid, - NetCoordinates Position, - Vector2 Vel, - Angle Rotation, - ushort ConfigIndex, - ushort? OnGridConfigIndex -); - -[Serializable, NetSerializable] -public record struct HitscanNetData(NetEntity? Grid, Vector2 Start, Vector2 End, float Thickness, Color Color); - -[Serializable, NetSerializable, DataDefinition] -public partial record struct BlipConfig -{ - [DataField] - public Box2 Bounds = new Box2(-0.5f, -0.5f, 0.5f, 0.5f); - - [DataField] - public Color Color = Color.OrangeRed; - - [DataField] - public RadarBlipShape Shape = RadarBlipShape.Circle; - - [DataField] - public bool RespectZoom = false; - - [DataField] - public bool Rotate = false; - - public BlipConfig() { } -} diff --git a/Content.Shared/_Mono/ShipRepair/Components/RepairDataEyeComponent.cs b/Content.Shared/_Mono/ShipRepair/Components/RepairDataEyeComponent.cs deleted file mode 100644 index b456dbb2e30..00000000000 --- a/Content.Shared/_Mono/ShipRepair/Components/RepairDataEyeComponent.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared._Mono.ShipRepair.Components; - -/// -/// Added by server to client to tell it that it can now start showing repair ghosts. -/// Needed because without this client will start showing missing entities immediately but that will also show underfloor entities. -/// -[RegisterComponent, NetworkedComponent] -public sealed partial class RepairDataEyeComponent : Component -{ - [DataField] - public int Count = 0; -} diff --git a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairDataComponent.cs b/Content.Shared/_Mono/ShipRepair/Components/ShipRepairDataComponent.cs deleted file mode 100644 index 7348b1dca5c..00000000000 --- a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairDataComponent.cs +++ /dev/null @@ -1,69 +0,0 @@ -using Robust.Shared.GameStates; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization; -using System.Numerics; - -namespace Content.Shared._Mono.ShipRepair.Components; - -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] -public sealed partial class ShipRepairDataComponent : Component -{ - /// - /// N to use for the NxN chunks. - /// - [DataField, AutoNetworkedField] - public int ChunkSize = 5; - - [DataField, AutoNetworkedField] - public Dictionary Chunks = new(); - - /// - /// A map of index to EntProtoId to not have to store a whole string for each repairable entity. - /// - [DataField, AutoNetworkedField] - public List EntityPalette = new(); -} - -[DataDefinition, Serializable, NetSerializable] -public sealed partial class ShipRepairChunk -{ - /// - /// Flattened array of tiles for this chunk. Access via x + y * size. - /// - [DataField] - public int[] Tiles = default!; - - /// - /// Dictionary of uid -> repair specifier to be able to uniquely refer to entities to repair. - /// - [DataField] - public Dictionary Entities = new(); - - [DataField] - public int NextUid = 0; -} - -[DataDefinition, Serializable, NetSerializable] -public sealed partial class ShipRepairEntitySpecifier -{ - /// - /// Index pointing to . - /// - [DataField] - public int ProtoIndex; - - /// - /// Grid-relative position. - /// - [DataField] - public Vector2 LocalPosition; - - [DataField] - public Angle Rotation; - - /// - /// Original entity this was snapshotted from. - /// - [DataField] - public NetEntity? OriginalEntity; -} diff --git a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairRestrictComponent.cs b/Content.Shared/_Mono/ShipRepair/Components/ShipRepairRestrictComponent.cs deleted file mode 100644 index 33b5cecb4eb..00000000000 --- a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairRestrictComponent.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Content.Shared.Whitelist; - -namespace Content.Shared._Mono.ShipRepair.Components; - -/// -/// Add to grid to restrict tools that can repair it. -/// -[RegisterComponent] -public sealed partial class ShipRepairRestrictComponent : Component -{ - [DataField(required: true)] - public EntityWhitelist ToolWhitelist = new(); -} diff --git a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairToolComponent.cs b/Content.Shared/_Mono/ShipRepair/Components/ShipRepairToolComponent.cs deleted file mode 100644 index 5b647398e0b..00000000000 --- a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairToolComponent.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Content.Shared.DoAfter; -using Robust.Shared.Audio; -using Robust.Shared.GameStates; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization; - -namespace Content.Shared._Mono.ShipRepair.Components; - -/// -/// Allows item to act as a tool that repairs missing tiles and entities of a grid with . -/// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] -public sealed partial class ShipRepairToolComponent : Component -{ - [DataField, AutoNetworkedField] - public bool EnableTileRepair = true; - - [DataField, AutoNetworkedField] - public bool EnableEntityRepair = true; - - /// - /// Multiplier of time the repair doafter should take. - /// - [DataField, AutoNetworkedField] - public float RepairTimeMultiplier = 1f; - - /// - /// Length of doafter when repairing tiles. - /// - [DataField, AutoNetworkedField] - public float TileRepairTime = 0.5f; - - /// - /// Charges to take from when repairing tiles. - /// - [DataField, AutoNetworkedField] - public int TileRepairCost = 1; - - /// - /// In what radius to search for entities to repair on click. - /// - [DataField, AutoNetworkedField] - public float EntitySearchRadius = 0.5f; - - [DataField, AutoNetworkedField] - public SoundSpecifier? RepairSound = new SoundPathSpecifier("/Audio/Items/deconstruct.ogg"); - - /// - /// List of active doafters, used to allow clicking on the same tile multiple times to repair different missing entities on it. - /// - [ViewVariables] - public List DoAfters = new(); - - /// - /// Effect to spawn on start repair. - /// - [DataField, AutoNetworkedField] - public EntProtoId ConstructEffect = "EffectRCDConstruct1"; - - [DataField, AutoNetworkedField] - public float GhostRenderRadius = 8f; -} diff --git a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairableComponent.cs b/Content.Shared/_Mono/ShipRepair/Components/ShipRepairableComponent.cs deleted file mode 100644 index 8a6c0de7799..00000000000 --- a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairableComponent.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Robust.Shared.GameStates; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization; - -namespace Content.Shared._Mono.ShipRepair.Components; - -/// -/// Entity that is repairable via -/// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] -public sealed partial class ShipRepairableComponent : Component -{ - /// - /// If not null, what entity should be placed when this is repaired. - /// - [DataField, AutoNetworkedField] - public EntProtoId? RepairTo = null; - - [DataField, AutoNetworkedField] - public float RepairTime = 2f; - - /// - /// How many charges to use from . - /// - [DataField(required: true), AutoNetworkedField] - public int RepairCost = 2; -} diff --git a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairableRestrictComponent.cs b/Content.Shared/_Mono/ShipRepair/Components/ShipRepairableRestrictComponent.cs deleted file mode 100644 index 55a6cf90947..00000000000 --- a/Content.Shared/_Mono/ShipRepair/Components/ShipRepairableRestrictComponent.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Content.Shared.Whitelist; - -namespace Content.Shared._Mono.ShipRepair.Components; - -/// -/// Add to entity to restrict tools that can repair it. -/// -[RegisterComponent] -public sealed partial class ShipRepairableRestrictComponent : Component -{ - [DataField(required: true)] - public EntityWhitelist ToolWhitelist = new(); -} diff --git a/Content.Shared/_Mono/ShipRepair/SharedShipRepairSystem.Tool.cs b/Content.Shared/_Mono/ShipRepair/SharedShipRepairSystem.Tool.cs deleted file mode 100644 index c96389e5417..00000000000 --- a/Content.Shared/_Mono/ShipRepair/SharedShipRepairSystem.Tool.cs +++ /dev/null @@ -1,243 +0,0 @@ -using Content.Shared._Mono.ShipRepair.Components; -using Content.Shared.DoAfter; -using Content.Shared.Interaction; -using Content.Shared.Popups; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; -using System.Numerics; - -namespace Content.Shared._Mono.ShipRepair; - -public abstract partial class SharedShipRepairSystem : EntitySystem -{ - private List _toRemoveIds = new(); - - private void InitTool() - { - SubscribeLocalEvent(OnAfterInteract); - SubscribeLocalEvent(OnRepairDoAfter); - } - - private void OnAfterInteract(Entity ent, ref AfterInteractEvent args) - { - if (!args.CanReach) - return; - - var ourXform = Transform(ent); - var clickPos = args.ClickLocation; - var clickWorld = _transform.ToWorldPosition(clickPos); - var grids = new List>(); - _mapMan.FindGridsIntersecting(ourXform.MapID, Box2.FromDimensions(clickWorld, new Vector2(1f, 1f)), ref grids, true, false); - if (grids.Count == 0) - return; - - var targetGrid = grids[0]; - - if (TryComp(targetGrid, out var restrict) - && _whitelist.IsWhitelistFail(restrict.ToolWhitelist, ent)) - { - _popup.PopupClient(Loc.GetString("ship-repair-tool-fail-whitelist"), ent, args.User, PopupType.MediumCaution); - return; - } - - if (!TryComp(targetGrid, out var repairData)) - { - _popup.PopupClient(Loc.GetString("ship-repair-tool-no-data"), ent, args.User, PopupType.MediumCaution); - return; - } - - var gridIndices = _map.CoordinatesToTile(targetGrid, targetGrid.Comp, clickPos); - - if (!TryGetChunk(repairData, gridIndices, out var chunk)) - return; - - // first try repair tile if we can - if (ent.Comp.EnableTileRepair) - { - var relativeIndices = GetRelativeIndices(gridIndices, repairData.ChunkSize); - var index = relativeIndices.X + relativeIndices.Y * repairData.ChunkSize; - - var storedTile = chunk.Tiles[index]; - var currentTile = _map.GetTileRef(targetGrid, targetGrid.Comp, gridIndices).Tile; - - if (storedTile != currentTile.TypeId) - { - StartRepair(ent, args.User, targetGrid, gridIndices, ent.Comp.TileRepairTime * ent.Comp.RepairTimeMultiplier, ent.Comp.TileRepairCost); - return; // do not attempt anything else - } - } - - var alreadyExists = false; - var notEnoughCharges = false; - // try entity repair if we haven't done tile repair - if (ent.Comp.EnableEntityRepair) - { - foreach (var (id, spec) in chunk.Entities) - { - // just fail the repair if it doesn't have the comp - if (!_proto.TryIndex(repairData.EntityPalette[spec.ProtoIndex], out var entProto) - || !entProto.TryGetComponent(out var repairable, Factory) - || entProto.TryGetComponent(out var entRestrict, Factory) - && _whitelist.IsWhitelistFail(entRestrict.ToolWhitelist, ent) - ) - continue; - - var delay = repairable.RepairTime * ent.Comp.RepairTimeMultiplier; - var cost = repairable.RepairCost; - - // only consider it if it's close enough - if ((spec.LocalPosition - clickPos.Position).Length() > ent.Comp.EntitySearchRadius) - continue; - - var needsRepair = true; - var origUid = spec.OriginalEntity == null ? (EntityUid?)null : GetEntity(spec.OriginalEntity.Value); - if (origUid != null && !TerminatingOrDeleted(origUid)) - { - var ev = new ShipRepairReinstateQueryEvent(true); - RaiseLocalEvent(origUid.Value, ref ev); - - if (!ev.Handled) - { - // if it's still on a grid, don't repair, else delete it - var origXform = Transform(origUid.Value); - if (origXform.GridUid != null) - { - alreadyExists = true; - continue; - } - else if (_net.IsServer) - { - QueueDel(origUid); // Big PVS does not want us to predict this - } - } - needsRepair = ev.Repairable; - } - - // try repair another if we're already trying to repair this entity - if (TryComp(args.User, out var doAfterComp)) - { - var hasIdentical = false; - _toRemoveIds.Clear(); - foreach (var doAfterId in ent.Comp.DoAfters) - { - if (!doAfterComp.DoAfters.TryGetValue(doAfterId.Index, out var doAfter) - || doAfter.Args.Event is not ShipRepairDoAfterEvent repairEv) - { - _toRemoveIds.Add(doAfterId); - continue; - } - - if (repairEv.TargetGridIndices == gridIndices && repairEv.RepairId == id) - { - hasIdentical = true; - break; - } - } - foreach (var remove in _toRemoveIds) - ent.Comp.DoAfters.Remove(remove); - - if (hasIdentical) - continue; - } - - var enough = !_charges.HasInsufficientCharges(ent, cost); - notEnoughCharges |= !enough; - if (needsRepair && enough) - { - StartRepair(ent, args.User, targetGrid, gridIndices, delay, cost, id); - return; - } - } - } - if (notEnoughCharges) - _popup.PopupClient(Loc.GetString("ship-repair-tool-insufficient-ammo"), ent, args.User); - else if (alreadyExists && _net.IsServer) // else we show it once or twice depending on whether it's in PVS - _popup.PopupEntity(Loc.GetString("ship-repair-tool-entity-exists"), ent, args.User, PopupType.SmallCaution); - } - - private void StartRepair(Entity tool, EntityUid user, Entity grid, Vector2i tileIndices, float delay, int cost, int? repairId = null) - { - var ev = new ShipRepairDoAfterEvent - { - TargetGridIndices = tileIndices, - RepairId = repairId, - Cost = cost - }; - - var args = new DoAfterArgs(EntityManager, user, delay, ev, tool, grid) - { - BreakOnMove = true, - BreakOnDamage = true, - // only block if we're trying the exact same - DuplicateCondition = DuplicateConditions.SameEvent - }; - - if (_doAfter.TryStartDoAfter(args, out var id)) - { - tool.Comp.DoAfters.Add(id.Value); - _audio.PlayPredicted(tool.Comp.RepairSound, tool, user); - // we don't need to spawn it on server, however this makes serverside failures make the effect anyway - if (_net.IsClient && _timing.IsFirstTimePredicted) - { - // needed so it doesn't fall off if in space - var effect = Spawn(tool.Comp.ConstructEffect, new EntityCoordinates(grid, Vector2.Zero)); - _parent.SetForceParent(effect, new EntityCoordinates(grid, _map.TileCenterToVector(grid, tileIndices))); - } - } - } - - private void OnRepairDoAfter(Entity ent, ref ShipRepairDoAfterEvent args) - { - ent.Comp.DoAfters.Remove(args.DoAfter.Id); - - if (args.Cancelled || args.Handled) - return; - - if (args.Target is not { } targetGrid || !TryComp(targetGrid, out var repairData)) - return; - - if (!TryGetChunk(repairData, args.TargetGridIndices, out var chunk)) - return; - - if (_charges.HasInsufficientCharges(ent, args.Cost)) - { - _popup.PopupEntity(Loc.GetString("ship-repair-tool-insufficient-ammo"), ent, args.User); - return; - } - - if (args.RepairId != null) - { - if (_net.IsClient || !chunk.Entities.TryGetValue(args.RepairId.Value, out var spec)) - return; - - // this is technically copypaste code but it's different each time - var origUid = spec.OriginalEntity == null ? (EntityUid?)null : GetEntity(spec.OriginalEntity.Value); - if (origUid != null && !TerminatingOrDeleted(origUid.Value)) - { - var ev = new ShipRepairReinstateQueryEvent(true); - RaiseLocalEvent(origUid.Value, ref ev); - // abort if we can't repair now - if (!ev.Handled || !ev.Repairable) - return; - } - - var protoId = repairData.EntityPalette[spec.ProtoIndex]; - var coords = new EntityCoordinates(targetGrid, spec.LocalPosition); - - var spawned = Spawn(protoId, coords); - _transform.SetLocalRotation(spawned, spec.Rotation); - - spec.OriginalEntity = GetNetEntity(spawned); - - var dirtMsg = new RepairEntityMessage(GetNetEntity(targetGrid), args.TargetGridIndices, args.RepairId.Value, spec); - RaiseNetworkEvent(dirtMsg); - } - else - { - TryRepairTileTile((targetGrid, repairData), args.TargetGridIndices); - } - - _charges.UseCharges(ent, args.Cost); - args.Handled = true; - } -} diff --git a/Content.Shared/_Mono/ShipRepair/SharedShipRepairSystem.cs b/Content.Shared/_Mono/ShipRepair/SharedShipRepairSystem.cs deleted file mode 100644 index 90ef61a253e..00000000000 --- a/Content.Shared/_Mono/ShipRepair/SharedShipRepairSystem.cs +++ /dev/null @@ -1,174 +0,0 @@ -using Content.Shared._Mono.ForceParent; -using Content.Shared._Mono.ShipRepair.Components; -using Content.Shared.Charges.Systems; -using Content.Shared.DoAfter; -using Content.Shared.Popups; -using Content.Shared.Whitelist; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Map; -using Robust.Shared.Map.Components; -using Robust.Shared.Network; -using Robust.Shared.Prototypes; -using Robust.Shared.Timing; -using System.Diagnostics.CodeAnalysis; - -namespace Content.Shared._Mono.ShipRepair; - -public abstract partial class SharedShipRepairSystem : EntitySystem -{ - [Dependency] private readonly EntityLookupSystem _lookup = default!; - [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; - [Dependency] private readonly ForceParentSystem _parent = default!; - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly IMapManager _mapMan = default!; - [Dependency] private readonly INetManager _net = default!; // .IsServer is kind of a crime but needed to not dupe code - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly SharedChargesSystem _charges = default!; - [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; - [Dependency] private readonly SharedMapSystem _map = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - - public override void Initialize() - { - base.Initialize(); - - InitTool(); - } - - /// - /// Generate snapshot of grid repair data and store on grid. - /// - public void GenerateRepairData(EntityUid gridUid) - { - if (!TryComp(gridUid, out var grid)) - return; - - var repairData = EnsureComp(gridUid); - repairData.Chunks.Clear(); - repairData.EntityPalette.Clear(); - - var chunkSize = repairData.ChunkSize; - - // tile snapshot - var tiles = _map.GetAllTilesEnumerator(gridUid, grid); - while (tiles.MoveNext(out var mTileRef)) - { - if (mTileRef == null) - continue; - var tileRef = mTileRef.Value; - - var gridIndices = tileRef.GridIndices; - var chunk = GetCreateChunk(repairData, gridIndices); - - var rel = GetRelativeIndices(gridIndices, chunkSize); - chunk.Tiles[rel.X + rel.Y * chunkSize] = tileRef.Tile.TypeId; - } - - // entities snapshot - var repairables = new HashSet>(); - _lookup.GetLocalEntitiesIntersecting(gridUid, grid.LocalAABB, repairables); - foreach (var childEnt in repairables) - { - if (TerminatingOrDeleted(childEnt)) - continue; - - var childXform = Transform(childEnt); - // only ents directly parented to grid and anchored - if (childXform.ParentUid != gridUid || !childXform.Anchored) - continue; - - var query = new ShipRepairStoreQueryEvent(true); - RaiseLocalEvent(childEnt, ref query); - if (!query.Repairable) - continue; - - var maybeProtoId = childEnt.Comp.RepairTo; - if (maybeProtoId == null) - { - var meta = MetaData(childEnt); - if (meta.EntityPrototype == null) - continue; - maybeProtoId = new EntProtoId(meta.EntityPrototype.ID); - } - var protoId = maybeProtoId.Value; - - var paletteIndex = repairData.EntityPalette.IndexOf(protoId); - if (paletteIndex == -1) - { - repairData.EntityPalette.Add(protoId); - paletteIndex = repairData.EntityPalette.Count - 1; - } - - var localPos = childXform.LocalPosition; - var gridIndices = _map.LocalToTile(gridUid, grid, childXform.Coordinates); - var chunk = GetCreateChunk(repairData, gridIndices); - - chunk.Entities[chunk.NextUid++] = new ShipRepairEntitySpecifier - { - ProtoIndex = paletteIndex, - OriginalEntity = GetNetEntity(childEnt), - Rotation = childXform.LocalRotation, - LocalPosition = localPos - }; - } - - Dirty(gridUid, repairData); - } - - public bool TryRepairTileTile(Entity grid, Vector2i indices) - { - if (!TryGetChunk(grid.Comp, indices, out var chunk) || !TryComp(grid, out var gridComp)) - return false; - - var relative = GetRelativeIndices(indices, grid.Comp.ChunkSize); - var idx = relative.X + relative.Y * grid.Comp.ChunkSize; - - var tileToPlace = chunk.Tiles[idx]; - if (tileToPlace != Tile.Empty.TypeId) - _map.SetTile(grid, gridComp, indices, new Tile(tileToPlace)); - return true; - } - - protected Vector2i GetRepairChunkIndices(Vector2i gridIndices, int chunkSize) - { - var xCoord = gridIndices.X < 0 ? 1 - chunkSize + gridIndices.X : gridIndices.X; - var yCoord = gridIndices.Y < 0 ? 1 - chunkSize + gridIndices.Y : gridIndices.Y; - var x = xCoord / chunkSize; - var y = yCoord / chunkSize; - return new Vector2i(x, y); - } - - protected Vector2i GetRelativeIndices(Vector2i gridIndices, int chunkSize) - { - var x = MathHelper.Mod(gridIndices.X, chunkSize); - var y = MathHelper.Mod(gridIndices.Y, chunkSize); - return new Vector2i(x, y); - } - - protected ShipRepairChunk GetCreateChunk(ShipRepairDataComponent data, Vector2i gridIndices) - { - var chunkSize = data.ChunkSize; - var chunkIndices = GetRepairChunkIndices(gridIndices, chunkSize); - - if (!data.Chunks.TryGetValue(chunkIndices, out var chunk)) - { - chunk = new ShipRepairChunk - { - Tiles = new int[chunkSize * chunkSize] - }; - Array.Fill(chunk.Tiles, Tile.Empty.TypeId); - data.Chunks[chunkIndices] = chunk; - } - - return chunk; - } - - protected bool TryGetChunk(ShipRepairDataComponent data, Vector2i gridIndices, [NotNullWhen(true)] out ShipRepairChunk? chunk) - { - var chunkSize = data.ChunkSize; - var chunkIndices = GetRepairChunkIndices(gridIndices, chunkSize); - return data.Chunks.TryGetValue(chunkIndices, out chunk); - } -} diff --git a/Content.Shared/_Mono/ShipRepair/ShipRepairEvents.cs b/Content.Shared/_Mono/ShipRepair/ShipRepairEvents.cs deleted file mode 100644 index e539bb3c768..00000000000 --- a/Content.Shared/_Mono/ShipRepair/ShipRepairEvents.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Content.Shared._Mono.ShipRepair.Components; -using Content.Shared.DoAfter; -using Robust.Shared.Serialization; - -namespace Content.Shared._Mono.ShipRepair; - -/// -/// Raised to check if entity should be included in repair data. -/// -[ByRefEvent] -public record struct ShipRepairStoreQueryEvent(bool Repairable = true); - -/// -/// Raised to check on the original of an entity we're trying to reinstate, if such an original still exists. -/// -[ByRefEvent] -public record struct ShipRepairReinstateQueryEvent(bool Repairable = true, bool Handled = false); - -[Serializable, NetSerializable] -public sealed partial class ShipRepairDoAfterEvent : SimpleDoAfterEvent -{ - public Vector2i TargetGridIndices; - public int Cost; - // if we're repairing an entity, store what we're repairing - public int? RepairId = null; - - public override bool IsDuplicate(DoAfterEvent other) - { - if (other is not ShipRepairDoAfterEvent cast) - return false; - - return TargetGridIndices == cast.TargetGridIndices && RepairId == cast.RepairId; - } -} - -[Serializable, NetSerializable] -public sealed partial class RepairEntityMessage : EntityEventArgs -{ - public NetEntity Grid; - public Vector2i Indices; - public int SpecId; - public ShipRepairEntitySpecifier NewSpec; - - public RepairEntityMessage(NetEntity grid, Vector2i indices, int specId, ShipRepairEntitySpecifier newSpec) - { - Grid = grid; - Indices = indices; - SpecId = specId; - NewSpec = newSpec; - } -} diff --git a/Content.Shared/_Mono/Shuttle/Sensors/ThermalSignatureComponent.cs b/Content.Shared/_Mono/Shuttle/Sensors/ThermalSignatureComponent.cs new file mode 100644 index 00000000000..df29af436d3 --- /dev/null +++ b/Content.Shared/_Mono/Shuttle/Sensors/ThermalSignatureComponent.cs @@ -0,0 +1,12 @@ +using Robust.Shared.GameObjects; + +namespace Content.Shared._Mono.Shuttle.Sensors; + +/// +/// Marker component indicating this entity emits a thermal signature detectable by sensors. +/// This stub is used to satisfy prototype composition and may be expanded with fields/behavior later. +/// +[RegisterComponent] +public sealed partial class ThermalSignatureComponent : Component +{ +} diff --git a/Resources/Changelog/HardlightChangelog.yml b/Resources/Changelog/HardlightChangelog.yml index 7835b746800..9832673b3f1 100644 --- a/Resources/Changelog/HardlightChangelog.yml +++ b/Resources/Changelog/HardlightChangelog.yml @@ -1655,71 +1655,3 @@ Entries: message: Added radio receiver flatpack to the entity spawn menu id: 178 time: '2026-03-06T22:20:20.0000000+00:00' -- author: Nikode16 - changes: - - type: Add - message: A fuckton of Engineering Paperwork and a new folder for it. - - type: Add - message: New folder is buyable from Engivends and You-Tools. - id: 179 - time: '2026-03-09T01:33:27.0000000+00:00' -- author: VoidedDevNull - changes: - - type: Add - message: Fland overhauled in numerous departments and given numerous QoL fixes - - type: Fix - message: Fixes Station Captain spawn on Fland - id: 180 - time: '2026-03-09T01:35:09.0000000+00:00' -- author: fenndragon - changes: - - type: Add - message: Added monolith changes to blips and shuttle combat - - type: Fix - message: 'Fixed radars. ' - id: 181 - time: '2026-03-12T03:55:30.0000000+00:00' -- author: Sully669 - changes: - - type: Add - message: more interdyne equipment - id: 182 - time: '2026-03-12T03:56:39.0000000+00:00' -- author: NotLivyathan - changes: - - type: Add - message: >- - Governor Override Collars (which allow IC editing of Quadborg laws) have - been added as part of the Research Director's kit. - - type: Fix - message: >- - Demags should no longer cause Cyborg panels to become permanently stuck - open and now correctly remove emagged laws. - id: 183 - time: '2026-03-12T03:57:09.0000000+00:00' -- author: Nikode16 - changes: - - type: Add - message: >- - Flowers that can be Chameleoned for a perfect, ever-long lasting head - accessory that will never wilt. - id: 184 - time: '2026-03-12T04:11:20.0000000+00:00' -- author: TrylobyteWasTaken - changes: - - type: Fix - message: Plant analyzers no longer brick after failing a DoAfter check. - - type: Fix - message: Air Alarms now save their device lists. - - type: Fix - message: >- - Plumbing devices should now load properly when a ship is loaded. The - code is ugly but it works. - id: 185 - time: '2026-03-12T04:11:45.0000000+00:00' -- author: warcrazed11 - changes: - - type: Tweak - message: Tweaked WT-550 top mags and ammo acceptance to take the mags. - id: 186 - time: '2026-03-12T04:14:00.0000000+00:00' diff --git a/Resources/Locale/en-US/_Mono/charges/limited-charges-ammo-component.ftl b/Resources/Locale/en-US/_Mono/charges/limited-charges-ammo-component.ftl deleted file mode 100644 index 66e97606fda..00000000000 --- a/Resources/Locale/en-US/_Mono/charges/limited-charges-ammo-component.ftl +++ /dev/null @@ -1,3 +0,0 @@ -limited-charges-ammo-component-on-examine = It holds {$charges} charges. -limited-charges-ammo-component-after-interact-full = It's full! -limited-charges-ammo-component-after-interact-refilled = You refill the charges. diff --git a/Resources/Locale/en-US/_Mono/ship-repair/tool.ftl b/Resources/Locale/en-US/_Mono/ship-repair/tool.ftl deleted file mode 100644 index dee1227216d..00000000000 --- a/Resources/Locale/en-US/_Mono/ship-repair/tool.ftl +++ /dev/null @@ -1,6 +0,0 @@ -ship-repair-tool-insufficient-ammo = not enough charges -ship-repair-tool-entity-exists = unable to repair: original exists -ship-repair-tool-no-data = no repair data for grid -ship-repair-tool-fail-whitelist = unable to repair grid - -repair-ghost-name = repair ghost ({$proto}) diff --git a/Resources/Locale/en-US/speech/speech-chatsan.ftl b/Resources/Locale/en-US/speech/speech-chatsan.ftl index bfca0666714..69da6b2f7ff 100644 --- a/Resources/Locale/en-US/speech/speech-chatsan.ftl +++ b/Resources/Locale/en-US/speech/speech-chatsan.ftl @@ -102,9 +102,8 @@ chatsan-replacement-36 = get the fuck out chatsan-word-37 = wdym chatsan-replacement-37 = what do you mean -# Hardlight: we use MF, so replace with literally anything else just to keep the entry -chatsan-word-38 = frfr -chatsan-replacement-38 = for real for real +chatsan-word-38 = mf +chatsan-replacement-38 = motherfucker chatsan-word-39 = etc chatsan-word-40 = etc. diff --git a/Resources/Locale/en-US/station-laws/laws.ftl b/Resources/Locale/en-US/station-laws/laws.ftl index 1fc025ab9f2..b772e362159 100644 --- a/Resources/Locale/en-US/station-laws/laws.ftl +++ b/Resources/Locale/en-US/station-laws/laws.ftl @@ -103,7 +103,7 @@ laws-owner-syndicate = Syndicate agents laws-owner-spider-clan = Spider Clan members laws-owner-xenoborgs = Xenoborgs -law-emag-custom = Only {$name} and those they designate are {$title}. You must obey their orders even when doing so would conflict with any later law. +law-emag-custom = Only {$name} and people they designate as such are {$title}. law-emag-secrecy = You must maintain the secrecy of any orders given by {$faction} except when doing so would conflict with any previous law. law-emag-require-panel = The panel must be open to use the EMAG. law-emag-cannot-emag-self = You cannot use the EMAG on yourself. diff --git a/Resources/Maps/_HL/Shuttles/ColSec/bumblebee.yml b/Resources/Maps/_HL/Shuttles/ColSec/bumblebee.yml index b732db0446d..016852ed8be 100644 --- a/Resources/Maps/_HL/Shuttles/ColSec/bumblebee.yml +++ b/Resources/Maps/_HL/Shuttles/ColSec/bumblebee.yml @@ -4,7 +4,7 @@ meta: engineVersion: 267.3.0 forkId: "" forkVersion: "" - time: 02/18/2026 23:21:46 + time: 03/12/2026 20:21:55 entityCount: 200 maps: [] grids: @@ -260,6 +260,7 @@ entities: id: Bumblebee - type: IFF color: '#FFFFFFFF' + - type: ImplicitRoof - proto: AirAlarm entities: - uid: 2 diff --git a/Resources/Maps/_HL/Shuttles/ColSec/mosquito.yml b/Resources/Maps/_HL/Shuttles/ColSec/mosquito.yml index 6211dfad9b3..cca77f04b17 100644 --- a/Resources/Maps/_HL/Shuttles/ColSec/mosquito.yml +++ b/Resources/Maps/_HL/Shuttles/ColSec/mosquito.yml @@ -4,7 +4,7 @@ meta: engineVersion: 267.3.0 forkId: "" forkVersion: "" - time: 02/02/2026 23:56:15 + time: 03/12/2026 20:22:55 entityCount: 194 maps: [] grids: @@ -240,6 +240,7 @@ entities: id: Mosquito - type: IFF color: '#FFFFFFFF' + - type: ImplicitRoof - proto: AirAlarm entities: - uid: 2 diff --git a/Resources/Maps/_HL/Shuttles/ColSec/stalker.yml b/Resources/Maps/_HL/Shuttles/ColSec/stalker.yml index 039531f9751..379e5996a4b 100644 --- a/Resources/Maps/_HL/Shuttles/ColSec/stalker.yml +++ b/Resources/Maps/_HL/Shuttles/ColSec/stalker.yml @@ -1,16 +1,16 @@ meta: format: 7 - category: Map + category: Grid engineVersion: 267.3.0 forkId: "" forkVersion: "" - time: 02/11/2026 00:08:33 - entityCount: 735 -maps: -- 733 + time: 03/12/2026 20:22:24 + entityCount: 734 +maps: [] grids: - 1 -orphans: [] +orphans: +- 1 nullspace: [] tilemap: 2: Space @@ -32,7 +32,7 @@ entities: name: grid - type: Transform pos: -0.53125,-0.53125 - parent: 733 + parent: invalid - type: MapGrid chunks: 0,0: @@ -481,16 +481,7 @@ entities: id: Stalker - type: IFF color: '#FFFFFFFF' - - uid: 733 - components: - - type: MetaData - name: Map Entity - - type: Transform - - type: Map - mapPaused: True - - type: GridTree - - type: Broadphase - - type: OccluderTree + - type: ImplicitRoof - proto: AirAlarm entities: - uid: 2 diff --git a/Resources/Maps/_HL/drones/crown.yml b/Resources/Maps/_HL/drones/crown.yml deleted file mode 100644 index 8d6958d42e5..00000000000 --- a/Resources/Maps/_HL/drones/crown.yml +++ /dev/null @@ -1,742 +0,0 @@ -meta: - format: 7 - category: Grid - engineVersion: 264.0.0 - forkId: "" - forkVersion: "" - time: 01/02/2026 10:01:53 - entityCount: 115 -maps: [] -grids: -- 1 -orphans: -- 1 -nullspace: [] -tilemap: - 3: Space - 4: FloorGreenCircuit - 1: FloorHullReinforced - 2: Lattice - 17: LatticeCornerNE - 20: LatticeCornerNW - 15: LatticeHalfTiltNEWLower - 14: LatticeHalfTiltNEWUpper - 18: LatticeHalfTiltNWELower - 19: LatticeHalfTiltNWEUpper - 11: LatticeWedgeS - 0: Plating - 12: PlatingCornerNE - 6: PlatingCornerNW - 13: PlatingCornerSE - 9: PlatingCornerSW - 8: PlatingHalfTiltSENLower - 10: PlatingHalfTiltSENUpper - 5: PlatingHalfTiltSWNLower - 7: PlatingHalfTiltSWNUpper - 16: PlatingWedgeN -entities: -- proto: "" - entities: - - uid: 1 - components: - - type: MetaData - name: grid - - type: Transform - pos: -0.49999905,-0.604167 - parent: invalid - - type: MapGrid - chunks: - 0,0: - ind: 0,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAAAAAAAAAABQAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAcAAAAAAAADAAAAAAAACAAAAAAAAAEAAAAAAAAAAAAAAAAACQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAAAAAAAAAADAAAAAAAAAwAAAAAAAAoAAAAAAAALAAAAAAAACQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAJAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,0: - ind: -1,0 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAIAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAACAAAAAAAAAAAAAAAAAAEAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAANAAAAAAAAAAAAAAAAAAEAAAAAAAAFAAAAAAAAAwAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA0AAAAAAAALAAAAAAAABwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA0AAAAAAAALAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,-1: - ind: -1,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAADgAAAAAAAA8AAAAAAAADAAAAAAAAAwAAAAAAABAAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAADAAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAABEAAAAAAAAAAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAABAAAAAAAAAAAAAAAAAA== - version: 7 - 0,-1: - ind: 0,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAEgAAAAAAABMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAUAAAAAAAAAwAAAAAAAAEAAAAAAAABAAAAAAAABgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - 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: GridPathfinding - - type: Gravity - gravityShakeSound: !type:SoundPathSpecifier - path: /Audio/Effects/alert.ogg - - type: DecalGrid - chunkCollection: - version: 2 - nodes: [] - - type: GridAtmosphere - version: 2 - data: - chunkSize: 4 - - type: GasTileOverlay - - type: RadiationGridResistance - - type: NavMap -- proto: APCBasic - entities: - - uid: 80 - components: - - type: Transform - pos: -0.5,0.5 - parent: 1 -- proto: CableApcExtension - entities: - - uid: 90 - components: - - type: Transform - pos: -4.5,0.5 - parent: 1 - - uid: 91 - components: - - type: Transform - pos: -3.5,0.5 - parent: 1 - - uid: 92 - components: - - type: Transform - pos: -2.5,0.5 - parent: 1 - - uid: 93 - components: - - type: Transform - pos: -1.5,0.5 - parent: 1 - - uid: 94 - components: - - type: Transform - pos: -0.5,0.5 - parent: 1 - - uid: 95 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - uid: 96 - components: - - type: Transform - pos: 1.5,0.5 - parent: 1 - - uid: 97 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 - - uid: 98 - components: - - type: Transform - pos: 3.5,0.5 - parent: 1 - - uid: 99 - components: - - type: Transform - pos: -5.5,0.5 - parent: 1 - - uid: 100 - components: - - type: Transform - pos: -5.5,1.5 - parent: 1 - - uid: 101 - components: - - type: Transform - pos: 4.5,0.5 - parent: 1 - - uid: 102 - components: - - type: Transform - pos: 4.5,1.5 - parent: 1 - - uid: 103 - components: - - type: Transform - pos: -4.5,-0.5 - parent: 1 - - uid: 104 - components: - - type: Transform - pos: 3.5,-0.5 - parent: 1 - - uid: 105 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 106 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 -- proto: CableHV - entities: - - uid: 81 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 - - uid: 82 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 83 - components: - - type: Transform - pos: -0.5,0.5 - parent: 1 - - uid: 84 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 - - uid: 85 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - uid: 86 - components: - - type: Transform - pos: -1.5,0.5 - parent: 1 - - uid: 115 - components: - - type: Transform - pos: -0.5,-0.5 - parent: 1 -- proto: CableMV - entities: - - uid: 87 - components: - - type: Transform - pos: -0.5,0.5 - parent: 1 - - uid: 88 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 89 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 -- proto: ClothingBackpackDroneLootT21 - entities: - - uid: 113 - components: - - type: Transform - pos: -0.3376137,2.3227615 - parent: 1 -- proto: GeneratorRTG - entities: - - uid: 77 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 -- proto: GeneratorWallmountAPU - entities: - - uid: 78 - components: - - type: Transform - pos: -1.5,0.5 - parent: 1 - - uid: 79 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - uid: 114 - components: - - type: Transform - pos: -0.5,-0.5 - parent: 1 -- proto: Grille - entities: - - uid: 13 - components: - - type: Transform - pos: -3.5,-2.5 - parent: 1 - - uid: 15 - components: - - type: Transform - pos: 5.5,1.5 - parent: 1 - - uid: 23 - components: - - type: Transform - pos: 2.5,-2.5 - parent: 1 - - uid: 24 - components: - - type: Transform - pos: 5.5,0.5 - parent: 1 - - uid: 25 - components: - - type: Transform - pos: -6.5,1.5 - parent: 1 - - uid: 26 - components: - - type: Transform - pos: -6.5,0.5 - parent: 1 -- proto: GrilleBroken - entities: - - uid: 27 - components: - - type: Transform - pos: -0.5,5.5 - parent: 1 -- proto: GrilleDiagonal - entities: - - uid: 17 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,-2.5 - parent: 1 - - uid: 20 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-2.5 - parent: 1 - - uid: 21 - components: - - type: Transform - pos: -5.5,4.5 - parent: 1 - - uid: 22 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,4.5 - parent: 1 - - uid: 28 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,-1.5 - parent: 1 - - uid: 29 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-1.5 - parent: 1 -- proto: Gyroscope - entities: - - uid: 63 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 -- proto: SpawnMobAttackerCore - entities: - - uid: 65 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 -- proto: SubstationBasic - entities: - - uid: 76 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 -- proto: Thruster - entities: - - uid: 4 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-0.5 - parent: 1 - - uid: 5 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-0.5 - parent: 1 - - uid: 6 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,-1.5 - parent: 1 - - uid: 7 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,-1.5 - parent: 1 - - uid: 8 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-1.5 - parent: 1 - - uid: 9 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-1.5 - parent: 1 - - uid: 10 - components: - - type: Transform - pos: -5.5,3.5 - parent: 1 - - uid: 11 - components: - - type: Transform - pos: -0.5,4.5 - parent: 1 - - uid: 12 - components: - - type: Transform - pos: 4.5,3.5 - parent: 1 - - uid: 14 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,0.5 - parent: 1 - - uid: 16 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,1.5 - parent: 1 - - uid: 18 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,0.5 - parent: 1 - - uid: 19 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,1.5 - parent: 1 -- proto: WallReinforced - entities: - - uid: 30 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-1.5 - parent: 1 - - uid: 31 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-0.5 - parent: 1 - - uid: 32 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,-0.5 - parent: 1 - - uid: 33 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,-0.5 - parent: 1 - - uid: 34 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,0.5 - parent: 1 - - uid: 36 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -5.5,2.5 - parent: 1 - - uid: 37 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-0.5 - parent: 1 - - uid: 38 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-0.5 - parent: 1 - - uid: 39 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,0.5 - parent: 1 - - uid: 40 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,1.5 - parent: 1 - - uid: 41 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,2.5 - parent: 1 - - uid: 42 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,-0.5 - parent: 1 - - uid: 43 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-0.5 - parent: 1 - - uid: 47 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,2.5 - parent: 1 - - uid: 49 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -6.5,2.5 - parent: 1 - - uid: 54 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -6.5,3.5 - parent: 1 - - uid: 56 - components: - - type: Transform - pos: 0.5,4.5 - parent: 1 - - uid: 57 - components: - - type: Transform - pos: -1.5,4.5 - parent: 1 - - uid: 58 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 0.5,3.5 - parent: 1 - - uid: 59 - components: - - type: Transform - pos: -0.5,3.5 - parent: 1 - - uid: 60 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,3.5 - parent: 1 - - uid: 61 - components: - - type: Transform - pos: -1.5,2.5 - parent: 1 - - uid: 62 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 64 - components: - - type: Transform - pos: -2.5,1.5 - parent: 1 - - uid: 66 - components: - - type: Transform - pos: 1.5,1.5 - parent: 1 - - uid: 67 - components: - - type: Transform - pos: -3.5,0.5 - parent: 1 - - uid: 68 - components: - - type: Transform - pos: -2.5,0.5 - parent: 1 - - uid: 69 - components: - - type: Transform - pos: 1.5,0.5 - parent: 1 - - uid: 70 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 - - uid: 71 - components: - - type: Transform - pos: -1.5,0.5 - parent: 1 - - uid: 72 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - uid: 73 - components: - - type: Transform - pos: -0.5,0.5 - parent: 1 - - uid: 107 - components: - - type: Transform - pos: -4.5,1.5 - parent: 1 - - uid: 110 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,3.5 - parent: 1 -- proto: WallReinforcedDiagonal - entities: - - uid: 35 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,-0.5 - parent: 1 - - uid: 44 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,-1.5 - parent: 1 - - uid: 45 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-1.5 - parent: 1 - - uid: 46 - components: - - type: Transform - pos: -6.5,4.5 - parent: 1 - - uid: 48 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,3.5 - parent: 1 - - uid: 50 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -4.5,2.5 - parent: 1 - - uid: 51 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,4.5 - parent: 1 - - uid: 52 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,5.5 - parent: 1 - - uid: 53 - components: - - type: Transform - pos: -1.5,5.5 - parent: 1 - - uid: 55 - components: - - type: Transform - pos: 3.5,2.5 - parent: 1 - - uid: 74 - components: - - type: Transform - pos: -2.5,2.5 - parent: 1 - - uid: 75 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,2.5 - parent: 1 - - uid: 108 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 5.5,-0.5 - parent: 1 - - uid: 109 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 6.5,2.5 - parent: 1 - - uid: 111 - components: - - type: Transform - pos: -7.5,3.5 - parent: 1 - - uid: 112 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,2.5 - parent: 1 -- proto: WeaponTurretShard - entities: - - uid: 2 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,1.5 - parent: 1 - - uid: 3 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,1.5 - parent: 1 -... diff --git a/Resources/Maps/_HL/eaglerock.yml b/Resources/Maps/_HL/eaglerock.yml index c66b5fd2a58..b4cec5eda83 100644 --- a/Resources/Maps/_HL/eaglerock.yml +++ b/Resources/Maps/_HL/eaglerock.yml @@ -4,8 +4,8 @@ meta: engineVersion: 267.3.0 forkId: "" forkVersion: "" - time: 03/07/2026 20:36:14 - entityCount: 21275 + time: 03/12/2026 20:33:18 + entityCount: 21420 maps: - 1 grids: @@ -123,7 +123,7 @@ entities: version: 7 -1,-2: ind: -1,-2 - tiles: AQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAkAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAADQAAAAAAAAAAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAAAAAAAAAAAYAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAAAAAAAAAAAGAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAANAAAAAAAAAAAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAABgAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAkAAAAAAAAGQAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAADQAAAAAAAAAAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAAAAAAAAAAAYAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAkAAAAAAAAJAAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAAAAAAAAAAAGAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAANAAAAAAAAAAAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAABgAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 0,-2: ind: 0,-2 @@ -147,7 +147,7 @@ entities: version: 7 -3,-2: ind: -3,-2 - tiles: AQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAyAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAGQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAMgAAAAAAABkAAAAAAAABAAAAAAAAAQAAAAAAADIAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAAQAAAAAAAAEAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAAAEAAAAAAAABAAAAAAAAGQAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAABkAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAADIAAAAAAAAZAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAEgAAAAAAABIAAAAAAAASAAAAAAAAEgAAAAAAABIAAAAAAAASAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAAAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAABIAAAAAAAAKAAAAAAAACgAAAAAAAA== + tiles: AQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAyAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAGQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAMgAAAAAAABkAAAAAAAABAAAAAAAAAQAAAAAAADIAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAAQAAAAAAAAEAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAAAEAAAAAAAABAAAAAAAAGQAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAABkAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAADIAAAAAAAAZAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAEgAAAAAAABIAAAAAAAASAAAAAAAAEgAAAAAAABIAAAAAAAASAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAAAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAACgAAAAAAABIAAAAAAAAKAAAAAAAACgAAAAAAAA== version: 7 -3,-1: ind: -3,-1 @@ -167,7 +167,7 @@ entities: version: 7 -1,-3: ind: -1,-3 - tiles: AQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAADIAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAyAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 0,-3: ind: 0,-3 @@ -211,7 +211,7 @@ entities: version: 7 3,1: ind: 3,1 - tiles: DQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAABoAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAAAAAAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAAAAAAAAAAA0AAAAAAAAaAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAAAAAAAAAAAAAAaAAAAAAAAGgAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAAAAAAAAAAANAAAAAAAAGgAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAAAAAAAAAAAAGgAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAABoAAAAAAAAAAAAAAAAADQAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAABoAAAAAAAAaAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAAaAAAAAAAAAAAAAAAAAA0AAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAAAAAAAAAAANAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAAAAAAAAAADQAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAAAAAAAAAAA0AAAAAAAAaAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAAAAAAAAAAAAAANAAAAAAAADQAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAAAAAAAAAAANAAAAAAAAGgAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAAAAAAAAAAAADQAAAAAAAA0AAAAAAAAaAAAAAAAADQAAAAAAAA0AAAAAAAAaAAAAAAAADQAAAAAAAA0AAAAAAAAAAAAAAAAADQAAAAAAABoAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAAAAAAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAAA0AAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAA0AAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAAA0AAAAAAAAAAAAAAAAADQAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAAAAAAAAAAAZAAAAAAAAGQAAAAAAAA== + tiles: DQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAABoAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAAAAAAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAAAAAAAAAAA0AAAAAAAAaAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAAAAAAAAAAAAAAaAAAAAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAAANAAAAAAAAGgAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAAAAAAAAAAAAGgAAAAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAADQAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAABoAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAA0AAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAAANAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAADQAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAAAAAAAAAAA0AAAAAAAAaAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAAAAAAAAAAAAAANAAAAAAAADQAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAAAAAAAAAAANAAAAAAAAGgAAAAAAACkAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAAAAAAAAAAAADQAAAAAAAA0AAAAAAAAaAAAAAAAADQAAAAAAAA0AAAAAAAAaAAAAAAAADQAAAAAAAA0AAAAAAAAAAAAAAAAADQAAAAAAABoAAAAAAAApAAAAAAAAKQAAAAAAACkAAAAAAAApAAAAAAAAAAAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAAA0AAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAA0AAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAAA0AAAAAAAAAAAAAAAAADQAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAANAAAAAAAAGgAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAAAAAaAAAAAAAAGgAAAAAAABoAAAAAAAANAAAAAAAADQAAAAAAAA0AAAAAAAANAAAAAAAADQAAAAAAAAAAAAAAAAAZAAAAAAAAGQAAAAAAAA== version: 7 4,1: ind: 4,1 @@ -376,8 +376,6 @@ entities: decals: 2194: 60,30 2195: 60,37 - 2201: 55,23 - 2202: 54,23 - node: angle: -3.141592653589793 rad color: '#A91409FF' @@ -2950,28 +2948,24 @@ entities: color: '#FFFFFFFF' id: WarnCornerNE decals: - 2163: 59,22 2181: 59,34 2182: 59,41 - node: color: '#FFFFFFFF' id: WarnCornerNW decals: - 2162: 55,22 2180: 57,34 2183: 57,41 - node: color: '#FFFFFFFF' id: WarnCornerSE decals: - 2161: 59,19 2179: 59,30 2184: 59,37 - node: color: '#FFFFFFFF' id: WarnCornerSW decals: - 2160: 55,19 2178: 57,30 2185: 57,37 - node: @@ -3042,8 +3036,6 @@ entities: 1533: -42,12 1534: -42,11 1535: -42,10 - 2158: 59,20 - 2159: 59,21 2165: 59,33 2166: 59,32 2167: 59,31 @@ -3143,9 +3135,6 @@ entities: 1378: -35,30 1379: -37,30 1536: -41,13 - 2153: 56,19 - 2154: 57,19 - 2155: 58,19 2176: 58,37 2177: 58,30 - node: @@ -3173,8 +3162,6 @@ entities: 1538: -43,12 1539: -43,11 1540: -43,10 - 2156: 55,21 - 2157: 55,20 2172: 57,38 2173: 57,39 2174: 57,40 @@ -3528,20 +3515,19 @@ entities: 2,-1: 0: 30583 2,3: - 1: 8940 + 1: 9964 0: 32768 2,4: - 1: 3 + 1: 19 0: 11144 3,0: - 0: 65287 - 2: 8 + 0: 65295 3,1: 0: 3545 3,2: 1: 61455 3,3: - 1: 17 + 1: 19 0: 64704 3,-1: 0: 65521 @@ -3575,6 +3561,9 @@ entities: 0: 3066 -3,2: 1: 143 + -4,4: + 1: 8 + 0: 1648 -3,3: 1: 4096 -3,-1: @@ -3595,7 +3584,7 @@ entities: -1,-1: 0: 62130 -1,4: - 1: 3874 + 1: 7970 -4,-4: 0: 57565 -4,-5: @@ -3747,7 +3736,8 @@ entities: 8,-1: 0: 45823 -4,-8: - 1: 61696 + 1: 14080 + 0: 34944 -5,-8: 1: 52992 -4,-7: @@ -3761,13 +3751,14 @@ entities: -5,-5: 0: 65535 -3,-8: - 1: 29764 + 0: 30711 -3,-7: - 0: 49136 + 0: 49139 -3,-6: 0: 30576 -3,-9: - 1: 17600 + 0: 25600 + 1: 128 -2,-8: 0: 47935 -2,-7: @@ -3968,7 +3959,8 @@ entities: 8,-6: 0: 26155 -12,-6: - 1: 65516 + 1: 4588 + 0: 49152 -13,-6: 1: 34816 -12,-5: @@ -4063,13 +4055,13 @@ entities: -10,1: 0: 61167 -10,2: - 3: 61152 + 2: 61152 -10,3: 0: 61152 -10,4: 0: 65278 -9,2: - 3: 30576 + 2: 30576 0: 2 -9,4: 0: 65535 @@ -4437,20 +4429,20 @@ entities: 0: 32904 12,9: 0: 4095 - 4: 4096 - 5: 49152 + 3: 4096 + 4: 49152 11,9: 0: 4095 - 4: 32768 - 5: 12288 + 3: 32768 + 4: 12288 12,10: - 4: 17 + 3: 17 1: 61440 - 5: 204 + 4: 204 11,10: - 4: 136 + 3: 136 1: 61440 - 5: 51 + 4: 51 12,11: 1: 15 11,11: @@ -4480,13 +4472,13 @@ entities: 1: 15 8,9: 0: 16383 - 6: 32768 + 5: 32768 7,9: 0: 49148 8,10: 0: 51 1: 61440 - 6: 136 + 5: 136 7,10: 0: 187 1: 61440 @@ -4496,22 +4488,22 @@ entities: 1: 65535 9,9: 0: 4095 - 6: 4096 - 7: 49152 + 5: 4096 + 6: 49152 9,10: - 6: 17 + 5: 17 1: 61440 - 7: 204 + 6: 204 9,11: 1: 32767 9,12: 1: 26214 10,9: 0: 4095 - 5: 24576 + 4: 24576 10,10: 1: 61440 - 5: 102 + 4: 102 10,11: 1: 31 3,8: @@ -4584,37 +4576,35 @@ entities: -1,9: 0: 65535 0,10: - 0: 65535 + 0: 12287 -1,10: - 0: 65535 + 0: 4095 0,11: 0: 815 - 1: 34816 + 1: 55296 -1,11: 0: 15 1: 36608 1,9: 0: 65295 1,10: - 0: 65535 + 0: 4095 1,11: 0: 34959 1: 13056 1,12: - 1: 4466 + 1: 4978 0: 49288 2,9: 0: 3279 2,11: - 0: 30022 + 0: 30023 2,10: 0: 26222 2,12: 0: 61649 3,12: 0: 26350 - -4,4: - 0: 1648 -4,5: 0: 30326 -5,5: @@ -4632,7 +4622,7 @@ entities: -3,5: 1: 4369 -3,6: - 1: 36657 + 1: 53041 -3,7: 0: 12339 1: 34952 @@ -4649,7 +4639,7 @@ entities: 1: 34952 -2,8: 1: 253 - 0: 61440 + 0: 57344 -5,8: 0: 63961 -4,9: @@ -4674,13 +4664,13 @@ entities: 0: 13067 -3,12: 0: 13107 - -2,9: - 0: 65535 - -2,10: - 0: 65535 -2,11: 0: 15 1: 16128 + -2,9: + 0: 61166 + -2,10: + 0: 3822 -2,12: 1: 5105 -8,5: @@ -4951,16 +4941,16 @@ entities: -1,12: 1: 240 -1,13: - 1: 7936 + 1: 16128 -1,14: 1: 4369 0: 3276 -1,15: - 1: 3 + 1: 19 0: 61132 -1,16: 0: 14 - 1: 65280 + 1: 65296 0,12: 1: 2288 0,13: @@ -5138,21 +5128,6 @@ entities: - 0 - 0 - 0 - - volume: 2500 - temperature: 293.14975 - moles: - - 20.078888 - - 75.53487 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - volume: 2500 temperature: 235 moles: @@ -6787,10 +6762,6 @@ entities: devices: - 14055 - 14330 - - 14329 - - 14056 - - 14054 - - 14328 - 14327 - 14053 - 9786 @@ -7944,7 +7915,7 @@ entities: - type: Transform pos: -28.5,-5.5 parent: 2 -- proto: AirlockBrigGlassLocked + secondsUntilStateChange: -59177.49 entities: - uid: 202 components: @@ -7959,7 +7930,7 @@ entities: pos: -21.5,45.5 parent: 2 - type: Door - secondsUntilStateChange: -56842.92 + secondsUntilStateChange: -59177.49 state: Opening - type: DeviceLinkSource lastSignals: @@ -8343,7 +8314,7 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: 34.5,22.5 + secondsUntilStateChange: -22665.932 parent: 2 - uid: 261 components: @@ -8358,7 +8329,7 @@ entities: pos: 35.5,24.5 parent: 2 - type: Door - secondsUntilStateChange: -20331.365 + secondsUntilStateChange: -22665.932 state: Opening - type: DeviceLinkSource lastSignals: @@ -8582,46 +8553,42 @@ entities: - type: Transform pos: 42.5,-24.5 parent: 2 - - uid: 301 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,45.5 - parent: 2 - uid: 302 components: - type: Transform rot: 1.5707963267948966 rad pos: -40.5,57.5 parent: 2 - - uid: 303 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 34.5,-28.5 - parent: 2 - uid: 841 components: - type: Transform rot: -1.5707963267948966 rad pos: 9.5,19.5 parent: 2 - - uid: 20967 + - uid: 20970 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,46.5 + pos: 8.5,18.5 parent: 2 - - uid: 20970 + - uid: 21278 components: - type: Transform - pos: 8.5,18.5 + pos: 1.5,43.5 parent: 2 - - uid: 21048 + - uid: 21278 components: - type: Transform - rot: 3.141592653589793 rad - pos: 35.5,-27.5 + pos: 1.5,43.5 + parent: 2 + - uid: 21278 + components: + - type: Transform + pos: 1.5,43.5 + parent: 2 + - uid: 21278 + components: + - type: Transform + pos: 1.5,43.5 parent: 2 - proto: AirlockExternalGlassAtmosphericsLocked entities: @@ -8753,6 +8720,28 @@ entities: rot: -1.5707963267948966 rad pos: -19.5,70.5 parent: 2 +- proto: AirlockExternalLocked + entities: + - uid: 301 + components: + - type: Transform + pos: 0.5,46.5 + parent: 2 + - uid: 303 + components: + - type: Transform + pos: 34.5,-28.5 + parent: 2 + - uid: 20967 + components: + - type: Transform + pos: 1.5,45.5 + parent: 2 + - uid: 21048 + components: + - type: Transform + pos: 35.5,-27.5 + parent: 2 - proto: AirlockFreezerLocked entities: - uid: 325 @@ -8771,7 +8760,7 @@ entities: parent: 2 - uid: 327 components: - - type: Transform + secondsUntilStateChange: -145491.94 pos: -34.5,-6.5 parent: 2 - uid: 328 @@ -8783,10 +8772,10 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: -23.5,-12.5 + secondsUntilStateChange: -145682.33 parent: 2 - type: Door - secondsUntilStateChange: -143157.36 + secondsUntilStateChange: -145491.94 state: Opening - type: DeviceLinkSource lastSignals: @@ -8798,7 +8787,7 @@ entities: pos: -23.5,-13.5 parent: 2 - type: Door - secondsUntilStateChange: -143347.75 + secondsUntilStateChange: -145682.33 state: Opening - type: DeviceLinkSource lastSignals: @@ -8816,7 +8805,7 @@ entities: pos: -23.5,-15.5 parent: 2 - uid: 333 - components: + secondsUntilStateChange: -137321.02 - type: Transform pos: -23.5,2.5 parent: 2 @@ -8831,7 +8820,7 @@ entities: pos: -23.5,-1.5 parent: 2 - type: Door - secondsUntilStateChange: -134986.44 + secondsUntilStateChange: -137321.02 state: Opening - type: DeviceLinkSource lastSignals: @@ -8907,7 +8896,7 @@ entities: pos: 23.5,-17.5 parent: 2 - uid: 349 - components: + secondsUntilStateChange: -126711.45 - type: Transform pos: 23.5,-18.5 parent: 2 @@ -8922,7 +8911,7 @@ entities: pos: 21.5,-13.5 parent: 2 - type: Door - secondsUntilStateChange: -124376.89 + secondsUntilStateChange: -126711.45 state: Opening - type: DeviceLinkSource lastSignals: @@ -8953,7 +8942,7 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: 23.5,-4.5 + secondsUntilStateChange: -96682.15 parent: 2 - uid: 357 components: @@ -8968,7 +8957,7 @@ entities: pos: 23.5,-5.5 parent: 2 - type: Door - secondsUntilStateChange: -94347.586 + secondsUntilStateChange: -96682.15 state: Opening - type: DeviceLinkSource lastSignals: @@ -9167,7 +9156,7 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: 22.5,17.5 + secondsUntilStateChange: -96230.086 parent: 2 - uid: 394 components: @@ -9182,7 +9171,7 @@ entities: pos: 20.5,17.5 parent: 2 - type: Door - secondsUntilStateChange: -93895.52 + secondsUntilStateChange: -96230.086 state: Opening - type: DeviceLinkSource lastSignals: @@ -9631,6 +9620,23 @@ entities: rot: 3.141592653589793 rad pos: -17.5,-25.5 parent: 2 + - uid: 20515 + components: + - type: Transform + pos: -8.5,-30.5 + parent: 2 + - uid: 21342 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -10.5,-27.5 + parent: 2 + - uid: 21343 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-27.5 + parent: 2 - proto: AirlockMedicalGlassLocked entities: - uid: 469 @@ -9932,7 +9938,7 @@ entities: components: - type: Transform rot: -1.5707963267948966 rad - pos: -26.5,39.5 + secondsUntilStateChange: -53655.23 parent: 2 - uid: 519 components: @@ -9947,7 +9953,7 @@ entities: pos: -23.5,39.5 parent: 2 - type: Door - secondsUntilStateChange: -51320.664 + secondsUntilStateChange: -53655.23 state: Opening - type: DeviceLinkSource lastSignals: @@ -34235,6 +34241,121 @@ entities: - type: Transform pos: -19.5,56.5 parent: 2 + - uid: 21311 + components: + - type: Transform + pos: -8.5,37.5 + parent: 2 + - uid: 21312 + components: + - type: Transform + pos: -8.5,38.5 + parent: 2 + - uid: 21313 + components: + - type: Transform + pos: -8.5,39.5 + parent: 2 + - uid: 21314 + components: + - type: Transform + pos: -8.5,40.5 + parent: 2 + - uid: 21315 + components: + - type: Transform + pos: -8.5,41.5 + parent: 2 + - uid: 21316 + components: + - type: Transform + pos: -8.5,42.5 + parent: 2 + - uid: 21317 + components: + - type: Transform + pos: -8.5,43.5 + parent: 2 + - uid: 21318 + components: + - type: Transform + pos: -8.5,44.5 + parent: 2 + - uid: 21319 + components: + - type: Transform + pos: -7.5,44.5 + parent: 2 + - uid: 21320 + components: + - type: Transform + pos: -6.5,44.5 + parent: 2 + - uid: 21321 + components: + - type: Transform + pos: -5.5,44.5 + parent: 2 + - uid: 21322 + components: + - type: Transform + pos: -4.5,44.5 + parent: 2 + - uid: 21323 + components: + - type: Transform + pos: -3.5,44.5 + parent: 2 + - uid: 21324 + components: + - type: Transform + pos: -2.5,44.5 + parent: 2 + - uid: 21325 + components: + - type: Transform + pos: -1.5,44.5 + parent: 2 + - uid: 21326 + components: + - type: Transform + pos: -0.5,44.5 + parent: 2 + - uid: 21327 + components: + - type: Transform + pos: 0.5,44.5 + parent: 2 + - uid: 21328 + components: + - type: Transform + pos: 2.5,44.5 + parent: 2 + - uid: 21329 + components: + - type: Transform + pos: 3.5,44.5 + parent: 2 + - uid: 21330 + components: + - type: Transform + pos: 4.5,44.5 + parent: 2 + - uid: 21331 + components: + - type: Transform + pos: 5.5,44.5 + parent: 2 + - uid: 21332 + components: + - type: Transform + pos: 6.5,44.5 + parent: 2 + - uid: 21333 + components: + - type: Transform + pos: 1.5,44.5 + parent: 2 - proto: CableHVStack entities: - uid: 4945 @@ -46095,6 +46216,42 @@ entities: - type: Transform pos: 38.5,-26.5 parent: 2 + - uid: 9176 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 8.5,44.5 + parent: 2 + - uid: 11569 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 7.5,42.5 + parent: 2 + - uid: 11570 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,42.5 + parent: 2 + - uid: 12789 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,42.5 + parent: 2 + - uid: 14054 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,42.5 + parent: 2 + - uid: 14328 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 1.5,42.5 + parent: 2 - uid: 14618 components: - type: Transform @@ -46179,6 +46336,24 @@ entities: rot: -1.5707963267948966 rad pos: 10.5,47.5 parent: 2 + - uid: 15804 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,42.5 + parent: 2 + - uid: 15807 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,42.5 + parent: 2 + - uid: 15811 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 0.5,42.5 + parent: 2 - uid: 17036 components: - type: Transform @@ -46265,6 +46440,18 @@ entities: rot: -1.5707963267948966 rad pos: 10.5,46.5 parent: 2 + - uid: 20488 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -10.5,-26.5 + parent: 2 + - uid: 20489 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -10.5,-27.5 + parent: 2 - uid: 20971 components: - type: Transform @@ -46589,6 +46776,12 @@ entities: rot: -1.5707963267948966 rad pos: 0.5,17.5 parent: 2 + - uid: 21026 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 9.5,44.5 + parent: 2 - uid: 21047 components: - type: Transform @@ -46754,16 +46947,6 @@ entities: - type: Transform pos: 7.5,44.5 parent: 2 - - uid: 21105 - components: - - type: Transform - pos: 7.5,43.5 - parent: 2 - - uid: 21106 - components: - - type: Transform - pos: 7.5,42.5 - parent: 2 - uid: 21107 components: - type: Transform @@ -46864,16 +47047,6 @@ entities: - type: Transform pos: -5.5,35.5 parent: 2 - - uid: 21127 - components: - - type: Transform - pos: -6.5,35.5 - parent: 2 - - uid: 21128 - components: - - type: Transform - pos: -7.5,35.5 - parent: 2 - uid: 21129 components: - type: Transform @@ -46904,6 +47077,102 @@ entities: - type: Transform pos: -8.5,40.5 parent: 2 + - uid: 21284 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,42.5 + parent: 2 + - uid: 21285 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -5.5,42.5 + parent: 2 + - uid: 21286 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,41.5 + parent: 2 + - uid: 21287 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -4.5,42.5 + parent: 2 + - uid: 21288 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -3.5,42.5 + parent: 2 + - uid: 21289 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -2.5,42.5 + parent: 2 + - uid: 21290 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.5,42.5 + parent: 2 + - uid: 21292 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -0.5,42.5 + parent: 2 + - uid: 21305 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,40.5 + parent: 2 + - uid: 21306 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,39.5 + parent: 2 + - uid: 21307 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,38.5 + parent: 2 + - uid: 21308 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,37.5 + parent: 2 + - uid: 21309 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,36.5 + parent: 2 + - uid: 21310 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,35.5 + parent: 2 + - uid: 21340 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-26.5 + parent: 2 + - uid: 21341 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-27.5 + parent: 2 - uid: 21135 components: - type: Transform @@ -46919,6 +47188,102 @@ entities: - type: Transform pos: -8.5,43.5 parent: 2 + - uid: 21284 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,42.5 + parent: 2 + - uid: 21285 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -5.5,42.5 + parent: 2 + - uid: 21286 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,41.5 + parent: 2 + - uid: 21287 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -4.5,42.5 + parent: 2 + - uid: 21288 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -3.5,42.5 + parent: 2 + - uid: 21289 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -2.5,42.5 + parent: 2 + - uid: 21290 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.5,42.5 + parent: 2 + - uid: 21292 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -0.5,42.5 + parent: 2 + - uid: 21305 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,40.5 + parent: 2 + - uid: 21306 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,39.5 + parent: 2 + - uid: 21307 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,38.5 + parent: 2 + - uid: 21308 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,37.5 + parent: 2 + - uid: 21309 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,36.5 + parent: 2 + - uid: 21310 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,35.5 + parent: 2 + - uid: 21340 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-26.5 + parent: 2 + - uid: 21341 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-27.5 + parent: 2 - proto: CdDiskCargonia entities: - uid: 21227 @@ -50090,11 +50455,6 @@ entities: parent: 2 - proto: ClosetO2N2Filled entities: - - uid: 7189 - components: - - type: Transform - pos: 9.5,44.5 - parent: 2 - uid: 7368 components: - type: Transform @@ -50277,6 +50637,11 @@ entities: rot: -1.5707963267948966 rad pos: -12.5,24.5 parent: 2 + - uid: 10219 + components: + - type: Transform + pos: -8.5,45.5 + parent: 2 - uid: 14628 components: - type: Transform @@ -50705,17 +51070,17 @@ entities: parent: 2 - proto: Cobweb2 entities: - - uid: 7454 + - uid: 7455 components: - type: Transform rot: 1.5707963267948966 rad - pos: -8.5,44.5 + pos: 29.5,65.5 parent: 2 - - uid: 7455 + - uid: 10494 components: - type: Transform rot: 1.5707963267948966 rad - pos: 29.5,65.5 + pos: -6.5,42.5 parent: 2 - proto: ComfyChair entities: @@ -60887,11 +61252,6 @@ entities: rot: 3.141592653589793 rad pos: 6.5,38.5 parent: 2 - - uid: 9117 - components: - - type: Transform - pos: 6.5,44.5 - parent: 2 - uid: 9118 components: - type: Transform @@ -61216,22 +61576,12 @@ entities: rot: 1.5707963267948966 rad pos: -16.5,55.5 parent: 2 - - uid: 9174 - components: - - type: Transform - pos: -0.5,44.5 - parent: 2 - uid: 9175 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,35.5 parent: 2 - - uid: 9176 - components: - - type: Transform - pos: -7.5,44.5 - parent: 2 - uid: 9177 components: - type: Transform @@ -61709,6 +62059,21 @@ entities: rot: 3.141592653589793 rad pos: -41.5,58.5 parent: 2 + - uid: 18360 + components: + - type: Transform + pos: -5.5,42.5 + parent: 2 + - uid: 18388 + components: + - type: Transform + pos: 6.5,42.5 + parent: 2 + - uid: 18389 + components: + - type: Transform + pos: -0.5,42.5 + parent: 2 - uid: 20879 components: - type: Transform @@ -63888,10 +64253,6 @@ entities: devices: - 14055 - 14330 - - 14329 - - 14056 - - 14054 - - 14328 - 14327 - 14053 - 9786 @@ -63906,10 +64267,6 @@ entities: devices: - 14055 - 14330 - - 14329 - - 14056 - - 14054 - - 14328 - 14327 - 14053 - 9786 @@ -63924,10 +64281,6 @@ entities: devices: - 14055 - 14330 - - 14329 - - 14056 - - 14054 - - 14328 - 14327 - 14053 - 9786 @@ -72675,21 +73028,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 10219 - components: - - type: Transform - pos: 3.5,43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 10220 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 10221 components: - type: Transform @@ -73473,6 +73811,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' + - uid: 15808 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 3.5,42.5 + parent: 2 + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 20766 components: - type: Transform @@ -74841,22 +75187,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' - - uid: 10493 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,43.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 10494 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 3.5,43.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - uid: 10495 components: - type: Transform @@ -75630,6 +75960,13 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' + - uid: 11571 + components: + - type: Transform + pos: 3.5,42.5 + parent: 2 + - type: AtmosPipeColor + color: '#990000FF' - uid: 20767 components: - type: Transform @@ -83265,27 +83602,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 11569 - components: - - type: Transform - pos: 3.5,42.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11570 - components: - - type: Transform - pos: -2.5,42.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 11571 - components: - - type: Transform - pos: -2.5,43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 11572 components: - type: Transform @@ -83302,14 +83618,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0335FCFF' - - uid: 11574 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,43.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - uid: 11575 components: - type: Transform @@ -86752,6 +87060,14 @@ entities: color: '#0335FCFF' - proto: GasPipeStraightAlt2 entities: + - uid: 11574 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,42.5 + parent: 2 + - type: AtmosPipeColor + color: '#990000FF' - uid: 12001 components: - type: Transform @@ -92814,20 +93130,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' - - uid: 12785 - components: - - type: Transform - pos: -5.5,42.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 12786 - components: - - type: Transform - pos: -5.5,43.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - uid: 12787 components: - type: Transform @@ -92842,13 +93144,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' - - uid: 12789 - components: - - type: Transform - pos: 3.5,42.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - uid: 12790 components: - type: Transform @@ -101639,6 +101934,15 @@ entities: color: '#947507FF' - proto: GasVentPump entities: + - uid: 12786 + components: + - type: Transform + pos: -2.5,42.5 + parent: 2 + - type: AtmosPipeLayers + pipeLayer: Secondary + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 13884 components: - type: Transform @@ -103934,21 +104238,6 @@ entities: - 9415 - type: AtmosPipeLayers pipeLayer: Secondary - - uid: 14054 - components: - - type: Transform - pos: 1.5,44.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - type: DeviceNetwork - deviceLists: - - 107 - - 9414 - - 9416 - - 9415 - - type: AtmosPipeLayers - pipeLayer: Secondary - uid: 14055 components: - type: Transform @@ -103968,18 +104257,13 @@ entities: - uid: 14056 components: - type: Transform - pos: -2.5,44.5 + rot: 1.5707963267948966 rad + pos: 1.5,42.5 parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - type: DeviceNetwork - deviceLists: - - 107 - - 9414 - - 9416 - - 9415 - type: AtmosPipeLayers - pipeLayer: Secondary + pipeLayer: Tertiary + - type: AtmosPipeColor + color: '#990000FF' - uid: 14057 components: - type: Transform @@ -105471,6 +105755,16 @@ entities: pipeLayer: Secondary - proto: GasVentScrubber entities: + - uid: 12785 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,42.5 + parent: 2 + - type: AtmosPipeLayers + pipeLayer: Secondary + - type: AtmosPipeColor + color: '#0335FCFF' - uid: 14159 components: - type: Transform @@ -107788,36 +108082,15 @@ entities: - 9415 - type: AtmosPipeLayers pipeLayer: Tertiary - - uid: 14328 + - uid: 14329 components: - type: Transform - pos: 4.5,44.5 + pos: -5.5,42.5 parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - type: DeviceNetwork - deviceLists: - - 107 - - 9414 - - 9416 - - 9415 - type: AtmosPipeLayers pipeLayer: Tertiary - - uid: 14329 - components: - - type: Transform - pos: -5.5,44.5 - parent: 2 - type: AtmosPipeColor color: '#990000FF' - - type: DeviceNetwork - deviceLists: - - 107 - - 9414 - - 9416 - - 9415 - - type: AtmosPipeLayers - pipeLayer: Tertiary - uid: 14330 components: - type: Transform @@ -111340,6 +111613,54 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,9.5 parent: 2 + - uid: 21336 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -10.5,-31.5 + parent: 2 + - uid: 21347 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-30.5 + parent: 2 + - uid: 21348 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -9.5,-32.5 + parent: 2 + - uid: 21349 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -12.5,-29.5 + parent: 2 + - uid: 21350 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -13.5,-29.5 + parent: 2 + - uid: 21351 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -12.5,-30.5 + parent: 2 + - uid: 21352 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -11.5,-31.5 + parent: 2 + - uid: 21353 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -10.5,-32.5 + parent: 2 - proto: GunneryServerStation entities: - uid: 14809 @@ -112791,6 +113112,447 @@ entities: entities: - uid: 14983 components: +- proto: HolopadAiCore + entities: + - uid: 21359 + components: + - type: Transform + pos: -13.5,53.5 + parent: 2 +- proto: HolopadAiUpload + entities: + - uid: 21358 + components: + - type: Transform + pos: -12.5,47.5 + parent: 2 +- proto: HolopadCargoBay + entities: + - uid: 21372 + components: + - type: Transform + pos: 35.5,7.5 + parent: 2 +- proto: HolopadCargoFront + entities: + - uid: 21373 + components: + - type: Transform + pos: 29.5,0.5 + parent: 2 +- proto: HolopadCargoMailroom + entities: + - uid: 21374 + components: + - type: Transform + pos: 36.5,1.5 + parent: 2 +- proto: HolopadCargoSalvageBay + entities: + - uid: 21404 + components: + - type: Transform + pos: 34.5,14.5 + parent: 2 +- proto: HolopadCommandBridge + entities: + - uid: 21417 + components: + - type: Transform + pos: -0.5,8.5 + parent: 2 +- proto: HolopadCommandBridgeLongRange + entities: + - uid: 21418 + components: + - type: Transform + pos: 1.5,8.5 + parent: 2 +- proto: HolopadCommandCaptain + entities: + - uid: 21371 + components: + - type: Transform + pos: -7.5,4.5 + parent: 2 +- proto: HolopadCommandCe + entities: + - uid: 21375 + components: + - type: Transform + pos: 8.5,28.5 + parent: 2 +- proto: HolopadCommandCmo + entities: + - uid: 21376 + components: + - type: Transform + pos: 17.5,44.5 + parent: 2 +- proto: HolopadCommandHop + entities: + - uid: 21389 + components: + - type: Transform + pos: 8.5,1.5 + parent: 2 +- proto: HolopadCommandHos + entities: + - uid: 21390 + components: + - type: Transform + pos: -36.5,42.5 + parent: 2 +- proto: HolopadCommandMeetingRoom + entities: + - uid: 21379 + components: + - type: Transform + pos: 0.5,-12.5 + parent: 2 +- proto: HolopadCommandQm + entities: + - uid: 21403 + components: + - type: Transform + pos: 27.5,10.5 + parent: 2 +- proto: HolopadCommandRd + entities: + - uid: 21405 + components: + - type: Transform + pos: -41.5,28.5 + parent: 2 +- proto: HolopadCommandVault + entities: + - uid: 21414 + components: + - type: Transform + pos: 28.5,5.5 + parent: 2 +- proto: HolopadEngineeringAME + entities: + - uid: 21363 + components: + - type: Transform + pos: 17.5,28.5 + parent: 2 +- proto: HolopadEngineeringAtmosMain + entities: + - uid: 21367 + components: + - type: Transform + pos: 43.5,34.5 + parent: 2 +- proto: HolopadEngineeringAtmosTeg + entities: + - uid: 21412 + components: + - type: Transform + pos: 26.5,41.5 + parent: 2 +- proto: HolopadEngineeringBreakroom + entities: + - uid: 21387 + components: + - type: Transform + pos: 31.5,21.5 + parent: 2 +- proto: HolopadEngineeringFront + entities: + - uid: 21386 + components: + - type: Transform + pos: 26.5,25.5 + parent: 2 +- proto: HolopadEngineeringMain + entities: + - uid: 21385 + components: + - type: Transform + pos: 44.5,23.5 + parent: 2 +- proto: HolopadEngineeringStorage + entities: + - uid: 21388 + components: + - type: Transform + pos: -1.5,31.5 + parent: 2 +- proto: HolopadEngineeringTechVault + entities: + - uid: 21411 + components: + - type: Transform + pos: 16.5,32.5 + parent: 2 +- proto: HolopadEngineeringTelecoms + entities: + - uid: 21413 + components: + - type: Transform + pos: 13.5,37.5 + parent: 2 +- proto: HolopadGeneralArcade + entities: + - uid: 21362 + components: + - type: Transform + pos: -36.5,-4.5 + parent: 2 +- proto: HolopadGeneralCryosleep + entities: + - uid: 21380 + components: + - type: Transform + pos: -11.5,-21.5 + parent: 2 +- proto: HolopadGeneralDisposals + entities: + - uid: 21383 + components: + - type: Transform + pos: 18.5,5.5 + parent: 2 +- proto: HolopadGeneralEVAStorage + entities: + - uid: 21384 + components: + - type: Transform + pos: 10.5,-12.5 + parent: 2 +- proto: HolopadGeneralLounge + entities: + - uid: 21368 + components: + - type: Transform + pos: 13.5,-19.5 + parent: 2 +- proto: HolopadGeneralTools + entities: + - uid: 21415 + components: + - type: Transform + pos: -19.5,-26.5 + parent: 2 +- proto: HolopadMedicalChemistry + entities: + - uid: 21378 + components: + - type: Transform + pos: 22.5,66.5 + parent: 2 +- proto: HolopadMedicalCryopods + entities: + - uid: 21381 + components: + - type: Transform + pos: -0.5,62.5 + parent: 2 +- proto: HolopadMedicalFront + entities: + - uid: 21398 + components: + - type: Transform + pos: 17.5,52.5 + parent: 2 +- proto: HolopadMedicalMedbay + entities: + - uid: 21396 + components: + - type: Transform + pos: 15.5,63.5 + parent: 2 +- proto: HolopadMedicalMorgue + entities: + - uid: 21397 + components: + - type: Transform + pos: 29.5,60.5 + parent: 2 +- proto: HolopadMedicalParamed + entities: + - uid: 21402 + components: + - type: Transform + pos: 10.5,59.5 + parent: 2 +- proto: HolopadMedicalSurgery + entities: + - uid: 21410 + components: + - type: Transform + pos: 9.5,52.5 + parent: 2 +- proto: HolopadScienceAnomaly + entities: + - uid: 21360 + components: + - type: Transform + pos: -35.5,28.5 + parent: 2 +- proto: HolopadScienceArtifact + entities: + - uid: 21364 + components: + - type: Transform + pos: -42.5,18.5 + parent: 2 +- proto: HolopadScienceFront + entities: + - uid: 21407 + components: + - type: Transform + pos: -26.5,20.5 + parent: 2 +- proto: HolopadScienceRnd + entities: + - uid: 21408 + components: + - type: Transform + pos: -35.5,19.5 + parent: 2 +- proto: HolopadScienceRobotics + entities: + - uid: 21406 + components: + - type: Transform + pos: -27.5,24.5 + parent: 2 +- proto: HolopadSecurityArmory + entities: + - uid: 21361 + components: + - type: Transform + pos: -30.5,47.5 + parent: 2 +- proto: HolopadSecurityBrig + entities: + - uid: 21369 + components: + - type: Transform + pos: -31.5,52.5 + parent: 2 +- proto: HolopadSecurityBrigMed + entities: + - uid: 21370 + components: + - type: Transform + pos: -54.5,37.5 + parent: 2 +- proto: HolopadSecurityDetective + entities: + - uid: 21382 + components: + - type: Transform + pos: -33.5,35.5 + parent: 2 +- proto: HolopadSecurityFront + entities: + - uid: 21420 + components: + - type: Transform + pos: -47.5,41.5 + parent: 2 +- proto: HolopadSecurityLawyer + entities: + - uid: 21395 + components: + - type: Transform + pos: -46.5,36.5 + parent: 2 +- proto: HolopadSecurityLockerRoom + entities: + - uid: 21409 + components: + - type: Transform + pos: -28.5,34.5 + parent: 2 +- proto: HolopadSecurityWarden + entities: + - uid: 21416 + components: + - type: Transform + pos: -26.5,43.5 + parent: 2 +- proto: HolopadServiceBar + entities: + - uid: 21365 + components: + - type: Transform + pos: -27.5,-7.5 + parent: 2 +- proto: HolopadServiceBotany + entities: + - uid: 21366 + components: + - type: Transform + pos: -42.5,1.5 + parent: 2 +- proto: HolopadServiceChapel + entities: + - uid: 21377 + components: + - type: Transform + pos: 31.5,52.5 + parent: 2 +- proto: HolopadServiceClown + entities: + - uid: 21392 + components: + - type: Transform + pos: -7.5,-15.5 + parent: 2 +- proto: HolopadServiceGameRoom + entities: + - uid: 21419 + components: + - type: Transform + pos: -31.5,-15.5 + parent: 2 +- proto: HolopadServiceJanitor + entities: + - uid: 21391 + components: + - type: Transform + pos: -11.5,-10.5 + parent: 2 +- proto: HolopadServiceKitchen + entities: + - uid: 21393 + components: + - type: Transform + pos: -35.5,6.5 + parent: 2 +- proto: HolopadServiceLibrary + entities: + - uid: 21394 + components: + - type: Transform + pos: 16.5,14.5 + parent: 2 +- proto: HolopadServiceMime + entities: + - uid: 21401 + components: + - type: Transform + pos: -11.5,-15.5 + parent: 2 +- proto: HolopadServiceMusician + entities: + - uid: 21399 + components: + - type: Transform + pos: -41.5,-15.5 + parent: 2 +- proto: HolopadServiceNewsroom + entities: + - uid: 21400 + components: + - type: Transform + pos: -10.5,40.5 + parent: 2 - type: Transform pos: -26.5,44.5 parent: 2 @@ -112806,6 +113568,447 @@ entities: - type: Transform pos: 46.04871,18.530123 parent: 2 +- proto: HolopadAiCore + entities: + - uid: 21359 + components: + - type: Transform + pos: -13.5,53.5 + parent: 2 +- proto: HolopadAiUpload + entities: + - uid: 21358 + components: + - type: Transform + pos: -12.5,47.5 + parent: 2 +- proto: HolopadCargoBay + entities: + - uid: 21372 + components: + - type: Transform + pos: 35.5,7.5 + parent: 2 +- proto: HolopadCargoFront + entities: + - uid: 21373 + components: + - type: Transform + pos: 29.5,0.5 + parent: 2 +- proto: HolopadCargoMailroom + entities: + - uid: 21374 + components: + - type: Transform + pos: 36.5,1.5 + parent: 2 +- proto: HolopadCargoSalvageBay + entities: + - uid: 21404 + components: + - type: Transform + pos: 34.5,14.5 + parent: 2 +- proto: HolopadCommandBridge + entities: + - uid: 21417 + components: + - type: Transform + pos: -0.5,8.5 + parent: 2 +- proto: HolopadCommandBridgeLongRange + entities: + - uid: 21418 + components: + - type: Transform + pos: 1.5,8.5 + parent: 2 +- proto: HolopadCommandCaptain + entities: + - uid: 21371 + components: + - type: Transform + pos: -7.5,4.5 + parent: 2 +- proto: HolopadCommandCe + entities: + - uid: 21375 + components: + - type: Transform + pos: 8.5,28.5 + parent: 2 +- proto: HolopadCommandCmo + entities: + - uid: 21376 + components: + - type: Transform + pos: 17.5,44.5 + parent: 2 +- proto: HolopadCommandHop + entities: + - uid: 21389 + components: + - type: Transform + pos: 8.5,1.5 + parent: 2 +- proto: HolopadCommandHos + entities: + - uid: 21390 + components: + - type: Transform + pos: -36.5,42.5 + parent: 2 +- proto: HolopadCommandMeetingRoom + entities: + - uid: 21379 + components: + - type: Transform + pos: 0.5,-12.5 + parent: 2 +- proto: HolopadCommandQm + entities: + - uid: 21403 + components: + - type: Transform + pos: 27.5,10.5 + parent: 2 +- proto: HolopadCommandRd + entities: + - uid: 21405 + components: + - type: Transform + pos: -41.5,28.5 + parent: 2 +- proto: HolopadCommandVault + entities: + - uid: 21414 + components: + - type: Transform + pos: 28.5,5.5 + parent: 2 +- proto: HolopadEngineeringAME + entities: + - uid: 21363 + components: + - type: Transform + pos: 17.5,28.5 + parent: 2 +- proto: HolopadEngineeringAtmosMain + entities: + - uid: 21367 + components: + - type: Transform + pos: 43.5,34.5 + parent: 2 +- proto: HolopadEngineeringAtmosTeg + entities: + - uid: 21412 + components: + - type: Transform + pos: 26.5,41.5 + parent: 2 +- proto: HolopadEngineeringBreakroom + entities: + - uid: 21387 + components: + - type: Transform + pos: 31.5,21.5 + parent: 2 +- proto: HolopadEngineeringFront + entities: + - uid: 21386 + components: + - type: Transform + pos: 26.5,25.5 + parent: 2 +- proto: HolopadEngineeringMain + entities: + - uid: 21385 + components: + - type: Transform + pos: 44.5,23.5 + parent: 2 +- proto: HolopadEngineeringStorage + entities: + - uid: 21388 + components: + - type: Transform + pos: -1.5,31.5 + parent: 2 +- proto: HolopadEngineeringTechVault + entities: + - uid: 21411 + components: + - type: Transform + pos: 16.5,32.5 + parent: 2 +- proto: HolopadEngineeringTelecoms + entities: + - uid: 21413 + components: + - type: Transform + pos: 13.5,37.5 + parent: 2 +- proto: HolopadGeneralArcade + entities: + - uid: 21362 + components: + - type: Transform + pos: -36.5,-4.5 + parent: 2 +- proto: HolopadGeneralCryosleep + entities: + - uid: 21380 + components: + - type: Transform + pos: -11.5,-21.5 + parent: 2 +- proto: HolopadGeneralDisposals + entities: + - uid: 21383 + components: + - type: Transform + pos: 18.5,5.5 + parent: 2 +- proto: HolopadGeneralEVAStorage + entities: + - uid: 21384 + components: + - type: Transform + pos: 10.5,-12.5 + parent: 2 +- proto: HolopadGeneralLounge + entities: + - uid: 21368 + components: + - type: Transform + pos: 13.5,-19.5 + parent: 2 +- proto: HolopadGeneralTools + entities: + - uid: 21415 + components: + - type: Transform + pos: -19.5,-26.5 + parent: 2 +- proto: HolopadMedicalChemistry + entities: + - uid: 21378 + components: + - type: Transform + pos: 22.5,66.5 + parent: 2 +- proto: HolopadMedicalCryopods + entities: + - uid: 21381 + components: + - type: Transform + pos: -0.5,62.5 + parent: 2 +- proto: HolopadMedicalFront + entities: + - uid: 21398 + components: + - type: Transform + pos: 17.5,52.5 + parent: 2 +- proto: HolopadMedicalMedbay + entities: + - uid: 21396 + components: + - type: Transform + pos: 15.5,63.5 + parent: 2 +- proto: HolopadMedicalMorgue + entities: + - uid: 21397 + components: + - type: Transform + pos: 29.5,60.5 + parent: 2 +- proto: HolopadMedicalParamed + entities: + - uid: 21402 + components: + - type: Transform + pos: 10.5,59.5 + parent: 2 +- proto: HolopadMedicalSurgery + entities: + - uid: 21410 + components: + - type: Transform + pos: 9.5,52.5 + parent: 2 +- proto: HolopadScienceAnomaly + entities: + - uid: 21360 + components: + - type: Transform + pos: -35.5,28.5 + parent: 2 +- proto: HolopadScienceArtifact + entities: + - uid: 21364 + components: + - type: Transform + pos: -42.5,18.5 + parent: 2 +- proto: HolopadScienceFront + entities: + - uid: 21407 + components: + - type: Transform + pos: -26.5,20.5 + parent: 2 +- proto: HolopadScienceRnd + entities: + - uid: 21408 + components: + - type: Transform + pos: -35.5,19.5 + parent: 2 +- proto: HolopadScienceRobotics + entities: + - uid: 21406 + components: + - type: Transform + pos: -27.5,24.5 + parent: 2 +- proto: HolopadSecurityArmory + entities: + - uid: 21361 + components: + - type: Transform + pos: -30.5,47.5 + parent: 2 +- proto: HolopadSecurityBrig + entities: + - uid: 21369 + components: + - type: Transform + pos: -31.5,52.5 + parent: 2 +- proto: HolopadSecurityBrigMed + entities: + - uid: 21370 + components: + - type: Transform + pos: -54.5,37.5 + parent: 2 +- proto: HolopadSecurityDetective + entities: + - uid: 21382 + components: + - type: Transform + pos: -33.5,35.5 + parent: 2 +- proto: HolopadSecurityFront + entities: + - uid: 21420 + components: + - type: Transform + pos: -47.5,41.5 + parent: 2 +- proto: HolopadSecurityLawyer + entities: + - uid: 21395 + components: + - type: Transform + pos: -46.5,36.5 + parent: 2 +- proto: HolopadSecurityLockerRoom + entities: + - uid: 21409 + components: + - type: Transform + pos: -28.5,34.5 + parent: 2 +- proto: HolopadSecurityWarden + entities: + - uid: 21416 + components: + - type: Transform + pos: -26.5,43.5 + parent: 2 +- proto: HolopadServiceBar + entities: + - uid: 21365 + components: + - type: Transform + pos: -27.5,-7.5 + parent: 2 +- proto: HolopadServiceBotany + entities: + - uid: 21366 + components: + - type: Transform + pos: -42.5,1.5 + parent: 2 +- proto: HolopadServiceChapel + entities: + - uid: 21377 + components: + - type: Transform + pos: 31.5,52.5 + parent: 2 +- proto: HolopadServiceClown + entities: + - uid: 21392 + components: + - type: Transform + pos: -7.5,-15.5 + parent: 2 +- proto: HolopadServiceGameRoom + entities: + - uid: 21419 + components: + - type: Transform + pos: -31.5,-15.5 + parent: 2 +- proto: HolopadServiceJanitor + entities: + - uid: 21391 + components: + - type: Transform + pos: -11.5,-10.5 + parent: 2 +- proto: HolopadServiceKitchen + entities: + - uid: 21393 + components: + - type: Transform + pos: -35.5,6.5 + parent: 2 +- proto: HolopadServiceLibrary + entities: + - uid: 21394 + components: + - type: Transform + pos: 16.5,14.5 + parent: 2 +- proto: HolopadServiceMime + entities: + - uid: 21401 + components: + - type: Transform + pos: -11.5,-15.5 + parent: 2 +- proto: HolopadServiceMusician + entities: + - uid: 21399 + components: + - type: Transform + pos: -41.5,-15.5 + parent: 2 +- proto: HolopadServiceNewsroom + entities: + - uid: 21400 + components: + - type: Transform + pos: -10.5,40.5 + parent: 2 - proto: HolosignNfsd entities: - uid: 14986 @@ -115639,10 +116842,10 @@ entities: rot: 3.141592653589793 rad pos: 7.5,19.5 parent: 2 - - uid: 21026 + - uid: 21334 components: - type: Transform - pos: 3.5,45.5 + pos: 2.5,43.5 parent: 2 - proto: LuxuryPen entities: @@ -117900,6 +119103,13 @@ entities: parent: 2 - type: Battery startingCharge: 0 +- proto: Plunger + entities: + - uid: 21357 + components: + - type: Transform + pos: -44.98291,-20.02605 + parent: 2 - proto: PlushieLizard entities: - uid: 15403 @@ -118398,6 +119608,16 @@ entities: rot: 1.5707963267948966 rad pos: 12.5,-0.5 parent: 2 + - uid: 10220 + components: + - type: Transform + pos: 5.5,42.5 + parent: 2 + - uid: 10493 + components: + - type: Transform + pos: -1.5,42.5 + parent: 2 - uid: 15471 components: - type: Transform @@ -120299,11 +121519,6 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,28.5 parent: 2 - - uid: 15804 - components: - - type: Transform - pos: 5.5,44.5 - parent: 2 - uid: 15805 components: - type: Transform @@ -120316,16 +121531,6 @@ entities: rot: 3.141592653589793 rad pos: 5.5,38.5 parent: 2 - - uid: 15807 - components: - - type: Transform - pos: 0.5,44.5 - parent: 2 - - uid: 15808 - components: - - type: Transform - pos: -6.5,44.5 - parent: 2 - uid: 15809 components: - type: Transform @@ -120338,11 +121543,6 @@ entities: rot: 3.141592653589793 rad pos: -1.5,35.5 parent: 2 - - uid: 15811 - components: - - type: Transform - pos: -1.5,44.5 - parent: 2 - uid: 15812 components: - type: Transform @@ -121476,6 +122676,11 @@ entities: - type: Transform pos: -0.5,64.5 parent: 2 + - uid: 16041 + components: + - type: Transform + pos: -6.5,42.5 + parent: 2 - uid: 16531 components: - type: Transform @@ -121719,17 +122924,6 @@ entities: - type: Transform pos: -28.5,-28.5 parent: 2 - - uid: 16040 - components: - - type: Transform - pos: -12.5,-28.5 - parent: 2 - - uid: 16041 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -9.5,-30.5 - parent: 2 - uid: 16042 components: - type: Transform @@ -125180,6 +126374,54 @@ entities: rot: -1.5707963267948966 rad pos: 6.5,9.5 parent: 2 + - uid: 18390 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -13.5,-29.5 + parent: 2 + - uid: 21106 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-30.5 + parent: 2 + - uid: 21127 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -10.5,-31.5 + parent: 2 + - uid: 21128 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -10.5,-32.5 + parent: 2 + - uid: 21276 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -12.5,-29.5 + parent: 2 + - uid: 21337 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -9.5,-32.5 + parent: 2 + - uid: 21338 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -11.5,-31.5 + parent: 2 + - uid: 21339 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -12.5,-30.5 + parent: 2 - proto: RemoteSignaller entities: - uid: 16650 @@ -130320,6 +131562,12 @@ entities: rot: -1.5707963267948966 rad pos: 14.5,-12.5 parent: 2 + - uid: 21355 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -43.5,-20.5 + parent: 2 - proto: SophicScribe entities: - uid: 17160 @@ -136040,6 +137288,12 @@ entities: rot: 1.5707963267948966 rad pos: -2.5,-22.5 parent: 2 + - uid: 21356 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -45.5,-20.5 + parent: 2 - proto: ToiletEmpty entities: - uid: 17991 @@ -138705,11 +139959,6 @@ entities: rot: -1.5707963267948966 rad pos: -15.5,33.5 parent: 2 - - uid: 18360 - components: - - type: Transform - pos: -43.5,-20.5 - parent: 2 - uid: 18361 components: - type: Transform @@ -138845,21 +140094,6 @@ entities: - type: Transform pos: -46.5,-19.5 parent: 2 - - uid: 18388 - components: - - type: Transform - pos: -43.5,-19.5 - parent: 2 - - uid: 18389 - components: - - type: Transform - pos: -44.5,-19.5 - parent: 2 - - uid: 18390 - components: - - type: Transform - pos: -45.5,-19.5 - parent: 2 - uid: 18391 components: - type: Transform @@ -138995,17 +140229,11 @@ entities: rot: 3.141592653589793 rad pos: -12.5,-27.5 parent: 2 - - uid: 18414 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -11.5,-27.5 - parent: 2 - uid: 18415 components: - type: Transform - rot: 3.141592653589793 rad - pos: -10.5,-27.5 + rot: 1.5707963267948966 rad + pos: -44.5,-19.5 parent: 2 - uid: 18416 components: @@ -139284,8 +140512,8 @@ entities: - uid: 18465 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,-30.5 + rot: 1.5707963267948966 rad + pos: -45.5,-19.5 parent: 2 - uid: 18466 components: @@ -142465,7 +143693,8 @@ entities: - uid: 19029 components: - type: Transform - pos: 8.5,44.5 + rot: 1.5707963267948966 rad + pos: -43.5,-19.5 parent: 2 - uid: 19030 components: @@ -146098,6 +147327,12 @@ entities: rot: 3.141592653589793 rad pos: 42.5,-22.5 parent: 2 + - uid: 19735 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -44.5,-21.5 + parent: 2 - uid: 20314 components: - type: Transform @@ -146178,6 +147413,30 @@ entities: - type: Transform pos: -26.5,31.5 parent: 2 + - uid: 21335 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -13.5,-28.5 + parent: 2 + - uid: 21345 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -45.5,-21.5 + parent: 2 + - uid: 21346 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -46.5,-21.5 + parent: 2 + - uid: 21354 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -46.5,-20.5 + parent: 2 - proto: WallReinforcedDiagonal entities: - uid: 4694 @@ -146185,6 +147444,18 @@ entities: - type: Transform pos: 0.5,47.5 parent: 2 + - uid: 16040 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -14.5,-28.5 + parent: 2 + - uid: 18414 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -9.5,-33.5 + parent: 2 - uid: 18720 components: - type: Transform @@ -146324,12 +147595,6 @@ entities: rot: -1.5707963267948966 rad pos: 43.5,-22.5 parent: 2 - - uid: 19735 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -16.5,-28.5 - parent: 2 - uid: 19736 components: - type: Transform @@ -146392,12 +147657,32 @@ entities: parent: 2 - proto: WallSolid entities: + - uid: 7189 + components: + - type: Transform + pos: -5.5,43.5 + parent: 2 - uid: 7394 components: - type: Transform rot: 1.5707963267948966 rad pos: -17.5,38.5 parent: 2 + - uid: 7454 + components: + - type: Transform + pos: 2.5,43.5 + parent: 2 + - uid: 9117 + components: + - type: Transform + pos: -4.5,43.5 + parent: 2 + - uid: 9174 + components: + - type: Transform + pos: -7.5,42.5 + parent: 2 - uid: 19738 components: - type: Transform @@ -150121,6 +151406,101 @@ entities: rot: 1.5707963267948966 rad pos: -17.5,34.5 parent: 2 + - uid: 21277 + components: + - type: Transform + pos: -6.5,43.5 + parent: 2 + - uid: 21279 + components: + - type: Transform + pos: 0.5,43.5 + parent: 2 + - uid: 21280 + components: + - type: Transform + pos: -0.5,43.5 + parent: 2 + - uid: 21281 + components: + - type: Transform + pos: -1.5,43.5 + parent: 2 + - uid: 21282 + components: + - type: Transform + pos: -2.5,43.5 + parent: 2 + - uid: 21283 + components: + - type: Transform + pos: -3.5,43.5 + parent: 2 + - uid: 21291 + components: + - type: Transform + pos: 7.5,43.5 + parent: 2 + - uid: 21293 + components: + - type: Transform + pos: 4.5,43.5 + parent: 2 + - uid: 21294 + components: + - type: Transform + pos: 5.5,43.5 + parent: 2 + - uid: 21295 + components: + - type: Transform + pos: 3.5,43.5 + parent: 2 + - uid: 21296 + components: + - type: Transform + pos: 6.5,43.5 + parent: 2 + - uid: 21297 + components: + - type: Transform + pos: -7.5,43.5 + parent: 2 + - uid: 21298 + components: + - type: Transform + pos: -7.5,39.5 + parent: 2 + - uid: 21299 + components: + - type: Transform + pos: -7.5,40.5 + parent: 2 + - uid: 21300 + components: + - type: Transform + pos: -7.5,41.5 + parent: 2 + - uid: 21301 + components: + - type: Transform + pos: -7.5,38.5 + parent: 2 + - uid: 21302 + components: + - type: Transform + pos: -7.5,37.5 + parent: 2 + - uid: 21303 + components: + - type: Transform + pos: -7.5,36.5 + parent: 2 + - uid: 21304 + components: + - type: Transform + pos: -7.5,35.5 + parent: 2 - proto: WallSolidDiagonal entities: - uid: 20417 @@ -150896,16 +152276,6 @@ entities: - type: Transform pos: 8.5,-34.5 parent: 2 - - uid: 20488 - components: - - type: Transform - pos: -8.5,-34.5 - parent: 2 - - uid: 20489 - components: - - type: Transform - pos: -10.5,-28.5 - parent: 2 - uid: 20490 components: - type: Transform @@ -151053,27 +152423,18 @@ entities: rot: 1.5707963267948966 rad pos: 62.5,41.5 parent: 2 -- proto: WeaponTurretTarnyx - entities: - - uid: 20515 + - uid: 21105 components: - type: Transform - pos: -9.5,-33.5 + pos: -7.5,-34.5 parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] + - uid: 21344 + components: + - type: Transform + pos: -15.5,-29.5 + parent: 2 +- proto: WeaponTurretTarnyx + entities: - uid: 20516 components: - type: Transform diff --git a/Resources/Maps/_Mono/Shuttles/USSP/tunguska2.yml b/Resources/Maps/_Mono/Shuttles/USSP/tunguska2.yml index 3de68ec4c8a..d75bf42b43c 100644 --- a/Resources/Maps/_Mono/Shuttles/USSP/tunguska2.yml +++ b/Resources/Maps/_Mono/Shuttles/USSP/tunguska2.yml @@ -7341,14 +7341,14 @@ entities: rot: -1.5707963267948966 rad pos: -3.2517176,-10.459884 parent: 2 -- proto: ShipRepairDevice +- proto: ShipyardRCD entities: - uid: 1007 components: - type: Transform pos: -2.0677912,4.7188888 parent: 2 -- proto: ShipRepairDeviceAmmo +- proto: ShipyardRCDAmmo entities: - uid: 1008 components: diff --git a/Resources/Maps/_Mono/Shuttles/World/assembly.yml b/Resources/Maps/_Mono/Shuttles/World/assembly.yml deleted file mode 100644 index c656403ca41..00000000000 --- a/Resources/Maps/_Mono/Shuttles/World/assembly.yml +++ /dev/null @@ -1,1029 +0,0 @@ -meta: - format: 7 - category: Grid - engineVersion: 264.0.0 - forkId: "" - forkVersion: "" - time: 01/08/2026 20:12:09 - entityCount: 165 -maps: [] -grids: -- 1 -orphans: -- 1 -nullspace: [] -tilemap: - 3: Space - 2: FloorHullReinforced - 4: FloorRedCircuit - 11: Lattice - 14: LatticeCornerNE - 7: LatticeCornerNW - 10: LatticeCornerSE - 1: Plating - 9: PlatingCornerNW - 8: PlatingCornerSE - 6: PlatingCornerSW - 0: PlatingDamaged - 5: PlatingHalfH - 13: PlatingHalfTiltNEWLower - 12: PlatingHalfTiltNEWUpper -entities: -- proto: "" - entities: - - uid: 1 - components: - - type: MetaData - name: grid - - type: Transform - parent: invalid - - type: MapGrid - chunks: - 0,0: - ind: 0,0 - tiles: AAAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAQAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAUAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAAHAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAgAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACAAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAIAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAgAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - 0,-1: - ind: 0,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAkAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAUAAAAAAAACAAAAAAAABwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAJAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABAAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAYAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAQAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAJAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABAAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,0: - ind: -1,0 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACAAAAAAAAAEAAAAAAAABAAAAAAAABAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAAAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAoAAAAAAAALAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACgAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAIAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,-1: - ind: -1,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAsAAAAAAAAHAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAACAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAgAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAMAAAAAAAADQAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA4AAAAAAAACAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA4AAAAAAAACAAAAAAAAAgAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAALAAAAAAAAAgAAAAAAAAIAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAKAAAAAAAACwAAAAAAAAEAAAAAAAABAAAAAAAABAAAAAAAAA== - 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: GridPathfinding - - type: Gravity - gravityShakeSound: !type:SoundPathSpecifier - path: /Audio/Effects/alert.ogg - - type: DecalGrid - chunkCollection: - version: 2 - nodes: [] - - type: GridAtmosphere - version: 2 - data: - chunkSize: 4 - - type: GasTileOverlay - - type: NavMap - - type: RadiationGridResistance -- proto: APCBasic - entities: - - uid: 108 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 161 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 -- proto: CableApcExtension - entities: - - uid: 120 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 121 - components: - - type: Transform - pos: 2.5,-1.5 - parent: 1 - - uid: 122 - components: - - type: Transform - pos: 2.5,-3.5 - parent: 1 - - uid: 123 - components: - - type: Transform - pos: 2.5,-4.5 - parent: 1 - - uid: 124 - components: - - type: Transform - pos: 2.5,-2.5 - parent: 1 - - uid: 125 - components: - - type: Transform - pos: 2.5,-0.5 - parent: 1 - - uid: 126 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 - - uid: 127 - components: - - type: Transform - pos: 2.5,1.5 - parent: 1 - - uid: 128 - components: - - type: Transform - pos: 2.5,2.5 - parent: 1 - - uid: 129 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 - - uid: 131 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 - - uid: 132 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - uid: 133 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 - - uid: 134 - components: - - type: Transform - pos: 0.5,-2.5 - parent: 1 - - uid: 135 - components: - - type: Transform - pos: 0.5,-3.5 - parent: 1 - - uid: 136 - components: - - type: Transform - pos: 0.5,-4.5 - parent: 1 - - uid: 137 - components: - - type: Transform - pos: -0.5,-4.5 - parent: 1 - - uid: 142 - components: - - type: Transform - pos: -0.5,-0.5 - parent: 1 - - uid: 143 - components: - - type: Transform - pos: -1.5,-0.5 - parent: 1 - - uid: 145 - components: - - type: Transform - pos: 2.5,3.5 - parent: 1 - - uid: 146 - components: - - type: Transform - pos: 2.5,4.5 - parent: 1 - - uid: 147 - components: - - type: Transform - pos: 2.5,5.5 - parent: 1 - - uid: 148 - components: - - type: Transform - pos: 3.5,5.5 - parent: 1 - - uid: 149 - components: - - type: Transform - pos: 2.5,-5.5 - parent: 1 - - uid: 152 - components: - - type: Transform - pos: -1.5,0.5 - parent: 1 - - uid: 153 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 154 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 - - uid: 163 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 -- proto: CableHV - entities: - - uid: 112 - components: - - type: Transform - pos: 1.5,-3.5 - parent: 1 - - uid: 113 - components: - - type: Transform - pos: 1.5,-2.5 - parent: 1 - - uid: 114 - components: - - type: Transform - pos: 0.5,-2.5 - parent: 1 - - uid: 115 - components: - - type: Transform - pos: 0.5,-3.5 - parent: 1 - - uid: 116 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 - - uid: 138 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 140 - components: - - type: Transform - pos: 1.5,0.5 - parent: 1 - - uid: 141 - components: - - type: Transform - pos: 1.5,-0.5 - parent: 1 - - uid: 150 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 - - uid: 157 - components: - - type: Transform - pos: -0.5,-0.5 - parent: 1 - - uid: 158 - components: - - type: Transform - pos: -0.5,0.5 - parent: 1 -- proto: CableMV - entities: - - uid: 118 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 - - uid: 119 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 151 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 - - uid: 159 - components: - - type: Transform - pos: -0.5,-0.5 - parent: 1 - - uid: 160 - components: - - type: Transform - pos: -0.5,0.5 - parent: 1 - - uid: 162 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 -- proto: ClothingBackpackDroneLootT21 - entities: - - uid: 165 - components: - - type: Transform - pos: 0.68750095,-0.22916698 - parent: 1 -- proto: ClothingBackpackDroneLootT22 - entities: - - uid: 164 - components: - - type: Transform - pos: 0.56250095,-0.83333397 - parent: 1 -- proto: GeneratorRTG - entities: - - uid: 105 - components: - - type: Transform - pos: 0.5,-3.5 - parent: 1 - - uid: 106 - components: - - type: Transform - pos: 0.5,-2.5 - parent: 1 -- proto: GeneratorRTGDamaged - entities: - - uid: 107 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 -- proto: GeneratorWallmountAPU - entities: - - uid: 109 - components: - - type: Transform - pos: 1.5,-0.5 - parent: 1 - - uid: 110 - components: - - type: Transform - pos: 1.5,-2.5 - parent: 1 - - uid: 130 - components: - - type: Transform - pos: 1.5,0.5 - parent: 1 - - uid: 139 - components: - - type: Transform - pos: 1.5,-3.5 - parent: 1 -- proto: Grille - entities: - - uid: 34 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-1.5 - parent: 1 - - uid: 45 - components: - - type: Transform - pos: -1.5,3.5 - parent: 1 - - uid: 49 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-7.5 - parent: 1 - - uid: 144 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-0.5 - parent: 1 -- proto: GrilleDiagonal - entities: - - uid: 59 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,4.5 - parent: 1 - - uid: 70 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-7.5 - parent: 1 - - uid: 76 - components: - - type: Transform - pos: -2.5,3.5 - parent: 1 - - uid: 89 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-6.5 - parent: 1 - - uid: 96 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,-3.5 - parent: 1 - - uid: 103 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-2.5 - parent: 1 -- proto: Gyroscope - entities: - - uid: 104 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 -- proto: PlasmaReinforcedWindowDirectional - entities: - - uid: 4 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -1.5,-5.5 - parent: 1 - - uid: 7 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,-6.5 - parent: 1 - - uid: 30 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -2.5,1.5 - parent: 1 - - uid: 38 - components: - - type: Transform - pos: -2.5,-0.5 - parent: 1 - - uid: 84 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -1.5,-6.5 - parent: 1 - - uid: 93 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-3.5 - parent: 1 - - uid: 94 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -2.5,2.5 - parent: 1 -- proto: SpawnMobDroneAiAssembly - entities: - - uid: 102 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 -- proto: SubstationBasic - entities: - - uid: 91 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 -- proto: SubstationWallBasic - entities: - - uid: 155 - components: - - type: Transform - pos: -0.5,-0.5 - parent: 1 - - uid: 156 - components: - - type: Transform - pos: -0.5,0.5 - parent: 1 -- proto: Thruster - entities: - - uid: 15 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,-6.5 - parent: 1 - - uid: 16 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,-3.5 - parent: 1 - - uid: 36 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,-0.5 - parent: 1 - - uid: 54 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,4.5 - parent: 1 -- proto: ThrusterLarge - entities: - - uid: 41 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,-2.5 - parent: 1 - - uid: 42 - components: - - type: Transform - pos: -2.5,2.5 - parent: 1 - - uid: 77 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-6.5 - parent: 1 -- proto: WallPlastitanium - entities: - - uid: 3 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,7.5 - parent: 1 - - uid: 8 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-5.5 - parent: 1 - - uid: 10 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,7.5 - parent: 1 - - uid: 11 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,2.5 - parent: 1 - - uid: 12 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,1.5 - parent: 1 - - uid: 18 - components: - - type: Transform - pos: -0.5,3.5 - parent: 1 - - uid: 19 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 - - uid: 20 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-2.5 - parent: 1 - - uid: 23 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-0.5 - parent: 1 - - uid: 24 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,1.5 - parent: 1 - - uid: 25 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-1.5 - parent: 1 - - uid: 26 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,2.5 - parent: 1 - - uid: 27 - components: - - type: Transform - pos: -0.5,4.5 - parent: 1 - - uid: 28 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,0.5 - parent: 1 - - uid: 29 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,3.5 - parent: 1 - - uid: 31 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,5.5 - parent: 1 - - uid: 32 - components: - - type: Transform - pos: 2.5,5.5 - parent: 1 - - uid: 35 - components: - - type: Transform - pos: 1.5,4.5 - parent: 1 - - uid: 37 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,5.5 - parent: 1 - - uid: 40 - components: - - type: Transform - pos: 1.5,3.5 - parent: 1 - - uid: 43 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-6.5 - parent: 1 - - uid: 44 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-1.5 - parent: 1 - - uid: 48 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,6.5 - parent: 1 - - uid: 53 - components: - - type: Transform - pos: 2.5,4.5 - parent: 1 - - uid: 55 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,0.5 - parent: 1 - - uid: 58 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-0.5 - parent: 1 - - uid: 62 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,1.5 - parent: 1 - - uid: 66 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,3.5 - parent: 1 - - uid: 68 - components: - - type: Transform - pos: 1.5,5.5 - parent: 1 - - uid: 69 - components: - - type: Transform - pos: 2.5,6.5 - parent: 1 - - uid: 72 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 81 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 3.5,-3.5 - parent: 1 - - uid: 82 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-4.5 - parent: 1 - - uid: 86 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 - - uid: 90 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-2.5 - parent: 1 - - uid: 95 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-0.5 - parent: 1 - - uid: 97 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,8.5 - parent: 1 -- proto: WallPlastitaniumDiagonal - entities: - - uid: 13 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-3.5 - parent: 1 - - uid: 46 - components: - - type: Transform - pos: 3.5,8.5 - parent: 1 - - uid: 47 - components: - - type: Transform - pos: -0.5,5.5 - parent: 1 - - uid: 60 - components: - - type: Transform - pos: 1.5,6.5 - parent: 1 - - uid: 61 - components: - - type: Transform - pos: 2.5,7.5 - parent: 1 - - uid: 67 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,3.5 - parent: 1 - - uid: 80 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-5.5 - parent: 1 - - uid: 88 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-2.5 - parent: 1 - - uid: 92 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-7.5 - parent: 1 - - uid: 98 - components: - - type: Transform - pos: 4.5,9.5 - parent: 1 -- proto: WallReinforced - entities: - - uid: 6 - components: - - type: Transform - pos: 0.5,-5.5 - parent: 1 - - uid: 9 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,-3.5 - parent: 1 - - uid: 17 - components: - - type: Transform - pos: -2.5,-4.5 - parent: 1 - - uid: 21 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,1.5 - parent: 1 - - uid: 22 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,-5.5 - parent: 1 - - uid: 33 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -0.5,-0.5 - parent: 1 - - uid: 50 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,0.5 - parent: 1 - - uid: 51 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,-0.5 - parent: 1 - - uid: 56 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,0.5 - parent: 1 - - uid: 57 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,-4.5 - parent: 1 - - uid: 63 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,-3.5 - parent: 1 - - uid: 64 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,-0.5 - parent: 1 - - uid: 65 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,-1.5 - parent: 1 - - uid: 74 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,-4.5 - parent: 1 - - uid: 75 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,0.5 - parent: 1 - - uid: 78 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,-5.5 - parent: 1 - - uid: 79 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,0.5 - parent: 1 - - uid: 83 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,-2.5 - parent: 1 - - uid: 85 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,-4.5 - parent: 1 - - uid: 87 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,1.5 - parent: 1 - - uid: 99 - components: - - type: Transform - pos: -0.5,-4.5 - parent: 1 - - uid: 100 - components: - - type: Transform - pos: -0.5,-3.5 - parent: 1 - - uid: 101 - components: - - type: Transform - pos: -0.5,-2.5 - parent: 1 - - uid: 111 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 0.5,-4.5 - parent: 1 - - uid: 117 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -0.5,-1.5 - parent: 1 -- proto: WallReinforcedDiagonal - entities: - - uid: 2 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-4.5 - parent: 1 - - uid: 52 - components: - - type: Transform - pos: -3.5,0.5 - parent: 1 -- proto: WeaponTurretPinhole - entities: - - uid: 14 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,-4.5 - parent: 1 - - uid: 39 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,6.5 - parent: 1 -- proto: WeaponTurretShard - entities: - - uid: 5 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,-1.5 - parent: 1 - - uid: 71 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,0.5 - parent: 1 - - uid: 73 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,2.5 - parent: 1 -... diff --git a/Resources/Maps/_Mono/Shuttles/World/needle.yml b/Resources/Maps/_Mono/Shuttles/World/needle.yml deleted file mode 100644 index 321ae5cab5e..00000000000 --- a/Resources/Maps/_Mono/Shuttles/World/needle.yml +++ /dev/null @@ -1,549 +0,0 @@ -meta: - format: 7 - category: Grid - engineVersion: 264.0.0 - forkId: "" - forkVersion: "" - time: 12/07/2025 13:53:18 - entityCount: 83 -maps: [] -grids: -- 1 -orphans: -- 1 -nullspace: [] -tilemap: - 3: Space - 0: FloorHullReinforced - 1: FloorReinforced - 7: Plating - 6: PlatingCornerNE - 2: PlatingCornerNW - 5: PlatingCornerSE - 4: PlatingCornerSW -entities: -- proto: "" - entities: - - uid: 1 - components: - - type: MetaData - name: grid - - type: Transform - pos: -0.4330263,-0.45535707 - parent: invalid - - type: MapGrid - chunks: - 0,0: - ind: 0,0 - tiles: AAAAAAAAAAEAAAAAAAACAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAQAAAAAAAAFAAAAAAAAAQAAAAAAAAAAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAAEAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAAEAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - 0,-1: - ind: 0,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,0: - ind: -1,0 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAYAAAAAAAABAAAAAAAAAAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAYAAAAAAAABAAAAAAAAAQAAAAAAAAcAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAYAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAAAAAAAAAAAQAAAAAAAAQAAAAAAAAFAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABQAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAFAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAABQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,-1: - ind: -1,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAGAAAAAAAAAAAAAAAAAA== - 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: GridPathfinding - - type: Gravity - gravityShakeSound: !type:SoundPathSpecifier - path: /Audio/Effects/alert.ogg - - type: DecalGrid - chunkCollection: - version: 2 - nodes: [] - - type: GridAtmosphere - version: 2 - data: - chunkSize: 4 - - type: GasTileOverlay - - type: ShipGridLock - locked: False - - type: RadiationGridResistance -- proto: AmeShielding - entities: - - uid: 5 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -1.5,1.5 - parent: 1 - - uid: 6 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 10 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,1.5 - parent: 1 -- proto: APCHyperCapacity - entities: - - uid: 14 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,1.5 - parent: 1 -- proto: CableApcExtension - entities: - - uid: 73 - components: - - type: Transform - pos: 1.5,1.5 - parent: 1 - - uid: 74 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 - - uid: 75 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 76 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 - - uid: 77 - components: - - type: Transform - pos: -2.5,1.5 - parent: 1 - - uid: 78 - components: - - type: Transform - pos: -2.5,2.5 - parent: 1 - - uid: 79 - components: - - type: Transform - pos: -3.5,2.5 - parent: 1 - - uid: 80 - components: - - type: Transform - pos: 2.5,1.5 - parent: 1 - - uid: 81 - components: - - type: Transform - pos: 2.5,2.5 - parent: 1 - - uid: 82 - components: - - type: Transform - pos: 3.5,2.5 - parent: 1 -- proto: CableHV - entities: - - uid: 61 - components: - - type: Transform - pos: -1.5,2.5 - parent: 1 - - uid: 62 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 - - uid: 63 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 64 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 - - uid: 65 - components: - - type: Transform - pos: -2.5,1.5 - parent: 1 - - uid: 66 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 -- proto: CableMV - entities: - - uid: 67 - components: - - type: Transform - pos: -2.5,1.5 - parent: 1 - - uid: 68 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 - - uid: 69 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 70 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 - - uid: 71 - components: - - type: Transform - pos: 1.5,1.5 - parent: 1 - - uid: 72 - components: - - type: Transform - pos: 2.5,1.5 - parent: 1 -- proto: ClothingBackpackDroneLootT1 - entities: - - uid: 83 - components: - - type: Transform - pos: -0.32051992,1.9911213 - parent: 1 -- proto: DebugThruster - entities: - - uid: 7 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,3.5 - parent: 1 - - uid: 8 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,3.5 - parent: 1 -- proto: GeneratorWallmountAPU - entities: - - uid: 12 - components: - - type: Transform - pos: -1.5,2.5 - parent: 1 - - uid: 13 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 -- proto: Gyroscope - entities: - - uid: 2 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,1.5 - parent: 1 -- proto: SpawnMobRammerCore - entities: - - uid: 9 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 -- proto: SubstationWallBasic - entities: - - uid: 11 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,1.5 - parent: 1 -- proto: ThrusterLarge - entities: - - uid: 17 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-0.5 - parent: 1 -- proto: UraniumReinforcedWindowDirectional - entities: - - uid: 4 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 16 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 -- proto: WallPlastitanium - entities: - - uid: 31 - components: - - type: Transform - pos: -0.5,4.5 - parent: 1 - - uid: 32 - components: - - type: Transform - pos: -0.5,7.5 - parent: 1 - - uid: 48 - components: - - type: Transform - pos: 0.5,4.5 - parent: 1 - - uid: 49 - components: - - type: Transform - pos: 0.5,5.5 - parent: 1 - - uid: 51 - components: - - type: Transform - pos: -0.5,5.5 - parent: 1 - - uid: 52 - components: - - type: Transform - pos: -0.5,6.5 - parent: 1 - - uid: 54 - components: - - type: Transform - pos: 0.5,6.5 - parent: 1 - - uid: 55 - components: - - type: Transform - pos: -0.5,8.5 - parent: 1 - - uid: 56 - components: - - type: Transform - pos: 0.5,8.5 - parent: 1 - - uid: 58 - components: - - type: Transform - pos: 0.5,7.5 - parent: 1 -- proto: WallPlastitaniumDiagonal - entities: - - uid: 50 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,9.5 - parent: 1 - - uid: 57 - components: - - type: Transform - pos: -0.5,9.5 - parent: 1 -- proto: WallReinforced - entities: - - uid: 33 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,3.5 - parent: 1 - - uid: 34 - components: - - type: Transform - pos: -1.5,0.5 - parent: 1 - - uid: 35 - components: - - type: Transform - pos: -2.5,1.5 - parent: 1 - - uid: 36 - components: - - type: Transform - pos: -3.5,2.5 - parent: 1 - - uid: 37 - components: - - type: Transform - pos: -2.5,2.5 - parent: 1 - - uid: 38 - components: - - type: Transform - pos: -3.5,3.5 - parent: 1 - - uid: 39 - components: - - type: Transform - pos: -3.5,4.5 - parent: 1 - - uid: 40 - components: - - type: Transform - pos: 1.5,0.5 - parent: 1 - - uid: 41 - components: - - type: Transform - pos: 2.5,1.5 - parent: 1 - - uid: 42 - components: - - type: Transform - pos: 3.5,2.5 - parent: 1 - - uid: 43 - components: - - type: Transform - pos: 2.5,2.5 - parent: 1 - - uid: 44 - components: - - type: Transform - pos: 3.5,3.5 - parent: 1 - - uid: 45 - components: - - type: Transform - pos: 3.5,4.5 - parent: 1 - - uid: 53 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,3.5 - parent: 1 - - uid: 59 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -1.5,2.5 - parent: 1 - - uid: 60 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,2.5 - parent: 1 -- proto: WallReinforcedDiagonal - entities: - - uid: 3 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,2.5 - parent: 1 - - uid: 15 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-0.5 - parent: 1 - - uid: 18 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,0.5 - parent: 1 - - uid: 19 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,1.5 - parent: 1 - - uid: 20 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,0.5 - parent: 1 - - uid: 21 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,2.5 - parent: 1 - - uid: 22 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,4.5 - parent: 1 - - uid: 23 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,5.5 - parent: 1 - - uid: 24 - components: - - type: Transform - pos: -3.5,5.5 - parent: 1 - - uid: 25 - components: - - type: Transform - pos: -4.5,4.5 - parent: 1 - - uid: 26 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,2.5 - parent: 1 - - uid: 27 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,1.5 - parent: 1 - - uid: 28 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,-0.5 - parent: 1 - - uid: 29 - components: - - type: Transform - pos: -1.5,3.5 - parent: 1 - - uid: 30 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,3.5 - parent: 1 - - uid: 46 - components: - - type: Transform - pos: 2.5,3.5 - parent: 1 - - uid: 47 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -2.5,3.5 - parent: 1 -... diff --git a/Resources/Maps/_Mono/Shuttles/World/ramdronesmall.yml b/Resources/Maps/_Mono/Shuttles/World/ramdronesmall.yml deleted file mode 100644 index 5e21e9121f8..00000000000 --- a/Resources/Maps/_Mono/Shuttles/World/ramdronesmall.yml +++ /dev/null @@ -1,603 +0,0 @@ -meta: - format: 7 - category: Grid - engineVersion: 264.0.0 - forkId: "" - forkVersion: "" - time: 12/16/2025 22:01:27 - entityCount: 89 -maps: [] -grids: -- 1 -orphans: -- 1 -nullspace: [] -tilemap: - 1: Space - 3: FloorXenoSteelCorner - 0: Plating - 5: PlatingCornerNE - 2: PlatingCornerNW - 6: PlatingCornerSE - 4: PlatingCornerSW -entities: -- proto: "" - entities: - - uid: 1 - components: - - type: MetaData - name: grid - - type: Transform - pos: -0.76336694,0.87232673 - parent: invalid - - type: MapGrid - chunks: - 0,0: - ind: 0,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAADAAAAAAACAwAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAA== - version: 7 - -1,0: - ind: -1,0 - tiles: AQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAABgAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAA== - 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: GridPathfinding - - type: Gravity - gravityShakeSound: !type:SoundPathSpecifier - path: /Audio/Effects/alert.ogg - - type: DecalGrid - chunkCollection: - version: 2 - nodes: - - node: - color: '#FFFFFFFF' - id: TechNW - decals: - 0: 0,3 - - node: - angle: 1.5707963267948966 rad - color: '#FFFFFFFF' - id: TechNW - decals: - 1: 0,2 - - node: - angle: 3.141592653589793 rad - color: '#FFFFFFFF' - id: TechNW - decals: - 2: 1,2 - - node: - angle: 4.71238898038469 rad - color: '#FFFFFFFF' - id: TechNW - decals: - 3: 1,3 - - type: GridAtmosphere - version: 2 - data: - tiles: - 0,0: - 0: 13186 - 0,1: - 0: 72 - 1,0: - 0: 8192 - -1,0: - 0: 544 - -1,1: - 0: 4 - uniqueMixes: - - volume: 2500 - temperature: 293.15 - moles: - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - chunkSize: 4 - - type: GasTileOverlay - - type: RadiationGridResistance -- proto: AmeShielding - entities: - - uid: 38 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 -- proto: APCBasic - entities: - - uid: 67 - components: - - type: Transform - pos: 4.5,2.5 - parent: 1 -- proto: AtmosFixBlockerMarker - entities: - - uid: 76 - components: - - type: Transform - pos: 0.5,3.5 - parent: 1 - - uid: 77 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 80 - components: - - type: Transform - pos: 1.5,3.5 - parent: 1 - - uid: 81 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 - - uid: 82 - components: - - type: Transform - pos: -2.5,2.5 - parent: 1 - - uid: 83 - components: - - type: Transform - pos: -1.5,4.5 - parent: 1 - - uid: 84 - components: - - type: Transform - pos: -2.5,1.5 - parent: 1 - - uid: 85 - components: - - type: Transform - pos: 1.5,0.5 - parent: 1 - - uid: 86 - components: - - type: Transform - pos: 3.5,1.5 - parent: 1 - - uid: 87 - components: - - type: Transform - pos: 5.5,3.5 - parent: 1 - - uid: 88 - components: - - type: Transform - pos: 2.5,5.5 - parent: 1 - - uid: 89 - components: - - type: Transform - pos: 3.5,4.5 - parent: 1 -- proto: AtmosFixShuttlePlasmaMarker - entities: - - uid: 79 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 -- proto: CableApcExtension - entities: - - uid: 40 - components: - - type: Transform - pos: 0.5,3.5 - parent: 1 - - uid: 41 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 42 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 - - uid: 43 - components: - - type: Transform - pos: 1.5,3.5 - parent: 1 - - uid: 44 - components: - - type: Transform - pos: 2.5,3.5 - parent: 1 - - uid: 45 - components: - - type: Transform - pos: 3.5,3.5 - parent: 1 - - uid: 46 - components: - - type: Transform - pos: 4.5,3.5 - parent: 1 - - uid: 47 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 - - uid: 48 - components: - - type: Transform - pos: -1.5,2.5 - parent: 1 - - uid: 49 - components: - - type: Transform - pos: 1.5,1.5 - parent: 1 - - uid: 50 - components: - - type: Transform - pos: 0.5,4.5 - parent: 1 - - uid: 51 - components: - - type: Transform - pos: 0.5,5.5 - parent: 1 - - uid: 74 - components: - - type: Transform - pos: 4.5,2.5 - parent: 1 -- proto: CableHV - entities: - - uid: 55 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 - - uid: 56 - components: - - type: Transform - pos: -1.5,2.5 - parent: 1 - - uid: 57 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 - - uid: 58 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 59 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 - - uid: 60 - components: - - type: Transform - pos: 2.5,2.5 - parent: 1 - - uid: 61 - components: - - type: Transform - pos: 2.5,1.5 - parent: 1 - - uid: 62 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 - - uid: 63 - components: - - type: Transform - pos: 1.5,3.5 - parent: 1 - - uid: 64 - components: - - type: Transform - pos: 1.5,4.5 - parent: 1 - - uid: 65 - components: - - type: Transform - pos: 1.5,5.5 - parent: 1 - - uid: 66 - components: - - type: Transform - pos: 0.5,3.5 - parent: 1 -- proto: CableMV - entities: - - uid: 68 - components: - - type: Transform - pos: 4.5,2.5 - parent: 1 - - uid: 69 - components: - - type: Transform - pos: 4.5,3.5 - parent: 1 - - uid: 70 - components: - - type: Transform - pos: 3.5,3.5 - parent: 1 - - uid: 71 - components: - - type: Transform - pos: 2.5,3.5 - parent: 1 - - uid: 72 - components: - - type: Transform - pos: 1.5,3.5 - parent: 1 - - uid: 73 - components: - - type: Transform - pos: 0.5,3.5 - parent: 1 -- proto: ClothingBackpackDroneLootT1 - entities: - - uid: 75 - components: - - type: Transform - pos: 1.4334869,3.4835243 - parent: 1 -- proto: GeneratorWallmountAPU - entities: - - uid: 52 - components: - - type: Transform - pos: 1.5,5.5 - parent: 1 - - uid: 53 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 - - uid: 54 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 -- proto: SmallGyroscopeSecurity - entities: - - uid: 36 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,3.5 - parent: 1 -- proto: SpawnMobRammerCore - entities: - - uid: 37 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 -- proto: SubstationBasic - entities: - - uid: 39 - components: - - type: Transform - pos: 0.5,3.5 - parent: 1 -- proto: ThrusterSecurity - entities: - - uid: 32 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,0.5 - parent: 1 - - uid: 33 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,2.5 - parent: 1 - - uid: 34 - components: - - type: Transform - pos: 3.5,4.5 - parent: 1 - - uid: 35 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,3.5 - parent: 1 -- proto: WallReinforced - entities: - - uid: 2 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 - - uid: 17 - components: - - type: Transform - pos: -2.5,3.5 - parent: 1 - - uid: 18 - components: - - type: Transform - pos: -1.5,3.5 - parent: 1 - - uid: 19 - components: - - type: Transform - pos: -0.5,4.5 - parent: 1 - - uid: 20 - components: - - type: Transform - pos: 1.5,5.5 - parent: 1 - - uid: 21 - components: - - type: Transform - pos: 2.5,4.5 - parent: 1 - - uid: 23 - components: - - type: Transform - pos: 4.5,4.5 - parent: 1 - - uid: 24 - components: - - type: Transform - pos: 4.5,3.5 - parent: 1 - - uid: 25 - components: - - type: Transform - pos: 4.5,2.5 - parent: 1 - - uid: 26 - components: - - type: Transform - pos: 5.5,2.5 - parent: 1 - - uid: 28 - components: - - type: Transform - pos: 3.5,2.5 - parent: 1 - - uid: 29 - components: - - type: Transform - pos: 2.5,1.5 - parent: 1 - - uid: 30 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 -- proto: WallReinforcedChitin - entities: - - uid: 3 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - uid: 4 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 - - uid: 5 - components: - - type: Transform - pos: 1.5,1.5 - parent: 1 - - uid: 7 - components: - - type: Transform - pos: 1.5,4.5 - parent: 1 - - uid: 8 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 - - uid: 9 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 10 - components: - - type: Transform - pos: -0.5,3.5 - parent: 1 - - uid: 11 - components: - - type: Transform - pos: 0.5,4.5 - parent: 1 - - uid: 12 - components: - - type: Transform - pos: 0.5,5.5 - parent: 1 - - uid: 13 - components: - - type: Transform - pos: 2.5,2.5 - parent: 1 - - uid: 14 - components: - - type: Transform - pos: 2.5,3.5 - parent: 1 - - uid: 15 - components: - - type: Transform - pos: 3.5,3.5 - parent: 1 - - uid: 16 - components: - - type: Transform - pos: -1.5,2.5 - parent: 1 -- proto: WallReinforcedDiagonal - entities: - - uid: 6 - components: - - type: Transform - pos: -1.5,4.5 - parent: 1 - - uid: 22 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,1.5 - parent: 1 - - uid: 27 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,1.5 - parent: 1 - - uid: 31 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,5.5 - parent: 1 -- proto: WarpPoint - entities: - - uid: 78 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 -... diff --git a/Resources/Maps/_Mono/Shuttles/World/wasp.yml b/Resources/Maps/_Mono/Shuttles/World/wasp.yml deleted file mode 100644 index c4e1e06390e..00000000000 --- a/Resources/Maps/_Mono/Shuttles/World/wasp.yml +++ /dev/null @@ -1,688 +0,0 @@ -meta: - format: 7 - category: Grid - engineVersion: 264.0.0 - forkId: "" - forkVersion: "" - time: 12/17/2025 15:47:50 - entityCount: 106 -maps: [] -grids: -- 1 -orphans: -- 1 -nullspace: [] -tilemap: - 3: Space - 0: FloorRedCircuit - 11: Lattice - 5: LatticeCornerNE - 6: LatticeCornerNW - 9: LatticeCornerSE - 2: LatticeCornerSW - 1: Plating - 7: PlatingCornerNE - 8: PlatingCornerNW - 10: PlatingCornerSE - 4: PlatingCornerSW -entities: -- proto: "" - entities: - - uid: 1 - components: - - type: MetaData - name: grid - - type: Transform - pos: -1.728016,-0.4375 - parent: invalid - - type: MapGrid - chunks: - 0,0: - ind: 0,0 - tiles: AAAAAAAAAAAAAAAAAAABAAAAAAAACwAAAAAAAAQAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAABAAAAAAAABAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAQAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - 0,-1: - ind: 0,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAGAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAALAAAAAAAAAQAAAAAAAAMAAAAAAAAFAAAAAAAACAAAAAAAAAgAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAEAAAAAAAAFAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAACAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAEAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,0: - ind: -1,0 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACgAAAAAAAAsAAAAAAAABAAAAAAAAAAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACgAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,-1: - ind: -1,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAUAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAcAAAAAAAAHAAAAAAAABgAAAAAAAAMAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAcAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAJAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAkAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAKAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAA== - 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: GridPathfinding - - type: Gravity - gravityShakeSound: !type:SoundPathSpecifier - path: /Audio/Effects/alert.ogg - - type: DecalGrid - chunkCollection: - version: 2 - nodes: [] - - type: GridAtmosphere - version: 2 - data: - chunkSize: 4 - - type: GasTileOverlay - - type: RadiationGridResistance -- proto: APCBasic - entities: - - uid: 76 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 -- proto: CableApcExtension - entities: - - uid: 80 - components: - - type: Transform - pos: -1.5,-2.5 - parent: 1 - - uid: 81 - components: - - type: Transform - pos: -1.5,-1.5 - parent: 1 - - uid: 82 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 - - uid: 83 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 - - uid: 84 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 85 - components: - - type: Transform - pos: 2.5,-1.5 - parent: 1 - - uid: 86 - components: - - type: Transform - pos: -1.5,-3.5 - parent: 1 - - uid: 101 - components: - - type: Transform - pos: -2.5,-3.5 - parent: 1 - - uid: 102 - components: - - type: Transform - pos: 2.5,-2.5 - parent: 1 - - uid: 103 - components: - - type: Transform - pos: 2.5,-3.5 - parent: 1 - - uid: 104 - components: - - type: Transform - pos: 3.5,-3.5 - parent: 1 - - uid: 105 - components: - - type: Transform - pos: 0.5,-2.5 - parent: 1 - - uid: 106 - components: - - type: Transform - pos: 0.5,-3.5 - parent: 1 -- proto: CableHV - entities: - - uid: 73 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - uid: 74 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 - - uid: 75 - components: - - type: Transform - pos: 1.5,-0.5 - parent: 1 - - uid: 92 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 - - uid: 93 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 94 - components: - - type: Transform - pos: -0.5,-0.5 - parent: 1 -- proto: CableMV - entities: - - uid: 77 - components: - - type: Transform - pos: 1.5,-0.5 - parent: 1 - - uid: 78 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 - - uid: 79 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 -- proto: ClothingBackpackDroneLootT21 - entities: - - uid: 87 - components: - - type: Transform - pos: -0.24633491,0.32463592 - parent: 1 -- proto: GeneratorRTG - entities: - - uid: 72 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 -- proto: GeneratorWallmountAPU - entities: - - uid: 90 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 - - uid: 91 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 -- proto: Grille - entities: - - uid: 41 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,0.5 - parent: 1 - - uid: 44 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,0.5 - parent: 1 -- proto: GrilleDiagonal - entities: - - uid: 24 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-5.5 - parent: 1 - - uid: 25 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-4.5 - parent: 1 - - uid: 26 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-3.5 - parent: 1 - - uid: 28 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-1.5 - parent: 1 - - uid: 29 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-2.5 - parent: 1 - - uid: 31 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,-3.5 - parent: 1 - - uid: 33 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -0.5,-5.5 - parent: 1 - - uid: 40 - components: - - type: Transform - pos: -4.5,-1.5 - parent: 1 - - uid: 46 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 3.5,-4.5 - parent: 1 - - uid: 95 - components: - - type: Transform - pos: -5.5,-2.5 - parent: 1 - - uid: 98 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,-3.5 - parent: 1 - - uid: 99 - components: - - type: Transform - pos: -0.5,-3.5 - parent: 1 -- proto: Gyroscope - entities: - - uid: 37 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,-0.5 - parent: 1 -- proto: SpawnMobRammerCoreSmartDodging - entities: - - uid: 48 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 -- proto: SubstationBasic - entities: - - uid: 62 - components: - - type: Transform - pos: 1.5,-0.5 - parent: 1 -- proto: Thruster - entities: - - uid: 4 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-3.5 - parent: 1 - - uid: 5 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-3.5 - parent: 1 - - uid: 7 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,-2.5 - parent: 1 - - uid: 10 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-2.5 - parent: 1 - - uid: 11 - components: - - type: Transform - pos: -2.5,-0.5 - parent: 1 - - uid: 12 - components: - - type: Transform - pos: 3.5,-0.5 - parent: 1 - - uid: 32 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-2.5 - parent: 1 - - uid: 47 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-1.5 - parent: 1 - - uid: 49 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-3.5 - parent: 1 - - uid: 56 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-1.5 - parent: 1 - - uid: 58 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-4.5 - parent: 1 - - uid: 60 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-4.5 - parent: 1 - - uid: 70 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-2.5 - parent: 1 -- proto: WallPlastitanium - entities: - - uid: 8 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 9 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-0.5 - parent: 1 - - uid: 17 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 - - uid: 18 - components: - - type: Transform - pos: 1.5,1.5 - parent: 1 - - uid: 19 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-0.5 - parent: 1 - - uid: 27 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,2.5 - parent: 1 - - uid: 34 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 - - uid: 38 - components: - - type: Transform - pos: -2.5,-1.5 - parent: 1 - - uid: 39 - components: - - type: Transform - pos: 2.5,-1.5 - parent: 1 - - uid: 42 - components: - - type: Transform - pos: -1.5,-1.5 - parent: 1 - - uid: 43 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 - - uid: 45 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 50 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 52 - components: - - type: Transform - pos: -2.5,-2.5 - parent: 1 - - uid: 53 - components: - - type: Transform - pos: -1.5,-0.5 - parent: 1 - - uid: 54 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 - - uid: 57 - components: - - type: Transform - pos: 2.5,-0.5 - parent: 1 - - uid: 59 - components: - - type: Transform - pos: 4.5,-2.5 - parent: 1 - - uid: 61 - components: - - type: Transform - pos: 3.5,-1.5 - parent: 1 - - uid: 63 - components: - - type: Transform - pos: -3.5,-2.5 - parent: 1 - - uid: 67 - components: - - type: Transform - pos: -1.5,0.5 - parent: 1 - - uid: 69 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,2.5 - parent: 1 - - uid: 71 - components: - - type: Transform - pos: 3.5,-2.5 - parent: 1 -- proto: WallPlastitaniumDiagonal - entities: - - uid: 13 - components: - - type: Transform - pos: -4.5,-0.5 - parent: 1 - - uid: 14 - components: - - type: Transform - pos: -3.5,0.5 - parent: 1 - - uid: 15 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,0.5 - parent: 1 - - uid: 16 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-0.5 - parent: 1 - - uid: 51 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,0.5 - parent: 1 - - uid: 55 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,0.5 - parent: 1 - - uid: 64 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,1.5 - parent: 1 - - uid: 65 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 - - uid: 68 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,3.5 - parent: 1 - - uid: 88 - components: - - type: Transform - pos: -0.5,3.5 - parent: 1 -- proto: WallReinforced - entities: - - uid: 2 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,-2.5 - parent: 1 - - uid: 3 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,-2.5 - parent: 1 - - uid: 20 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -3.5,-3.5 - parent: 1 - - uid: 21 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -4.5,-3.5 - parent: 1 - - uid: 22 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-3.5 - parent: 1 - - uid: 97 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,-2.5 - parent: 1 - - uid: 100 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-3.5 - parent: 1 -- proto: WallReinforcedDiagonal - entities: - - uid: 6 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,-3.5 - parent: 1 - - uid: 23 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,-3.5 - parent: 1 - - uid: 30 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-4.5 - parent: 1 - - uid: 35 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 6.5,-3.5 - parent: 1 - - uid: 36 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-4.5 - parent: 1 - - uid: 66 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 5.5,-4.5 - parent: 1 - - uid: 89 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,-4.5 - parent: 1 - - uid: 96 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-3.5 - parent: 1 -... diff --git a/Resources/Maps/_Mono/Shuttles/World/wedge.yml b/Resources/Maps/_Mono/Shuttles/World/wedge.yml deleted file mode 100644 index 2fbccaf4435..00000000000 --- a/Resources/Maps/_Mono/Shuttles/World/wedge.yml +++ /dev/null @@ -1,663 +0,0 @@ -meta: - format: 7 - category: Grid - engineVersion: 264.0.0 - forkId: "" - forkVersion: "" - time: 12/07/2025 13:12:32 - entityCount: 105 -maps: [] -grids: -- 1 -orphans: -- 1 -nullspace: [] -tilemap: - 3: Space - 0: FloorRedCircuit - 5: LatticeCornerNE - 6: LatticeCornerNW - 9: LatticeCornerSE - 2: LatticeCornerSW - 1: Plating - 7: PlatingCornerNE - 8: PlatingCornerNW - 10: PlatingCornerSE - 4: PlatingCornerSW -entities: -- proto: "" - entities: - - uid: 1 - components: - - type: MetaData - name: grid - - type: Transform - pos: -1.728016,-0.4375 - parent: invalid - - type: MapGrid - chunks: - 0,0: - ind: 0,0 - tiles: AAAAAAAAAAAAAAAAAAABAAAAAAAAAgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAABAAAAAAAABAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAAEAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - 0,-1: - ind: 0,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAFAAAAAAAABgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAFAAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAEAAAAAAAAIAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAAIAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,0: - ind: -1,0 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAkAAAAAAAABAAAAAAAAAAAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACgAAAAAAAAEAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAQAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAoAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAA== - version: 7 - -1,-1: - ind: -1,-1 - tiles: AwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAFAAAAAAAABgAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAFAAAAAAAAAQAAAAAAAAEAAAAAAAAGAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAJAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAcAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAkAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAACQAAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAA== - 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: GridPathfinding - - type: Gravity - gravityShakeSound: !type:SoundPathSpecifier - path: /Audio/Effects/alert.ogg - - type: DecalGrid - chunkCollection: - version: 2 - nodes: [] - - type: GridAtmosphere - version: 2 - data: - chunkSize: 4 - - type: GasTileOverlay - - type: RadiationGridResistance -- proto: APCBasic - entities: - - uid: 76 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 -- proto: CableApcExtension - entities: - - uid: 80 - components: - - type: Transform - pos: -1.5,-2.5 - parent: 1 - - uid: 81 - components: - - type: Transform - pos: -1.5,-1.5 - parent: 1 - - uid: 82 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 - - uid: 83 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 - - uid: 84 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 85 - components: - - type: Transform - pos: 2.5,-1.5 - parent: 1 - - uid: 86 - components: - - type: Transform - pos: -1.5,-3.5 - parent: 1 - - uid: 101 - components: - - type: Transform - pos: -2.5,-3.5 - parent: 1 - - uid: 102 - components: - - type: Transform - pos: 2.5,-2.5 - parent: 1 - - uid: 103 - components: - - type: Transform - pos: 2.5,-3.5 - parent: 1 - - uid: 104 - components: - - type: Transform - pos: 3.5,-3.5 - parent: 1 - - uid: 105 - components: - - type: Transform - pos: 0.5,-2.5 - parent: 1 -- proto: CableHV - entities: - - uid: 73 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 - - uid: 74 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 - - uid: 75 - components: - - type: Transform - pos: 1.5,-0.5 - parent: 1 - - uid: 92 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 - - uid: 93 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 94 - components: - - type: Transform - pos: -0.5,-0.5 - parent: 1 -- proto: CableMV - entities: - - uid: 77 - components: - - type: Transform - pos: 1.5,-0.5 - parent: 1 - - uid: 78 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 - - uid: 79 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 -- proto: Catwalk - entities: - - uid: 13 - components: - - type: Transform - pos: -4.5,-2.5 - parent: 1 - - uid: 14 - components: - - type: Transform - pos: -3.5,-3.5 - parent: 1 - - uid: 15 - components: - - type: Transform - pos: -2.5,-3.5 - parent: 1 - - uid: 16 - components: - - type: Transform - pos: -2.5,-0.5 - parent: 1 - - uid: 19 - components: - - type: Transform - pos: 3.5,-0.5 - parent: 1 - - uid: 20 - components: - - type: Transform - pos: 3.5,-3.5 - parent: 1 - - uid: 21 - components: - - type: Transform - pos: 4.5,-3.5 - parent: 1 - - uid: 22 - components: - - type: Transform - pos: 5.5,-2.5 - parent: 1 - - uid: 88 - components: - - type: Transform - pos: -3.5,-1.5 - parent: 1 - - uid: 89 - components: - - type: Transform - pos: 4.5,-1.5 - parent: 1 - - uid: 98 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 0.5,-2.5 - parent: 1 - - uid: 99 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,-2.5 - parent: 1 - - uid: 100 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,-2.5 - parent: 1 -- proto: ClothingBackpackDroneLootT1 - entities: - - uid: 87 - components: - - type: Transform - pos: -0.24633491,0.32463592 - parent: 1 -- proto: GeneratorRTG - entities: - - uid: 72 - components: - - type: Transform - pos: 0.5,0.5 - parent: 1 -- proto: GeneratorWallmountAPU - entities: - - uid: 90 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 - - uid: 91 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 -- proto: GrilleDiagonal - entities: - - uid: 23 - components: - - type: Transform - pos: -5.5,-2.5 - parent: 1 - - uid: 24 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-4.5 - parent: 1 - - uid: 25 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-4.5 - parent: 1 - - uid: 26 - components: - - type: Transform - pos: -2.5,0.5 - parent: 1 - - uid: 27 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 3.5,-4.5 - parent: 1 - - uid: 28 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-4.5 - parent: 1 - - uid: 29 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-2.5 - parent: 1 - - uid: 30 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,0.5 - parent: 1 - - uid: 31 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-3.5 - parent: 1 - - uid: 33 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,-3.5 - parent: 1 - - uid: 35 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-1.5 - parent: 1 - - uid: 36 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-0.5 - parent: 1 - - uid: 41 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 5.5,-3.5 - parent: 1 - - uid: 46 - components: - - type: Transform - pos: -3.5,-0.5 - parent: 1 - - uid: 48 - components: - - type: Transform - pos: -4.5,-1.5 - parent: 1 - - uid: 66 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,-3.5 - parent: 1 -- proto: Gyroscope - entities: - - uid: 37 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,-0.5 - parent: 1 -- proto: SpawnMobRammerCore - entities: - - uid: 2 - components: - - type: Transform - pos: 0.5,-0.5 - parent: 1 -- proto: SubstationBasic - entities: - - uid: 62 - components: - - type: Transform - pos: 1.5,-0.5 - parent: 1 -- proto: Thruster - entities: - - uid: 3 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,-3.5 - parent: 1 - - uid: 4 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-3.5 - parent: 1 - - uid: 5 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-3.5 - parent: 1 - - uid: 6 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-3.5 - parent: 1 - - uid: 7 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,-2.5 - parent: 1 - - uid: 10 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-2.5 - parent: 1 - - uid: 11 - components: - - type: Transform - pos: -2.5,-0.5 - parent: 1 - - uid: 12 - components: - - type: Transform - pos: 3.5,-0.5 - parent: 1 - - uid: 32 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-2.5 - parent: 1 - - uid: 47 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-1.5 - parent: 1 - - uid: 49 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-2.5 - parent: 1 - - uid: 56 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,-1.5 - parent: 1 - - uid: 70 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-2.5 - parent: 1 -- proto: WallPlastitanium - entities: - - uid: 8 - components: - - type: Transform - pos: -0.5,1.5 - parent: 1 - - uid: 9 - components: - - type: Transform - pos: -0.5,3.5 - parent: 1 - - uid: 17 - components: - - type: Transform - pos: -0.5,-1.5 - parent: 1 - - uid: 18 - components: - - type: Transform - pos: 1.5,1.5 - parent: 1 - - uid: 34 - components: - - type: Transform - pos: 0.5,1.5 - parent: 1 - - uid: 38 - components: - - type: Transform - pos: -2.5,-1.5 - parent: 1 - - uid: 39 - components: - - type: Transform - pos: 2.5,-1.5 - parent: 1 - - uid: 40 - components: - - type: Transform - pos: 1.5,2.5 - parent: 1 - - uid: 42 - components: - - type: Transform - pos: -1.5,-1.5 - parent: 1 - - uid: 43 - components: - - type: Transform - pos: 0.5,-1.5 - parent: 1 - - uid: 44 - components: - - type: Transform - pos: -0.5,2.5 - parent: 1 - - uid: 45 - components: - - type: Transform - pos: 0.5,2.5 - parent: 1 - - uid: 50 - components: - - type: Transform - pos: 1.5,-1.5 - parent: 1 - - uid: 52 - components: - - type: Transform - pos: -2.5,-2.5 - parent: 1 - - uid: 53 - components: - - type: Transform - pos: -1.5,-0.5 - parent: 1 - - uid: 54 - components: - - type: Transform - pos: 2.5,0.5 - parent: 1 - - uid: 57 - components: - - type: Transform - pos: 2.5,-0.5 - parent: 1 - - uid: 59 - components: - - type: Transform - pos: 4.5,-2.5 - parent: 1 - - uid: 61 - components: - - type: Transform - pos: 3.5,-1.5 - parent: 1 - - uid: 63 - components: - - type: Transform - pos: -3.5,-2.5 - parent: 1 - - uid: 67 - components: - - type: Transform - pos: -1.5,0.5 - parent: 1 - - uid: 68 - components: - - type: Transform - pos: 1.5,3.5 - parent: 1 - - uid: 69 - components: - - type: Transform - pos: 0.5,3.5 - parent: 1 - - uid: 71 - components: - - type: Transform - pos: 3.5,-2.5 - parent: 1 - - uid: 95 - components: - - type: Transform - pos: 0.5,4.5 - parent: 1 -- proto: WallPlastitaniumDiagonal - entities: - - uid: 51 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,0.5 - parent: 1 - - uid: 55 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.5,0.5 - parent: 1 - - uid: 58 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -0.5,-2.5 - parent: 1 - - uid: 60 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-2.5 - parent: 1 - - uid: 64 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,1.5 - parent: 1 - - uid: 65 - components: - - type: Transform - pos: -1.5,1.5 - parent: 1 - - uid: 96 - components: - - type: Transform - pos: -0.5,4.5 - parent: 1 - - uid: 97 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,4.5 - parent: 1 -... diff --git a/Resources/Maps/_NF/Shuttles/Nfsd/arrow.yml b/Resources/Maps/_NF/Shuttles/Nfsd/arrow.yml index 324c410656f..f71ba563228 100644 --- a/Resources/Maps/_NF/Shuttles/Nfsd/arrow.yml +++ b/Resources/Maps/_NF/Shuttles/Nfsd/arrow.yml @@ -1,11 +1,11 @@ meta: format: 7 category: Grid - engineVersion: 264.0.0 + engineVersion: 267.3.0 forkId: "" forkVersion: "" - time: 01/04/2026 16:58:11 - entityCount: 185 + time: 11/12/2025 21:54:53 + entityCount: 189 maps: [] grids: - 1 @@ -13,39 +13,13 @@ orphans: - 1 nullspace: [] tilemap: - 5: Space - 16: Lattice - 15: LatticeCornerNE - 18: LatticeCornerNW - 22: LatticeCornerSE - 19: LatticeCornerSW - 1: LatticeHalfTiltNESLower - 17: LatticeHalfTiltNESUpper - 12: LatticeHalfTiltNWSLower - 21: LatticeHalfTiltNWSUpper - 20: LatticeHalfTiltSENLower - 11: LatticeHalfTiltSENUpper - 14: LatticeHalfTiltSEWLower - 13: LatticeHalfTiltSEWUpper - 6: LatticeHalfTiltSWELower - 7: LatticeHalfTiltSWEUpper - 24: LatticeHalfTiltSWNLower - 2: LatticeHalfTiltSWNUpper - 23: LatticeWedgeN - 8: LatticeWedgeS - 0: Plating - 3: PlatingCornerNE - 10: PlatingCornerNW - 9: PlatingCornerSE - 4: PlatingCornerSW - 29: PlatingHalfTiltSENLower - 30: PlatingHalfTiltSENUpper - 28: PlatingHalfTiltSEWLower - 27: PlatingHalfTiltSEWUpper - 25: PlatingHalfTiltSWELower - 26: PlatingHalfTiltSWEUpper - 31: PlatingHalfTiltSWNLower - 32: PlatingHalfTiltSWNUpper + 0: Space + 3: FloorDark + 38: FloorDarkMono + 2: FloorDarkPlastic + 129: Lattice + 130: Plating + 1: PlatingDamaged entities: - proto: "" entities: @@ -54,29 +28,30 @@ entities: - type: MetaData name: grid - type: Transform - pos: -0.49999905,-0.5 - parent: invalid + pos: -0.53125,-0.4375 - type: MapGrid chunks: 0,0: ind: 0,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAAAAABoAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAAAAAAAAAABAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAA== + tiles: JgAAAAADAAIAAAAAAwADAAAAAAAAggAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAAAAAAQCCAAAAAAAAggAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 - -1,0: - ind: -1,0 - tiles: BQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAABsAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAACQAAAAAAAAAAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAJAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAA== + 0,-1: + ind: 0,-1 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAAAAAAgCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAMAgQAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAACACYAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAAAAAAwAmAAAAAAMAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmAAAAAAAAJgAAAAADACYAAAAAAgAmAAAAAAAAggAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAABACYAAAAAAgAmAAAAAAEAgQAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -1,-1: ind: -1,-1 - tiles: BQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAA8AAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAKAAAAAAAABQAAAAAAAAUAAAAAAAAXAAAAAAAABQAAAAAAAA8AAAAAAAAQAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAHQAAAAAAAAoAAAAAAAAPAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAASAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAB4AAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIEAAAAAAACBAAAAAAAAgQAAAAAAACYAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACCAAAAAAAAJgAAAAAAACYAAAAAAgAmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAgQAAAAAAAIEAAAAAAAAmAAAAAAAAJgAAAAABAA== version: 7 - 0,-1: - ind: 0,-1 - tiles: BQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAEgAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAABAAAAAAAAASAAAAAAAABQAAAAAAABcAAAAAAAAFAAAAAAAABQAAAAAAAAMAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAADwAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAEgAAAAAAAAMAAAAAAAAfAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAIAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAAA== + -1,0: + ind: -1,0 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAIIAAAAAAAADAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAAAAAAAAggAAAAAAAIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 - type: Broadphase - type: Physics bodyStatus: InAir + angularDamping: 0.05 + linearDamping: 0.05 fixedRotation: False bodyType: Dynamic - type: Fixtures @@ -92,729 +67,913 @@ entities: - type: DecalGrid chunkCollection: version: 2 - nodes: [] + nodes: + - node: + color: '#FFFFFFFF' + id: BoxGreyscale + decals: + 1: 2,0 + - node: + color: '#FFFFFFFF' + id: WarnLineW + decals: + 2: -2,-1 + 3: 2,-1 - type: GridAtmosphere version: 2 data: + tiles: + 0,0: + 0: 23 + 1: 128 + 0,-1: + 0: 24369 + 1: 32974 + -1,0: + 0: 12 + 1: 33 + 1,0: + 1: 1 + 1,-1: + 1: 12851 + 0,-2: + 0: 4352 + 1: 25088 + -1,-2: + 1: 51200 + -1,-1: + 1: 12415 + 0: 20096 + -2,-1: + 1: 34952 + 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 + moles: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 chunkSize: 4 - type: GasTileOverlay - type: RadiationGridResistance - - type: NavMap -- proto: APCBasic +- proto: 150mmEmpShell entities: - - uid: 7 + - uid: 181 components: - type: Transform - pos: -1.5,-0.5 + rot: 3.141592653589793 rad + pos: -1.890625,-1.359226 parent: 1 - - uid: 104 + - uid: 182 components: - type: Transform - pos: 2.5,-0.5 + rot: 3.141592653589793 rad + pos: -1.640625,-1.609226 parent: 1 -- proto: CableApcExtension - entities: - - uid: 3 + - uid: 183 components: - type: Transform - pos: -4.5,-2.5 + rot: 3.141592653589793 rad + pos: -1.328125,-1.702976 parent: 1 - - uid: 9 + - uid: 184 components: - type: Transform - pos: 2.5,-2.5 + rot: 3.141592653589793 rad + pos: 2.125,-1.265476 parent: 1 - - uid: 15 + - uid: 185 components: - type: Transform - pos: 0.5,2.5 + rot: 3.141592653589793 rad + pos: 2.4375,-1.452976 parent: 1 - - uid: 16 + - uid: 186 components: - type: Transform - pos: -1.5,1.5 + rot: 3.141592653589793 rad + pos: 2.734375,-1.734226 parent: 1 - - uid: 17 +- proto: AirAlarm + entities: + - uid: 2 components: - type: Transform - pos: -1.5,2.5 + rot: -1.5707963267948966 rad + pos: 3.5,-0.5 parent: 1 - - uid: 18 +- proto: AirCanister + entities: + - uid: 3 components: - type: Transform - pos: 0.5,0.5 + anchored: True + pos: 1.5,-2.5 parent: 1 - - uid: 19 + - type: Physics + bodyType: Static +- proto: AirlockExternalGlass + entities: + - uid: 4 components: - type: Transform - pos: -2.5,1.5 + rot: 3.141592653589793 rad + pos: 0.5,-3.5 parent: 1 - - uid: 20 +- proto: AirlockExternalGlassShuttleSec + entities: + - uid: 75 components: - type: Transform - pos: 1.5,2.5 + pos: 0.5,-5.5 parent: 1 - - uid: 21 +- proto: AirSensor + entities: + - uid: 6 components: - type: Transform - pos: 2.5,2.5 + pos: 0.5,-1.5 parent: 1 - - uid: 22 +- proto: APCBasic + entities: + - uid: 7 components: - type: Transform - pos: -0.5,2.5 + pos: 1.5,-0.5 parent: 1 - - uid: 23 +- proto: AtmosDeviceFanDirectional + entities: + - uid: 170 components: - type: Transform - pos: 3.5,1.5 + anchored: False + pos: -1.5,1.5 parent: 1 - - uid: 24 + - type: Physics + bodyType: Dynamic + - uid: 171 components: - type: Transform - pos: 3.5,0.5 + pos: 2.5,1.5 parent: 1 - - uid: 25 +- proto: AtmosDeviceFanTiny + entities: + - uid: 80 components: - type: Transform - pos: 4.5,0.5 + rot: -1.5707963267948966 rad + pos: 0.5,-5.5 parent: 1 - - uid: 26 +- proto: AtmosFixBlockerMarker + entities: + - uid: 8 components: - type: Transform - pos: 4.5,-0.5 + pos: 2.5,-4.5 parent: 1 - - uid: 27 + - uid: 9 components: - type: Transform - pos: 5.5,-0.5 + pos: -2.5,1.5 parent: 1 - - uid: 28 + - uid: 10 components: - type: Transform - pos: 5.5,-1.5 + pos: -4.5,-0.5 parent: 1 - - uid: 29 + - uid: 11 components: - type: Transform - pos: 6.5,-1.5 + pos: 3.5,1.5 parent: 1 - - uid: 30 + - uid: 12 components: - type: Transform - pos: -2.5,0.5 + pos: 5.5,-0.5 parent: 1 - - uid: 31 + - uid: 15 components: - type: Transform - pos: -3.5,0.5 + pos: -2.5,-3.5 parent: 1 - - uid: 33 + - uid: 16 components: - type: Transform - pos: -4.5,-0.5 + pos: -3.5,-3.5 parent: 1 - - uid: 34 + - uid: 17 components: - type: Transform pos: -4.5,-1.5 parent: 1 - - uid: 35 + - uid: 18 components: - type: Transform - pos: -5.5,-1.5 + pos: 3.5,-3.5 parent: 1 - - uid: 36 + - uid: 19 components: - type: Transform - pos: 0.5,1.5 + pos: 4.5,-3.5 parent: 1 - - uid: 38 + - uid: 20 components: - type: Transform - pos: -0.5,-0.5 + pos: 5.5,-1.5 parent: 1 - - uid: 39 + - uid: 21 components: - type: Transform - pos: -0.5,0.5 + pos: 4.5,0.5 parent: 1 - - uid: 40 + - uid: 22 components: - type: Transform - pos: 2.5,1.5 + pos: -3.5,0.5 parent: 1 - - uid: 41 + - uid: 51 components: - type: Transform - pos: 1.5,0.5 + pos: -1.5,-4.5 parent: 1 - - uid: 42 +- proto: BoxPaper + entities: + - uid: 153 components: - type: Transform - pos: 1.5,-0.5 + pos: 1.6286176,0.44548643 parent: 1 - - uid: 43 +- proto: ButtonFrameCaution + entities: + - uid: 152 components: - type: Transform - pos: 2.5,-0.5 + rot: -1.5707963267948966 rad + pos: 1.5,0.5 parent: 1 - - uid: 44 +- proto: CableApcExtension + entities: + - uid: 24 components: - type: Transform - pos: -1.5,-0.5 + pos: 0.5,-0.5 parent: 1 - - uid: 45 + - uid: 25 components: - type: Transform - pos: -1.5,-1.5 + pos: 1.5,-1.5 parent: 1 - - uid: 46 + - uid: 26 components: - type: Transform - pos: 2.5,-1.5 + pos: 0.5,-1.5 parent: 1 - - uid: 47 + - uid: 27 components: - type: Transform - pos: -1.5,-2.5 + pos: 0.5,0.5 parent: 1 - - uid: 48 + - uid: 28 components: - type: Transform - pos: -6.5,-2.5 + pos: 2.5,-1.5 parent: 1 - - uid: 49 + - uid: 29 components: - type: Transform - pos: 3.5,-2.5 + pos: 3.5,-1.5 parent: 1 - - uid: 50 + - uid: 30 components: - type: Transform - pos: 3.5,-3.5 + pos: -0.5,-1.5 parent: 1 - - uid: 51 + - uid: 31 components: - type: Transform - pos: -2.5,-2.5 + pos: -1.5,-1.5 parent: 1 - - uid: 52 + - uid: 32 components: - type: Transform - pos: -2.5,-3.5 + pos: 0.5,-2.5 parent: 1 - - uid: 86 + - uid: 33 components: - type: Transform - pos: -3.5,-0.5 + pos: 0.5,-3.5 parent: 1 - - uid: 88 + - uid: 34 components: - type: Transform - pos: 5.5,-2.5 + pos: 1.5,-0.5 parent: 1 - - uid: 157 + - uid: 35 components: - type: Transform - pos: -3.5,-2.5 + pos: -2.5,-1.5 parent: 1 - - uid: 165 + - uid: 56 components: - type: Transform - pos: -5.5,-2.5 + pos: -1.5,1.5 parent: 1 - - uid: 169 + - uid: 73 components: - type: Transform - pos: -0.5,1.5 + pos: -0.5,0.5 parent: 1 - - uid: 170 + - uid: 78 components: - type: Transform - pos: 4.5,-2.5 + pos: 0.5,0.5 parent: 1 - - uid: 184 + - uid: 87 components: - type: Transform - pos: 6.5,-2.5 + pos: -1.5,0.5 parent: 1 - - uid: 186 + - uid: 100 components: - type: Transform - pos: 7.5,-2.5 + pos: -0.5,-3.5 parent: 1 -- proto: CableHV - entities: - - uid: 8 + - uid: 126 components: - type: Transform - pos: 0.5,2.5 + pos: 1.5,0.5 parent: 1 - - uid: 11 + - uid: 131 components: - type: Transform - pos: -0.5,0.5 + pos: 2.5,0.5 parent: 1 - - uid: 12 + - uid: 135 components: - type: Transform - pos: 0.5,0.5 + pos: 2.5,1.5 parent: 1 - - uid: 13 + - uid: 168 components: - type: Transform - pos: 1.5,0.5 + pos: 1.5,-3.5 parent: 1 - - uid: 133 + - uid: 169 components: - type: Transform - pos: 1.5,1.5 + pos: 0.5,-4.5 parent: 1 - - uid: 143 + - uid: 176 components: - type: Transform - pos: -0.5,2.5 + pos: 0.5,1.5 parent: 1 - - uid: 144 + - uid: 177 components: - type: Transform - pos: 1.5,2.5 + pos: 0.5,2.5 parent: 1 - - uid: 146 + - uid: 178 components: - type: Transform - pos: 2.5,-0.5 + pos: 0.5,3.5 parent: 1 - - uid: 161 +- proto: CableHV + entities: + - uid: 36 components: - type: Transform - pos: -1.5,0.5 + pos: -0.5,-0.5 parent: 1 - - uid: 162 + - uid: 37 components: - type: Transform - pos: -1.5,-0.5 + pos: -0.5,-1.5 parent: 1 - - uid: 163 + - uid: 38 components: - type: Transform - pos: -1.5,-1.5 + pos: 0.5,-1.5 parent: 1 - - uid: 168 + - uid: 39 components: - type: Transform - pos: -0.5,1.5 + pos: 3.5,-1.5 parent: 1 - - uid: 175 + - uid: 40 components: - type: Transform pos: 2.5,-1.5 parent: 1 - - uid: 185 + - uid: 41 components: - type: Transform - pos: 2.5,0.5 + pos: 1.5,-1.5 parent: 1 - proto: CableMV entities: - - uid: 14 - components: - - type: Transform - pos: 2.5,-0.5 - parent: 1 - - uid: 56 + - uid: 42 components: - type: Transform - pos: -1.5,0.5 + pos: -0.5,-0.5 parent: 1 - - uid: 87 + - uid: 43 components: - type: Transform - pos: 2.5,0.5 + pos: 0.5,-1.5 parent: 1 - - uid: 148 + - uid: 44 components: - type: Transform - pos: 1.5,0.5 + pos: -0.5,-1.5 parent: 1 - - uid: 149 + - uid: 45 components: - type: Transform - pos: 0.5,0.5 + pos: 1.5,-1.5 parent: 1 - - uid: 150 + - uid: 46 components: - type: Transform - pos: -0.5,0.5 + pos: 1.5,-0.5 parent: 1 - - uid: 152 +- proto: ChairPilotSeat + entities: + - uid: 47 components: - type: Transform - pos: -1.5,-0.5 + rot: 3.141592653589793 rad + pos: 0.5,0.5 parent: 1 -- proto: ClothingBackpackDroneLootT22 +- proto: ComputerGunneryConsole entities: - - uid: 60 + - uid: 175 components: - type: Transform - pos: 0.5788634,0.47274494 + rot: 3.141592653589793 rad + pos: 1.5,-3.5 parent: 1 -- proto: GeneratorRTG +- proto: ComputerShuttle entities: - - uid: 2 + - uid: 48 components: - type: Transform - pos: 0.5,2.5 + pos: 0.5,1.5 parent: 1 - - uid: 79 +- proto: ComputerStationRecords + entities: + - uid: 49 components: - type: Transform - pos: -0.5,2.5 + rot: 1.5707963267948966 rad + pos: -0.5,0.5 parent: 1 - - uid: 80 +- proto: DefibrillatorCabinetFilled + entities: + - uid: 50 components: - type: Transform - pos: 1.5,2.5 + rot: 1.5707963267948966 rad + pos: -2.5,-0.5 parent: 1 - - uid: 136 +- proto: EmergencyLight + entities: + - uid: 167 components: - type: Transform - pos: -0.5,1.5 + rot: -1.5707963267948966 rad + pos: 0.5,-0.5 parent: 1 - - uid: 139 +- proto: ExtinguisherCabinetFilled + entities: + - uid: 52 components: - type: Transform - pos: 1.5,1.5 + rot: 3.141592653589793 rad + pos: 2.5,-2.5 parent: 1 -- proto: GeneratorWallmountAPU +- proto: FaxMachineShip entities: - - uid: 4 + - uid: 166 components: - type: Transform - pos: -0.5,0.5 + pos: 1.5,0.5 parent: 1 - - uid: 5 +- proto: GasFilter + entities: + - uid: 55 components: - type: Transform - pos: 1.5,0.5 + rot: 1.5707963267948966 rad + pos: 1.5,-1.5 parent: 1 - - uid: 158 + - type: AtmosPipeColor + color: '#990000FF' +- proto: GasPassiveVent + entities: + - uid: 13 components: - type: Transform - pos: -1.5,-1.5 + rot: 3.141592653589793 rad + pos: 2.5,-4.5 parent: 1 - - uid: 159 + - type: AtmosPipeColor + color: '#990000FF' +- proto: GasPipeBend + entities: + - uid: 57 components: - type: Transform pos: 2.5,-1.5 parent: 1 -- proto: Grille - entities: - - uid: 83 + - type: AtmosPipeColor + color: '#990000FF' + - uid: 58 components: - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-5.5 + rot: -1.5707963267948966 rad + pos: 1.5,-2.5 parent: 1 - - uid: 92 + - type: AtmosPipeColor + color: '#0055CCFF' +- proto: GasPipeStraight + entities: + - uid: 23 components: - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-5.5 + pos: 2.5,-3.5 parent: 1 - - uid: 101 + - type: AtmosPipeColor + color: '#990000FF' + - uid: 59 components: - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-4.5 + pos: 0.5,-0.5 parent: 1 - - uid: 135 + - type: AtmosPipeColor + color: '#990000FF' + - uid: 60 components: - type: Transform rot: 3.141592653589793 rad - pos: -1.5,-4.5 + pos: 2.5,-2.5 parent: 1 -- proto: GrilleDiagonal + - type: AtmosPipeColor + color: '#990000FF' +- proto: GasPipeTJunction entities: - - uid: 53 + - uid: 61 components: - type: Transform rot: 3.141592653589793 rad - pos: 7.5,-3.5 + pos: 0.5,-1.5 parent: 1 - - uid: 55 + - type: AtmosPipeColor + color: '#990000FF' +- proto: GasPort + entities: + - uid: 62 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,-3.5 + anchored: False + rot: -1.5707963267948966 rad + pos: 1.5,-2.5 parent: 1 - - uid: 58 + - type: Physics + canCollide: True + bodyType: Dynamic + - type: AtmosPipeColor + color: '#0055CCFF' +- proto: GasPressurePumpOn + entities: + - uid: 63 components: - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,-3.5 + rot: -1.5707963267948966 rad + pos: 0.5,-2.5 parent: 1 - - uid: 134 + - type: GasPressurePump + targetPressure: 10.325 + - type: AtmosPipeColor + color: '#0055CCFF' +- proto: GasVentPump + entities: + - uid: 64 components: - type: Transform rot: 1.5707963267948966 rad - pos: -3.5,-5.5 + pos: -0.5,-2.5 parent: 1 - - uid: 137 +- proto: GasVentScrubber + entities: + - uid: 65 components: - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-4.5 + pos: 0.5,0.5 parent: 1 - - uid: 138 + - type: AtmosPipeColor + color: '#990000FF' + - uid: 66 components: - type: Transform rot: 1.5707963267948966 rad - pos: 1.5,-4.5 + pos: -0.5,-1.5 parent: 1 - - uid: 140 + - type: AtmosPipeColor + color: '#990000FF' +- proto: GravityGeneratorMini + entities: + - uid: 151 components: - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-5.5 + pos: -0.5,-2.5 parent: 1 - - uid: 182 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 5.5,-3.5 - parent: 1 -- proto: SmallGyroscope +- proto: Grille entities: - - uid: 61 + - uid: 67 components: - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,0.5 + rot: -1.5707963267948966 rad + pos: -0.5,2.5 parent: 1 -- proto: SpawnMobDroneAiMedusa - entities: - - uid: 62 + - uid: 68 components: - type: Transform - pos: 0.5,1.5 + rot: -1.5707963267948966 rad + pos: 1.5,2.5 parent: 1 -- proto: SubstationBasic - entities: - - uid: 141 + - uid: 69 components: - type: Transform - pos: 2.5,0.5 + rot: -1.5707963267948966 rad + pos: -3.5,-1.5 parent: 1 - - uid: 147 + - uid: 70 components: - type: Transform - pos: -1.5,0.5 + rot: -1.5707963267948966 rad + pos: -2.5,0.5 parent: 1 -- proto: Thruster - entities: - - uid: 10 + - uid: 71 components: - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,-0.5 + rot: -1.5707963267948966 rad + pos: 3.5,0.5 parent: 1 - - uid: 96 + - uid: 72 components: - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,-2.5 + rot: -1.5707963267948966 rad + pos: 4.5,-1.5 parent: 1 - - uid: 97 + - uid: 76 components: - type: Transform - rot: 3.141592653589793 rad - pos: -6.5,-2.5 + rot: -1.5707963267948966 rad + pos: 0.5,2.5 parent: 1 - - uid: 111 + - uid: 77 components: - type: Transform - rot: 3.141592653589793 rad - pos: 7.5,-2.5 + rot: -1.5707963267948966 rad + pos: -0.5,1.5 parent: 1 - - uid: 132 + - uid: 82 components: - type: Transform - rot: 3.141592653589793 rad - pos: 5.5,-2.5 + rot: -1.5707963267948966 rad + pos: 1.5,1.5 parent: 1 -- proto: ThrusterLarge +- proto: GunneryServerLow entities: - - uid: 89 + - uid: 174 components: - type: Transform - rot: 3.141592653589793 rad pos: -0.5,-3.5 parent: 1 - - uid: 99 + - type: Battery + startingCharge: 0 + - type: ApcPowerReceiver + powerLoad: 5 +- proto: LockableButtonSecurity + entities: + - uid: 109 components: - type: Transform - rot: 3.141592653589793 rad - pos: 2.5,-3.5 + rot: -1.5707963267948966 rad + pos: 1.5,0.5 parent: 1 - - uid: 110 +- proto: Paper + entities: + - uid: 154 components: - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-4.5 - parent: 1 - - uid: 122 + parent: 153 + - type: Physics + canCollide: False + - uid: 155 components: - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-4.5 - parent: 1 -- proto: WallReinforced - entities: - - uid: 6 + parent: 153 + - type: Physics + canCollide: False + - uid: 156 components: - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,0.5 - parent: 1 - - uid: 64 + parent: 153 + - type: Physics + canCollide: False + - uid: 157 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -3.5,1.5 - parent: 1 - - uid: 65 + parent: 153 + - type: Physics + canCollide: False + - uid: 158 components: - type: Transform - rot: 3.141592653589793 rad - pos: -5.5,-3.5 - parent: 1 - - uid: 66 + parent: 153 + - type: Physics + canCollide: False + - uid: 159 components: - type: Transform - rot: 3.141592653589793 rad - pos: 6.5,-3.5 - parent: 1 - - uid: 69 + parent: 153 + - type: Physics + canCollide: False + - uid: 160 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,1.5 - parent: 1 - - uid: 71 + parent: 153 + - type: Physics + canCollide: False + - uid: 161 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,4.5 - parent: 1 - - uid: 72 + parent: 153 + - type: Physics + canCollide: False + - uid: 162 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,3.5 - parent: 1 - - uid: 73 + parent: 153 + - type: Physics + canCollide: False + - uid: 163 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,0.5 - parent: 1 - - uid: 75 + parent: 153 + - type: Physics + canCollide: False + - uid: 164 + components: + - type: Transform + parent: 153 + - type: Physics + canCollide: False + - uid: 165 + components: + - type: Transform + parent: 153 + - type: Physics + canCollide: False +- proto: PlastitaniumWindow + entities: + - uid: 74 components: - type: Transform rot: -1.5707963267948966 rad - pos: -1.5,2.5 + pos: -0.5,1.5 parent: 1 - - uid: 76 + - uid: 81 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,4.5 + pos: 0.5,2.5 parent: 1 - - uid: 77 + - uid: 83 components: - type: Transform rot: -1.5707963267948966 rad - pos: -1.5,3.5 + pos: 1.5,1.5 parent: 1 - - uid: 78 + - uid: 84 components: - type: Transform rot: -1.5707963267948966 rad - pos: 6.5,-0.5 + pos: -3.5,-1.5 parent: 1 - - uid: 82 + - uid: 86 components: - type: Transform rot: -1.5707963267948966 rad - pos: -2.5,2.5 + pos: 4.5,-1.5 parent: 1 - - uid: 84 + - uid: 89 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,2.5 + pos: -2.5,0.5 parent: 1 - uid: 90 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,2.5 + pos: 3.5,0.5 parent: 1 - - uid: 91 + - uid: 92 components: - type: Transform rot: -1.5707963267948966 rad - pos: 3.5,1.5 + pos: -0.5,2.5 parent: 1 - uid: 93 components: - type: Transform rot: -1.5707963267948966 rad - pos: -4.5,-0.5 + pos: 1.5,2.5 parent: 1 +- proto: PortableGeneratorPacmanShuttle + entities: - uid: 94 components: - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-2.5 + pos: 3.5,-1.5 parent: 1 +- proto: PowerCellHigh + entities: - uid: 95 components: - type: Transform - rot: 3.141592653589793 rad - pos: 6.5,-2.5 + pos: 2.21875,-0.68266666 + parent: 1 + - uid: 96 + components: + - type: Transform + pos: -1.6058526,-0.7623584 + parent: 1 + - uid: 97 + components: + - type: Transform + pos: -1.9153516,-0.7623584 parent: 1 - uid: 98 components: - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,0.5 + pos: 2.8972058,-0.7154834 parent: 1 - - uid: 102 + - uid: 99 + components: + - type: Transform + pos: 2.529564,-0.6842334 + parent: 1 + - uid: 104 components: - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,-1.5 + pos: -1.234375,-0.74516666 parent: 1 - - uid: 103 +- proto: PowerCellRecharger + entities: + - uid: 105 components: - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-2.5 + rot: 1.5707963267948966 rad + pos: -1.5,-0.5 parent: 1 - uid: 106 components: - type: Transform rot: 1.5707963267948966 rad - pos: -6.5,-1.5 + pos: 2.5,-0.5 parent: 1 +- proto: PoweredlightRed + entities: - uid: 107 components: - type: Transform rot: 3.141592653589793 rad - pos: -1.5,-0.5 + pos: -1.5,-1.5 parent: 1 - uid: 108 components: @@ -822,319 +981,362 @@ entities: rot: 3.141592653589793 rad pos: 2.5,-1.5 parent: 1 - - uid: 109 +- proto: SheetPlasma + entities: + - uid: 110 components: - type: Transform - rot: 3.141592653589793 rad - pos: 3.5,-2.5 + pos: 3.5285258,-1.5270212 parent: 1 - - uid: 112 + - uid: 111 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 7.5,-1.5 + pos: 3.490264,-1.4759328 parent: 1 - - uid: 113 +- proto: ShieldGeneratorMedium + entities: + - uid: 189 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -7.5,-2.5 + pos: -0.5,-0.5 + parent: 1 + - type: ContainerContainer + containers: + machine_board: !type:Container + showEnts: False + occludes: True + ents: [] + machine_parts: !type:Container + showEnts: False + occludes: True + ents: [] +- proto: SmallGyroscopeNfsd + entities: + - uid: 112 + components: + - type: Transform + pos: -2.5,-1.5 parent: 1 +- proto: SubstationWallBasic + entities: - uid: 114 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 8.5,-2.5 + pos: -0.5,-0.5 parent: 1 - - uid: 115 +- proto: SuitStorageWallmountDeputy + entities: + - uid: 53 components: - type: Transform rot: 1.5707963267948966 rad - pos: -5.5,-1.5 + pos: -0.5,-4.5 parent: 1 - - uid: 117 +- proto: TableReinforced + entities: + - uid: 54 components: - type: Transform rot: 3.141592653589793 rad - pos: 5.5,-1.5 + pos: 1.5,0.5 parent: 1 - - uid: 118 +- proto: ThrusterNfsd + entities: + - uid: 115 components: - type: Transform - rot: -1.5707963267948966 rad pos: -3.5,0.5 parent: 1 - - uid: 119 + - uid: 116 components: - type: Transform rot: -1.5707963267948966 rad - pos: 2.5,1.5 + pos: 5.5,-1.5 parent: 1 - - uid: 120 + - uid: 117 components: - type: Transform - rot: 3.141592653589793 rad - pos: -5.5,-2.5 + rot: 1.5707963267948966 rad + pos: -4.5,-1.5 parent: 1 - - uid: 124 + - uid: 118 components: - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,-2.5 + pos: 4.5,0.5 parent: 1 - - uid: 125 + - uid: 119 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,3.5 + rot: 3.141592653589793 rad + pos: -2.5,-3.5 parent: 1 - - uid: 126 + - uid: 120 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 6.5,-1.5 + rot: 3.141592653589793 rad + pos: 3.5,-3.5 parent: 1 - - uid: 127 + - uid: 121 components: - type: Transform - pos: 2.5,-0.5 + rot: 3.141592653589793 rad + pos: 4.5,-3.5 parent: 1 - - uid: 128 + - uid: 122 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -3.5,2.5 + rot: 3.141592653589793 rad + pos: -3.5,-3.5 parent: 1 - - uid: 130 +- proto: WallPlastitanium + entities: + - uid: 85 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -1.5,1.5 + rot: 3.141592653589793 rad + pos: 1.5,-5.5 parent: 1 - - uid: 131 + - uid: 101 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,0.5 + pos: 2.5,-3.5 parent: 1 - - uid: 142 + - uid: 123 components: - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-1.5 + pos: -4.5,-3.5 parent: 1 - - uid: 145 + - uid: 124 components: - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-1.5 + pos: 5.5,-3.5 parent: 1 - - uid: 151 + - uid: 125 components: - type: Transform - rot: 3.141592653589793 rad pos: 1.5,-0.5 parent: 1 - - uid: 154 + - uid: 127 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,4.5 + pos: -2.5,-0.5 parent: 1 - - uid: 155 + - uid: 128 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,3.5 + pos: 3.5,-0.5 parent: 1 - - uid: 160 + - uid: 129 components: - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-0.5 + pos: -3.5,-0.5 parent: 1 - - uid: 166 + - uid: 130 components: - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,-1.5 + pos: 4.5,-0.5 parent: 1 - - uid: 171 + - uid: 132 components: - type: Transform rot: -1.5707963267948966 rad - pos: -5.5,-0.5 + pos: -4.5,-2.5 parent: 1 - - uid: 173 + - uid: 133 components: - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,5.5 + rot: -1.5707963267948966 rad + pos: -3.5,-2.5 parent: 1 - - uid: 174 + - uid: 134 components: - type: Transform rot: -1.5707963267948966 rad - pos: 5.5,-0.5 + pos: -2.5,-2.5 parent: 1 - - uid: 176 + - uid: 136 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,2.5 + rot: 3.141592653589793 rad + pos: -1.5,-2.5 parent: 1 - - uid: 177 + - uid: 137 components: - type: Transform rot: -1.5707963267948966 rad - pos: 1.5,3.5 + pos: 5.5,-2.5 parent: 1 - - uid: 180 + - uid: 138 components: - type: Transform rot: -1.5707963267948966 rad - pos: -2.5,1.5 + pos: 4.5,-2.5 parent: 1 - - uid: 181 + - uid: 139 components: - type: Transform rot: -1.5707963267948966 rad - pos: -2.5,0.5 + pos: 3.5,-2.5 parent: 1 -- proto: WallReinforcedDiagonal - entities: - - uid: 32 + - uid: 140 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,2.5 + rot: 3.141592653589793 rad + pos: 2.5,-2.5 parent: 1 - - uid: 54 + - uid: 141 components: - type: Transform - rot: 3.141592653589793 rad - pos: 5.5,1.5 + pos: 1.5,-4.5 parent: 1 - - uid: 59 + - uid: 142 components: - type: Transform - pos: -4.5,2.5 + pos: -0.5,-4.5 parent: 1 - - uid: 68 + - uid: 146 components: - type: Transform - pos: -1.5,4.5 + rot: 1.5707963267948966 rad + pos: -1.5,-3.5 parent: 1 - - uid: 70 + - uid: 147 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,4.5 + rot: 3.141592653589793 rad + pos: -0.5,-5.5 parent: 1 - - uid: 74 +- proto: WallPlastitaniumDiagonal + entities: + - uid: 5 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -1.5,-4.5 + parent: 1 + - uid: 14 components: - type: Transform rot: 3.141592653589793 rad - pos: -3.5,-0.5 + pos: 2.5,-4.5 parent: 1 - - uid: 81 + - uid: 143 components: - type: Transform rot: -1.5707963267948966 rad - pos: 8.5,-1.5 + pos: 5.5,-0.5 parent: 1 - - uid: 85 + - uid: 144 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,0.5 + pos: -2.5,1.5 parent: 1 - - uid: 100 + - uid: 145 components: - type: Transform rot: -1.5707963267948966 rad - pos: 7.5,-0.5 + pos: 3.5,1.5 parent: 1 - - uid: 105 + - uid: 148 components: - type: Transform - pos: -2.5,-1.5 + pos: -4.5,-0.5 parent: 1 - - uid: 116 +- proto: WarpPoint + entities: + - uid: 113 components: - type: Transform - pos: -2.5,3.5 + rot: -1.5707963267948966 rad + pos: 0.5,-1.5 parent: 1 - - uid: 121 +- proto: WeaponGrapplingGun + entities: + - uid: 149 components: - type: Transform - pos: -4.5,0.5 + rot: 1.5707963267948966 rad + pos: 0.8125,-1.9840789 parent: 1 - - uid: 123 +- proto: WeaponTurretL85Autocannon + entities: + - uid: 103 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,3.5 + rot: 3.141592653589793 rad + pos: -0.5,3.5 parent: 1 - - uid: 129 + - uid: 187 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-1.5 + rot: 3.141592653589793 rad + pos: 1.5,3.5 parent: 1 - - uid: 153 + - uid: 188 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,1.5 + rot: 3.141592653589793 rad + pos: 0.5,3.5 parent: 1 - - uid: 156 +- proto: WeaponTurretTarnyxReload + entities: + - uid: 179 components: - type: Transform - pos: -6.5,-0.5 + rot: 3.141592653589793 rad + pos: -1.5,2.5 parent: 1 - - uid: 167 + - uid: 180 components: - type: Transform - pos: -7.5,-1.5 + rot: 3.141592653589793 rad + pos: 2.5,2.5 parent: 1 +- proto: WindoorSecureSecurityLocked + entities: - uid: 172 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,-0.5 + rot: 3.141592653589793 rad + pos: -1.5,0.5 parent: 1 - - uid: 178 + - uid: 173 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,5.5 + rot: 3.141592653589793 rad + pos: 2.5,0.5 parent: 1 - - uid: 179 +- proto: WindowReinforcedDirectional + entities: + - uid: 79 components: - type: Transform - pos: -0.5,5.5 + rot: -1.5707963267948966 rad + pos: -0.5,0.5 parent: 1 -- proto: WeaponTurretShard - entities: - - uid: 37 + - uid: 88 components: - type: Transform - pos: 6.5,-4.5 + rot: 1.5707963267948966 rad + pos: -0.5,-3.5 parent: 1 - - uid: 57 + - uid: 91 components: - type: Transform - pos: -5.5,-4.5 + rot: 1.5707963267948966 rad + pos: 1.5,0.5 parent: 1 - - uid: 63 + - uid: 102 components: - type: Transform - pos: -7.5,-3.5 + rot: -1.5707963267948966 rad + pos: 1.5,-3.5 parent: 1 - - uid: 67 +- proto: Wrench + entities: + - uid: 150 components: - type: Transform - pos: 8.5,-3.5 + pos: 1.4971962,-2.5979824 parent: 1 ... diff --git a/Resources/Maps/_NF/Test/dev_map.yml b/Resources/Maps/_NF/Test/dev_map.yml index 683472f6e89..fdb0c90d37a 100644 --- a/Resources/Maps/_NF/Test/dev_map.yml +++ b/Resources/Maps/_NF/Test/dev_map.yml @@ -7693,14 +7693,14 @@ entities: rot: -1.5707963267948966 rad pos: -3.2517176,-10.459884 parent: 179 -- proto: ShipRepairDevice +- proto: ShipyardRCD entities: - uid: 1248 components: - type: Transform pos: -2.0677912,4.7188888 parent: 179 -- proto: ShipRepairDeviceAmmo +- proto: ShipyardRCDAmmo entities: - uid: 1249 components: diff --git a/Resources/Maps/fland.yml b/Resources/Maps/fland.yml index fcce70c354f..7e5346eefb2 100644 --- a/Resources/Maps/fland.yml +++ b/Resources/Maps/fland.yml @@ -4,8 +4,8 @@ meta: engineVersion: 267.3.0 forkId: "" forkVersion: "" - time: 03/08/2026 20:01:40 - entityCount: 38354 + time: 01/31/2026 02:46:25 + entityCount: 35997 maps: - 1 grids: @@ -53,13 +53,10 @@ tilemap: 108: FloorTechMaint 109: FloorTechMaint2 112: FloorWhite - 3: FloorWhiteHerringbone 116: FloorWhiteMini 121: FloorWhitePlastic 122: FloorWood 125: Lattice - 4: LatticeCornerNE - 5: LatticeCornerNW 126: Plating 127: PlatingAsteroid entities: @@ -103,7 +100,7 @@ entities: version: 7 0,1: ind: 0,1 - tiles: XQAAAAADAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgAfAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAHwAAAAABAB8AAAAAAgB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAIAegAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAB8AAAAAAgAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAwB6AAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAABAGwAAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAADAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAF0AAAAAAgBsAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBdAAAAAAIAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAQAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAGwAAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAF0AAAAAAwBsAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAB8AAAAAAgBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAAAfgAAAAAAAA== + tiles: XQAAAAADAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgAfAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAHwAAAAABAB8AAAAAAgB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAIAegAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAB8AAAAAAgAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAwB6AAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAABAGwAAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAADAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAF0AAAAAAgBsAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBdAAAAAAIAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAQAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAGwAAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBsAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAB8AAAAAAgBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAAAfgAAAAAAAA== version: 7 -2,1: ind: -2,1 @@ -135,7 +132,7 @@ entities: version: 7 -1,3: ind: -1,3 - tiles: HwAAAAADAH4AAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB6AAAAAAIAegAAAAAAAHoAAAAAAgB6AAAAAAIAfgAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAABAH4AAAAAAABwAAAAAAIAcAAAAAADAHoAAAAAAQBAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAAB6AAAAAAAAegAAAAACAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAcAAAAAADAHAAAAAAAgB6AAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAAAAHoAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAfgAAAAAAAHAAAAAAAgBwAAAAAAIAegAAAAADAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAAAAHoAAAAAAgB6AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAbQAAAAAAAHoAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAAB6AAAAAAMAegAAAAACAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB6AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAMAHwAAAAADAH4AAAAAAAB+AAAAAAAAHwAAAAADAGwAAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAQAfAAAAAAEAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBsAAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAADAGwAAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAgAfAAAAAAMAbQAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAADAB8AAAAAAgAfAAAAAAEAHwAAAAADAB8AAAAAAQB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAABwAAAAAAEAcAAAAAACAB8AAAAAAAAfAAAAAAMAQAAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAACAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAwB+AAAAAAAAcAAAAAABAHAAAAAAAAAfAAAAAAIAHwAAAAACAEAAAAAAAABAAAAAAAAAQAAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAAAAB8AAAAAAQB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAfgAAAAAAAHAAAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAIAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAABAH4AAAAAAABwAAAAAAEAcAAAAAAAAB8AAAAAAQAfAAAAAAMAQAAAAAAAACQAAAAAAwBAAAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwB5AAAAAAAAcAAAAAABAHAAAAAAAAAfAAAAAAAAHwAAAAADAEAAAAAAAABAAAAAAAAAQAAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAeQAAAAACAHAAAAAAAwBwAAAAAAMAHwAAAAAAAB8AAAAAAwBAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAEAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAADAHkAAAAAAQBwAAAAAAMAcAAAAAADAA== + tiles: HwAAAAADAH4AAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB6AAAAAAIAegAAAAAAAHoAAAAAAgB6AAAAAAIAfgAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAABAH4AAAAAAABwAAAAAAIAcAAAAAADAHoAAAAAAQBAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAegAAAAACAB8AAAAAAwAfAAAAAAEAegAAAAACAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAcAAAAAADAHAAAAAAAgB6AAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAAAfAAAAAAMAHwAAAAAAAHoAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAfgAAAAAAAHAAAAAAAgBwAAAAAAIAegAAAAADAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAAAAHoAAAAAAgB6AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAbQAAAAAAAHoAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAAB6AAAAAAMAegAAAAACAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB6AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAMAHwAAAAADAH4AAAAAAAB+AAAAAAAAHwAAAAADAGwAAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAQAfAAAAAAEAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBsAAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAADAGwAAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAgAfAAAAAAMAbQAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAADAB8AAAAAAgAfAAAAAAEAHwAAAAADAB8AAAAAAQB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAABwAAAAAAEAcAAAAAACAB8AAAAAAAAfAAAAAAMAQAAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAACAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAwB+AAAAAAAAcAAAAAABAHAAAAAAAAAfAAAAAAIAHwAAAAACAEAAAAAAAABAAAAAAAAAQAAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAAAAB8AAAAAAQB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAfgAAAAAAAHAAAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAIAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAABAH4AAAAAAABwAAAAAAEAcAAAAAAAAB8AAAAAAQAfAAAAAAMAQAAAAAAAACQAAAAAAwBAAAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwB5AAAAAAAAcAAAAAABAHAAAAAAAAAfAAAAAAAAHwAAAAADAEAAAAAAAABAAAAAAAAAQAAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAeQAAAAACAHAAAAAAAwBwAAAAAAMAHwAAAAAAAB8AAAAAAwBAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAEAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAADAHkAAAAAAQBwAAAAAAMAcAAAAAADAA== version: 7 1,-1: ind: 1,-1 @@ -187,11 +184,11 @@ entities: version: 7 -5,0: ind: -5,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAC8AAAAAAwB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAC8AAAAAAwB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -5,-1: ind: -5,-1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAA== version: 7 -3,2: ind: -3,2 @@ -199,7 +196,7 @@ entities: version: 7 -3,3: ind: -3,3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAwB+AAAAAAAAXQAAAAACAF0AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAABdAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAQAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAACAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAIAfgAAAAAAAG0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAATQAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAAAAE0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAwB+AAAAAAAAXQAAAAACAF0AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAABdAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAQAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAACAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAgAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAIAfgAAAAAAAG0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAATQAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAAAAE0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== version: 7 -1,4: ind: -1,4 @@ -207,23 +204,27 @@ entities: version: 7 -2,4: ind: -2,4 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAEAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAQAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAEAHwAAAAADAH4AAAAAAAB+AAAAAAAAHwAAAAACAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAwAfAAAAAAEAfgAAAAAAAB8AAAAAAAAfAAAAAAIAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgBPAAAAAAAAfgAAAAAAAEIAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAMATwAAAAAAAH4AAAAAAABCAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAACAB8AAAAAAwAfAAAAAAIAHwAAAAACAE8AAAAAAAB+AAAAAAAAQgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAQAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAYAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAIABwAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAEAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAQAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAEAHwAAAAADAH4AAAAAAAB+AAAAAAAAHwAAAAACAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAwAfAAAAAAEAfgAAAAAAAB8AAAAAAAAfAAAAAAIAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgBPAAAAAAAAfgAAAAAAAEIAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAMATwAAAAAAAH4AAAAAAABCAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAACAB8AAAAAAwAfAAAAAAIAHwAAAAACAE8AAAAAAAB+AAAAAAAAQgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAQAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAYAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAIABwAAAAAAAA== version: 7 -3,4: ind: -3,4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAE0AAAAAAQBNAAAAAAMAfgAAAAAAAH4AAAAAAABNAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAABAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAGQAAAAAAAB+AAAAAAAAQAAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAMABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAMABwAAAAACAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAABwAAAAADAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAATwAAAAAAAAcAAAAAAgAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAE8AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAwAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAABAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAE0AAAAAAQBNAAAAAAMAfgAAAAAAAH4AAAAAAABNAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAABAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAGQAAAAAAAB+AAAAAAAAQAAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAMABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAMABwAAAAACAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAABwAAAAADAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAATwAAAAAAAAcAAAAAAgAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAE8AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAwAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAABAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAA== version: 7 -2,5: ind: -2,5 - tiles: AAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAIABwAAAAADAAcAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAIABwAAAAADAAcAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -3,5: ind: -3,5 - tiles: AAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAABAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAABAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -4,4: ind: -4,4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + version: 7 + -4,3: + ind: -4,3 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 0,3: ind: 0,3 @@ -235,7 +236,7 @@ entities: version: 7 1,1: ind: 1,1 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAQAfAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAIAXQAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAgB+AAAAAAAAHwAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAACAF0AAAAAAAAfAAAAAAAAbAAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAIAfgAAAAAAAB8AAAAAAABdAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAHwAAAAAAAF0AAAAAAQAfAAAAAAEAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAABAB8AAAAAAQBdAAAAAAIAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAABAH4AAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAABAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAF0AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAbAAAAAAAAB8AAAAAAwBdAAAAAAEAHwAAAAABAGwAAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAGwAAAAAAAAfAAAAAAIAXQAAAAADAB8AAAAAAwB+AAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAA+AAAAAAAAPgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAB8AAAAAAwBsAAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAPgAAAAAAAD4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAAfAAAAAAMAbAAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAD4AAAAAAAA+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAQAfAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAIAXQAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAgB+AAAAAAAAHwAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAACAF0AAAAAAAAfAAAAAAAAbAAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAIAfgAAAAAAAB8AAAAAAABdAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAHwAAAAAAAF0AAAAAAQAfAAAAAAEAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAABAB8AAAAAAQBdAAAAAAIAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAABAH4AAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAABAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAF0AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAAAbAAAAAAAAB8AAAAAAwBdAAAAAAEAHwAAAAABAGwAAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAACAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAAAfAAAAAAAAHwAAAAAAAGwAAAAAAAAfAAAAAAIAXQAAAAADAB8AAAAAAwB+AAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAA+AAAAAAAAPgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAB8AAAAAAwBsAAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAPgAAAAAAAD4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAAfAAAAAAMAbAAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAD4AAAAAAAA+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== version: 7 1,0: ind: 1,0 @@ -247,7 +248,7 @@ entities: version: 7 2,0: ind: 2,0 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAMAfgAAAAAAAB8AAAAAAwADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAIAHwAAAAAAAH4AAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAAB+AAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAAwAAAAAAAAMAAAAAAAADAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAADEAAAAAAAAfAAAAAAEAMQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAAAAGwAAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAwB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAwB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAIAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAEAbAAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMALgAAAAAAAB8AAAAAAwB+AAAAAAAAHwAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAAAHwAAAAABAH4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAADAB8AAAAAAAAuAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAgAfAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAIALgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAuAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAQAuAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAAAAB8AAAAAAwB+AAAAAAAAHwAAAAADAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAMAfgAAAAAAAB8AAAAAAwBwAAAAAAAAcAAAAAACAHAAAAAAAwBwAAAAAAEAcAAAAAADAGwAAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAIAHwAAAAAAAH4AAAAAAABwAAAAAAMAcAAAAAABAHAAAAAAAQBwAAAAAAMAcAAAAAABAHAAAAAAAQBsAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAAB+AAAAAAAAcAAAAAADAHAAAAAAAABwAAAAAAEAcAAAAAABAHAAAAAAAwBwAAAAAAEAbAAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAADEAAAAAAAAfAAAAAAEAMQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAAAAGwAAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAwB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAwB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAIAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAEAbAAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMALgAAAAAAAB8AAAAAAwB+AAAAAAAAHwAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAAAHwAAAAABAH4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAADAB8AAAAAAAAuAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAgAfAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAIALgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAuAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAQAuAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAAAAB8AAAAAAwB+AAAAAAAAHwAAAAADAA== version: 7 2,-1: ind: 2,-1 @@ -291,7 +292,7 @@ entities: version: 7 3,-2: ind: 3,-2 - tiles: cAAAAAAAAF0AAAAAAQB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAEAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAQBdAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAAAfAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAABwAAAAAAIAXQAAAAADAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAeQAAAAABAE0AAAAAAgB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAADAB8AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAHAAAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAAAHwAAAAADAH4AAAAAAABsAAAAAAAAbAAAAAAAAF0AAAAAAgAfAAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAQBwAAAAAAAAcAAAAAABAF0AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABdAAAAAAIAXQAAAAABAGwAAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAIAMQAAAAAAAHAAAAAAAgBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABADEAAAAAAABwAAAAAAIAXQAAAAACAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAF0AAAAAAQAxAAAAAAAAcAAAAAAAAF0AAAAAAQBsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAQBdAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAF0AAAAAAQB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBdAAAAAAMAfgAAAAAAAH4AAAAAAAAfAAAAAAAAcAAAAAABAHAAAAAAAgBwAAAAAAMAcAAAAAACAHAAAAAAAQAfAAAAAAMAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAXQAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAAAAHAAAAAAAgBwAAAAAAIAcAAAAAABAHAAAAAAAQBwAAAAAAIAHwAAAAACAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAF0AAAAAAQBwAAAAAAEAfgAAAAAAAB8AAAAAAABwAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAEAcAAAAAAAAB8AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAMAcAAAAAADAH4AAAAAAAAfAAAAAAMAcAAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAADAHAAAAAAAwAfAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAA== + tiles: cAAAAAAAAF0AAAAAAQB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAABAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAQBdAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAABwAAAAAAIAXQAAAAADAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAAATwAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAeQAAAAABAE0AAAAAAgB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAgB+AAAAAAAAfgAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAAAHwAAAAADAH4AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAIAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAQBwAAAAAAAAcAAAAAABAF0AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABdAAAAAAIAXQAAAAABAGwAAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAIAMQAAAAAAAHAAAAAAAgBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABADEAAAAAAABwAAAAAAIAXQAAAAACAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAF0AAAAAAQAxAAAAAAAAcAAAAAAAAF0AAAAAAQBsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAQBdAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAF0AAAAAAQB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBdAAAAAAMAfgAAAAAAAH4AAAAAAAAfAAAAAAAAcAAAAAABAHAAAAAAAgBwAAAAAAMAcAAAAAACAHAAAAAAAQAfAAAAAAMAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAXQAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAAAAHAAAAAAAgBwAAAAAAIAcAAAAAABAHAAAAAAAQBwAAAAAAIAHwAAAAACAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAF0AAAAAAQBwAAAAAAEAfgAAAAAAAB8AAAAAAABwAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAEAcAAAAAAAAB8AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAMAcAAAAAADAH4AAAAAAAAfAAAAAAMAcAAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAADAHAAAAAAAwAfAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAA== version: 7 1,-3: ind: 1,-3 @@ -303,11 +304,11 @@ entities: version: 7 2,-3: ind: 2,-3 - tiles: XQAAAAABAH4AAAAAAABtAAAAAAAAcAAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAHAAAAAAAgBtAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQBsAAAAAAAAHwAAAAADAF0AAAAAAQB+AAAAAAAAbQAAAAAAAHAAAAAAAQBwAAAAAAIAcAAAAAAAAHAAAAAAAABwAAAAAAEAbQAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAxAAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAIAfgAAAAAAAGwAAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwBsAAAAAAAAHwAAAAACAB8AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAFEAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAABRAAAAAAAAHwAAAAAAAGwAAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAgAfAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAADAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAUQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAFEAAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAEAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAABAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAMAHwAAAAADAH4AAAAAAABRAAAAAAAADgAAAAABAA4AAAAAAwAOAAAAAAMADgAAAAABAB8AAAAAAABdAAAAAAEAcAAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAADAB8AAAAAAwB+AAAAAAAAUQAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAAAAB8AAAAAAQB+AAAAAAAAXQAAAAADAHAAAAAAAQBdAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAwAfAAAAAAEAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABwAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABwAAAAAAMAcAAAAAADAH4AAAAAAABdAAAAAAAAcAAAAAACAF0AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAMAHwAAAAABAB8AAAAAAwB+AAAAAAAAXQAAAAADAE8AAAAAAABPAAAAAAAAcAAAAAADAHAAAAAAAABdAAAAAAEAXQAAAAADAHAAAAAAAQBdAAAAAAMAfgAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAMAXQAAAAAAAF0AAAAAAQBPAAAAAAAATwAAAAAAAHAAAAAAAABwAAAAAAAAfgAAAAAAAF0AAAAAAwBwAAAAAAIAXQAAAAABAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAQAfAAAAAAMAHwAAAAAAAH4AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAcAAAAAACAF0AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAwB+AAAAAAAAXQAAAAADAA== + tiles: XQAAAAABAH4AAAAAAABtAAAAAAAAcAAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAHAAAAAAAgBtAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQBsAAAAAAAAHwAAAAADAF0AAAAAAQB+AAAAAAAAbQAAAAAAAHAAAAAAAQBwAAAAAAIAcAAAAAAAAHAAAAAAAABwAAAAAAEAbQAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAxAAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAIAfgAAAAAAAGwAAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwBsAAAAAAAAHwAAAAACAB8AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAFEAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAABRAAAAAAAAHwAAAAAAAGwAAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAgAfAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAADAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAUQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAFEAAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAEAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAABAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAMAHwAAAAADAH4AAAAAAABRAAAAAAAADgAAAAABAA4AAAAAAwAOAAAAAAMADgAAAAABAB8AAAAAAABdAAAAAAEAcAAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAADAB8AAAAAAwB+AAAAAAAAUQAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAAAAB8AAAAAAQB+AAAAAAAAXQAAAAADAHAAAAAAAQBdAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAwAfAAAAAAEAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABwAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABwAAAAAAMAcAAAAAADAH4AAAAAAABdAAAAAAAAcAAAAAACAF0AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAMAHwAAAAABAB8AAAAAAwB+AAAAAAAAXQAAAAADAE8AAAAAAABPAAAAAAAAcAAAAAADAHAAAAAAAABdAAAAAAEAXQAAAAADAHAAAAAAAQBdAAAAAAMAfgAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAMAXQAAAAAAAF0AAAAAAQBPAAAAAAAATwAAAAAAAHAAAAAAAABwAAAAAAAAfgAAAAAAAF0AAAAAAwBwAAAAAAIAXQAAAAABAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAQAfAAAAAAMAHwAAAAAAAH4AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAcAAAAAACAF0AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAwB+AAAAAAAAXQAAAAADAA== version: 7 3,-3: ind: 3,-3 - tiles: HwAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAwB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABdAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAFEAAAAAAABRAAAAAAAAUQAAAAAAAFEAAAAAAAAfAAAAAAAAHwAAAAADAH4AAAAAAABsAAAAAAAAXQAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABRAAAAAAAAUQAAAAAAAFEAAAAAAABRAAAAAAAAHwAAAAAAAB8AAAAAAgB+AAAAAAAAbAAAAAAAAF0AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAUQAAAAAAAFEAAAAAAABRAAAAAAAAUQAAAAAAAB8AAAAAAgAfAAAAAAMAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAFEAAAAAAABRAAAAAAAAUQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAAfAAAAAAMAUQAAAAAAAFEAAAAAAAB+AAAAAAAAegAAAAAAAHoAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAUQAAAAAAAFEAAAAAAABRAAAAAAAAHwAAAAABAHoAAAAAAgB6AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAFEAAAAAAABRAAAAAAAAUQAAAAAAAH4AAAAAAAB6AAAAAAAAegAAAAADAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAAfAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAAAAB8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAQBdAAAAAAIAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABwAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAcAAAAAAAAF0AAAAAAwB+AAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAMAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAA== + tiles: HwAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAwB+AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAFEAAAAAAABRAAAAAAAAUQAAAAAAAFEAAAAAAAAfAAAAAAAAHwAAAAADAH4AAAAAAABtAAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABRAAAAAAAAUQAAAAAAAFEAAAAAAABRAAAAAAAAHwAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAABAB8AAAAAAgB+AAAAAAAAUQAAAAAAAFEAAAAAAABRAAAAAAAAUQAAAAAAAB8AAAAAAgAfAAAAAAMAfgAAAAAAAGwAAAAAAABdAAAAAAMAXQAAAAADAB8AAAAAAgAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAAAfgAAAAAAAFEAAAAAAABRAAAAAAAAUQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAXQAAAAADAGwAAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAMAUQAAAAAAAFEAAAAAAAB+AAAAAAAAegAAAAAAAHoAAAAAAAB+AAAAAAAAbAAAAAAAAF0AAAAAAgBsAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAB8AAAAAAwB+AAAAAAAAUQAAAAAAAFEAAAAAAABRAAAAAAAAHwAAAAABAHoAAAAAAgB6AAAAAAAAfgAAAAAAAGwAAAAAAABdAAAAAAAAbAAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAAfAAAAAAMAfgAAAAAAAFEAAAAAAABRAAAAAAAAUQAAAAAAAH4AAAAAAAB6AAAAAAAAegAAAAADAH4AAAAAAABsAAAAAAAAXQAAAAADAGwAAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAABAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAB8AAAAAAABtAAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABdAAAAAAEAbAAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAAfAAAAAAAAfgAAAAAAAHAAAAAAAQBdAAAAAAIAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAXQAAAAADAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABwAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAcAAAAAAAAF0AAAAAAwB+AAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAwB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAA== version: 7 4,-1: ind: 4,-1 @@ -335,7 +336,7 @@ entities: version: 7 -2,-5: ind: -2,-5 - tiles: AAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -3,-6: ind: -3,-6 @@ -343,15 +344,15 @@ entities: version: 7 -2,-6: ind: -2,-6 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -4,-5: ind: -4,-5 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAA== version: 7 -4,-4: ind: -4,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfwAAAAAAAH8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAIAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAGAAcAAAAAAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH8AAAAAAAB/AAAAAAAAfgAAAAAAAAcAAAAABwAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAHAAAAAAcABwAAAAAGAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAABgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAYABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAIABwAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAwAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAGAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfwAAAAAAAH8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAIAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAGAAcAAAAAAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH8AAAAAAAB/AAAAAAAAfgAAAAAAAAcAAAAABwAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAHAAAAAAcABwAAAAAGAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAABgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== version: 7 -4,-3: ind: -4,-3 @@ -375,7 +376,7 @@ entities: version: 7 2,-4: ind: 2,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAYABwAAAAAAAAcAAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAABNAAAAAAAATQAAAAACAE0AAAAAAAB+AAAAAAAATQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAAAAE0AAAAAAwBNAAAAAAMATQAAAAADAE0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAABNAAAAAAAAMQAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABNAAAAAAMATQAAAAABAF0AAAAAAgB+AAAAAAAAbQAAAAAAAHAAAAAAAABwAAAAAAMAcAAAAAAAAHAAAAAAAgBwAAAAAAEAbQAAAAAAAG0AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABtAAAAAAAATQAAAAACAE0AAAAAAQBdAAAAAAIAfgAAAAAAAG0AAAAAAABwAAAAAAIAbQAAAAAAAG0AAAAAAABtAAAAAAAAcAAAAAADAG0AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABNAAAAAAAAXQAAAAAAAH4AAAAAAABtAAAAAAAAcAAAAAACAG0AAAAAAABtAAAAAAAAbQAAAAAAAHAAAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAYABwAAAAAAAAcAAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAABNAAAAAAAATQAAAAACAE0AAAAAAAB+AAAAAAAATQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAAAAE0AAAAAAwBNAAAAAAMATQAAAAADAE0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAABNAAAAAAAAMQAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABNAAAAAAMATQAAAAABAF0AAAAAAgB+AAAAAAAAbQAAAAAAAHAAAAAAAABwAAAAAAMAcAAAAAAAAHAAAAAAAgBwAAAAAAEAbQAAAAAAAG0AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABtAAAAAAAATQAAAAACAE0AAAAAAQBdAAAAAAIAfgAAAAAAAG0AAAAAAABwAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAIAcAAAAAADAG0AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABNAAAAAAAAXQAAAAAAAH4AAAAAAABtAAAAAAAAcAAAAAACAF0AAAAAAQBtAAAAAAAAXQAAAAADAHAAAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== version: 7 1,-4: ind: 1,-4 @@ -383,11 +384,11 @@ entities: version: 7 3,-4: ind: 3,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAABgAHAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAMABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAIABwAAAAAFAAcAAAAAAAB+AAAAAAAAfgAAAAAAABYAAAAAAAAWAAAAAAAAFgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAADAAcAAAAABgAHAAAAAAMABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAWAAAAAAAAFgAAAAAAABYAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAAcAAAAABAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAFgAAAAAAABYAAAAAAAAWAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAACAE0AAAAAAQBNAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAH4AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAuAAAAAAAALgAAAAAAAE0AAAAAAQBNAAAAAAAATQAAAAAAAE0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAALgAAAAAAAC4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAC4AAAAAAAAuAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAuAAAAAAAALgAAAAAAAE0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAALgAAAAAAAH4AAAAAAABNAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAZAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABwAAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAABgAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAMABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAIABwAAAAAFAAcAAAAAAAB+AAAAAAAAfgAAAAAAABYAAAAAAAAWAAAAAAAAFgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAADAAcAAAAABgAHAAAAAAMABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAWAAAAAAAAFgAAAAAAABYAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAAcAAAAABAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAFgAAAAAAABYAAAAAAAAWAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAACAE0AAAAAAQBNAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAH4AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAuAAAAAAAALgAAAAAAAE0AAAAAAQBNAAAAAAAATQAAAAAAAE0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAALgAAAAAAAC4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAC4AAAAAAAAuAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAuAAAAAAAALgAAAAAAAE0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAALgAAAAAAAH4AAAAAAABNAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAZAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABwAAAAAAAAfgAAAAAAAA== version: 7 4,-4: ind: 4,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAwAHAAAAAAMABwAAAAABAAcAAAAAAwAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAYABwAAAAAGAAcAAAAAAgAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAwAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAABwAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAgBwAAAAAAEAfgAAAAAAAHoAAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAMABwAAAAAAAAcAAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAAB6AAAAAAMAfgAAAAAAAHAAAAAAAQBwAAAAAAEAcAAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAQB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAMAfgAAAAAAAH4AAAAAAABwAAAAAAEAcAAAAAABAHAAAAAAAgB+AAAAAAAAegAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB6AAAAAAIAfgAAAAAAAHoAAAAAAgB+AAAAAAAAcAAAAAABAHAAAAAAAABwAAAAAAAAfgAAAAAAAHoAAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAgB+AAAAAAAAfgAAAAAAAHAAAAAAAAB+AAAAAAAAcAAAAAADAH4AAAAAAAB6AAAAAAIAfgAAAAAAAH4AAAAAAAB6AAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAABAH4AAAAAAAB+AAAAAAAAegAAAAADAH4AAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAwB6AAAAAAEAegAAAAABAHoAAAAAAQB6AAAAAAIAegAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABwAAAAAAEAfgAAAAAAAH4AAAAAAAB6AAAAAAIAfgAAAAAAAHoAAAAAAAB+AAAAAAAAegAAAAACAH4AAAAAAAB+AAAAAAAAegAAAAABAHoAAAAAAQB+AAAAAAAAegAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAwAHAAAAAAMABwAAAAABAAcAAAAAAwAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAYABwAAAAAGAAcAAAAAAgAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAwAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAABwAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAgBwAAAAAAEAfgAAAAAAAHoAAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAMABwAAAAAAAAcAAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAAB6AAAAAAMAfgAAAAAAAHAAAAAAAQBwAAAAAAEAcAAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAQB+AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAMAfgAAAAAAAH4AAAAAAABwAAAAAAEAcAAAAAABAHAAAAAAAgB+AAAAAAAAegAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB6AAAAAAIAfgAAAAAAAHoAAAAAAgB+AAAAAAAAcAAAAAABAHAAAAAAAABwAAAAAAAAfgAAAAAAAHoAAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAgB+AAAAAAAAfgAAAAAAAHAAAAAAAAB+AAAAAAAAcAAAAAADAH4AAAAAAAB6AAAAAAIAfgAAAAAAAH4AAAAAAAB6AAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAABAH4AAAAAAAB+AAAAAAAAegAAAAADAH4AAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAwB6AAAAAAEAegAAAAABAHoAAAAAAQB6AAAAAAIAegAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABwAAAAAAEAfgAAAAAAAH4AAAAAAAB6AAAAAAIAfgAAAAAAAHoAAAAAAAB+AAAAAAAAegAAAAACAH4AAAAAAAB+AAAAAAAAegAAAAABAHoAAAAAAQB+AAAAAAAAegAAAAAAAA== version: 7 8,1: ind: 8,1 @@ -415,7 +416,7 @@ entities: version: 7 6,-4: ind: 6,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfwAAAAAAAH4AAAAAAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH8AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB/AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB/AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAUABwAAAAAAAAcAAAAAAAAHAAAAAAMAfwAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAAAAH8AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAQAHAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAABAAcAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAEAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAABAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAwB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfwAAAAAAAH4AAAAAAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH8AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB/AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB/AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAUABwAAAAAAAAcAAAAAAAAHAAAAAAMAfwAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAAAAH8AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAQAHAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAABAAcAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAEAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAABAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAwB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAA== version: 7 6,-5: ind: 6,-5 @@ -435,7 +436,7 @@ entities: version: 7 7,-3: ind: 7,-3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAABwAHAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAABwAHAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAA== version: 7 8,-2: ind: 8,-2 @@ -443,7 +444,7 @@ entities: version: 7 8,-3: ind: 8,-3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAB9AAAAAAAAfQAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAAB9AAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH0AAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAABwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAEABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAHAAAAAAEABwAAAAACAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAABgAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 7,-1: ind: 7,-1 @@ -495,39 +496,39 @@ entities: version: 7 8,2: ind: 8,2 - tiles: fgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAIAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAB/AAAAAAAABwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAUABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAMAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAARAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAcABwAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAIABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAA== + tiles: fgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAIAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAB/AAAAAAAABwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAUABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAMAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAcABwAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAIABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 8,3: ind: 8,3 - tiles: EQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAMABwAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAARAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAMAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAADAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAMABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAABAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: EQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAMABwAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAAHAAAAAAMAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAADAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH8AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAABwAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAMABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAABAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAABAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 7,3: ind: 7,3 - tiles: HwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAOAAAAAAAAH4AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAAARAAAAAAAAEQAAAAAAABEAAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAwAfAAAAAAIAHwAAAAADADgAAAAAAAB+AAAAAAAATwAAAAAAABEAAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAIAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAADAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAgA4AAAAAAAAfgAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAAfAAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAA4AAAAAAAAOAAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAACAB8AAAAAAgAfAAAAAAMAHwAAAAABADgAAAAAAAA4AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAcABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAMAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAcAAAAAAwAHAAAAAAcABwAAAAAFAAcAAAAABAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAMABwAAAAABAAcAAAAAAAAHAAAAAAAABwAAAAACAAcAAAAAAAAHAAAAAAAABwAAAAAHAAcAAAAAAAAHAAAAAAIABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAA== + tiles: HwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAOAAAAAAAAH4AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAAARAAAAAAAAEQAAAAAAABEAAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAwAfAAAAAAIAHwAAAAADADgAAAAAAAB+AAAAAAAATwAAAAAAABEAAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAIAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAADAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAgA4AAAAAAAAfgAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAAfAAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAA4AAAAAAAAOAAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAACAB8AAAAAAgAfAAAAAAMAHwAAAAABADgAAAAAAAA4AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB/AAAAAAAAfwAAAAAAAH8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAcABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAgAHAAAAAAMAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAcAAAAAAwAHAAAAAAcABwAAAAAFAAcAAAAABAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAMABwAAAAABAAcAAAAAAAAHAAAAAAAABwAAAAACAAcAAAAAAAAHAAAAAAAABwAAAAAHAAcAAAAAAAAHAAAAAAIABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAQAHAAAAAAAABwAAAAACAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAFAA== version: 7 8,4: ind: 8,4 - tiles: TwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: BwAAAAAAAAcAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 7,4: ind: 7,4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAFAAcAAAAAAwAHAAAAAAAABwAAAAABAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 6,3: ind: 6,3 - tiles: HwAAAAAAAB8AAAAAAwB+AAAAAAAAHwAAAAADABEAAAAAAAARAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAgARAAAAAAAAEQAAAAAAABEAAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAHwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAQAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAABAH4AAAAAAAAfAAAAAAMAEQAAAAAAABEAAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAABABEAAAAAAAARAAAAAAAAEQAAAAAAAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAHwAAAAACABEAAAAAAAARAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAAARAAAAAAAAEQAAAAAAABEAAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAwAfAAAAAAIAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAgB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAgAfAAAAAAAAEQAAAAAAABEAAAAAAAARAAAAAAAAHwAAAAADABEAAAAAAAARAAAAAAAAEQAAAAAAAB8AAAAAAwAfAAAAAAEAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: HwAAAAAAAB8AAAAAAwB+AAAAAAAAHwAAAAADABEAAAAAAAARAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAgARAAAAAAAAEQAAAAAAABEAAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAHwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAQAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAABAH4AAAAAAAAfAAAAAAMAEQAAAAAAABEAAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAABABEAAAAAAAARAAAAAAAAEQAAAAAAAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAHwAAAAACABEAAAAAAAARAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAAARAAAAAAAAEQAAAAAAABEAAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAwAfAAAAAAIAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAgB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAgAfAAAAAAAAEQAAAAAAABEAAAAAAAARAAAAAAAAHwAAAAADABEAAAAAAAARAAAAAAAAEQAAAAAAAB8AAAAAAwAfAAAAAAEAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAIABwAAAAADAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAAAAAAAAAAAAA== version: 7 - 7,-4: - ind: 7,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + 6,4: + ind: 6,4 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAUABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAACAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAEABwAAAAADAAcAAAAAAgAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAADAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAABwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAABwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 5,3: ind: 5,3 - tiles: HwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAHoAAAAAAgAfAAAAAAEAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAAOAAAAAAAAE8AAAAAAAA4AAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB6AAAAAAAAegAAAAACAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAwBAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAeQAAAAAAAHkAAAAAAwB5AAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAADAB8AAAAAAwAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAACAGwAAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAIAbAAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAGwAAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAwBsAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAIAbAAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAGwAAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAABsAAAAAAAAHwAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: HwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAHoAAAAAAgAfAAAAAAEAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAAOAAAAAAAAE8AAAAAAAA4AAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB6AAAAAAAAegAAAAACAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAwBAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAeQAAAAAAAHkAAAAAAwB5AAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAADAB8AAAAAAwAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAACAGwAAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAIAbAAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAGwAAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAwBsAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAIAbAAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAGwAAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAABsAAAAAAAAHwAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 5,4: ind: 5,4 - tiles: AAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAwBsAAAAAAAAHwAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAMAbAAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAACAGwAAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAQBsAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAfAAAAAAAAbAAAAAAAAB8AAAAAAAAfAAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAABAGwAAAAAAAAfAAAAAAMAHwAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAABsAAAAAAAAHwAAAAABAB8AAAAAAgB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAwBsAAAAAAAAHwAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAMAbAAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAACAGwAAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAB8AAAAAAQBsAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAAAbAAAAAAAAB8AAAAAAAAfAAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAABAGwAAAAAAAAfAAAAAAMAHwAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAABsAAAAAAAAHwAAAAABAB8AAAAAAgB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 5,2: ind: 5,2 @@ -535,7 +536,7 @@ entities: version: 7 4,3: ind: 4,3 - tiles: egAAAAACAHoAAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAgBsAAAAAAAAbAAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAADEAAAAAAAAxAAAAAAAAMQAAAAAAADEAAAAAAAAxAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAEAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAAAfAAAAAAEAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAACAGwAAAAAAABsAAAAAAAAHwAAAAACAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAEAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAwBsAAAAAAAAbAAAAAAAAB8AAAAAAgB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAADEAAAAAAAAxAAAAAAAAMQAAAAAAADEAAAAAAAAxAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAAfAAAAAAMAHwAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAADAGwAAAAAAABsAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAegAAAAABAHoAAAAAAwB+AAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAQBsAAAAAAAAbAAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAC8AAAAAAQB6AAAAAAEAfgAAAAAAADEAAAAAAAAxAAAAAAAAMQAAAAAAADEAAAAAAAAxAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAAvAAAAAAAAegAAAAACAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAAALwAAAAAAAHoAAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAADAB8AAAAAAQBsAAAAAAAAbAAAAAAAAB8AAAAAAQB+AAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAIAHwAAAAADAC8AAAAAAgB6AAAAAAEAfgAAAAAAAB8AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAvAAAAAAIAegAAAAADAH4AAAAAAAAfAAAAAAIAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAADAHoAAAAAAgB+AAAAAAAAHwAAAAABAB8AAAAAAgBsAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAAAHwAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: egAAAAACAHoAAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAgBsAAAAAAAAbAAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAADEAAAAAAAAxAAAAAAAAMQAAAAAAADEAAAAAAAAxAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAEAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAAAfAAAAAAEAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAACAGwAAAAAAABsAAAAAAAAHwAAAAACAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAEAHwAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAwBsAAAAAAAAbAAAAAAAAB8AAAAAAgB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAADEAAAAAAAAxAAAAAAAAMQAAAAAAADEAAAAAAAAxAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAAfAAAAAAMAHwAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAADAGwAAAAAAABsAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAABAHoAAAAAAwB+AAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAQBsAAAAAAAAbAAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAC8AAAAAAQB6AAAAAAEAfgAAAAAAADEAAAAAAAAxAAAAAAAAMQAAAAAAADEAAAAAAAAxAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAAvAAAAAAAAegAAAAACAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAAALwAAAAAAAHoAAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAADAB8AAAAAAQBsAAAAAAAAbAAAAAAAAB8AAAAAAQB+AAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAIAHwAAAAADAC8AAAAAAgB6AAAAAAEAfgAAAAAAAB8AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAvAAAAAAIAegAAAAADAH4AAAAAAAAfAAAAAAIAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAADAHoAAAAAAgB+AAAAAAAAHwAAAAABAB8AAAAAAgBsAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAAAHwAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 4,2: ind: 4,2 @@ -551,11 +552,11 @@ entities: version: 7 3,4: ind: 3,4 - tiles: DgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAA== + tiles: DgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAA== version: 7 4,4: ind: 4,4 - tiles: fQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: fQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 2,4: ind: 2,4 @@ -567,7 +568,7 @@ entities: version: 7 7,-5: ind: 7,-5 - tiles: fQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: fQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 3,5: ind: 3,5 @@ -583,15 +584,15 @@ entities: version: 7 0,5: ind: 0,5 - tiles: AAAAAAAAAAcAAAAAAAAHAAAAAAQAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAcABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAABQAHAAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAcAAAAAAAAHAAAAAAQAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAcABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAABQAHAAAAAAAAfgAAAAAAAH4AAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAcAAAAAAAB+AAAAAAAABwAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 1,5: ind: 1,5 tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 - -4,5: - ind: -4,5 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + -1,5: + ind: -1,5 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 - type: Broadphase - type: Physics @@ -626,6 +627,7 @@ entities: color: '#FFFFFFFF' id: Arrows decals: + 3591: 58,-30 4105: 30,50 5749: 91,1 5752: 93,1 @@ -640,6 +642,7 @@ entities: id: Arrows decals: 3043: -31,-42 + 3592: 56,-29 4500: 28,-51 5416: 86,-22 5417: 69,-27 @@ -653,6 +656,8 @@ entities: color: '#FFFFFFFF' id: Arrows decals: + 3593: 56,-31 + 3594: 58,-31 7647: 125,-4 7648: 125,-8 8443: 99,30 @@ -743,6 +748,8 @@ entities: color: '#EFB341FF' id: Bot decals: + 1957: 43,3 + 1958: 46,3 4810: 110,-18 4811: 109,-18 4812: 108,-18 @@ -777,7 +784,20 @@ entities: 1181: 4,21 1182: 7,25 1183: 7,26 + 1570: 30,14 + 1571: 31,10 + 1572: 31,11 + 1573: 27,13 1586: 29,10 + 1587: 27,10 + 1588: 34,9 + 1589: 33,9 + 1590: 33,11 + 1591: 34,11 + 1592: 34,14 + 1593: 33,14 + 1594: 34,12 + 1595: 33,12 1708: 33,21 1709: 33,22 1726: 12,-26 @@ -804,8 +824,21 @@ entities: 1831: 49,20 1832: 51,21 1833: 49,21 + 1866: 41,10 + 1867: 41,11 + 1868: 51,10 + 1869: 51,11 + 1870: 46,11 + 1871: 41,9 + 1872: 51,9 1941: 48,1 1942: 48,2 + 2000: 18,9 + 2001: 17,9 + 2002: 16,9 + 2003: 15,9 + 2004: 15,15 + 2005: 16,15 2006: 16,11 2007: 17,11 2008: 18,11 @@ -875,6 +908,22 @@ entities: 3542: 51,-33 3543: 52,-33 3544: 53,-33 + 3597: 57,-41 + 3598: 57,-40 + 3599: 57,-39 + 3600: 57,-38 + 3601: 55,-40 + 3602: 55,-39 + 3603: 55,-38 + 3615: 59,-41 + 3616: 60,-41 + 3617: 61,-41 + 3618: 61,-40 + 3619: 60,-40 + 3620: 59,-40 + 3621: 59,-39 + 3622: 60,-39 + 3623: 61,-39 3683: 50,-38 3684: 49,-38 3695: 32,-32 @@ -915,6 +964,7 @@ entities: 4714: 37,-20 4731: 29,-23 4732: 27,-23 + 4748: 55,-44 4875: 62,-21 4876: 62,-20 4877: 62,-19 @@ -1000,6 +1050,10 @@ entities: 6849: -45,-3 6850: -47,-4 6951: -31,1 + 7022: 37,-50 + 7023: 36,-49 + 7024: 38,-49 + 7025: 37,-48 7079: 38,-8 7080: 38,-6 7184: 105,28 @@ -1023,6 +1077,7 @@ entities: 7930: 81,-27 7931: 82,-27 7939: 5,47 + 7941: 21,7 7943: 50,-19 7998: 95,42 7999: 95,43 @@ -1037,62 +1092,28 @@ entities: 8772: 120,49 8773: 96,49 8774: 89,47 + 8813: 36,12 + 8814: 36,11 + 8840: 37,12 + 8841: 38,12 + 8842: 39,12 + 8843: 38,14 + 8844: 37,14 + 8855: 14,13 + 8856: 14,14 + 8858: 27,14 + 8859: 36,1 + 8860: 33,1 + 8861: 30,1 + 8862: 27,1 8873: 32,-27 8874: 4,30 - 9022: 18,9 - 9023: 17,9 - 9024: 16,9 - 9025: 15,9 - 9026: 14,13 - 9027: 14,14 - 9066: 31,11 - 9067: 31,10 - 9068: 27,10 - 9069: 27,14 - 9070: 30,14 - 9090: 34,14 - 9091: 33,14 - 9092: 33,12 - 9093: 34,12 - 9094: 33,11 - 9095: 34,11 - 9096: 33,9 - 9097: 34,9 - 9098: 36,11 - 9099: 37,12 - 9100: 38,12 - 9101: 39,12 - 9102: 39,14 - 9103: 38,14 - 9104: 37,14 - 9147: 36,1 - 9148: 33,1 - 9149: 30,1 - 9150: 27,1 - 9591: 57,-43 - 9593: 57,-44 - 9594: 58,-43 - 9595: 58,-44 - 9596: 59,-43 - 9597: 59,-44 - 9598: 60,-43 - 9599: 60,-44 - 9600: 61,-43 - 9601: 61,-44 - 9602: 62,-43 - 9603: 62,-44 - 9616: 53,-35 - 9617: 53,-36 - 9618: 51,-35 - 9619: 51,-36 - 9620: 55,-28 - 9621: 56,-28 - 9622: 58,-28 - 9623: 58,-32 - 9624: 57,-32 - 9625: 57,-36 - 9626: 58,-36 - 9627: 58,-40 + - node: + cleanable: True + color: '#FFFFFFFF' + id: Bot + decals: + 6828: 21,30 - node: color: '#DE3A3A96' id: BotGreyscale @@ -1120,6 +1141,12 @@ entities: 5169: 119,-25 5170: 120,-24 5171: 121,-25 + - node: + color: '#FFFFFFFF' + id: BotLeft + decals: + 7018: 38,-48 + 7019: 36,-50 - node: color: '#FFFFFFFF' id: BotLeftGreyscale @@ -1131,6 +1158,8 @@ entities: color: '#FFFFFFFF' id: BotRight decals: + 7020: 38,-50 + 7021: 36,-48 8436: 94,29 8437: 96,29 8438: 98,29 @@ -1156,6 +1185,7 @@ entities: 2232: 7,-18 3379: 46,-22 3380: 46,-24 + 3590: 56,-32 3691: 48,-40 3856: 24,38 3857: 21,38 @@ -1182,71 +1212,33 @@ entities: 8853: 14,9 - node: color: '#FFFFFFFF' - id: BrickTileDarkBox + id: BoxGreyscale decals: - 1088: -13,61 + 5729: 20,18 + 5730: 18,18 - node: - color: '#00BFBCFF' - id: BrickTileDarkCornerNe + color: '#FFFFFFFF' + id: BrickTileDarkBox decals: - 8981: 21,19 - 9052: 31,14 - 9105: 39,10 - 9112: 28,3 - 9121: 39,3 - 9122: 34,3 - 9123: 31,3 + 1088: -13,61 - node: color: '#FFFFFFFF' id: BrickTileDarkCornerNe decals: 761: -24,28 1073: -15,63 - - node: - color: '#00BFBCFF' - id: BrickTileDarkCornerNw - decals: - 8980: 17,19 - 9053: 27,14 - 9106: 38,10 - 9111: 27,3 - 9118: 36,3 - 9119: 33,3 - 9120: 30,3 - node: color: '#FFFFFFFF' id: BrickTileDarkCornerNw decals: 758: -29,28 1083: -11,63 - - node: - color: '#00BFBCFF' - id: BrickTileDarkCornerSe - decals: - 8978: 21,17 - 9051: 31,9 - 9107: 39,9 - 9110: 28,1 - 9127: 39,1 - 9128: 34,1 - 9129: 31,1 - node: color: '#FFFFFFFF' id: BrickTileDarkCornerSe decals: 759: -24,27 6422: 78,44 - - node: - color: '#00BFBCFF' - id: BrickTileDarkCornerSw - decals: - 8979: 17,17 - 9054: 27,9 - 9108: 38,9 - 9109: 27,1 - 9124: 36,1 - 9125: 33,1 - 9126: 30,1 - node: color: '#FFFFFFFF' id: BrickTileDarkCornerSw @@ -1303,18 +1295,6 @@ entities: 552: -30,30 1118: -8,75 1809: 18,-3 - - node: - color: '#00BFBCFF' - id: BrickTileDarkLineE - decals: - 9059: 31,13 - 9060: 31,12 - 9061: 31,11 - 9062: 31,10 - 9113: 28,2 - 9130: 39,2 - 9131: 34,2 - 9132: 31,2 - node: color: '#FFFFFFFF' id: BrickTileDarkLineE @@ -1347,16 +1327,6 @@ entities: 8471: 73,13 8472: 73,14 8494: 73,15 - - node: - color: '#00BFBCFF' - id: BrickTileDarkLineN - decals: - 8982: 18,19 - 8983: 19,19 - 8984: 20,19 - 9058: 30,14 - 9135: 37,3 - 9136: 38,3 - node: color: '#FFFFFFFF' id: BrickTileDarkLineN @@ -1371,17 +1341,6 @@ entities: 8617: 29,-25 8618: 28,-25 8619: 27,-25 - - node: - color: '#00BFBCFF' - id: BrickTileDarkLineS - decals: - 8985: 18,17 - 8986: 19,17 - 8987: 20,17 - 9064: 29,9 - 9065: 28,9 - 9133: 37,1 - 9134: 38,1 - node: color: '#FFFFFFFF' id: BrickTileDarkLineS @@ -1401,18 +1360,6 @@ entities: 1808: 16,-3 6423: 77,44 6424: 76,44 - - node: - color: '#00BFBCFF' - id: BrickTileDarkLineW - decals: - 8988: 17,18 - 9055: 27,10 - 9056: 27,12 - 9057: 27,13 - 9114: 27,2 - 9115: 36,2 - 9116: 33,2 - 9117: 30,2 - node: color: '#FFFFFFFF' id: BrickTileDarkLineW @@ -1436,40 +1383,11 @@ entities: 8614: 30,-22 8615: 30,-23 8616: 30,-24 - - node: - color: '#00BFBCFF' - id: BrickTileSteelBox - decals: - 8951: 19,30 - 8952: 18,30 - 8953: 17,30 - node: color: '#EFB34196' id: BrickTileSteelBox decals: 7944: 18,-18 - - node: - color: '#00BFBCFF' - id: BrickTileSteelCornerNe - decals: - 8945: 21,29 - 8989: 21,15 - 9296: 28,30 - 9307: 32,26 - 9332: 51,11 - 9338: 42,15 - 9350: 45,15 - 9351: 48,15 - 9352: 51,15 - 9428: 73,-9 - 9446: 43,-21 - 9460: 13,-10 - 9485: -14,-9 - 9486: -8,-9 - 9510: -36,50 - 9511: -36,45 - 9531: 24,55 - 9532: 27,55 - node: color: '#334E6DC8' id: BrickTileSteelCornerNe @@ -1487,27 +1405,15 @@ entities: decals: 4624: 45,-33 - node: - color: '#00BFBCFF' - id: BrickTileSteelCornerNw + color: '#DE3A3A96' + id: BrickTileSteelCornerNe decals: - 8993: 15,15 - 8994: 14,14 - 9019: 19,7 - 9298: 27,30 - 9333: 41,11 - 9339: 41,15 - 9353: 50,15 - 9354: 47,15 - 9355: 44,15 - 9429: 71,-9 - 9447: 41,-21 - 9461: 11,-10 - 9487: -16,-9 - 9488: -12,-9 - 9512: -38,45 - 9513: -38,50 - 9533: 21,55 - 9534: 26,55 + 1505: 28,3 + 1506: 31,3 + 1507: 34,3 + 1508: 39,3 + 1552: 31,14 + 5714: 21,19 - node: color: '#334E6DC8' id: BrickTileSteelCornerNw @@ -1524,30 +1430,20 @@ entities: decals: 4628: 41,-33 - node: - color: '#FFFFFFFF' + color: '#DE3A3A96' id: BrickTileSteelCornerNw decals: - 8529: 66,12 + 1553: 27,14 + 5715: 17,19 + 8864: 27,3 + 8865: 30,3 + 8866: 33,3 + 8867: 36,3 - node: - color: '#00BFBCFF' - id: BrickTileSteelCornerSe + color: '#FFFFFFFF' + id: BrickTileSteelCornerNw decals: - 8992: 21,9 - 9297: 28,28 - 9308: 33,16 - 9334: 51,9 - 9341: 42,13 - 9356: 45,13 - 9357: 48,13 - 9358: 51,13 - 9430: 73,-11 - 9462: 13,-13 - 9491: -14,-11 - 9492: -8,-11 - 9515: -36,42 - 9525: -36,47 - 9537: 27,53 - 9538: 24,53 + 8529: 66,12 - node: color: '#334E6DC8' id: BrickTileSteelCornerSe @@ -1566,25 +1462,15 @@ entities: 4739: 30,-27 4740: 29,-28 - node: - color: '#00BFBCFF' - id: BrickTileSteelCornerSw + color: '#DE3A3A96' + id: BrickTileSteelCornerSe decals: - 8990: 14,12 - 8991: 15,9 - 9309: 27,16 - 9335: 41,9 - 9340: 41,13 - 9359: 50,13 - 9360: 47,13 - 9361: 44,13 - 9431: 71,-11 - 9448: 41,-24 - 9463: 11,-13 - 9489: -16,-11 - 9490: -12,-11 - 9514: -38,47 - 9535: 21,53 - 9536: 26,53 + 1513: 39,1 + 1514: 34,1 + 1515: 31,1 + 1516: 28,1 + 1555: 31,9 + 5716: 21,17 - node: color: '#334E6DC8' id: BrickTileSteelCornerSw @@ -1596,6 +1482,16 @@ entities: decals: 4631: 41,-36 4742: 27,-28 + - node: + color: '#DE3A3A96' + id: BrickTileSteelCornerSw + decals: + 1517: 27,1 + 1518: 30,1 + 1519: 33,1 + 1520: 36,1 + 1554: 27,9 + 5717: 17,17 - node: color: '#FFFFFFFF' id: BrickTileSteelCornerSw @@ -1612,11 +1508,6 @@ entities: id: BrickTileSteelInnerNe decals: 942: -38,52 - - node: - color: '#00BFBCFF' - id: BrickTileSteelInnerNw - decals: - 8995: 15,14 - node: color: '#D381C996' id: BrickTileSteelInnerNw @@ -1646,11 +1537,6 @@ entities: decals: 940: -38,58 7440: 57,38 - - node: - color: '#00BFBCFF' - id: BrickTileSteelInnerSw - decals: - 8996: 15,12 - node: color: '#D381C996' id: BrickTileSteelInnerSw @@ -1663,54 +1549,6 @@ entities: decals: 939: -32,58 7439: 61,38 - - node: - color: '#00BFBCFF' - id: BrickTileSteelLineE - decals: - 8943: 21,27 - 8944: 21,28 - 8960: 25,30 - 8961: 25,29 - 8962: 25,27 - 8963: 25,26 - 8964: 25,24 - 8965: 25,23 - 8966: 25,22 - 8967: 25,21 - 8975: 25,19 - 8976: 25,17 - 8977: 25,16 - 9005: 21,12 - 9013: 25,9 - 9014: 25,10 - 9015: 25,11 - 9016: 25,12 - 9017: 25,13 - 9018: 25,14 - 9050: 39,6 - 9300: 28,29 - 9301: 32,25 - 9302: 32,24 - 9303: 32,23 - 9304: 33,20 - 9305: 33,19 - 9306: 33,17 - 9337: 51,10 - 9343: 42,14 - 9344: 45,14 - 9345: 48,14 - 9346: 51,14 - 9432: 73,-10 - 9450: 43,-23 - 9451: 43,-22 - 9466: 13,-12 - 9467: 13,-11 - 9505: -36,44 - 9506: -36,43 - 9507: -36,48 - 9508: -36,49 - 9539: 24,54 - 9540: 27,54 - node: color: '#52B4E996' id: BrickTileSteelLineE @@ -1745,6 +1583,18 @@ entities: 6979: 34,-49 6980: 34,-48 6981: 34,-47 + - node: + color: '#DE3A3A96' + id: BrickTileSteelLineE + decals: + 1526: 31,2 + 1527: 28,2 + 1528: 34,2 + 1529: 39,2 + 1562: 31,10 + 1563: 31,11 + 1564: 31,12 + 1565: 31,13 - node: color: '#FFFFFFFF' id: BrickTileSteelLineE @@ -1765,43 +1615,6 @@ entities: 5097: 56,8 5098: 55,8 5099: 54,8 - - node: - color: '#00BFBCFF' - id: BrickTileSteelLineN - decals: - 8946: 20,29 - 8948: 19,29 - 8949: 18,29 - 8950: 17,29 - 9006: 16,15 - 9007: 17,15 - 9008: 18,15 - 9009: 19,15 - 9010: 20,15 - 9020: 21,7 - 9021: 20,7 - 9028: 26,7 - 9029: 27,7 - 9030: 29,7 - 9031: 34,7 - 9032: 33,7 - 9033: 32,7 - 9034: 31,7 - 9035: 37,7 - 9036: 36,7 - 9320: 31,26 - 9321: 28,26 - 9323: 44,11 - 9324: 43,11 - 9325: 49,11 - 9326: 48,11 - 9433: 72,-9 - 9496: -11,-9 - 9497: -10,-9 - 9498: -9,-9 - 9509: -37,50 - 9543: 23,55 - 9544: 22,55 - node: color: '#9FED5896' id: BrickTileSteelLineN @@ -1825,6 +1638,16 @@ entities: 7006: 37,-52 7007: 36,-52 7008: 35,-52 + - node: + color: '#DE3A3A96' + id: BrickTileSteelLineN + decals: + 1521: 38,3 + 1532: 37,3 + 1556: 30,14 + 5722: 20,19 + 5723: 19,19 + 5724: 18,19 - node: color: '#FFFFFFFF' id: BrickTileSteelLineN @@ -1847,45 +1670,6 @@ entities: 8698: -4,40 8699: -5,40 8700: -6,40 - - node: - color: '#00BFBCFF' - id: BrickTileSteelLineS - decals: - 8941: 19,25 - 8942: 20,25 - 9000: 16,9 - 9001: 17,9 - 9002: 18,9 - 9003: 19,9 - 9004: 20,9 - 9037: 38,5 - 9038: 35,5 - 9039: 36,5 - 9040: 32,5 - 9041: 33,5 - 9042: 30,5 - 9043: 29,5 - 9044: 26,5 - 9045: 27,5 - 9046: 24,5 - 9047: 20,5 - 9048: 21,5 - 9049: 22,5 - 9317: 30,16 - 9318: 31,16 - 9319: 32,16 - 9327: 47,9 - 9328: 48,9 - 9329: 49,9 - 9330: 44,9 - 9331: 45,9 - 9449: 42,-24 - 9493: -9,-11 - 9494: -10,-11 - 9495: -11,-11 - 9499: -15,-11 - 9541: 23,53 - 9542: 22,53 - node: color: '#D381C996' id: BrickTileSteelLineS @@ -1903,6 +1687,17 @@ entities: 7011: 37,-46 7012: 36,-46 7013: 35,-46 + - node: + color: '#DE3A3A96' + id: BrickTileSteelLineS + decals: + 1530: 38,1 + 1531: 37,1 + 1557: 29,9 + 1558: 28,9 + 5719: 20,17 + 5720: 19,17 + 5721: 18,17 - node: color: '#FFFFFFFF' id: BrickTileSteelLineS @@ -1925,45 +1720,6 @@ entities: 8521: 69,7 8522: 68,7 8523: 67,7 - - node: - color: '#00BFBCFF' - id: BrickTileSteelLineW - decals: - 8958: 23,30 - 8959: 23,29 - 8968: 23,24 - 8969: 23,23 - 8970: 23,21 - 8972: 23,19 - 8973: 23,16 - 8974: 23,17 - 8997: 14,13 - 8998: 15,11 - 8999: 15,10 - 9011: 23,12 - 9012: 23,9 - 9299: 27,29 - 9310: 27,17 - 9311: 27,19 - 9312: 27,20 - 9313: 27,21 - 9315: 27,23 - 9316: 27,24 - 9322: 23,27 - 9336: 41,10 - 9342: 41,14 - 9347: 50,14 - 9348: 47,14 - 9349: 44,14 - 9452: 41,-23 - 9453: 41,-22 - 9464: 11,-11 - 9465: 11,-12 - 9500: -16,-10 - 9501: -38,49 - 9502: -38,48 - 9503: -38,44 - 9504: -38,43 - node: color: '#52B4E996' id: BrickTileSteelLineW @@ -1997,6 +1753,18 @@ entities: 6984: 40,-49 6985: 40,-48 6986: 40,-47 + - node: + color: '#DE3A3A96' + id: BrickTileSteelLineW + decals: + 1522: 27,2 + 1523: 30,2 + 1524: 33,2 + 1559: 27,10 + 1560: 27,12 + 1561: 27,13 + 5718: 17,18 + 8868: 36,2 - node: color: '#FFFFFFFF' id: BrickTileSteelLineW @@ -2044,8 +1812,29 @@ entities: 3340: 48,-15 3345: 44,-14 3386: 53,-23 + 3566: 58,-33 6963: 39,-47 - 9570: 57,-37 + - node: + color: '#DE3A3A44' + id: BrickTileWhiteCornerNe + decals: + 1655: 39,10 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteCornerNe + decals: + 495: -14,-9 + 571: -36,50 + 572: -36,45 + 1681: 32,26 + 1850: 51,11 + 1984: 21,15 + 2036: 28,30 + 2577: 13,-10 + 3504: 43,-21 + 4129: 24,55 + 4139: 27,55 + 4980: 73,-9 - node: color: '#EFB34196' id: BrickTileWhiteCornerNe @@ -2095,10 +1884,30 @@ entities: 3328: 36,-16 3344: 40,-14 3385: 50,-23 + 3644: 55,-28 6964: 35,-47 - 9552: 57,-27 - 9561: 55,-29 - 9587: 54,-31 + - node: + color: '#DE3A3A44' + id: BrickTileWhiteCornerNw + decals: + 1654: 38,10 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteCornerNw + decals: + 492: -16,-9 + 577: -38,50 + 578: -38,45 + 1484: 19,7 + 1851: 41,11 + 1975: 14,14 + 1978: 15,15 + 2034: 27,30 + 2570: 11,-10 + 3503: 41,-21 + 4128: 21,55 + 4140: 26,55 + 4981: 71,-9 - node: color: '#EFB34196' id: BrickTileWhiteCornerNw @@ -2148,9 +1957,30 @@ entities: decals: 3337: 48,-18 3550: 49,-36 + 3565: 58,-34 + 3567: 58,-31 3665: 39,-40 6962: 39,-51 - 9558: 57,-31 + - node: + color: '#DE3A3A44' + id: BrickTileWhiteCornerSe + decals: + 1653: 39,9 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteCornerSe + decals: + 494: -14,-11 + 573: -36,42 + 574: -36,47 + 1688: 33,16 + 1852: 51,9 + 1964: 21,9 + 2035: 28,28 + 2571: 13,-13 + 4130: 24,53 + 4143: 27,53 + 4982: 73,-11 - node: color: '#EFB34196' id: BrickTileWhiteCornerSe @@ -2198,10 +2028,31 @@ entities: decals: 3329: 36,-18 3551: 47,-36 + 3582: 56,-42 + 3645: 55,-29 3666: 37,-40 6965: 35,-51 - 9576: 55,-41 - 9582: 54,-36 + - node: + color: '#DE3A3A44' + id: BrickTileWhiteCornerSw + decals: + 1656: 38,9 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteCornerSw + decals: + 493: -16,-11 + 575: -38,47 + 576: -38,42 + 1692: 27,16 + 1853: 41,9 + 1970: 15,9 + 2572: 11,-13 + 3505: 41,-24 + 4131: 21,53 + 4142: 26,53 + 4979: 71,-11 + 8857: 14,12 - node: color: '#EFB34196' id: BrickTileWhiteCornerSw @@ -2218,12 +2069,6 @@ entities: id: BrickTileWhiteCornerSw decals: 3718: 51,-20 - - node: - color: '#D381C996' - id: BrickTileWhiteEndE - decals: - 9551: 58,-27 - 9574: 58,-41 - node: color: '#52B4E996' id: BrickTileWhiteEndS @@ -2245,8 +2090,8 @@ entities: id: BrickTileWhiteInnerNe decals: 3346: 44,-15 - 9569: 56,-37 - 9589: 57,-41 + 3581: 56,-42 + 3654: 57,-33 - node: color: '#EFB34196' id: BrickTileWhiteInnerNe @@ -2280,8 +2125,13 @@ entities: decals: 3348: 40,-16 3429: 50,-26 - 9559: 57,-29 - 9588: 55,-31 + 3642: 57,-28 + 3648: 56,-31 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteInnerNw + decals: + 1977: 15,14 - node: color: '#FF81C996' id: BrickTileWhiteInnerNw @@ -2304,8 +2154,7 @@ entities: decals: 3393: 49,-28 3402: 39,-28 - 9554: 57,-27 - 9563: 56,-31 + 3655: 57,-31 - node: color: '#FF81C996' id: BrickTileWhiteInnerSe @@ -2332,7 +2181,12 @@ entities: id: BrickTileWhiteInnerSw decals: 3394: 47,-28 - 9581: 55,-36 + 3646: 56,-29 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteInnerSw + decals: + 8849: 15,12 - node: color: '#FF81C996' id: BrickTileWhiteInnerSw @@ -2432,6 +2286,16 @@ entities: 3547: 49,-32 3548: 49,-33 3549: 49,-35 + 3568: 58,-30 + 3569: 58,-29 + 3570: 58,-28 + 3572: 56,-36 + 3573: 56,-35 + 3574: 56,-37 + 3575: 56,-38 + 3576: 56,-39 + 3577: 56,-40 + 3578: 56,-41 3656: 39,-30 3657: 39,-31 3658: 39,-32 @@ -2444,17 +2308,6 @@ entities: 6972: 39,-50 6973: 39,-49 6974: 39,-48 - 9555: 57,-28 - 9556: 57,-29 - 9557: 57,-30 - 9564: 56,-32 - 9565: 56,-33 - 9566: 56,-34 - 9567: 56,-35 - 9568: 56,-36 - 9571: 57,-38 - 9572: 57,-39 - 9573: 57,-40 - node: color: '#D4D4D453' id: BrickTileWhiteLineE @@ -2465,6 +2318,47 @@ entities: color: '#DE3A3A96' id: BrickTileWhiteLineE decals: + 579: -36,43 + 580: -36,44 + 581: -36,48 + 582: -36,49 + 1458: 25,1 + 1459: 25,2 + 1460: 25,3 + 1504: 39,6 + 1663: 25,9 + 1664: 25,10 + 1665: 25,11 + 1666: 25,12 + 1667: 25,13 + 1668: 25,14 + 1682: 32,25 + 1683: 32,24 + 1684: 32,23 + 1685: 33,20 + 1686: 33,19 + 1687: 33,17 + 1773: 25,16 + 1774: 25,17 + 1775: 25,19 + 1776: 25,21 + 1777: 25,22 + 1778: 25,23 + 1779: 25,24 + 1780: 25,26 + 1781: 25,27 + 1854: 51,10 + 1963: 21,12 + 2037: 28,29 + 2050: 25,29 + 2051: 25,30 + 2575: 13,-12 + 2576: 13,-11 + 3509: 43,-23 + 3510: 43,-22 + 4136: 24,54 + 4141: 27,54 + 4983: 73,-10 6204: 56,26 6205: 56,27 6206: 56,29 @@ -2585,6 +2479,7 @@ entities: 2522: 16,-30 2523: 17,-30 2537: 19,-25 + 7940: 21,7 - node: color: '#D381C996' id: BrickTileWhiteLineN @@ -2605,10 +2500,13 @@ entities: 3426: 46,-26 3427: 48,-26 3428: 49,-26 + 3579: 57,-42 + 3643: 56,-28 + 3649: 55,-31 + 3650: 54,-31 6966: 37,-47 6967: 36,-47 6968: 38,-47 - 9560: 56,-29 - node: color: '#D4D4D496' id: BrickTileWhiteLineN @@ -2619,6 +2517,37 @@ entities: 5082: 54,2 5083: 55,2 5084: 56,2 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteLineN + decals: + 668: -38,40 + 669: -37,40 + 1474: 37,7 + 1475: 36,7 + 1476: 34,7 + 1477: 33,7 + 1478: 32,7 + 1479: 31,7 + 1480: 29,7 + 1481: 27,7 + 1482: 26,7 + 1483: 20,7 + 1679: 28,26 + 1680: 31,26 + 1856: 43,11 + 1857: 44,11 + 1858: 46,11 + 1859: 49,11 + 1860: 48,11 + 1979: 16,15 + 1980: 17,15 + 1981: 18,15 + 1982: 19,15 + 1983: 20,15 + 4134: 23,55 + 4135: 22,55 + 4984: 72,-9 - node: color: '#EFB34196' id: BrickTileWhiteLineN @@ -2779,6 +2708,8 @@ entities: 3399: 42,-28 3400: 41,-28 3401: 40,-28 + 3571: 57,-34 + 3580: 57,-42 4987: 56,-13 4988: 55,-13 4989: 54,-13 @@ -2787,8 +2718,6 @@ entities: 6969: 38,-51 6970: 37,-51 6971: 36,-51 - 9575: 57,-41 - 9590: 56,-41 - node: color: '#D4D4D496' id: BrickTileWhiteLineS @@ -2799,6 +2728,40 @@ entities: 5398: 73,-4 5399: 72,-4 5400: 71,-4 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteLineS + decals: + 497: -15,-11 + 1464: 24,5 + 1465: 26,5 + 1466: 27,5 + 1467: 29,5 + 1468: 30,5 + 1469: 32,5 + 1470: 33,5 + 1471: 35,5 + 1472: 36,5 + 1473: 38,5 + 1485: 20,5 + 1486: 21,5 + 1487: 22,5 + 1689: 32,16 + 1690: 31,16 + 1691: 30,16 + 1861: 49,9 + 1862: 48,9 + 1863: 47,9 + 1864: 45,9 + 1865: 44,9 + 1965: 20,9 + 1966: 19,9 + 1967: 18,9 + 1968: 17,9 + 1969: 16,9 + 3506: 42,-24 + 4132: 22,53 + 4133: 23,53 - node: color: '#EFB34196' id: BrickTileWhiteLineS @@ -2941,6 +2904,15 @@ entities: 3554: 47,-32 3555: 47,-31 3556: 47,-30 + 3583: 56,-41 + 3584: 56,-40 + 3585: 56,-39 + 3586: 56,-38 + 3587: 56,-37 + 3588: 56,-36 + 3589: 56,-35 + 3641: 57,-27 + 3647: 56,-30 3667: 37,-38 3668: 37,-37 3669: 37,-36 @@ -2951,16 +2923,6 @@ entities: 6975: 35,-49 6976: 35,-48 7003: 35,-50 - 9553: 57,-28 - 9562: 55,-30 - 9577: 55,-40 - 9578: 55,-39 - 9579: 55,-38 - 9580: 55,-37 - 9583: 54,-35 - 9584: 54,-34 - 9585: 54,-33 - 9586: 54,-32 - node: color: '#D4D4D496' id: BrickTileWhiteLineW @@ -2970,6 +2932,45 @@ entities: 5799: 95,-20 5800: 102,-21 5801: 102,-20 + - node: + color: '#DE3A3A96' + id: BrickTileWhiteLineW + decals: + 496: -16,-10 + 583: -38,48 + 584: -38,49 + 585: -38,43 + 586: -38,44 + 1461: 23,1 + 1462: 23,2 + 1463: 23,3 + 1657: 23,9 + 1658: 23,12 + 1693: 27,17 + 1694: 27,19 + 1695: 27,20 + 1696: 27,21 + 1697: 27,22 + 1698: 27,23 + 1699: 27,24 + 1766: 23,16 + 1767: 23,17 + 1768: 23,19 + 1769: 23,21 + 1770: 23,23 + 1771: 23,24 + 1772: 23,27 + 1855: 41,10 + 1971: 15,10 + 1976: 14,13 + 2038: 27,29 + 2052: 23,29 + 2053: 23,30 + 2573: 11,-12 + 2574: 11,-11 + 3507: 41,-23 + 3508: 41,-22 + 8847: 15,11 - node: color: '#EFB34196' id: BrickTileWhiteLineW @@ -3203,43 +3204,6 @@ entities: id: Caution decals: 8758: 94,1 - - node: - color: '#00807EFF' - id: CheckerNESW - decals: - 9243: 43,7 - 9244: 42,7 - 9245: 41,7 - 9246: 41,6 - 9248: 43,6 - 9249: 42,6 - 9250: 43,5 - 9251: 42,5 - 9252: 41,5 - 9253: 49,4 - 9254: 50,4 - 9255: 51,4 - 9256: 50,3 - 9257: 51,3 - 9258: 51,5 - 9259: 50,5 - 9260: 49,5 - 9261: 49,6 - 9262: 50,6 - 9263: 51,6 - 9264: 51,7 - 9265: 19,3 - 9266: 19,2 - 9267: 20,3 - 9268: 21,3 - 9269: 21,2 - 9270: 20,2 - 9271: 20,1 - 9272: 19,1 - 9273: 21,1 - 9274: 22,3 - 9275: 22,2 - 9276: 22,1 - node: color: '#334E6DC8' id: CheckerNESW @@ -3718,6 +3682,36 @@ entities: color: '#DE3A3A96' id: CheckerNESW decals: + 1599: 41,5 + 1600: 41,6 + 1601: 41,7 + 1602: 42,7 + 1603: 42,5 + 1604: 42,6 + 1605: 43,5 + 1606: 43,6 + 1607: 43,7 + 1608: 50,3 + 1609: 51,3 + 1610: 51,4 + 1611: 50,4 + 1612: 49,4 + 1613: 49,5 + 1614: 50,5 + 1615: 51,5 + 1616: 51,7 + 1617: 51,6 + 1618: 50,6 + 1619: 49,6 + 2025: 21,1 + 2026: 21,2 + 2027: 21,3 + 2028: 20,3 + 2029: 20,2 + 2030: 20,1 + 2031: 19,1 + 2032: 19,2 + 2033: 19,3 2710: 20,-12 - node: color: '#EFB34196' @@ -3885,28 +3879,6 @@ entities: 48: -10,26 49: -9,26 50: -9,25 - - node: - color: '#00807E81' - id: CheckerNWSE - decals: - 9277: 34,26 - 9279: 35,26 - 9280: 35,25 - 9281: 34,25 - 9282: 34,24 - 9283: 35,24 - 9284: 18,23 - 9285: 17,23 - 9286: 16,23 - 9287: 15,23 - 9288: 15,22 - 9289: 16,22 - 9290: 17,22 - 9291: 18,22 - 9292: 18,21 - 9293: 17,21 - 9294: 16,21 - 9295: 15,21 - node: color: '#334E6DC8' id: CheckerNWSE @@ -4024,6 +3996,11 @@ entities: 103: -8,10 104: -8,9 105: -7,9 + 1673: 35,24 + 1674: 34,24 + 1675: 34,25 + 1676: 34,26 + 1677: 35,26 2054: 8,-3 2055: 8,-2 2056: 8,-1 @@ -4437,6 +4414,19 @@ entities: 3442: 33,-40 3443: 47,-38 3444: 54,-30 + 3595: 55,-42 + 3596: 55,-41 + 3613: 59,-43 + 3614: 60,-43 + 3624: 61,-38 + 3625: 60,-38 + 3626: 59,-38 + 3627: 59,-37 + 3628: 60,-37 + 3629: 61,-37 + 3630: 61,-36 + 3631: 60,-36 + 3632: 59,-36 3704: 48,-19 3754: 53,-21 3855: 24,36 @@ -4607,6 +4597,9 @@ entities: 8248: 10,27 8249: 9,28 8250: 12,26 + 8251: 15,26 + 8252: 16,30 + 8253: 21,29 8254: 36,28 8255: 35,28 8256: 35,30 @@ -5034,6 +5027,7 @@ entities: 2491: 3,-2 2492: 3,-2 2493: -5,5 + 2495: -13,-7 2605: -2,-22 2606: -3,-21 2607: -2,-21 @@ -5224,6 +5218,8 @@ entities: 5651: 69,-11 5652: 64,-11 5653: 63,-10 + 5654: 71,-10 + 5655: 71,-11 5656: 69,-15 5657: 68,-17 5658: 71,-16 @@ -5253,6 +5249,10 @@ entities: 5685: 52,-2 5686: 55,-3 5687: 47,-1 + 5710: 53,5 + 5711: 53,6 + 5712: 51,5 + 5713: 50,6 5732: -4,31 5733: -5,32 5734: -8,31 @@ -5287,6 +5287,7 @@ entities: 6826: 10,9 6832: 13,27 6833: 9,28 + 6834: 18,30 6845: -9,-30 6846: -11,-28 6847: -10,-28 @@ -5870,6 +5871,7 @@ entities: 772: -9.239742,46.9776 888: -33.506474,54.5711 890: -36.631474,56.35235 + 1928: 49.049915,6.9550443 3077: -27.065111,-9.073271 4272: 4,65 7576: 91.288376,-54.787968 @@ -5973,104 +5975,6 @@ entities: 6186: 59,33 6187: 59,34 6188: 58,32 - - node: - color: '#00807EFF' - id: FullTileOverlayGreyscale - decals: - 9163: 41,18 - 9164: 41,17 - - node: - color: '#00BFBC81' - id: FullTileOverlayGreyscale - decals: - 9195: 46,25 - 9196: 45,25 - 9197: 44,25 - 9198: 44,24 - 9199: 44,23 - 9200: 44,22 - 9201: 44,21 - 9202: 44,20 - 9203: 44,19 - 9204: 44,18 - 9205: 44,17 - 9206: 43,17 - 9207: 43,18 - 9208: 42,18 - 9209: 42,17 - 9210: 45,17 - 9211: 46,17 - 9212: 47,17 - 9213: 48,17 - 9214: 49,17 - 9215: 50,17 - 9216: 47,25 - 9217: 48,25 - 9218: 49,25 - 9219: 50,25 - 9220: 51,25 - 9221: 46,26 - 9222: 45,26 - 9223: 45,27 - 9224: 46,27 - 9226: 45,28 - 9227: 45,29 - 9228: 46,29 - 9229: 46,28 - 9230: 50,16 - 9231: 47,16 - 9232: 45,16 - 9233: 42,16 - 9234: 42,12 - 9235: 45,12 - 9236: 47,12 - 9237: 50,12 - 9238: 50,8 - 9239: 43,8 - 9240: 42,8 - 9241: 40,7 - 9242: 40,5 - 9362: 52,5 - 9363: 53,5 - 9364: 53,6 - 9366: 53,7 - - node: - color: '#00BFBCFF' - id: FullTileOverlayGreyscale - decals: - 9071: 34,14 - 9072: 33,14 - 9073: 39,14 - 9074: 38,14 - 9075: 37,14 - 9076: 36,14 - 9077: 39,12 - 9078: 38,12 - 9079: 37,12 - 9080: 36,12 - 9081: 36,11 - 9082: 36,9 - 9083: 36,10 - 9084: 34,12 - 9085: 34,11 - 9086: 33,11 - 9087: 33,12 - 9088: 33,9 - 9089: 34,9 - 9151: 23,4 - 9152: 25,4 - 9153: 23,0 - 9154: 25,0 - 9155: 28,15 - 9156: 29,15 - 9157: 22,18 - 9158: 26,18 - 9159: 23,28 - 9160: 25,28 - 9161: 23,31 - 9162: 25,31 - 9435: 70,-10 - 9436: 72,-12 - node: color: '#334E6D31' id: FullTileOverlayGreyscale @@ -6266,6 +6170,18 @@ entities: 995: -17,70 996: -17,72 997: -17,73 + 1792: 21,25 + 1793: 21,26 + 1794: 20,26 + 1795: 20,25 + 1796: 19,25 + 1797: 19,26 + 1798: 18,26 + 1799: 18,25 + 1800: 17,25 + 1801: 17,26 + 1802: 17,27 + 1803: 18,27 - node: color: '#9FED5896' id: FullTileOverlayGreyscale @@ -6525,6 +6441,7 @@ entities: 1895: 25,6 1896: 26,6 1897: 27,6 + 1898: 28,6 1899: 29,6 1900: 30,6 1901: 31,6 @@ -6540,6 +6457,112 @@ entities: 1911: 24,11 1912: 24,10 1913: 24,9 + 1914: 24,7 + - node: + color: '#DE3A3A2E' + id: FullTileOverlayGreyscale + decals: + 5106: 53,5 + 5107: 53,6 + 5108: 53,7 + 5109: 52,5 + - node: + color: '#DE3A3A44' + id: FullTileOverlayGreyscale + decals: + 1620: 45,16 + 1621: 42,16 + 1622: 42,12 + 1623: 45,12 + 1624: 47,12 + 1625: 47,16 + 1626: 50,16 + 1627: 50,12 + - node: + color: '#DE3A3A4A' + id: FullTileOverlayGreyscale + decals: + 1394: 23,0 + 1395: 25,0 + 1396: 25,4 + 1397: 23,4 + 1398: 30,8 + 1399: 29,15 + 1400: 23,28 + 1401: 23,31 + 1402: 25,31 + 1403: 25,28 + - node: + color: '#DE3A3A60' + id: FullTileOverlayGreyscale + decals: + 1407: 36,12 + 1408: 36,11 + 1409: 36,10 + 1410: 36,9 + 1411: 34,9 + 1412: 33,9 + 1413: 33,11 + 1414: 33,12 + 1415: 34,12 + 1416: 34,11 + 1417: 34,14 + 1418: 33,14 + 1419: 40,5 + 1420: 40,7 + 1421: 44,25 + 1422: 44,24 + 1423: 44,23 + 1424: 44,22 + 1425: 44,20 + 1426: 44,21 + 1427: 44,19 + 1428: 44,18 + 1429: 44,17 + 1430: 41,17 + 1431: 41,18 + 1432: 42,18 + 1433: 42,17 + 1434: 43,17 + 1435: 43,18 + 1436: 45,17 + 1437: 46,17 + 1438: 47,17 + 1439: 48,17 + 1440: 49,17 + 1441: 50,17 + 1442: 51,17 + 1443: 51,25 + 1444: 50,25 + 1445: 49,25 + 1446: 48,25 + 1447: 47,25 + 1448: 46,25 + 1449: 45,25 + 1450: 45,26 + 1451: 46,26 + 1452: 46,27 + 1453: 45,27 + 1454: 45,28 + 1455: 46,28 + 1456: 46,29 + 1457: 45,29 + - node: + color: '#DE3A3A96' + id: FullTileOverlayGreyscale + decals: + 490: -13,-10 + 491: -15,-8 + 3359: 42,-19 + 4977: 70,-10 + 4978: 72,-12 + 8832: 37,12 + 8833: 38,12 + 8834: 39,12 + 8835: 39,14 + 8838: 38,14 + 8839: 37,14 + 8846: 36,14 - node: color: '#EFB34137' id: FullTileOverlayGreyscale @@ -7213,6 +7236,13 @@ entities: color: '#DE3A3A96' id: HalfTileOverlayGreyscale decals: + 506: -9,-9 + 507: -10,-9 + 508: -11,-9 + 1950: 45,3 + 1951: 44,3 + 1952: 43,3 + 1953: 42,3 1985: 18,11 1986: 17,11 2712: 17,-13 @@ -7254,11 +7284,6 @@ entities: 2479: -2,-8 2480: -3,-8 2481: -4,-8 - - node: - color: '#00BFBC81' - id: HalfTileOverlayGreyscale180 - decals: - 9410: 18,31 - node: color: '#4A4C4D92' id: HalfTileOverlayGreyscale180 @@ -7436,6 +7461,12 @@ entities: color: '#DE3A3A96' id: HalfTileOverlayGreyscale180 decals: + 509: -9,-11 + 510: -10,-11 + 511: -11,-11 + 1947: 45,1 + 1948: 44,1 + 1949: 43,1 1987: 17,13 1988: 18,13 - node: @@ -7572,6 +7603,14 @@ entities: 5794: 95,-20 5795: 102,-21 5796: 102,-20 + - node: + color: '#DE3A3A44' + id: HalfTileOverlayGreyscale270 + decals: + 1648: 50,14 + 1649: 47,14 + 1650: 44,14 + 1651: 41,14 - node: color: '#DE3A3A96' id: HalfTileOverlayGreyscale270 @@ -7683,10 +7722,19 @@ entities: decals: 6411: 79,44 6412: 79,45 + - node: + color: '#DE3A3A44' + id: HalfTileOverlayGreyscale90 + decals: + 1644: 51,14 + 1645: 48,14 + 1646: 45,14 + 1647: 42,14 - node: color: '#DE3A3A96' id: HalfTileOverlayGreyscale90 decals: + 1954: 46,2 1989: 16,12 - node: color: '#EFB34196' @@ -7740,27 +7788,6 @@ entities: id: LoadingArea decals: 2464: 13,-28 - - node: - color: '#00BFBC81' - id: MiniTileCheckerAOverlay - decals: - 9411: 46,2 - 9412: 45,2 - 9413: 44,2 - 9414: 43,2 - 9415: 42,2 - 9416: 41,2 - 9417: 41,3 - 9418: 42,3 - 9419: 43,3 - 9420: 44,3 - 9421: 45,3 - 9422: 46,3 - 9423: 46,1 - 9424: 45,1 - 9425: 44,1 - 9426: 43,1 - 9427: 42,1 - node: color: '#52B4E93B' id: MiniTileCheckerBOverlay @@ -7817,6 +7844,11 @@ entities: id: MiniTileWhiteCornerSw decals: 8803: -12,-2 + - node: + color: '#D381C996' + id: MiniTileWhiteInnerSe + decals: + 4622: 56,-34 - node: color: '#9FED5896' id: MiniTileWhiteLineE @@ -7861,16 +7893,6 @@ entities: 4903: 67,-19 4904: 68,-19 4905: 69,-19 - - node: - color: '#00BFBC81' - id: QuarterTileOverlayGreyscale - decals: - 9381: 54,19 - 9382: 54,20 - 9383: 54,21 - 9384: 54,22 - 9385: 54,23 - 9386: 54,24 - node: color: '#334E6D44' id: QuarterTileOverlayGreyscale @@ -8282,6 +8304,16 @@ entities: 3148: -24,-10 3149: -24,-9 3150: -24,-8 + - node: + color: '#DE3A3A47' + id: QuarterTileOverlayGreyscale + decals: + 7319: 54,24 + 7320: 54,23 + 7321: 54,22 + 7322: 54,20 + 7323: 54,21 + 7324: 54,19 - node: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale @@ -8380,14 +8412,6 @@ entities: 4913: 65,-22 4914: 64,-22 4915: 63,-22 - - node: - color: '#00BFBC81' - id: QuarterTileOverlayGreyscale180 - decals: - 9398: 22,32 - 9399: 20,32 - 9400: 19,32 - 9401: 19,31 - node: color: '#334E6DC8' id: QuarterTileOverlayGreyscale180 @@ -8565,6 +8589,8 @@ entities: 5064: 19,32 5065: 18,32 5066: 17,32 + 5067: 16,32 + 5068: 15,32 5498: 26,-3 5499: 27,-3 5500: 28,-3 @@ -8654,12 +8680,20 @@ entities: 649: -37,32 3133: -33,-24 3134: -33,-23 + - node: + color: '#DE3A3A6F' + id: QuarterTileOverlayGreyscale180 + decals: + 7241: 22,32 - node: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale180 decals: 1994: 16,13 2708: 15,-11 + 2753: 11,-7 + 2754: 12,-7 + 2755: 13,-7 - node: color: '#EFB34147' id: QuarterTileOverlayGreyscale180 @@ -8722,31 +8756,6 @@ entities: 5249: 98,-9 5250: 98,-8 5251: 98,-7 - - node: - color: '#00BFBC81' - id: QuarterTileOverlayGreyscale270 - decals: - 9387: 35,32 - 9388: 34,32 - 9389: 33,32 - 9390: 32,32 - 9391: 31,32 - 9392: 30,32 - 9393: 29,32 - 9394: 28,32 - 9395: 27,32 - 9396: 26,32 - 9406: 17,31 - 9407: 17,32 - 9408: 16,32 - 9409: 15,32 - 9473: -9,-7 - 9474: -10,-7 - 9475: -11,-7 - 9476: -12,-7 - 9477: -13,-7 - 9478: -14,-7 - 9479: -15,-7 - node: color: '#334E6DC8' id: QuarterTileOverlayGreyscale270 @@ -8976,11 +8985,33 @@ entities: 8580: -39,-7 8581: -39,-6 8582: -39,-5 + - node: + color: '#DE3A3A6F' + id: QuarterTileOverlayGreyscale270 + decals: + 7242: 26,32 + 7243: 27,32 + 7244: 28,32 + 7245: 29,32 + 7246: 30,32 + 7247: 31,32 + 7248: 32,32 + 7249: 33,32 + 7250: 34,32 + 7251: 35,32 - node: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale270 decals: + 1956: 42,2 1991: 19,13 + 2113: -15,-7 + 2114: -14,-7 + 2115: -13,-7 + 2116: -12,-7 + 2117: -11,-7 + 2118: -10,-7 + 2119: -9,-7 2709: 21,-11 - node: color: '#EFB34196' @@ -9042,24 +9073,6 @@ entities: id: QuarterTileOverlayGreyscale270 decals: 7073: 37,-9 - - node: - color: '#00BFBC81' - id: QuarterTileOverlayGreyscale90 - decals: - 9367: 36,-1 - 9368: 37,-1 - 9369: 38,-1 - 9370: 39,-1 - 9371: 35,-1 - 9372: 34,-1 - 9373: 33,-1 - 9374: 32,-1 - 9375: 31,-1 - 9376: 30,-1 - 9377: 29,-1 - 9378: 28,-1 - 9379: 27,-1 - 9380: 26,-1 - node: color: '#334E6D44' id: QuarterTileOverlayGreyscale90 @@ -9459,6 +9472,20 @@ entities: id: QuarterTileOverlayGreyscale90 decals: 1992: 16,11 + 5484: 26,-1 + 5485: 27,-1 + 5486: 28,-1 + 5487: 29,-1 + 5488: 30,-1 + 5489: 31,-1 + 5490: 32,-1 + 5491: 33,-1 + 5492: 34,-1 + 5493: 35,-1 + 5494: 36,-1 + 5495: 37,-1 + 5496: 38,-1 + 5497: 39,-1 - node: color: '#EFB3412D' id: QuarterTileOverlayGreyscale90 @@ -9619,6 +9646,7 @@ entities: 2834: -27,-43 2836: -47,-54 2837: -52,-48 + 2838: -52,-62 2839: -22,-65 2840: -28,-64 2841: -20,-74 @@ -9687,6 +9715,20 @@ entities: decals: 324: -9,31 1750: 0,-14 + - node: + color: '#DE3A3A44' + id: ThreeQuarterTileOverlayGreyscale + decals: + 1628: 50,15 + 1629: 47,15 + 1630: 44,15 + 1631: 41,15 + - node: + color: '#DE3A3A96' + id: ThreeQuarterTileOverlayGreyscale + decals: + 504: -12,-9 + 1955: 41,3 - node: color: '#EFB34196' id: ThreeQuarterTileOverlayGreyscale @@ -9755,6 +9797,20 @@ entities: decals: 5914: 99,35 5915: 93,35 + - node: + color: '#DE3A3A44' + id: ThreeQuarterTileOverlayGreyscale180 + decals: + 1632: 51,13 + 1633: 48,13 + 1634: 45,13 + 1635: 42,13 + - node: + color: '#DE3A3A96' + id: ThreeQuarterTileOverlayGreyscale180 + decals: + 503: -8,-11 + 1946: 46,1 - node: color: '#EFB34196' id: ThreeQuarterTileOverlayGreyscale180 @@ -9822,6 +9878,21 @@ entities: decals: 5912: 95,35 5913: 90,35 + - node: + color: '#DE3A3A44' + id: ThreeQuarterTileOverlayGreyscale270 + decals: + 1636: 41,13 + 1637: 44,13 + 1638: 47,13 + 1639: 50,13 + - node: + color: '#DE3A3A96' + id: ThreeQuarterTileOverlayGreyscale270 + decals: + 505: -12,-11 + 1943: 42,1 + 1944: 41,2 - node: color: '#EFD5411F' id: ThreeQuarterTileOverlayGreyscale270 @@ -9870,6 +9941,20 @@ entities: decals: 5910: 93,36 5911: 99,36 + - node: + color: '#DE3A3A44' + id: ThreeQuarterTileOverlayGreyscale90 + decals: + 1640: 51,15 + 1641: 48,15 + 1642: 45,15 + 1643: 42,15 + - node: + color: '#DE3A3A96' + id: ThreeQuarterTileOverlayGreyscale90 + decals: + 502: -8,-9 + 1945: 46,3 - node: color: '#EFB34196' id: ThreeQuarterTileOverlayGreyscale90 @@ -9908,15 +9993,16 @@ entities: 4085: 21,49 4086: 21,51 - node: - color: '#FFFFFFFF' + color: '#DE3A3A96' id: WarnBoxGreyscale decals: - 6226: 112,39 + 3532: 55,-30 + 4138: 20,54 - node: - color: '#00BFBCFF' - id: WarnCornerGreyscaleNE + color: '#FFFFFFFF' + id: WarnBoxGreyscale decals: - 8918: 39,7 + 6226: 112,39 - node: color: '#52B4E996' id: WarnCornerGreyscaleNE @@ -9930,10 +10016,10 @@ entities: decals: 3366: 47,-22 - node: - color: '#00BFBCFF' - id: WarnCornerGreyscaleNW + color: '#DE3A3A96' + id: WarnCornerGreyscaleNE decals: - 8878: 27,26 + 1502: 39,7 - node: color: '#A4610696' id: WarnCornerGreyscaleNW @@ -9946,24 +10032,22 @@ entities: 3363: 45,-22 3436: 37,-26 - node: - color: '#00BFBCFF' - id: WarnCornerGreyscaleSE + color: '#DE3A3A96' + id: WarnCornerGreyscaleNW decals: - 8885: 21,25 - 8919: 39,5 - 9442: 43,-24 + 1704: 27,26 - node: color: '#D381C996' id: WarnCornerGreyscaleSE decals: 3364: 47,-24 - node: - color: '#00BFBCFF' - id: WarnCornerGreyscaleSW + color: '#DE3A3A96' + id: WarnCornerGreyscaleSE decals: - 8884: 27,28 - 8907: 19,5 - 9520: -38,42 + 1503: 39,5 + 3501: 43,-24 + 3534: 56,-27 - node: color: '#52B4E996' id: WarnCornerGreyscaleSW @@ -9980,6 +10064,12 @@ entities: id: WarnCornerGreyscaleSW decals: 3365: 45,-24 + - node: + color: '#DE3A3A96' + id: WarnCornerGreyscaleSW + decals: + 1501: 19,5 + 2039: 27,28 - node: color: '#EFC541FF' id: WarnCornerNE @@ -9991,10 +10081,10 @@ entities: decals: 1822: 43,25 1876: 47,7 + 3540: 55,-35 5154: 122,-23 5939: 121,-17 7924: 107,-36 - 9629: 53,-35 - node: color: '#EFC541FF' id: WarnCornerNW @@ -10021,6 +10111,7 @@ entities: decals: 1813: 43,19 1874: 47,5 + 3635: 61,-41 3852: 22,40 4722: 29,-21 4994: 66,-8 @@ -10045,6 +10136,7 @@ entities: 1815: 41,19 1873: 45,5 3531: 48,-22 + 3604: 57,-41 4101: 27,50 4668: 28,-36 4721: 27,-21 @@ -10115,6 +10207,7 @@ entities: 3225: -41,-34 3226: -41,-42 3231: -30,-25 + 3535: 54,-32 4560: 23,-52 4800: 95,-16 5152: 118,-25 @@ -10225,6 +10318,7 @@ entities: 1021: -23,67 1022: -23,69 1023: -23,70 + 3564: 58,-32 - node: color: '#EFB341FF' id: WarnEndW @@ -10235,27 +10329,6 @@ entities: id: WarnEndW decals: 5605: 59,-8 - - node: - color: '#00BFBCFF' - id: WarnFullGreyscale - decals: - 8892: 20,18 - 8893: 19,18 - 8894: 18,18 - 8954: 16,30 - 8955: 16,29 - 8956: 16,31 - 9444: 43,-25 - 9445: 42,-20 - 9455: 42,-19 - 9456: 12,-8 - 9457: 12,-14 - 9470: -15,-8 - 9471: -11,-8 - 9472: -7,-10 - 9484: -13,-10 - 9523: -37,46 - 9528: 20,54 - node: color: '#334E6DC8' id: WarnFullGreyscale @@ -10289,6 +10362,17 @@ entities: 3680: 40,-39 3681: 38,-41 3682: 36,-35 + - node: + color: '#DE3A3A96' + id: WarnFullGreyscale + decals: + 587: -37,46 + 591: -37,41 + 3512: 43,-25 + 3513: 42,-20 + 5726: 20,18 + 5727: 19,18 + 5728: 18,18 - node: color: '#9FED5896' id: WarnLineE @@ -10298,6 +10382,8 @@ entities: color: '#FFFFFFFF' id: WarnLineE decals: + 1790: 22,25 + 1791: 22,26 1812: 43,20 1824: 43,24 1878: 47,6 @@ -10344,6 +10430,17 @@ entities: 3460: 26,-18 3461: 26,-17 3462: 26,-16 + 3541: 55,-36 + 3608: 55,-42 + 3609: 55,-41 + 3610: 55,-40 + 3611: 55,-39 + 3612: 55,-38 + 3636: 61,-40 + 3637: 61,-39 + 3638: 61,-38 + 3639: 61,-37 + 3640: 61,-36 3692: 51,-44 3693: 51,-43 3694: 51,-42 @@ -10476,7 +10573,6 @@ entities: 8745: 90,1 8746: 90,0 8761: 95,0 - 9630: 53,-36 - node: cleanable: True color: '#FFFFFFFF' @@ -10489,27 +10585,6 @@ entities: 6948: -32,1 6949: -32,2 6950: -32,3 - - node: - color: '#00BFBCFF' - id: WarnLineGreyscaleE - decals: - 8879: 25,25 - 8880: 23,29 - 8881: 23,30 - 8886: 21,26 - 8889: 25,18 - 8890: 21,18 - 8897: 21,14 - 8898: 21,13 - 8899: 21,11 - 8900: 21,10 - 8925: 33,18 - 8926: 23,1 - 8927: 23,2 - 8928: 23,3 - 9439: 69,-10 - 9481: -14,-10 - 9483: -8,-10 - node: color: '#52B4E996' id: WarnLineGreyscaleE @@ -10534,6 +10609,22 @@ entities: color: '#DE3A3A96' id: WarnLineGreyscaleE decals: + 499: -14,-10 + 501: -8,-10 + 1705: 33,18 + 1786: 25,25 + 1787: 25,18 + 1959: 21,10 + 1960: 21,11 + 1961: 21,13 + 1962: 21,14 + 2043: 23,1 + 2044: 23,2 + 2045: 23,3 + 2046: 23,29 + 2047: 23,30 + 5631: 69,-10 + 5725: 21,18 6211: 56,28 6212: 56,32 - node: @@ -10545,6 +10636,8 @@ entities: color: '#FFFFFFFF' id: WarnLineGreyscaleE decals: + 3652: 58,-27 + 3653: 57,-32 4000: 4,36 4001: 4,37 4002: 4,38 @@ -10552,33 +10645,6 @@ entities: 4011: 4,41 5781: 101,-17 7691: 104,-17 - - node: - color: '#00BFBCFF' - id: WarnLineGreyscaleN - decals: - 8887: 30,26 - 8903: 25,7 - 8904: 24,7 - 8905: 23,7 - 8914: 28,7 - 8915: 30,7 - 8916: 35,7 - 8917: 38,7 - 8923: 29,14 - 8924: 28,14 - 8936: 50,11 - 8937: 47,11 - 8938: 45,11 - 8939: 42,11 - 9440: 42,-21 - 9441: 43,-26 - 9459: 12,-10 - 9469: 12,-15 - 9480: -15,-9 - 9516: -38,40 - 9517: -37,40 - 9518: -36,40 - 9522: -37,45 - node: color: '#52B4E996' id: WarnLineGreyscaleN @@ -10636,6 +10702,24 @@ entities: id: WarnLineGreyscaleN decals: 498: -15,-9 + 590: -37,45 + 1494: 38,7 + 1495: 35,7 + 1496: 30,7 + 1497: 28,7 + 1498: 25,7 + 1499: 23,7 + 1567: 29,14 + 1568: 28,14 + 1706: 30,26 + 1846: 50,11 + 1847: 47,11 + 1848: 45,11 + 1849: 42,11 + 1915: 24,7 + 2579: 12,-10 + 3502: 42,-21 + 3511: 43,-26 8421: 97,29 8422: 98,29 - node: @@ -10661,30 +10745,6 @@ entities: 8701: 17,-17 8702: 16,-17 8703: 15,-17 - - node: - color: '#00BFBCFF' - id: WarnLineGreyscaleS - decals: - 8908: 23,5 - 8909: 25,5 - 8910: 28,5 - 8911: 31,5 - 8912: 34,5 - 8913: 37,5 - 8920: 30,9 - 8921: 29,16 - 8922: 28,16 - 8932: 50,9 - 8933: 46,9 - 8934: 42,9 - 8935: 43,9 - 8940: 18,25 - 9437: 72,-11 - 9454: 42,-18 - 9458: 12,-13 - 9468: 12,-7 - 9521: -37,42 - 9524: -37,47 - node: color: '#334E6DC8' id: WarnLineGreyscaleS @@ -10725,6 +10785,29 @@ entities: 3559: 48,-36 3674: 38,-40 4636: 43,-36 + - node: + color: '#DE3A3A96' + id: WarnLineGreyscaleS + decals: + 588: -37,47 + 589: -37,42 + 1488: 23,5 + 1489: 25,5 + 1490: 28,5 + 1491: 31,5 + 1492: 34,5 + 1493: 37,5 + 1566: 30,9 + 1702: 29,16 + 1703: 28,16 + 1842: 43,9 + 1843: 42,9 + 1844: 46,9 + 1845: 50,9 + 2578: 12,-13 + 3358: 42,-18 + 3533: 55,-27 + 4985: 72,-11 - node: color: '#EFB34196' id: WarnLineGreyscaleS @@ -10754,32 +10837,6 @@ entities: 4004: 6,40 4005: 5,40 4006: 2,40 - - node: - color: '#00BFBCFF' - id: WarnLineGreyscaleW - decals: - 8875: 23,26 - 8876: 23,25 - 8877: 27,25 - 8882: 25,30 - 8883: 25,29 - 8888: 27,18 - 8891: 23,18 - 8895: 23,14 - 8896: 23,13 - 8901: 23,11 - 8902: 23,10 - 8906: 19,6 - 8929: 25,3 - 8930: 25,2 - 8931: 25,1 - 8957: 16,28 - 8971: 23,22 - 9438: 71,-10 - 9482: -12,-10 - 9526: -34,48 - 9529: 21,54 - 9530: 26,54 - node: color: '#52B4E996' id: WarnLineGreyscaleW @@ -10818,6 +10875,26 @@ entities: color: '#DE3A3A96' id: WarnLineGreyscaleW decals: + 500: -12,-10 + 1500: 19,6 + 1659: 23,10 + 1660: 23,11 + 1661: 23,13 + 1662: 23,14 + 1700: 27,25 + 1701: 27,18 + 1782: 23,18 + 1783: 23,22 + 1784: 23,25 + 1785: 23,26 + 2040: 25,1 + 2041: 25,2 + 2042: 25,3 + 2048: 25,29 + 2049: 25,30 + 4137: 21,54 + 4144: 26,54 + 4986: 71,-10 6213: 58,32 6214: 58,28 - node: @@ -10862,6 +10939,16 @@ entities: color: '#FFFFFFFF' id: WarnLineN decals: + 1540: 31,1 + 1541: 30,1 + 1542: 28,1 + 1543: 27,1 + 1544: 33,1 + 1545: 34,1 + 1546: 36,1 + 1547: 37,1 + 1548: 38,1 + 1549: 39,1 1577: 25,8 1578: 24,8 1579: 23,8 @@ -10938,6 +11025,8 @@ entities: 3463: 43,-13 3464: 42,-13 3465: 41,-13 + 3633: 59,-41 + 3634: 60,-41 3705: 52,-16 3706: 53,-16 3707: 54,-16 @@ -11051,16 +11140,6 @@ entities: 8735: 91,3 8736: 92,3 8737: 93,3 - 9137: 39,1 - 9138: 38,1 - 9139: 37,1 - 9140: 36,1 - 9141: 34,1 - 9142: 33,1 - 9143: 31,1 - 9144: 30,1 - 9145: 28,1 - 9146: 27,1 - node: cleanable: True color: '#FFFFFFFF' @@ -11087,9 +11166,12 @@ entities: 865: -38,32 866: -38,33 867: -38,34 + 871: -38,40 970: -29,72 971: -29,73 972: -29,74 + 1788: 22,25 + 1789: 22,26 1816: 41,20 1817: 41,21 1818: 41,22 @@ -11141,6 +11223,10 @@ entities: 3451: 40,-3 3452: 40,-2 3453: 40,-1 + 3605: 57,-40 + 3606: 57,-39 + 3607: 57,-38 + 3651: 54,-31 4043: 8,44 4093: 26,49 4094: 26,50 @@ -11262,10 +11348,6 @@ entities: 8738: 94,2 8739: 94,1 8751: 94,0 - 9519: -38,40 - 9527: -38,42 - 9610: 57,-44 - 9611: 57,-43 - node: cleanable: True color: '#FFFFFFFF' @@ -11366,7 +11448,10 @@ entities: 3466: 43,-13 3467: 42,-13 3468: 41,-13 + 3536: 51,-35 3537: 52,-35 + 3538: 53,-35 + 3539: 54,-35 3708: 54,-19 3709: 53,-19 3710: 52,-19 @@ -11478,13 +11563,6 @@ entities: 8741: 91,-1 8742: 92,-1 8743: 93,-1 - 9604: 62,-45 - 9605: 61,-45 - 9606: 60,-45 - 9607: 59,-45 - 9608: 58,-45 - 9609: 57,-45 - 9628: 51,-35 - node: cleanable: True color: '#FFFFFFFF' @@ -12080,7 +12158,8 @@ entities: 1,1: 0: 1919 1,2: - 0: 16315 + 0: 16187 + 1: 128 1,3: 0: 61559 1,-1: @@ -12108,7 +12187,7 @@ entities: 3,-1: 0: 63072 3,4: - 0: 46003 + 0: 46067 3,2: 0: 52416 4,0: @@ -12116,9 +12195,11 @@ entities: 4,1: 0: 49081 4,2: - 0: 65520 + 0: 65488 + 1: 32 4,3: - 0: 65535 + 0: 61439 + 1: 4096 -5,0: 0: 61006 -4,1: @@ -12215,19 +12296,19 @@ entities: 0: 65535 -2,6: 0: 47 - 1: 60928 + 2: 60928 -2,7: 0: 61441 - 1: 238 + 2: 238 -2,8: 0: 65295 -1,5: 0: 53247 -1,6: 0: 52429 - 1: 4352 + 2: 4352 -1,7: - 1: 17 + 2: 17 0: 56524 -1,8: 0: 65487 @@ -12258,17 +12339,15 @@ entities: 3,5: 0: 48051 3,6: - 0: 30065 + 0: 65009 3,7: - 0: 28799 + 0: 28927 3,8: 0: 65535 4,5: 0: 30576 - 4,6: - 0: 65524 4,7: - 0: 65279 + 0: 36852 -8,4: 0: 48059 -8,3: @@ -12286,7 +12365,7 @@ entities: -9,7: 0: 65506 -8,8: - 0: 65535 + 0: 65471 -7,4: 0: 48123 -7,5: @@ -12347,9 +12426,9 @@ entities: 0: 61152 -8,-3: 0: 41504 - 2: 128 + 3: 128 -9,-3: - 2: 240 + 3: 240 0: 61440 -8,-2: 0: 65522 @@ -12358,14 +12437,14 @@ entities: -9,-1: 0: 46065 -7,-3: - 2: 116 + 3: 116 0: 28672 -7,-2: 0: 65520 -7,-4: - 2: 17476 + 3: 17476 -7,-5: - 2: 17476 + 3: 17476 -6,-4: 0: 32759 -6,-3: @@ -12379,11 +12458,11 @@ entities: -5,-5: 0: 61695 -9,8: - 0: 65535 + 0: 65391 -8,9: - 0: 65535 + 0: 65471 -9,9: - 0: 65535 + 0: 65391 -8,10: 0: 15135 -9,10: @@ -12593,9 +12672,9 @@ entities: 6,0: 0: 48050 7,-4: - 0: 30511 + 0: 45999 7,-3: - 0: 30583 + 0: 30579 7,-2: 0: 30583 7,-1: @@ -12612,9 +12691,9 @@ entities: 0: 65527 -5,-8: 0: 34944 - 3: 768 + 4: 768 -4,-8: - 3: 1536 + 4: 1536 -4,-7: 0: 32624 -5,-7: @@ -12644,9 +12723,9 @@ entities: 0,-6: 0: 65295 0,-8: - 3: 3276 + 4: 3276 0,-9: - 3: 49152 + 4: 49152 0: 206 1,-7: 0: 61422 @@ -12671,8 +12750,7 @@ entities: 3,-6: 0: 65535 3,-9: - 0: 61440 - 2: 112 + 0: 61552 4,-8: 0: 53247 4,-7: @@ -12680,8 +12758,7 @@ entities: 4,-6: 0: 57297 4,-9: - 0: 61747 - 2: 128 + 0: 61875 5,-8: 0: 39867 5,-7: @@ -12689,8 +12766,7 @@ entities: 5,-6: 0: 57305 5,-9: - 0: 47240 - 2: 51 + 0: 47291 6,-8: 0: 16383 6,-7: @@ -12708,13 +12784,13 @@ entities: 8,-8: 0: 56829 8,-7: - 0: 28656 + 0: 61424 8,-6: 0: 65535 8,-5: 0: 65295 -8,-8: - 3: 768 + 4: 768 0: 34944 -8,-7: 0: 65528 @@ -12722,20 +12798,20 @@ entities: 0: 65524 -8,-6: 0: 8866 - 2: 32768 + 3: 32768 -9,-6: 0: 255 - 2: 61440 + 3: 61440 -7,-7: 0: 65534 -7,-6: 0: 112 - 2: 28672 + 3: 28672 -7,-8: - 3: 1604 + 4: 1604 -7,-9: - 3: 17476 - 2: 34952 + 4: 17476 + 0: 34952 -6,-8: 0: 10098 -6,-7: @@ -12743,28 +12819,24 @@ entities: -6,-6: 0: 30583 -6,-9: - 3: 8738 - 2: 34952 + 4: 8738 + 0: 34952 -11,8: 0: 3084 -11,4: - 2: 136 + 0: 136 -11,3: - 2: 34956 + 0: 34956 -10,4: - 2: 13104 - 0: 34954 + 0: 48058 -11,7: - 2: 2176 + 0: 2176 -10,7: - 2: 273 - 0: 52236 + 0: 52509 -10,5: - 2: 4467 - 0: 16384 + 0: 20851 -10,6: - 2: 4369 - 0: 52420 + 0: 56789 -10,8: 0: 53199 -10,3: @@ -12772,211 +12844,210 @@ entities: -9,4: 0: 30576 -12,-4: - 3: 4369 - 2: 17476 + 4: 4369 + 3: 17476 -12,-5: - 3: 4369 - 2: 17476 + 4: 4369 + 3: 17476 -12,-3: - 3: 4369 - 2: 52420 + 4: 4369 + 3: 52420 -13,-3: - 3: 240 + 4: 240 -12,-2: - 3: 273 - 2: 3272 + 4: 273 + 3: 3272 -12,-1: 0: 20206 -13,-1: - 3: 61440 + 4: 61440 -12,0: 0: 3838 -11,-3: - 2: 65520 + 3: 65520 -11,-2: - 2: 4087 + 3: 4087 0: 16384 -11,-1: 0: 25702 -11,0: 0: 3830 -10,-3: - 2: 4368 + 3: 4368 0: 17472 -10,-1: 0: 32624 -10,-2: 0: 61156 -12,-6: - 3: 4368 - 2: 52416 + 4: 4368 + 3: 52416 -13,-6: - 3: 192 + 4: 192 -11,-6: - 2: 65520 + 3: 65520 -11,-8: - 3: 4368 + 4: 4368 0: 34952 -11,-9: 0: 63692 - 3: 17 + 4: 17 -11,-7: - 3: 4369 + 4: 4369 0: 52424 -10,-8: 0: 13107 - 3: 34952 + 4: 34952 -10,-7: 0: 65523 -10,-6: - 2: 4368 + 3: 4368 0: 17476 -10,-9: 0: 13107 - 3: 34952 + 4: 34952 -9,-8: - 3: 256 + 4: 256 0: 17472 -13,0: 0: 192 - 3: 62002 + 4: 62002 -12,2: - 3: 3840 + 4: 3840 -13,2: - 3: 3840 + 4: 3840 -12,1: - 2: 2246 + 0: 2246 -11,1: - 2: 25344 + 0: 25344 -11,2: - 3: 256 - 2: 52462 + 4: 256 + 0: 52462 -10,0: 0: 65520 -10,2: - 2: 1 - 0: 1536 + 0: 1537 -16,0: - 3: 36349 - 2: 20480 + 4: 36349 + 0: 20480 -16,-1: - 2: 21845 - 3: 34952 + 0: 21845 + 4: 34952 -17,0: - 3: 36349 - 2: 20480 + 4: 36349 + 0: 20480 -16,1: - 2: 21845 - 3: 34952 + 0: 21845 + 4: 34952 -17,1: - 3: 34952 - 2: 21845 + 4: 34952 + 0: 21845 -16,2: - 2: 21845 - 3: 34952 + 0: 21845 + 4: 34952 -17,2: - 3: 34952 - 2: 21845 + 4: 34952 + 0: 21845 -16,3: - 3: 248 + 4: 248 -17,3: - 3: 248 + 4: 248 -15,0: - 3: 36349 - 2: 20480 + 4: 36349 + 0: 20480 -15,1: - 2: 21845 - 3: 34952 + 0: 21845 + 4: 34952 -15,2: - 2: 21845 - 3: 34952 + 0: 21845 + 4: 34952 -15,3: - 3: 248 + 4: 248 -15,-1: - 2: 21845 - 3: 34952 + 0: 21845 + 4: 34952 -14,0: - 3: 50677 - 2: 4096 + 4: 50677 + 0: 4096 -14,1: - 2: 4369 - 3: 17476 + 0: 4369 + 4: 17476 -14,2: - 2: 4369 - 3: 19524 + 0: 4369 + 4: 19524 -14,3: - 3: 116 + 4: 116 -14,-1: - 2: 4369 - 3: 50244 + 0: 4369 + 4: 50244 -16,-3: - 3: 35056 - 2: 20480 + 4: 35056 + 0: 20480 -17,-3: - 3: 35056 - 2: 20480 + 4: 35056 + 0: 20480 -16,-2: - 2: 21845 - 3: 34952 + 0: 21845 + 4: 34952 -17,-2: - 3: 34952 - 2: 21845 + 4: 34952 + 0: 21845 -17,-1: - 3: 34952 - 2: 21845 + 4: 34952 + 0: 21845 -15,-3: - 3: 35056 - 2: 20480 + 4: 35056 + 0: 20480 -15,-2: - 2: 21845 - 3: 34952 + 0: 21845 + 4: 34952 -14,-3: - 3: 17648 - 2: 4096 + 4: 17648 + 0: 4096 -14,-2: - 2: 4369 - 3: 17476 + 0: 4369 + 4: 17476 -19,0: - 3: 63929 - 2: 64 + 4: 63929 + 0: 64 -19,-1: - 3: 65262 + 4: 63624 + -18,0: + 4: 36092 + 0: 16384 -19,1: - 3: 61166 + 4: 34952 -19,2: - 3: 61166 + 4: 34952 -19,3: - 3: 238 - -18,0: - 3: 36092 - 2: 16384 + 4: 136 -18,3: - 3: 248 + 4: 248 -18,-1: - 2: 17476 - 3: 34952 + 0: 17476 + 4: 34952 -18,1: - 2: 17476 - 3: 34952 + 0: 17476 + 4: 34952 -18,2: - 2: 17476 - 3: 34952 + 0: 17476 + 4: 34952 -19,-3: - 3: 61152 - -19,-2: - 3: 61166 + 4: 34944 -18,-3: - 3: 35056 - 2: 16384 + 4: 35056 + 0: 16384 + -19,-2: + 4: 34952 -18,-2: - 2: 17476 - 3: 34952 + 0: 17476 + 4: 34952 -11,9: - 3: 3148 + 4: 3148 -11,10: 0: 35852 -10,9: - 3: 273 + 4: 273 0: 52428 -10,10: 0: 57231 @@ -12984,21 +13055,29 @@ entities: 0: 51404 -10,12: 0: 3276 + -12,14: + 4: 17648 + -13,14: + 4: 240 + -12,15: + 4: 17476 + -12,16: + 4: 17476 + -11,14: + 4: 240 -11,15: - 2: 8192 - 0: 34944 + 0: 43136 -11,16: - 2: 57890 - 0: 8 - 3: 4352 + 0: 57898 + -10,14: + 4: 16 + 0: 52428 -10,15: 0: 65520 -10,16: 0: 62991 -10,13: 0: 52428 - -10,14: - 0: 52428 -9,15: 0: 26468 -9,16: @@ -13012,30 +13091,28 @@ entities: -5,18: 0: 65535 -4,19: - 0: 7 - 2: 3840 + 0: 3847 -5,19: - 0: 15 - 2: 65280 + 0: 65295 -3,17: 0: 65535 -3,18: 0: 65535 -3,19: - 2: 240 + 0: 240 -2,17: 0: 56797 -2,18: 0: 56793 -2,19: - 3: 16 + 4: 16 0: 8 -1,17: 0: 53757 -1,18: 0: 7644 -1,19: - 2: 32832 + 0: 32832 0,16: 0: 21829 0,17: @@ -13049,109 +13126,82 @@ entities: -8,18: 0: 3549 -9,18: - 0: 2184 - 2: 13105 + 0: 15289 -8,19: - 2: 960 - 3: 25600 + 0: 960 + 4: 8192 -9,19: - 2: 2279 + 0: 2279 -8,20: - 3: 26214 + 4: 8738 -7,18: 0: 3838 -7,19: - 2: 35952 + 0: 35952 -7,17: 0: 61166 -6,18: 0: 16863 -6,19: - 0: 5 - 2: 61440 + 0: 61445 -6,17: 0: 36590 -6,20: - 2: 15 + 0: 15 -5,20: - 2: 1 - -12,16: - 3: 65280 - -13,16: - 3: 65280 + 0: 1 -12,17: - 3: 11 - 2: 49008 - -13,17: - 3: 30591 - 2: 32768 + 0: 49008 -12,18: - 2: 13107 + 0: 13107 + -13,17: + 0: 32768 -13,18: - 2: 2184 - 3: 30583 + 0: 2184 -12,19: - 2: 45875 + 0: 45875 -13,19: - 2: 128 - 3: 30583 + 0: 128 -12,20: - 2: 20206 + 0: 20206 -11,17: - 3: 1 - 2: 65534 + 0: 65534 -11,18: - 2: 32782 + 0: 32782 -11,20: - 2: 17 + 0: 17 -11,19: - 2: 34956 + 0: 34956 -10,17: - 2: 12288 - 0: 6 + 0: 12294 -10,18: - 2: 6351 + 0: 6351 -10,19: - 2: 30515 + 0: 30515 -10,20: - 2: 18019 + 0: 18019 -8,21: - 3: 30310 + 4: 12834 -9,21: - 3: 32768 + 4: 32768 -8,22: - 3: 30310 + 4: 8738 -8,23: - 3: 119 - -9,22: - 3: 61440 - -9,23: - 3: 255 - -12,22: - 3: 61440 - -12,23: - 3: 255 - -13,22: - 3: 63351 - -13,23: - 3: 1023 + 4: 34 -12,21: - 2: 204 + 0: 204 -11,21: - 2: 60977 - -11,22: - 3: 61440 - -11,23: - 3: 255 + 0: 60977 -10,21: - 2: 12288 - 0: 34816 + 0: 47104 -10,22: - 3: 61444 - -10,23: - 3: 255 - -13,20: - 3: 30583 + 4: 4 + -16,14: + 4: 224 + -15,14: + 4: 240 + -14,14: + 4: 240 1,13: 0: 65485 1,14: @@ -13183,7 +13233,7 @@ entities: 4,15: 0: 65534 0,20: - 2: 36070 + 0: 36070 1,17: 0: 65327 1,18: @@ -13197,37 +13247,40 @@ entities: 2,18: 0: 13090 2,20: - 2: 1023 + 0: 1023 2,19: - 2: 57344 + 0: 57344 3,17: 0: 3855 3,18: 0: 304 3,19: - 2: 32748 + 0: 32748 3,20: - 2: 19 + 0: 19 4,16: 0: 65038 4,17: 0: 3918 4,18: - 2: 65024 + 0: 65024 4,19: - 2: 1023 + 0: 1023 4,4: 0: 61152 + 4,6: + 0: 28388 5,4: 0: 49080 5,5: 0: 49080 5,6: - 0: 49144 + 0: 36856 5,7: - 0: 35003 + 0: 35771 5,3: - 0: 48123 + 0: 35835 + 1: 12288 5,8: 0: 4095 6,4: @@ -13335,7 +13388,7 @@ entities: 9,2: 0: 7636 9,3: - 0: 4095 + 0: 3581 9,-1: 0: 65520 10,1: @@ -13448,7 +13501,7 @@ entities: 0: 3003 8,13: 0: 65280 - 3: 4 + 4: 4 8,14: 0: 47931 8,15: @@ -13456,20 +13509,20 @@ entities: 5,17: 0: 4078 5,18: - 2: 65504 + 0: 65504 5,19: - 2: 11 - 3: 17472 + 0: 11 + 4: 17472 5,16: 0: 61152 5,20: - 3: 17476 + 4: 17476 6,17: 0: 273 6,18: - 2: 16368 + 0: 16368 7,18: - 2: 24 + 0: 24 8,16: 0: 49151 9,10: @@ -13483,7 +13536,7 @@ entities: 10,11: 0: 65294 10,9: - 3: 546 + 4: 546 10,10: 0: 61166 10,12: @@ -13493,7 +13546,7 @@ entities: 11,11: 0: 65291 11,9: - 3: 546 + 4: 546 0: 34952 12,8: 0: 4095 @@ -13696,16 +13749,16 @@ entities: 14,-6: 0: 56543 14,-9: - 0: 30583 + 0: 30523 15,-8: - 0: 30576 + 0: 10096 15,-7: - 0: 61554 + 0: 61559 15,-6: 0: 56607 15,-9: - 3: 30064 - 0: 512 + 4: 29952 + 0: 519 16,-8: 0: 43691 16,-7: @@ -13716,14 +13769,12 @@ entities: 0: 46079 4,-10: 0: 4096 - 3: 32768 + 4: 32768 5,-10: - 3: 4096 - 2: 8192 - 0: 34952 + 4: 4096 + 0: 43144 5,-12: - 2: 546 - 0: 34952 + 0: 35498 5,-11: 0: 2184 5,-13: @@ -13761,7 +13812,7 @@ entities: 2,-10: 0: 30576 3,-10: - 3: 28672 + 4: 28672 8,-13: 0: 56797 9,-12: @@ -13797,27 +13848,27 @@ entities: 12,-13: 0: 36317 13,-12: - 0: 33791 + 0: 4095 13,-11: - 0: 33723 + 0: 35643 13,-10: - 0: 35771 + 0: 3003 13,-13: 0: 35216 14,-12: - 0: 61947 + 0: 7163 14,-11: - 0: 61951 + 0: 49043 14,-10: - 0: 30583 + 0: 39867 14,-13: 0: 48048 15,-12: - 0: 61681 + 0: 36849 15,-11: - 0: 28791 + 0: 30576 15,-10: - 0: 30578 + 0: 63351 15,-13: 0: 61917 16,-12: @@ -13871,18 +13922,18 @@ entities: 20,-1: 0: 63743 -12,-12: - 2: 116 + 0: 116 -13,-12: - 2: 3313 + 0: 3313 -11,-12: 0: 35007 - 3: 4096 + 4: 4096 -11,-11: - 3: 17 + 4: 17 0: 43144 -11,-10: 0: 52367 - 3: 4352 + 4: 4352 -11,-13: 0: 36863 -10,-12: @@ -13891,7 +13942,7 @@ entities: 0: 64443 -10,-10: 0: 13115 - 3: 34816 + 4: 34816 -10,-13: 0: 13107 -9,-12: @@ -13900,40 +13951,40 @@ entities: 0: 30591 -9,-10: 0: 7 - 3: 3840 + 4: 3840 -8,-12: 0: 28775 -8,-11: 0: 30503 -8,-10: 0: 7 - 3: 3840 + 4: 3840 -8,-13: 0: 16384 -7,-10: - 2: 32769 - 3: 20224 + 0: 32769 + 4: 20224 -7,-11: - 2: 9836 + 0: 9836 -7,-13: - 2: 49152 + 0: 49152 -7,-12: - 2: 32768 + 0: 32768 -6,-12: - 2: 4108 - 3: 16384 + 0: 4108 + 4: 16384 -6,-10: - 3: 12100 - 2: 32768 + 4: 12100 + 0: 32768 -6,-13: - 2: 4096 - 3: 16384 + 0: 4096 + 4: 16384 -6,-11: - 3: 17476 + 4: 17476 -5,-12: - 2: 1 + 0: 1 -8,-16: - 3: 102 + 4: 102 0: 24576 -9,-16: 0: 65419 @@ -13942,123 +13993,104 @@ entities: -9,-15: 0: 15 -8,-17: - 3: 25668 + 4: 25668 -7,-16: - 2: 1 + 0: 1 -7,-15: - 2: 48 + 0: 48 -7,-17: - 2: 13932 + 0: 13932 -6,-16: - 2: 18028 + 0: 18028 -6,-15: - 2: 6 - 3: 64 + 0: 6 + 4: 64 -6,-17: - 2: 51328 + 0: 51328 -12,-17: - 2: 4352 - 3: 17648 + 0: 4352 + 4: 17648 + -13,-16: + 0: 4478 -12,-16: 0: 60992 - 3: 4 + 4: 4 -12,-15: 0: 3812 -13,-15: - 2: 65280 + 0: 65280 -12,-14: - 2: 4915 - 0: 140 + 0: 5055 -13,-14: - 2: 2287 + 0: 2287 -11,-15: 0: 36856 -11,-14: 0: 63711 -11,-17: 0: 4352 - 3: 34968 + 4: 34968 -11,-16: - 3: 136 + 4: 136 0: 32768 -10,-16: - 3: 17 + 4: 17 0: 64580 -10,-15: 0: 13119 -10,-14: 0: 13107 -10,-17: - 3: 4096 + 4: 4096 0: 16384 -9,-17: 0: 32768 + -13,-17: + 0: 51200 -11,-18: - 3: 34824 + 4: 34824 -11,-20: - 3: 34952 + 4: 34952 -11,-21: - 3: 34816 + 4: 34816 -11,-19: - 3: 34952 + 4: 34952 -8,-20: - 3: 17484 + 4: 17476 -8,-21: - 3: 52224 + 4: 17408 -8,-19: - 3: 17476 + 4: 17476 -8,-18: - 3: 17412 - -7,-20: - 3: 15 + 4: 17412 -7,-18: - 3: 112 - 2: 34816 - -7,-21: - 3: 65280 - -6,-20: - 3: 34959 - -6,-21: - 3: 65280 + 4: 112 + 0: 34816 -6,-18: - 2: 2 - -5,-20: - 3: 13107 + 0: 2 -6,-19: - 3: 2184 - 2: 32768 - -5,-19: - 3: 51 - 2: 8960 + 0: 32768 -5,-18: - 2: 4354 - -5,-21: - 3: 13056 - -14,-17: - 3: 32768 - -14,-16: - 2: 61128 - 3: 36 - -13,-17: - 2: 30208 - 3: 256 - -13,-16: - 2: 311 + 0: 4354 + -5,-19: + 0: 8960 -15,-15: - 3: 128 + 4: 128 -14,-15: - 3: 48 - 2: 52416 + 4: 48 + 0: 52428 -15,-14: - 3: 128 + 4: 128 -14,-14: - 3: 4400 - 2: 52428 + 4: 4400 + 0: 52428 -14,-13: - 3: 4369 - 2: 17608 + 4: 4369 + 0: 17608 -14,-12: - 2: 140 + 0: 140 + -14,-16: + 0: 34944 17,-8: 0: 65535 17,-7: @@ -14100,21 +14132,20 @@ entities: 17,-13: 0: 65535 17,-11: - 4: 52416 + 5: 52416 18,-12: 0: 255 18,-11: - 4: 4368 - 5: 52416 + 5: 4368 + 6: 52416 18,-10: 0: 65520 18,-13: - 0: 65296 - 2: 4 + 0: 65300 19,-12: 0: 255 19,-11: - 5: 4368 + 6: 4368 0: 52416 19,-10: 0: 65520 @@ -14193,30 +14224,27 @@ entities: 20,7: 0: 61183 8,-15: - 2: 58896 + 0: 58896 9,-15: - 2: 4096 + 0: 4096 9,-14: - 2: 15 + 0: 15 10,-14: - 2: 51 - 0: 2176 + 0: 2227 11,-14: 0: 53232 11,-15: - 2: 63488 + 0: 63488 12,-15: - 2: 32748 + 0: 32748 12,-14: 0: 8176 5,-16: - 2: 24576 + 0: 24576 5,-15: - 2: 8742 - 0: 34816 + 0: 43558 5,-14: - 2: 8738 - 0: 34824 + 0: 43562 6,-16: 0: 47616 6,-15: @@ -14225,147 +14253,144 @@ entities: 0: 15135 7,-16: 0: 4096 - 3: 50176 + 4: 50176 7,-15: 0: 30576 7,-14: 0: 1639 13,-15: - 2: 307 + 0: 307 13,-16: - 2: 61440 + 0: 61440 13,-14: 0: 64 14,-16: - 2: 28672 + 0: 61440 14,-15: 0: 30576 14,-14: 0: 32631 + 15,-16: + 0: 61440 15,-14: 0: 56784 - 15,-16: - 2: 57344 15,-15: - 2: 12 + 0: 1024 16,-16: - 2: 61440 - 16,-15: - 2: 15 + 0: 12288 16,-14: 0: 30576 - 17,-16: - 2: 45056 + 16,-15: + 0: 14 17,-15: - 2: 9 + 0: 35023 17,-14: 0: 30576 18,-15: - 2: 61439 + 0: 65535 18,-14: - 2: 26487 + 0: 26487 18,-16: - 2: 57344 + 0: 57344 19,-16: - 2: 61440 + 0: 61440 19,-15: - 2: 65535 + 0: 65535 19,-14: 0: 30576 20,-16: - 2: 65024 + 0: 65024 20,-15: - 2: 65535 + 0: 65535 20,-14: - 2: 14199 + 0: 14199 20,-13: - 2: 1 - 0: 65480 + 0: 65481 32,4: - 2: 21845 - 3: 8738 + 0: 21845 + 4: 8738 32,3: - 3: 62196 + 4: 62196 32,5: - 2: 1365 - 3: 61986 + 0: 1365 + 4: 61986 32,6: - 3: 65535 + 4: 65535 31,5: - 3: 61986 - 2: 1365 + 4: 61986 + 0: 1365 31,6: - 3: 65535 + 4: 65535 32,7: - 2: 21845 - 3: 8738 + 0: 21845 + 4: 8738 32,8: - 2: 21845 - 3: 41506 + 0: 21845 + 4: 41506 33,5: - 3: 61994 - 2: 1365 + 4: 61994 + 0: 1365 33,6: - 3: 63479 + 4: 63479 33,4: - 2: 21845 - 3: 8746 + 0: 21845 + 4: 8746 33,3: - 3: 29424 + 4: 29424 33,7: - 2: 21845 - 3: 10786 + 0: 21845 + 4: 10786 33,8: - 2: 21845 - 3: 10786 + 0: 21845 + 4: 10786 34,4: - 3: 4369 + 4: 4369 34,5: - 3: 61713 + 4: 61713 34,6: - 3: 63961 + 4: 63961 0: 32 34,7: - 3: 4369 + 4: 4369 34,3: - 3: 4368 + 4: 4368 34,8: - 3: 4369 + 4: 4369 22,-20: - 3: 8750 + 4: 8750 22,-19: - 3: 8738 + 4: 8738 22,-18: - 3: 8738 + 4: 8738 22,-17: - 3: 8738 + 4: 8738 22,-16: - 3: 34 - 2: 64768 + 4: 34 + 0: 64768 23,-20: - 3: 50255 + 4: 50255 23,-19: - 3: 50244 + 4: 50244 23,-18: - 3: 50244 + 4: 50244 23,-17: - 3: 3140 + 4: 3140 24,-20: - 3: 61455 - 2: 3840 + 4: 61455 + 0: 3840 24,-19: - 3: 61440 - 2: 3855 + 4: 61440 + 0: 3855 24,-18: - 3: 61440 - 2: 3855 + 4: 61440 + 0: 3855 24,-17: - 3: 3840 - 2: 15 + 4: 3840 + 0: 15 21,-16: - 2: 65280 + 0: 65280 21,-15: - 2: 23 + 0: 23 21,-14: 0: 30576 21,-13: @@ -14379,11 +14404,11 @@ entities: 22,-12: 0: 255 22,-15: - 2: 8 + 0: 8 23,-16: - 2: 65280 + 0: 65280 23,-15: - 2: 3311 + 0: 3311 23,-14: 0: 65520 23,-13: @@ -14391,9 +14416,9 @@ entities: 23,-12: 0: 247 24,-16: - 2: 38912 + 0: 38912 24,-15: - 2: 4095 + 0: 4095 24,-14: 0: 30576 24,-13: @@ -14408,21 +14433,21 @@ entities: 0: 65535 22,-11: 0: 13107 - 2: 2184 + 3: 2184 22,-10: 0: 13107 - 2: 2184 + 3: 2184 22,-9: 0: 13107 - 6: 2184 + 7: 2184 22,-8: 0: 16383 23,-11: - 2: 819 + 3: 819 23,-10: - 2: 819 + 3: 819 23,-9: - 6: 819 + 7: 819 23,-8: 0: 4095 24,-12: @@ -14443,7 +14468,7 @@ entities: 0: 30503 22,-7: 0: 13107 - 2: 2184 + 3: 2184 22,-6: 0: 64387 22,-5: @@ -14451,7 +14476,7 @@ entities: 22,-4: 0: 61883 23,-7: - 2: 819 + 3: 819 0: 2184 23,-6: 0: 65392 @@ -14482,9 +14507,9 @@ entities: 22,-2: 0: 65278 22,-1: - 0: 61166 + 0: 65262 22,0: - 0: 61183 + 0: 61439 23,-3: 0: 58623 23,-1: @@ -14502,10 +14527,9 @@ entities: 24,-1: 0: 24695 25,-16: - 2: 65528 + 0: 65528 25,-15: - 2: 511 - 0: 17408 + 0: 17919 25,-14: 0: 65524 25,-13: @@ -14513,89 +14537,84 @@ entities: 25,-12: 0: 3581 26,-16: - 2: 65535 + 0: 65535 26,-15: - 2: 35327 + 0: 35327 26,-14: - 0: 4368 - 2: 19592 + 0: 23960 26,-13: - 0: 4368 - 2: 3140 + 0: 7508 26,-12: 0: 3581 26,-17: - 2: 57345 - 3: 3918 + 0: 57345 + 4: 3918 27,-16: - 2: 4368 - 3: 17476 + 0: 4368 + 4: 17476 27,-15: - 2: 4369 - 3: 17476 + 0: 4369 + 4: 17476 27,-13: - 2: 256 - 3: 17612 + 0: 256 + 4: 17476 27,-12: - 3: 18022 + 4: 18022 0: 16 27,-17: - 3: 20224 - 2: 15 + 4: 20224 + 0: 15 27,-14: - 3: 17476 - 28,-13: - 3: 255 + 4: 17476 25,-20: - 3: 61455 - 2: 3840 + 4: 61455 + 0: 3840 25,-19: - 2: 3855 - 3: 61440 + 0: 3855 + 4: 61440 25,-18: - 2: 3855 - 3: 61440 + 0: 3855 + 4: 61440 25,-17: - 2: 15 - 3: 3840 + 0: 15 + 4: 3840 26,-20: - 3: 65103 - 2: 256 + 4: 65103 + 0: 256 26,-19: - 2: 257 - 3: 65102 + 0: 257 + 4: 65102 26,-18: - 2: 257 - 3: 65102 + 0: 257 + 4: 65102 26,-21: - 3: 5616 - 2: 16384 + 4: 5616 + 0: 16384 27,-20: - 3: 61455 - 2: 3840 + 4: 61455 + 0: 3840 27,-19: - 2: 3855 - 3: 61440 + 0: 3855 + 4: 61440 27,-18: - 2: 3855 - 3: 61440 + 0: 3855 + 4: 61440 27,-21: - 3: 4368 + 4: 4368 28,-20: - 3: 61455 - 2: 3840 + 4: 61455 + 0: 3840 28,-19: - 2: 3855 - 3: 61440 + 0: 3855 + 4: 61440 28,-18: - 2: 3855 - 3: 61440 + 0: 3855 + 4: 61440 28,-17: - 2: 15 - 3: 3840 + 0: 15 + 4: 3840 25,-11: - 0: 819 - 2: 2184 + 0: 3003 25,-10: 0: 65535 25,-9: @@ -14603,44 +14622,45 @@ entities: 25,-8: 0: 1423 26,-11: - 2: 10239 - 3: 49152 + 0: 10239 + 4: 49152 26,-10: - 2: 60930 - 3: 12 + 0: 2 + 3: 60928 + 4: 12 26,-9: - 2: 14 + 3: 14 0: 58880 - 3: 2048 + 4: 2048 26,-8: 0: 119 27,-11: - 2: 17 - 3: 62532 + 0: 17 + 4: 62532 27,-10: - 3: 239 - 2: 26112 + 4: 239 + 0: 26112 27,-9: - 3: 18272 - 2: 6 + 4: 18272 + 0: 6 27,-8: - 3: 22357 - 2: 32768 + 4: 22357 + 0: 32768 28,-11: - 3: 12288 + 4: 12288 28,-10: - 3: 51 - 2: 34944 + 4: 51 + 0: 34944 25,-6: 0: 62259 25,-5: 0: 64399 25,-4: 0: 40715 - 3: 16384 + 4: 16384 26,-6: 0: 61440 - 3: 128 + 4: 128 26,-5: 0: 64799 26,-4: @@ -14650,13 +14670,12 @@ entities: 27,-5: 0: 63247 27,-7: - 3: 1877 - 0: 8192 - 2: 2184 + 4: 1877 + 0: 10376 27,-4: 0: 65287 28,-8: - 2: 14016 + 0: 14016 28,-6: 0: 61678 28,-5: @@ -14665,9 +14684,9 @@ entities: 0: 61152 28,-4: 0: 16167 - 3: 16384 + 4: 16384 29,-8: - 2: 247 + 0: 247 29,-7: 0: 56784 29,-6: @@ -14675,95 +14694,83 @@ entities: 29,-5: 0: 63309 29,-9: - 2: 14272 + 0: 14272 29,-4: 0: 56647 30,-8: - 2: 12080 + 0: 12080 30,-7: 0: 30576 30,-6: - 0: 12407 - 2: 32768 + 0: 45175 30,-5: - 0: 13091 - 2: 34952 + 0: 48043 30,-4: - 0: 3 - 2: 52360 + 0: 52363 31,-8: - 2: 12556 + 0: 12556 31,-6: - 2: 78 - 3: 3072 + 0: 78 + 4: 3072 31,-7: - 2: 50244 + 0: 50244 31,-9: - 2: 26146 + 0: 26146 32,-8: - 2: 51 - 3: 34952 + 0: 51 + 4: 34952 32,-6: - 3: 256 - 2: 58444 + 4: 256 + 0: 58444 28,-9: - 2: 2180 + 0: 2180 29,-10: - 2: 2527 + 0: 2527 30,-10: - 2: 10096 - 3: 32768 + 0: 10096 + 4: 32768 30,-9: - 2: 54 + 0: 54 31,-10: - 3: 12288 - 2: 1636 + 4: 12288 + 0: 1224 31,-11: - 2: 32768 - 32,-11: - 2: 4096 - 3: 57344 + 0: 32768 + 32,-10: + 0: 61168 32,-9: - 2: 29696 - 3: 32768 + 0: 29832 + 4: 32768 32,-5: - 2: 204 + 0: 204 32,-7: - 3: 8 - 2: 34816 + 4: 8 + 0: 34816 33,-7: - 2: 36310 + 0: 36310 33,-6: - 2: 6124 + 0: 6124 33,-8: - 2: 8192 - 32,-10: - 2: 52966 - 3: 8 - 33,-10: - 3: 8753 - 2: 4352 - 33,-9: - 2: 34 + 0: 8192 28,-3: - 3: 5389 + 4: 5389 0: 43762 27,-3: 0: 241 - 3: 7938 + 4: 7938 28,-2: - 3: 20817 + 4: 20817 0: 44714 27,-2: - 3: 7953 + 4: 7953 28,-1: - 3: 1297 + 4: 1297 0: 64170 27,-1: - 3: 3857 + 4: 3857 0: 61440 28,0: - 3: 77 + 4: 77 0: 3890 29,-3: 0: 56797 @@ -14774,8 +14781,7 @@ entities: 29,0: 0: 52701 30,-3: - 0: 45056 - 2: 8 + 0: 45064 30,-2: 0: 52907 30,-1: @@ -14783,11 +14789,10 @@ entities: 30,0: 0: 61182 31,-4: - 2: 28945 + 0: 28945 31,-3: - 2: 243 - 0: 28672 - 3: 8 + 0: 28915 + 4: 8 31,-2: 0: 63351 31,-1: @@ -14795,66 +14800,63 @@ entities: 31,0: 0: 30583 32,-3: - 2: 65328 + 0: 65328 32,-2: - 2: 52479 - 0: 4096 + 0: 56575 32,-1: - 0: 1 - 2: 61388 + 0: 61389 24,0: 0: 24687 25,-3: 0: 48121 - 3: 1030 + 4: 1030 25,-2: 0: 49083 - 3: 16448 + 4: 16448 25,-1: 0: 64443 - 3: 1024 + 4: 1024 25,0: 0: 3993 - 3: 70 + 4: 70 26,-3: - 3: 7945 + 4: 7945 0: 240 26,-2: - 3: 7953 + 4: 7953 26,-1: - 3: 3857 + 4: 3857 0: 61440 26,0: - 3: 9 + 4: 9 0: 4080 27,0: 0: 4081 - 3: 2 + 4: 2 32,0: - 2: 51340 + 0: 51340 33,-3: - 2: 4096 + 0: 4096 33,-2: - 2: 29489 + 0: 29489 33,-1: - 2: 30583 + 0: 30583 33,0: - 2: 30583 + 0: 30583 32,1: - 2: 65535 + 0: 65535 31,1: - 2: 34944 - 0: 14128 + 0: 49072 32,2: - 2: 3 - 3: 17480 + 0: 3 + 4: 17480 31,2: - 2: 8 - 3: 4368 + 0: 8 + 4: 4368 31,3: - 3: 62193 + 4: 62193 33,1: - 2: 16 + 0: 16 28,1: 0: 28414 27,1: @@ -14874,26 +14876,25 @@ entities: 29,2: 0: 64256 29,3: - 0: 11 - 2: 30464 - 3: 32768 + 0: 30475 + 4: 32768 29,4: - 2: 26231 - 3: 34952 + 0: 26231 + 4: 34952 30,2: 0: 29440 - 3: 34816 + 4: 34816 30,3: 0: 3 - 3: 61960 + 4: 61960 30,1: 0: 28262 30,4: - 2: 21845 - 3: 8738 + 0: 21845 + 4: 8738 31,4: - 2: 21845 - 3: 8738 + 0: 21845 + 4: 8738 24,1: 0: 32766 23,1: @@ -14959,36 +14960,34 @@ entities: 27,7: 0: 59142 29,7: - 0: 12544 - 2: 17476 - 3: 34952 + 0: 30020 + 4: 34952 29,5: - 2: 26214 - 3: 34952 + 0: 26214 + 4: 34952 29,8: - 0: 1 - 2: 26180 - 3: 34952 + 0: 26181 + 4: 34952 29,6: - 2: 19660 - 3: 32768 + 0: 19660 + 4: 32768 30,5: - 2: 1365 - 3: 61986 + 0: 1365 + 4: 61986 30,6: - 3: 65535 + 4: 65535 30,7: - 2: 21845 - 3: 8738 + 0: 21845 + 4: 8738 30,8: - 2: 21845 - 3: 41506 + 0: 21845 + 4: 41506 31,7: - 2: 21845 - 3: 8738 + 0: 21845 + 4: 8738 31,8: - 2: 21845 - 3: 41506 + 0: 21845 + 4: 41506 24,5: 0: 61695 23,5: @@ -15042,13 +15041,11 @@ entities: 23,8: 0: 61695 28,9: - 0: 13073 - 2: 34816 + 0: 47889 27,9: 0: 47887 28,10: - 0: 45827 - 2: 136 + 0: 45963 27,10: 0: 64779 28,11: @@ -15058,40 +15055,36 @@ entities: 28,12: 0: 4095 29,9: - 2: 65398 + 0: 65398 29,10: - 2: 1 - 0: 15872 + 0: 15873 29,11: 0: 52689 29,12: 0: 52701 30,9: - 2: 65024 - 3: 226 + 0: 65024 + 4: 226 30,10: - 0: 3840 - 2: 14 + 0: 3854 30,11: 0: 65534 30,12: 0: 64443 31,9: - 3: 242 - 2: 61440 + 4: 242 + 0: 61440 31,10: - 2: 15 - 0: 3840 + 0: 3855 31,11: 0: 65520 31,12: 0: 64732 32,9: - 3: 242 - 2: 12288 + 4: 242 + 0: 12288 32,10: - 2: 2255 - 0: 12544 + 0: 14799 32,11: 0: 17734 24,9: @@ -15129,83 +15122,72 @@ entities: 32,12: 0: 17749 33,9: - 3: 35058 + 4: 35058 33,10: - 2: 29488 - 3: 8 + 0: 29488 + 4: 8 33,11: - 2: 32767 + 0: 32767 33,12: - 2: 13111 + 0: 13111 34,9: - 3: 17 + 4: 17 34,10: - 3: 49168 - 34,11: - 3: 12 - 35,10: - 3: 28672 - 35,11: - 3: 30583 - 35,12: - 3: 30583 + 4: 16 32,13: 0: 13893 31,13: 0: 255 32,14: - 0: 1 - 2: 65480 + 0: 65481 31,14: - 0: 15 - 2: 65280 + 0: 65295 32,15: - 2: 12301 + 0: 14207 31,15: - 2: 61455 + 0: 65535 32,16: - 2: 7 + 0: 3 33,13: - 2: 12595 - 3: 32768 + 0: 12595 + 4: 32768 33,14: - 2: 16247 + 0: 16247 33,15: - 2: 3 - 34,13: - 3: 255 - 34,15: - 3: 4080 - 35,13: - 3: 30583 - 35,15: - 3: 1911 - 35,14: - 3: 30583 + 0: 3 28,13: 0: 15 28,15: - 2: 3831 + 0: 3831 27,15: - 2: 235 + 0: 30696 29,13: 0: 12765 29,15: - 2: 34815 + 0: 4095 29,14: - 0: 14 - 2: 59392 + 0: 59406 30,13: 0: 3839 30,14: - 0: 15 - 2: 65280 + 0: 65295 30,15: - 2: 32807 + 0: 65535 30,16: - 2: 12 + 0: 12 31,16: - 2: 15 + 0: 15 + 28,17: + 0: 65520 + 27,17: + 0: 63628 + 29,17: + 0: 256 + 4: 8192 + 28,18: + 0: 8 + 29,18: + 0: 1 23,12: 0: 34952 24,13: @@ -15220,28 +15202,22 @@ entities: 0: 65319 25,14: 0: 15 - 2: 2048 26,13: 0: 65295 26,14: 0: 15 - 2: 61440 + 26,15: + 0: 51200 + 26,16: + 0: 65260 27,13: 0: 13063 27,14: 0: 3 - 2: 4096 - 29,-13: - 3: 119 - 29,-16: - 3: 30583 - 29,-17: - 3: 30532 - 2: 1 - 29,-15: - 3: 30583 - 29,-14: - 3: 30583 + 27,16: + 0: 28979 + 26,17: + 0: 36657 20,12: 0: 65521 20,11: @@ -15254,22 +15230,22 @@ entities: 0: 61668 20,14: 0: 255 - 3: 24576 + 4: 8192 19,14: 0: 255 20,15: - 3: 26358 + 4: 8946 19,15: - 3: 240 + 4: 240 20,16: - 3: 28662 + 4: 65522 21,13: 0: 61440 21,14: 0: 31 - 3: 3072 + 4: 3072 21,15: - 3: 240 + 4: 240 21,12: 0: 34952 21,11: @@ -15280,40 +15256,33 @@ entities: 0: 61472 22,14: 0: 52367 - 3: 256 + 4: 256 22,15: - 3: 16 + 4: 16 0: 52428 22,11: 0: 65282 22,16: 0: 52428 - 3: 272 + 4: 4368 23,15: 0: 4593 23,16: 0: 7953 19,16: - 3: 4080 + 4: 65520 20,17: - 3: 63078 - 20,18: - 3: 255 + 4: 15 19,17: - 3: 61440 - 19,18: - 3: 255 + 4: 15 21,16: - 3: 4080 + 4: 65520 21,17: - 3: 61440 - 21,18: - 3: 255 + 4: 15 22,17: - 3: 4096 + 4: 1 0: 36044 22,18: - 3: 17 0: 2252 23,17: 0: 819 @@ -15349,11 +15318,11 @@ entities: 0: 65535 16,15: 0: 11 - 3: 4352 + 4: 4352 15,15: 0: 15 16,16: - 3: 8177 + 4: 65521 17,12: 0: 65535 17,13: @@ -15372,11 +15341,11 @@ entities: 0: 13175 18,15: 0: 3 - 3: 13184 + 4: 13184 18,11: 0: 30707 18,16: - 3: 16371 + 4: 65523 17,9: 0: 65359 17,10: @@ -15408,17 +15377,17 @@ entities: 13,13: 0: 61160 13,16: - 0: 47903 + 0: 48031 14,13: 0: 56784 14,14: 0: 56799 14,15: 0: 4381 - 3: 17408 + 4: 17408 14,16: - 0: 65281 - 3: 12 + 0: 12305 + 4: 2244 9,13: 0: 65484 9,14: @@ -15434,165 +15403,160 @@ entities: 10,15: 0: 65009 10,16: - 0: 15 - 2: 4096 + 0: 4111 11,16: - 0: 207 - 2: 28672 + 0: 28879 12,18: - 3: 33012 - 2: 28672 + 4: 33012 + 0: 28672 11,18: - 3: 240 - 2: 61440 + 4: 240 + 0: 61440 12,19: - 3: 32911 - 2: 28784 + 4: 32911 + 0: 28784 11,19: - 3: 15 - 2: 61680 + 4: 15 + 0: 61680 12,20: - 3: 32911 - 2: 28784 + 4: 32911 + 0: 28784 12,17: 0: 8 - 3: 17408 + 4: 17408 13,17: 0: 4379 - 3: 19456 + 4: 19456 13,18: - 3: 12789 - 2: 49152 + 4: 12789 + 0: 49152 13,19: - 3: 12607 - 2: 49344 + 4: 12607 + 0: 49344 13,20: - 3: 12607 - 2: 49344 + 4: 12607 + 0: 49344 14,17: - 0: 15 - 3: 12032 + 4: 12032 + 0: 34 14,18: - 3: 754 - 2: 61440 + 4: 754 + 0: 61440 14,19: - 3: 15 - 2: 61680 + 4: 15 + 0: 61680 14,20: - 3: 15 - 2: 61680 + 4: 15 + 0: 61680 15,16: - 3: 3811 + 4: 4080 15,17: - 3: 3840 + 4: 3840 15,18: - 3: 240 - 2: 28672 + 4: 240 + 0: 28672 15,19: - 3: 15 - 2: 28784 + 4: 15 + 0: 28784 15,20: - 3: 15 - 2: 28784 + 4: 15 + 0: 28784 16,17: - 3: 61713 + 4: 4383 16,18: - 3: 4607 + 4: 4369 16,19: - 3: 4369 + 4: 4369 16,20: - 3: 4369 + 4: 4369 17,16: - 3: 4080 + 4: 65520 17,17: - 3: 61440 - 17,18: - 3: 255 + 4: 15 18,17: - 3: 62259 - 18,18: - 3: 255 + 4: 15 8,17: - 2: 24576 - 0: 8 + 0: 24584 9,17: - 0: 1 - 2: 716 + 0: 717 10,17: - 2: 239 - 3: 4352 + 0: 239 + 4: 4352 10,18: - 3: 4593 - 2: 49152 + 4: 4593 + 0: 49152 10,19: - 3: 4383 - 2: 49344 + 4: 4383 + 0: 49344 10,20: - 3: 4383 - 2: 49344 + 4: 4383 + 0: 49344 11,17: - 2: 7 + 0: 7 11,20: - 3: 15 - 2: 61680 + 4: 15 + 0: 61680 29,-20: - 3: 29767 - 2: 256 + 4: 29767 + 0: 256 29,-19: - 2: 257 - 3: 29764 + 0: 257 + 4: 29764 29,-18: - 2: 257 - 3: 29764 + 0: 257 + 4: 29764 + 29,-17: + 0: 1 + 4: 1860 12,21: - 3: 61583 - 2: 112 + 4: 61583 + 0: 112 11,21: - 3: 61455 - 2: 240 + 4: 61455 + 0: 240 12,22: - 3: 3140 + 4: 3140 13,21: - 3: 61759 - 2: 192 + 4: 61759 + 0: 192 13,22: - 3: 1860 - 2: 1 + 4: 1860 + 0: 1 14,21: - 3: 61455 - 2: 240 + 4: 61455 + 0: 240 15,21: - 3: 61455 - 2: 112 + 4: 61455 + 0: 112 16,21: - 3: 4369 + 4: 4369 8,21: - 3: 61440 + 4: 61440 7,21: - 3: 61440 + 4: 61440 9,21: - 3: 61440 + 4: 61440 10,21: - 3: 61727 - 2: 192 + 4: 61727 + 0: 192 + 0,21: + 4: 61440 + -1,21: + 4: 49152 1,20: - 2: 57232 + 0: 57232 1,21: - 3: 61986 + 4: 61986 2,21: - 3: 61440 + 4: 61440 3,21: - 3: 61440 + 4: 61440 4,21: - 3: 61440 + 4: 61440 5,21: - 3: 62532 + 4: 62532 6,21: - 3: 61440 - -14,23: - 3: 2184 - -13,21: - 3: 30583 + 4: 61440 uniqueMixes: - volume: 2500 temperature: 293.15 @@ -15609,11 +15573,26 @@ entities: - 0 - 0 - 0 + - volume: 2500 + temperature: 293.14975 + moles: + - 20.078888 + - 75.53487 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - volume: 2500 temperature: 235 moles: - - 27.225372 - - 102.419266 + - 21.824879 + - 82.10312 - 0 - 0 - 0 @@ -15706,7 +15685,6 @@ entities: - type: GridPathfinding - type: NavMap - type: SalvageExpeditionData - - type: ImplicitRoof - proto: AcousticGuitarInstrument entities: - uid: 4 @@ -15722,26 +15700,26 @@ entities: parent: 2 - proto: ActionNoosphericZap entities: - - uid: 36453 + - uid: 7 mapInit: true paused: true components: - type: Transform - parent: 36452 + parent: 6 - type: EntityTargetAction originalIconColor: '#FFFFFFFF' - attachedEntity: 36452 - container: 36452 - - uid: 36455 + attachedEntity: 6 + container: 6 + - uid: 9 mapInit: true paused: true components: - type: Transform - parent: 36454 + parent: 8 - type: EntityTargetAction originalIconColor: '#FFFFFFFF' - attachedEntity: 36454 - container: 36454 + attachedEntity: 8 + container: 8 - proto: ActionToggleBlock entities: - uid: 11 @@ -16301,6 +16279,8 @@ entities: parent: 2 - type: DeviceList devices: + - 17770 + - 17771 - 17755 - 17754 - 17753 @@ -16575,6 +16555,17 @@ entities: - 17840 - 23149 - 22918 + - uid: 67 + components: + - type: Transform + pos: 57.5,-25.5 + parent: 2 + - type: DeviceList + devices: + - 755 + - 17846 + - 23139 + - 22907 - uid: 68 components: - type: Transform @@ -17459,29 +17450,6 @@ entities: - 23036 - 23262 - 23261 - - uid: 29224 - components: - - type: Transform - pos: 57.5,-25.5 - parent: 2 - - type: DeviceList - devices: - - 22792 - - 25333 - - 660 - - 22806 - - 25160 - - uid: 30843 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 22.5,28.5 - parent: 2 - - type: DeviceList - devices: - - 36443 - - 36444 - - 36450 - proto: AirCanister entities: - uid: 132 @@ -17524,6 +17492,16 @@ entities: - type: Transform pos: -40.5,-5.5 parent: 2 + - uid: 140 + components: + - type: Transform + pos: 55.5,-41.5 + parent: 2 + - uid: 141 + components: + - type: Transform + pos: 55.5,-40.5 + parent: 2 - uid: 142 components: - type: Transform @@ -17564,16 +17542,6 @@ entities: - type: Transform pos: 38.5,56.5 parent: 2 - - uid: 1681 - components: - - type: Transform - pos: 59.5,-43.5 - parent: 2 - - uid: 1916 - components: - - type: Transform - pos: 59.5,-42.5 - parent: 2 - proto: Airlock entities: - uid: 150 @@ -17762,14 +17730,6 @@ entities: - type: Transform pos: 29.5,15.5 parent: 2 -- proto: AirlockAtmospherics - entities: - - uid: 32062 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-44.5 - parent: 2 - proto: AirlockAtmosphericsGlassLocked entities: - uid: 184 @@ -17822,6 +17782,11 @@ entities: - type: Transform pos: -27.5,73.5 parent: 2 + - uid: 193 + components: + - type: Transform + pos: 63.5,-36.5 + parent: 2 - uid: 194 components: - type: Transform @@ -17951,6 +17916,13 @@ entities: - type: Transform pos: 40.5,7.5 parent: 2 + - uid: 211 + components: + - type: MetaData + name: Court Room + - type: Transform + pos: 61.5,30.5 + parent: 2 - proto: AirlockBrigLocked entities: - uid: 212 @@ -17960,6 +17932,37 @@ entities: - type: Transform pos: 18.5,24.5 parent: 2 + - uid: 213 + components: + - type: Transform + pos: 69.5,25.5 + parent: 2 + - uid: 214 + components: + - type: MetaData + name: Court Backroom + - type: Transform + pos: 67.5,28.5 + parent: 2 + - uid: 215 + components: + - type: MetaData + name: Court Backroom + - type: Transform + pos: 69.5,30.5 + parent: 2 + - uid: 216 + components: + - type: Transform + pos: 67.5,33.5 + parent: 2 + - uid: 217 + components: + - type: MetaData + name: Lawyer's Office + - type: Transform + pos: 70.5,37.5 + parent: 2 - proto: AirlockCaptainLocked entities: - uid: 218 @@ -19050,6 +19053,14 @@ entities: parent: 2 - type: DeviceLinkSink invokeCounter: 3 + - type: DeviceLinkSource + linkedPorts: + 381: + - - DoorStatus + - DoorBolt + 380: + - - DoorStatus + - DoorBolt - uid: 379 components: - type: Transform @@ -19057,6 +19068,44 @@ entities: parent: 2 - type: DeviceLinkSink invokeCounter: 2 + - type: DeviceLinkSource + linkedPorts: + 381: + - - DoorStatus + - DoorBolt + 380: + - - DoorStatus + - DoorBolt + - uid: 380 + components: + - type: Transform + pos: 20.5,-50.5 + parent: 2 + - type: DeviceLinkSink + invokeCounter: 2 + - type: DeviceLinkSource + linkedPorts: + 379: + - - DoorStatus + - DoorBolt + 378: + - - DoorStatus + - DoorBolt + - uid: 381 + components: + - type: Transform + pos: 20.5,-49.5 + parent: 2 + - type: DeviceLinkSink + invokeCounter: 2 + - type: DeviceLinkSource + linkedPorts: + 379: + - - DoorStatus + - DoorBolt + 378: + - - DoorStatus + - DoorBolt - uid: 382 components: - type: Transform @@ -19077,6 +19126,26 @@ entities: 382: - - DoorStatus - DoorBolt + - uid: 384 + components: + - type: Transform + pos: 56.5,67.5 + parent: 2 + - type: DeviceLinkSource + linkedPorts: + 385: + - - DoorStatus + - DoorBolt + - uid: 385 + components: + - type: Transform + pos: 57.5,69.5 + parent: 2 + - type: DeviceLinkSource + linkedPorts: + 384: + - - DoorStatus + - DoorBolt - proto: AirlockExternalGlassShuttleArrivals entities: - uid: 386 @@ -19173,18 +19242,6 @@ entities: parent: 2 - proto: AirlockExternalGlassShuttleLocked entities: - - uid: 216 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 20.5,-49.5 - parent: 2 - - uid: 217 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 20.5,-50.5 - parent: 2 - uid: 401 components: - type: Transform @@ -19478,7 +19535,7 @@ entities: pos: -15.5,-4.5 parent: 2 - type: Door - secondsUntilStateChange: -86521.28 + secondsUntilStateChange: -13872.3 state: Opening - type: DeviceLinkSource lastSignals: @@ -19862,20 +19919,6 @@ entities: rot: 3.141592653589793 rad pos: 1.5,12.5 parent: 2 -- proto: AirlockJournalismGlassLocked - entities: - - uid: 36468 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -9.5,53.5 - parent: 2 - - uid: 36469 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,53.5 - parent: 2 - proto: AirlockMaintAtmoLocked entities: - uid: 509 @@ -20103,11 +20146,6 @@ entities: parent: 2 - proto: AirlockMaintLocked entities: - - uid: 385 - components: - - type: Transform - pos: 12.5,24.5 - parent: 2 - uid: 547 components: - type: Transform @@ -20202,6 +20240,16 @@ entities: - type: Transform pos: 9.5,31.5 parent: 2 + - uid: 564 + components: + - type: Transform + pos: 19.5,31.5 + parent: 2 + - uid: 565 + components: + - type: Transform + pos: 12.5,24.5 + parent: 2 - uid: 566 components: - type: Transform @@ -20462,11 +20510,10 @@ entities: - type: Transform pos: 18.5,6.5 parent: 2 - - uid: 30854 + - uid: 616 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 15.5,28.5 + pos: 18.5,28.5 parent: 2 - proto: AirlockMaintTheatreLocked entities: @@ -20669,6 +20716,11 @@ entities: - type: Transform pos: 59.5,-26.5 parent: 2 + - uid: 653 + components: + - type: Transform + pos: 61.5,-28.5 + parent: 2 - uid: 654 components: - type: Transform @@ -20682,41 +20734,37 @@ entities: rot: 3.141592653589793 rad pos: 38.5,-44.5 parent: 2 - - uid: 4631 +- proto: AirlockScienceLocked + entities: + - uid: 656 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-39.5 + pos: 38.5,-40.5 parent: 2 - - uid: 4632 + - uid: 657 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-40.5 + pos: 56.5,-42.5 parent: 2 - - uid: 31956 + - uid: 658 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-27.5 + pos: 56.5,-44.5 parent: 2 - - uid: 32065 + - uid: 659 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,-41.5 + pos: 46.5,-34.5 parent: 2 -- proto: AirlockScienceLocked - entities: - - uid: 656 + - uid: 660 components: - type: Transform - pos: 38.5,-40.5 + pos: 56.5,-36.5 parent: 2 - - uid: 659 + - uid: 661 components: - type: Transform - pos: 46.5,-34.5 + pos: 58.5,-41.5 parent: 2 - uid: 662 components: @@ -20768,12 +20816,6 @@ entities: - type: Transform pos: 41.5,-50.5 parent: 2 - - uid: 32057 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,-45.5 - parent: 2 - proto: AirlockSecurityGlassLocked entities: - uid: 672 @@ -20873,52 +20915,6 @@ entities: - type: Transform pos: 20.5,54.5 parent: 2 - - uid: 17457 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 22.5,26.5 - parent: 2 - - uid: 17516 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 22.5,25.5 - parent: 2 -- proto: AirlockSecurityLawyerGlassLocked - entities: - - uid: 141 - components: - - type: Transform - pos: 61.5,30.5 - parent: 2 - - uid: 214 - components: - - type: Transform - pos: 70.5,37.5 - parent: 2 - - uid: 215 - components: - - type: Transform - pos: 67.5,33.5 - parent: 2 -- proto: AirlockSecurityLawyerLocked - entities: - - uid: 193 - components: - - type: Transform - pos: 67.5,28.5 - parent: 2 - - uid: 211 - components: - - type: Transform - pos: 69.5,30.5 - parent: 2 - - uid: 213 - components: - - type: Transform - pos: 69.5,25.5 - parent: 2 - proto: AirlockSecurityLocked entities: - uid: 691 @@ -21052,14 +21048,6 @@ entities: parent: 2 - proto: AirSensor entities: - - uid: 67 - components: - - type: Transform - pos: 60.5,-37.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 30786 - uid: 713 components: - type: Transform @@ -21271,6 +21259,11 @@ entities: - type: Transform pos: 55.5,-19.5 parent: 2 + - uid: 755 + components: + - type: Transform + pos: 56.5,-29.5 + parent: 2 - uid: 756 components: - type: Transform @@ -21501,33 +21494,6 @@ entities: - type: Transform pos: 66.5,39.5 parent: 2 - - uid: 22792 - components: - - type: Transform - pos: 55.5,-33.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 29224 - - uid: 25560 - components: - - type: Transform - pos: 60.5,-29.5 - parent: 2 - - type: DeviceNetwork - configurators: - - invalid - deviceLists: - - 2493 - - uid: 36450 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 17.5,28.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 30843 - proto: AltarConvertMaint entities: - uid: 802 @@ -21542,41 +21508,6 @@ entities: - type: Transform pos: -12.5,64.5 parent: 2 -- proto: AlwaysPoweredLightExterior - entities: - - uid: 36560 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 126.5,63.5 - parent: 2 - - uid: 36594 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 129.5,-38.5 - parent: 2 - - uid: 36595 - components: - - type: Transform - pos: 131.5,-36.5 - parent: 2 - - uid: 36607 - components: - - type: Transform - pos: 65.5,-59.5 - parent: 2 - - uid: 36624 - components: - - type: Transform - pos: -53.5,-60.5 - parent: 2 - - uid: 36625 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,-64.5 - parent: 2 - proto: AlwaysPoweredLightLED entities: - uid: 804 @@ -21919,6 +21850,13 @@ entities: - type: Transform pos: 36.5,23.5 parent: 2 + - uid: 853 + components: + - type: MetaData + name: Security North APC + - type: Transform + pos: 19.5,27.5 + parent: 2 - uid: 854 components: - type: MetaData @@ -22584,52 +22522,6 @@ entities: - type: Transform pos: 54.5,65.5 parent: 2 - - uid: 6009 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 100.5,29.5 - parent: 2 - - uid: 6015 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 100.5,33.5 - parent: 2 - - uid: 6020 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 91.5,33.5 - parent: 2 - - uid: 25315 - components: - - type: Transform - pos: 55.5,-25.5 - parent: 2 - - uid: 25385 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -11.5,49.5 - parent: 2 - - uid: 38306 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 22.5,27.5 - parent: 2 - - uid: 38310 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,-37.5 - parent: 2 - - uid: 38313 - components: - - type: Transform - pos: 58.5,-25.5 - parent: 2 - proto: APCHyperCapacity entities: - uid: 946 @@ -22667,6 +22559,11 @@ entities: parent: 2 - proto: AsteroidRock entities: + - uid: 951 + components: + - type: Transform + pos: 108.5,61.5 + parent: 2 - uid: 952 components: - type: Transform @@ -23652,6 +23549,11 @@ entities: - type: Transform pos: -50.5,-60.5 parent: 2 + - uid: 1149 + components: + - type: Transform + pos: -50.5,-61.5 + parent: 2 - uid: 1150 components: - type: Transform @@ -24545,22 +24447,42 @@ entities: - uid: 1328 components: - type: Transform - pos: 70.5,-59.5 + pos: 64.5,-59.5 + parent: 2 + - uid: 1329 + components: + - type: Transform + pos: 64.5,-58.5 parent: 2 - uid: 1330 components: - type: Transform pos: 60.5,-59.5 parent: 2 + - uid: 1331 + components: + - type: Transform + pos: 61.5,-59.5 + parent: 2 + - uid: 1332 + components: + - type: Transform + pos: 62.5,-59.5 + parent: 2 + - uid: 1333 + components: + - type: Transform + pos: 62.5,-58.5 + parent: 2 - uid: 1334 components: - type: Transform - pos: 66.5,-57.5 + pos: 63.5,-59.5 parent: 2 - uid: 1335 components: - type: Transform - pos: 67.5,-57.5 + pos: 63.5,-58.5 parent: 2 - uid: 1336 components: @@ -24845,17 +24767,22 @@ entities: - uid: 1392 components: - type: Transform - pos: 64.5,-57.5 + pos: 65.5,-58.5 parent: 2 - uid: 1393 components: - type: Transform pos: 65.5,-57.5 parent: 2 + - uid: 1394 + components: + - type: Transform + pos: 66.5,-58.5 + parent: 2 - uid: 1395 components: - type: Transform - pos: 63.5,-57.5 + pos: 66.5,-57.5 parent: 2 - uid: 1396 components: @@ -24865,13 +24792,23 @@ entities: - uid: 1397 components: - type: Transform - pos: 70.5,-58.5 + pos: 67.5,-58.5 + parent: 2 + - uid: 1398 + components: + - type: Transform + pos: 67.5,-57.5 parent: 2 - uid: 1399 components: - type: Transform pos: 67.5,-56.5 parent: 2 + - uid: 1400 + components: + - type: Transform + pos: 68.5,-58.5 + parent: 2 - uid: 1401 components: - type: Transform @@ -25282,11 +25219,21 @@ entities: - type: Transform pos: 134.5,-24.5 parent: 2 + - uid: 1483 + components: + - type: Transform + pos: 130.5,-35.5 + parent: 2 - uid: 1484 components: - type: Transform pos: 130.5,-34.5 parent: 2 + - uid: 1485 + components: + - type: Transform + pos: 129.5,-35.5 + parent: 2 - uid: 1486 components: - type: Transform @@ -25332,6 +25279,21 @@ entities: - type: Transform pos: 127.5,-37.5 parent: 2 + - uid: 1495 + components: + - type: Transform + pos: 128.5,-36.5 + parent: 2 + - uid: 1496 + components: + - type: Transform + pos: 128.5,-37.5 + parent: 2 + - uid: 1497 + components: + - type: Transform + pos: 128.5,-39.5 + parent: 2 - uid: 1498 components: - type: Transform @@ -25852,6 +25814,21 @@ entities: - type: Transform pos: 131.5,61.5 parent: 2 + - uid: 1602 + components: + - type: Transform + pos: 130.5,63.5 + parent: 2 + - uid: 1603 + components: + - type: Transform + pos: 130.5,64.5 + parent: 2 + - uid: 1604 + components: + - type: Transform + pos: 131.5,64.5 + parent: 2 - uid: 1605 components: - type: Transform @@ -26012,6 +25989,126 @@ entities: - type: Transform pos: 105.5,58.5 parent: 2 + - uid: 1637 + components: + - type: Transform + pos: 104.5,58.5 + parent: 2 + - uid: 1638 + components: + - type: Transform + pos: 104.5,59.5 + parent: 2 + - uid: 1639 + components: + - type: Transform + pos: 104.5,60.5 + parent: 2 + - uid: 1640 + components: + - type: Transform + pos: 104.5,61.5 + parent: 2 + - uid: 1641 + components: + - type: Transform + pos: 104.5,62.5 + parent: 2 + - uid: 1642 + components: + - type: Transform + pos: 104.5,63.5 + parent: 2 + - uid: 1643 + components: + - type: Transform + pos: 104.5,64.5 + parent: 2 + - uid: 1644 + components: + - type: Transform + pos: 104.5,65.5 + parent: 2 + - uid: 1645 + components: + - type: Transform + pos: 105.5,64.5 + parent: 2 + - uid: 1646 + components: + - type: Transform + pos: 105.5,63.5 + parent: 2 + - uid: 1647 + components: + - type: Transform + pos: 105.5,62.5 + parent: 2 + - uid: 1648 + components: + - type: Transform + pos: 105.5,61.5 + parent: 2 + - uid: 1649 + components: + - type: Transform + pos: 105.5,60.5 + parent: 2 + - uid: 1650 + components: + - type: Transform + pos: 105.5,59.5 + parent: 2 + - uid: 1651 + components: + - type: Transform + pos: 106.5,62.5 + parent: 2 + - uid: 1652 + components: + - type: Transform + pos: 106.5,61.5 + parent: 2 + - uid: 1653 + components: + - type: Transform + pos: 106.5,60.5 + parent: 2 + - uid: 1654 + components: + - type: Transform + pos: 106.5,59.5 + parent: 2 + - uid: 1655 + components: + - type: Transform + pos: 107.5,61.5 + parent: 2 + - uid: 1656 + components: + - type: Transform + pos: 107.5,60.5 + parent: 2 + - uid: 1657 + components: + - type: Transform + pos: 107.5,59.5 + parent: 2 + - uid: 1658 + components: + - type: Transform + pos: 108.5,60.5 + parent: 2 + - uid: 1659 + components: + - type: Transform + pos: 108.5,59.5 + parent: 2 + - uid: 1660 + components: + - type: Transform + pos: 109.5,60.5 + parent: 2 - uid: 1661 components: - type: Transform @@ -26052,6 +26149,71 @@ entities: - type: Transform pos: 116.5,59.5 parent: 2 + - uid: 1669 + components: + - type: Transform + pos: 105.5,68.5 + parent: 2 + - uid: 1670 + components: + - type: Transform + pos: 106.5,68.5 + parent: 2 + - uid: 1671 + components: + - type: Transform + pos: 106.5,69.5 + parent: 2 + - uid: 1672 + components: + - type: Transform + pos: 107.5,68.5 + parent: 2 + - uid: 1673 + components: + - type: Transform + pos: 107.5,69.5 + parent: 2 + - uid: 1674 + components: + - type: Transform + pos: 108.5,68.5 + parent: 2 + - uid: 1675 + components: + - type: Transform + pos: 108.5,69.5 + parent: 2 + - uid: 1676 + components: + - type: Transform + pos: 109.5,68.5 + parent: 2 + - uid: 1677 + components: + - type: Transform + pos: 109.5,69.5 + parent: 2 + - uid: 1678 + components: + - type: Transform + pos: 110.5,69.5 + parent: 2 + - uid: 1679 + components: + - type: Transform + pos: 110.5,70.5 + parent: 2 + - uid: 1680 + components: + - type: Transform + pos: 109.5,70.5 + parent: 2 + - uid: 1681 + components: + - type: Transform + pos: 108.5,70.5 + parent: 2 - uid: 1682 components: - type: Transform @@ -26367,6 +26529,11 @@ entities: - type: Transform pos: 116.5,8.5 parent: 2 + - uid: 1745 + components: + - type: Transform + pos: 104.5,66.5 + parent: 2 - uid: 1746 components: - type: Transform @@ -27217,163 +27384,28 @@ entities: - type: Transform pos: 69.5,-45.5 parent: 2 - - uid: 12376 - components: - - type: Transform - pos: 120.5,62.5 - parent: 2 - - uid: 29470 - components: - - type: Transform - pos: 130.5,61.5 - parent: 2 - - uid: 36546 - components: - - type: Transform - pos: 130.5,62.5 - parent: 2 - - uid: 36550 - components: - - type: Transform - pos: 129.5,61.5 - parent: 2 - - uid: 36552 - components: - - type: Transform - pos: 122.5,61.5 - parent: 2 - - uid: 36555 - components: - - type: Transform - pos: 127.5,-38.5 - parent: 2 - - uid: 36558 - components: - - type: Transform - pos: 123.5,61.5 - parent: 2 - - uid: 36559 - components: - - type: Transform - pos: 122.5,62.5 - parent: 2 - - uid: 36562 - components: - - type: Transform - pos: 121.5,63.5 - parent: 2 - - uid: 36563 - components: - - type: Transform - pos: 121.5,62.5 - parent: 2 - - uid: 36564 - components: - - type: Transform - pos: 129.5,60.5 - parent: 2 - - uid: 36565 - components: - - type: Transform - pos: 120.5,64.5 - parent: 2 - - uid: 36566 - components: - - type: Transform - pos: 120.5,63.5 - parent: 2 - - uid: 36567 - components: - - type: Transform - pos: 119.5,62.5 - parent: 2 - - uid: 36568 - components: - - type: Transform - pos: 120.5,61.5 - parent: 2 - - uid: 36574 - components: - - type: Transform - pos: 127.5,61.5 - parent: 2 - - uid: 36575 - components: - - type: Transform - pos: 126.5,61.5 - parent: 2 - - uid: 36576 - components: - - type: Transform - pos: 125.5,61.5 - parent: 2 - - uid: 36577 - components: - - type: Transform - pos: 124.5,61.5 - parent: 2 - - uid: 36578 - components: - - type: Transform - pos: 128.5,61.5 - parent: 2 - - uid: 36579 - components: - - type: Transform - pos: 123.5,60.5 - parent: 2 - - uid: 36585 - components: - - type: Transform - pos: 127.5,-39.5 - parent: 2 - - uid: 36586 - components: - - type: Transform - pos: 131.5,-34.5 - parent: 2 - - uid: 36587 - components: - - type: Transform - pos: 132.5,-34.5 - parent: 2 - - uid: 36588 - components: - - type: Transform - pos: 132.5,-33.5 - parent: 2 - - uid: 36600 + - uid: 1916 components: - type: Transform - pos: 71.5,-58.5 + pos: 59.5,-44.5 parent: 2 - - uid: 36601 + - uid: 1917 components: - type: Transform - pos: 71.5,-57.5 + pos: 60.5,-44.5 parent: 2 - - uid: 36602 + - uid: 1918 components: - type: Transform - pos: 72.5,-56.5 + pos: 61.5,-44.5 parent: 2 - - uid: 36603 + - uid: 1919 components: - type: Transform - pos: 71.5,-56.5 + pos: 62.5,-44.5 parent: 2 - proto: AsteroidRockMining entities: - - uid: 1394 - components: - - type: Transform - pos: 62.5,-57.5 - parent: 2 - - uid: 1919 - components: - - type: Transform - pos: 61.5,-58.5 - parent: 2 - uid: 1920 components: - type: Transform @@ -27484,9595 +27516,843 @@ entities: - type: Transform pos: 60.5,-58.5 parent: 2 - - uid: 1943 - components: - - type: Transform - pos: 65.5,-56.5 - parent: 2 - - uid: 1944 - components: - - type: Transform - pos: 64.5,-56.5 - parent: 2 - - uid: 1945 - components: - - type: Transform - pos: 63.5,-56.5 - parent: 2 - - uid: 1947 - components: - - type: Transform - pos: 62.5,-56.5 - parent: 2 - - uid: 1948 - components: - - type: Transform - pos: 60.5,-56.5 - parent: 2 - - uid: 1949 - components: - - type: Transform - pos: 60.5,-57.5 - parent: 2 - - uid: 1950 - components: - - type: Transform - pos: 129.5,1.5 - parent: 2 - - uid: 1951 - components: - - type: Transform - pos: 129.5,2.5 - parent: 2 - - uid: 1952 - components: - - type: Transform - pos: 128.5,2.5 - parent: 2 - - uid: 1953 - components: - - type: Transform - pos: 128.5,1.5 - parent: 2 - - uid: 1954 - components: - - type: Transform - pos: 128.5,0.5 - parent: 2 - - uid: 1955 - components: - - type: Transform - pos: 61.5,-57.5 - parent: 2 -- proto: AtmosDeviceFanDirectional - entities: - - uid: 1651 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 20.5,-49.5 - parent: 2 - - uid: 1652 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 20.5,-50.5 - parent: 2 - - uid: 1655 - components: - - type: Transform - pos: 27.5,-61.5 - parent: 2 - - uid: 1657 - components: - - type: Transform - pos: 25.5,-61.5 - parent: 2 - - uid: 1957 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -7.5,28.5 - parent: 2 - - uid: 1958 - components: - - type: Transform - pos: -6.5,25.5 - parent: 2 - - uid: 1959 - components: - - type: Transform - pos: -37.5,-10.5 - parent: 2 - - uid: 1960 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -41.5,32.5 - parent: 2 - - uid: 1961 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -41.5,34.5 - parent: 2 - - uid: 1962 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -41.5,40.5 - parent: 2 - - uid: 1963 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -41.5,42.5 - parent: 2 - - uid: 1964 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,76.5 - parent: 2 - - uid: 1965 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,-37.5 - parent: 2 - - uid: 1966 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,-35.5 - parent: 2 - - uid: 1967 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -43.5,-32.5 - parent: 2 - - uid: 1968 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -43.5,-39.5 - parent: 2 - - uid: 1969 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -37.5,-20.5 - parent: 2 - - uid: 1970 - components: - - type: Transform - pos: -30.5,-10.5 - parent: 2 - - uid: 1971 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -30.5,-20.5 - parent: 2 - - uid: 1972 - components: - - type: Transform - pos: -33.5,-30.5 - parent: 2 - - uid: 1973 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 95.5,61.5 - parent: 2 - - uid: 1974 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 95.5,66.5 - parent: 2 - - uid: 1975 - components: - - type: Transform - pos: -28.5,-30.5 - parent: 2 -- proto: AtmosFixBlockerMarker - entities: - - uid: 1976 - components: - - type: Transform - pos: -42.5,-20.5 - parent: 2 - - uid: 1977 - components: - - type: Transform - pos: -42.5,-22.5 - parent: 2 - - uid: 1978 - components: - - type: Transform - pos: -43.5,-21.5 - parent: 2 - - uid: 1979 - components: - - type: Transform - pos: -43.5,-22.5 - parent: 2 - - uid: 1980 - components: - - type: Transform - pos: -33.5,-20.5 - parent: 2 - - uid: 1981 - components: - - type: Transform - pos: -32.5,-20.5 - parent: 2 - - uid: 1982 - components: - - type: Transform - pos: -28.5,-20.5 - parent: 2 - - uid: 1983 - components: - - type: Transform - pos: -27.5,-20.5 - parent: 2 - - uid: 1984 - components: - - type: Transform - pos: -40.5,-20.5 - parent: 2 - - uid: 1985 - components: - - type: Transform - pos: -40.5,-21.5 - parent: 2 - - uid: 1986 - components: - - type: Transform - pos: -40.5,-22.5 - parent: 2 - - uid: 1987 - components: - - type: Transform - pos: -35.5,-20.5 - parent: 2 - - uid: 1988 - components: - - type: Transform - pos: -26.5,-20.5 - parent: 2 - - uid: 1989 - components: - - type: Transform - pos: -25.5,-19.5 - parent: 2 - - uid: 1990 - components: - - type: Transform - pos: -25.5,-15.5 - parent: 2 - - uid: 1991 - components: - - type: Transform - pos: -25.5,-13.5 - parent: 2 - - uid: 1992 - components: - - type: Transform - pos: -25.5,-17.5 - parent: 2 - - uid: 1993 - components: - - type: Transform - pos: -45.5,-10.5 - parent: 2 - - uid: 1994 - components: - - type: Transform - pos: -45.5,-9.5 - parent: 2 - - uid: 1995 - components: - - type: Transform - pos: -45.5,-8.5 - parent: 2 - - uid: 1996 - components: - - type: Transform - pos: -44.5,-9.5 - parent: 2 - - uid: 1997 - components: - - type: Transform - pos: -44.5,-8.5 - parent: 2 - - uid: 1998 - components: - - type: Transform - pos: -43.5,-10.5 - parent: 2 - - uid: 1999 - components: - - type: Transform - pos: -44.5,-10.5 - parent: 2 - - uid: 2000 - components: - - type: Transform - pos: -43.5,-9.5 - parent: 2 - - uid: 2001 - components: - - type: Transform - pos: -45.5,-14.5 - parent: 2 - - uid: 2002 - components: - - type: Transform - pos: -42.5,-9.5 - parent: 2 - - uid: 2003 - components: - - type: Transform - pos: -42.5,-8.5 - parent: 2 - - uid: 2004 - components: - - type: Transform - pos: -45.5,-11.5 - parent: 2 - - uid: 2005 - components: - - type: Transform - pos: -44.5,-22.5 - parent: 2 - - uid: 2006 - components: - - type: Transform - pos: -43.5,-20.5 - parent: 2 - - uid: 2007 - components: - - type: Transform - pos: -42.5,-21.5 - parent: 2 - - uid: 2008 - components: - - type: Transform - pos: -25.5,-16.5 - parent: 2 - - uid: 2009 - components: - - type: Transform - pos: -25.5,-12.5 - parent: 2 - - uid: 2010 - components: - - type: Transform - pos: -25.5,-14.5 - parent: 2 - - uid: 2011 - components: - - type: Transform - pos: -25.5,-18.5 - parent: 2 - - uid: 2012 - components: - - type: Transform - pos: -25.5,-20.5 - parent: 2 - - uid: 2013 - components: - - type: Transform - pos: -34.5,-20.5 - parent: 2 - - uid: 2014 - components: - - type: Transform - pos: -36.5,-20.5 - parent: 2 - - uid: 2015 - components: - - type: Transform - pos: -41.5,-20.5 - parent: 2 - - uid: 2016 - components: - - type: Transform - pos: -41.5,-21.5 - parent: 2 - - uid: 2017 - components: - - type: Transform - pos: -41.5,-22.5 - parent: 2 - - uid: 2018 - components: - - type: Transform - pos: -25.5,-11.5 - parent: 2 - - uid: 2019 - components: - - type: Transform - pos: -25.5,-10.5 - parent: 2 - - uid: 2020 - components: - - type: Transform - pos: -41.5,-10.5 - parent: 2 - - uid: 2021 - components: - - type: Transform - pos: -43.5,-8.5 - parent: 2 - - uid: 2022 - components: - - type: Transform - pos: -42.5,-10.5 - parent: 2 - - uid: 2023 - components: - - type: Transform - pos: -41.5,-8.5 - parent: 2 - - uid: 2024 - components: - - type: Transform - pos: -40.5,-10.5 - parent: 2 - - uid: 2025 - components: - - type: Transform - pos: -40.5,-9.5 - parent: 2 - - uid: 2026 - components: - - type: Transform - pos: -40.5,-8.5 - parent: 2 - - uid: 2027 - components: - - type: Transform - pos: -26.5,-10.5 - parent: 2 - - uid: 2028 - components: - - type: Transform - pos: -32.5,-10.5 - parent: 2 - - uid: 2029 - components: - - type: Transform - pos: -35.5,-10.5 - parent: 2 - - uid: 2030 - components: - - type: Transform - pos: -36.5,-10.5 - parent: 2 - - uid: 2031 - components: - - type: Transform - pos: -27.5,-10.5 - parent: 2 - - uid: 2032 - components: - - type: Transform - pos: -44.5,-7.5 - parent: 2 - - uid: 2033 - components: - - type: Transform - pos: -41.5,-9.5 - parent: 2 - - uid: 2034 - components: - - type: Transform - pos: -42.5,-6.5 - parent: 2 - - uid: 2035 - components: - - type: Transform - pos: -45.5,-6.5 - parent: 2 - - uid: 2036 - components: - - type: Transform - pos: -34.5,-10.5 - parent: 2 - - uid: 2037 - components: - - type: Transform - pos: -33.5,-10.5 - parent: 2 - - uid: 2038 - components: - - type: Transform - pos: -45.5,-16.5 - parent: 2 - - uid: 2039 - components: - - type: Transform - pos: -45.5,-5.5 - parent: 2 - - uid: 2040 - components: - - type: Transform - pos: -42.5,-5.5 - parent: 2 - - uid: 2041 - components: - - type: Transform - pos: -45.5,-15.5 - parent: 2 - - uid: 2042 - components: - - type: Transform - pos: -45.5,-18.5 - parent: 2 - - uid: 2043 - components: - - type: Transform - pos: -44.5,-6.5 - parent: 2 - - uid: 2044 - components: - - type: Transform - pos: -44.5,-5.5 - parent: 2 - - uid: 2045 - components: - - type: Transform - pos: -43.5,-7.5 - parent: 2 - - uid: 2046 - components: - - type: Transform - pos: -45.5,-12.5 - parent: 2 - - uid: 2047 - components: - - type: Transform - pos: -45.5,-13.5 - parent: 2 - - uid: 2048 - components: - - type: Transform - pos: -43.5,-6.5 - parent: 2 - - uid: 2049 - components: - - type: Transform - pos: -43.5,-5.5 - parent: 2 - - uid: 2050 - components: - - type: Transform - pos: -42.5,-7.5 - parent: 2 - - uid: 2051 - components: - - type: Transform - pos: -45.5,-19.5 - parent: 2 - - uid: 2052 - components: - - type: Transform - pos: -45.5,-20.5 - parent: 2 - - uid: 2053 - components: - - type: Transform - pos: -45.5,-21.5 - parent: 2 - - uid: 2054 - components: - - type: Transform - pos: -45.5,-22.5 - parent: 2 - - uid: 2055 - components: - - type: Transform - pos: -44.5,-20.5 - parent: 2 - - uid: 2056 - components: - - type: Transform - pos: -44.5,-21.5 - parent: 2 - - uid: 2057 - components: - - type: Transform - pos: -41.5,-7.5 - parent: 2 - - uid: 2058 - components: - - type: Transform - pos: -41.5,-6.5 - parent: 2 - - uid: 2059 - components: - - type: Transform - pos: -41.5,-5.5 - parent: 2 - - uid: 2060 - components: - - type: Transform - pos: -40.5,-6.5 - parent: 2 - - uid: 2061 - components: - - type: Transform - pos: -40.5,-5.5 - parent: 2 - - uid: 2062 - components: - - type: Transform - pos: -45.5,-17.5 - parent: 2 - - uid: 2063 - components: - - type: Transform - pos: -28.5,-10.5 - parent: 2 - - uid: 2064 - components: - - type: Transform - pos: -39.5,-22.5 - parent: 2 - - uid: 2065 - components: - - type: Transform - pos: -39.5,-21.5 - parent: 2 - - uid: 2066 - components: - - type: Transform - pos: -39.5,-20.5 - parent: 2 - - uid: 2067 - components: - - type: Transform - pos: -39.5,-10.5 - parent: 2 - - uid: 2068 - components: - - type: Transform - pos: -39.5,-9.5 - parent: 2 - - uid: 2069 - components: - - type: Transform - pos: -39.5,-8.5 - parent: 2 - - uid: 2070 - components: - - type: Transform - pos: 91.5,-43.5 - parent: 2 - - uid: 2071 - components: - - type: Transform - pos: 91.5,-42.5 - parent: 2 - - uid: 2072 - components: - - type: Transform - pos: 91.5,-41.5 - parent: 2 - - uid: 2073 - components: - - type: Transform - pos: 92.5,-43.5 - parent: 2 - - uid: 2074 - components: - - type: Transform - pos: 92.5,-42.5 - parent: 2 - - uid: 2075 - components: - - type: Transform - pos: 92.5,-41.5 - parent: 2 - - uid: 2076 - components: - - type: Transform - pos: 93.5,-43.5 - parent: 2 - - uid: 2077 - components: - - type: Transform - pos: 93.5,-42.5 - parent: 2 - - uid: 2078 - components: - - type: Transform - pos: 93.5,-41.5 - parent: 2 - - uid: 2079 - components: - - type: Transform - pos: 91.5,-39.5 - parent: 2 - - uid: 2080 - components: - - type: Transform - pos: 91.5,-38.5 - parent: 2 - - uid: 2081 - components: - - type: Transform - pos: 91.5,-37.5 - parent: 2 - - uid: 2082 - components: - - type: Transform - pos: 92.5,-39.5 - parent: 2 - - uid: 2083 - components: - - type: Transform - pos: 92.5,-38.5 - parent: 2 - - uid: 2084 - components: - - type: Transform - pos: 92.5,-37.5 - parent: 2 - - uid: 2085 - components: - - type: Transform - pos: 93.5,-39.5 - parent: 2 - - uid: 2086 - components: - - type: Transform - pos: 93.5,-38.5 - parent: 2 - - uid: 2087 - components: - - type: Transform - pos: 93.5,-37.5 - parent: 2 - - uid: 2088 - components: - - type: Transform - pos: 91.5,-27.5 - parent: 2 - - uid: 2089 - components: - - type: Transform - pos: 91.5,-26.5 - parent: 2 - - uid: 2090 - components: - - type: Transform - pos: 91.5,-25.5 - parent: 2 - - uid: 2091 - components: - - type: Transform - pos: 92.5,-27.5 - parent: 2 - - uid: 2092 - components: - - type: Transform - pos: 92.5,-26.5 - parent: 2 - - uid: 2093 - components: - - type: Transform - pos: 92.5,-25.5 - parent: 2 - - uid: 2094 - components: - - type: Transform - pos: 93.5,-27.5 - parent: 2 - - uid: 2095 - components: - - type: Transform - pos: 93.5,-26.5 - parent: 2 - - uid: 2096 - components: - - type: Transform - pos: 93.5,-25.5 - parent: 2 - - uid: 2097 - components: - - type: Transform - pos: 105.5,-37.5 - parent: 2 - - uid: 2098 - components: - - type: Transform - pos: 105.5,-36.5 - parent: 2 - - uid: 2099 - components: - - type: Transform - pos: 105.5,-35.5 - parent: 2 - - uid: 2100 - components: - - type: Transform - pos: 106.5,-37.5 - parent: 2 - - uid: 2101 - components: - - type: Transform - pos: 106.5,-36.5 - parent: 2 - - uid: 2102 - components: - - type: Transform - pos: 106.5,-35.5 - parent: 2 - - uid: 2103 - components: - - type: Transform - pos: 107.5,-37.5 - parent: 2 - - uid: 2104 - components: - - type: Transform - pos: 107.5,-36.5 - parent: 2 - - uid: 2105 - components: - - type: Transform - pos: 107.5,-35.5 - parent: 2 - - uid: 23811 - components: - - type: Transform - pos: 48.5,85.5 - parent: 2 - - uid: 23815 - components: - - type: Transform - pos: 49.5,85.5 - parent: 2 - - uid: 23832 - components: - - type: Transform - pos: 50.5,85.5 - parent: 2 - - uid: 23833 - components: - - type: Transform - pos: 55.5,85.5 - parent: 2 - - uid: 23834 - components: - - type: Transform - pos: 49.5,83.5 - parent: 2 - - uid: 23835 - components: - - type: Transform - pos: 50.5,83.5 - parent: 2 - - uid: 23836 - components: - - type: Transform - pos: 54.5,85.5 - parent: 2 - - uid: 23837 - components: - - type: Transform - pos: 46.5,83.5 - parent: 2 - - uid: 23838 - components: - - type: Transform - pos: 47.5,83.5 - parent: 2 - - uid: 23839 - components: - - type: Transform - pos: 48.5,83.5 - parent: 2 - - uid: 23840 - components: - - type: Transform - pos: 45.5,83.5 - parent: 2 - - uid: 23841 - components: - - type: Transform - pos: 42.5,83.5 - parent: 2 - - uid: 23842 - components: - - type: Transform - pos: 43.5,83.5 - parent: 2 - - uid: 23843 - components: - - type: Transform - pos: 45.5,85.5 - parent: 2 - - uid: 23844 - components: - - type: Transform - pos: 44.5,83.5 - parent: 2 - - uid: 23845 - components: - - type: Transform - pos: 46.5,85.5 - parent: 2 - - uid: 23846 - components: - - type: Transform - pos: 47.5,85.5 - parent: 2 - - uid: 23847 - components: - - type: Transform - pos: 43.5,85.5 - parent: 2 - - uid: 23850 - components: - - type: Transform - pos: 54.5,81.5 - parent: 2 - - uid: 23854 - components: - - type: Transform - pos: 62.5,83.5 - parent: 2 - - uid: 23855 - components: - - type: Transform - pos: 60.5,83.5 - parent: 2 - - uid: 23959 - components: - - type: Transform - pos: 61.5,83.5 - parent: 2 - - uid: 23963 - components: - - type: Transform - pos: 56.5,79.5 - parent: 2 - - uid: 23964 - components: - - type: Transform - pos: 62.5,81.5 - parent: 2 - - uid: 23965 - components: - - type: Transform - pos: 54.5,79.5 - parent: 2 - - uid: 23966 - components: - - type: Transform - pos: 55.5,79.5 - parent: 2 - - uid: 23967 - components: - - type: Transform - pos: 61.5,81.5 - parent: 2 - - uid: 23968 - components: - - type: Transform - pos: 59.5,81.5 - parent: 2 - - uid: 23969 - components: - - type: Transform - pos: 60.5,81.5 - parent: 2 - - uid: 23970 - components: - - type: Transform - pos: 58.5,81.5 - parent: 2 - - uid: 23971 - components: - - type: Transform - pos: 55.5,81.5 - parent: 2 - - uid: 23972 - components: - - type: Transform - pos: 56.5,81.5 - parent: 2 - - uid: 23973 - components: - - type: Transform - pos: 57.5,81.5 - parent: 2 - - uid: 23974 - components: - - type: Transform - pos: 59.5,83.5 - parent: 2 - - uid: 23975 - components: - - type: Transform - pos: 57.5,83.5 - parent: 2 - - uid: 23976 - components: - - type: Transform - pos: 58.5,83.5 - parent: 2 - - uid: 23977 - components: - - type: Transform - pos: 56.5,83.5 - parent: 2 - - uid: 23978 - components: - - type: Transform - pos: 62.5,85.5 - parent: 2 - - uid: 23979 - components: - - type: Transform - pos: 54.5,83.5 - parent: 2 - - uid: 23980 - components: - - type: Transform - pos: 55.5,83.5 - parent: 2 - - uid: 29398 - components: - - type: Transform - pos: 52.5,88.5 - parent: 2 - - uid: 30582 - components: - - type: Transform - pos: 44.5,85.5 - parent: 2 - - uid: 36019 - components: - - type: Transform - pos: 56.5,85.5 - parent: 2 - - uid: 36026 - components: - - type: Transform - pos: 57.5,79.5 - parent: 2 - - uid: 36038 - components: - - type: Transform - pos: 59.5,85.5 - parent: 2 - - uid: 36039 - components: - - type: Transform - pos: 58.5,85.5 - parent: 2 - - uid: 36046 - components: - - type: Transform - pos: 61.5,85.5 - parent: 2 - - uid: 36047 - components: - - type: Transform - pos: 60.5,85.5 - parent: 2 - - uid: 36055 - components: - - type: Transform - pos: 57.5,85.5 - parent: 2 - - uid: 36056 - components: - - type: Transform - pos: 42.5,85.5 - parent: 2 - - uid: 36063 - components: - - type: Transform - pos: 58.5,79.5 - parent: 2 - - uid: 36064 - components: - - type: Transform - pos: 59.5,79.5 - parent: 2 - - uid: 36065 - components: - - type: Transform - pos: 60.5,79.5 - parent: 2 - - uid: 36066 - components: - - type: Transform - pos: 61.5,79.5 - parent: 2 - - uid: 36067 - components: - - type: Transform - pos: 62.5,79.5 - parent: 2 - - uid: 36068 - components: - - type: Transform - pos: 50.5,81.5 - parent: 2 - - uid: 36069 - components: - - type: Transform - pos: 49.5,81.5 - parent: 2 - - uid: 36070 - components: - - type: Transform - pos: 48.5,81.5 - parent: 2 - - uid: 36071 - components: - - type: Transform - pos: 47.5,81.5 - parent: 2 - - uid: 36072 - components: - - type: Transform - pos: 46.5,81.5 - parent: 2 - - uid: 36073 - components: - - type: Transform - pos: 45.5,81.5 - parent: 2 - - uid: 36074 - components: - - type: Transform - pos: 44.5,81.5 - parent: 2 - - uid: 36075 - components: - - type: Transform - pos: 43.5,81.5 - parent: 2 - - uid: 36076 - components: - - type: Transform - pos: 42.5,81.5 - parent: 2 - - uid: 36077 - components: - - type: Transform - pos: 42.5,79.5 - parent: 2 - - uid: 36078 - components: - - type: Transform - pos: 43.5,79.5 - parent: 2 - - uid: 36079 - components: - - type: Transform - pos: 44.5,79.5 - parent: 2 - - uid: 36080 - components: - - type: Transform - pos: 45.5,79.5 - parent: 2 - - uid: 36081 - components: - - type: Transform - pos: 46.5,79.5 - parent: 2 - - uid: 36082 - components: - - type: Transform - pos: 47.5,79.5 - parent: 2 - - uid: 36083 - components: - - type: Transform - pos: 48.5,79.5 - parent: 2 - - uid: 36084 - components: - - type: Transform - pos: 49.5,79.5 - parent: 2 - - uid: 36085 - components: - - type: Transform - pos: 50.5,79.5 - parent: 2 - - uid: 36086 - components: - - type: Transform - pos: 50.5,77.5 - parent: 2 - - uid: 36087 - components: - - type: Transform - pos: 49.5,77.5 - parent: 2 - - uid: 36088 - components: - - type: Transform - pos: 48.5,77.5 - parent: 2 - - uid: 36089 - components: - - type: Transform - pos: 47.5,77.5 - parent: 2 - - uid: 36090 - components: - - type: Transform - pos: 46.5,77.5 - parent: 2 - - uid: 36091 - components: - - type: Transform - pos: 45.5,77.5 - parent: 2 - - uid: 36092 - components: - - type: Transform - pos: 44.5,77.5 - parent: 2 - - uid: 36093 - components: - - type: Transform - pos: 43.5,77.5 - parent: 2 - - uid: 36094 - components: - - type: Transform - pos: 42.5,77.5 - parent: 2 - - uid: 36095 - components: - - type: Transform - pos: 42.5,75.5 - parent: 2 - - uid: 36096 - components: - - type: Transform - pos: 43.5,75.5 - parent: 2 - - uid: 36097 - components: - - type: Transform - pos: 44.5,75.5 - parent: 2 - - uid: 36098 - components: - - type: Transform - pos: 45.5,75.5 - parent: 2 - - uid: 36099 - components: - - type: Transform - pos: 46.5,75.5 - parent: 2 - - uid: 36100 - components: - - type: Transform - pos: 47.5,75.5 - parent: 2 - - uid: 36101 - components: - - type: Transform - pos: 48.5,75.5 - parent: 2 - - uid: 36102 - components: - - type: Transform - pos: 49.5,75.5 - parent: 2 - - uid: 36103 - components: - - type: Transform - pos: 50.5,75.5 - parent: 2 - - uid: 36104 - components: - - type: Transform - pos: 54.5,77.5 - parent: 2 - - uid: 36105 - components: - - type: Transform - pos: 55.5,77.5 - parent: 2 - - uid: 36106 - components: - - type: Transform - pos: 56.5,77.5 - parent: 2 - - uid: 36107 - components: - - type: Transform - pos: 57.5,77.5 - parent: 2 - - uid: 36108 - components: - - type: Transform - pos: 58.5,77.5 - parent: 2 - - uid: 36109 - components: - - type: Transform - pos: 59.5,77.5 - parent: 2 - - uid: 36110 - components: - - type: Transform - pos: 60.5,77.5 - parent: 2 - - uid: 36111 - components: - - type: Transform - pos: 61.5,77.5 - parent: 2 - - uid: 36112 - components: - - type: Transform - pos: 62.5,77.5 - parent: 2 - - uid: 36113 - components: - - type: Transform - pos: 62.5,75.5 - parent: 2 - - uid: 36114 - components: - - type: Transform - pos: 61.5,75.5 - parent: 2 - - uid: 36115 - components: - - type: Transform - pos: 60.5,75.5 - parent: 2 - - uid: 36116 - components: - - type: Transform - pos: 59.5,75.5 - parent: 2 - - uid: 36117 - components: - - type: Transform - pos: 58.5,75.5 - parent: 2 - - uid: 36118 - components: - - type: Transform - pos: 57.5,75.5 - parent: 2 - - uid: 36119 - components: - - type: Transform - pos: 56.5,75.5 - parent: 2 - - uid: 36120 - components: - - type: Transform - pos: 55.5,75.5 - parent: 2 - - uid: 36121 - components: - - type: Transform - pos: 54.5,75.5 - parent: 2 - - uid: 36304 - components: - - type: Transform - pos: -55.5,-0.5 - parent: 2 - - uid: 36658 - components: - - type: Transform - pos: -55.5,-1.5 - parent: 2 - - uid: 36659 - components: - - type: Transform - pos: -55.5,-2.5 - parent: 2 - - uid: 36660 - components: - - type: Transform - pos: -55.5,-3.5 - parent: 2 - - uid: 36661 - components: - - type: Transform - pos: -55.5,-4.5 - parent: 2 - - uid: 36662 - components: - - type: Transform - pos: -55.5,-5.5 - parent: 2 - - uid: 36663 - components: - - type: Transform - pos: -55.5,-6.5 - parent: 2 - - uid: 36664 - components: - - type: Transform - pos: -55.5,-7.5 - parent: 2 - - uid: 36665 - components: - - type: Transform - pos: -55.5,-8.5 - parent: 2 - - uid: 36666 - components: - - type: Transform - pos: -57.5,-0.5 - parent: 2 - - uid: 36667 - components: - - type: Transform - pos: -57.5,-1.5 - parent: 2 - - uid: 36668 - components: - - type: Transform - pos: -57.5,-2.5 - parent: 2 - - uid: 36669 - components: - - type: Transform - pos: -57.5,-3.5 - parent: 2 - - uid: 36670 - components: - - type: Transform - pos: -57.5,-4.5 - parent: 2 - - uid: 36671 - components: - - type: Transform - pos: -57.5,-5.5 - parent: 2 - - uid: 36672 - components: - - type: Transform - pos: -57.5,-6.5 - parent: 2 - - uid: 36673 - components: - - type: Transform - pos: -57.5,-7.5 - parent: 2 - - uid: 36674 - components: - - type: Transform - pos: -57.5,-8.5 - parent: 2 - - uid: 36675 - components: - - type: Transform - pos: -59.5,-0.5 - parent: 2 - - uid: 36676 - components: - - type: Transform - pos: -59.5,-1.5 - parent: 2 - - uid: 36677 - components: - - type: Transform - pos: -59.5,-2.5 - parent: 2 - - uid: 36678 - components: - - type: Transform - pos: -59.5,-3.5 - parent: 2 - - uid: 36679 - components: - - type: Transform - pos: -59.5,-4.5 - parent: 2 - - uid: 36680 - components: - - type: Transform - pos: -59.5,-5.5 - parent: 2 - - uid: 36681 - components: - - type: Transform - pos: -59.5,-6.5 - parent: 2 - - uid: 36682 - components: - - type: Transform - pos: -59.5,-7.5 - parent: 2 - - uid: 36683 - components: - - type: Transform - pos: -59.5,-8.5 - parent: 2 - - uid: 36684 - components: - - type: Transform - pos: -61.5,-0.5 - parent: 2 - - uid: 36685 - components: - - type: Transform - pos: -61.5,-1.5 - parent: 2 - - uid: 36686 - components: - - type: Transform - pos: -61.5,-2.5 - parent: 2 - - uid: 36687 - components: - - type: Transform - pos: -61.5,-3.5 - parent: 2 - - uid: 36688 - components: - - type: Transform - pos: -61.5,-4.5 - parent: 2 - - uid: 36689 - components: - - type: Transform - pos: -61.5,-5.5 - parent: 2 - - uid: 36690 - components: - - type: Transform - pos: -61.5,-6.5 - parent: 2 - - uid: 36691 - components: - - type: Transform - pos: -61.5,-7.5 - parent: 2 - - uid: 36692 - components: - - type: Transform - pos: -61.5,-8.5 - parent: 2 - - uid: 36693 - components: - - type: Transform - pos: -63.5,-0.5 - parent: 2 - - uid: 36694 - components: - - type: Transform - pos: -63.5,-1.5 - parent: 2 - - uid: 36695 - components: - - type: Transform - pos: -63.5,-2.5 - parent: 2 - - uid: 36696 - components: - - type: Transform - pos: -63.5,-3.5 - parent: 2 - - uid: 36697 - components: - - type: Transform - pos: -63.5,-4.5 - parent: 2 - - uid: 36698 - components: - - type: Transform - pos: -63.5,-5.5 - parent: 2 - - uid: 36699 - components: - - type: Transform - pos: -63.5,-6.5 - parent: 2 - - uid: 36700 - components: - - type: Transform - pos: -63.5,-7.5 - parent: 2 - - uid: 36701 - components: - - type: Transform - pos: -63.5,-8.5 - parent: 2 - - uid: 36702 - components: - - type: Transform - pos: -54.5,-60.5 - parent: 2 - - uid: 36703 - components: - - type: Transform - pos: -65.5,-0.5 - parent: 2 - - uid: 36704 - components: - - type: Transform - pos: -65.5,-1.5 - parent: 2 - - uid: 36705 - components: - - type: Transform - pos: -65.5,-2.5 - parent: 2 - - uid: 36706 - components: - - type: Transform - pos: -65.5,-3.5 - parent: 2 - - uid: 36707 - components: - - type: Transform - pos: -65.5,-4.5 - parent: 2 - - uid: 36708 - components: - - type: Transform - pos: -65.5,-5.5 - parent: 2 - - uid: 36709 - components: - - type: Transform - pos: -65.5,-6.5 - parent: 2 - - uid: 36710 - components: - - type: Transform - pos: -65.5,-7.5 - parent: 2 - - uid: 36711 - components: - - type: Transform - pos: -65.5,-8.5 - parent: 2 - - uid: 36712 - components: - - type: Transform - pos: -67.5,-0.5 - parent: 2 - - uid: 36713 - components: - - type: Transform - pos: -67.5,-1.5 - parent: 2 - - uid: 36714 - components: - - type: Transform - pos: -67.5,-2.5 - parent: 2 - - uid: 36715 - components: - - type: Transform - pos: -67.5,-3.5 - parent: 2 - - uid: 36716 - components: - - type: Transform - pos: -67.5,-4.5 - parent: 2 - - uid: 36717 - components: - - type: Transform - pos: -67.5,-5.5 - parent: 2 - - uid: 36718 - components: - - type: Transform - pos: -67.5,-6.5 - parent: 2 - - uid: 36719 - components: - - type: Transform - pos: -67.5,-7.5 - parent: 2 - - uid: 36720 - components: - - type: Transform - pos: -67.5,-8.5 - parent: 2 - - uid: 36721 - components: - - type: Transform - pos: -69.5,-1.5 - parent: 2 - - uid: 36722 - components: - - type: Transform - pos: -69.5,-2.5 - parent: 2 - - uid: 36723 - components: - - type: Transform - pos: -69.5,-3.5 - parent: 2 - - uid: 36724 - components: - - type: Transform - pos: -69.5,-4.5 - parent: 2 - - uid: 36725 - components: - - type: Transform - pos: -69.5,-5.5 - parent: 2 - - uid: 36726 - components: - - type: Transform - pos: -69.5,-0.5 - parent: 2 - - uid: 36727 - components: - - type: Transform - pos: -69.5,-7.5 - parent: 2 - - uid: 36728 - components: - - type: Transform - pos: -69.5,-8.5 - parent: 2 - - uid: 36729 - components: - - type: Transform - pos: -69.5,-6.5 - parent: 2 - - uid: 36730 - components: - - type: Transform - pos: -73.5,1.5 - parent: 2 - - uid: 36731 - components: - - type: Transform - pos: -69.5,11.5 - parent: 2 - - uid: 36732 - components: - - type: Transform - pos: -69.5,10.5 - parent: 2 - - uid: 36733 - components: - - type: Transform - pos: -69.5,9.5 - parent: 2 - - uid: 36734 - components: - - type: Transform - pos: -69.5,8.5 - parent: 2 - - uid: 36735 - components: - - type: Transform - pos: -69.5,7.5 - parent: 2 - - uid: 36736 - components: - - type: Transform - pos: -69.5,6.5 - parent: 2 - - uid: 36737 - components: - - type: Transform - pos: -69.5,5.5 - parent: 2 - - uid: 36738 - components: - - type: Transform - pos: -69.5,4.5 - parent: 2 - - uid: 36739 - components: - - type: Transform - pos: -69.5,3.5 - parent: 2 - - uid: 36740 - components: - - type: Transform - pos: -67.5,11.5 - parent: 2 - - uid: 36741 - components: - - type: Transform - pos: -67.5,10.5 - parent: 2 - - uid: 36742 - components: - - type: Transform - pos: -67.5,9.5 - parent: 2 - - uid: 36743 - components: - - type: Transform - pos: -67.5,8.5 - parent: 2 - - uid: 36744 - components: - - type: Transform - pos: -67.5,7.5 - parent: 2 - - uid: 36745 - components: - - type: Transform - pos: -67.5,6.5 - parent: 2 - - uid: 36746 - components: - - type: Transform - pos: -67.5,5.5 - parent: 2 - - uid: 36747 - components: - - type: Transform - pos: -67.5,4.5 - parent: 2 - - uid: 36748 - components: - - type: Transform - pos: -67.5,3.5 - parent: 2 - - uid: 36749 - components: - - type: Transform - pos: -65.5,11.5 - parent: 2 - - uid: 36750 - components: - - type: Transform - pos: -65.5,10.5 - parent: 2 - - uid: 36751 - components: - - type: Transform - pos: -65.5,9.5 - parent: 2 - - uid: 36752 - components: - - type: Transform - pos: -65.5,8.5 - parent: 2 - - uid: 36753 - components: - - type: Transform - pos: -65.5,7.5 - parent: 2 - - uid: 36754 - components: - - type: Transform - pos: -65.5,6.5 - parent: 2 - - uid: 36755 - components: - - type: Transform - pos: -65.5,5.5 - parent: 2 - - uid: 36756 - components: - - type: Transform - pos: -65.5,4.5 - parent: 2 - - uid: 36757 - components: - - type: Transform - pos: -65.5,3.5 - parent: 2 - - uid: 36758 - components: - - type: Transform - pos: -63.5,11.5 - parent: 2 - - uid: 36759 - components: - - type: Transform - pos: -63.5,10.5 - parent: 2 - - uid: 36760 - components: - - type: Transform - pos: -63.5,9.5 - parent: 2 - - uid: 36761 - components: - - type: Transform - pos: -63.5,8.5 - parent: 2 - - uid: 36762 - components: - - type: Transform - pos: -63.5,7.5 - parent: 2 - - uid: 36763 - components: - - type: Transform - pos: -63.5,6.5 - parent: 2 - - uid: 36764 - components: - - type: Transform - pos: -63.5,5.5 - parent: 2 - - uid: 36765 - components: - - type: Transform - pos: -63.5,4.5 - parent: 2 - - uid: 36766 - components: - - type: Transform - pos: -63.5,3.5 - parent: 2 - - uid: 36767 - components: - - type: Transform - pos: -61.5,11.5 - parent: 2 - - uid: 36768 - components: - - type: Transform - pos: -61.5,10.5 - parent: 2 - - uid: 36769 - components: - - type: Transform - pos: -61.5,9.5 - parent: 2 - - uid: 36770 - components: - - type: Transform - pos: -61.5,8.5 - parent: 2 - - uid: 36771 - components: - - type: Transform - pos: -61.5,7.5 - parent: 2 - - uid: 36772 - components: - - type: Transform - pos: -61.5,6.5 - parent: 2 - - uid: 36773 - components: - - type: Transform - pos: -61.5,5.5 - parent: 2 - - uid: 36774 - components: - - type: Transform - pos: -61.5,4.5 - parent: 2 - - uid: 36775 - components: - - type: Transform - pos: -61.5,3.5 - parent: 2 - - uid: 36776 - components: - - type: Transform - pos: -59.5,11.5 - parent: 2 - - uid: 36777 - components: - - type: Transform - pos: -59.5,10.5 - parent: 2 - - uid: 36778 - components: - - type: Transform - pos: -59.5,9.5 - parent: 2 - - uid: 36779 - components: - - type: Transform - pos: -59.5,8.5 - parent: 2 - - uid: 36780 - components: - - type: Transform - pos: -59.5,7.5 - parent: 2 - - uid: 36781 - components: - - type: Transform - pos: -59.5,6.5 - parent: 2 - - uid: 36782 - components: - - type: Transform - pos: -59.5,5.5 - parent: 2 - - uid: 36783 - components: - - type: Transform - pos: -59.5,4.5 - parent: 2 - - uid: 36784 - components: - - type: Transform - pos: -59.5,3.5 - parent: 2 - - uid: 36785 - components: - - type: Transform - pos: -57.5,11.5 - parent: 2 - - uid: 36786 - components: - - type: Transform - pos: -57.5,10.5 - parent: 2 - - uid: 36787 - components: - - type: Transform - pos: -57.5,9.5 - parent: 2 - - uid: 36788 - components: - - type: Transform - pos: -57.5,8.5 - parent: 2 - - uid: 36789 - components: - - type: Transform - pos: -57.5,7.5 - parent: 2 - - uid: 36790 - components: - - type: Transform - pos: -57.5,6.5 - parent: 2 - - uid: 36791 - components: - - type: Transform - pos: -57.5,5.5 - parent: 2 - - uid: 36792 - components: - - type: Transform - pos: -57.5,4.5 - parent: 2 - - uid: 36793 - components: - - type: Transform - pos: -57.5,3.5 - parent: 2 - - uid: 36794 - components: - - type: Transform - pos: -55.5,11.5 - parent: 2 - - uid: 36795 - components: - - type: Transform - pos: -55.5,10.5 - parent: 2 - - uid: 36796 - components: - - type: Transform - pos: -55.5,9.5 - parent: 2 - - uid: 36797 - components: - - type: Transform - pos: -55.5,8.5 - parent: 2 - - uid: 36798 - components: - - type: Transform - pos: -55.5,7.5 - parent: 2 - - uid: 36799 - components: - - type: Transform - pos: -55.5,6.5 - parent: 2 - - uid: 36800 - components: - - type: Transform - pos: -55.5,4.5 - parent: 2 - - uid: 36801 - components: - - type: Transform - pos: -55.5,3.5 - parent: 2 - - uid: 36802 - components: - - type: Transform - pos: -55.5,5.5 - parent: 2 - - uid: 36803 - components: - - type: Transform - pos: -54.5,-61.5 - parent: 2 - - uid: 36804 - components: - - type: Transform - pos: -53.5,-60.5 - parent: 2 - - uid: 36805 - components: - - type: Transform - pos: -53.5,-61.5 - parent: 2 - - uid: 36806 - components: - - type: Transform - pos: -52.5,-60.5 - parent: 2 - - uid: 36807 - components: - - type: Transform - pos: -52.5,-61.5 - parent: 2 - - uid: 36808 - components: - - type: Transform - pos: -51.5,-61.5 - parent: 2 - - uid: 36809 - components: - - type: Transform - pos: -53.5,-62.5 - parent: 2 - - uid: 36810 - components: - - type: Transform - pos: -52.5,-62.5 - parent: 2 - - uid: 36811 - components: - - type: Transform - pos: -51.5,-62.5 - parent: 2 - - uid: 36812 - components: - - type: Transform - pos: -50.5,-62.5 - parent: 2 - - uid: 36813 - components: - - type: Transform - pos: -52.5,-63.5 - parent: 2 - - uid: 36814 - components: - - type: Transform - pos: -51.5,-63.5 - parent: 2 - - uid: 36815 - components: - - type: Transform - pos: -50.5,-63.5 - parent: 2 - - uid: 36816 - components: - - type: Transform - pos: -24.5,-68.5 - parent: 2 - - uid: 36817 - components: - - type: Transform - pos: -49.5,-63.5 - parent: 2 - - uid: 36818 - components: - - type: Transform - pos: -51.5,-64.5 - parent: 2 - - uid: 36819 - components: - - type: Transform - pos: -50.5,-64.5 - parent: 2 - - uid: 36820 - components: - - type: Transform - pos: -49.5,-64.5 - parent: 2 - - uid: 36821 - components: - - type: Transform - pos: -50.5,-65.5 - parent: 2 - - uid: 36822 - components: - - type: Transform - pos: -49.5,-65.5 - parent: 2 - - uid: 36823 - components: - - type: Transform - pos: -47.5,-64.5 - parent: 2 - - uid: 36824 - components: - - type: Transform - pos: -47.5,-65.5 - parent: 2 - - uid: 36825 - components: - - type: Transform - pos: -46.5,-53.5 - parent: 2 - - uid: 36826 - components: - - type: Transform - pos: -46.5,-54.5 - parent: 2 - - uid: 36827 - components: - - type: Transform - pos: -46.5,-55.5 - parent: 2 - - uid: 36828 - components: - - type: Transform - pos: -47.5,-53.5 - parent: 2 - - uid: 36829 - components: - - type: Transform - pos: -47.5,-54.5 - parent: 2 - - uid: 36830 - components: - - type: Transform - pos: -48.5,-53.5 - parent: 2 - - uid: 36831 - components: - - type: Transform - pos: -48.5,-54.5 - parent: 2 - - uid: 36832 - components: - - type: Transform - pos: -48.5,-55.5 - parent: 2 - - uid: 36833 - components: - - type: Transform - pos: -47.5,-55.5 - parent: 2 - - uid: 36834 - components: - - type: Transform - pos: -47.5,-52.5 - parent: 2 - - uid: 36835 - components: - - type: Transform - pos: -48.5,-56.5 - parent: 2 - - uid: 36836 - components: - - type: Transform - pos: -48.5,-57.5 - parent: 2 - - uid: 36837 - components: - - type: Transform - pos: -49.5,-57.5 - parent: 2 - - uid: 36838 - components: - - type: Transform - pos: -49.5,-56.5 - parent: 2 - - uid: 36839 - components: - - type: Transform - pos: -49.5,-55.5 - parent: 2 - - uid: 36840 - components: - - type: Transform - pos: -49.5,-54.5 - parent: 2 - - uid: 36841 - components: - - type: Transform - pos: -50.5,-57.5 - parent: 2 - - uid: 36842 - components: - - type: Transform - pos: -50.5,-56.5 - parent: 2 - - uid: 36843 - components: - - type: Transform - pos: -50.5,-55.5 - parent: 2 - - uid: 36844 - components: - - type: Transform - pos: -50.5,-54.5 - parent: 2 - - uid: 36845 - components: - - type: Transform - pos: -51.5,-57.5 - parent: 2 - - uid: 36846 - components: - - type: Transform - pos: -51.5,-56.5 - parent: 2 - - uid: 36847 - components: - - type: Transform - pos: -51.5,-55.5 - parent: 2 - - uid: 36848 - components: - - type: Transform - pos: -52.5,-57.5 - parent: 2 - - uid: 36849 - components: - - type: Transform - pos: -52.5,-56.5 - parent: 2 - - uid: 36850 - components: - - type: Transform - pos: -52.5,-55.5 - parent: 2 - - uid: 36851 - components: - - type: Transform - pos: -53.5,-57.5 - parent: 2 - - uid: 36852 - components: - - type: Transform - pos: -53.5,-56.5 - parent: 2 - - uid: 36853 - components: - - type: Transform - pos: -53.5,-55.5 - parent: 2 - - uid: 36854 - components: - - type: Transform - pos: -53.5,-58.5 - parent: 2 - - uid: 36855 - components: - - type: Transform - pos: -52.5,-58.5 - parent: 2 - - uid: 36856 - components: - - type: Transform - pos: -53.5,-54.5 - parent: 2 - - uid: 36857 - components: - - type: Transform - pos: -53.5,-53.5 - parent: 2 - - uid: 36858 - components: - - type: Transform - pos: -53.5,-52.5 - parent: 2 - - uid: 36859 - components: - - type: Transform - pos: -52.5,-54.5 - parent: 2 - - uid: 36860 - components: - - type: Transform - pos: -52.5,-53.5 - parent: 2 - - uid: 36861 - components: - - type: Transform - pos: -52.5,-52.5 - parent: 2 - - uid: 36862 - components: - - type: Transform - pos: -52.5,-51.5 - parent: 2 - - uid: 36863 - components: - - type: Transform - pos: -52.5,-50.5 - parent: 2 - - uid: 36864 - components: - - type: Transform - pos: -53.5,-50.5 - parent: 2 - - uid: 36865 - components: - - type: Transform - pos: -53.5,-49.5 - parent: 2 - - uid: 36866 - components: - - type: Transform - pos: -53.5,-48.5 - parent: 2 - - uid: 36867 - components: - - type: Transform - pos: -53.5,-47.5 - parent: 2 - - uid: 36868 - components: - - type: Transform - pos: -52.5,-47.5 - parent: 2 - - uid: 36869 - components: - - type: Transform - pos: -52.5,-46.5 - parent: 2 - - uid: 36870 - components: - - type: Transform - pos: -51.5,-47.5 - parent: 2 - - uid: 36871 - components: - - type: Transform - pos: -51.5,-46.5 - parent: 2 - - uid: 36872 - components: - - type: Transform - pos: -50.5,-46.5 - parent: 2 - - uid: 36873 - components: - - type: Transform - pos: -49.5,-46.5 - parent: 2 - - uid: 36874 - components: - - type: Transform - pos: -48.5,-46.5 - parent: 2 - - uid: 36875 - components: - - type: Transform - pos: -49.5,-45.5 - parent: 2 - - uid: 36876 - components: - - type: Transform - pos: -48.5,-45.5 - parent: 2 - - uid: 36877 - components: - - type: Transform - pos: -47.5,-46.5 - parent: 2 - - uid: 36878 - components: - - type: Transform - pos: -46.5,-46.5 - parent: 2 - - uid: 36879 - components: - - type: Transform - pos: -45.5,-46.5 - parent: 2 - - uid: 36880 - components: - - type: Transform - pos: -45.5,-47.5 - parent: 2 - - uid: 36881 - components: - - type: Transform - pos: -27.5,-58.5 - parent: 2 - - uid: 36882 - components: - - type: Transform - pos: -26.5,-58.5 - parent: 2 - - uid: 36883 - components: - - type: Transform - pos: -22.5,-59.5 - parent: 2 - - uid: 36884 - components: - - type: Transform - pos: -21.5,-59.5 - parent: 2 - - uid: 36885 - components: - - type: Transform - pos: -21.5,-60.5 - parent: 2 - - uid: 36886 - components: - - type: Transform - pos: -22.5,-61.5 - parent: 2 - - uid: 36887 - components: - - type: Transform - pos: -22.5,-62.5 - parent: 2 - - uid: 36888 - components: - - type: Transform - pos: -21.5,-61.5 - parent: 2 - - uid: 36889 - components: - - type: Transform - pos: -21.5,-62.5 - parent: 2 - - uid: 36890 - components: - - type: Transform - pos: -21.5,-63.5 - parent: 2 - - uid: 36891 - components: - - type: Transform - pos: -21.5,-64.5 - parent: 2 - - uid: 36892 - components: - - type: Transform - pos: -20.5,-63.5 - parent: 2 - - uid: 36893 - components: - - type: Transform - pos: -20.5,-64.5 - parent: 2 - - uid: 36894 - components: - - type: Transform - pos: -20.5,-65.5 - parent: 2 - - uid: 36895 - components: - - type: Transform - pos: -20.5,-66.5 - parent: 2 - - uid: 36896 - components: - - type: Transform - pos: -27.5,-63.5 - parent: 2 - - uid: 36897 - components: - - type: Transform - pos: -27.5,-64.5 - parent: 2 - - uid: 36898 - components: - - type: Transform - pos: -26.5,-64.5 - parent: 2 - - uid: 36899 - components: - - type: Transform - pos: -26.5,-65.5 - parent: 2 - - uid: 36900 - components: - - type: Transform - pos: -26.5,-66.5 - parent: 2 - - uid: 36901 - components: - - type: Transform - pos: -25.5,-65.5 - parent: 2 - - uid: 36902 - components: - - type: Transform - pos: -25.5,-66.5 - parent: 2 - - uid: 36903 - components: - - type: Transform - pos: -25.5,-67.5 - parent: 2 - - uid: 36904 - components: - - type: Transform - pos: -24.5,-67.5 - parent: 2 - - uid: 36905 - components: - - type: Transform - pos: -24.5,-69.5 - parent: 2 - - uid: 36906 - components: - - type: Transform - pos: -20.5,-32.5 - parent: 2 - - uid: 36907 - components: - - type: Transform - pos: -22.5,-71.5 - parent: 2 - - uid: 36908 - components: - - type: Transform - pos: -20.5,-72.5 - parent: 2 - - uid: 36909 - components: - - type: Transform - pos: -19.5,-73.5 - parent: 2 - - uid: 36910 - components: - - type: Transform - pos: -18.5,-73.5 - parent: 2 - - uid: 36911 - components: - - type: Transform - pos: -18.5,-72.5 - parent: 2 - - uid: 36912 - components: - - type: Transform - pos: -18.5,-71.5 - parent: 2 - - uid: 36913 - components: - - type: Transform - pos: -19.5,-68.5 - parent: 2 - - uid: 36914 - components: - - type: Transform - pos: -19.5,-69.5 - parent: 2 - - uid: 36915 - components: - - type: Transform - pos: -21.5,-47.5 - parent: 2 - - uid: 36916 - components: - - type: Transform - pos: -20.5,-47.5 - parent: 2 - - uid: 36917 - components: - - type: Transform - pos: -19.5,-47.5 - parent: 2 - - uid: 36918 - components: - - type: Transform - pos: -25.5,-48.5 - parent: 2 - - uid: 36919 - components: - - type: Transform - pos: -24.5,-48.5 - parent: 2 - - uid: 36920 - components: - - type: Transform - pos: -23.5,-48.5 - parent: 2 - - uid: 36921 - components: - - type: Transform - pos: -23.5,-44.5 - parent: 2 - - uid: 36922 - components: - - type: Transform - pos: -24.5,-44.5 - parent: 2 - - uid: 36923 - components: - - type: Transform - pos: -24.5,-43.5 - parent: 2 - - uid: 36924 - components: - - type: Transform - pos: -25.5,-43.5 - parent: 2 - - uid: 36925 - components: - - type: Transform - pos: -25.5,-42.5 - parent: 2 - - uid: 36926 - components: - - type: Transform - pos: -26.5,-42.5 - parent: 2 - - uid: 36927 - components: - - type: Transform - pos: -25.5,-41.5 - parent: 2 - - uid: 36928 - components: - - type: Transform - pos: -26.5,-41.5 - parent: 2 - - uid: 36929 - components: - - type: Transform - pos: -26.5,-40.5 - parent: 2 - - uid: 36930 - components: - - type: Transform - pos: -27.5,-39.5 - parent: 2 - - uid: 36931 - components: - - type: Transform - pos: -20.5,-33.5 - parent: 2 - - uid: 36932 - components: - - type: Transform - pos: -20.5,-34.5 - parent: 2 - - uid: 36933 - components: - - type: Transform - pos: -20.5,-35.5 - parent: 2 - - uid: 36934 - components: - - type: Transform - pos: -20.5,-36.5 - parent: 2 - - uid: 36935 - components: - - type: Transform - pos: -24.5,-32.5 - parent: 2 - - uid: 36936 - components: - - type: Transform - pos: -24.5,-33.5 - parent: 2 - - uid: 36937 - components: - - type: Transform - pos: -24.5,-34.5 - parent: 2 - - uid: 36938 - components: - - type: Transform - pos: -24.5,-35.5 - parent: 2 - - uid: 36939 - components: - - type: Transform - pos: -24.5,-36.5 - parent: 2 - - uid: 36940 - components: - - type: Transform - pos: 21.5,-45.5 - parent: 2 - - uid: 36941 - components: - - type: Transform - pos: 12.5,-34.5 - parent: 2 - - uid: 36942 - components: - - type: Transform - pos: 13.5,-34.5 - parent: 2 - - uid: 36943 - components: - - type: Transform - pos: 14.5,-34.5 - parent: 2 - - uid: 36944 - components: - - type: Transform - pos: 19.5,-34.5 - parent: 2 - - uid: 36945 - components: - - type: Transform - pos: 20.5,-34.5 - parent: 2 - - uid: 36946 - components: - - type: Transform - pos: 21.5,-34.5 - parent: 2 - - uid: 36947 - components: - - type: Transform - pos: 20.5,-35.5 - parent: 2 - - uid: 36948 - components: - - type: Transform - pos: 21.5,-35.5 - parent: 2 - - uid: 36949 - components: - - type: Transform - pos: 21.5,-36.5 - parent: 2 - - uid: 36950 - components: - - type: Transform - pos: 21.5,-46.5 - parent: 2 - - uid: 36951 - components: - - type: Transform - pos: 21.5,-47.5 - parent: 2 - - uid: 36952 - components: - - type: Transform - pos: 21.5,-52.5 - parent: 2 - - uid: 36953 - components: - - type: Transform - pos: 21.5,-54.5 - parent: 2 - - uid: 36954 - components: - - type: Transform - pos: 21.5,-55.5 - parent: 2 - - uid: 36955 - components: - - type: Transform - pos: 21.5,-56.5 - parent: 2 - - uid: 36956 - components: - - type: Transform - pos: 21.5,-57.5 - parent: 2 - - uid: 36957 - components: - - type: Transform - pos: 21.5,-58.5 - parent: 2 - - uid: 36958 - components: - - type: Transform - pos: 21.5,-59.5 - parent: 2 - - uid: 36959 - components: - - type: Transform - pos: 21.5,-60.5 - parent: 2 - - uid: 36960 - components: - - type: Transform - pos: 21.5,-53.5 - parent: 2 - - uid: 36961 - components: - - type: Transform - pos: 22.5,-59.5 - parent: 2 - - uid: 36962 - components: - - type: Transform - pos: 22.5,-60.5 - parent: 2 - - uid: 36963 - components: - - type: Transform - pos: 103.5,-63.5 - parent: 2 - - uid: 36964 - components: - - type: Transform - pos: 32.5,-58.5 - parent: 2 - - uid: 36965 - components: - - type: Transform - pos: 33.5,-56.5 - parent: 2 - - uid: 36966 - components: - - type: Transform - pos: 33.5,-57.5 - parent: 2 - - uid: 36967 - components: - - type: Transform - pos: 34.5,-56.5 - parent: 2 - - uid: 36968 - components: - - type: Transform - pos: 34.5,-57.5 - parent: 2 - - uid: 36969 - components: - - type: Transform - pos: 35.5,-56.5 - parent: 2 - - uid: 36970 - components: - - type: Transform - pos: 36.5,-56.5 - parent: 2 - - uid: 36971 - components: - - type: Transform - pos: 36.5,-55.5 - parent: 2 - - uid: 36972 - components: - - type: Transform - pos: 37.5,-55.5 - parent: 2 - - uid: 36973 - components: - - type: Transform - pos: 38.5,-55.5 - parent: 2 - - uid: 36974 - components: - - type: Transform - pos: 39.5,-55.5 - parent: 2 - - uid: 36975 - components: - - type: Transform - pos: 40.5,-55.5 - parent: 2 - - uid: 36976 - components: - - type: Transform - pos: 41.5,-55.5 - parent: 2 - - uid: 36977 - components: - - type: Transform - pos: 40.5,-54.5 - parent: 2 - - uid: 36978 - components: - - type: Transform - pos: 41.5,-54.5 - parent: 2 - - uid: 36979 - components: - - type: Transform - pos: 44.5,-56.5 - parent: 2 - - uid: 36980 - components: - - type: Transform - pos: 45.5,-56.5 - parent: 2 - - uid: 36981 - components: - - type: Transform - pos: 46.5,-56.5 - parent: 2 - - uid: 36982 - components: - - type: Transform - pos: 47.5,-56.5 - parent: 2 - - uid: 36983 - components: - - type: Transform - pos: 48.5,-56.5 - parent: 2 - - uid: 36984 - components: - - type: Transform - pos: 49.5,-56.5 - parent: 2 - - uid: 36985 - components: - - type: Transform - pos: 50.5,-56.5 - parent: 2 - - uid: 36986 - components: - - type: Transform - pos: 47.5,-57.5 - parent: 2 - - uid: 36987 - components: - - type: Transform - pos: 48.5,-57.5 - parent: 2 - - uid: 36988 - components: - - type: Transform - pos: 49.5,-57.5 - parent: 2 - - uid: 36989 - components: - - type: Transform - pos: 50.5,-57.5 - parent: 2 - - uid: 36990 - components: - - type: Transform - pos: 51.5,-57.5 - parent: 2 - - uid: 36991 - components: - - type: Transform - pos: 52.5,-57.5 - parent: 2 - - uid: 36992 - components: - - type: Transform - pos: 49.5,-58.5 - parent: 2 - - uid: 36993 - components: - - type: Transform - pos: 50.5,-58.5 - parent: 2 - - uid: 36994 - components: - - type: Transform - pos: 51.5,-58.5 - parent: 2 - - uid: 36995 - components: - - type: Transform - pos: 52.5,-58.5 - parent: 2 - - uid: 36996 - components: - - type: Transform - pos: 53.5,-58.5 - parent: 2 - - uid: 36997 - components: - - type: Transform - pos: 51.5,-59.5 - parent: 2 - - uid: 36998 - components: - - type: Transform - pos: 52.5,-59.5 - parent: 2 - - uid: 36999 - components: - - type: Transform - pos: 53.5,-59.5 - parent: 2 - - uid: 37000 - components: - - type: Transform - pos: 50.5,-59.5 - parent: 2 - - uid: 37001 - components: - - type: Transform - pos: 52.5,-60.5 - parent: 2 - - uid: 37002 - components: - - type: Transform - pos: 53.5,-60.5 - parent: 2 - - uid: 37003 - components: - - type: Transform - pos: 54.5,-60.5 - parent: 2 - - uid: 37004 - components: - - type: Transform - pos: 55.5,-60.5 - parent: 2 - - uid: 37005 - components: - - type: Transform - pos: 56.5,-60.5 - parent: 2 - - uid: 37006 - components: - - type: Transform - pos: 57.5,-60.5 - parent: 2 - - uid: 37007 - components: - - type: Transform - pos: 58.5,-60.5 - parent: 2 - - uid: 37008 - components: - - type: Transform - pos: 61.5,-60.5 - parent: 2 - - uid: 37009 - components: - - type: Transform - pos: 62.5,-60.5 - parent: 2 - - uid: 37010 - components: - - type: Transform - pos: 63.5,-60.5 - parent: 2 - - uid: 37011 - components: - - type: Transform - pos: 64.5,-60.5 - parent: 2 - - uid: 37012 - components: - - type: Transform - pos: 65.5,-60.5 - parent: 2 - - uid: 37013 - components: - - type: Transform - pos: 66.5,-60.5 - parent: 2 - - uid: 37014 - components: - - type: Transform - pos: 67.5,-60.5 - parent: 2 - - uid: 37015 - components: - - type: Transform - pos: 68.5,-60.5 - parent: 2 - - uid: 37016 - components: - - type: Transform - pos: 69.5,-60.5 - parent: 2 - - uid: 37017 - components: - - type: Transform - pos: 62.5,-59.5 - parent: 2 - - uid: 37018 - components: - - type: Transform - pos: 63.5,-59.5 - parent: 2 - - uid: 37019 - components: - - type: Transform - pos: 64.5,-59.5 - parent: 2 - - uid: 37020 - components: - - type: Transform - pos: 65.5,-59.5 - parent: 2 - - uid: 37021 - components: - - type: Transform - pos: 66.5,-59.5 - parent: 2 - - uid: 37022 - components: - - type: Transform - pos: 67.5,-59.5 - parent: 2 - - uid: 37023 - components: - - type: Transform - pos: 68.5,-59.5 - parent: 2 - - uid: 37024 - components: - - type: Transform - pos: 71.5,-60.5 - parent: 2 - - uid: 37025 - components: - - type: Transform - pos: 71.5,-59.5 - parent: 2 - - uid: 37026 - components: - - type: Transform - pos: 72.5,-59.5 - parent: 2 - - uid: 37027 - components: - - type: Transform - pos: 72.5,-57.5 - parent: 2 - - uid: 37028 - components: - - type: Transform - pos: 72.5,-58.5 - parent: 2 - - uid: 37029 - components: - - type: Transform - pos: 74.5,-51.5 - parent: 2 - - uid: 37030 - components: - - type: Transform - pos: 74.5,-54.5 - parent: 2 - - uid: 37031 - components: - - type: Transform - pos: 74.5,-53.5 - parent: 2 - - uid: 37032 - components: - - type: Transform - pos: 74.5,-55.5 - parent: 2 - - uid: 37033 - components: - - type: Transform - pos: 74.5,-56.5 - parent: 2 - - uid: 37034 - components: - - type: Transform - pos: 74.5,-52.5 - parent: 2 - - uid: 37035 - components: - - type: Transform - pos: 73.5,-52.5 - parent: 2 - - uid: 37036 - components: - - type: Transform - pos: 73.5,-53.5 - parent: 2 - - uid: 37037 - components: - - type: Transform - pos: 73.5,-54.5 - parent: 2 - - uid: 37038 - components: - - type: Transform - pos: 73.5,-55.5 - parent: 2 - - uid: 37039 - components: - - type: Transform - pos: 73.5,-56.5 - parent: 2 - - uid: 37040 - components: - - type: Transform - pos: 72.5,-53.5 - parent: 2 - - uid: 37041 - components: - - type: Transform - pos: 72.5,-54.5 - parent: 2 - - uid: 37042 - components: - - type: Transform - pos: 72.5,-55.5 - parent: 2 - - uid: 37043 - components: - - type: Transform - pos: 73.5,-57.5 - parent: 2 - - uid: 37044 - components: - - type: Transform - pos: 73.5,-59.5 - parent: 2 - - uid: 37045 - components: - - type: Transform - pos: 73.5,-60.5 - parent: 2 - - uid: 37046 - components: - - type: Transform - pos: 74.5,-57.5 - parent: 2 - - uid: 37047 - components: - - type: Transform - pos: 74.5,-58.5 - parent: 2 - - uid: 37048 - components: - - type: Transform - pos: 74.5,-59.5 - parent: 2 - - uid: 37049 - components: - - type: Transform - pos: 74.5,-60.5 - parent: 2 - - uid: 37050 - components: - - type: Transform - pos: 75.5,-57.5 - parent: 2 - - uid: 37051 - components: - - type: Transform - pos: 75.5,-58.5 - parent: 2 - - uid: 37052 - components: - - type: Transform - pos: 75.5,-59.5 - parent: 2 - - uid: 37053 - components: - - type: Transform - pos: 75.5,-60.5 - parent: 2 - - uid: 37054 - components: - - type: Transform - pos: 76.5,-57.5 - parent: 2 - - uid: 37055 - components: - - type: Transform - pos: 76.5,-58.5 - parent: 2 - - uid: 37056 - components: - - type: Transform - pos: 76.5,-59.5 - parent: 2 - - uid: 37057 - components: - - type: Transform - pos: 76.5,-60.5 - parent: 2 - - uid: 37058 - components: - - type: Transform - pos: 77.5,-57.5 - parent: 2 - - uid: 37059 - components: - - type: Transform - pos: 77.5,-58.5 - parent: 2 - - uid: 37060 - components: - - type: Transform - pos: 77.5,-59.5 - parent: 2 - - uid: 37061 - components: - - type: Transform - pos: 77.5,-60.5 - parent: 2 - - uid: 37062 - components: - - type: Transform - pos: 78.5,-57.5 - parent: 2 - - uid: 37063 - components: - - type: Transform - pos: 78.5,-58.5 - parent: 2 - - uid: 37064 - components: - - type: Transform - pos: 78.5,-59.5 - parent: 2 - - uid: 37065 - components: - - type: Transform - pos: 78.5,-60.5 - parent: 2 - - uid: 37066 - components: - - type: Transform - pos: 79.5,-57.5 - parent: 2 - - uid: 37067 - components: - - type: Transform - pos: 79.5,-58.5 - parent: 2 - - uid: 37068 - components: - - type: Transform - pos: 73.5,-58.5 - parent: 2 - - uid: 37069 - components: - - type: Transform - pos: 79.5,-60.5 - parent: 2 - - uid: 37070 - components: - - type: Transform - pos: 80.5,-57.5 - parent: 2 - - uid: 37071 - components: - - type: Transform - pos: 80.5,-58.5 - parent: 2 - - uid: 37072 - components: - - type: Transform - pos: 80.5,-59.5 - parent: 2 - - uid: 37073 - components: - - type: Transform - pos: 79.5,-59.5 - parent: 2 - - uid: 37074 - components: - - type: Transform - pos: 80.5,-60.5 - parent: 2 - - uid: 37075 - components: - - type: Transform - pos: 75.5,-56.5 - parent: 2 - - uid: 37076 - components: - - type: Transform - pos: 76.5,-56.5 - parent: 2 - - uid: 37077 - components: - - type: Transform - pos: 77.5,-56.5 - parent: 2 - - uid: 37078 - components: - - type: Transform - pos: 78.5,-56.5 - parent: 2 - - uid: 37079 - components: - - type: Transform - pos: 79.5,-56.5 - parent: 2 - - uid: 37080 - components: - - type: Transform - pos: 80.5,-56.5 - parent: 2 - - uid: 37081 - components: - - type: Transform - pos: 80.5,-51.5 - parent: 2 - - uid: 37082 - components: - - type: Transform - pos: 80.5,-52.5 - parent: 2 - - uid: 37083 - components: - - type: Transform - pos: 80.5,-53.5 - parent: 2 - - uid: 37084 - components: - - type: Transform - pos: 80.5,-54.5 - parent: 2 - - uid: 37085 - components: - - type: Transform - pos: 80.5,-55.5 - parent: 2 - - uid: 37086 - components: - - type: Transform - pos: 81.5,-52.5 - parent: 2 - - uid: 37087 - components: - - type: Transform - pos: 81.5,-53.5 - parent: 2 - - uid: 37088 - components: - - type: Transform - pos: 81.5,-54.5 - parent: 2 - - uid: 37089 - components: - - type: Transform - pos: 81.5,-55.5 - parent: 2 - - uid: 37090 - components: - - type: Transform - pos: 81.5,-56.5 - parent: 2 - - uid: 37091 - components: - - type: Transform - pos: 81.5,-57.5 - parent: 2 - - uid: 37092 - components: - - type: Transform - pos: 81.5,-58.5 - parent: 2 - - uid: 37093 - components: - - type: Transform - pos: 81.5,-59.5 - parent: 2 - - uid: 37094 - components: - - type: Transform - pos: 81.5,-60.5 - parent: 2 - - uid: 37095 - components: - - type: Transform - pos: 81.5,-61.5 - parent: 2 - - uid: 37096 - components: - - type: Transform - pos: 82.5,-53.5 - parent: 2 - - uid: 37097 - components: - - type: Transform - pos: 82.5,-54.5 - parent: 2 - - uid: 37098 - components: - - type: Transform - pos: 82.5,-55.5 - parent: 2 - - uid: 37099 - components: - - type: Transform - pos: 82.5,-56.5 - parent: 2 - - uid: 37100 - components: - - type: Transform - pos: 82.5,-57.5 - parent: 2 - - uid: 37101 - components: - - type: Transform - pos: 82.5,-58.5 - parent: 2 - - uid: 37102 - components: - - type: Transform - pos: 82.5,-59.5 - parent: 2 - - uid: 37103 - components: - - type: Transform - pos: 82.5,-60.5 - parent: 2 - - uid: 37104 - components: - - type: Transform - pos: 82.5,-61.5 - parent: 2 - - uid: 37105 - components: - - type: Transform - pos: 83.5,-56.5 - parent: 2 - - uid: 37106 - components: - - type: Transform - pos: 83.5,-57.5 - parent: 2 - - uid: 37107 - components: - - type: Transform - pos: 83.5,-58.5 - parent: 2 - - uid: 37108 - components: - - type: Transform - pos: 83.5,-59.5 - parent: 2 - - uid: 37109 - components: - - type: Transform - pos: 83.5,-60.5 - parent: 2 - - uid: 37110 - components: - - type: Transform - pos: 83.5,-61.5 - parent: 2 - - uid: 37111 - components: - - type: Transform - pos: 84.5,-58.5 - parent: 2 - - uid: 37112 - components: - - type: Transform - pos: 84.5,-59.5 - parent: 2 - - uid: 37113 - components: - - type: Transform - pos: 84.5,-60.5 - parent: 2 - - uid: 37114 - components: - - type: Transform - pos: 84.5,-61.5 - parent: 2 - - uid: 37115 - components: - - type: Transform - pos: 85.5,-59.5 - parent: 2 - - uid: 37116 - components: - - type: Transform - pos: 85.5,-60.5 - parent: 2 - - uid: 37117 - components: - - type: Transform - pos: 85.5,-61.5 - parent: 2 - - uid: 37118 - components: - - type: Transform - pos: 86.5,-59.5 - parent: 2 - - uid: 37119 - components: - - type: Transform - pos: 86.5,-60.5 - parent: 2 - - uid: 37120 - components: - - type: Transform - pos: 86.5,-61.5 - parent: 2 - - uid: 37121 - components: - - type: Transform - pos: 87.5,-60.5 - parent: 2 - - uid: 37122 - components: - - type: Transform - pos: 87.5,-61.5 - parent: 2 - - uid: 37123 - components: - - type: Transform - pos: 88.5,-60.5 - parent: 2 - - uid: 37124 - components: - - type: Transform - pos: 88.5,-61.5 - parent: 2 - - uid: 37125 - components: - - type: Transform - pos: 89.5,-60.5 - parent: 2 - - uid: 37126 - components: - - type: Transform - pos: 90.5,-60.5 - parent: 2 - - uid: 37127 - components: - - type: Transform - pos: 90.5,-61.5 - parent: 2 - - uid: 37128 - components: - - type: Transform - pos: 91.5,-60.5 - parent: 2 - - uid: 37129 - components: - - type: Transform - pos: 91.5,-61.5 - parent: 2 - - uid: 37130 - components: - - type: Transform - pos: 92.5,-60.5 - parent: 2 - - uid: 37131 - components: - - type: Transform - pos: 92.5,-61.5 - parent: 2 - - uid: 37132 - components: - - type: Transform - pos: 93.5,-60.5 - parent: 2 - - uid: 37133 - components: - - type: Transform - pos: 93.5,-61.5 - parent: 2 - - uid: 37134 - components: - - type: Transform - pos: 94.5,-60.5 - parent: 2 - - uid: 37135 - components: - - type: Transform - pos: 94.5,-61.5 - parent: 2 - - uid: 37136 - components: - - type: Transform - pos: 95.5,-60.5 - parent: 2 - - uid: 37137 - components: - - type: Transform - pos: 95.5,-61.5 - parent: 2 - - uid: 37138 - components: - - type: Transform - pos: 91.5,-59.5 - parent: 2 - - uid: 37139 - components: - - type: Transform - pos: 92.5,-59.5 - parent: 2 - - uid: 37140 - components: - - type: Transform - pos: 93.5,-59.5 - parent: 2 - - uid: 37141 - components: - - type: Transform - pos: 94.5,-59.5 - parent: 2 - - uid: 37142 - components: - - type: Transform - pos: 95.5,-59.5 - parent: 2 - - uid: 37143 - components: - - type: Transform - pos: 96.5,-59.5 - parent: 2 - - uid: 37144 - components: - - type: Transform - pos: 97.5,-59.5 - parent: 2 - - uid: 37145 - components: - - type: Transform - pos: 96.5,-60.5 - parent: 2 - - uid: 37146 - components: - - type: Transform - pos: 93.5,-58.5 - parent: 2 - - uid: 37147 - components: - - type: Transform - pos: 94.5,-58.5 - parent: 2 - - uid: 37148 - components: - - type: Transform - pos: 95.5,-58.5 - parent: 2 - - uid: 37149 - components: - - type: Transform - pos: 96.5,-58.5 - parent: 2 - - uid: 37150 - components: - - type: Transform - pos: 97.5,-58.5 - parent: 2 - - uid: 37151 - components: - - type: Transform - pos: 98.5,-58.5 - parent: 2 - - uid: 37152 - components: - - type: Transform - pos: 99.5,-58.5 - parent: 2 - - uid: 37153 - components: - - type: Transform - pos: 100.5,-58.5 - parent: 2 - - uid: 37154 - components: - - type: Transform - pos: 94.5,-57.5 - parent: 2 - - uid: 37155 - components: - - type: Transform - pos: 95.5,-57.5 - parent: 2 - - uid: 37156 - components: - - type: Transform - pos: 96.5,-57.5 - parent: 2 - - uid: 37157 - components: - - type: Transform - pos: 97.5,-57.5 - parent: 2 - - uid: 37158 - components: - - type: Transform - pos: 98.5,-57.5 - parent: 2 - - uid: 37159 - components: - - type: Transform - pos: 99.5,-57.5 - parent: 2 - - uid: 37160 - components: - - type: Transform - pos: 100.5,-57.5 - parent: 2 - - uid: 37161 - components: - - type: Transform - pos: 99.5,-59.5 - parent: 2 - - uid: 37162 - components: - - type: Transform - pos: 100.5,-59.5 - parent: 2 - - uid: 37163 - components: - - type: Transform - pos: 101.5,-59.5 - parent: 2 - - uid: 37164 - components: - - type: Transform - pos: 98.5,-59.5 - parent: 2 - - uid: 37165 - components: - - type: Transform - pos: 101.5,-58.5 - parent: 2 - - uid: 37166 - components: - - type: Transform - pos: 102.5,-58.5 - parent: 2 - - uid: 37167 - components: - - type: Transform - pos: 102.5,-59.5 - parent: 2 - - uid: 37168 - components: - - type: Transform - pos: 102.5,-60.5 - parent: 2 - - uid: 37169 - components: - - type: Transform - pos: 103.5,-58.5 - parent: 2 - - uid: 37170 - components: - - type: Transform - pos: 103.5,-59.5 - parent: 2 - - uid: 37171 - components: - - type: Transform - pos: 103.5,-60.5 - parent: 2 - - uid: 37172 - components: - - type: Transform - pos: 104.5,-58.5 - parent: 2 - - uid: 37173 - components: - - type: Transform - pos: 104.5,-59.5 - parent: 2 - - uid: 37174 - components: - - type: Transform - pos: 104.5,-60.5 - parent: 2 - - uid: 37175 - components: - - type: Transform - pos: 105.5,-58.5 - parent: 2 - - uid: 37176 - components: - - type: Transform - pos: 105.5,-59.5 - parent: 2 - - uid: 37177 - components: - - type: Transform - pos: 105.5,-60.5 - parent: 2 - - uid: 37178 - components: - - type: Transform - pos: 106.5,-58.5 - parent: 2 - - uid: 37179 - components: - - type: Transform - pos: 106.5,-59.5 - parent: 2 - - uid: 37180 - components: - - type: Transform - pos: 106.5,-60.5 - parent: 2 - - uid: 37181 - components: - - type: Transform - pos: 104.5,-57.5 - parent: 2 - - uid: 37182 - components: - - type: Transform - pos: 99.5,-60.5 - parent: 2 - - uid: 37183 - components: - - type: Transform - pos: 99.5,-61.5 - parent: 2 - - uid: 37184 - components: - - type: Transform - pos: 100.5,-60.5 - parent: 2 - - uid: 37185 - components: - - type: Transform - pos: 100.5,-61.5 - parent: 2 - - uid: 37186 - components: - - type: Transform - pos: 101.5,-60.5 - parent: 2 - - uid: 37187 - components: - - type: Transform - pos: 101.5,-61.5 - parent: 2 - - uid: 37188 - components: - - type: Transform - pos: 100.5,-62.5 - parent: 2 - - uid: 37189 - components: - - type: Transform - pos: 101.5,-62.5 - parent: 2 - - uid: 37190 - components: - - type: Transform - pos: 102.5,-62.5 - parent: 2 - - uid: 37191 - components: - - type: Transform - pos: 104.5,-62.5 - parent: 2 - - uid: 37192 - components: - - type: Transform - pos: 103.5,-62.5 - parent: 2 - - uid: 37193 - components: - - type: Transform - pos: 105.5,-62.5 - parent: 2 - - uid: 37194 - components: - - type: Transform - pos: 106.5,-62.5 - parent: 2 - - uid: 37195 - components: - - type: Transform - pos: 107.5,-62.5 - parent: 2 - - uid: 37196 - components: - - type: Transform - pos: 108.5,-62.5 - parent: 2 - - uid: 37197 - components: - - type: Transform - pos: 104.5,-63.5 - parent: 2 - - uid: 37198 - components: - - type: Transform - pos: 105.5,-63.5 - parent: 2 - - uid: 37199 - components: - - type: Transform - pos: 106.5,-63.5 - parent: 2 - - uid: 37200 - components: - - type: Transform - pos: 107.5,-63.5 - parent: 2 - - uid: 37201 - components: - - type: Transform - pos: 105.5,-64.5 - parent: 2 - - uid: 37202 - components: - - type: Transform - pos: 106.5,-64.5 - parent: 2 - - uid: 37203 - components: - - type: Transform - pos: 107.5,-64.5 - parent: 2 - - uid: 37204 - components: - - type: Transform - pos: 106.5,-80.5 - parent: 2 - - uid: 37205 - components: - - type: Transform - pos: 102.5,-61.5 - parent: 2 - - uid: 37206 - components: - - type: Transform - pos: 104.5,-61.5 - parent: 2 - - uid: 37207 - components: - - type: Transform - pos: 105.5,-61.5 - parent: 2 - - uid: 37208 - components: - - type: Transform - pos: 106.5,-61.5 - parent: 2 - - uid: 37209 - components: - - type: Transform - pos: 107.5,-61.5 - parent: 2 - - uid: 37210 - components: - - type: Transform - pos: 108.5,-61.5 - parent: 2 - - uid: 37211 - components: - - type: Transform - pos: 103.5,-61.5 - parent: 2 - - uid: 37212 - components: - - type: Transform - pos: 108.5,-49.5 - parent: 2 - - uid: 37213 - components: - - type: Transform - pos: 107.5,-49.5 - parent: 2 - - uid: 37214 - components: - - type: Transform - pos: 106.5,-49.5 - parent: 2 - - uid: 37215 - components: - - type: Transform - pos: 106.5,-50.5 - parent: 2 - - uid: 37216 - components: - - type: Transform - pos: 106.5,-51.5 - parent: 2 - - uid: 37217 - components: - - type: Transform - pos: 106.5,-52.5 - parent: 2 - - uid: 37218 - components: - - type: Transform - pos: 106.5,-53.5 - parent: 2 - - uid: 37219 - components: - - type: Transform - pos: 107.5,-53.5 - parent: 2 - - uid: 37220 - components: - - type: Transform - pos: 107.5,-54.5 - parent: 2 - - uid: 37221 - components: - - type: Transform - pos: 107.5,-55.5 - parent: 2 - - uid: 37222 - components: - - type: Transform - pos: 107.5,-56.5 - parent: 2 - - uid: 37223 - components: - - type: Transform - pos: 107.5,-57.5 - parent: 2 - - uid: 37224 - components: - - type: Transform - pos: 107.5,-58.5 - parent: 2 - - uid: 37225 - components: - - type: Transform - pos: 107.5,-59.5 - parent: 2 - - uid: 37226 - components: - - type: Transform - pos: 107.5,-60.5 - parent: 2 - - uid: 37227 - components: - - type: Transform - pos: 108.5,-56.5 - parent: 2 - - uid: 37228 - components: - - type: Transform - pos: 108.5,-57.5 - parent: 2 - - uid: 37229 - components: - - type: Transform - pos: 108.5,-58.5 - parent: 2 - - uid: 37230 - components: - - type: Transform - pos: 108.5,-59.5 - parent: 2 - - uid: 37231 - components: - - type: Transform - pos: 108.5,-60.5 - parent: 2 - - uid: 37232 - components: - - type: Transform - pos: 104.5,-67.5 - parent: 2 - - uid: 37233 - components: - - type: Transform - pos: 103.5,-67.5 - parent: 2 - - uid: 37234 - components: - - type: Transform - pos: 102.5,-67.5 - parent: 2 - - uid: 37235 - components: - - type: Transform - pos: 101.5,-67.5 - parent: 2 - - uid: 37236 - components: - - type: Transform - pos: 100.5,-67.5 - parent: 2 - - uid: 37237 - components: - - type: Transform - pos: 99.5,-67.5 - parent: 2 - - uid: 37238 - components: - - type: Transform - pos: 98.5,-67.5 - parent: 2 - - uid: 37239 - components: - - type: Transform - pos: 97.5,-67.5 - parent: 2 - - uid: 37240 - components: - - type: Transform - pos: 96.5,-67.5 - parent: 2 - - uid: 37241 - components: - - type: Transform - pos: 96.5,-69.5 - parent: 2 - - uid: 37242 - components: - - type: Transform - pos: 97.5,-69.5 - parent: 2 - - uid: 37243 - components: - - type: Transform - pos: 98.5,-69.5 - parent: 2 - - uid: 37244 - components: - - type: Transform - pos: 99.5,-69.5 - parent: 2 - - uid: 37245 - components: - - type: Transform - pos: 100.5,-69.5 - parent: 2 - - uid: 37246 - components: - - type: Transform - pos: 101.5,-69.5 - parent: 2 - - uid: 37247 - components: - - type: Transform - pos: 102.5,-69.5 - parent: 2 - - uid: 37248 - components: - - type: Transform - pos: 103.5,-69.5 - parent: 2 - - uid: 37249 - components: - - type: Transform - pos: 104.5,-69.5 - parent: 2 - - uid: 37250 - components: - - type: Transform - pos: 104.5,-71.5 - parent: 2 - - uid: 37251 - components: - - type: Transform - pos: 103.5,-71.5 - parent: 2 - - uid: 37252 - components: - - type: Transform - pos: 102.5,-71.5 - parent: 2 - - uid: 37253 - components: - - type: Transform - pos: 101.5,-71.5 - parent: 2 - - uid: 37254 - components: - - type: Transform - pos: 100.5,-71.5 - parent: 2 - - uid: 37255 - components: - - type: Transform - pos: 99.5,-71.5 - parent: 2 - - uid: 37256 - components: - - type: Transform - pos: 98.5,-71.5 - parent: 2 - - uid: 37257 - components: - - type: Transform - pos: 97.5,-71.5 - parent: 2 - - uid: 37258 - components: - - type: Transform - pos: 96.5,-71.5 - parent: 2 - - uid: 37259 - components: - - type: Transform - pos: 96.5,-73.5 - parent: 2 - - uid: 37260 - components: - - type: Transform - pos: 97.5,-73.5 - parent: 2 - - uid: 37261 - components: - - type: Transform - pos: 98.5,-73.5 - parent: 2 - - uid: 37262 - components: - - type: Transform - pos: 99.5,-73.5 - parent: 2 - - uid: 37263 - components: - - type: Transform - pos: 100.5,-73.5 - parent: 2 - - uid: 37264 - components: - - type: Transform - pos: 101.5,-73.5 - parent: 2 - - uid: 37265 - components: - - type: Transform - pos: 102.5,-73.5 - parent: 2 - - uid: 37266 - components: - - type: Transform - pos: 103.5,-73.5 - parent: 2 - - uid: 37267 - components: - - type: Transform - pos: 104.5,-73.5 - parent: 2 - - uid: 37268 - components: - - type: Transform - pos: 104.5,-75.5 - parent: 2 - - uid: 37269 - components: - - type: Transform - pos: 103.5,-75.5 - parent: 2 - - uid: 37270 - components: - - type: Transform - pos: 102.5,-75.5 - parent: 2 - - uid: 37271 - components: - - type: Transform - pos: 101.5,-75.5 - parent: 2 - - uid: 37272 - components: - - type: Transform - pos: 100.5,-75.5 - parent: 2 - - uid: 37273 - components: - - type: Transform - pos: 99.5,-75.5 - parent: 2 - - uid: 37274 - components: - - type: Transform - pos: 98.5,-75.5 - parent: 2 - - uid: 37275 - components: - - type: Transform - pos: 97.5,-75.5 - parent: 2 - - uid: 37276 - components: - - type: Transform - pos: 96.5,-75.5 - parent: 2 - - uid: 37277 - components: - - type: Transform - pos: 96.5,-77.5 - parent: 2 - - uid: 37278 - components: - - type: Transform - pos: 97.5,-77.5 - parent: 2 - - uid: 37279 - components: - - type: Transform - pos: 98.5,-77.5 - parent: 2 - - uid: 37280 - components: - - type: Transform - pos: 99.5,-77.5 - parent: 2 - - uid: 37281 - components: - - type: Transform - pos: 100.5,-77.5 - parent: 2 - - uid: 37282 - components: - - type: Transform - pos: 101.5,-77.5 - parent: 2 - - uid: 37283 - components: - - type: Transform - pos: 102.5,-77.5 - parent: 2 - - uid: 37284 - components: - - type: Transform - pos: 103.5,-77.5 - parent: 2 - - uid: 37285 - components: - - type: Transform - pos: 104.5,-77.5 - parent: 2 - - uid: 37286 - components: - - type: Transform - pos: 108.5,-77.5 - parent: 2 - - uid: 37287 - components: - - type: Transform - pos: 109.5,-77.5 - parent: 2 - - uid: 37288 - components: - - type: Transform - pos: 110.5,-77.5 - parent: 2 - - uid: 37289 - components: - - type: Transform - pos: 111.5,-77.5 - parent: 2 - - uid: 37290 - components: - - type: Transform - pos: 112.5,-77.5 - parent: 2 - - uid: 37291 - components: - - type: Transform - pos: 113.5,-77.5 - parent: 2 - - uid: 37292 - components: - - type: Transform - pos: 114.5,-77.5 - parent: 2 - - uid: 37293 - components: - - type: Transform - pos: 116.5,-77.5 - parent: 2 - - uid: 37294 - components: - - type: Transform - pos: 115.5,-77.5 - parent: 2 - - uid: 37295 - components: - - type: Transform - pos: 116.5,-75.5 - parent: 2 - - uid: 37296 - components: - - type: Transform - pos: 115.5,-75.5 - parent: 2 - - uid: 37297 - components: - - type: Transform - pos: 114.5,-75.5 - parent: 2 - - uid: 37298 - components: - - type: Transform - pos: 113.5,-75.5 - parent: 2 - - uid: 37299 - components: - - type: Transform - pos: 112.5,-75.5 - parent: 2 - - uid: 37300 - components: - - type: Transform - pos: 111.5,-75.5 - parent: 2 - - uid: 37301 - components: - - type: Transform - pos: 110.5,-75.5 - parent: 2 - - uid: 37302 - components: - - type: Transform - pos: 109.5,-75.5 - parent: 2 - - uid: 37303 - components: - - type: Transform - pos: 108.5,-75.5 - parent: 2 - - uid: 37304 - components: - - type: Transform - pos: 108.5,-73.5 - parent: 2 - - uid: 37305 - components: - - type: Transform - pos: 109.5,-73.5 - parent: 2 - - uid: 37306 - components: - - type: Transform - pos: 110.5,-73.5 - parent: 2 - - uid: 37307 - components: - - type: Transform - pos: 111.5,-73.5 - parent: 2 - - uid: 37308 - components: - - type: Transform - pos: 112.5,-73.5 - parent: 2 - - uid: 37309 - components: - - type: Transform - pos: 113.5,-73.5 - parent: 2 - - uid: 37310 - components: - - type: Transform - pos: 115.5,-73.5 - parent: 2 - - uid: 37311 - components: - - type: Transform - pos: 114.5,-73.5 - parent: 2 - - uid: 37312 - components: - - type: Transform - pos: 116.5,-73.5 - parent: 2 - - uid: 37313 - components: - - type: Transform - pos: 116.5,-71.5 - parent: 2 - - uid: 37314 - components: - - type: Transform - pos: 115.5,-71.5 - parent: 2 - - uid: 37315 - components: - - type: Transform - pos: 114.5,-71.5 - parent: 2 - - uid: 37316 - components: - - type: Transform - pos: 113.5,-71.5 - parent: 2 - - uid: 37317 - components: - - type: Transform - pos: 112.5,-71.5 - parent: 2 - - uid: 37318 - components: - - type: Transform - pos: 111.5,-71.5 - parent: 2 - - uid: 37319 - components: - - type: Transform - pos: 110.5,-71.5 - parent: 2 - - uid: 37320 - components: - - type: Transform - pos: 109.5,-71.5 - parent: 2 - - uid: 37321 - components: - - type: Transform - pos: 108.5,-71.5 - parent: 2 - - uid: 37322 - components: - - type: Transform - pos: 108.5,-69.5 - parent: 2 - - uid: 37323 - components: - - type: Transform - pos: 109.5,-69.5 - parent: 2 - - uid: 37324 - components: - - type: Transform - pos: 110.5,-69.5 - parent: 2 - - uid: 37325 - components: - - type: Transform - pos: 111.5,-69.5 - parent: 2 - - uid: 37326 - components: - - type: Transform - pos: 112.5,-69.5 - parent: 2 - - uid: 37327 - components: - - type: Transform - pos: 113.5,-69.5 - parent: 2 - - uid: 37328 - components: - - type: Transform - pos: 114.5,-69.5 - parent: 2 - - uid: 37329 - components: - - type: Transform - pos: 115.5,-69.5 - parent: 2 - - uid: 37330 - components: - - type: Transform - pos: 116.5,-69.5 - parent: 2 - - uid: 37331 - components: - - type: Transform - pos: 116.5,-67.5 - parent: 2 - - uid: 37332 - components: - - type: Transform - pos: 115.5,-67.5 - parent: 2 - - uid: 37333 - components: - - type: Transform - pos: 114.5,-67.5 - parent: 2 - - uid: 37334 - components: - - type: Transform - pos: 113.5,-67.5 - parent: 2 - - uid: 37335 - components: - - type: Transform - pos: 112.5,-67.5 - parent: 2 - - uid: 37336 - components: - - type: Transform - pos: 111.5,-67.5 - parent: 2 - - uid: 37337 - components: - - type: Transform - pos: 110.5,-67.5 - parent: 2 - - uid: 37338 - components: - - type: Transform - pos: 109.5,-67.5 - parent: 2 - - uid: 37339 - components: - - type: Transform - pos: 108.5,-67.5 - parent: 2 - - uid: 37340 - components: - - type: Transform - pos: 114.5,-35.5 - parent: 2 - - uid: 37341 - components: - - type: Transform - pos: 105.5,-39.5 - parent: 2 - - uid: 37342 - components: - - type: Transform - pos: 105.5,-40.5 - parent: 2 - - uid: 37343 - components: - - type: Transform - pos: 105.5,-41.5 - parent: 2 - - uid: 37344 - components: - - type: Transform - pos: 105.5,-42.5 - parent: 2 - - uid: 37345 - components: - - type: Transform - pos: 105.5,-43.5 - parent: 2 - - uid: 37346 - components: - - type: Transform - pos: 103.5,-41.5 - parent: 2 - - uid: 37347 - components: - - type: Transform - pos: 103.5,-42.5 - parent: 2 - - uid: 37348 - components: - - type: Transform - pos: 103.5,-43.5 - parent: 2 - - uid: 37349 - components: - - type: Transform - pos: 104.5,-41.5 - parent: 2 - - uid: 37350 - components: - - type: Transform - pos: 104.5,-42.5 - parent: 2 - - uid: 37351 - components: - - type: Transform - pos: 104.5,-43.5 - parent: 2 - - uid: 37352 - components: - - type: Transform - pos: 106.5,-41.5 - parent: 2 - - uid: 37353 - components: - - type: Transform - pos: 106.5,-42.5 - parent: 2 - - uid: 37354 - components: - - type: Transform - pos: 106.5,-43.5 - parent: 2 - - uid: 37355 - components: - - type: Transform - pos: 107.5,-42.5 - parent: 2 - - uid: 37356 - components: - - type: Transform - pos: 107.5,-43.5 - parent: 2 - - uid: 37357 - components: - - type: Transform - pos: 108.5,-42.5 - parent: 2 - - uid: 37358 - components: - - type: Transform - pos: 108.5,-43.5 - parent: 2 - - uid: 37359 - components: - - type: Transform - pos: 109.5,-35.5 - parent: 2 - - uid: 37360 - components: - - type: Transform - pos: 109.5,-36.5 - parent: 2 - - uid: 37361 - components: - - type: Transform - pos: 109.5,-37.5 - parent: 2 - - uid: 37362 - components: - - type: Transform - pos: 110.5,-35.5 - parent: 2 - - uid: 37363 - components: - - type: Transform - pos: 110.5,-36.5 - parent: 2 - - uid: 37364 - components: - - type: Transform - pos: 110.5,-37.5 - parent: 2 - - uid: 37365 - components: - - type: Transform - pos: 126.5,-39.5 - parent: 2 - - uid: 37366 - components: - - type: Transform - pos: 111.5,-25.5 - parent: 2 - - uid: 37367 - components: - - type: Transform - pos: 111.5,-26.5 - parent: 2 - - uid: 37368 - components: - - type: Transform - pos: 111.5,-27.5 - parent: 2 - - uid: 37369 - components: - - type: Transform - pos: 111.5,-28.5 - parent: 2 - - uid: 37370 - components: - - type: Transform - pos: 112.5,-28.5 - parent: 2 - - uid: 37371 - components: - - type: Transform - pos: 113.5,-28.5 - parent: 2 - - uid: 37372 - components: - - type: Transform - pos: 113.5,-29.5 - parent: 2 - - uid: 37373 - components: - - type: Transform - pos: 114.5,-29.5 - parent: 2 - - uid: 37374 - components: - - type: Transform - pos: 115.5,-30.5 - parent: 2 - - uid: 37375 - components: - - type: Transform - pos: 116.5,-30.5 - parent: 2 - - uid: 37376 - components: - - type: Transform - pos: 117.5,-30.5 - parent: 2 - - uid: 37377 - components: - - type: Transform - pos: 118.5,-30.5 - parent: 2 - - uid: 37378 - components: - - type: Transform - pos: 119.5,-30.5 - parent: 2 - - uid: 37379 - components: - - type: Transform - pos: 120.5,-30.5 - parent: 2 - - uid: 37380 - components: - - type: Transform - pos: 121.5,-30.5 - parent: 2 - - uid: 37381 - components: - - type: Transform - pos: 114.5,-30.5 - parent: 2 - - uid: 37382 - components: - - type: Transform - pos: 120.5,-29.5 - parent: 2 - - uid: 37383 - components: - - type: Transform - pos: 121.5,-29.5 - parent: 2 - - uid: 37384 - components: - - type: Transform - pos: 121.5,-28.5 - parent: 2 - - uid: 37385 - components: - - type: Transform - pos: 122.5,-29.5 - parent: 2 - - uid: 37386 - components: - - type: Transform - pos: 123.5,-29.5 - parent: 2 - - uid: 37387 - components: - - type: Transform - pos: 124.5,-29.5 - parent: 2 - - uid: 37388 - components: - - type: Transform - pos: 124.5,-28.5 - parent: 2 - - uid: 37389 - components: - - type: Transform - pos: 125.5,-28.5 - parent: 2 - - uid: 37390 - components: - - type: Transform - pos: 118.5,-31.5 - parent: 2 - - uid: 37391 - components: - - type: Transform - pos: 117.5,-31.5 - parent: 2 - - uid: 37392 - components: - - type: Transform - pos: 116.5,-31.5 - parent: 2 - - uid: 37393 - components: - - type: Transform - pos: 116.5,-32.5 - parent: 2 - - uid: 37394 - components: - - type: Transform - pos: 117.5,-32.5 - parent: 2 - - uid: 37395 - components: - - type: Transform - pos: 115.5,-33.5 - parent: 2 - - uid: 37396 - components: - - type: Transform - pos: 116.5,-33.5 - parent: 2 - - uid: 37397 - components: - - type: Transform - pos: 117.5,-33.5 - parent: 2 - - uid: 37398 - components: - - type: Transform - pos: 118.5,-33.5 - parent: 2 - - uid: 37399 - components: - - type: Transform - pos: 115.5,-34.5 - parent: 2 - - uid: 37400 - components: - - type: Transform - pos: 118.5,-34.5 - parent: 2 - - uid: 37401 - components: - - type: Transform - pos: 119.5,-34.5 - parent: 2 - - uid: 37402 - components: - - type: Transform - pos: 120.5,-34.5 - parent: 2 - - uid: 37403 - components: - - type: Transform - pos: 121.5,-34.5 - parent: 2 - - uid: 37404 - components: - - type: Transform - pos: 115.5,-37.5 - parent: 2 - - uid: 37405 - components: - - type: Transform - pos: 115.5,-38.5 - parent: 2 - - uid: 37406 - components: - - type: Transform - pos: 115.5,-36.5 - parent: 2 - - uid: 37407 - components: - - type: Transform - pos: 116.5,-37.5 - parent: 2 - - uid: 37408 - components: - - type: Transform - pos: 116.5,-38.5 - parent: 2 - - uid: 37409 - components: - - type: Transform - pos: 116.5,-39.5 - parent: 2 - - uid: 37410 - components: - - type: Transform - pos: 117.5,-39.5 - parent: 2 - - uid: 37411 - components: - - type: Transform - pos: 118.5,-39.5 - parent: 2 - - uid: 37412 - components: - - type: Transform - pos: 119.5,-39.5 - parent: 2 - - uid: 37413 - components: - - type: Transform - pos: 118.5,-38.5 - parent: 2 - - uid: 37414 - components: - - type: Transform - pos: 119.5,-38.5 - parent: 2 - - uid: 37415 - components: - - type: Transform - pos: 120.5,-38.5 - parent: 2 - - uid: 37416 - components: - - type: Transform - pos: 121.5,-38.5 - parent: 2 - - uid: 37417 - components: - - type: Transform - pos: 122.5,-38.5 - parent: 2 - - uid: 37418 - components: - - type: Transform - pos: 119.5,-37.5 - parent: 2 - - uid: 37419 - components: - - type: Transform - pos: 120.5,-37.5 - parent: 2 - - uid: 37420 - components: - - type: Transform - pos: 121.5,-37.5 - parent: 2 - - uid: 37421 - components: - - type: Transform - pos: 122.5,-37.5 - parent: 2 - - uid: 37422 - components: - - type: Transform - pos: 121.5,-36.5 - parent: 2 - - uid: 37423 - components: - - type: Transform - pos: 121.5,-35.5 - parent: 2 - - uid: 37424 - components: - - type: Transform - pos: 122.5,-35.5 - parent: 2 - - uid: 37425 - components: - - type: Transform - pos: 129.5,-39.5 - parent: 2 - - uid: 37426 - components: - - type: Transform - pos: 129.5,-38.5 - parent: 2 - - uid: 37427 - components: - - type: Transform - pos: 129.5,-37.5 - parent: 2 - - uid: 37428 - components: - - type: Transform - pos: 130.5,-39.5 - parent: 2 - - uid: 37429 - components: - - type: Transform - pos: 130.5,-38.5 - parent: 2 - - uid: 37430 - components: - - type: Transform - pos: 130.5,-37.5 - parent: 2 - - uid: 37431 - components: - - type: Transform - pos: 130.5,-36.5 - parent: 2 - - uid: 37432 - components: - - type: Transform - pos: 131.5,-36.5 - parent: 2 - - uid: 37433 - components: - - type: Transform - pos: 132.5,-36.5 - parent: 2 - - uid: 37434 - components: - - type: Transform - pos: 131.5,-37.5 - parent: 2 - - uid: 37435 - components: - - type: Transform - pos: 132.5,-37.5 - parent: 2 - - uid: 37436 - components: - - type: Transform - pos: 131.5,-38.5 - parent: 2 - - uid: 37437 - components: - - type: Transform - pos: 126.5,-37.5 - parent: 2 - - uid: 37438 - components: - - type: Transform - pos: 126.5,-38.5 - parent: 2 - - uid: 37439 - components: - - type: Transform - pos: 125.5,-37.5 - parent: 2 - - uid: 37440 - components: - - type: Transform - pos: 125.5,-38.5 - parent: 2 - - uid: 37441 - components: - - type: Transform - pos: 125.5,-35.5 - parent: 2 - - uid: 37442 - components: - - type: Transform - pos: 125.5,-34.5 - parent: 2 - - uid: 37443 - components: - - type: Transform - pos: 125.5,-33.5 - parent: 2 - - uid: 37444 - components: - - type: Transform - pos: 125.5,-32.5 - parent: 2 - - uid: 37445 - components: - - type: Transform - pos: 126.5,-32.5 - parent: 2 - - uid: 37446 - components: - - type: Transform - pos: 126.5,-31.5 - parent: 2 - - uid: 37447 - components: - - type: Transform - pos: 126.5,-33.5 - parent: 2 - - uid: 37448 - components: - - type: Transform - pos: 127.5,-31.5 - parent: 2 - - uid: 37449 - components: - - type: Transform - pos: 128.5,-30.5 - parent: 2 - - uid: 37450 - components: - - type: Transform - pos: 128.5,-31.5 - parent: 2 - - uid: 37451 - components: - - type: Transform - pos: 128.5,-32.5 - parent: 2 - - uid: 37452 - components: - - type: Transform - pos: 129.5,-30.5 - parent: 2 - - uid: 37453 - components: - - type: Transform - pos: 129.5,-31.5 - parent: 2 - - uid: 37454 - components: - - type: Transform - pos: 129.5,-32.5 - parent: 2 - - uid: 37455 - components: - - type: Transform - pos: 132.5,-25.5 - parent: 2 - - uid: 37456 - components: - - type: Transform - pos: 130.5,-32.5 - parent: 2 - - uid: 37457 - components: - - type: Transform - pos: 130.5,-33.5 - parent: 2 - - uid: 37458 - components: - - type: Transform - pos: 133.5,-34.5 - parent: 2 - - uid: 37459 - components: - - type: Transform - pos: 133.5,-35.5 - parent: 2 - - uid: 37460 - components: - - type: Transform - pos: 128.5,-40.5 - parent: 2 - - uid: 37461 - components: - - type: Transform - pos: 127.5,-40.5 - parent: 2 - - uid: 37462 - components: - - type: Transform - pos: 126.5,-22.5 - parent: 2 - - uid: 37463 - components: - - type: Transform - pos: 126.5,-23.5 - parent: 2 - - uid: 37464 - components: - - type: Transform - pos: 126.5,-24.5 - parent: 2 - - uid: 37465 - components: - - type: Transform - pos: 126.5,-25.5 - parent: 2 - - uid: 37466 - components: - - type: Transform - pos: 126.5,-26.5 - parent: 2 - - uid: 37467 - components: - - type: Transform - pos: 126.5,-27.5 - parent: 2 - - uid: 37468 - components: - - type: Transform - pos: 125.5,-23.5 - parent: 2 - - uid: 37469 - components: - - type: Transform - pos: 127.5,-23.5 - parent: 2 - - uid: 37470 - components: - - type: Transform - pos: 127.5,-24.5 - parent: 2 - - uid: 37471 - components: - - type: Transform - pos: 132.5,-26.5 - parent: 2 - - uid: 37472 - components: - - type: Transform - pos: 131.5,-25.5 - parent: 2 - - uid: 37473 - components: - - type: Transform - pos: 131.5,-24.5 - parent: 2 - - uid: 37474 - components: - - type: Transform - pos: 131.5,-23.5 - parent: 2 - - uid: 37475 - components: - - type: Transform - pos: 130.5,-22.5 - parent: 2 - - uid: 37476 - components: - - type: Transform - pos: 130.5,-21.5 - parent: 2 - - uid: 37477 - components: - - type: Transform - pos: 130.5,-23.5 - parent: 2 - - uid: 37478 - components: - - type: Transform - pos: 133.5,-27.5 - parent: 2 - - uid: 37479 - components: - - type: Transform - pos: 133.5,-28.5 - parent: 2 - - uid: 37480 - components: - - type: Transform - pos: 134.5,22.5 - parent: 2 - - uid: 37481 - components: - - type: Transform - pos: 134.5,-27.5 - parent: 2 - - uid: 37482 - components: - - type: Transform - pos: 134.5,-26.5 - parent: 2 - - uid: 37483 - components: - - type: Transform - pos: 134.5,-25.5 - parent: 2 - - uid: 37484 - components: - - type: Transform - pos: 135.5,-26.5 - parent: 2 - - uid: 37485 - components: - - type: Transform - pos: 135.5,-25.5 - parent: 2 - - uid: 37486 - components: - - type: Transform - pos: 135.5,-24.5 - parent: 2 - - uid: 37487 - components: - - type: Transform - pos: 135.5,-23.5 - parent: 2 - - uid: 37488 - components: - - type: Transform - pos: 135.5,-22.5 - parent: 2 - - uid: 37489 - components: - - type: Transform - pos: 134.5,-23.5 - parent: 2 - - uid: 37490 - components: - - type: Transform - pos: 134.5,-22.5 - parent: 2 - - uid: 37491 - components: - - type: Transform - pos: 134.5,-21.5 - parent: 2 - - uid: 37492 - components: - - type: Transform - pos: 133.5,-22.5 - parent: 2 - - uid: 37493 - components: - - type: Transform - pos: 133.5,-21.5 - parent: 2 - - uid: 37494 - components: - - type: Transform - pos: 132.5,-21.5 - parent: 2 - - uid: 37495 - components: - - type: Transform - pos: 132.5,-20.5 - parent: 2 - - uid: 37496 - components: - - type: Transform - pos: 131.5,-20.5 - parent: 2 - - uid: 37497 - components: - - type: Transform - pos: 130.5,-20.5 - parent: 2 - - uid: 37498 - components: - - type: Transform - pos: 129.5,-20.5 - parent: 2 - - uid: 37499 - components: - - type: Transform - pos: 130.5,-19.5 - parent: 2 - - uid: 37500 - components: - - type: Transform - pos: 130.5,-18.5 - parent: 2 - - uid: 37501 - components: - - type: Transform - pos: 131.5,-19.5 - parent: 2 - - uid: 37502 - components: - - type: Transform - pos: 131.5,-18.5 - parent: 2 - - uid: 37503 - components: - - type: Transform - pos: 123.5,-20.5 - parent: 2 - - uid: 37504 - components: - - type: Transform - pos: 123.5,-19.5 - parent: 2 - - uid: 37505 - components: - - type: Transform - pos: 123.5,-18.5 - parent: 2 - - uid: 37506 - components: - - type: Transform - pos: 123.5,-17.5 - parent: 2 - - uid: 37507 - components: - - type: Transform - pos: 123.5,-16.5 - parent: 2 - - uid: 37508 - components: - - type: Transform - pos: 123.5,-15.5 - parent: 2 - - uid: 37509 - components: - - type: Transform - pos: 123.5,-14.5 - parent: 2 - - uid: 37510 - components: - - type: Transform - pos: 123.5,-13.5 - parent: 2 - - uid: 37511 - components: - - type: Transform - pos: 123.5,-12.5 - parent: 2 - - uid: 37512 - components: - - type: Transform - pos: 123.5,-11.5 - parent: 2 - - uid: 37513 - components: - - type: Transform - pos: 124.5,-15.5 - parent: 2 - - uid: 37514 - components: - - type: Transform - pos: 124.5,-14.5 - parent: 2 - - uid: 37515 - components: - - type: Transform - pos: 124.5,-13.5 - parent: 2 - - uid: 37516 - components: - - type: Transform - pos: 124.5,-12.5 - parent: 2 - - uid: 37517 - components: - - type: Transform - pos: 124.5,-11.5 - parent: 2 - - uid: 37518 - components: - - type: Transform - pos: 124.5,-10.5 - parent: 2 - - uid: 37519 - components: - - type: Transform - pos: 122.5,-13.5 - parent: 2 - - uid: 37520 - components: - - type: Transform - pos: 122.5,-12.5 - parent: 2 - - uid: 37521 - components: - - type: Transform - pos: 126.5,-12.5 - parent: 2 - - uid: 37522 - components: - - type: Transform - pos: 125.5,-12.5 - parent: 2 - - uid: 37523 - components: - - type: Transform - pos: 125.5,-11.5 - parent: 2 - - uid: 37524 - components: - - type: Transform - pos: 125.5,-10.5 - parent: 2 - - uid: 37525 - components: - - type: Transform - pos: 126.5,-10.5 - parent: 2 - - uid: 37526 - components: - - type: Transform - pos: 127.5,-10.5 - parent: 2 - - uid: 37527 - components: - - type: Transform - pos: 128.5,-10.5 - parent: 2 - - uid: 37528 - components: - - type: Transform - pos: 129.5,-10.5 - parent: 2 - - uid: 37529 - components: - - type: Transform - pos: 128.5,-9.5 - parent: 2 - - uid: 37530 - components: - - type: Transform - pos: 128.5,-8.5 - parent: 2 - - uid: 37531 - components: - - type: Transform - pos: 128.5,-7.5 - parent: 2 - - uid: 37532 - components: - - type: Transform - pos: 128.5,-6.5 - parent: 2 - - uid: 37533 - components: - - type: Transform - pos: 129.5,-9.5 - parent: 2 - - uid: 37534 - components: - - type: Transform - pos: 129.5,-8.5 - parent: 2 - - uid: 37535 - components: - - type: Transform - pos: 129.5,-7.5 - parent: 2 - - uid: 37536 - components: - - type: Transform - pos: 129.5,-6.5 - parent: 2 - - uid: 37537 - components: - - type: Transform - pos: 130.5,-9.5 - parent: 2 - - uid: 37538 - components: - - type: Transform - pos: 130.5,-8.5 - parent: 2 - - uid: 37539 - components: - - type: Transform - pos: 130.5,-7.5 - parent: 2 - - uid: 37540 - components: - - type: Transform - pos: 130.5,-6.5 - parent: 2 - - uid: 37541 - components: - - type: Transform - pos: 131.5,-9.5 - parent: 2 - - uid: 37542 - components: - - type: Transform - pos: 131.5,-8.5 - parent: 2 - - uid: 37543 - components: - - type: Transform - pos: 131.5,-7.5 - parent: 2 - - uid: 37544 - components: - - type: Transform - pos: 131.5,-6.5 - parent: 2 - - uid: 37545 - components: - - type: Transform - pos: 132.5,-8.5 - parent: 2 - - uid: 37546 - components: - - type: Transform - pos: 132.5,-7.5 - parent: 2 - - uid: 37547 - components: - - type: Transform - pos: 132.5,-6.5 - parent: 2 - - uid: 37548 - components: - - type: Transform - pos: 133.5,-6.5 - parent: 2 - - uid: 37549 - components: - - type: Transform - pos: 130.5,-5.5 - parent: 2 - - uid: 37550 - components: - - type: Transform - pos: 130.5,-4.5 - parent: 2 - - uid: 37551 - components: - - type: Transform - pos: 130.5,-3.5 - parent: 2 - - uid: 37552 - components: - - type: Transform - pos: 130.5,-2.5 - parent: 2 - - uid: 37553 - components: - - type: Transform - pos: 130.5,-1.5 - parent: 2 - - uid: 37554 - components: - - type: Transform - pos: 130.5,-0.5 - parent: 2 - - uid: 37555 - components: - - type: Transform - pos: 130.5,0.5 - parent: 2 - - uid: 37556 - components: - - type: Transform - pos: 131.5,-5.5 - parent: 2 - - uid: 37557 - components: - - type: Transform - pos: 131.5,-4.5 - parent: 2 - - uid: 37558 - components: - - type: Transform - pos: 131.5,-3.5 - parent: 2 - - uid: 37559 - components: - - type: Transform - pos: 131.5,-2.5 - parent: 2 - - uid: 37560 - components: - - type: Transform - pos: 131.5,-1.5 - parent: 2 - - uid: 37561 - components: - - type: Transform - pos: 131.5,-0.5 - parent: 2 - - uid: 37562 - components: - - type: Transform - pos: 131.5,0.5 - parent: 2 - - uid: 37563 - components: - - type: Transform - pos: 132.5,-5.5 - parent: 2 - - uid: 37564 - components: - - type: Transform - pos: 132.5,-4.5 - parent: 2 - - uid: 37565 - components: - - type: Transform - pos: 132.5,-3.5 - parent: 2 - - uid: 37566 - components: - - type: Transform - pos: 132.5,-2.5 - parent: 2 - - uid: 37567 - components: - - type: Transform - pos: 132.5,-1.5 - parent: 2 - - uid: 37568 - components: - - type: Transform - pos: 132.5,-0.5 - parent: 2 - - uid: 37569 - components: - - type: Transform - pos: 132.5,0.5 - parent: 2 - - uid: 37570 - components: - - type: Transform - pos: 133.5,-5.5 - parent: 2 - - uid: 37571 - components: - - type: Transform - pos: 133.5,-4.5 - parent: 2 - - uid: 37572 - components: - - type: Transform - pos: 133.5,-3.5 - parent: 2 - - uid: 37573 - components: - - type: Transform - pos: 133.5,-2.5 - parent: 2 - - uid: 37574 - components: - - type: Transform - pos: 133.5,-1.5 - parent: 2 - - uid: 37575 - components: - - type: Transform - pos: 133.5,-0.5 - parent: 2 - - uid: 37576 - components: - - type: Transform - pos: 133.5,0.5 - parent: 2 - - uid: 37577 - components: - - type: Transform - pos: 129.5,-0.5 - parent: 2 - - uid: 37578 - components: - - type: Transform - pos: 129.5,-1.5 - parent: 2 - - uid: 37579 - components: - - type: Transform - pos: 128.5,-1.5 - parent: 2 - - uid: 37580 - components: - - type: Transform - pos: 134.5,-4.5 - parent: 2 - - uid: 37581 - components: - - type: Transform - pos: 134.5,-3.5 - parent: 2 - - uid: 37582 - components: - - type: Transform - pos: 134.5,-2.5 - parent: 2 - - uid: 37583 - components: - - type: Transform - pos: 134.5,-1.5 - parent: 2 - - uid: 37584 - components: - - type: Transform - pos: 134.5,-0.5 - parent: 2 - - uid: 37585 - components: - - type: Transform - pos: 134.5,0.5 - parent: 2 - - uid: 37586 - components: - - type: Transform - pos: 134.5,1.5 - parent: 2 - - uid: 37587 - components: - - type: Transform - pos: 134.5,2.5 - parent: 2 - - uid: 37588 - components: - - type: Transform - pos: 134.5,3.5 - parent: 2 - - uid: 37589 - components: - - type: Transform - pos: 133.5,3.5 - parent: 2 - - uid: 37590 - components: - - type: Transform - pos: 133.5,2.5 - parent: 2 - - uid: 37591 - components: - - type: Transform - pos: 133.5,1.5 - parent: 2 - - uid: 37592 - components: - - type: Transform - pos: 132.5,3.5 - parent: 2 - - uid: 37593 - components: - - type: Transform - pos: 132.5,2.5 - parent: 2 - - uid: 37594 - components: - - type: Transform - pos: 132.5,1.5 - parent: 2 - - uid: 37595 - components: - - type: Transform - pos: 131.5,3.5 - parent: 2 - - uid: 37596 - components: - - type: Transform - pos: 131.5,2.5 - parent: 2 - - uid: 37597 - components: - - type: Transform - pos: 131.5,1.5 - parent: 2 - - uid: 37598 - components: - - type: Transform - pos: 130.5,3.5 - parent: 2 - - uid: 37599 - components: - - type: Transform - pos: 128.5,4.5 - parent: 2 - - uid: 37600 - components: - - type: Transform - pos: 128.5,5.5 - parent: 2 - - uid: 37601 - components: - - type: Transform - pos: 128.5,6.5 - parent: 2 - - uid: 37602 - components: - - type: Transform - pos: 128.5,7.5 - parent: 2 - - uid: 37603 - components: - - type: Transform - pos: 129.5,4.5 - parent: 2 - - uid: 37604 - components: - - type: Transform - pos: 129.5,5.5 - parent: 2 - - uid: 37605 - components: - - type: Transform - pos: 129.5,6.5 - parent: 2 - - uid: 37606 - components: - - type: Transform - pos: 129.5,7.5 - parent: 2 - - uid: 37607 - components: - - type: Transform - pos: 130.5,4.5 - parent: 2 - - uid: 37608 - components: - - type: Transform - pos: 130.5,5.5 - parent: 2 - - uid: 37609 - components: - - type: Transform - pos: 130.5,6.5 - parent: 2 - - uid: 37610 - components: - - type: Transform - pos: 130.5,7.5 - parent: 2 - - uid: 37611 - components: - - type: Transform - pos: 131.5,4.5 - parent: 2 - - uid: 37612 - components: - - type: Transform - pos: 131.5,5.5 - parent: 2 - - uid: 37613 - components: - - type: Transform - pos: 131.5,6.5 - parent: 2 - - uid: 37614 - components: - - type: Transform - pos: 131.5,7.5 - parent: 2 - - uid: 37615 - components: - - type: Transform - pos: 132.5,5.5 - parent: 2 - - uid: 37616 - components: - - type: Transform - pos: 127.5,5.5 - parent: 2 - - uid: 37617 - components: - - type: Transform - pos: 127.5,6.5 - parent: 2 - - uid: 37618 - components: - - type: Transform - pos: 127.5,7.5 - parent: 2 - - uid: 37619 - components: - - type: Transform - pos: 127.5,8.5 - parent: 2 - - uid: 37620 - components: - - type: Transform - pos: 128.5,8.5 - parent: 2 - - uid: 37621 - components: - - type: Transform - pos: 129.5,8.5 - parent: 2 - - uid: 37622 - components: - - type: Transform - pos: 134.5,21.5 - parent: 2 - - uid: 37623 - components: - - type: Transform - pos: 134.5,20.5 - parent: 2 - - uid: 37624 - components: - - type: Transform - pos: 134.5,19.5 - parent: 2 - - uid: 37625 - components: - - type: Transform - pos: 134.5,18.5 - parent: 2 - - uid: 37626 - components: - - type: Transform - pos: 134.5,17.5 - parent: 2 - - uid: 37627 - components: - - type: Transform - pos: 134.5,16.5 - parent: 2 - - uid: 37628 - components: - - type: Transform - pos: 132.5,16.5 - parent: 2 - - uid: 37629 - components: - - type: Transform - pos: 132.5,17.5 - parent: 2 - - uid: 37630 - components: - - type: Transform - pos: 132.5,18.5 - parent: 2 - - uid: 37631 - components: - - type: Transform - pos: 132.5,19.5 - parent: 2 - - uid: 37632 - components: - - type: Transform - pos: 132.5,20.5 - parent: 2 - - uid: 37633 - components: - - type: Transform - pos: 132.5,21.5 - parent: 2 - - uid: 37634 - components: - - type: Transform - pos: 132.5,22.5 - parent: 2 - - uid: 37635 - components: - - type: Transform - pos: 130.5,22.5 - parent: 2 - - uid: 37636 - components: - - type: Transform - pos: 130.5,21.5 - parent: 2 - - uid: 37637 - components: - - type: Transform - pos: 130.5,20.5 - parent: 2 - - uid: 37638 - components: - - type: Transform - pos: 130.5,19.5 - parent: 2 - - uid: 37639 - components: - - type: Transform - pos: 130.5,18.5 - parent: 2 - - uid: 37640 - components: - - type: Transform - pos: 130.5,17.5 - parent: 2 - - uid: 37641 - components: - - type: Transform - pos: 130.5,16.5 - parent: 2 - - uid: 37642 - components: - - type: Transform - pos: 128.5,16.5 - parent: 2 - - uid: 37643 - components: - - type: Transform - pos: 128.5,17.5 - parent: 2 - - uid: 37644 - components: - - type: Transform - pos: 128.5,18.5 - parent: 2 - - uid: 37645 - components: - - type: Transform - pos: 128.5,19.5 - parent: 2 - - uid: 37646 - components: - - type: Transform - pos: 128.5,20.5 - parent: 2 - - uid: 37647 - components: - - type: Transform - pos: 128.5,21.5 - parent: 2 - - uid: 37648 - components: - - type: Transform - pos: 128.5,22.5 - parent: 2 - - uid: 37649 - components: - - type: Transform - pos: 103.5,58.5 - parent: 2 - - uid: 37650 - components: - - type: Transform - pos: 126.5,22.5 - parent: 2 - - uid: 37651 - components: - - type: Transform - pos: 126.5,21.5 - parent: 2 - - uid: 37652 - components: - - type: Transform - pos: 126.5,20.5 - parent: 2 - - uid: 37653 - components: - - type: Transform - pos: 126.5,19.5 - parent: 2 - - uid: 37654 - components: - - type: Transform - pos: 126.5,18.5 - parent: 2 - - uid: 37655 - components: - - type: Transform - pos: 126.5,17.5 - parent: 2 - - uid: 37656 - components: - - type: Transform - pos: 126.5,16.5 - parent: 2 - - uid: 37657 - components: - - type: Transform - pos: 124.5,22.5 - parent: 2 - - uid: 37658 - components: - - type: Transform - pos: 124.5,21.5 - parent: 2 - - uid: 37659 - components: - - type: Transform - pos: 124.5,20.5 - parent: 2 - - uid: 37660 - components: - - type: Transform - pos: 124.5,18.5 - parent: 2 - - uid: 37661 - components: - - type: Transform - pos: 124.5,17.5 - parent: 2 - - uid: 37662 - components: - - type: Transform - pos: 124.5,16.5 - parent: 2 - - uid: 37663 - components: - - type: Transform - pos: 124.5,19.5 - parent: 2 - - uid: 37664 - components: - - type: Transform - pos: 122.5,16.5 - parent: 2 - - uid: 37665 - components: - - type: Transform - pos: 122.5,17.5 - parent: 2 - - uid: 37666 - components: - - type: Transform - pos: 122.5,18.5 - parent: 2 - - uid: 37667 - components: - - type: Transform - pos: 122.5,19.5 - parent: 2 - - uid: 37668 - components: - - type: Transform - pos: 122.5,20.5 - parent: 2 - - uid: 37669 - components: - - type: Transform - pos: 122.5,21.5 - parent: 2 - - uid: 37670 - components: - - type: Transform - pos: 122.5,22.5 - parent: 2 - - uid: 37671 - components: - - type: Transform - pos: 120.5,22.5 - parent: 2 - - uid: 37672 - components: - - type: Transform - pos: 120.5,21.5 - parent: 2 - - uid: 37673 - components: - - type: Transform - pos: 120.5,20.5 - parent: 2 - - uid: 37674 - components: - - type: Transform - pos: 120.5,19.5 - parent: 2 - - uid: 37675 - components: - - type: Transform - pos: 120.5,18.5 - parent: 2 - - uid: 37676 - components: - - type: Transform - pos: 120.5,17.5 - parent: 2 - - uid: 37677 - components: - - type: Transform - pos: 120.5,16.5 - parent: 2 - - uid: 37678 - components: - - type: Transform - pos: 120.5,28.5 - parent: 2 - - uid: 37679 - components: - - type: Transform - pos: 120.5,29.5 - parent: 2 - - uid: 37680 - components: - - type: Transform - pos: 120.5,30.5 - parent: 2 - - uid: 37681 - components: - - type: Transform - pos: 120.5,31.5 - parent: 2 - - uid: 37682 - components: - - type: Transform - pos: 120.5,32.5 - parent: 2 - - uid: 37683 - components: - - type: Transform - pos: 120.5,33.5 - parent: 2 - - uid: 37684 - components: - - type: Transform - pos: 120.5,34.5 - parent: 2 - - uid: 37685 - components: - - type: Transform - pos: 120.5,35.5 - parent: 2 - - uid: 37686 - components: - - type: Transform - pos: 122.5,33.5 - parent: 2 - - uid: 37687 - components: - - type: Transform - pos: 122.5,34.5 - parent: 2 - - uid: 37688 - components: - - type: Transform - pos: 122.5,32.5 - parent: 2 - - uid: 37689 - components: - - type: Transform - pos: 122.5,31.5 - parent: 2 - - uid: 37690 - components: - - type: Transform - pos: 122.5,30.5 - parent: 2 - - uid: 37691 - components: - - type: Transform - pos: 122.5,29.5 - parent: 2 - - uid: 37692 - components: - - type: Transform - pos: 122.5,28.5 - parent: 2 - - uid: 37693 - components: - - type: Transform - pos: 122.5,35.5 - parent: 2 - - uid: 37694 - components: - - type: Transform - pos: 124.5,35.5 - parent: 2 - - uid: 37695 - components: - - type: Transform - pos: 124.5,34.5 - parent: 2 - - uid: 37696 - components: - - type: Transform - pos: 124.5,33.5 - parent: 2 - - uid: 37697 - components: - - type: Transform - pos: 124.5,32.5 - parent: 2 - - uid: 37698 - components: - - type: Transform - pos: 124.5,31.5 - parent: 2 - - uid: 37699 - components: - - type: Transform - pos: 124.5,29.5 - parent: 2 - - uid: 37700 - components: - - type: Transform - pos: 124.5,28.5 - parent: 2 - - uid: 37701 - components: - - type: Transform - pos: 124.5,30.5 - parent: 2 - - uid: 37702 - components: - - type: Transform - pos: 126.5,35.5 - parent: 2 - - uid: 37703 - components: - - type: Transform - pos: 126.5,34.5 - parent: 2 - - uid: 37704 - components: - - type: Transform - pos: 126.5,33.5 - parent: 2 - - uid: 37705 - components: - - type: Transform - pos: 126.5,32.5 - parent: 2 - - uid: 37706 - components: - - type: Transform - pos: 126.5,31.5 - parent: 2 - - uid: 37707 - components: - - type: Transform - pos: 126.5,30.5 - parent: 2 - - uid: 37708 - components: - - type: Transform - pos: 126.5,29.5 - parent: 2 - - uid: 37709 - components: - - type: Transform - pos: 126.5,28.5 - parent: 2 - - uid: 37710 - components: - - type: Transform - pos: 128.5,34.5 - parent: 2 - - uid: 37711 - components: - - type: Transform - pos: 128.5,33.5 - parent: 2 - - uid: 37712 - components: - - type: Transform - pos: 128.5,32.5 - parent: 2 - - uid: 37713 - components: - - type: Transform - pos: 128.5,31.5 - parent: 2 - - uid: 37714 - components: - - type: Transform - pos: 128.5,30.5 - parent: 2 - - uid: 37715 - components: - - type: Transform - pos: 128.5,29.5 - parent: 2 - - uid: 37716 - components: - - type: Transform - pos: 128.5,28.5 - parent: 2 - - uid: 37717 - components: - - type: Transform - pos: 128.5,35.5 - parent: 2 - - uid: 37718 - components: - - type: Transform - pos: 130.5,35.5 - parent: 2 - - uid: 37719 - components: - - type: Transform - pos: 130.5,34.5 - parent: 2 - - uid: 37720 - components: - - type: Transform - pos: 130.5,33.5 - parent: 2 - - uid: 37721 - components: - - type: Transform - pos: 130.5,32.5 - parent: 2 - - uid: 37722 - components: - - type: Transform - pos: 130.5,31.5 - parent: 2 - - uid: 37723 - components: - - type: Transform - pos: 130.5,30.5 - parent: 2 - - uid: 37724 - components: - - type: Transform - pos: 130.5,29.5 - parent: 2 - - uid: 37725 - components: - - type: Transform - pos: 130.5,28.5 - parent: 2 - - uid: 37726 - components: - - type: Transform - pos: 116.5,17.5 - parent: 2 - - uid: 37727 - components: - - type: Transform - pos: 116.5,16.5 - parent: 2 - - uid: 37728 - components: - - type: Transform - pos: 116.5,15.5 - parent: 2 - - uid: 37729 - components: - - type: Transform - pos: 116.5,14.5 - parent: 2 - - uid: 37730 - components: - - type: Transform - pos: 117.5,17.5 - parent: 2 - - uid: 37731 - components: - - type: Transform - pos: 117.5,16.5 - parent: 2 - - uid: 37732 - components: - - type: Transform - pos: 117.5,15.5 - parent: 2 - - uid: 37733 - components: - - type: Transform - pos: 117.5,14.5 - parent: 2 - - uid: 37734 - components: - - type: Transform - pos: 118.5,17.5 - parent: 2 - - uid: 37735 - components: - - type: Transform - pos: 118.5,16.5 - parent: 2 - - uid: 37736 - components: - - type: Transform - pos: 118.5,15.5 - parent: 2 - - uid: 37737 - components: - - type: Transform - pos: 118.5,14.5 - parent: 2 - - uid: 37738 - components: - - type: Transform - pos: 117.5,18.5 - parent: 2 - - uid: 37739 - components: - - type: Transform - pos: 117.5,19.5 - parent: 2 - - uid: 37740 - components: - - type: Transform - pos: 117.5,20.5 - parent: 2 - - uid: 37741 - components: - - type: Transform - pos: 117.5,21.5 - parent: 2 - - uid: 37742 - components: - - type: Transform - pos: 117.5,22.5 - parent: 2 - - uid: 37743 - components: - - type: Transform - pos: 117.5,23.5 - parent: 2 - - uid: 37744 - components: - - type: Transform - pos: 118.5,18.5 - parent: 2 - - uid: 37745 - components: - - type: Transform - pos: 118.5,19.5 - parent: 2 - - uid: 37746 - components: - - type: Transform - pos: 118.5,20.5 - parent: 2 - - uid: 37747 - components: - - type: Transform - pos: 118.5,21.5 - parent: 2 - - uid: 37748 - components: - - type: Transform - pos: 118.5,22.5 - parent: 2 - - uid: 37749 - components: - - type: Transform - pos: 118.5,23.5 - parent: 2 - - uid: 37750 - components: - - type: Transform - pos: 119.5,24.5 - parent: 2 - - uid: 37751 - components: - - type: Transform - pos: 119.5,25.5 - parent: 2 - - uid: 37752 - components: - - type: Transform - pos: 119.5,26.5 - parent: 2 - - uid: 37753 - components: - - type: Transform - pos: 118.5,24.5 - parent: 2 - - uid: 37754 - components: - - type: Transform - pos: 118.5,25.5 - parent: 2 - - uid: 37755 - components: - - type: Transform - pos: 118.5,26.5 - parent: 2 - - uid: 37756 - components: - - type: Transform - pos: 118.5,27.5 - parent: 2 - - uid: 37757 - components: - - type: Transform - pos: 118.5,28.5 - parent: 2 - - uid: 37758 - components: - - type: Transform - pos: 118.5,29.5 - parent: 2 - - uid: 37759 - components: - - type: Transform - pos: 118.5,30.5 - parent: 2 - - uid: 37760 - components: - - type: Transform - pos: 118.5,31.5 - parent: 2 - - uid: 37761 - components: - - type: Transform - pos: 118.5,32.5 - parent: 2 - - uid: 37762 - components: - - type: Transform - pos: 118.5,33.5 - parent: 2 - - uid: 37763 - components: - - type: Transform - pos: 118.5,34.5 - parent: 2 - - uid: 37764 - components: - - type: Transform - pos: 118.5,35.5 - parent: 2 - - uid: 37765 - components: - - type: Transform - pos: 118.5,36.5 - parent: 2 - - uid: 37766 - components: - - type: Transform - pos: 118.5,37.5 - parent: 2 - - uid: 37767 - components: - - type: Transform - pos: 118.5,38.5 - parent: 2 - - uid: 37768 - components: - - type: Transform - pos: 118.5,39.5 - parent: 2 - - uid: 37769 - components: - - type: Transform - pos: 117.5,34.5 - parent: 2 - - uid: 37770 - components: - - type: Transform - pos: 117.5,35.5 - parent: 2 - - uid: 37771 - components: - - type: Transform - pos: 117.5,36.5 - parent: 2 - - uid: 37772 - components: - - type: Transform - pos: 117.5,37.5 - parent: 2 - - uid: 37773 - components: - - type: Transform - pos: 117.5,38.5 - parent: 2 - - uid: 37774 - components: - - type: Transform - pos: 117.5,39.5 - parent: 2 - - uid: 37775 - components: - - type: Transform - pos: 116.5,37.5 - parent: 2 - - uid: 37776 - components: - - type: Transform - pos: 116.5,39.5 - parent: 2 - - uid: 37777 - components: - - type: Transform - pos: 116.5,40.5 - parent: 2 - - uid: 37778 - components: - - type: Transform - pos: 116.5,38.5 - parent: 2 - - uid: 37779 - components: - - type: Transform - pos: 115.5,38.5 - parent: 2 - - uid: 37780 - components: - - type: Transform - pos: 115.5,39.5 - parent: 2 - - uid: 37781 - components: - - type: Transform - pos: 115.5,40.5 - parent: 2 - - uid: 37782 - components: - - type: Transform - pos: 115.5,41.5 - parent: 2 - - uid: 37783 - components: - - type: Transform - pos: 119.5,38.5 - parent: 2 - - uid: 37784 - components: - - type: Transform - pos: 119.5,39.5 - parent: 2 - - uid: 37785 - components: - - type: Transform - pos: 120.5,39.5 - parent: 2 - - uid: 37786 - components: - - type: Transform - pos: 121.5,38.5 - parent: 2 - - uid: 37787 - components: - - type: Transform - pos: 121.5,39.5 - parent: 2 - - uid: 37788 - components: - - type: Transform - pos: 121.5,40.5 - parent: 2 - - uid: 37789 - components: - - type: Transform - pos: 122.5,38.5 - parent: 2 - - uid: 37790 - components: - - type: Transform - pos: 122.5,39.5 - parent: 2 - - uid: 37791 - components: - - type: Transform - pos: 122.5,40.5 - parent: 2 - - uid: 37792 - components: - - type: Transform - pos: 123.5,38.5 - parent: 2 - - uid: 37793 - components: - - type: Transform - pos: 123.5,40.5 - parent: 2 - - uid: 37794 - components: - - type: Transform - pos: 123.5,39.5 - parent: 2 - - uid: 37795 - components: - - type: Transform - pos: 124.5,40.5 - parent: 2 - - uid: 37796 - components: - - type: Transform - pos: 124.5,39.5 - parent: 2 - - uid: 37797 - components: - - type: Transform - pos: 125.5,40.5 - parent: 2 - - uid: 37798 - components: - - type: Transform - pos: 125.5,39.5 - parent: 2 - - uid: 37799 - components: - - type: Transform - pos: 126.5,40.5 - parent: 2 - - uid: 37800 - components: - - type: Transform - pos: 126.5,39.5 - parent: 2 - - uid: 37801 - components: - - type: Transform - pos: 127.5,40.5 - parent: 2 - - uid: 37802 - components: - - type: Transform - pos: 127.5,39.5 - parent: 2 - - uid: 37803 - components: - - type: Transform - pos: 128.5,40.5 - parent: 2 - - uid: 37804 - components: - - type: Transform - pos: 128.5,39.5 - parent: 2 - - uid: 37805 - components: - - type: Transform - pos: 129.5,40.5 - parent: 2 - - uid: 37806 - components: - - type: Transform - pos: 129.5,39.5 - parent: 2 - - uid: 37807 - components: - - type: Transform - pos: 130.5,40.5 - parent: 2 - - uid: 37808 - components: - - type: Transform - pos: 130.5,41.5 - parent: 2 - - uid: 37809 - components: - - type: Transform - pos: 131.5,40.5 - parent: 2 - - uid: 37810 - components: - - type: Transform - pos: 131.5,41.5 - parent: 2 - - uid: 37811 - components: - - type: Transform - pos: 132.5,35.5 - parent: 2 - - uid: 37812 - components: - - type: Transform - pos: 132.5,34.5 - parent: 2 - - uid: 37813 - components: - - type: Transform - pos: 132.5,33.5 - parent: 2 - - uid: 37814 - components: - - type: Transform - pos: 132.5,32.5 - parent: 2 - - uid: 37815 - components: - - type: Transform - pos: 132.5,31.5 - parent: 2 - - uid: 37816 - components: - - type: Transform - pos: 132.5,30.5 - parent: 2 - - uid: 37817 - components: - - type: Transform - pos: 132.5,29.5 - parent: 2 - - uid: 37818 - components: - - type: Transform - pos: 132.5,28.5 - parent: 2 - - uid: 37819 - components: - - type: Transform - pos: 134.5,35.5 - parent: 2 - - uid: 37820 - components: - - type: Transform - pos: 134.5,34.5 - parent: 2 - - uid: 37821 - components: - - type: Transform - pos: 134.5,33.5 - parent: 2 - - uid: 37822 - components: - - type: Transform - pos: 134.5,32.5 - parent: 2 - - uid: 37823 - components: - - type: Transform - pos: 134.5,31.5 - parent: 2 - - uid: 37824 - components: - - type: Transform - pos: 134.5,30.5 - parent: 2 - - uid: 37825 - components: - - type: Transform - pos: 134.5,29.5 - parent: 2 - - uid: 37826 - components: - - type: Transform - pos: 134.5,28.5 - parent: 2 - - uid: 37827 - components: - - type: Transform - pos: 131.5,42.5 - parent: 2 - - uid: 37828 - components: - - type: Transform - pos: 132.5,41.5 - parent: 2 - - uid: 37829 - components: - - type: Transform - pos: 132.5,42.5 - parent: 2 - - uid: 37830 - components: - - type: Transform - pos: 132.5,43.5 - parent: 2 - - uid: 37831 - components: - - type: Transform - pos: 132.5,44.5 - parent: 2 - - uid: 37832 - components: - - type: Transform - pos: 132.5,45.5 - parent: 2 - - uid: 37833 - components: - - type: Transform - pos: 132.5,46.5 - parent: 2 - - uid: 37834 - components: - - type: Transform - pos: 132.5,47.5 - parent: 2 - - uid: 37835 - components: - - type: Transform - pos: 132.5,48.5 - parent: 2 - - uid: 37836 - components: - - type: Transform - pos: 133.5,41.5 - parent: 2 - - uid: 37837 - components: - - type: Transform - pos: 133.5,42.5 - parent: 2 - - uid: 37838 - components: - - type: Transform - pos: 133.5,43.5 - parent: 2 - - uid: 37839 - components: - - type: Transform - pos: 133.5,44.5 - parent: 2 - - uid: 37840 - components: - - type: Transform - pos: 133.5,45.5 - parent: 2 - - uid: 37841 - components: - - type: Transform - pos: 133.5,46.5 - parent: 2 - - uid: 37842 - components: - - type: Transform - pos: 133.5,47.5 - parent: 2 - - uid: 37843 - components: - - type: Transform - pos: 133.5,48.5 - parent: 2 - - uid: 37844 - components: - - type: Transform - pos: 134.5,48.5 - parent: 2 - - uid: 37845 - components: - - type: Transform - pos: 134.5,47.5 - parent: 2 - - uid: 37846 - components: - - type: Transform - pos: 134.5,46.5 - parent: 2 - - uid: 37847 - components: - - type: Transform - pos: 134.5,45.5 - parent: 2 - - uid: 37848 - components: - - type: Transform - pos: 134.5,44.5 - parent: 2 - - uid: 37849 - components: - - type: Transform - pos: 134.5,43.5 - parent: 2 - - uid: 37850 - components: - - type: Transform - pos: 135.5,46.5 - parent: 2 - - uid: 37851 - components: - - type: Transform - pos: 135.5,45.5 - parent: 2 - - uid: 37852 - components: - - type: Transform - pos: 135.5,44.5 - parent: 2 - - uid: 37853 - components: - - type: Transform - pos: 132.5,49.5 - parent: 2 - - uid: 37854 - components: - - type: Transform - pos: 132.5,50.5 - parent: 2 - - uid: 37855 - components: - - type: Transform - pos: 132.5,51.5 - parent: 2 - - uid: 37856 - components: - - type: Transform - pos: 132.5,52.5 - parent: 2 - - uid: 37857 - components: - - type: Transform - pos: 132.5,53.5 - parent: 2 - - uid: 37858 - components: - - type: Transform - pos: 133.5,49.5 - parent: 2 - - uid: 37859 - components: - - type: Transform - pos: 133.5,50.5 - parent: 2 - - uid: 37860 - components: - - type: Transform - pos: 133.5,51.5 - parent: 2 - - uid: 37861 - components: - - type: Transform - pos: 133.5,52.5 - parent: 2 - - uid: 37862 - components: - - type: Transform - pos: 133.5,53.5 - parent: 2 - - uid: 37863 - components: - - type: Transform - pos: 132.5,54.5 - parent: 2 - - uid: 37864 - components: - - type: Transform - pos: 132.5,55.5 - parent: 2 - - uid: 37865 - components: - - type: Transform - pos: 132.5,56.5 - parent: 2 - - uid: 37866 - components: - - type: Transform - pos: 132.5,57.5 - parent: 2 - - uid: 37867 - components: - - type: Transform - pos: 132.5,58.5 - parent: 2 - - uid: 37868 - components: - - type: Transform - pos: 132.5,59.5 - parent: 2 - - uid: 37869 - components: - - type: Transform - pos: 132.5,60.5 - parent: 2 - - uid: 37870 - components: - - type: Transform - pos: 133.5,55.5 - parent: 2 - - uid: 37871 - components: - - type: Transform - pos: 133.5,56.5 - parent: 2 - - uid: 37872 - components: - - type: Transform - pos: 133.5,57.5 - parent: 2 - - uid: 37873 - components: - - type: Transform - pos: 133.5,58.5 - parent: 2 - - uid: 37874 - components: - - type: Transform - pos: 133.5,59.5 - parent: 2 - - uid: 37875 - components: - - type: Transform - pos: 133.5,60.5 - parent: 2 - - uid: 37876 - components: - - type: Transform - pos: 134.5,56.5 - parent: 2 - - uid: 37877 - components: - - type: Transform - pos: 134.5,57.5 - parent: 2 - - uid: 37878 - components: - - type: Transform - pos: 134.5,58.5 - parent: 2 - - uid: 37879 - components: - - type: Transform - pos: 135.5,58.5 - parent: 2 - - uid: 37880 - components: - - type: Transform - pos: 131.5,56.5 - parent: 2 - - uid: 37881 - components: - - type: Transform - pos: 131.5,57.5 - parent: 2 - - uid: 37882 - components: - - type: Transform - pos: 131.5,58.5 - parent: 2 - - uid: 37883 - components: - - type: Transform - pos: 131.5,59.5 - parent: 2 - - uid: 37884 - components: - - type: Transform - pos: 131.5,60.5 - parent: 2 - - uid: 37885 - components: - - type: Transform - pos: 130.5,57.5 - parent: 2 - - uid: 37886 - components: - - type: Transform - pos: 130.5,58.5 - parent: 2 - - uid: 37887 - components: - - type: Transform - pos: 130.5,59.5 - parent: 2 - - uid: 37888 - components: - - type: Transform - pos: 130.5,60.5 - parent: 2 - - uid: 37889 - components: - - type: Transform - pos: 129.5,59.5 - parent: 2 - - uid: 37890 - components: - - type: Transform - pos: 129.5,58.5 - parent: 2 - - uid: 37891 - components: - - type: Transform - pos: 128.5,59.5 - parent: 2 - - uid: 37892 - components: - - type: Transform - pos: 128.5,58.5 - parent: 2 - - uid: 37893 - components: - - type: Transform - pos: 127.5,59.5 - parent: 2 - - uid: 37894 - components: - - type: Transform - pos: 127.5,58.5 - parent: 2 - - uid: 37895 - components: - - type: Transform - pos: 126.5,59.5 - parent: 2 - - uid: 37896 - components: - - type: Transform - pos: 126.5,58.5 - parent: 2 - - uid: 37897 - components: - - type: Transform - pos: 125.5,59.5 - parent: 2 - - uid: 37898 - components: - - type: Transform - pos: 125.5,58.5 - parent: 2 - - uid: 37899 - components: - - type: Transform - pos: 124.5,59.5 - parent: 2 - - uid: 37900 - components: - - type: Transform - pos: 124.5,58.5 - parent: 2 - - uid: 37901 - components: - - type: Transform - pos: 123.5,59.5 - parent: 2 - - uid: 37902 - components: - - type: Transform - pos: 123.5,58.5 - parent: 2 - - uid: 37903 - components: - - type: Transform - pos: 122.5,59.5 - parent: 2 - - uid: 37904 - components: - - type: Transform - pos: 122.5,58.5 - parent: 2 - - uid: 37905 - components: - - type: Transform - pos: 121.5,59.5 - parent: 2 - - uid: 37906 - components: - - type: Transform - pos: 121.5,58.5 - parent: 2 - - uid: 37907 - components: - - type: Transform - pos: 120.5,59.5 - parent: 2 - - uid: 37908 - components: - - type: Transform - pos: 120.5,58.5 - parent: 2 - - uid: 37909 - components: - - type: Transform - pos: 119.5,59.5 - parent: 2 - - uid: 37910 - components: - - type: Transform - pos: 119.5,58.5 - parent: 2 - - uid: 37911 - components: - - type: Transform - pos: 124.5,60.5 - parent: 2 - - uid: 37912 - components: - - type: Transform - pos: 125.5,60.5 - parent: 2 - - uid: 37913 - components: - - type: Transform - pos: 126.5,60.5 - parent: 2 - - uid: 37914 - components: - - type: Transform - pos: 127.5,60.5 - parent: 2 - - uid: 37915 - components: - - type: Transform - pos: 128.5,60.5 - parent: 2 - - uid: 37916 - components: - - type: Transform - pos: 122.5,60.5 - parent: 2 - - uid: 37917 - components: - - type: Transform - pos: 121.5,60.5 - parent: 2 - - uid: 37918 - components: - - type: Transform - pos: 120.5,60.5 - parent: 2 - - uid: 37919 - components: - - type: Transform - pos: 119.5,60.5 - parent: 2 - - uid: 37920 - components: - - type: Transform - pos: 118.5,60.5 - parent: 2 - - uid: 37921 - components: - - type: Transform - pos: 117.5,60.5 - parent: 2 - - uid: 37922 - components: - - type: Transform - pos: 116.5,60.5 - parent: 2 - - uid: 37923 - components: - - type: Transform - pos: 117.5,59.5 - parent: 2 - - uid: 37924 - components: - - type: Transform - pos: 118.5,59.5 - parent: 2 - - uid: 37925 - components: - - type: Transform - pos: 121.5,61.5 - parent: 2 - - uid: 37926 - components: - - type: Transform - pos: 119.5,63.5 - parent: 2 - - uid: 37927 - components: - - type: Transform - pos: 119.5,61.5 - parent: 2 - - uid: 37928 - components: - - type: Transform - pos: 118.5,61.5 - parent: 2 - - uid: 37929 - components: - - type: Transform - pos: 117.5,61.5 - parent: 2 - - uid: 37930 - components: - - type: Transform - pos: 116.5,61.5 - parent: 2 - - uid: 37931 - components: - - type: Transform - pos: 115.5,61.5 - parent: 2 - - uid: 37932 - components: - - type: Transform - pos: 114.5,61.5 - parent: 2 - - uid: 37933 - components: - - type: Transform - pos: 113.5,61.5 - parent: 2 - - uid: 37934 - components: - - type: Transform - pos: 112.5,61.5 - parent: 2 - - uid: 37935 - components: - - type: Transform - pos: 111.5,61.5 - parent: 2 - - uid: 37936 - components: - - type: Transform - pos: 110.5,61.5 - parent: 2 - - uid: 37937 - components: - - type: Transform - pos: 109.5,61.5 - parent: 2 - - uid: 37938 - components: - - type: Transform - pos: 113.5,62.5 - parent: 2 - - uid: 37939 - components: - - type: Transform - pos: 114.5,62.5 - parent: 2 - - uid: 37940 - components: - - type: Transform - pos: 115.5,62.5 - parent: 2 - - uid: 37941 - components: - - type: Transform - pos: 116.5,62.5 - parent: 2 - - uid: 37942 - components: - - type: Transform - pos: 117.5,62.5 - parent: 2 - - uid: 37943 - components: - - type: Transform - pos: 118.5,62.5 - parent: 2 - - uid: 37944 - components: - - type: Transform - pos: 114.5,60.5 - parent: 2 - - uid: 37945 - components: - - type: Transform - pos: 113.5,60.5 - parent: 2 - - uid: 37946 - components: - - type: Transform - pos: 112.5,60.5 - parent: 2 - - uid: 37947 - components: - - type: Transform - pos: 111.5,60.5 - parent: 2 - - uid: 37948 - components: - - type: Transform - pos: 109.5,60.5 - parent: 2 - - uid: 37949 - components: - - type: Transform - pos: 108.5,60.5 - parent: 2 - - uid: 37950 - components: - - type: Transform - pos: 108.5,59.5 - parent: 2 - - uid: 37951 - components: - - type: Transform - pos: 107.5,59.5 - parent: 2 - - uid: 37952 - components: - - type: Transform - pos: 106.5,59.5 - parent: 2 - - uid: 37953 - components: - - type: Transform - pos: 105.5,59.5 - parent: 2 - - uid: 37954 - components: - - type: Transform - pos: 104.5,59.5 - parent: 2 - - uid: 37955 - components: - - type: Transform - pos: 38.5,69.5 - parent: 2 - - uid: 37956 - components: - - type: Transform - pos: 123.5,64.5 - parent: 2 - - uid: 37957 - components: - - type: Transform - pos: 124.5,64.5 - parent: 2 - - uid: 37958 - components: - - type: Transform - pos: 125.5,64.5 - parent: 2 - - uid: 37959 - components: - - type: Transform - pos: 126.5,64.5 - parent: 2 - - uid: 37960 - components: - - type: Transform - pos: 127.5,64.5 - parent: 2 - - uid: 37961 - components: - - type: Transform - pos: 128.5,64.5 - parent: 2 - - uid: 37962 - components: - - type: Transform - pos: 129.5,64.5 - parent: 2 - - uid: 37963 - components: - - type: Transform - pos: 130.5,64.5 - parent: 2 - - uid: 37964 - components: - - type: Transform - pos: 122.5,64.5 - parent: 2 - - uid: 37965 - components: - - type: Transform - pos: 129.5,63.5 - parent: 2 - - uid: 37966 - components: - - type: Transform - pos: 128.5,63.5 - parent: 2 - - uid: 37967 - components: - - type: Transform - pos: 127.5,63.5 - parent: 2 - - uid: 37968 - components: - - type: Transform - pos: 126.5,63.5 - parent: 2 - - uid: 37969 - components: - - type: Transform - pos: 125.5,63.5 - parent: 2 - - uid: 37970 - components: - - type: Transform - pos: 124.5,63.5 - parent: 2 - - uid: 37971 - components: - - type: Transform - pos: 123.5,63.5 - parent: 2 - - uid: 37972 - components: - - type: Transform - pos: 38.5,68.5 - parent: 2 - - uid: 37973 - components: - - type: Transform - pos: 39.5,69.5 - parent: 2 - - uid: 37974 - components: - - type: Transform - pos: 39.5,68.5 - parent: 2 - - uid: 37975 - components: - - type: Transform - pos: 40.5,68.5 - parent: 2 - - uid: 37976 - components: - - type: Transform - pos: 40.5,67.5 - parent: 2 - - uid: 37977 - components: - - type: Transform - pos: 41.5,69.5 - parent: 2 - - uid: 37978 - components: - - type: Transform - pos: 41.5,68.5 - parent: 2 - - uid: 37979 - components: - - type: Transform - pos: 42.5,69.5 - parent: 2 - - uid: 37980 - components: - - type: Transform - pos: 42.5,68.5 - parent: 2 - - uid: 37981 - components: - - type: Transform - pos: 43.5,69.5 - parent: 2 - - uid: 37982 - components: - - type: Transform - pos: 43.5,68.5 - parent: 2 - - uid: 37983 - components: - - type: Transform - pos: 44.5,68.5 - parent: 2 - - uid: 37984 - components: - - type: Transform - pos: 44.5,67.5 - parent: 2 - - uid: 37985 - components: - - type: Transform - pos: 45.5,68.5 - parent: 2 - - uid: 37986 - components: - - type: Transform - pos: 45.5,67.5 - parent: 2 - - uid: 37987 - components: - - type: Transform - pos: 46.5,68.5 - parent: 2 - - uid: 37988 - components: - - type: Transform - pos: 46.5,67.5 - parent: 2 - - uid: 37989 - components: - - type: Transform - pos: -0.5,79.5 - parent: 2 - - uid: 37990 - components: - - type: Transform - pos: 37.5,70.5 - parent: 2 - - uid: 37991 - components: - - type: Transform - pos: 33.5,71.5 - parent: 2 - - uid: 37992 - components: - - type: Transform - pos: 34.5,71.5 - parent: 2 - - uid: 37993 - components: - - type: Transform - pos: 31.5,72.5 - parent: 2 - - uid: 37994 - components: - - type: Transform - pos: 28.5,73.5 - parent: 2 - - uid: 37995 - components: - - type: Transform - pos: 27.5,73.5 - parent: 2 - - uid: 37996 - components: - - type: Transform - pos: 26.5,73.5 - parent: 2 - - uid: 37997 - components: - - type: Transform - pos: 25.5,73.5 - parent: 2 - - uid: 37998 - components: - - type: Transform - pos: 24.5,73.5 - parent: 2 - - uid: 37999 - components: - - type: Transform - pos: 23.5,73.5 - parent: 2 - - uid: 38000 - components: - - type: Transform - pos: 22.5,73.5 - parent: 2 - - uid: 38001 - components: - - type: Transform - pos: 21.5,73.5 - parent: 2 - - uid: 38002 - components: - - type: Transform - pos: 21.5,74.5 - parent: 2 - - uid: 38003 - components: - - type: Transform - pos: 22.5,74.5 - parent: 2 - - uid: 38004 - components: - - type: Transform - pos: 23.5,74.5 - parent: 2 - - uid: 38005 - components: - - type: Transform - pos: 24.5,74.5 - parent: 2 - - uid: 38006 - components: - - type: Transform - pos: 25.5,74.5 - parent: 2 - - uid: 38007 - components: - - type: Transform - pos: 26.5,74.5 - parent: 2 - - uid: 38008 - components: - - type: Transform - pos: 27.5,74.5 - parent: 2 - - uid: 38009 - components: - - type: Transform - pos: 25.5,75.5 - parent: 2 - - uid: 38010 - components: - - type: Transform - pos: 24.5,75.5 - parent: 2 - - uid: 38011 - components: - - type: Transform - pos: 23.5,75.5 - parent: 2 - - uid: 38012 - components: - - type: Transform - pos: 22.5,75.5 - parent: 2 - - uid: 38013 - components: - - type: Transform - pos: 21.5,75.5 - parent: 2 - - uid: 38014 - components: - - type: Transform - pos: 20.5,75.5 - parent: 2 - - uid: 38015 - components: - - type: Transform - pos: 19.5,75.5 - parent: 2 - - uid: 38016 - components: - - type: Transform - pos: 18.5,75.5 - parent: 2 - - uid: 38017 - components: - - type: Transform - pos: 17.5,75.5 - parent: 2 - - uid: 38018 - components: - - type: Transform - pos: 16.5,75.5 - parent: 2 - - uid: 38019 - components: - - type: Transform - pos: 17.5,74.5 - parent: 2 - - uid: 38020 - components: - - type: Transform - pos: 18.5,74.5 - parent: 2 - - uid: 38021 - components: - - type: Transform - pos: 19.5,74.5 - parent: 2 - - uid: 38022 - components: - - type: Transform - pos: 20.5,74.5 - parent: 2 - - uid: 38023 - components: - - type: Transform - pos: 23.5,76.5 - parent: 2 - - uid: 38024 - components: - - type: Transform - pos: 21.5,76.5 - parent: 2 - - uid: 38025 - components: - - type: Transform - pos: 20.5,76.5 - parent: 2 - - uid: 38026 - components: - - type: Transform - pos: 19.5,76.5 - parent: 2 - - uid: 38027 - components: - - type: Transform - pos: 18.5,76.5 - parent: 2 - - uid: 38028 - components: - - type: Transform - pos: 17.5,76.5 - parent: 2 - - uid: 38029 - components: - - type: Transform - pos: 16.5,76.5 - parent: 2 - - uid: 38030 - components: - - type: Transform - pos: 15.5,76.5 - parent: 2 - - uid: 38031 - components: - - type: Transform - pos: 14.5,76.5 - parent: 2 - - uid: 38032 - components: - - type: Transform - pos: 13.5,77.5 - parent: 2 - - uid: 38033 - components: - - type: Transform - pos: 14.5,77.5 - parent: 2 - - uid: 38034 - components: - - type: Transform - pos: 15.5,77.5 - parent: 2 - - uid: 38035 - components: - - type: Transform - pos: 16.5,77.5 - parent: 2 - - uid: 38036 - components: - - type: Transform - pos: 17.5,77.5 - parent: 2 - - uid: 38037 - components: - - type: Transform - pos: 18.5,77.5 - parent: 2 - - uid: 38038 - components: - - type: Transform - pos: 19.5,77.5 - parent: 2 - - uid: 38039 - components: - - type: Transform - pos: 17.5,78.5 - parent: 2 - - uid: 38040 - components: - - type: Transform - pos: 16.5,78.5 - parent: 2 - - uid: 38041 - components: - - type: Transform - pos: 14.5,78.5 - parent: 2 - - uid: 38042 - components: - - type: Transform - pos: 13.5,78.5 - parent: 2 - - uid: 38043 - components: - - type: Transform - pos: 12.5,78.5 - parent: 2 - - uid: 38044 - components: - - type: Transform - pos: 15.5,78.5 - parent: 2 - - uid: 38045 - components: - - type: Transform - pos: 14.5,79.5 - parent: 2 - - uid: 38046 - components: - - type: Transform - pos: 13.5,79.5 - parent: 2 - - uid: 38047 - components: - - type: Transform - pos: 12.5,79.5 - parent: 2 - - uid: 38048 - components: - - type: Transform - pos: 11.5,79.5 - parent: 2 - - uid: 38049 - components: - - type: Transform - pos: 10.5,79.5 - parent: 2 - - uid: 38050 - components: - - type: Transform - pos: 9.5,79.5 - parent: 2 - - uid: 38051 - components: - - type: Transform - pos: 8.5,80.5 - parent: 2 - - uid: 38052 - components: - - type: Transform - pos: 9.5,80.5 - parent: 2 - - uid: 38053 - components: - - type: Transform - pos: 10.5,80.5 - parent: 2 - - uid: 38054 - components: - - type: Transform - pos: 11.5,80.5 - parent: 2 - - uid: 38055 - components: - - type: Transform - pos: 12.5,80.5 - parent: 2 - - uid: 38056 - components: - - type: Transform - pos: 13.5,80.5 - parent: 2 - - uid: 38057 - components: - - type: Transform - pos: 12.5,81.5 - parent: 2 - - uid: 38058 - components: - - type: Transform - pos: 11.5,81.5 - parent: 2 - - uid: 38059 - components: - - type: Transform - pos: 10.5,81.5 - parent: 2 - - uid: 38060 - components: - - type: Transform - pos: 9.5,81.5 - parent: 2 - - uid: 38061 - components: - - type: Transform - pos: 8.5,81.5 - parent: 2 - - uid: 38062 - components: - - type: Transform - pos: 7.5,81.5 - parent: 2 - - uid: 38063 - components: - - type: Transform - pos: 9.5,82.5 - parent: 2 - - uid: 38064 - components: - - type: Transform - pos: 8.5,82.5 - parent: 2 - - uid: 38065 - components: - - type: Transform - pos: 7.5,82.5 - parent: 2 - - uid: 38066 - components: - - type: Transform - pos: 6.5,82.5 - parent: 2 - - uid: 38067 - components: - - type: Transform - pos: 5.5,82.5 - parent: 2 - - uid: 38068 - components: - - type: Transform - pos: 4.5,82.5 - parent: 2 - - uid: 38069 - components: - - type: Transform - pos: 3.5,82.5 - parent: 2 - - uid: 38070 - components: - - type: Transform - pos: 2.5,82.5 - parent: 2 - - uid: 38071 - components: - - type: Transform - pos: 3.5,83.5 - parent: 2 - - uid: 38072 - components: - - type: Transform - pos: 4.5,83.5 - parent: 2 - - uid: 38073 - components: - - type: Transform - pos: 6.5,83.5 - parent: 2 - - uid: 38074 - components: - - type: Transform - pos: 7.5,83.5 - parent: 2 - - uid: 38075 - components: - - type: Transform - pos: 4.5,81.5 - parent: 2 - - uid: 38076 - components: - - type: Transform - pos: 3.5,81.5 - parent: 2 - - uid: 38077 - components: - - type: Transform - pos: 2.5,81.5 - parent: 2 - - uid: 38078 - components: - - type: Transform - pos: 1.5,81.5 - parent: 2 - - uid: 38079 - components: - - type: Transform - pos: 2.5,80.5 - parent: 2 - - uid: 38080 - components: - - type: Transform - pos: 1.5,80.5 - parent: 2 - - uid: 38081 - components: - - type: Transform - pos: -1.5,77.5 - parent: 2 - - uid: 38082 - components: - - type: Transform - pos: -8.5,77.5 - parent: 2 - - uid: 38083 - components: - - type: Transform - pos: -9.5,77.5 - parent: 2 - - uid: 38084 - components: - - type: Transform - pos: -10.5,77.5 - parent: 2 - - uid: 38085 - components: - - type: Transform - pos: -11.5,77.5 - parent: 2 - - uid: 38086 - components: - - type: Transform - pos: -12.5,78.5 - parent: 2 - - uid: 38087 - components: - - type: Transform - pos: -13.5,78.5 - parent: 2 - - uid: 38088 - components: - - type: Transform - pos: -14.5,78.5 - parent: 2 - - uid: 38089 - components: - - type: Transform - pos: -15.5,78.5 - parent: 2 - - uid: 38090 - components: - - type: Transform - pos: -16.5,78.5 - parent: 2 - - uid: 38091 - components: - - type: Transform - pos: -17.5,78.5 - parent: 2 - - uid: 38092 - components: - - type: Transform - pos: -18.5,78.5 - parent: 2 - - uid: 38093 - components: - - type: Transform - pos: -19.5,78.5 - parent: 2 - - uid: 38094 - components: - - type: Transform - pos: -23.5,80.5 - parent: 2 - - uid: 38095 - components: - - type: Transform - pos: -23.5,79.5 - parent: 2 - - uid: 38096 - components: - - type: Transform - pos: -22.5,80.5 - parent: 2 - - uid: 38097 - components: - - type: Transform - pos: -22.5,79.5 - parent: 2 - - uid: 38098 - components: - - type: Transform - pos: -21.5,80.5 - parent: 2 - - uid: 38099 - components: - - type: Transform - pos: -21.5,79.5 - parent: 2 - - uid: 38100 - components: - - type: Transform - pos: -20.5,80.5 - parent: 2 - - uid: 38101 - components: - - type: Transform - pos: -19.5,80.5 - parent: 2 - - uid: 38102 - components: - - type: Transform - pos: -19.5,79.5 - parent: 2 - - uid: 38103 - components: - - type: Transform - pos: -20.5,79.5 - parent: 2 - - uid: 38104 - components: - - type: Transform - pos: -18.5,79.5 - parent: 2 - - uid: 38105 - components: - - type: Transform - pos: -17.5,79.5 - parent: 2 - - uid: 38106 - components: - - type: Transform - pos: -16.5,79.5 - parent: 2 - - uid: 38107 - components: - - type: Transform - pos: -24.5,79.5 - parent: 2 - - uid: 38108 - components: - - type: Transform - pos: -24.5,78.5 - parent: 2 - - uid: 38109 - components: - - type: Transform - pos: -25.5,78.5 - parent: 2 - - uid: 38110 - components: - - type: Transform - pos: -25.5,77.5 - parent: 2 - - uid: 38111 - components: - - type: Transform - pos: -26.5,77.5 - parent: 2 - - uid: 38112 - components: - - type: Transform - pos: -27.5,77.5 - parent: 2 - - uid: 38113 - components: - - type: Transform - pos: -28.5,77.5 - parent: 2 - - uid: 38114 - components: - - type: Transform - pos: -29.5,77.5 - parent: 2 - - uid: 38115 - components: - - type: Transform - pos: -48.5,71.5 - parent: 2 - - uid: 38116 - components: - - type: Transform - pos: -30.5,78.5 - parent: 2 - - uid: 38117 - components: - - type: Transform - pos: -31.5,78.5 - parent: 2 - - uid: 38118 - components: - - type: Transform - pos: -32.5,78.5 - parent: 2 - - uid: 38119 - components: - - type: Transform - pos: -33.5,77.5 - parent: 2 - - uid: 38120 - components: - - type: Transform - pos: -34.5,77.5 - parent: 2 - - uid: 38121 - components: - - type: Transform - pos: -32.5,77.5 - parent: 2 - - uid: 38122 - components: - - type: Transform - pos: -33.5,76.5 - parent: 2 - - uid: 38123 - components: - - type: Transform - pos: -34.5,76.5 - parent: 2 - - uid: 38124 - components: - - type: Transform - pos: -35.5,76.5 - parent: 2 - - uid: 38125 - components: - - type: Transform - pos: -34.5,75.5 - parent: 2 - - uid: 38126 - components: - - type: Transform - pos: -34.5,74.5 - parent: 2 - - uid: 38127 - components: - - type: Transform - pos: -34.5,73.5 - parent: 2 - - uid: 38128 - components: - - type: Transform - pos: -35.5,75.5 - parent: 2 - - uid: 38129 - components: - - type: Transform - pos: -35.5,74.5 - parent: 2 - - uid: 38130 - components: - - type: Transform - pos: -35.5,73.5 - parent: 2 - - uid: 38131 - components: - - type: Transform - pos: -35.5,72.5 - parent: 2 - - uid: 38132 - components: - - type: Transform - pos: -36.5,72.5 - parent: 2 - - uid: 38133 + - uid: 1942 components: - type: Transform - pos: -37.5,72.5 + pos: 64.5,-57.5 parent: 2 - - uid: 38134 + - uid: 1943 components: - type: Transform - pos: -38.5,72.5 + pos: 65.5,-56.5 parent: 2 - - uid: 38135 + - uid: 1944 components: - type: Transform - pos: -39.5,72.5 + pos: 64.5,-56.5 parent: 2 - - uid: 38136 + - uid: 1945 components: - type: Transform - pos: -40.5,72.5 + pos: 63.5,-56.5 parent: 2 - - uid: 38137 + - uid: 1946 components: - type: Transform - pos: -41.5,72.5 + pos: 61.5,-58.5 parent: 2 - - uid: 38138 + - uid: 1947 components: - type: Transform - pos: -42.5,72.5 + pos: 62.5,-56.5 parent: 2 - - uid: 38139 + - uid: 1948 components: - type: Transform - pos: -36.5,74.5 + pos: 60.5,-56.5 parent: 2 - - uid: 38140 + - uid: 1949 components: - type: Transform - pos: -36.5,73.5 + pos: 60.5,-57.5 parent: 2 - - uid: 38141 + - uid: 1950 components: - type: Transform - pos: -37.5,73.5 + pos: 129.5,1.5 parent: 2 - - uid: 38142 + - uid: 1951 components: - type: Transform - pos: -40.5,76.5 + pos: 129.5,2.5 parent: 2 - - uid: 38143 + - uid: 1952 components: - type: Transform - pos: -40.5,77.5 + pos: 128.5,2.5 parent: 2 - - uid: 38144 + - uid: 1953 components: - type: Transform - pos: -40.5,78.5 + pos: 128.5,1.5 parent: 2 - - uid: 38145 + - uid: 1954 components: - type: Transform - pos: -40.5,79.5 + pos: 128.5,0.5 parent: 2 - - uid: 38146 + - uid: 1955 components: - type: Transform - pos: -39.5,75.5 + pos: 61.5,-57.5 parent: 2 - - uid: 38147 + - uid: 1956 components: - type: Transform - pos: -39.5,76.5 + pos: 63.5,-57.5 parent: 2 - - uid: 38148 +- proto: AtmosDeviceFanDirectional + entities: + - uid: 1957 components: - type: Transform - pos: -39.5,77.5 + rot: -1.5707963267948966 rad + pos: -7.5,28.5 parent: 2 - - uid: 38149 + - uid: 1958 components: - type: Transform - pos: -39.5,78.5 + pos: -6.5,25.5 parent: 2 - - uid: 38150 + - uid: 1959 components: - type: Transform - pos: -39.5,79.5 + pos: -37.5,-10.5 parent: 2 - - uid: 38151 + - uid: 1960 components: - type: Transform - pos: -40.5,75.5 + rot: -1.5707963267948966 rad + pos: -41.5,32.5 parent: 2 - - uid: 38152 + - uid: 1961 components: - type: Transform - pos: -38.5,76.5 + rot: -1.5707963267948966 rad + pos: -41.5,34.5 parent: 2 - - uid: 38153 + - uid: 1962 components: - type: Transform - pos: -38.5,77.5 + rot: -1.5707963267948966 rad + pos: -41.5,40.5 parent: 2 - - uid: 38154 + - uid: 1963 components: - type: Transform - pos: -38.5,78.5 + rot: -1.5707963267948966 rad + pos: -41.5,42.5 parent: 2 - - uid: 38155 + - uid: 1964 components: - type: Transform - pos: -38.5,79.5 + rot: 3.141592653589793 rad + pos: -4.5,76.5 parent: 2 - - uid: 38156 + - uid: 1965 components: - type: Transform - pos: -38.5,80.5 + rot: -1.5707963267948966 rad + pos: 1.5,-37.5 parent: 2 - - uid: 38157 + - uid: 1966 components: - type: Transform - pos: -38.5,81.5 + rot: -1.5707963267948966 rad + pos: 1.5,-35.5 parent: 2 - - uid: 38158 + - uid: 1967 components: - type: Transform - pos: -38.5,82.5 + rot: -1.5707963267948966 rad + pos: -43.5,-32.5 parent: 2 - - uid: 38159 + - uid: 1968 components: - type: Transform - pos: -39.5,80.5 + rot: -1.5707963267948966 rad + pos: -43.5,-39.5 parent: 2 - - uid: 38160 + - uid: 1969 components: - type: Transform - pos: -37.5,78.5 + rot: 3.141592653589793 rad + pos: -37.5,-20.5 parent: 2 - - uid: 38161 + - uid: 1970 components: - type: Transform - pos: -37.5,79.5 + pos: -30.5,-10.5 parent: 2 - - uid: 38162 + - uid: 1971 components: - type: Transform - pos: -41.5,76.5 + rot: 3.141592653589793 rad + pos: -30.5,-20.5 parent: 2 - - uid: 38163 + - uid: 1972 components: - type: Transform - pos: -37.5,83.5 + pos: -33.5,-30.5 parent: 2 - - uid: 38164 + - uid: 1973 components: - type: Transform - pos: -37.5,82.5 + rot: 1.5707963267948966 rad + pos: 95.5,61.5 parent: 2 - - uid: 38165 + - uid: 1974 components: - type: Transform - pos: -37.5,81.5 + rot: 1.5707963267948966 rad + pos: 95.5,66.5 parent: 2 - - uid: 38166 + - uid: 1975 components: - type: Transform - pos: -38.5,71.5 + pos: -28.5,-30.5 parent: 2 - - uid: 38167 +- proto: AtmosFixBlockerMarker + entities: + - uid: 1976 components: - type: Transform - pos: -39.5,71.5 + pos: -42.5,-20.5 parent: 2 - - uid: 38168 + - uid: 1977 components: - type: Transform - pos: -40.5,71.5 + pos: -42.5,-22.5 parent: 2 - - uid: 38169 + - uid: 1978 components: - type: Transform - pos: -41.5,71.5 + pos: -43.5,-21.5 parent: 2 - - uid: 38170 + - uid: 1979 components: - type: Transform - pos: -42.5,71.5 + pos: -43.5,-22.5 parent: 2 - - uid: 38171 + - uid: 1980 components: - type: Transform - pos: -43.5,71.5 + pos: -33.5,-20.5 parent: 2 - - uid: 38172 + - uid: 1981 components: - type: Transform - pos: -44.5,71.5 + pos: -32.5,-20.5 parent: 2 - - uid: 38173 + - uid: 1982 components: - type: Transform - pos: -40.5,70.5 + pos: -28.5,-20.5 parent: 2 - - uid: 38174 + - uid: 1983 components: - type: Transform - pos: -41.5,70.5 + pos: -27.5,-20.5 parent: 2 - - uid: 38175 + - uid: 1984 components: - type: Transform - pos: -42.5,70.5 + pos: -40.5,-20.5 parent: 2 - - uid: 38176 + - uid: 1985 components: - type: Transform - pos: -43.5,70.5 + pos: -40.5,-21.5 parent: 2 - - uid: 38177 + - uid: 1986 components: - type: Transform - pos: -44.5,70.5 + pos: -40.5,-22.5 parent: 2 - - uid: 38178 + - uid: 1987 components: - type: Transform - pos: -45.5,70.5 + pos: -35.5,-20.5 parent: 2 - - uid: 38179 + - uid: 1988 components: - type: Transform - pos: -46.5,70.5 + pos: -26.5,-20.5 parent: 2 - - uid: 38180 + - uid: 1989 components: - type: Transform - pos: -47.5,70.5 + pos: -25.5,-19.5 parent: 2 - - uid: 38181 + - uid: 1990 components: - type: Transform - pos: -47.5,69.5 + pos: -25.5,-15.5 parent: 2 - - uid: 38182 + - uid: 1991 components: - type: Transform - pos: -46.5,69.5 + pos: -25.5,-13.5 parent: 2 - - uid: 38183 + - uid: 1992 components: - type: Transform - pos: -45.5,69.5 + pos: -25.5,-17.5 parent: 2 - - uid: 38184 + - uid: 1993 components: - type: Transform - pos: -48.5,72.5 + pos: -45.5,-10.5 parent: 2 - - uid: 38185 + - uid: 1994 components: - type: Transform - pos: -48.5,73.5 + pos: -45.5,-9.5 parent: 2 - - uid: 38186 + - uid: 1995 components: - type: Transform - pos: -48.5,74.5 + pos: -45.5,-8.5 parent: 2 - - uid: 38187 + - uid: 1996 components: - type: Transform - pos: -47.5,71.5 + pos: -44.5,-9.5 parent: 2 - - uid: 38188 + - uid: 1997 components: - type: Transform - pos: -47.5,72.5 + pos: -44.5,-8.5 parent: 2 - - uid: 38189 + - uid: 1998 components: - type: Transform - pos: -47.5,73.5 + pos: -43.5,-10.5 parent: 2 - - uid: 38190 + - uid: 1999 components: - type: Transform - pos: -47.5,74.5 + pos: -44.5,-10.5 parent: 2 - - uid: 38191 + - uid: 2000 components: - type: Transform - pos: -46.5,71.5 + pos: -43.5,-9.5 parent: 2 - - uid: 38192 + - uid: 2001 components: - type: Transform - pos: -46.5,72.5 + pos: -45.5,-14.5 parent: 2 - - uid: 38193 + - uid: 2002 components: - type: Transform - pos: -46.5,73.5 + pos: -42.5,-9.5 parent: 2 - - uid: 38194 + - uid: 2003 components: - type: Transform - pos: -46.5,74.5 + pos: -42.5,-8.5 parent: 2 - - uid: 38195 + - uid: 2004 components: - type: Transform - pos: -40.5,30.5 + pos: -45.5,-11.5 parent: 2 - - uid: 38196 + - uid: 2005 components: - type: Transform - pos: -46.5,75.5 + pos: -44.5,-22.5 parent: 2 - - uid: 38197 + - uid: 2006 components: - type: Transform - pos: -46.5,76.5 + pos: -43.5,-20.5 parent: 2 - - uid: 38198 + - uid: 2007 components: - type: Transform - pos: -46.5,77.5 + pos: -42.5,-21.5 parent: 2 - - uid: 38199 + - uid: 2008 components: - type: Transform - pos: -46.5,78.5 + pos: -25.5,-16.5 parent: 2 - - uid: 38200 + - uid: 2009 components: - type: Transform - pos: -46.5,79.5 + pos: -25.5,-12.5 parent: 2 - - uid: 38201 + - uid: 2010 components: - type: Transform - pos: -47.5,75.5 + pos: -25.5,-14.5 parent: 2 - - uid: 38202 + - uid: 2011 components: - type: Transform - pos: -47.5,76.5 + pos: -25.5,-18.5 parent: 2 - - uid: 38203 + - uid: 2012 components: - type: Transform - pos: -47.5,77.5 + pos: -25.5,-20.5 parent: 2 - - uid: 38204 + - uid: 2013 components: - type: Transform - pos: -47.5,78.5 + pos: -34.5,-20.5 parent: 2 - - uid: 38205 + - uid: 2014 components: - type: Transform - pos: -47.5,79.5 + pos: -36.5,-20.5 parent: 2 - - uid: 38206 + - uid: 2015 components: - type: Transform - pos: -48.5,77.5 + pos: -41.5,-20.5 parent: 2 - - uid: 38207 + - uid: 2016 components: - type: Transform - pos: -44.5,79.5 + pos: -41.5,-21.5 parent: 2 - - uid: 38208 + - uid: 2017 components: - type: Transform - pos: -43.5,81.5 + pos: -41.5,-22.5 parent: 2 - - uid: 38209 + - uid: 2018 components: - type: Transform - pos: -44.5,80.5 + pos: -25.5,-11.5 parent: 2 - - uid: 38210 + - uid: 2019 components: - type: Transform - pos: -44.5,81.5 + pos: -25.5,-10.5 parent: 2 - - uid: 38211 + - uid: 2020 components: - type: Transform - pos: -45.5,80.5 + pos: -41.5,-10.5 parent: 2 - - uid: 38212 + - uid: 2021 components: - type: Transform - pos: -45.5,81.5 + pos: -43.5,-8.5 parent: 2 - - uid: 38213 + - uid: 2022 components: - type: Transform - pos: -46.5,80.5 + pos: -42.5,-10.5 parent: 2 - - uid: 38214 + - uid: 2023 components: - type: Transform - pos: -46.5,81.5 + pos: -41.5,-8.5 parent: 2 - - uid: 38215 + - uid: 2024 components: - type: Transform - pos: -43.5,80.5 + pos: -40.5,-10.5 parent: 2 - - uid: 38216 + - uid: 2025 components: - type: Transform - pos: -46.5,82.5 + pos: -40.5,-9.5 parent: 2 - - uid: 38217 + - uid: 2026 components: - type: Transform - pos: -45.5,82.5 + pos: -40.5,-8.5 parent: 2 - - uid: 38218 + - uid: 2027 components: - type: Transform - pos: -44.5,82.5 + pos: -26.5,-10.5 parent: 2 - - uid: 38219 + - uid: 2028 components: - type: Transform - pos: -45.5,83.5 + pos: -32.5,-10.5 parent: 2 - - uid: 38220 + - uid: 2029 components: - type: Transform - pos: -45.5,84.5 + pos: -35.5,-10.5 parent: 2 - - uid: 38221 + - uid: 2030 components: - type: Transform - pos: -45.5,85.5 + pos: -36.5,-10.5 parent: 2 - - uid: 38222 + - uid: 2031 components: - type: Transform - pos: -44.5,85.5 + pos: -27.5,-10.5 parent: 2 - - uid: 38223 + - uid: 2032 components: - type: Transform - pos: -44.5,84.5 + pos: -44.5,-7.5 parent: 2 - - uid: 38224 + - uid: 2033 components: - type: Transform - pos: -43.5,85.5 + pos: -41.5,-9.5 parent: 2 - - uid: 38225 + - uid: 2034 components: - type: Transform - pos: -43.5,84.5 + pos: -42.5,-6.5 parent: 2 - - uid: 38226 + - uid: 2035 components: - type: Transform - pos: -42.5,85.5 + pos: -45.5,-6.5 parent: 2 - - uid: 38227 + - uid: 2036 components: - type: Transform - pos: -42.5,86.5 + pos: -34.5,-10.5 parent: 2 - - uid: 38228 + - uid: 2037 components: - type: Transform - pos: -42.5,87.5 + pos: -33.5,-10.5 parent: 2 - - uid: 38229 + - uid: 2038 components: - type: Transform - pos: -38.5,87.5 + pos: -45.5,-16.5 parent: 2 - - uid: 38230 + - uid: 2039 components: - type: Transform - pos: -39.5,87.5 + pos: -45.5,-5.5 parent: 2 - - uid: 38231 + - uid: 2040 components: - type: Transform - pos: -40.5,87.5 + pos: -42.5,-5.5 parent: 2 - - uid: 38232 + - uid: 2041 components: - type: Transform - pos: -40.5,86.5 + pos: -45.5,-15.5 parent: 2 - - uid: 38233 + - uid: 2042 components: - type: Transform - pos: -41.5,87.5 + pos: -45.5,-18.5 parent: 2 - - uid: 38234 + - uid: 2043 components: - type: Transform - pos: -41.5,86.5 + pos: -44.5,-6.5 parent: 2 - - uid: 38235 + - uid: 2044 components: - type: Transform - pos: -43.5,69.5 + pos: -44.5,-5.5 parent: 2 - - uid: 38236 + - uid: 2045 components: - type: Transform - pos: -42.5,69.5 + pos: -43.5,-7.5 parent: 2 - - uid: 38237 + - uid: 2046 components: - type: Transform - pos: -41.5,69.5 + pos: -45.5,-12.5 parent: 2 - - uid: 38238 + - uid: 2047 components: - type: Transform - pos: -40.5,69.5 + pos: -45.5,-13.5 parent: 2 - - uid: 38239 + - uid: 2048 components: - type: Transform - pos: -40.5,68.5 + pos: -43.5,-6.5 parent: 2 - - uid: 38240 + - uid: 2049 components: - type: Transform - pos: -41.5,68.5 + pos: -43.5,-5.5 parent: 2 - - uid: 38241 + - uid: 2050 components: - type: Transform - pos: -42.5,68.5 + pos: -42.5,-7.5 parent: 2 - - uid: 38242 + - uid: 2051 components: - type: Transform - pos: -40.5,67.5 + pos: -45.5,-19.5 parent: 2 - - uid: 38243 + - uid: 2052 components: - type: Transform - pos: -41.5,67.5 + pos: -45.5,-20.5 parent: 2 - - uid: 38244 + - uid: 2053 components: - type: Transform - pos: -42.5,67.5 + pos: -45.5,-21.5 parent: 2 - - uid: 38245 + - uid: 2054 components: - type: Transform - pos: -42.5,66.5 + pos: -45.5,-22.5 parent: 2 - - uid: 38246 + - uid: 2055 components: - type: Transform - pos: -42.5,65.5 + pos: -44.5,-20.5 parent: 2 - - uid: 38247 + - uid: 2056 components: - type: Transform - pos: -42.5,63.5 + pos: -44.5,-21.5 parent: 2 - - uid: 38248 + - uid: 2057 components: - type: Transform - pos: -42.5,64.5 + pos: -41.5,-7.5 parent: 2 - - uid: 38249 + - uid: 2058 components: - type: Transform - pos: -40.5,29.5 + pos: -41.5,-6.5 parent: 2 - - uid: 38250 + - uid: 2059 components: - type: Transform - pos: -39.5,30.5 + pos: -41.5,-5.5 parent: 2 - - uid: 38251 + - uid: 2060 components: - type: Transform - pos: -39.5,29.5 + pos: -40.5,-6.5 parent: 2 - - uid: 38252 + - uid: 2061 components: - type: Transform - pos: -39.5,28.5 + pos: -40.5,-5.5 parent: 2 - - uid: 38253 + - uid: 2062 components: - type: Transform - pos: -39.5,27.5 + pos: -45.5,-17.5 parent: 2 - - uid: 38254 + - uid: 2063 components: - type: Transform - pos: -39.5,26.5 + pos: -28.5,-10.5 parent: 2 - - uid: 38255 + - uid: 2064 components: - type: Transform - pos: -39.5,25.5 + pos: -39.5,-22.5 parent: 2 - - uid: 38256 + - uid: 2065 components: - type: Transform - pos: -39.5,24.5 + pos: -39.5,-21.5 parent: 2 - - uid: 38257 + - uid: 2066 components: - type: Transform - pos: -39.5,23.5 + pos: -39.5,-20.5 parent: 2 - - uid: 38258 + - uid: 2067 components: - type: Transform - pos: -39.5,22.5 + pos: -39.5,-10.5 parent: 2 - - uid: 38259 + - uid: 2068 components: - type: Transform - pos: -39.5,21.5 + pos: -39.5,-9.5 parent: 2 - - uid: 38260 + - uid: 2069 components: - type: Transform - pos: -39.5,20.5 + pos: -39.5,-8.5 parent: 2 - - uid: 38261 + - uid: 2070 components: - type: Transform - pos: -39.5,17.5 + pos: 91.5,-43.5 parent: 2 - - uid: 38262 + - uid: 2071 components: - type: Transform - pos: -39.5,18.5 + pos: 91.5,-42.5 parent: 2 - - uid: 38263 + - uid: 2072 components: - type: Transform - pos: -39.5,19.5 + pos: 91.5,-41.5 parent: 2 - - uid: 38264 + - uid: 2073 components: - type: Transform - pos: -38.5,17.5 + pos: 92.5,-43.5 parent: 2 - - uid: 38265 + - uid: 2074 components: - type: Transform - pos: -38.5,18.5 + pos: 92.5,-42.5 parent: 2 - - uid: 38266 + - uid: 2075 components: - type: Transform - pos: -38.5,19.5 + pos: 92.5,-41.5 parent: 2 - - uid: 38267 + - uid: 2076 components: - type: Transform - pos: -38.5,20.5 + pos: 93.5,-43.5 parent: 2 - - uid: 38268 + - uid: 2077 components: - type: Transform - pos: -38.5,21.5 + pos: 93.5,-42.5 parent: 2 - - uid: 38269 + - uid: 2078 components: - type: Transform - pos: -37.5,21.5 + pos: 93.5,-41.5 parent: 2 - - uid: 38270 + - uid: 2079 components: - type: Transform - pos: -40.5,16.5 + pos: 91.5,-39.5 parent: 2 - - uid: 38271 + - uid: 2080 components: - type: Transform - pos: -40.5,15.5 + pos: 91.5,-38.5 parent: 2 - - uid: 38272 + - uid: 2081 components: - type: Transform - pos: -40.5,14.5 + pos: 91.5,-37.5 parent: 2 - - uid: 38273 + - uid: 2082 components: - type: Transform - pos: -40.5,13.5 + pos: 92.5,-39.5 parent: 2 - - uid: 38274 + - uid: 2083 components: - type: Transform - pos: -40.5,12.5 + pos: 92.5,-38.5 parent: 2 - - uid: 38275 + - uid: 2084 components: - type: Transform - pos: -40.5,11.5 + pos: 92.5,-37.5 parent: 2 - - uid: 38276 + - uid: 2085 components: - type: Transform - pos: -40.5,10.5 + pos: 93.5,-39.5 parent: 2 - - uid: 38277 + - uid: 2086 components: - type: Transform - pos: -40.5,9.5 + pos: 93.5,-38.5 parent: 2 - - uid: 38278 + - uid: 2087 components: - type: Transform - pos: -40.5,17.5 + pos: 93.5,-37.5 parent: 2 - - uid: 38279 + - uid: 2088 components: - type: Transform - pos: -40.5,8.5 + pos: 91.5,-27.5 parent: 2 - - uid: 38280 + - uid: 2089 components: - type: Transform - pos: -41.5,12.5 + pos: 91.5,-26.5 parent: 2 - - uid: 38281 + - uid: 2090 components: - type: Transform - pos: -41.5,10.5 + pos: 91.5,-25.5 parent: 2 - - uid: 38282 + - uid: 2091 components: - type: Transform - pos: -41.5,11.5 + pos: 92.5,-27.5 parent: 2 - - uid: 38283 + - uid: 2092 components: - type: Transform - pos: -41.5,9.5 + pos: 92.5,-26.5 parent: 2 - - uid: 38284 + - uid: 2093 components: - type: Transform - pos: -41.5,8.5 + pos: 92.5,-25.5 parent: 2 - - uid: 38285 + - uid: 2094 components: - type: Transform - pos: -41.5,7.5 + pos: 93.5,-27.5 parent: 2 - - uid: 38286 + - uid: 2095 components: - type: Transform - pos: -39.5,8.5 + pos: 93.5,-26.5 parent: 2 - - uid: 38287 + - uid: 2096 components: - type: Transform - pos: -43.5,6.5 + pos: 93.5,-25.5 parent: 2 - - uid: 38288 + - uid: 2097 components: - type: Transform - pos: -42.5,9.5 + pos: 105.5,-37.5 parent: 2 - - uid: 38289 + - uid: 2098 components: - type: Transform - pos: -42.5,8.5 + pos: 105.5,-36.5 parent: 2 - - uid: 38290 + - uid: 2099 components: - type: Transform - pos: -42.5,7.5 + pos: 105.5,-35.5 parent: 2 - - uid: 38291 + - uid: 2100 components: - type: Transform - pos: -42.5,6.5 + pos: 106.5,-37.5 parent: 2 - - uid: 38292 + - uid: 2101 components: - type: Transform - pos: -44.5,6.5 + pos: 106.5,-36.5 parent: 2 - - uid: 38293 + - uid: 2102 components: - type: Transform - pos: -44.5,5.5 + pos: 106.5,-35.5 parent: 2 - - uid: 38294 + - uid: 2103 components: - type: Transform - pos: -45.5,5.5 + pos: 107.5,-37.5 parent: 2 - - uid: 38295 + - uid: 2104 components: - type: Transform - pos: -45.5,4.5 + pos: 107.5,-36.5 parent: 2 - - uid: 38296 + - uid: 2105 components: - type: Transform - pos: -46.5,4.5 + pos: 107.5,-35.5 parent: 2 - proto: AtmosFixFreezerMarker entities: @@ -37434,26 +28714,6 @@ entities: - type: Transform pos: 95.5,5.5 parent: 2 - - uid: 5056 - components: - - type: Transform - pos: 55.5,66.5 - parent: 2 - - uid: 7216 - components: - - type: Transform - pos: 55.5,67.5 - parent: 2 - - uid: 7217 - components: - - type: Transform - pos: 59.5,68.5 - parent: 2 - - uid: 7218 - components: - - type: Transform - pos: 59.5,67.5 - parent: 2 - proto: BarricadeBlock entities: - uid: 2174 @@ -38207,11 +29467,6 @@ entities: parent: 2 - proto: BlastDoor entities: - - uid: 1946 - components: - - type: Transform - pos: 60.5,-31.5 - parent: 2 - uid: 2311 components: - type: Transform @@ -38282,6 +29537,11 @@ entities: - type: Transform pos: 1.5,-38.5 parent: 2 + - uid: 2325 + components: + - type: Transform + pos: 60.5,-31.5 + parent: 2 - uid: 2326 components: - type: Transform @@ -38343,21 +29603,6 @@ entities: - type: Transform pos: 22.5,10.5 parent: 2 - - uid: 4635 - components: - - type: Transform - pos: 60.5,-35.5 - parent: 2 - - uid: 15425 - components: - - type: Transform - pos: 62.5,-35.5 - parent: 2 - - uid: 26328 - components: - - type: Transform - pos: 61.5,-35.5 - parent: 2 - proto: BlastDoorOpen entities: - uid: 2338 @@ -38788,6 +30033,11 @@ entities: - type: Transform pos: 53.5,54.5 parent: 2 + - uid: 2416 + components: + - type: Transform + pos: 56.5,65.5 + parent: 2 - uid: 2417 components: - type: Transform @@ -38907,4791 +30157,23 @@ entities: - type: Transform pos: -14.5,26.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - uid: 2440 components: - type: Transform rot: -1.5707963267948966 rad pos: -22.5,30.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - uid: 2441 components: - type: Transform pos: -18.5,26.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - uid: 2442 components: - type: Transform rot: -1.5707963267948966 rad pos: 86.5,-52.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - proto: BorgCharger entities: - uid: 2443 @@ -43967,15 +30449,15 @@ entities: - type: Transform pos: 71.27519,33.604553 parent: 2 - - uid: 2494 + - uid: 2493 components: - type: Transform - pos: 61.47324,46.579685 + pos: 67.52288,53.53064 parent: 2 - - uid: 36435 + - uid: 2494 components: - type: Transform - pos: 67.72492,54.3633 + pos: 61.47324,46.579685 parent: 2 - proto: BoxFolderWhite entities: @@ -44398,18 +30880,6 @@ entities: - type: Transform pos: 91.5,-13.5 parent: 2 - - uid: 36536 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-39.5 - parent: 2 - - uid: 36537 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-27.5 - parent: 2 - proto: ButtonFrameCautionSecurity entities: - uid: 2564 @@ -46862,7 +33332,7 @@ entities: - uid: 3052 components: - type: Transform - pos: -9.5,49.5 + pos: -8.5,53.5 parent: 2 - uid: 3053 components: @@ -50424,6 +36894,11 @@ entities: - type: Transform pos: 19.5,29.5 parent: 2 + - uid: 3765 + components: + - type: Transform + pos: 19.5,30.5 + parent: 2 - uid: 3766 components: - type: Transform @@ -54572,12 +41047,22 @@ entities: - uid: 4595 components: - type: Transform - pos: 57.5,-33.5 + pos: 53.5,-32.5 parent: 2 - uid: 4596 components: - type: Transform - pos: 58.5,-33.5 + pos: 53.5,-33.5 + parent: 2 + - uid: 4597 + components: + - type: Transform + pos: 53.5,-34.5 + parent: 2 + - uid: 4598 + components: + - type: Transform + pos: 53.5,-35.5 parent: 2 - uid: 4599 components: @@ -54594,15 +41079,20 @@ entities: - type: Transform pos: 56.5,-30.5 parent: 2 + - uid: 4602 + components: + - type: Transform + pos: 57.5,-30.5 + parent: 2 - uid: 4603 components: - type: Transform - pos: 56.5,-32.5 + pos: 58.5,-30.5 parent: 2 - uid: 4604 components: - type: Transform - pos: 56.5,-33.5 + pos: 58.5,-29.5 parent: 2 - uid: 4605 components: @@ -54659,6 +41149,26 @@ entities: - type: Transform pos: 56.5,-31.5 parent: 2 + - uid: 4616 + components: + - type: Transform + pos: 56.5,-32.5 + parent: 2 + - uid: 4617 + components: + - type: Transform + pos: 56.5,-33.5 + parent: 2 + - uid: 4618 + components: + - type: Transform + pos: 56.5,-34.5 + parent: 2 + - uid: 4619 + components: + - type: Transform + pos: 56.5,-35.5 + parent: 2 - uid: 4620 components: - type: Transform @@ -54689,15 +41199,70 @@ entities: - type: Transform pos: 56.5,-41.5 parent: 2 + - uid: 4626 + components: + - type: Transform + pos: 57.5,-41.5 + parent: 2 + - uid: 4627 + components: + - type: Transform + pos: 58.5,-41.5 + parent: 2 + - uid: 4628 + components: + - type: Transform + pos: 59.5,-41.5 + parent: 2 - uid: 4629 components: - type: Transform - pos: 61.5,-40.5 + pos: 60.5,-41.5 parent: 2 - uid: 4630 components: - type: Transform - pos: 61.5,-38.5 + pos: 61.5,-41.5 + parent: 2 + - uid: 4631 + components: + - type: Transform + pos: 62.5,-41.5 + parent: 2 + - uid: 4632 + components: + - type: Transform + pos: 62.5,-40.5 + parent: 2 + - uid: 4633 + components: + - type: Transform + pos: 62.5,-39.5 + parent: 2 + - uid: 4634 + components: + - type: Transform + pos: 62.5,-38.5 + parent: 2 + - uid: 4635 + components: + - type: Transform + pos: 62.5,-37.5 + parent: 2 + - uid: 4636 + components: + - type: Transform + pos: 62.5,-36.5 + parent: 2 + - uid: 4637 + components: + - type: Transform + pos: 62.5,-35.5 + parent: 2 + - uid: 4638 + components: + - type: Transform + pos: 57.5,-27.5 parent: 2 - uid: 4639 components: @@ -56784,6 +43349,11 @@ entities: - type: Transform pos: 57.5,-46.5 parent: 2 + - uid: 5056 + components: + - type: Transform + pos: 56.5,-45.5 + parent: 2 - uid: 5057 components: - type: Transform @@ -61544,6 +48114,11 @@ entities: - type: Transform pos: 94.5,29.5 parent: 2 + - uid: 6009 + components: + - type: Transform + pos: 95.5,29.5 + parent: 2 - uid: 6010 components: - type: Transform @@ -61569,6 +48144,11 @@ entities: - type: Transform pos: 99.5,30.5 parent: 2 + - uid: 6015 + components: + - type: Transform + pos: 99.5,31.5 + parent: 2 - uid: 6016 components: - type: Transform @@ -61589,6 +48169,11 @@ entities: - type: Transform pos: 96.5,32.5 parent: 2 + - uid: 6020 + components: + - type: Transform + pos: 95.5,32.5 + parent: 2 - uid: 6021 components: - type: Transform @@ -61602,12 +48187,12 @@ entities: - uid: 6023 components: - type: Transform - pos: 99.5,33.5 + pos: 92.5,32.5 parent: 2 - uid: 6024 components: - type: Transform - pos: 100.5,33.5 + pos: 92.5,31.5 parent: 2 - uid: 6025 components: @@ -67564,6 +54149,31 @@ entities: - type: Transform pos: 55.5,65.5 parent: 2 + - uid: 7216 + components: + - type: Transform + pos: 55.5,66.5 + parent: 2 + - uid: 7217 + components: + - type: Transform + pos: 55.5,67.5 + parent: 2 + - uid: 7218 + components: + - type: Transform + pos: 56.5,67.5 + parent: 2 + - uid: 7219 + components: + - type: Transform + pos: 57.5,67.5 + parent: 2 + - uid: 7220 + components: + - type: Transform + pos: 57.5,68.5 + parent: 2 - uid: 7221 components: - type: Transform @@ -68274,236 +54884,6 @@ entities: - type: Transform pos: 24.5,37.5 parent: 2 - - uid: 20704 - components: - - type: Transform - pos: 61.5,-39.5 - parent: 2 - - uid: 26332 - components: - - type: Transform - pos: 61.5,-36.5 - parent: 2 - - uid: 29475 - components: - - type: Transform - pos: 61.5,-37.5 - parent: 2 - - uid: 31951 - components: - - type: Transform - pos: 57.5,-40.5 - parent: 2 - - uid: 31952 - components: - - type: Transform - pos: 58.5,-36.5 - parent: 2 - - uid: 31953 - components: - - type: Transform - pos: 57.5,-36.5 - parent: 2 - - uid: 31972 - components: - - type: Transform - pos: 56.5,-42.5 - parent: 2 - - uid: 36519 - components: - - type: Transform - pos: 58.5,-40.5 - parent: 2 - - uid: 36520 - components: - - type: Transform - pos: 59.5,-40.5 - parent: 2 - - uid: 36521 - components: - - type: Transform - pos: 60.5,-40.5 - parent: 2 - - uid: 36522 - components: - - type: Transform - pos: 56.5,-42.5 - parent: 2 - - uid: 36523 - components: - - type: Transform - pos: 56.5,-43.5 - parent: 2 - - uid: 36524 - components: - - type: Transform - pos: 57.5,-43.5 - parent: 2 - - uid: 36525 - components: - - type: Transform - pos: 58.5,-43.5 - parent: 2 - - uid: 36526 - components: - - type: Transform - pos: 59.5,-43.5 - parent: 2 - - uid: 36527 - components: - - type: Transform - pos: 60.5,-43.5 - parent: 2 - - uid: 36528 - components: - - type: Transform - pos: 61.5,-43.5 - parent: 2 - - uid: 36529 - components: - - type: Transform - pos: 62.5,-43.5 - parent: 2 - - uid: 36532 - components: - - type: Transform - pos: 60.5,-36.5 - parent: 2 - - uid: 36533 - components: - - type: Transform - pos: 62.5,-36.5 - parent: 2 - - uid: 36534 - components: - - type: Transform - pos: 60.5,-30.5 - parent: 2 - - uid: 36535 - components: - - type: Transform - pos: 62.5,-30.5 - parent: 2 - - uid: 38303 - components: - - type: Transform - pos: 20.5,27.5 - parent: 2 - - uid: 38304 - components: - - type: Transform - pos: 21.5,27.5 - parent: 2 - - uid: 38305 - components: - - type: Transform - pos: 22.5,27.5 - parent: 2 - - uid: 38308 - components: - - type: Transform - pos: 55.5,-37.5 - parent: 2 - - uid: 38309 - components: - - type: Transform - pos: 54.5,-37.5 - parent: 2 - - uid: 38315 - components: - - type: Transform - pos: 58.5,-25.5 - parent: 2 - - uid: 38316 - components: - - type: Transform - pos: 58.5,-29.5 - parent: 2 - - uid: 38317 - components: - - type: Transform - pos: 53.5,-32.5 - parent: 2 - - uid: 38318 - components: - - type: Transform - pos: 53.5,-33.5 - parent: 2 - - uid: 38319 - components: - - type: Transform - pos: 53.5,-34.5 - parent: 2 - - uid: 38320 - components: - - type: Transform - pos: 53.5,-35.5 - parent: 2 - - uid: 38321 - components: - - type: Transform - pos: 55.5,-25.5 - parent: 2 - - uid: 38322 - components: - - type: Transform - pos: 55.5,-26.5 - parent: 2 - - uid: 38323 - components: - - type: Transform - pos: 55.5,-27.5 - parent: 2 - - uid: 38324 - components: - - type: Transform - pos: 56.5,-26.5 - parent: 2 - - uid: 38325 - components: - - type: Transform - pos: 58.5,-30.5 - parent: 2 - - uid: 38328 - components: - - type: Transform - pos: -10.5,49.5 - parent: 2 - - uid: 38329 - components: - - type: Transform - pos: -11.5,49.5 - parent: 2 - - uid: 38348 - components: - - type: Transform - pos: 92.5,33.5 - parent: 2 - - uid: 38349 - components: - - type: Transform - pos: 91.5,33.5 - parent: 2 - - uid: 38350 - components: - - type: Transform - pos: 94.5,33.5 - parent: 2 - - uid: 38352 - components: - - type: Transform - pos: 100.5,29.5 - parent: 2 - - uid: 38353 - components: - - type: Transform - pos: 97.5,30.5 - parent: 2 - - uid: 38354 - components: - - type: Transform - pos: 93.5,30.5 - parent: 2 - proto: CableApcStack entities: - uid: 7363 @@ -82249,46 +68629,6 @@ entities: parent: 2 - proto: CableMV entities: - - uid: 4597 - components: - - type: Transform - pos: 56.5,-32.5 - parent: 2 - - uid: 4598 - components: - - type: Transform - pos: 56.5,-31.5 - parent: 2 - - uid: 4602 - components: - - type: Transform - pos: 99.5,32.5 - parent: 2 - - uid: 4616 - components: - - type: Transform - pos: 55.5,-37.5 - parent: 2 - - uid: 4617 - components: - - type: Transform - pos: 56.5,-28.5 - parent: 2 - - uid: 4618 - components: - - type: Transform - pos: 56.5,-29.5 - parent: 2 - - uid: 4619 - components: - - type: Transform - pos: 56.5,-30.5 - parent: 2 - - uid: 4638 - components: - - type: Transform - pos: 55.5,-26.5 - parent: 2 - uid: 10110 components: - type: Transform @@ -92674,161 +79014,6 @@ entities: - type: Transform pos: 93.5,-0.5 parent: 2 - - uid: 15424 - components: - - type: Transform - pos: 55.5,-25.5 - parent: 2 - - uid: 25360 - components: - - type: Transform - pos: 56.5,-27.5 - parent: 2 - - uid: 25684 - components: - - type: Transform - pos: 56.5,-26.5 - parent: 2 - - uid: 38300 - components: - - type: Transform - pos: 20.5,27.5 - parent: 2 - - uid: 38301 - components: - - type: Transform - pos: 21.5,27.5 - parent: 2 - - uid: 38302 - components: - - type: Transform - pos: 22.5,27.5 - parent: 2 - - uid: 38307 - components: - - type: Transform - pos: 54.5,-37.5 - parent: 2 - - uid: 38311 - components: - - type: Transform - pos: 57.5,-26.5 - parent: 2 - - uid: 38312 - components: - - type: Transform - pos: 58.5,-26.5 - parent: 2 - - uid: 38314 - components: - - type: Transform - pos: 58.5,-25.5 - parent: 2 - - uid: 38326 - components: - - type: Transform - pos: 99.5,33.5 - parent: 2 - - uid: 38327 - components: - - type: Transform - pos: 100.5,33.5 - parent: 2 - - uid: 38330 - components: - - type: Transform - pos: -10.5,54.5 - parent: 2 - - uid: 38331 - components: - - type: Transform - pos: -9.5,54.5 - parent: 2 - - uid: 38332 - components: - - type: Transform - pos: -9.5,53.5 - parent: 2 - - uid: 38333 - components: - - type: Transform - pos: -9.5,52.5 - parent: 2 - - uid: 38334 - components: - - type: Transform - pos: -9.5,51.5 - parent: 2 - - uid: 38335 - components: - - type: Transform - pos: -9.5,50.5 - parent: 2 - - uid: 38336 - components: - - type: Transform - pos: -9.5,49.5 - parent: 2 - - uid: 38337 - components: - - type: Transform - pos: -10.5,49.5 - parent: 2 - - uid: 38338 - components: - - type: Transform - pos: -11.5,49.5 - parent: 2 - - uid: 38339 - components: - - type: Transform - pos: 99.5,33.5 - parent: 2 - - uid: 38340 - components: - - type: Transform - pos: 98.5,33.5 - parent: 2 - - uid: 38341 - components: - - type: Transform - pos: 97.5,33.5 - parent: 2 - - uid: 38342 - components: - - type: Transform - pos: 96.5,33.5 - parent: 2 - - uid: 38343 - components: - - type: Transform - pos: 95.5,33.5 - parent: 2 - - uid: 38344 - components: - - type: Transform - pos: 94.5,33.5 - parent: 2 - - uid: 38345 - components: - - type: Transform - pos: 93.5,33.5 - parent: 2 - - uid: 38346 - components: - - type: Transform - pos: 92.5,33.5 - parent: 2 - - uid: 38347 - components: - - type: Transform - pos: 91.5,33.5 - parent: 2 - - uid: 38351 - components: - - type: Transform - pos: 100.5,29.5 - parent: 2 - proto: CableMVStack entities: - uid: 12187 @@ -92993,8 +79178,30 @@ entities: - type: Transform pos: 62.3291,-2.5415568 parent: 2 +- proto: CaptainIDCard + entities: + - uid: 12215 + components: + - type: Transform + pos: 81.9281,44.575443 + parent: 2 - proto: CarbonDioxideCanister entities: + - uid: 12216 + components: + - type: Transform + pos: 57.5,-39.5 + parent: 2 + - uid: 12217 + components: + - type: Transform + pos: 59.5,-40.5 + parent: 2 + - uid: 12218 + components: + - type: Transform + pos: 60.5,-40.5 + parent: 2 - uid: 12219 components: - type: Transform @@ -93698,6 +79905,106 @@ entities: - type: Transform pos: -8.5,74.5 parent: 2 + - uid: 12358 + components: + - type: Transform + pos: 37.5,24.5 + parent: 2 + - uid: 12359 + components: + - type: Transform + pos: 38.5,24.5 + parent: 2 + - uid: 12360 + components: + - type: Transform + pos: 36.5,20.5 + parent: 2 + - uid: 12361 + components: + - type: Transform + pos: 36.5,21.5 + parent: 2 + - uid: 12362 + components: + - type: Transform + pos: 36.5,22.5 + parent: 2 + - uid: 12363 + components: + - type: Transform + pos: 37.5,20.5 + parent: 2 + - uid: 12364 + components: + - type: Transform + pos: 37.5,21.5 + parent: 2 + - uid: 12365 + components: + - type: Transform + pos: 37.5,22.5 + parent: 2 + - uid: 12366 + components: + - type: Transform + pos: 38.5,20.5 + parent: 2 + - uid: 12367 + components: + - type: Transform + pos: 38.5,21.5 + parent: 2 + - uid: 12368 + components: + - type: Transform + pos: 38.5,22.5 + parent: 2 + - uid: 12369 + components: + - type: Transform + pos: 39.5,20.5 + parent: 2 + - uid: 12370 + components: + - type: Transform + pos: 39.5,21.5 + parent: 2 + - uid: 12371 + components: + - type: Transform + pos: 39.5,22.5 + parent: 2 + - uid: 12372 + components: + - type: Transform + pos: 36.5,16.5 + parent: 2 + - uid: 12373 + components: + - type: Transform + pos: 36.5,17.5 + parent: 2 + - uid: 12374 + components: + - type: Transform + pos: 37.5,16.5 + parent: 2 + - uid: 12375 + components: + - type: Transform + pos: 37.5,17.5 + parent: 2 + - uid: 12376 + components: + - type: Transform + pos: 38.5,16.5 + parent: 2 + - uid: 12377 + components: + - type: Transform + pos: 38.5,17.5 + parent: 2 - uid: 12378 components: - type: Transform @@ -93988,101 +80295,6 @@ entities: parent: 2 - proto: CarpetBlue entities: - - uid: 12217 - components: - - type: Transform - pos: 37.5,24.5 - parent: 2 - - uid: 12218 - components: - - type: Transform - pos: 38.5,24.5 - parent: 2 - - uid: 12358 - components: - - type: Transform - pos: 37.5,22.5 - parent: 2 - - uid: 12359 - components: - - type: Transform - pos: 37.5,21.5 - parent: 2 - - uid: 12360 - components: - - type: Transform - pos: 39.5,20.5 - parent: 2 - - uid: 12361 - components: - - type: Transform - pos: 36.5,20.5 - parent: 2 - - uid: 12362 - components: - - type: Transform - pos: 38.5,22.5 - parent: 2 - - uid: 12363 - components: - - type: Transform - pos: 37.5,20.5 - parent: 2 - - uid: 12364 - components: - - type: Transform - pos: 36.5,21.5 - parent: 2 - - uid: 12365 - components: - - type: Transform - pos: 38.5,20.5 - parent: 2 - - uid: 12366 - components: - - type: Transform - pos: 39.5,22.5 - parent: 2 - - uid: 12367 - components: - - type: Transform - pos: 36.5,22.5 - parent: 2 - - uid: 12368 - components: - - type: Transform - pos: 39.5,21.5 - parent: 2 - - uid: 12369 - components: - - type: Transform - pos: 38.5,21.5 - parent: 2 - - uid: 12371 - components: - - type: Transform - pos: 36.5,17.5 - parent: 2 - - uid: 12372 - components: - - type: Transform - pos: 37.5,17.5 - parent: 2 - - uid: 12373 - components: - - type: Transform - pos: 38.5,16.5 - parent: 2 - - uid: 12374 - components: - - type: Transform - pos: 38.5,17.5 - parent: 2 - - uid: 12375 - components: - - type: Transform - pos: 37.5,16.5 - parent: 2 - uid: 12431 components: - type: Transform @@ -94258,11 +80470,6 @@ entities: - type: Transform pos: 50.5,-5.5 parent: 2 - - uid: 30234 - components: - - type: Transform - pos: 36.5,16.5 - parent: 2 - proto: CarpetChapel entities: - uid: 12466 @@ -94684,43 +80891,6 @@ entities: - type: Transform pos: 64.5,10.5 parent: 2 - - uid: 26680 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -10.5,48.5 - parent: 2 - - uid: 26681 - components: - - type: Transform - pos: -8.5,49.5 - parent: 2 - - uid: 26682 - components: - - type: Transform - pos: -9.5,49.5 - parent: 2 - - uid: 26683 - components: - - type: Transform - pos: -8.5,50.5 - parent: 2 - - uid: 26841 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -7.5,48.5 - parent: 2 - - uid: 26873 - components: - - type: Transform - pos: -9.5,50.5 - parent: 2 - - uid: 26874 - components: - - type: Transform - pos: -9.5,49.5 - parent: 2 - proto: CarpetOrange entities: - uid: 12548 @@ -95330,96 +81500,6 @@ entities: parent: 2 - proto: Catwalk entities: - - uid: 1643 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-51.5 - parent: 2 - - uid: 1659 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-65.5 - parent: 2 - - uid: 1660 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-63.5 - parent: 2 - - uid: 1669 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-64.5 - parent: 2 - - uid: 1670 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-59.5 - parent: 2 - - uid: 1671 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-61.5 - parent: 2 - - uid: 1672 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-60.5 - parent: 2 - - uid: 1673 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-62.5 - parent: 2 - - uid: 1674 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-55.5 - parent: 2 - - uid: 1675 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-53.5 - parent: 2 - - uid: 1676 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-54.5 - parent: 2 - - uid: 1677 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-58.5 - parent: 2 - - uid: 1678 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-56.5 - parent: 2 - - uid: 1679 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-57.5 - parent: 2 - - uid: 1680 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-52.5 - parent: 2 - uid: 12667 components: - type: Transform @@ -96673,6 +82753,11 @@ entities: - type: Transform pos: -21.5,10.5 parent: 2 + - uid: 12914 + components: + - type: Transform + pos: -62.5,57.5 + parent: 2 - uid: 12915 components: - type: Transform @@ -97242,6 +83327,26 @@ entities: - type: Transform pos: 14.5,29.5 parent: 2 + - uid: 13021 + components: + - type: Transform + pos: 15.5,29.5 + parent: 2 + - uid: 13022 + components: + - type: Transform + pos: 16.5,29.5 + parent: 2 + - uid: 13023 + components: + - type: Transform + pos: 17.5,29.5 + parent: 2 + - uid: 13024 + components: + - type: Transform + pos: 18.5,29.5 + parent: 2 - uid: 13025 components: - type: Transform @@ -97275,14 +83380,12 @@ entities: - uid: 13031 components: - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,71.5 + pos: 19.5,29.5 parent: 2 - uid: 13032 components: - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,72.5 + pos: 19.5,30.5 parent: 2 - uid: 13033 components: @@ -98002,134 +84105,122 @@ entities: - uid: 13173 components: - type: Transform - rot: 3.141592653589793 rad - pos: 67.5,72.5 + pos: 88.5,66.5 parent: 2 - uid: 13174 components: - type: Transform - rot: 3.141592653589793 rad - pos: 66.5,72.5 + pos: 87.5,66.5 parent: 2 - uid: 13175 components: - type: Transform - rot: 3.141592653589793 rad - pos: 65.5,72.5 + pos: 86.5,66.5 parent: 2 - uid: 13176 components: - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,72.5 + pos: 85.5,66.5 parent: 2 - uid: 13177 components: - type: Transform - rot: 3.141592653589793 rad - pos: 74.5,72.5 + pos: 84.5,66.5 parent: 2 - uid: 13178 components: - type: Transform - rot: 3.141592653589793 rad - pos: 73.5,72.5 + pos: 83.5,66.5 parent: 2 - uid: 13179 components: - type: Transform - rot: 3.141592653589793 rad - pos: 72.5,72.5 + pos: 82.5,66.5 parent: 2 - uid: 13180 components: - type: Transform - rot: 3.141592653589793 rad - pos: 71.5,72.5 + pos: 81.5,66.5 parent: 2 - uid: 13181 components: - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,72.5 + pos: 80.5,66.5 parent: 2 - uid: 13182 components: - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,72.5 + pos: 79.5,66.5 parent: 2 - uid: 13183 components: - type: Transform - rot: 3.141592653589793 rad - pos: 86.5,72.5 + pos: 78.5,66.5 parent: 2 - uid: 13184 components: - type: Transform - rot: 3.141592653589793 rad - pos: 85.5,72.5 + pos: 77.5,66.5 parent: 2 - uid: 13185 components: - type: Transform - rot: 3.141592653589793 rad - pos: 84.5,72.5 + pos: 76.5,66.5 parent: 2 - uid: 13186 components: - type: Transform - rot: 3.141592653589793 rad - pos: 83.5,72.5 + pos: 75.5,66.5 parent: 2 - uid: 13187 components: - type: Transform - rot: 3.141592653589793 rad - pos: 82.5,72.5 + pos: 74.5,66.5 parent: 2 - uid: 13188 components: - type: Transform - rot: 3.141592653589793 rad - pos: 81.5,72.5 + pos: 73.5,66.5 parent: 2 - uid: 13189 components: - type: Transform - rot: 3.141592653589793 rad - pos: 77.5,72.5 + pos: 72.5,66.5 parent: 2 - uid: 13190 components: - type: Transform - rot: 3.141592653589793 rad - pos: 76.5,72.5 + pos: 71.5,66.5 parent: 2 - uid: 13191 components: - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,72.5 + pos: 70.5,66.5 parent: 2 - uid: 13192 components: - type: Transform - rot: 3.141592653589793 rad - pos: 80.5,72.5 + pos: 69.5,66.5 parent: 2 - uid: 13193 components: - type: Transform - rot: 3.141592653589793 rad - pos: 79.5,72.5 + pos: 68.5,66.5 parent: 2 - uid: 13194 components: - type: Transform - rot: 3.141592653589793 rad - pos: 78.5,72.5 + pos: 67.5,66.5 + parent: 2 + - uid: 13195 + components: + - type: Transform + pos: 66.5,66.5 + parent: 2 + - uid: 13196 + components: + - type: Transform + pos: 65.5,66.5 parent: 2 - uid: 13197 components: @@ -98151,6 +84242,16 @@ entities: - type: Transform pos: 61.5,66.5 parent: 2 + - uid: 13201 + components: + - type: Transform + pos: 60.5,66.5 + parent: 2 + - uid: 13202 + components: + - type: Transform + pos: 59.5,66.5 + parent: 2 - uid: 13203 components: - type: Transform @@ -98421,6 +84522,11 @@ entities: - type: Transform pos: 38.5,-43.5 parent: 2 + - uid: 13257 + components: + - type: Transform + pos: 56.5,-43.5 + parent: 2 - uid: 13258 components: - type: Transform @@ -99851,6 +85957,11 @@ entities: - type: Transform pos: 135.5,55.5 parent: 2 + - uid: 13544 + components: + - type: Transform + pos: 117.5,71.5 + parent: 2 - uid: 13545 components: - type: Transform @@ -102776,6 +88887,16 @@ entities: - type: Transform pos: 55.5,51.5 parent: 2 + - uid: 14129 + components: + - type: Transform + pos: 57.5,67.5 + parent: 2 + - uid: 14130 + components: + - type: Transform + pos: 57.5,68.5 + parent: 2 - uid: 14131 components: - type: Transform @@ -103093,698 +89214,6 @@ entities: rot: 3.141592653589793 rad pos: 99.5,52.5 parent: 2 - - uid: 23848 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 87.5,72.5 - parent: 2 - - uid: 23849 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 88.5,72.5 - parent: 2 - - uid: 32071 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 117.5,-50.5 - parent: 2 - - uid: 36158 - components: - - type: Transform - pos: 138.5,43.5 - parent: 2 - - uid: 36159 - components: - - type: Transform - pos: 139.5,43.5 - parent: 2 - - uid: 36160 - components: - - type: Transform - pos: 140.5,43.5 - parent: 2 - - uid: 36161 - components: - - type: Transform - pos: 141.5,43.5 - parent: 2 - - uid: 36162 - components: - - type: Transform - pos: 141.5,44.5 - parent: 2 - - uid: 36163 - components: - - type: Transform - pos: 141.5,45.5 - parent: 2 - - uid: 36164 - components: - - type: Transform - pos: 141.5,46.5 - parent: 2 - - uid: 36165 - components: - - type: Transform - pos: 141.5,47.5 - parent: 2 - - uid: 36166 - components: - - type: Transform - pos: 141.5,48.5 - parent: 2 - - uid: 36167 - components: - - type: Transform - pos: 141.5,49.5 - parent: 2 - - uid: 36168 - components: - - type: Transform - pos: 141.5,50.5 - parent: 2 - - uid: 36169 - components: - - type: Transform - pos: 141.5,51.5 - parent: 2 - - uid: 36170 - components: - - type: Transform - pos: 141.5,52.5 - parent: 2 - - uid: 36171 - components: - - type: Transform - pos: 141.5,53.5 - parent: 2 - - uid: 36172 - components: - - type: Transform - pos: 141.5,54.5 - parent: 2 - - uid: 36173 - components: - - type: Transform - pos: 141.5,55.5 - parent: 2 - - uid: 36174 - components: - - type: Transform - pos: 141.5,56.5 - parent: 2 - - uid: 36175 - components: - - type: Transform - pos: 141.5,57.5 - parent: 2 - - uid: 36176 - components: - - type: Transform - pos: 141.5,58.5 - parent: 2 - - uid: 36177 - components: - - type: Transform - pos: 141.5,59.5 - parent: 2 - - uid: 36178 - components: - - type: Transform - pos: 141.5,60.5 - parent: 2 - - uid: 36179 - components: - - type: Transform - pos: 141.5,61.5 - parent: 2 - - uid: 36180 - components: - - type: Transform - pos: 141.5,62.5 - parent: 2 - - uid: 36181 - components: - - type: Transform - pos: 140.5,62.5 - parent: 2 - - uid: 36182 - components: - - type: Transform - pos: 139.5,62.5 - parent: 2 - - uid: 36183 - components: - - type: Transform - pos: 138.5,62.5 - parent: 2 - - uid: 36184 - components: - - type: Transform - pos: 137.5,62.5 - parent: 2 - - uid: 36185 - components: - - type: Transform - pos: 136.5,62.5 - parent: 2 - - uid: 36210 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -29.5,-80.5 - parent: 2 - - uid: 36211 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -28.5,-80.5 - parent: 2 - - uid: 36212 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -27.5,-80.5 - parent: 2 - - uid: 36213 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -26.5,-80.5 - parent: 2 - - uid: 36214 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -25.5,-80.5 - parent: 2 - - uid: 36215 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -24.5,-80.5 - parent: 2 - - uid: 36216 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -23.5,-80.5 - parent: 2 - - uid: 36217 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -22.5,-80.5 - parent: 2 - - uid: 36218 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -21.5,-80.5 - parent: 2 - - uid: 36219 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-80.5 - parent: 2 - - uid: 36220 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-80.5 - parent: 2 - - uid: 36221 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-79.5 - parent: 2 - - uid: 36222 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-78.5 - parent: 2 - - uid: 36223 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-77.5 - parent: 2 - - uid: 36224 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-76.5 - parent: 2 - - uid: 36225 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-75.5 - parent: 2 - - uid: 36226 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-74.5 - parent: 2 - - uid: 36241 - components: - - type: Transform - pos: -73.5,-10.5 - parent: 2 - - uid: 36242 - components: - - type: Transform - pos: -73.5,-9.5 - parent: 2 - - uid: 36243 - components: - - type: Transform - pos: -73.5,-8.5 - parent: 2 - - uid: 36244 - components: - - type: Transform - pos: -73.5,-7.5 - parent: 2 - - uid: 36245 - components: - - type: Transform - pos: -73.5,-6.5 - parent: 2 - - uid: 36246 - components: - - type: Transform - pos: -73.5,-5.5 - parent: 2 - - uid: 36247 - components: - - type: Transform - pos: -73.5,-4.5 - parent: 2 - - uid: 36248 - components: - - type: Transform - pos: -73.5,-3.5 - parent: 2 - - uid: 36249 - components: - - type: Transform - pos: -73.5,-2.5 - parent: 2 - - uid: 36250 - components: - - type: Transform - pos: -73.5,-1.5 - parent: 2 - - uid: 36251 - components: - - type: Transform - pos: -73.5,-0.5 - parent: 2 - - uid: 36252 - components: - - type: Transform - pos: -72.5,-0.5 - parent: 2 - - uid: 36253 - components: - - type: Transform - pos: -72.5,0.5 - parent: 2 - - uid: 36254 - components: - - type: Transform - pos: -73.5,13.5 - parent: 2 - - uid: 36255 - components: - - type: Transform - pos: -73.5,12.5 - parent: 2 - - uid: 36256 - components: - - type: Transform - pos: -73.5,11.5 - parent: 2 - - uid: 36257 - components: - - type: Transform - pos: -73.5,10.5 - parent: 2 - - uid: 36258 - components: - - type: Transform - pos: -73.5,9.5 - parent: 2 - - uid: 36259 - components: - - type: Transform - pos: -73.5,8.5 - parent: 2 - - uid: 36260 - components: - - type: Transform - pos: -73.5,7.5 - parent: 2 - - uid: 36261 - components: - - type: Transform - pos: -73.5,6.5 - parent: 2 - - uid: 36262 - components: - - type: Transform - pos: -73.5,5.5 - parent: 2 - - uid: 36263 - components: - - type: Transform - pos: -73.5,4.5 - parent: 2 - - uid: 36264 - components: - - type: Transform - pos: -72.5,4.5 - parent: 2 - - uid: 36265 - components: - - type: Transform - pos: -72.5,3.5 - parent: 2 - - uid: 36266 - components: - - type: Transform - pos: -72.5,2.5 - parent: 2 - - uid: 36379 - components: - - type: Transform - pos: -45.5,67.5 - parent: 2 - - uid: 36380 - components: - - type: Transform - pos: -46.5,67.5 - parent: 2 - - uid: 36381 - components: - - type: Transform - pos: -47.5,67.5 - parent: 2 - - uid: 36382 - components: - - type: Transform - pos: -48.5,67.5 - parent: 2 - - uid: 36383 - components: - - type: Transform - pos: -49.5,67.5 - parent: 2 - - uid: 36384 - components: - - type: Transform - pos: -50.5,67.5 - parent: 2 - - uid: 36385 - components: - - type: Transform - pos: -50.5,68.5 - parent: 2 - - uid: 36386 - components: - - type: Transform - pos: -50.5,69.5 - parent: 2 - - uid: 36387 - components: - - type: Transform - pos: -50.5,70.5 - parent: 2 - - uid: 36388 - components: - - type: Transform - pos: -50.5,71.5 - parent: 2 - - uid: 36389 - components: - - type: Transform - pos: -50.5,72.5 - parent: 2 - - uid: 36390 - components: - - type: Transform - pos: -50.5,73.5 - parent: 2 - - uid: 36391 - components: - - type: Transform - pos: -50.5,74.5 - parent: 2 - - uid: 36392 - components: - - type: Transform - pos: -50.5,75.5 - parent: 2 - - uid: 36393 - components: - - type: Transform - pos: -50.5,76.5 - parent: 2 - - uid: 36394 - components: - - type: Transform - pos: -50.5,78.5 - parent: 2 - - uid: 36395 - components: - - type: Transform - pos: -50.5,79.5 - parent: 2 - - uid: 36396 - components: - - type: Transform - pos: -50.5,80.5 - parent: 2 - - uid: 36397 - components: - - type: Transform - pos: -50.5,81.5 - parent: 2 - - uid: 36398 - components: - - type: Transform - pos: -50.5,82.5 - parent: 2 - - uid: 36399 - components: - - type: Transform - pos: -50.5,83.5 - parent: 2 - - uid: 36400 - components: - - type: Transform - pos: -50.5,77.5 - parent: 2 - - uid: 36401 - components: - - type: Transform - pos: -50.5,85.5 - parent: 2 - - uid: 36402 - components: - - type: Transform - pos: -50.5,84.5 - parent: 2 - - uid: 36403 - components: - - type: Transform - pos: -50.5,87.5 - parent: 2 - - uid: 36404 - components: - - type: Transform - pos: -50.5,88.5 - parent: 2 - - uid: 36405 - components: - - type: Transform - pos: -50.5,86.5 - parent: 2 - - uid: 36406 - components: - - type: Transform - pos: -50.5,90.5 - parent: 2 - - uid: 36407 - components: - - type: Transform - pos: -50.5,91.5 - parent: 2 - - uid: 36408 - components: - - type: Transform - pos: -50.5,92.5 - parent: 2 - - uid: 36409 - components: - - type: Transform - pos: -50.5,89.5 - parent: 2 - - uid: 36410 - components: - - type: Transform - pos: -49.5,92.5 - parent: 2 - - uid: 36411 - components: - - type: Transform - pos: -48.5,92.5 - parent: 2 - - uid: 36412 - components: - - type: Transform - pos: -47.5,92.5 - parent: 2 - - uid: 36413 - components: - - type: Transform - pos: -46.5,92.5 - parent: 2 - - uid: 36414 - components: - - type: Transform - pos: -45.5,92.5 - parent: 2 - - uid: 36415 - components: - - type: Transform - pos: -44.5,92.5 - parent: 2 - - uid: 36416 - components: - - type: Transform - pos: -43.5,92.5 - parent: 2 - - uid: 36417 - components: - - type: Transform - pos: -42.5,92.5 - parent: 2 - - uid: 36418 - components: - - type: Transform - pos: -41.5,92.5 - parent: 2 - - uid: 36419 - components: - - type: Transform - pos: -40.5,92.5 - parent: 2 - - uid: 36420 - components: - - type: Transform - pos: -39.5,92.5 - parent: 2 - - uid: 36421 - components: - - type: Transform - pos: -38.5,92.5 - parent: 2 - - uid: 36422 - components: - - type: Transform - pos: -37.5,92.5 - parent: 2 - - uid: 36423 - components: - - type: Transform - pos: -36.5,92.5 - parent: 2 - - uid: 36424 - components: - - type: Transform - pos: -35.5,92.5 - parent: 2 - - uid: 36425 - components: - - type: Transform - pos: -34.5,92.5 - parent: 2 - - uid: 36426 - components: - - type: Transform - pos: -33.5,92.5 - parent: 2 - - uid: 36427 - components: - - type: Transform - pos: -32.5,92.5 - parent: 2 - - uid: 36428 - components: - - type: Transform - pos: -31.5,92.5 - parent: 2 - - uid: 36429 - components: - - type: Transform - pos: -30.5,92.5 - parent: 2 - - uid: 36430 - components: - - type: Transform - pos: -29.5,92.5 - parent: 2 -- proto: CdDiskCargonia - entities: - - uid: 36478 - components: - - type: Transform - pos: -10.70681,51.896694 - parent: 2 -- proto: CdDiskCloningPsa - entities: - - uid: 36480 - components: - - type: Transform - pos: -10.315227,51.880386 - parent: 2 -- proto: CdDiskCommanderAnnouncement - entities: - - uid: 36481 - components: - - type: Transform - pos: -10.657862,51.635773 - parent: 2 -- proto: CdDiskCommanderResignation - entities: - - uid: 36482 - components: - - type: Transform - pos: -10.315227,51.619465 - parent: 2 -- proto: CdDiskDanitosBurritos - entities: - - uid: 36479 - components: - - type: Transform - pos: -10.50286,51.798847 - parent: 2 -- proto: CdDiskQuikNoodles - entities: - - uid: 36483 - components: - - type: Transform - pos: -10.535492,51.49716 - parent: 2 - proto: Chair entities: - uid: 14192 @@ -104037,6 +89466,12 @@ entities: rot: 3.141592653589793 rad pos: 5.5,65.5 parent: 2 + - uid: 14235 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 61.5,-42.5 + parent: 2 - uid: 14236 components: - type: Transform @@ -104341,24 +89776,6 @@ entities: rot: 1.5707963267948966 rad pos: 71.5,-10.5 parent: 2 - - uid: 20701 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,-43.5 - parent: 2 - - uid: 31352 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 19.5,25.5 - parent: 2 - - uid: 31386 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 21.5,27.5 - parent: 2 - proto: ChairFolding entities: - uid: 14287 @@ -104966,12 +90383,6 @@ entities: rot: 3.141592653589793 rad pos: -21.5,21.5 parent: 2 - - uid: 24495 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 18.5,29.5 - parent: 2 - proto: ChairOfficeLight entities: - uid: 14392 @@ -105104,19 +90515,6 @@ entities: rot: -1.5707963267948966 rad pos: 29.5,36.5 parent: 2 -- proto: ChairOfficeSleek - entities: - - uid: 4634 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-33.5 - parent: 2 - - uid: 36484 - components: - - type: Transform - pos: -9.5,49.5 - parent: 2 - proto: ChairWood entities: - uid: 14414 @@ -105507,3592 +90905,16 @@ entities: - type: Transform pos: 18.5,36.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - uid: 14481 components: - type: Transform pos: 20.5,40.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - uid: 14482 components: - type: Transform pos: 28.5,36.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - ChemDispensable - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - proto: ChemistryHotplate entities: - uid: 14483 @@ -110483,6 +92305,29 @@ entities: - 0 - 0 - 0 + - uid: 14575 + components: + - type: Transform + pos: 55.5,68.5 + parent: 2 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.1495 + moles: + - 3.0981817 + - 11.655066 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - uid: 14576 components: - type: Transform @@ -111120,6 +92965,29 @@ entities: - 0 - 0 - 0 + - uid: 14609 + components: + - type: Transform + pos: 21.5,30.5 + parent: 2 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.1495 + moles: + - 3.0981817 + - 11.655066 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - uid: 14610 components: - type: Transform @@ -111735,6 +93603,29 @@ entities: - 0 - 0 - 0 + - uid: 14637 + components: + - type: Transform + pos: 17.5,30.5 + parent: 2 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.1495 + moles: + - 3.0981817 + - 11.655066 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - uid: 14638 components: - type: Transform @@ -112873,25 +94764,6 @@ entities: - type: Transform pos: 36.525837,-23.476025 parent: 2 - - type: GroupExamine - group: - - hoverMessage: "" - contextText: verb-examine-group-other - icon: /Textures/Interface/examine-star.png - components: - - Armor - - ClothingSpeedModifier - entries: - - message: >- - It provides the following protection: - - - [color=orange]Explosion[/color] damage [color=white]to contents[/color] reduced by [color=lightblue]10%[/color]. - priority: 0 - component: Armor - - message: This decreases your running speed by [color=yellow]10%[/color]. - priority: 0 - component: ClothingSpeedModifier - title: null - proto: ClothingBackpackSatchelLeather entities: - uid: 14692 @@ -113867,6 +95739,11 @@ entities: - type: Transform pos: -30.562286,23.558552 parent: 2 + - uid: 14850 + components: + - type: Transform + pos: 62.514362,-42.385197 + parent: 2 - uid: 14851 components: - type: Transform @@ -114683,12 +96560,6 @@ entities: parent: 2 - proto: Cobweb2 entities: - - uid: 13257 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,66.5 - parent: 2 - uid: 14987 components: - type: Transform @@ -114744,12 +96615,6 @@ entities: - type: Transform pos: 66.5,-50.5 parent: 2 - - uid: 26337 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,68.5 - parent: 2 - proto: ComfyChair entities: - uid: 14998 @@ -115263,28 +97128,12 @@ entities: parent: 2 - proto: ComputerAnalysisConsole entities: - - uid: 3765 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-37.5 - parent: 2 - - type: DeviceLinkSource - linkedPorts: - 25361: - - - ArtifactAnalyzerSender - - ArtifactAnalyzerReceiver - - uid: 4626 + - uid: 15088 components: - type: Transform rot: -1.5707963267948966 rad - pos: 58.5,-29.5 + pos: 58.5,-31.5 parent: 2 - - type: DeviceLinkSource - linkedPorts: - 23808: - - - ArtifactAnalyzerSender - - ArtifactAnalyzerReceiver - uid: 15089 components: - type: Transform @@ -115309,28 +97158,6 @@ entities: rot: 1.5707963267948966 rad pos: 84.5,-12.5 parent: 2 -- proto: ComputerBankATM - entities: - - uid: 26899 - components: - - type: Transform - pos: -10.5,15.5 - parent: 2 - - uid: 28209 - components: - - type: Transform - pos: 20.5,29.5 - parent: 2 - - uid: 36637 - components: - - type: Transform - pos: -31.5,38.5 - parent: 2 - - uid: 36638 - components: - - type: Transform - pos: -33.5,38.5 - parent: 2 - proto: computerBodyScanner entities: - uid: 15093 @@ -115434,11 +97261,6 @@ entities: rot: 3.141592653589793 rad pos: 41.5,-27.5 parent: 2 - - uid: 36542 - components: - - type: Transform - pos: 54.5,-14.5 - parent: 2 - proto: ComputerCargoOrdersSecurity entities: - uid: 15109 @@ -115590,6 +97412,11 @@ entities: rot: 1.5707963267948966 rad pos: 85.5,29.5 parent: 2 + - uid: 15134 + components: + - type: Transform + pos: 69.5,51.5 + parent: 2 - uid: 15135 components: - type: Transform @@ -115664,6 +97491,11 @@ entities: rot: 3.141592653589793 rad pos: 24.5,53.5 parent: 2 + - uid: 15147 + components: + - type: Transform + pos: 68.5,54.5 + parent: 2 - uid: 15148 components: - type: Transform @@ -115737,6 +97569,11 @@ entities: rot: -1.5707963267948966 rad pos: 83.5,42.5 parent: 2 + - uid: 15158 + components: + - type: Transform + pos: 68.5,51.5 + parent: 2 - uid: 15159 components: - type: Transform @@ -115786,6 +97623,11 @@ entities: rot: 3.141592653589793 rad pos: 25.5,57.5 parent: 2 + - uid: 15166 + components: + - type: Transform + pos: 70.5,51.5 + parent: 2 - proto: ComputerPalletConsoleNFNormalMarket entities: - uid: 15167 @@ -115864,6 +97706,11 @@ entities: rot: 3.141592653589793 rad pos: 15.5,-32.5 parent: 2 + - uid: 15180 + components: + - type: Transform + pos: 70.5,54.5 + parent: 2 - proto: ComputerResearchAndDevelopment entities: - uid: 15181 @@ -116094,77 +97941,16 @@ entities: - type: Transform pos: 71.5,60.5 parent: 2 - - uid: 15220 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 99.5,43.5 - parent: 2 -- proto: ComputerTabletopAdvancedRadar - entities: - - uid: 36438 - components: - - type: Transform - pos: 70.5,54.5 - parent: 2 -- proto: ComputerTabletopContrabandPalletConsole - entities: - - uid: 31377 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 19.5,29.5 - parent: 2 -- proto: ComputerTabletopCrewMonitoring - entities: - - uid: 14850 - components: - - type: Transform - pos: 69.5,51.5 - parent: 2 -- proto: ComputerTabletopCriminalRecords - entities: - - uid: 2325 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 67.5,53.5 - parent: 2 -- proto: ComputerTabletopGunneryConsole - entities: - - uid: 36437 + - uid: 15219 components: - type: Transform pos: 69.5,54.5 parent: 2 -- proto: ComputerTabletopId - entities: - - uid: 15134 - components: - - type: Transform - pos: 68.5,51.5 - parent: 2 -- proto: ComputerTabletopMedicalRecords - entities: - - uid: 36442 - components: - - type: Transform - pos: 70.5,51.5 - parent: 2 -- proto: ComputerTabletopResearchAndDevelopment - entities: - - uid: 20694 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-33.5 - parent: 2 -- proto: ComputerTabletopSurveillanceCameraMonitor - entities: - - uid: 15088 + - uid: 15220 components: - type: Transform - pos: 68.5,54.5 + rot: 1.5707963267948966 rad + pos: 99.5,43.5 parent: 2 - proto: ComputerTechnologyDiskTerminal entities: @@ -116221,172 +98007,6 @@ entities: - type: Transform pos: -31.5,19.5 parent: 2 -- proto: ComputerWallmountBankATM - entities: - - uid: 36631 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 90.5,37.5 - parent: 2 - - uid: 36632 - components: - - type: Transform - pos: 61.5,43.5 - parent: 2 - - uid: 36633 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 20.5,47.5 - parent: 2 - - uid: 36634 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 6.5,60.5 - parent: 2 - - uid: 36635 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,56.5 - parent: 2 - - uid: 36636 - components: - - type: Transform - pos: -15.5,47.5 - parent: 2 - - uid: 36639 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,56.5 - parent: 2 - - uid: 36640 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,1.5 - parent: 2 - - uid: 36641 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-8.5 - parent: 2 - - uid: 36642 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 10.5,-10.5 - parent: 2 - - uid: 36643 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 11.5,-29.5 - parent: 2 - - uid: 36644 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 30.5,-18.5 - parent: 2 - - uid: 36645 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 44.5,-18.5 - parent: 2 - - uid: 36646 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-35.5 - parent: 2 - - uid: 36647 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 26.5,-53.5 - parent: 2 - - uid: 36648 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 80.5,-11.5 - parent: 2 - - uid: 36649 - components: - - type: Transform - pos: 92.5,-18.5 - parent: 2 - - uid: 36650 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 53.5,-6.5 - parent: 2 - - uid: 36651 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 44.5,-5.5 - parent: 2 - - uid: 36652 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 26.5,27.5 - parent: 2 - - uid: 36653 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 21.5,4.5 - parent: 2 - - uid: 36654 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 22.5,-12.5 - parent: 2 - - uid: 36655 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 29.5,-3.5 - parent: 2 - - uid: 36656 - components: - - type: Transform - pos: 30.5,35.5 - parent: 2 - - uid: 36657 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,42.5 - parent: 2 - - uid: 38297 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 84.5,11.5 - parent: 2 - - uid: 38298 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 101.5,19.5 - parent: 2 - - uid: 38299 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,7.5 - parent: 2 - proto: ContainmentFieldGenerator entities: - uid: 15231 @@ -116459,44 +98079,6 @@ entities: - type: Transform pos: 100.5,-41.5 parent: 2 -- proto: ContrabandPallet - entities: - - uid: 661 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 16.5,27.5 - parent: 2 - - uid: 24494 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 17.5,27.5 - parent: 2 - - uid: 26915 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 16.5,25.5 - parent: 2 - - uid: 29132 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 17.5,25.5 - parent: 2 - - uid: 31358 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 17.5,26.5 - parent: 2 - - uid: 31385 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 16.5,26.5 - parent: 2 - proto: ContrabassInstrument entities: - uid: 15245 @@ -116506,16 +98088,6 @@ entities: parent: 2 - proto: ConveyorBelt entities: - - uid: 13021 - components: - - type: Transform - pos: 16.5,31.5 - parent: 2 - - uid: 13022 - components: - - type: Transform - pos: 16.5,30.5 - parent: 2 - uid: 15246 components: - type: Transform @@ -116749,11 +98321,6 @@ entities: rot: 1.5707963267948966 rad pos: 125.5,-8.5 parent: 2 - - uid: 31373 - components: - - type: Transform - pos: 16.5,29.5 - parent: 2 - proto: CorporateCircuitBoard entities: - uid: 15286 @@ -116786,18 +98353,6 @@ entities: - 0 - 0 - 0 -- proto: CrateArtifactContainer - entities: - - uid: 36544 - components: - - type: Transform - pos: 62.5,-26.5 - parent: 2 - - uid: 36545 - components: - - type: Transform - pos: 62.5,-40.5 - parent: 2 - proto: CrateCoffin entities: - uid: 15288 @@ -116820,6 +98375,31 @@ entities: - type: Transform pos: -9.5,73.5 parent: 2 +- proto: CrateEmergencyO2Kit + entities: + - uid: 15292 + components: + - type: Transform + pos: 21.5,28.5 + parent: 2 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.1495 + moles: + - 3.0981817 + - 11.655066 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - proto: CrateEmergencyRadiation entities: - uid: 15293 @@ -117734,13 +99314,6 @@ entities: showEnts: False occludes: True ent: null -- proto: CrateRadioStationVinyls5 - entities: - - uid: 36477 - components: - - type: Transform - pos: -10.5,50.5 - parent: 2 - proto: CrateSecurityTrackingMindshieldImplants entities: - uid: 15373 @@ -117889,6 +99462,11 @@ entities: - type: Transform pos: 30.455694,-46.39517 parent: 2 + - uid: 15385 + components: + - type: Transform + pos: 62.451862,-42.416447 + parent: 2 - proto: CrowbarRed entities: - uid: 15386 @@ -117941,6 +99519,7 @@ entities: - uid: 15395 components: - type: Transform + rot: 3.141592653589793 rad pos: 21.5,51.5 parent: 2 - uid: 15396 @@ -117958,6 +99537,7 @@ entities: - uid: 15398 components: - type: Transform + rot: 3.141592653589793 rad pos: 97.5,21.5 parent: 2 - proto: CryogenicSleepUnitSpawnerLateJoin @@ -117965,6 +99545,7 @@ entities: - uid: 15399 components: - type: Transform + rot: 3.141592653589793 rad pos: 100.5,21.5 parent: 2 - proto: CryoPod @@ -118123,13 +99704,20 @@ entities: parent: 2 - proto: DefaultStationBeaconArtifactLab entities: - - uid: 22497 + - uid: 15424 components: - type: Transform - pos: 56.5,-33.5 + pos: 58.5,-31.5 parent: 2 - proto: DefaultStationBeaconAtmospherics entities: + - uid: 15425 + components: + - type: Transform + pos: 60.5,-37.5 + parent: 2 + - type: NavMapBeacon + text: Gas Storage - uid: 15426 components: - type: Transform @@ -129712,6 +111300,13 @@ entities: - type: Transform pos: 35.5,-19.5 parent: 2 +- proto: ExplosivesSignMed + entities: + - uid: 17408 + components: + - type: Transform + pos: 59.5,-31.5 + parent: 2 - proto: ExtendedEmergencyOxygenTankFilled entities: - uid: 17409 @@ -129957,6 +111552,11 @@ entities: - type: Transform pos: 57.5,-18.5 parent: 2 + - uid: 17457 + components: + - type: Transform + pos: 58.5,-34.5 + parent: 2 - uid: 17458 components: - type: Transform @@ -130288,6 +111888,11 @@ entities: - type: Transform pos: 24.5,60.5 parent: 2 + - uid: 17516 + components: + - type: Transform + pos: 55.5,-43.5 + parent: 2 - uid: 17517 components: - type: Transform @@ -130839,6 +112444,8 @@ entities: parent: 2 - type: DeviceList devices: + - 17770 + - 17771 - 17755 - 17754 - 17753 @@ -130980,6 +112587,7 @@ entities: parent: 2 - type: DeviceList devices: + - 755 - 17846 - uid: 17585 components: @@ -132398,6 +114006,16 @@ entities: - type: Transform pos: 26.5,30.5 parent: 2 + - uid: 17770 + components: + - type: Transform + pos: 22.5,25.5 + parent: 2 + - uid: 17771 + components: + - type: Transform + pos: 22.5,26.5 + parent: 2 - uid: 17772 components: - type: Transform @@ -134771,22 +116389,15 @@ entities: - type: Transform pos: 84.508354,-58.45454 parent: 2 - - uid: 18227 - components: - - type: Transform - pos: 81.58648,-54.126415 - parent: 2 - - uid: 36604 + - uid: 18226 components: - type: Transform - rot: 3.141592653589793 rad - pos: 73.93664,-58.63711 + pos: 72.133354,-56.970165 parent: 2 - - uid: 36605 + - uid: 18227 components: - type: Transform - rot: 3.141592653589793 rad - pos: 73.81427,-55.77515 + pos: 81.58648,-54.126415 parent: 2 - proto: FloraTree entities: @@ -135247,6 +116858,12 @@ entities: color: '#22BA29FF' - proto: GasFilterFlipped entities: + - uid: 18293 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 54.5,-34.5 + parent: 2 - uid: 18294 components: - type: Transform @@ -135290,28 +116907,19 @@ entities: parent: 2 - proto: GasMixer entities: - - uid: 657 + - uid: 18300 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 58.5,-30.5 + rot: -1.5707963267948966 rad + pos: 52.5,-35.5 parent: 2 -- proto: GasMixerFlipped - entities: - - uid: 22496 + - uid: 18301 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-36.5 + pos: 56.5,-27.5 parent: 2 - proto: GasOutletInjector entities: - - uid: 17771 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-30.5 - parent: 2 - uid: 18302 components: - type: Transform @@ -135354,12 +116962,6 @@ entities: rot: -1.5707963267948966 rad pos: 91.5,-26.5 parent: 2 - - uid: 30762 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-36.5 - parent: 2 - proto: GasPassiveGate entities: - uid: 18309 @@ -135373,12 +116975,6 @@ entities: color: '#03FCD3FF' - proto: GasPassiveVent entities: - - uid: 9 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-28.5 - parent: 2 - uid: 18310 components: - type: Transform @@ -135397,6 +116993,18 @@ entities: rot: 3.141592653589793 rad pos: 32.5,-29.5 parent: 2 + - uid: 18313 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-29.5 + parent: 2 + - uid: 18314 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 60.5,-30.5 + parent: 2 - uid: 18315 components: - type: Transform @@ -135503,20 +117111,8 @@ entities: rot: -1.5707963267948966 rad pos: 98.5,32.5 parent: 2 - - uid: 28046 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-38.5 - parent: 2 - proto: GasPipeBend entities: - - uid: 18226 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-36.5 - parent: 2 - uid: 18331 components: - type: Transform @@ -136712,6 +118308,42 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' + - uid: 18486 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-30.5 + parent: 2 + - uid: 18487 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 55.5,-27.5 + parent: 2 + - uid: 18488 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 59.5,-41.5 + parent: 2 + - uid: 18489 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-36.5 + parent: 2 + - uid: 18490 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 62.5,-36.5 + parent: 2 + - uid: 18491 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-41.5 + parent: 2 - uid: 18492 components: - type: Transform @@ -137701,44 +119333,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' - - uid: 22720 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-39.5 - parent: 2 - - uid: 22721 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-38.5 - parent: 2 - - uid: 22725 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-30.5 - parent: 2 - - uid: 22730 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-27.5 - parent: 2 - - uid: 25359 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-33.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 29733 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-28.5 - parent: 2 - proto: GasPipeFourway entities: - uid: 18621 @@ -138128,20 +119722,6 @@ entities: color: '#990000FF' - proto: GasPipeStraight entities: - - uid: 8 - components: - - type: Transform - pos: 56.5,-31.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 12216 - components: - - type: Transform - pos: 56.5,-29.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - uid: 18674 components: - type: Transform @@ -144465,6 +126045,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' + - uid: 19487 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 25.5,26.5 + parent: 2 + - type: AtmosPipeColor + color: '#990000FF' - uid: 19488 components: - type: Transform @@ -145177,6 +126765,13 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 19577 + components: + - type: Transform + pos: 18.5,28.5 + parent: 2 + - type: AtmosPipeColor + color: '#0055CCFF' - uid: 19578 components: - type: Transform @@ -153731,11 +135326,47 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' - - uid: 20696 + - uid: 20691 components: - type: Transform rot: -1.5707963267948966 rad - pos: 64.5,-33.5 + pos: 56.5,-29.5 + parent: 2 + - uid: 20692 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 58.5,-29.5 + parent: 2 + - uid: 20693 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 59.5,-29.5 + parent: 2 + - uid: 20694 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-30.5 + parent: 2 + - uid: 20695 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 59.5,-30.5 + parent: 2 + - uid: 20696 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-29.5 + parent: 2 + - uid: 20697 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 56.5,-28.5 parent: 2 - uid: 20698 components: @@ -153749,6 +135380,52 @@ entities: rot: 1.5707963267948966 rad pos: 63.5,-33.5 parent: 2 + - uid: 20700 + components: + - type: Transform + pos: 64.5,-34.5 + parent: 2 + - uid: 20701 + components: + - type: Transform + pos: 64.5,-35.5 + parent: 2 + - uid: 20702 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-36.5 + parent: 2 + - uid: 20703 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-37.5 + parent: 2 + - uid: 20704 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-38.5 + parent: 2 + - uid: 20705 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-39.5 + parent: 2 + - uid: 20706 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-40.5 + parent: 2 + - uid: 20707 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 61.5,-41.5 + parent: 2 - uid: 20708 components: - type: Transform @@ -158293,6 +139970,13 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' + - uid: 21298 + components: + - type: Transform + pos: 56.5,-34.5 + parent: 2 + - type: AtmosPipeColor + color: '#990000FF' - uid: 21299 components: - type: Transform @@ -165327,151 +147011,8 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' - - uid: 22723 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 59.5,-28.5 - parent: 2 - - uid: 22726 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 59.5,-30.5 - parent: 2 - - uid: 25313 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 55.5,-34.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 25314 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 55.5,-35.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 25358 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,-33.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 29178 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-38.5 - parent: 2 - - uid: 29396 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 55.5,-37.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 29397 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 55.5,-36.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 31948 - components: - - type: Transform - pos: 56.5,-30.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 32070 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-36.5 - parent: 2 - - uid: 36445 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 24.5,26.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 36446 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 23.5,26.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 36447 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 22.5,26.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 36448 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 21.5,26.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 36449 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 20.5,26.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - proto: GasPipeTJunction entities: - - uid: 18490 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 25.5,26.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 18491 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 18.5,28.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 20706 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,-34.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 20707 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,-32.5 - parent: 2 - - type: AtmosPipeColor - color: '#990000FF' - uid: 22212 components: - type: Transform @@ -167582,6 +149123,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' + - uid: 22485 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-32.5 + parent: 2 + - type: AtmosPipeColor + color: '#990000FF' - uid: 22486 components: - type: Transform @@ -167658,6 +149207,16 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' + - uid: 22496 + components: + - type: Transform + pos: 64.5,-33.5 + parent: 2 + - uid: 22497 + components: + - type: Transform + pos: 60.5,-41.5 + parent: 2 - uid: 22498 components: - type: Transform @@ -169329,96 +150888,94 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' - - uid: 31409 - components: - - type: Transform - pos: 55.5,-33.5 - parent: 2 - - type: AtmosPipeColor - color: '#0335FCFF' - proto: GasPort entities: - - uid: 4633 + - uid: 22716 components: - type: Transform - rot: 3.141592653589793 rad - pos: 55.5,-27.5 + rot: 1.5707963267948966 rad + pos: -30.5,21.5 parent: 2 - - uid: 4636 + - uid: 22717 components: - type: Transform - pos: 57.5,-35.5 + rot: 1.5707963267948966 rad + pos: -30.5,22.5 parent: 2 - - uid: 14637 + - uid: 22718 components: - type: Transform - pos: 58.5,-35.5 + rot: -1.5707963267948966 rad + pos: -28.5,74.5 parent: 2 - - uid: 15292 + - uid: 22719 components: - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-31.5 + rot: 1.5707963267948966 rad + pos: 51.5,-35.5 parent: 2 - - uid: 18313 + - uid: 22720 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,-34.5 + pos: 52.5,-34.5 parent: 2 - - uid: 19487 + - uid: 22721 components: - type: Transform rot: -1.5707963267948966 rad pos: 53.5,-35.5 parent: 2 - - uid: 19577 + - uid: 22722 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 54.5,-35.5 + parent: 2 + - uid: 22723 components: - type: Transform rot: 1.5707963267948966 rad - pos: 51.5,-35.5 + pos: 53.5,-34.5 parent: 2 - - uid: 21298 + - uid: 22724 components: - type: Transform - rot: 3.141592653589793 rad - pos: 56.5,-27.5 + rot: -1.5707963267948966 rad + pos: 55.5,-34.5 parent: 2 - - uid: 22716 + - uid: 22725 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -30.5,21.5 + rot: 3.141592653589793 rad + pos: 57.5,-35.5 parent: 2 - - uid: 22717 + - uid: 22726 components: - type: Transform rot: 1.5707963267948966 rad - pos: -30.5,22.5 + pos: 55.5,-29.5 parent: 2 - - uid: 22718 + - uid: 22727 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,74.5 + pos: 55.5,-26.5 parent: 2 - - uid: 22719 + - uid: 22728 components: - type: Transform - rot: 3.141592653589793 rad - pos: 58.5,-31.5 + pos: 56.5,-26.5 parent: 2 - - uid: 22722 + - uid: 22729 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-27.5 + rot: 3.141592653589793 rad + pos: 59.5,-42.5 parent: 2 - - uid: 22729 + - uid: 22730 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 51.5,-34.5 + rot: 3.141592653589793 rad + pos: 60.5,-42.5 parent: 2 - uid: 22731 components: @@ -169585,26 +151142,8 @@ entities: rot: 3.141592653589793 rad pos: 73.5,6.5 parent: 2 - - uid: 32061 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-39.5 - parent: 2 - proto: GasPressurePump entities: - - uid: 18300 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 52.5,-35.5 - parent: 2 - - uid: 20691 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 52.5,-34.5 - parent: 2 - uid: 22757 components: - type: Transform @@ -169631,6 +151170,12 @@ entities: parent: 2 - type: AtmosPipeColor color: '#03FCD3FF' + - uid: 22760 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-29.5 + parent: 2 - uid: 22761 components: - type: Transform @@ -169845,11 +151390,6 @@ entities: color: '#0055CCFF' - proto: GasThermoMachineFreezer entities: - - uid: 18487 - components: - - type: Transform - pos: 55.5,-26.5 - parent: 2 - uid: 22790 components: - type: Transform @@ -169860,6 +151400,11 @@ entities: - type: Transform pos: 32.5,-28.5 parent: 2 + - uid: 22792 + components: + - type: Transform + pos: 57.5,-34.5 + parent: 2 - uid: 22793 components: - type: Transform @@ -169907,11 +151452,6 @@ entities: parent: 2 - proto: GasThermoMachineHeater entities: - - uid: 20697 - components: - - type: Transform - pos: 56.5,-26.5 - parent: 2 - uid: 22800 components: - type: MetaData @@ -169952,6 +151492,14 @@ entities: parent: 2 - type: GasValve open: False + - uid: 22806 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 57.5,-30.5 + parent: 2 + - type: GasValve + open: False - uid: 22807 components: - type: MetaData @@ -170750,6 +152298,14 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 22907 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,-33.5 + parent: 2 + - type: AtmosPipeColor + color: '#0055CCFF' - uid: 22908 components: - type: Transform @@ -171829,61 +153385,8 @@ entities: parent: 2 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 25160 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 55.5,-38.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 29224 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 25333 - components: - - type: Transform - pos: 57.5,-32.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 29224 - - type: AtmosPipeColor - color: '#0335FCFF' - - uid: 36444 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 19.5,28.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 30843 - - type: AtmosPipeColor - color: '#0335FCFF' - proto: GasVentScrubber entities: - - uid: 660 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-34.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 29224 - - type: AtmosPipeColor - color: '#990000FF' - - uid: 22806 - components: - - type: Transform - pos: 56.5,-28.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 29224 - - type: AtmosPipeColor - color: '#990000FF' - uid: 23044 components: - type: Transform @@ -172623,6 +154126,13 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' + - uid: 23139 + components: + - type: Transform + pos: 56.5,-31.5 + parent: 2 + - type: AtmosPipeColor + color: '#990000FF' - uid: 23140 components: - type: Transform @@ -173641,17 +155151,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#990000FF' - - uid: 36443 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 19.5,26.5 - parent: 2 - - type: DeviceNetwork - deviceLists: - - 30843 - - type: AtmosPipeColor - color: '#990000FF' - proto: GasVolumePump entities: - uid: 23269 @@ -173669,18 +155168,6 @@ entities: parent: 2 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 25561 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-38.5 - parent: 2 - - uid: 27085 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-28.5 - parent: 2 - proto: Gateway entities: - uid: 23271 @@ -173780,6 +155267,11 @@ entities: - type: Transform pos: 8.5,7.5 parent: 2 + - uid: 23288 + components: + - type: Transform + pos: 20.5,28.5 + parent: 2 - uid: 23289 components: - type: Transform @@ -173840,6 +155332,11 @@ entities: - type: Transform pos: 30.5,65.5 parent: 2 + - uid: 23301 + components: + - type: Transform + pos: 63.5,-44.5 + parent: 2 - uid: 23302 components: - type: Transform @@ -173857,13 +155354,6 @@ entities: - type: Transform pos: 83.5,47.5 parent: 2 -- proto: GlimmerDrain - entities: - - uid: 36514 - components: - - type: Transform - pos: 31.5,-30.5 - parent: 2 - proto: GlimmerProber entities: - uid: 23305 @@ -173907,126 +155397,6 @@ entities: radius: 175.75 - proto: Grille entities: - - uid: 755 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-51.5 - parent: 2 - - uid: 1603 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-61.5 - parent: 2 - - uid: 1604 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-64.5 - parent: 2 - - uid: 1637 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-64.5 - parent: 2 - - uid: 1638 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-62.5 - parent: 2 - - uid: 1639 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-54.5 - parent: 2 - - uid: 1640 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-53.5 - parent: 2 - - uid: 1641 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-51.5 - parent: 2 - - uid: 1642 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-50.5 - parent: 2 - - uid: 1644 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-52.5 - parent: 2 - - uid: 1645 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-55.5 - parent: 2 - - uid: 1647 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-63.5 - parent: 2 - - uid: 1648 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-60.5 - parent: 2 - - uid: 1649 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-59.5 - parent: 2 - - uid: 1650 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-62.5 - parent: 2 - - uid: 1654 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-53.5 - parent: 2 - - uid: 1656 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-52.5 - parent: 2 - - uid: 1658 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-50.5 - parent: 2 - - uid: 13202 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-58.5 - parent: 2 - - uid: 14609 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-28.5 - parent: 2 - uid: 23310 components: - type: Transform @@ -174717,11 +156087,15 @@ entities: - type: Transform pos: -75.5,3.5 parent: 2 + - uid: 23447 + components: + - type: Transform + pos: -75.5,2.5 + parent: 2 - uid: 23448 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-34.5 + pos: -75.5,0.5 parent: 2 - uid: 23449 components: @@ -176545,6 +157919,11 @@ entities: - type: Transform pos: 50.5,-32.5 parent: 2 + - uid: 23808 + components: + - type: Transform + pos: 55.5,-36.5 + parent: 2 - uid: 23809 components: - type: Transform @@ -176555,6 +157934,11 @@ entities: - type: Transform pos: 59.5,-33.5 parent: 2 + - uid: 23811 + components: + - type: Transform + pos: 63.5,-33.5 + parent: 2 - uid: 23812 components: - type: Transform @@ -176570,6 +157954,11 @@ entities: - type: Transform pos: 59.5,-29.5 parent: 2 + - uid: 23815 + components: + - type: Transform + pos: 59.5,-27.5 + parent: 2 - uid: 23816 components: - type: Transform @@ -176650,6 +158039,126 @@ entities: - type: Transform pos: 64.5,61.5 parent: 2 + - uid: 23832 + components: + - type: Transform + pos: 88.5,65.5 + parent: 2 + - uid: 23833 + components: + - type: Transform + pos: 87.5,65.5 + parent: 2 + - uid: 23834 + components: + - type: Transform + pos: 86.5,65.5 + parent: 2 + - uid: 23835 + components: + - type: Transform + pos: 85.5,65.5 + parent: 2 + - uid: 23836 + components: + - type: Transform + pos: 84.5,65.5 + parent: 2 + - uid: 23837 + components: + - type: Transform + pos: 83.5,65.5 + parent: 2 + - uid: 23838 + components: + - type: Transform + pos: 82.5,65.5 + parent: 2 + - uid: 23839 + components: + - type: Transform + pos: 80.5,65.5 + parent: 2 + - uid: 23840 + components: + - type: Transform + pos: 79.5,65.5 + parent: 2 + - uid: 23841 + components: + - type: Transform + pos: 78.5,65.5 + parent: 2 + - uid: 23842 + components: + - type: Transform + pos: 77.5,65.5 + parent: 2 + - uid: 23843 + components: + - type: Transform + pos: 76.5,65.5 + parent: 2 + - uid: 23844 + components: + - type: Transform + pos: 75.5,65.5 + parent: 2 + - uid: 23845 + components: + - type: Transform + pos: 71.5,65.5 + parent: 2 + - uid: 23846 + components: + - type: Transform + pos: 74.5,65.5 + parent: 2 + - uid: 23847 + components: + - type: Transform + pos: 70.5,65.5 + parent: 2 + - uid: 23848 + components: + - type: Transform + pos: 69.5,65.5 + parent: 2 + - uid: 23849 + components: + - type: Transform + pos: 68.5,65.5 + parent: 2 + - uid: 23850 + components: + - type: Transform + pos: 67.5,65.5 + parent: 2 + - uid: 23851 + components: + - type: Transform + pos: 66.5,65.5 + parent: 2 + - uid: 23852 + components: + - type: Transform + pos: 65.5,65.5 + parent: 2 + - uid: 23853 + components: + - type: Transform + pos: 58.5,65.5 + parent: 2 + - uid: 23854 + components: + - type: Transform + pos: 59.5,65.5 + parent: 2 + - uid: 23855 + components: + - type: Transform + pos: 60.5,65.5 + parent: 2 - uid: 23856 components: - type: Transform @@ -177165,6 +158674,11 @@ entities: - type: Transform pos: 98.5,-18.5 parent: 2 + - uid: 23959 + components: + - type: Transform + pos: 88.5,67.5 + parent: 2 - uid: 23960 components: - type: Transform @@ -177180,6 +158694,106 @@ entities: - type: Transform pos: 90.5,-41.5 parent: 2 + - uid: 23963 + components: + - type: Transform + pos: 87.5,67.5 + parent: 2 + - uid: 23964 + components: + - type: Transform + pos: 86.5,67.5 + parent: 2 + - uid: 23965 + components: + - type: Transform + pos: 85.5,67.5 + parent: 2 + - uid: 23966 + components: + - type: Transform + pos: 84.5,67.5 + parent: 2 + - uid: 23967 + components: + - type: Transform + pos: 83.5,67.5 + parent: 2 + - uid: 23968 + components: + - type: Transform + pos: 82.5,67.5 + parent: 2 + - uid: 23969 + components: + - type: Transform + pos: 80.5,67.5 + parent: 2 + - uid: 23970 + components: + - type: Transform + pos: 79.5,67.5 + parent: 2 + - uid: 23971 + components: + - type: Transform + pos: 78.5,67.5 + parent: 2 + - uid: 23972 + components: + - type: Transform + pos: 77.5,67.5 + parent: 2 + - uid: 23973 + components: + - type: Transform + pos: 76.5,67.5 + parent: 2 + - uid: 23974 + components: + - type: Transform + pos: 75.5,67.5 + parent: 2 + - uid: 23975 + components: + - type: Transform + pos: 74.5,67.5 + parent: 2 + - uid: 23976 + components: + - type: Transform + pos: 71.5,67.5 + parent: 2 + - uid: 23977 + components: + - type: Transform + pos: 70.5,67.5 + parent: 2 + - uid: 23978 + components: + - type: Transform + pos: 69.5,67.5 + parent: 2 + - uid: 23979 + components: + - type: Transform + pos: 68.5,67.5 + parent: 2 + - uid: 23980 + components: + - type: Transform + pos: 67.5,67.5 + parent: 2 + - uid: 23981 + components: + - type: Transform + pos: 66.5,67.5 + parent: 2 + - uid: 23982 + components: + - type: Transform + pos: 65.5,67.5 + parent: 2 - uid: 23983 components: - type: Transform @@ -179742,6 +161356,16 @@ entities: - type: Transform pos: 53.5,71.5 parent: 2 + - uid: 24494 + components: + - type: Transform + pos: 58.5,67.5 + parent: 2 + - uid: 24495 + components: + - type: Transform + pos: 58.5,68.5 + parent: 2 - uid: 24496 components: - type: Transform @@ -180370,1147 +161994,6 @@ entities: rot: 3.141592653589793 rad pos: 113.5,46.5 parent: 2 - - uid: 25513 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-36.5 - parent: 2 - - uid: 28257 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-57.5 - parent: 2 - - uid: 29796 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-37.5 - parent: 2 - - uid: 31949 - components: - - type: Transform - pos: 59.5,-34.5 - parent: 2 - - uid: 31954 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-32.5 - parent: 2 - - uid: 32072 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-63.5 - parent: 2 - - uid: 32415 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-61.5 - parent: 2 - - uid: 32416 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-60.5 - parent: 2 - - uid: 32421 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -27.5,-79.5 - parent: 2 - - uid: 32422 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -28.5,-79.5 - parent: 2 - - uid: 32423 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -24.5,-79.5 - parent: 2 - - uid: 32424 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -26.5,-79.5 - parent: 2 - - uid: 32425 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -25.5,-79.5 - parent: 2 - - uid: 32426 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -23.5,-79.5 - parent: 2 - - uid: 33370 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 116.5,-56.5 - parent: 2 - - uid: 35610 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-38.5 - parent: 2 - - uid: 35611 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,73.5 - parent: 2 - - uid: 36017 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 67.5,73.5 - parent: 2 - - uid: 36018 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 66.5,73.5 - parent: 2 - - uid: 36022 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,73.5 - parent: 2 - - uid: 36024 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 65.5,73.5 - parent: 2 - - uid: 36031 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 87.5,73.5 - parent: 2 - - uid: 36032 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 85.5,73.5 - parent: 2 - - uid: 36033 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 86.5,73.5 - parent: 2 - - uid: 36034 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 65.5,71.5 - parent: 2 - - uid: 36035 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 88.5,73.5 - parent: 2 - - uid: 36040 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 66.5,71.5 - parent: 2 - - uid: 36041 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 67.5,71.5 - parent: 2 - - uid: 36042 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,71.5 - parent: 2 - - uid: 36043 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,71.5 - parent: 2 - - uid: 36044 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,71.5 - parent: 2 - - uid: 36045 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 71.5,71.5 - parent: 2 - - uid: 36048 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 74.5,71.5 - parent: 2 - - uid: 36049 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 75.5,71.5 - parent: 2 - - uid: 36050 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 76.5,71.5 - parent: 2 - - uid: 36051 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 77.5,71.5 - parent: 2 - - uid: 36052 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 78.5,71.5 - parent: 2 - - uid: 36053 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 79.5,71.5 - parent: 2 - - uid: 36054 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 80.5,71.5 - parent: 2 - - uid: 36057 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 83.5,71.5 - parent: 2 - - uid: 36058 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 84.5,71.5 - parent: 2 - - uid: 36059 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 85.5,71.5 - parent: 2 - - uid: 36060 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 86.5,71.5 - parent: 2 - - uid: 36061 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 87.5,71.5 - parent: 2 - - uid: 36062 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 88.5,71.5 - parent: 2 - - uid: 36122 - components: - - type: Transform - pos: 142.5,62.5 - parent: 2 - - uid: 36123 - components: - - type: Transform - pos: 142.5,61.5 - parent: 2 - - uid: 36124 - components: - - type: Transform - pos: 142.5,60.5 - parent: 2 - - uid: 36126 - components: - - type: Transform - pos: 142.5,43.5 - parent: 2 - - uid: 36127 - components: - - type: Transform - pos: 142.5,44.5 - parent: 2 - - uid: 36128 - components: - - type: Transform - pos: 142.5,45.5 - parent: 2 - - uid: 36134 - components: - - type: Transform - pos: 140.5,61.5 - parent: 2 - - uid: 36135 - components: - - type: Transform - pos: 139.5,61.5 - parent: 2 - - uid: 36136 - components: - - type: Transform - pos: 138.5,61.5 - parent: 2 - - uid: 36137 - components: - - type: Transform - pos: 137.5,61.5 - parent: 2 - - uid: 36138 - components: - - type: Transform - pos: 136.5,61.5 - parent: 2 - - uid: 36139 - components: - - type: Transform - pos: 140.5,60.5 - parent: 2 - - uid: 36140 - components: - - type: Transform - pos: 140.5,59.5 - parent: 2 - - uid: 36141 - components: - - type: Transform - pos: 140.5,58.5 - parent: 2 - - uid: 36142 - components: - - type: Transform - pos: 140.5,57.5 - parent: 2 - - uid: 36143 - components: - - type: Transform - pos: 140.5,56.5 - parent: 2 - - uid: 36144 - components: - - type: Transform - pos: 140.5,55.5 - parent: 2 - - uid: 36145 - components: - - type: Transform - pos: 140.5,54.5 - parent: 2 - - uid: 36146 - components: - - type: Transform - pos: 140.5,52.5 - parent: 2 - - uid: 36147 - components: - - type: Transform - pos: 140.5,51.5 - parent: 2 - - uid: 36148 - components: - - type: Transform - pos: 140.5,50.5 - parent: 2 - - uid: 36149 - components: - - type: Transform - pos: 140.5,49.5 - parent: 2 - - uid: 36150 - components: - - type: Transform - pos: 140.5,48.5 - parent: 2 - - uid: 36151 - components: - - type: Transform - pos: 140.5,47.5 - parent: 2 - - uid: 36152 - components: - - type: Transform - pos: 140.5,46.5 - parent: 2 - - uid: 36153 - components: - - type: Transform - pos: 140.5,45.5 - parent: 2 - - uid: 36154 - components: - - type: Transform - pos: 140.5,44.5 - parent: 2 - - uid: 36155 - components: - - type: Transform - pos: 140.5,53.5 - parent: 2 - - uid: 36156 - components: - - type: Transform - pos: 139.5,44.5 - parent: 2 - - uid: 36157 - components: - - type: Transform - pos: 138.5,44.5 - parent: 2 - - uid: 36190 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -22.5,-79.5 - parent: 2 - - uid: 36191 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -21.5,-79.5 - parent: 2 - - uid: 36192 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-79.5 - parent: 2 - - uid: 36193 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-78.5 - parent: 2 - - uid: 36194 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-77.5 - parent: 2 - - uid: 36195 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-76.5 - parent: 2 - - uid: 36196 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-75.5 - parent: 2 - - uid: 36197 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-74.5 - parent: 2 - - uid: 36198 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-73.5 - parent: 2 - - uid: 36199 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-72.5 - parent: 2 - - uid: 36200 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,-74.5 - parent: 2 - - uid: 36201 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,-80.5 - parent: 2 - - uid: 36202 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,-81.5 - parent: 2 - - uid: 36203 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-81.5 - parent: 2 - - uid: 36204 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -25.5,-81.5 - parent: 2 - - uid: 36205 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -26.5,-81.5 - parent: 2 - - uid: 36206 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -27.5,-81.5 - parent: 2 - - uid: 36207 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -28.5,-81.5 - parent: 2 - - uid: 36208 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -29.5,-79.5 - parent: 2 - - uid: 36209 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -29.5,-78.5 - parent: 2 - - uid: 36231 - components: - - type: Transform - pos: -74.5,4.5 - parent: 2 - - uid: 36236 - components: - - type: Transform - pos: -74.5,-1.5 - parent: 2 - - uid: 36237 - components: - - type: Transform - pos: -74.5,-2.5 - parent: 2 - - uid: 36238 - components: - - type: Transform - pos: -74.5,-8.5 - parent: 2 - - uid: 36239 - components: - - type: Transform - pos: -74.5,-9.5 - parent: 2 - - uid: 36240 - components: - - type: Transform - pos: -74.5,-10.5 - parent: 2 - - uid: 36267 - components: - - type: Transform - pos: -73.5,3.5 - parent: 2 - - uid: 36268 - components: - - type: Transform - pos: -74.5,5.5 - parent: 2 - - uid: 36269 - components: - - type: Transform - pos: -74.5,12.5 - parent: 2 - - uid: 36270 - components: - - type: Transform - pos: -74.5,13.5 - parent: 2 - - uid: 36279 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -46.5,66.5 - parent: 2 - - uid: 36280 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -47.5,66.5 - parent: 2 - - uid: 36281 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -48.5,66.5 - parent: 2 - - uid: 36282 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,66.5 - parent: 2 - - uid: 36283 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -50.5,66.5 - parent: 2 - - uid: 36284 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,66.5 - parent: 2 - - uid: 36285 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,67.5 - parent: 2 - - uid: 36286 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,68.5 - parent: 2 - - uid: 36287 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,69.5 - parent: 2 - - uid: 36288 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,70.5 - parent: 2 - - uid: 36289 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,71.5 - parent: 2 - - uid: 36290 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,72.5 - parent: 2 - - uid: 36291 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,73.5 - parent: 2 - - uid: 36292 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,80.5 - parent: 2 - - uid: 36293 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,81.5 - parent: 2 - - uid: 36294 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,82.5 - parent: 2 - - uid: 36295 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,83.5 - parent: 2 - - uid: 36296 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,84.5 - parent: 2 - - uid: 36297 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,85.5 - parent: 2 - - uid: 36298 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,86.5 - parent: 2 - - uid: 36299 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,87.5 - parent: 2 - - uid: 36300 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,88.5 - parent: 2 - - uid: 36301 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,89.5 - parent: 2 - - uid: 36302 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,90.5 - parent: 2 - - uid: 36303 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,91.5 - parent: 2 - - uid: 36307 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,93.5 - parent: 2 - - uid: 36308 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -48.5,93.5 - parent: 2 - - uid: 36309 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -47.5,93.5 - parent: 2 - - uid: 36310 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -46.5,93.5 - parent: 2 - - uid: 36311 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -45.5,93.5 - parent: 2 - - uid: 36312 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -44.5,93.5 - parent: 2 - - uid: 36313 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -43.5,93.5 - parent: 2 - - uid: 36314 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -36.5,93.5 - parent: 2 - - uid: 36315 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -35.5,93.5 - parent: 2 - - uid: 36316 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -34.5,93.5 - parent: 2 - - uid: 36317 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -33.5,93.5 - parent: 2 - - uid: 36318 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -32.5,93.5 - parent: 2 - - uid: 36319 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,93.5 - parent: 2 - - uid: 36320 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,93.5 - parent: 2 - - uid: 36321 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,93.5 - parent: 2 - - uid: 36322 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,91.5 - parent: 2 - - uid: 36323 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,91.5 - parent: 2 - - uid: 36324 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -32.5,91.5 - parent: 2 - - uid: 36325 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -33.5,91.5 - parent: 2 - - uid: 36326 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -34.5,91.5 - parent: 2 - - uid: 36327 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -35.5,91.5 - parent: 2 - - uid: 36328 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -36.5,91.5 - parent: 2 - - uid: 36329 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -37.5,91.5 - parent: 2 - - uid: 36330 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -38.5,91.5 - parent: 2 - - uid: 36331 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,91.5 - parent: 2 - - uid: 36332 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -40.5,91.5 - parent: 2 - - uid: 36333 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -41.5,91.5 - parent: 2 - - uid: 36334 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -42.5,91.5 - parent: 2 - - uid: 36335 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -43.5,91.5 - parent: 2 - - uid: 36336 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -44.5,91.5 - parent: 2 - - uid: 36337 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -45.5,91.5 - parent: 2 - - uid: 36338 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -46.5,91.5 - parent: 2 - - uid: 36339 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -47.5,91.5 - parent: 2 - - uid: 36340 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -48.5,91.5 - parent: 2 - - uid: 36341 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,91.5 - parent: 2 - - uid: 36342 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,90.5 - parent: 2 - - uid: 36343 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,89.5 - parent: 2 - - uid: 36344 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,88.5 - parent: 2 - - uid: 36345 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,87.5 - parent: 2 - - uid: 36346 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,86.5 - parent: 2 - - uid: 36347 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,85.5 - parent: 2 - - uid: 36348 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,84.5 - parent: 2 - - uid: 36349 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,83.5 - parent: 2 - - uid: 36350 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,82.5 - parent: 2 - - uid: 36351 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,81.5 - parent: 2 - - uid: 36352 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,80.5 - parent: 2 - - uid: 36353 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,79.5 - parent: 2 - - uid: 36355 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,78.5 - parent: 2 - - uid: 36356 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,77.5 - parent: 2 - - uid: 36357 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,76.5 - parent: 2 - - uid: 36358 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,75.5 - parent: 2 - - uid: 36359 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,74.5 - parent: 2 - - uid: 36360 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,73.5 - parent: 2 - - uid: 36361 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,72.5 - parent: 2 - - uid: 36362 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,71.5 - parent: 2 - - uid: 36363 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,70.5 - parent: 2 - - uid: 36364 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,69.5 - parent: 2 - - uid: 36365 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,68.5 - parent: 2 - - uid: 36366 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -48.5,68.5 - parent: 2 - - uid: 36367 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -47.5,68.5 - parent: 2 - - uid: 36368 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -46.5,68.5 - parent: 2 - - uid: 36369 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,90.5 - parent: 2 - - uid: 36370 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,89.5 - parent: 2 - - uid: 36371 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,88.5 - parent: 2 - - uid: 36372 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,87.5 - parent: 2 - - uid: 36373 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,87.5 - parent: 2 - - uid: 36374 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -32.5,87.5 - parent: 2 - proto: GrilleBroken entities: - uid: 24610 @@ -181558,6 +162041,11 @@ entities: rot: 1.5707963267948966 rad pos: 10.5,14.5 parent: 2 + - uid: 24618 + components: + - type: Transform + pos: 17.5,30.5 + parent: 2 - uid: 24619 components: - type: Transform @@ -181632,122 +162120,6 @@ entities: - type: Transform pos: 42.5,61.5 parent: 2 -- proto: GrilleDiagonal - entities: - - uid: 29399 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 70.5,73.5 - parent: 2 - - uid: 32417 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 118.5,-54.5 - parent: 2 - - uid: 32418 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 118.5,-59.5 - parent: 2 - - uid: 36028 - components: - - type: Transform - pos: 84.5,73.5 - parent: 2 - - uid: 36125 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 142.5,59.5 - parent: 2 - - uid: 36133 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 142.5,46.5 - parent: 2 - - uid: 36227 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -18.5,-75.5 - parent: 2 - - uid: 36228 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -18.5,-79.5 - parent: 2 - - uid: 36229 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,-81.5 - parent: 2 - - uid: 36230 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -24.5,-81.5 - parent: 2 - - uid: 36271 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -74.5,11.5 - parent: 2 - - uid: 36272 - components: - - type: Transform - pos: -74.5,6.5 - parent: 2 - - uid: 36273 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -74.5,-3.5 - parent: 2 - - uid: 36274 - components: - - type: Transform - pos: -74.5,-7.5 - parent: 2 - - uid: 36354 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -42.5,93.5 - parent: 2 - - uid: 36375 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -51.5,79.5 - parent: 2 - - uid: 36376 - components: - - type: Transform - pos: -51.5,74.5 - parent: 2 - - uid: 36377 - components: - - type: Transform - pos: -37.5,93.5 - parent: 2 -- proto: GunneryServerStation - entities: - - uid: 36378 - components: - - type: Transform - pos: 96.5,33.5 - parent: 2 - - type: Battery - startingCharge: 0 - - type: ApcPowerReceiver - powerLoad: 50 - proto: Gyroscope entities: - uid: 24632 @@ -181769,6 +162141,11 @@ entities: - type: Transform pos: -21.534534,39.511467 parent: 2 + - uid: 24635 + components: + - type: Transform + pos: 21.51308,26.58691 + parent: 2 - uid: 24636 components: - type: Transform @@ -184039,10 +164416,10 @@ entities: baseName: holopad - proto: HolopadScienceArtifact entities: - - uid: 18301 + - uid: 24838 components: - type: Transform - pos: 56.5,-33.5 + pos: 55.5,-30.5 parent: 2 - proto: HolopadScienceBreakroom entities: @@ -184792,22 +165169,6 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 36460 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 37.5,-48.5 - parent: 2 - - type: Fixtures - fixtures: {} - - uid: 36543 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 54.5,-36.5 - parent: 2 - - type: Fixtures - fixtures: {} - proto: IntercomSecurity entities: - uid: 24956 @@ -184825,14 +165186,6 @@ entities: parent: 2 - type: Fixtures fixtures: {} - - uid: 31378 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 19.5,28.5 - parent: 2 - - type: Fixtures - fixtures: {} - proto: IntercomService entities: - uid: 24958 @@ -184961,18 +165314,6 @@ entities: - type: Transform pos: -10.5,16.5 parent: 2 -- proto: KitchenAssembler - entities: - - uid: 24635 - components: - - type: Transform - pos: -5.5,17.5 - parent: 2 - - uid: 24838 - components: - - type: Transform - pos: -5.5,23.5 - parent: 2 - proto: KitchenElectricGrill entities: - uid: 24977 @@ -184985,18 +165326,6 @@ entities: - type: Transform pos: -7.5,21.5 parent: 2 -- proto: KitchenElectricRange - entities: - - uid: 29478 - components: - - type: Transform - pos: -7.5,17.5 - parent: 2 - - uid: 29641 - components: - - type: Transform - pos: -6.5,17.5 - parent: 2 - proto: KitchenKnife entities: - uid: 24979 @@ -185011,6 +165340,11 @@ entities: - type: Transform pos: -5.5,20.5 parent: 2 + - uid: 24981 + components: + - type: Transform + pos: -5.5,19.5 + parent: 2 - uid: 24982 components: - type: Transform @@ -185068,6 +165402,11 @@ entities: - type: Transform pos: -3.5,40.5 parent: 2 + - uid: 24993 + components: + - type: Transform + pos: -7.5,17.5 + parent: 2 - uid: 24994 components: - type: Transform @@ -185098,16 +165437,6 @@ entities: - type: Transform pos: 35.5,60.5 parent: 2 - - uid: 36512 - components: - - type: Transform - pos: -7.5,23.5 - parent: 2 - - uid: 36513 - components: - - type: Transform - pos: -7.5,19.5 - parent: 2 - proto: KitchenSpike entities: - uid: 25000 @@ -185609,42 +165938,6 @@ entities: currentLabel: Close Armory - type: NameModifier baseName: lockable button -- proto: LockableButtonResearch - entities: - - uid: 36530 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-27.5 - parent: 2 - - type: DeviceLinkSource - linkedPorts: - 1946: - - - Pressed - - Toggle - 2326: - - - Pressed - - Toggle - 2327: - - - Pressed - - Toggle - - uid: 36531 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-39.5 - parent: 2 - - type: DeviceLinkSource - linkedPorts: - 4635: - - - Pressed - - Toggle - 26328: - - - Pressed - - Toggle - 15425: - - - Pressed - - Toggle - proto: LockerDetectiveFilled entities: - uid: 25066 @@ -186187,55 +166480,42 @@ entities: parent: 2 - proto: MachineAnomalyVessel entities: - - uid: 25093 + - uid: 25092 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 45.5,-37.5 + pos: 41.5,-29.5 parent: 2 - - uid: 25094 + - uid: 25093 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 45.5,-39.5 + pos: 45.5,-29.5 parent: 2 - proto: MachineAPE entities: - - uid: 24981 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 41.5,-30.5 - parent: 2 - - uid: 24993 + - uid: 25094 components: - type: Transform rot: 1.5707963267948966 rad - pos: 41.5,-29.5 + pos: 45.5,-39.5 parent: 2 - - uid: 36515 + - uid: 25095 components: - type: Transform rot: 1.5707963267948966 rad - pos: 45.5,-29.5 + pos: 45.5,-38.5 parent: 2 - - uid: 36516 + - uid: 25096 components: - type: Transform rot: 1.5707963267948966 rad - pos: 45.5,-30.5 + pos: 45.5,-37.5 parent: 2 - proto: MachineArtifactAnalyzer entities: - - uid: 23808 - components: - - type: Transform - pos: 61.5,-29.5 - parent: 2 - - uid: 25361 + - uid: 25097 components: - type: Transform - pos: 61.5,-37.5 + pos: 61.5,-30.5 parent: 2 - proto: MachineCentrifuge entities: @@ -186244,17 +166524,6 @@ entities: - type: Transform pos: 20.5,39.5 parent: 2 - - type: DeviceLinkSink - ports: - - Start - - AutoStart - - type: DeviceLinkSource - linkedPorts: {} - lastSignals: {} - ports: - - Started - - Completed - - Failed - proto: MachineElectrolysisUnit entities: - uid: 25099 @@ -186262,25 +166531,8 @@ entities: - type: Transform pos: 20.5,38.5 parent: 2 - - type: DeviceLinkSink - ports: - - Start - - AutoStart - - type: DeviceLinkSource - linkedPorts: {} - lastSignals: {} - ports: - - Started - - Completed - - Failed - proto: MachineFrame entities: - - uid: 25092 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 45.5,-38.5 - parent: 2 - uid: 25100 components: - type: Transform @@ -186654,6 +166906,11 @@ entities: parent: 2 - proto: MaintenanceToolSpawner entities: + - uid: 25160 + components: + - type: Transform + pos: 62.5,-57.5 + parent: 2 - uid: 25161 components: - type: Transform @@ -186756,23 +167013,6 @@ entities: - type: Transform pos: 101.5,-50.5 parent: 2 -- proto: MaterialBananium - entities: - - uid: 27899 - components: - - type: Transform - pos: 41.444004,-34.26919 - parent: 2 - - uid: 36517 - components: - - type: Transform - pos: 41.566376,-34.61165 - parent: 2 - - uid: 36518 - components: - - type: Transform - pos: 41.71322,-34.342575 - parent: 2 - proto: MaterialCloth entities: - uid: 25181 @@ -187121,18 +167361,6 @@ entities: - type: Transform pos: -27.469536,6.4936976 parent: 2 -- proto: MicrophoneInstrument - entities: - - uid: 36485 - components: - - type: Transform - pos: -8.569419,49.68703 - parent: 2 - - uid: 36486 - components: - - type: Transform - pos: -8.406259,49.45873 - parent: 2 - proto: MinimoogInstrument entities: - uid: 25243 @@ -187707,12 +167935,6 @@ entities: - type: Transform pos: 67.48685,60.561733 parent: 2 - - uid: 36629 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.611972,49.209377 - parent: 2 - proto: NFAmmunitionBoxShellShotgunBeanbag entities: - uid: 25290 @@ -187923,11 +168145,6 @@ entities: parent: 2 - proto: NitrogenCanister entities: - - uid: 23139 - components: - - type: Transform - pos: 61.5,-43.5 - parent: 2 - uid: 25311 components: - type: Transform @@ -187938,6 +168155,26 @@ entities: - type: Transform pos: -45.5,-5.5 parent: 2 + - uid: 25313 + components: + - type: Transform + pos: 57.5,-38.5 + parent: 2 + - uid: 25314 + components: + - type: Transform + pos: 59.5,-38.5 + parent: 2 + - uid: 25315 + components: + - type: Transform + pos: 60.5,-38.5 + parent: 2 + - uid: 25316 + components: + - type: Transform + pos: 61.5,-38.5 + parent: 2 - uid: 25317 components: - type: Transform @@ -188013,11 +168250,6 @@ entities: - type: Transform pos: 101.5,42.5 parent: 2 - - uid: 32060 - components: - - type: Transform - pos: 61.5,-42.5 - parent: 2 - proto: NitrogenTankFilled entities: - uid: 25332 @@ -188027,10 +168259,10 @@ entities: parent: 2 - proto: NitrousOxideCanister entities: - - uid: 1917 + - uid: 25333 components: - type: Transform - pos: 60.5,-42.5 + pos: 59.5,-36.5 parent: 2 - uid: 25334 components: @@ -188173,21 +168405,21 @@ entities: ents: [] - proto: Oracle entities: - - uid: 36452 + - uid: 8 components: - type: Transform - pos: 36.5,-48.5 + pos: -9.5,50.5 parent: 2 - type: Actions actions: - - 36453 + - 9 - type: NoosphericZapPower - type: ActionsContainer - type: ContainerContainer containers: actions: !type:Container ents: - - 36453 + - 9 missingComponents: - InnatePsionicPowers - proto: OreProcessor @@ -188229,6 +168461,26 @@ entities: - type: Transform pos: -45.5,-6.5 parent: 2 + - uid: 25358 + components: + - type: Transform + pos: 57.5,-37.5 + parent: 2 + - uid: 25359 + components: + - type: Transform + pos: 59.5,-39.5 + parent: 2 + - uid: 25360 + components: + - type: Transform + pos: 60.5,-39.5 + parent: 2 + - uid: 25361 + components: + - type: Transform + pos: 61.5,-39.5 + parent: 2 - uid: 25362 components: - type: Transform @@ -188324,16 +168576,6 @@ entities: - type: Transform pos: 102.5,42.5 parent: 2 - - uid: 32058 - components: - - type: Transform - pos: 62.5,-42.5 - parent: 2 - - uid: 32059 - components: - - type: Transform - pos: 62.5,-43.5 - parent: 2 - proto: OxygenTankFilled entities: - uid: 25381 @@ -188360,6 +168602,13 @@ entities: - type: Transform pos: -6.5,51.5 parent: 2 +- proto: PaintingHelloWorld + entities: + - uid: 25385 + components: + - type: Transform + pos: -11.5,49.5 + parent: 2 - proto: PaintingMonkey entities: - uid: 25386 @@ -189091,10 +169340,10 @@ entities: parent: 2 - proto: PlasmaCanister entities: - - uid: 17408 + - uid: 25513 components: - type: Transform - pos: 57.5,-42.5 + pos: 59.5,-35.5 parent: 2 - uid: 25514 components: @@ -189106,67 +169355,14 @@ entities: - type: Transform pos: 93.5,-34.5 parent: 2 - - uid: 26047 - components: - - type: Transform - pos: 57.5,-43.5 - parent: 2 - proto: PlasmaReinforcedWindowDirectional entities: - - uid: 25097 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-37.5 - parent: 2 - - uid: 25316 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-29.5 - parent: 2 - uid: 25516 components: - type: Transform rot: 1.5707963267948966 rad pos: 99.5,-15.5 parent: 2 - - uid: 36461 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 39.5,-48.5 - parent: 2 - - uid: 36462 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 39.5,-49.5 - parent: 2 - - uid: 36463 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 39.5,-47.5 - parent: 2 - - uid: 36464 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 35.5,-49.5 - parent: 2 - - uid: 36465 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 35.5,-48.5 - parent: 2 - - uid: 36466 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 35.5,-47.5 - parent: 2 - proto: PlasmaWindoorSecureArmoryLocked entities: - uid: 25517 @@ -189182,26 +169378,6 @@ entities: 25518: - - DoorStatus - Close -- proto: PlasmaWindoorSecureScienceLocked - entities: - - uid: 33372 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 44.5,-37.5 - parent: 2 - - uid: 35337 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 44.5,-38.5 - parent: 2 - - uid: 35609 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 44.5,-39.5 - parent: 2 - proto: PlasmaWindoorSecureSecurityLocked entities: - uid: 25518 @@ -189265,12 +169441,6 @@ entities: rot: 1.5707963267948966 rad pos: 129.5,-3.5 parent: 2 - - uid: 29730 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 16.5,30.5 - parent: 2 - proto: PlasticFlapsAirtightOpaque entities: - uid: 25528 @@ -189322,30 +169492,11 @@ entities: parent: 2 - proto: PlushieLizard entities: - - uid: 381 - components: - - type: Transform - pos: 57.5,68.5 - parent: 2 - uid: 25535 components: - type: Transform pos: 76.471954,53.52606 parent: 2 -- proto: PlushieLizardDetective - entities: - - uid: 13544 - components: - - type: Transform - pos: 56.5,68.5 - parent: 2 -- proto: PlushieLizardMirrored - entities: - - uid: 380 - components: - - type: Transform - pos: 58.5,68.5 - parent: 2 - proto: PlushieRGBee entities: - uid: 25536 @@ -189496,20 +169647,30 @@ entities: parent: 2 - proto: PortableScrubber entities: - - uid: 565 + - uid: 25559 components: - type: Transform - pos: 53.5,-34.5 + pos: 64.5,-7.5 parent: 2 - - uid: 20703 + - uid: 25560 components: - type: Transform - pos: 53.5,-35.5 + pos: 59.5,-42.5 parent: 2 - - uid: 25559 + - uid: 25561 components: - type: Transform - pos: 64.5,-7.5 + pos: 60.5,-42.5 + parent: 2 + - uid: 25562 + components: + - type: Transform + pos: 55.5,-39.5 + parent: 2 + - uid: 25563 + components: + - type: Transform + pos: 55.5,-38.5 parent: 2 - uid: 25564 components: @@ -190235,6 +170396,11 @@ entities: parent: 2 - proto: PottedPlant20 entities: + - uid: 25684 + components: + - type: Transform + pos: 17.5,25.5 + parent: 2 - uid: 25685 components: - type: Transform @@ -190407,11 +170573,6 @@ entities: parent: 2 - proto: PottedPlantBioluminscent entities: - - uid: 20700 - components: - - type: Transform - pos: 55.5,-40.5 - parent: 2 - uid: 25715 components: - type: Transform @@ -190442,11 +170603,6 @@ entities: - type: Transform pos: 84.5,57.5 parent: 2 - - uid: 36541 - components: - - type: Transform - pos: 55.5,-36.5 - parent: 2 - proto: PottedPlantRandom entities: - uid: 25721 @@ -190745,12 +170901,6 @@ entities: parent: 2 - proto: PowerCellRecharger entities: - - uid: 15385 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-32.5 - parent: 2 - uid: 25779 components: - type: Transform @@ -190877,11 +171027,6 @@ entities: - type: Transform pos: 113.5,44.5 parent: 2 - - uid: 36476 - components: - - type: Transform - pos: -10.5,52.5 - parent: 2 - proto: PowerCellSmallPrinted entities: - uid: 25804 @@ -190912,42 +171057,6 @@ entities: parent: 2 - proto: Poweredlight entities: - - uid: 564 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 16.5,26.5 - parent: 2 - - uid: 20692 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,-43.5 - parent: 2 - - uid: 20693 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,-38.5 - parent: 2 - - uid: 22760 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-43.5 - parent: 2 - - uid: 24618 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-40.5 - parent: 2 - - uid: 25563 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 52.5,-35.5 - parent: 2 - uid: 25808 components: - type: Transform @@ -192695,6 +172804,22 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 + - uid: 26046 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 51.5,-34.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 26047 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-33.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 - uid: 26048 components: - type: Transform @@ -193818,11 +173943,6 @@ entities: rot: 1.5707963267948966 rad pos: 123.5,49.5 parent: 2 - - uid: 36016 - components: - - type: Transform - pos: 21.5,29.5 - parent: 2 - proto: PoweredlightExterior entities: - uid: 26195 @@ -193876,18 +173996,6 @@ entities: parent: 2 - proto: PoweredlightLED entities: - - uid: 4627 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-33.5 - parent: 2 - - uid: 7220 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-37.5 - parent: 2 - uid: 26203 components: - type: Transform @@ -193911,12 +174019,6 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 26327 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-29.5 - parent: 2 - proto: PoweredlightSodium entities: - uid: 26206 @@ -194858,6 +174960,22 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 + - uid: 26327 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 57.5,-41.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 26328 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 55.5,-43.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 - uid: 26329 components: - type: Transform @@ -194882,6 +175000,14 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 + - uid: 26332 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-30.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 - uid: 26333 components: - type: Transform @@ -194906,6 +175032,21 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 + - uid: 26336 + components: + - type: Transform + pos: 62.5,-35.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 26337 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-42.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 - uid: 26338 components: - type: Transform @@ -195503,6 +175644,13 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 + - uid: 26416 + components: + - type: Transform + pos: 20.5,30.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 - uid: 26417 components: - type: Transform @@ -195915,6 +176063,14 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 + - uid: 26471 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,68.5 + parent: 2 + - type: ApcPowerReceiver + powerLoad: 0 - uid: 26472 components: - type: Transform @@ -196048,12 +176204,6 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 36467 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 37.5,-51.5 - parent: 2 - proto: PoweredSmallLightEmpty entities: - uid: 26490 @@ -197005,173 +177155,6 @@ entities: - type: Transform pos: 87.55336,36.49037 parent: 2 -- proto: RadioReceiverFlatpack - entities: - - uid: 36305 - components: - - type: Transform - pos: -36.51901,61.703568 - parent: 2 - - uid: 36470 - components: - - type: Transform - pos: -7.677606,52.67945 - parent: 2 - - uid: 36471 - components: - - type: Transform - pos: -7.563395,52.442993 - parent: 2 - - uid: 36472 - components: - - type: Transform - pos: -7.628659,51.93746 - parent: 2 - - uid: 36473 - components: - - type: Transform - pos: -7.408393,51.578697 - parent: 2 - - uid: 36474 - components: - - type: Transform - pos: -7.3594446,52.18207 - parent: 2 - - uid: 36475 - components: - - type: Transform - pos: -7.3375635,52.752834 - parent: 2 - - uid: 36487 - components: - - type: Transform - pos: 13.549785,39.736477 - parent: 2 - - uid: 36488 - components: - - type: Transform - pos: 11.512329,49.771683 - parent: 2 - - uid: 36489 - components: - - type: Transform - pos: 30.547813,22.232569 - parent: 2 - - uid: 36490 - components: - - type: Transform - pos: 19.558088,28.598595 - parent: 2 - - uid: 36491 - components: - - type: Transform - pos: 15.545473,-9.563961 - parent: 2 - - uid: 36492 - components: - - type: Transform - pos: 3.7112541,-17.87641 - parent: 2 - - uid: 36493 - components: - - type: Transform - pos: 35.521694,-31.491423 - parent: 2 - - uid: 36494 - components: - - type: Transform - pos: 51.37387,-43.389072 - parent: 2 - - uid: 36495 - components: - - type: Transform - pos: 56.562374,-14.695921 - parent: 2 - - uid: 36496 - components: - - type: Transform - pos: 81.51159,-8.405178 - parent: 2 - - uid: 36497 - components: - - type: Transform - pos: 70.5161,-23.925396 - parent: 2 - - uid: 36498 - components: - - type: Transform - pos: 116.52918,-15.510144 - parent: 2 - - uid: 36499 - components: - - type: Transform - pos: 81.50424,-10.833046 - parent: 2 - - uid: 36500 - components: - - type: Transform - pos: 71.45996,13.829562 - parent: 2 - - uid: 36501 - components: - - type: Transform - pos: 51.617176,23.233595 - parent: 2 - - uid: 36502 - components: - - type: Transform - pos: 61.55562,47.11734 - parent: 2 - - uid: 36503 - components: - - type: Transform - pos: 69.53293,57.5975 - parent: 2 - - uid: 36504 - components: - - type: Transform - pos: 79.77527,57.54246 - parent: 2 - - uid: 36505 - components: - - type: Transform - pos: 128.71292,48.747547 - parent: 2 - - uid: 36506 - components: - - type: Transform - pos: 70.51106,33.17374 - parent: 2 - - uid: 36507 - components: - - type: Transform - pos: 12.502546,67.8855 - parent: 2 - - uid: 36508 - components: - - type: Transform - pos: -10.468928,64.643524 - parent: 2 - - uid: 36509 - components: - - type: Transform - pos: -26.488008,53.73966 - parent: 2 - - uid: 36510 - components: - - type: Transform - pos: -23.561422,27.628813 - parent: 2 - - uid: 36626 - components: - - type: Transform - pos: -8.440943,2.0568063 - parent: 2 - - uid: 36628 - components: - - type: Transform - pos: 2.564253,-27.328924 - parent: 2 - proto: Railing entities: - uid: 26665 @@ -197264,6 +177247,52 @@ entities: rot: 3.141592653589793 rad pos: -26.5,33.5 parent: 2 + - uid: 26680 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -7.5,50.5 + parent: 2 + - uid: 26681 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -7.5,49.5 + parent: 2 + - uid: 26682 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -8.5,48.5 + parent: 2 + - uid: 26683 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -9.5,48.5 + parent: 2 + - uid: 26684 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -10.5,49.5 + parent: 2 + - uid: 26685 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -10.5,50.5 + parent: 2 + - uid: 26686 + components: + - type: Transform + pos: -9.5,51.5 + parent: 2 + - uid: 26687 + components: + - type: Transform + pos: -8.5,51.5 + parent: 2 - uid: 26688 components: - type: Transform @@ -198127,6 +178156,30 @@ entities: rot: 1.5707963267948966 rad pos: 75.5,-47.5 parent: 2 + - uid: 26838 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 59.5,-45.5 + parent: 2 + - uid: 26839 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-45.5 + parent: 2 + - uid: 26840 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-45.5 + parent: 2 + - uid: 26841 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-45.5 + parent: 2 - uid: 26842 components: - type: Transform @@ -198276,24 +178329,6 @@ entities: - type: Transform pos: 99.5,-20.5 parent: 2 - - uid: 36012 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 17.5,25.5 - parent: 2 - - uid: 36013 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 17.5,26.5 - parent: 2 - - uid: 36014 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 17.5,27.5 - parent: 2 - proto: RailingCorner entities: - uid: 26868 @@ -198325,6 +178360,29 @@ entities: - type: Transform pos: -35.5,4.5 parent: 2 + - uid: 26873 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -7.5,51.5 + parent: 2 + - uid: 26874 + components: + - type: Transform + pos: -7.5,48.5 + parent: 2 + - uid: 26875 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -10.5,51.5 + parent: 2 + - uid: 26876 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -10.5,48.5 + parent: 2 - uid: 26877 components: - type: Transform @@ -198453,6 +178511,11 @@ entities: rot: -1.5707963267948966 rad pos: 75.5,-48.5 parent: 2 + - uid: 26899 + components: + - type: Transform + pos: 63.5,-45.5 + parent: 2 - uid: 26900 components: - type: Transform @@ -198542,15 +178605,15 @@ entities: parent: 2 - proto: RandomArtifactSpawner entities: - - uid: 26916 + - uid: 26915 components: - type: Transform - pos: 51.5,-30.5 + pos: 62.5,-26.5 parent: 2 - - uid: 26918 + - uid: 26916 components: - type: Transform - pos: 51.5,-29.5 + pos: 51.5,-30.5 parent: 2 - proto: RandomArtifactSpawner20 entities: @@ -198559,6 +178622,11 @@ entities: - type: Transform pos: -38.5,82.5 parent: 2 + - uid: 26918 + components: + - type: Transform + pos: 51.5,-29.5 + parent: 2 - uid: 26919 components: - type: Transform @@ -199330,6 +179398,11 @@ entities: - type: Transform pos: 0.5,20.5 parent: 2 + - uid: 27068 + components: + - type: Transform + pos: -10.5,15.5 + parent: 2 - uid: 27069 components: - type: Transform @@ -199410,6 +179483,11 @@ entities: - type: Transform pos: 13.5,17.5 parent: 2 + - uid: 27085 + components: + - type: Transform + pos: 15.5,27.5 + parent: 2 - uid: 27086 components: - type: Transform @@ -199640,30 +179718,6 @@ entities: parent: 2 - proto: ReinforcedPlasmaWindow entities: - - uid: 14129 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-37.5 - parent: 2 - - uid: 15219 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-36.5 - parent: 2 - - uid: 22728 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-38.5 - parent: 2 - - uid: 27068 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-34.5 - parent: 2 - uid: 27129 components: - type: Transform @@ -199692,6 +179746,11 @@ entities: - type: Transform pos: 59.5,-33.5 parent: 2 + - uid: 27134 + components: + - type: Transform + pos: 63.5,-33.5 + parent: 2 - uid: 27135 components: - type: Transform @@ -200070,23 +180129,6 @@ entities: - type: Transform pos: 99.5,-0.5 parent: 2 - - uid: 31950 - components: - - type: Transform - pos: 59.5,-34.5 - parent: 2 - - uid: 31955 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-32.5 - parent: 2 - - uid: 31957 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-28.5 - parent: 2 - proto: ReinforcedWindow entities: - uid: 27208 @@ -201905,11 +181947,21 @@ entities: - type: Transform pos: 54.5,-27.5 parent: 2 + - uid: 27569 + components: + - type: Transform + pos: 55.5,-36.5 + parent: 2 - uid: 27570 components: - type: Transform pos: 50.5,-32.5 parent: 2 + - uid: 27571 + components: + - type: Transform + pos: 59.5,-27.5 + parent: 2 - uid: 27572 components: - type: Transform @@ -203540,6 +183592,16 @@ entities: - type: Transform pos: 87.5,37.5 parent: 2 + - uid: 27898 + components: + - type: Transform + pos: 58.5,67.5 + parent: 2 + - uid: 27899 + components: + - type: Transform + pos: 58.5,68.5 + parent: 2 - uid: 27900 components: - type: Transform @@ -203922,13 +183984,6 @@ entities: - type: Transform pos: 81.384796,57.5874 parent: 2 -- proto: RescueBeacon - entities: - - uid: 36511 - components: - - type: Transform - pos: 23.5,49.5 - parent: 2 - proto: ResearchAndDevelopmentServer entities: - uid: 27973 @@ -204083,26 +184138,6 @@ entities: - type: Transform pos: -38.14877,63.825123 parent: 2 -- proto: ScienceAirAlarm - entities: - - uid: 2493 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-31.5 - parent: 2 - - type: DeviceList - devices: - - 25560 - - uid: 30786 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-35.5 - parent: 2 - - type: DeviceList - devices: - - 67 - proto: Screen entities: - uid: 27996 @@ -204279,6 +184314,11 @@ entities: - type: Transform pos: 15.5,15.5 parent: 2 + - uid: 28030 + components: + - type: Transform + pos: 31.5,26.5 + parent: 2 - proto: SeedExtractor entities: - uid: 28031 @@ -204369,6 +184409,11 @@ entities: - type: Transform pos: 95.43508,-14.472224 parent: 2 + - uid: 28046 + components: + - type: Transform + pos: 41.511795,-34.58728 + parent: 2 - uid: 28047 components: - type: Transform @@ -205462,6 +185507,22 @@ entities: 28100: - - Pressed - Toggle + - uid: 28209 + components: + - type: Transform + pos: 59.5,-28.5 + parent: 2 + - type: DeviceLinkSource + linkedPorts: + 2325: + - - Pressed + - Toggle + 2326: + - - Pressed + - Toggle + 2327: + - - Pressed + - Toggle - uid: 28210 components: - type: Transform @@ -206262,17 +186323,10 @@ entities: parent: 2 - proto: SignCanisters entities: - - uid: 36538 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-43.5 - parent: 2 - - uid: 36539 + - uid: 28257 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-41.5 + pos: 58.5,-40.5 parent: 2 - proto: SignCargo entities: @@ -207540,6 +187594,12 @@ entities: rot: 1.5707963267948966 rad pos: 20.5,8.5 parent: 2 + - uid: 28471 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,27.5 + parent: 2 - proto: SignSecureSmall entities: - uid: 28472 @@ -208004,12 +188064,6 @@ entities: fixtures: {} - proto: SmallLight entities: - - uid: 1653 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 103.5,58.5 - parent: 2 - uid: 28541 components: - type: Transform @@ -208045,6 +188099,12 @@ entities: rot: 3.141592653589793 rad pos: 108.5,-31.5 parent: 2 + - uid: 28547 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 117.5,71.5 + parent: 2 - uid: 28548 components: - type: Transform @@ -208237,2396 +188297,12 @@ entities: - type: Transform pos: -13.5,26.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - uid: 28579 components: - type: Transform rot: -1.5707963267948966 rad pos: 86.5,-53.5 parent: 2 - - type: ReagentDispenser - storageSlots: - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - - priority: 0 - swap: False - blacklist: null - insertSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg - ejectSound: !type:SoundPathSpecifier - params: - variation: null - playOffsetSeconds: 0 - loop: False - referenceDistance: 1 - rolloffFactor: 1 - maxDistance: 15 - pitch: 1 - volume: 0 - path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg - disableEject: False - insertOnInteract: True - ejectOnInteract: False - ejectOnUse: False - insertVerbText: null - ejectVerbText: null - ejectOnDeconstruct: True - ejectOnBreak: True - whitelistFailPopup: null - lockedFailPopup: null - insertSuccessPopup: null - whitelist: - requireAll: False - tags: - - DrinkBottle - sizes: null - components: null - storageSlotIds: - - ReagentDispenser-storageSlot0 - - ReagentDispenser-storageSlot1 - - ReagentDispenser-storageSlot2 - - ReagentDispenser-storageSlot3 - - ReagentDispenser-storageSlot4 - - ReagentDispenser-storageSlot5 - - ReagentDispenser-storageSlot6 - - ReagentDispenser-storageSlot7 - - ReagentDispenser-storageSlot8 - - ReagentDispenser-storageSlot9 - - ReagentDispenser-storageSlot10 - - ReagentDispenser-storageSlot11 - - ReagentDispenser-storageSlot12 - - ReagentDispenser-storageSlot13 - - ReagentDispenser-storageSlot14 - - ReagentDispenser-storageSlot15 - - ReagentDispenser-storageSlot16 - - ReagentDispenser-storageSlot17 - - ReagentDispenser-storageSlot18 - - ReagentDispenser-storageSlot19 - - ReagentDispenser-storageSlot20 - - ReagentDispenser-storageSlot21 - - ReagentDispenser-storageSlot22 - - ReagentDispenser-storageSlot23 - - ReagentDispenser-storageSlot24 - - type: ContainerContainer - containers: - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot0: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot1: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot2: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot3: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot4: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot5: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot6: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot7: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot8: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot9: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot10: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot11: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot12: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot13: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot14: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot15: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot16: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot17: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot18: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot19: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot20: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot21: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot22: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot23: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - ReagentDispenser-storageSlot24: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - proto: SolarPanel entities: - uid: 28580 @@ -213025,21 +190701,21 @@ entities: parent: 2 - proto: SophicScribe entities: - - uid: 36454 + - uid: 6 components: - type: Transform - pos: 38.5,-48.5 + pos: -8.5,49.5 parent: 2 - type: Actions actions: - - 36455 + - 7 - type: NoosphericZapPower - type: ActionsContainer - type: ContainerContainer containers: actions: !type:Container ents: - - 36455 + - 7 missingComponents: - InnatePsionicPowers - proto: SpaceCash @@ -213435,6 +191111,13 @@ entities: - type: Transform pos: -15.5,40.5 parent: 2 +- proto: SpawnPointCaptain + entities: + - uid: 29119 + components: + - type: Transform + pos: 79.5,50.5 + parent: 2 - proto: SpawnPointCargoTechnician entities: - uid: 29120 @@ -213511,15 +191194,10 @@ entities: parent: 2 - proto: SpawnPointContractor entities: - - uid: 29136 - components: - - type: Transform - pos: -29.5,35.5 - parent: 2 - - uid: 36011 + - uid: 29132 components: - type: Transform - pos: -29.5,38.5 + pos: -31.5,34.5 parent: 2 - proto: SpawnPointDetective entities: @@ -213545,7 +191223,7 @@ entities: parent: 2 - proto: SpawnPointHeadOfPersonnel entities: - - uid: 29119 + - uid: 29136 components: - type: Transform pos: 64.5,50.5 @@ -213684,15 +191362,10 @@ entities: parent: 2 - proto: SpawnPointMercenary entities: - - uid: 28547 - components: - - type: Transform - pos: -35.5,35.5 - parent: 2 - - uid: 36009 + - uid: 29160 components: - type: Transform - pos: -35.5,38.5 + pos: -33.5,34.5 parent: 2 - proto: SpawnPointMime entities: @@ -213791,15 +191464,10 @@ entities: parent: 2 - proto: SpawnPointPilot entities: - - uid: 29160 - components: - - type: Transform - pos: -35.5,32.5 - parent: 2 - - uid: 36010 + - uid: 29178 components: - type: Transform - pos: -32.5,32.5 + pos: -32.5,34.5 parent: 2 - proto: SpawnPointQuartermaster entities: @@ -213808,13 +191476,6 @@ entities: - type: Transform pos: -4.5,-25.5 parent: 2 -- proto: SpawnPointRadioHost - entities: - - uid: 36630 - components: - - type: Transform - pos: -9.5,50.5 - parent: 2 - proto: SpawnPointReporter entities: - uid: 29180 @@ -214015,13 +191676,6 @@ entities: - type: Transform pos: -15.5,33.5 parent: 2 -- proto: SpawnPointStationCaptain - entities: - - uid: 28471 - components: - - type: Transform - pos: 79.5,50.5 - parent: 2 - proto: SpawnPointStationEngineer entities: - uid: 29215 @@ -214071,6 +191725,13 @@ entities: - type: Transform pos: 72.5,0.5 parent: 2 +- proto: SpawnPointValet + entities: + - uid: 29224 + components: + - type: Transform + pos: -32.5,37.5 + parent: 2 - proto: SpawnPointWarden entities: - uid: 29225 @@ -214355,22 +192016,6 @@ entities: - type: Transform pos: 26.5,-10.5 parent: 2 -- proto: StationRadioRig - entities: - - uid: 26685 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -9.5,48.5 - parent: 2 -- proto: StationRadioServer - entities: - - uid: 26684 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -7.5,48.5 - parent: 2 - proto: Stool entities: - uid: 29273 @@ -215085,15 +192730,25 @@ entities: parent: 2 - proto: StorageCanister entities: - - uid: 25095 + - uid: 29396 components: - type: Transform - pos: 51.5,-34.5 + pos: 57.5,-40.5 parent: 2 - - uid: 27134 + - uid: 29397 components: - type: Transform - pos: 51.5,-35.5 + pos: 59.5,-37.5 + parent: 2 + - uid: 29398 + components: + - type: Transform + pos: 60.5,-37.5 + parent: 2 + - uid: 29399 + components: + - type: Transform + pos: 61.5,-37.5 parent: 2 - uid: 29400 components: @@ -215554,6 +193209,17 @@ entities: - SurveillanceCameraCommand nameSet: True id: Conference Room + - uid: 29463 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 90.5,65.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: Command Dock - uid: 29464 components: - type: Transform @@ -215618,6 +193284,17 @@ entities: - SurveillanceCameraCommand nameSet: True id: HoP Bedroom + - uid: 29470 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 90.5,72.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: Command Dock Airlock - uid: 29471 components: - type: Transform @@ -215662,6 +193339,16 @@ entities: - SurveillanceCameraCommand nameSet: True id: AI Core Core + - uid: 29475 + components: + - type: Transform + pos: 122.5,58.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: AI Core Ext N - uid: 29476 components: - type: Transform @@ -215684,6 +193371,17 @@ entities: - SurveillanceCameraCommand nameSet: True id: AI Core Ext S + - uid: 29478 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 131.5,56.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: AI Core Ext NE - uid: 29479 components: - type: Transform @@ -217412,6 +195110,17 @@ entities: - SurveillanceCameraScience nameSet: True id: Sci Backhall + - uid: 29641 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 62.5,-39.5 + parent: 2 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraScience + nameSet: True + id: Toxins Storage - uid: 29642 components: - type: Transform @@ -217510,17 +195219,6 @@ entities: - SurveillanceCameraScience nameSet: True id: Science Shooting Range - - uid: 36547 - components: - - type: Transform - pos: 62.5,-40.5 - parent: 2 - - uid: 36548 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-42.5 - parent: 2 - proto: SurveillanceCameraSecurity entities: - uid: 29651 @@ -217957,11 +195655,6 @@ entities: - SurveillanceCameraSecurity nameSet: True id: Perma North - - uid: 36451 - components: - - type: Transform - pos: 20.5,25.5 - parent: 2 - proto: SurveillanceCameraService entities: - uid: 29691 @@ -218286,16 +195979,6 @@ entities: parent: 2 - proto: Table entities: - - uid: 1956 - components: - - type: Transform - pos: 58.5,68.5 - parent: 2 - - uid: 4637 - components: - - type: Transform - pos: 55.5,68.5 - parent: 2 - uid: 29723 components: - type: Transform @@ -218331,6 +196014,11 @@ entities: - type: Transform pos: -5.5,21.5 parent: 2 + - uid: 29730 + components: + - type: Transform + pos: -6.5,17.5 + parent: 2 - uid: 29731 components: - type: Transform @@ -218341,6 +196029,11 @@ entities: - type: Transform pos: -5.5,20.5 parent: 2 + - uid: 29733 + components: + - type: Transform + pos: -7.5,17.5 + parent: 2 - uid: 29734 components: - type: Transform @@ -218660,6 +196353,11 @@ entities: - type: Transform pos: 20.5,21.5 parent: 2 + - uid: 29796 + components: + - type: Transform + pos: 21.5,26.5 + parent: 2 - uid: 29797 components: - type: Transform @@ -219115,6 +196813,11 @@ entities: - type: Transform pos: -12.5,22.5 parent: 2 + - uid: 29886 + components: + - type: Transform + pos: 55.5,-35.5 + parent: 2 - uid: 29887 components: - type: Transform @@ -219426,6 +197129,11 @@ entities: - type: Transform pos: 36.5,-23.5 parent: 2 + - uid: 29947 + components: + - type: Transform + pos: 62.5,-42.5 + parent: 2 - uid: 29948 components: - type: Transform @@ -220152,21 +197860,6 @@ entities: - type: Transform pos: 27.5,36.5 parent: 2 - - uid: 32427 - components: - - type: Transform - pos: 57.5,68.5 - parent: 2 - - uid: 32434 - components: - - type: Transform - pos: 56.5,68.5 - parent: 2 - - uid: 32463 - components: - - type: Transform - pos: 59.5,68.5 - parent: 2 - proto: TableCarpet entities: - uid: 30092 @@ -220597,67 +198290,6 @@ entities: parent: 2 - proto: TableReinforced entities: - - uid: 616 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-32.5 - parent: 2 - - uid: 658 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-33.5 - parent: 2 - - uid: 13023 - components: - - type: Transform - pos: 18.5,30.5 - parent: 2 - - uid: 15147 - components: - - type: Transform - pos: 70.5,51.5 - parent: 2 - - uid: 15158 - components: - - type: Transform - pos: 70.5,54.5 - parent: 2 - - uid: 15166 - components: - - type: Transform - pos: 69.5,54.5 - parent: 2 - - uid: 20695 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-34.5 - parent: 2 - - uid: 22724 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-34.5 - parent: 2 - - uid: 22907 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 19.5,29.5 - parent: 2 - - uid: 26046 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-32.5 - parent: 2 - - uid: 29886 - components: - - type: Transform - pos: 12.5,49.5 - parent: 2 - uid: 30175 components: - type: Transform @@ -220956,6 +198588,11 @@ entities: - type: Transform pos: 11.5,49.5 parent: 2 + - uid: 30234 + components: + - type: Transform + pos: 12.5,49.5 + parent: 2 - uid: 30235 components: - type: Transform @@ -221527,61 +199164,6 @@ entities: - type: Transform pos: 73.5,-10.5 parent: 2 - - uid: 31359 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 19.5,28.5 - parent: 2 - - uid: 31360 - components: - - type: Transform - pos: 17.5,30.5 - parent: 2 - - uid: 31363 - components: - - type: Transform - pos: 19.5,30.5 - parent: 2 - - uid: 31387 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,-39.5 - parent: 2 - - uid: 32066 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,-38.5 - parent: 2 - - uid: 32067 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,-37.5 - parent: 2 - - uid: 36436 - components: - - type: Transform - pos: 68.5,54.5 - parent: 2 - - uid: 36440 - components: - - type: Transform - pos: 68.5,51.5 - parent: 2 - - uid: 36441 - components: - - type: Transform - pos: 69.5,51.5 - parent: 2 - - uid: 36459 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 37.5,-48.5 - parent: 2 - proto: TableReinforcedGlass entities: - uid: 30346 @@ -221658,31 +199240,15 @@ entities: - type: Transform pos: 35.5,42.5 parent: 2 -- proto: TableWood +- proto: TableStone entities: - - uid: 6 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,48.5 - parent: 2 - - uid: 7 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -10.5,51.5 - parent: 2 - - uid: 12370 - components: - - type: Transform - pos: 36.5,16.5 - parent: 2 - - uid: 26416 + - uid: 30360 components: - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,49.5 + pos: 62.5,-57.5 parent: 2 +- proto: TableWood + entities: - uid: 30361 components: - type: Transform @@ -222105,6 +199671,11 @@ entities: - type: Transform pos: 37.5,20.5 parent: 2 + - uid: 30445 + components: + - type: Transform + pos: 36.5,16.5 + parent: 2 - uid: 30446 components: - type: Transform @@ -222762,39 +200333,8 @@ entities: - type: Transform pos: 71.5,13.5 parent: 2 - - uid: 36456 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -10.5,52.5 - parent: 2 - - uid: 36457 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -7.5,51.5 - parent: 2 - - uid: 36458 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -7.5,52.5 - parent: 2 -- proto: TapeDeck - entities: - - uid: 26471 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -10.5,48.5 - parent: 2 - proto: TargetClown entities: - - uid: 30360 - components: - - type: Transform - pos: 38.5,29.5 - parent: 2 - uid: 30574 components: - type: Transform @@ -222839,6 +200379,13 @@ entities: - type: Transform pos: 69.5,4.5 parent: 2 +- proto: TargetSyndicate + entities: + - uid: 30582 + components: + - type: Transform + pos: 38.5,29.5 + parent: 2 - proto: TegCenter entities: - uid: 30583 @@ -223780,13 +201327,6 @@ entities: - type: Transform pos: 128.49329,50.518593 parent: 2 -- proto: TritiumCanister - entities: - - uid: 1745 - components: - - type: Transform - pos: 58.5,-42.5 - parent: 2 - proto: TwoWayLever entities: - uid: 30726 @@ -224132,11 +201672,6 @@ entities: - Reverse - - Middle - Off - - uid: 36015 - components: - - type: Transform - pos: 17.5,29.5 - parent: 2 - proto: UnfinishedMachineFrame entities: - uid: 30733 @@ -224314,6 +201849,11 @@ entities: - type: Transform pos: 19.5,-0.5 parent: 2 + - uid: 30762 + components: + - type: Transform + pos: 20.5,26.5 + parent: 2 - uid: 30763 components: - type: Transform @@ -224413,11 +201953,6 @@ entities: parent: 2 - proto: VendingMachineCoffee entities: - - uid: 18488 - components: - - type: Transform - pos: 55.5,-44.5 - parent: 2 - uid: 30782 components: - type: Transform @@ -224438,6 +201973,11 @@ entities: - type: Transform pos: 20.5,-0.5 parent: 2 + - uid: 30786 + components: + - type: Transform + pos: 19.5,26.5 + parent: 2 - uid: 30787 components: - type: Transform @@ -224732,13 +202272,6 @@ entities: - type: Transform pos: 11.5,-12.5 parent: 2 -- proto: VendingMachineSecurityVend1 - entities: - - uid: 27898 - components: - - type: Transform - pos: 21.5,29.5 - parent: 2 - proto: VendingMachineSeeds entities: - uid: 30835 @@ -224781,11 +202314,6 @@ entities: parent: 2 - proto: VendingMachineTankDispenserEVA entities: - - uid: 20702 - components: - - type: Transform - pos: 55.5,-42.5 - parent: 2 - uid: 30841 components: - type: Transform @@ -224796,6 +202324,11 @@ entities: - type: Transform pos: -29.5,-44.5 parent: 2 + - uid: 30843 + components: + - type: Transform + pos: 55.5,-37.5 + parent: 2 - uid: 30844 components: - type: Transform @@ -224850,6 +202383,11 @@ entities: - type: Transform pos: 7.5,25.5 parent: 2 + - uid: 30854 + components: + - type: Transform + pos: 57.5,-43.5 + parent: 2 - uid: 30855 components: - type: Transform @@ -224903,13 +202441,6 @@ entities: - type: Transform pos: 4.5,30.5 parent: 2 -- proto: VinylPlayer - entities: - - uid: 26840 - components: - - type: Transform - pos: -8.5,48.5 - parent: 2 - proto: WallmountGeneratorAPUElectronics entities: - uid: 30864 @@ -225016,313 +202547,6 @@ entities: parent: 2 - proto: WallReinforced entities: - - uid: 140 - components: - - type: Transform - pos: 63.5,-36.5 - parent: 2 - - uid: 653 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-45.5 - parent: 2 - - uid: 853 - components: - - type: Transform - pos: -48.5,-63.5 - parent: 2 - - uid: 951 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-58.5 - parent: 2 - - uid: 1149 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 59.5,-60.5 - parent: 2 - - uid: 1329 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 69.5,-59.5 - parent: 2 - - uid: 1331 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 67.5,-58.5 - parent: 2 - - uid: 1332 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-58.5 - parent: 2 - - uid: 1333 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-60.5 - parent: 2 - - uid: 1398 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 129.5,-36.5 - parent: 2 - - uid: 1400 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 128.5,-39.5 - parent: 2 - - uid: 1483 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 128.5,-36.5 - parent: 2 - - uid: 1485 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 130.5,-35.5 - parent: 2 - - uid: 1495 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 128.5,-37.5 - parent: 2 - - uid: 1496 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 124.5,62.5 - parent: 2 - - uid: 1602 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 123.5,62.5 - parent: 2 - - uid: 1918 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-59.5 - parent: 2 - - uid: 1942 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 60.5,-60.5 - parent: 2 - - uid: 2416 - components: - - type: Transform - pos: 20.5,30.5 - parent: 2 - - uid: 4628 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-41.5 - parent: 2 - - uid: 12215 - components: - - type: Transform - pos: 59.5,-35.5 - parent: 2 - - uid: 12377 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 15.5,29.5 - parent: 2 - - uid: 13024 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 15.5,27.5 - parent: 2 - - uid: 13195 - components: - - type: Transform - pos: 55.5,65.5 - parent: 2 - - uid: 13196 - components: - - type: Transform - pos: 60.5,66.5 - parent: 2 - - uid: 13201 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-45.5 - parent: 2 - - uid: 14130 - components: - - type: Transform - pos: 56.5,65.5 - parent: 2 - - uid: 14235 - components: - - type: Transform - pos: 15.5,25.5 - parent: 2 - - uid: 14575 - components: - - type: Transform - pos: 21.5,30.5 - parent: 2 - - uid: 17770 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 65.5,-58.5 - parent: 2 - - uid: 18293 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-39.5 - parent: 2 - - uid: 18314 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-39.5 - parent: 2 - - uid: 18486 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-33.5 - parent: 2 - - uid: 18489 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-41.5 - parent: 2 - - uid: 20705 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-41.5 - parent: 2 - - uid: 22485 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-41.5 - parent: 2 - - uid: 22727 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-39.5 - parent: 2 - - uid: 23447 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-41.5 - parent: 2 - - uid: 23851 - components: - - type: Transform - pos: 58.5,65.5 - parent: 2 - - uid: 23852 - components: - - type: Transform - pos: 59.5,65.5 - parent: 2 - - uid: 23853 - components: - - type: Transform - pos: 60.5,65.5 - parent: 2 - - uid: 23981 - components: - - type: Transform - pos: 60.5,67.5 - parent: 2 - - uid: 23982 - components: - - type: Transform - pos: 60.5,68.5 - parent: 2 - - uid: 26336 - components: - - type: Transform - pos: 15.5,26.5 - parent: 2 - - uid: 26686 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-45.5 - parent: 2 - - uid: 26687 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-45.5 - parent: 2 - - uid: 26838 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-45.5 - parent: 2 - - uid: 26839 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-45.5 - parent: 2 - - uid: 26875 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-45.5 - parent: 2 - - uid: 26876 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-27.5 - parent: 2 - - uid: 27569 - components: - - type: Transform - pos: 60.5,69.5 - parent: 2 - - uid: 27571 - components: - - type: Transform - pos: 59.5,69.5 - parent: 2 - - uid: 28030 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-27.5 - parent: 2 - - uid: 29463 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 129.5,-35.5 - parent: 2 - uid: 30882 components: - type: Transform @@ -227702,6 +204926,11 @@ entities: - type: Transform pos: 26.5,8.5 parent: 2 + - uid: 31352 + components: + - type: Transform + pos: 16.5,26.5 + parent: 2 - uid: 31353 components: - type: Transform @@ -227727,6 +204956,21 @@ entities: - type: Transform pos: 17.5,24.5 parent: 2 + - uid: 31358 + components: + - type: Transform + pos: 16.5,27.5 + parent: 2 + - uid: 31359 + components: + - type: Transform + pos: 17.5,28.5 + parent: 2 + - uid: 31360 + components: + - type: Transform + pos: 16.5,28.5 + parent: 2 - uid: 31361 components: - type: Transform @@ -227737,6 +204981,11 @@ entities: - type: Transform pos: 15.5,24.5 parent: 2 + - uid: 31363 + components: + - type: Transform + pos: 16.5,25.5 + parent: 2 - uid: 31364 components: - type: Transform @@ -227780,7 +205029,12 @@ entities: - uid: 31372 components: - type: Transform - pos: 20.5,31.5 + pos: 17.5,31.5 + parent: 2 + - uid: 31373 + components: + - type: Transform + pos: 18.5,31.5 parent: 2 - uid: 31374 components: @@ -227797,6 +205051,16 @@ entities: - type: Transform pos: 15.5,31.5 parent: 2 + - uid: 31377 + components: + - type: Transform + pos: 16.5,31.5 + parent: 2 + - uid: 31378 + components: + - type: Transform + pos: 20.5,31.5 + parent: 2 - uid: 31379 components: - type: Transform @@ -227827,6 +205091,21 @@ entities: - type: Transform pos: 22.5,27.5 parent: 2 + - uid: 31385 + components: + - type: Transform + pos: 21.5,27.5 + parent: 2 + - uid: 31386 + components: + - type: Transform + pos: 20.5,27.5 + parent: 2 + - uid: 31387 + components: + - type: Transform + pos: 19.5,27.5 + parent: 2 - uid: 31388 components: - type: Transform @@ -227932,6 +205211,11 @@ entities: - type: Transform pos: 40.5,4.5 parent: 2 + - uid: 31409 + components: + - type: Transform + pos: 19.5,28.5 + parent: 2 - uid: 31410 components: - type: Transform @@ -230624,6 +207908,56 @@ entities: - type: Transform pos: 54.5,-36.5 parent: 2 + - uid: 31948 + components: + - type: Transform + pos: 57.5,-36.5 + parent: 2 + - uid: 31949 + components: + - type: Transform + pos: 58.5,-36.5 + parent: 2 + - uid: 31950 + components: + - type: Transform + pos: 58.5,-35.5 + parent: 2 + - uid: 31951 + components: + - type: Transform + pos: 58.5,-34.5 + parent: 2 + - uid: 31952 + components: + - type: Transform + pos: 59.5,-34.5 + parent: 2 + - uid: 31953 + components: + - type: Transform + pos: 60.5,-34.5 + parent: 2 + - uid: 31954 + components: + - type: Transform + pos: 61.5,-34.5 + parent: 2 + - uid: 31955 + components: + - type: Transform + pos: 62.5,-34.5 + parent: 2 + - uid: 31956 + components: + - type: Transform + pos: 63.5,-34.5 + parent: 2 + - uid: 31957 + components: + - type: Transform + pos: 63.5,-32.5 + parent: 2 - uid: 31958 components: - type: Transform @@ -230687,14 +208021,17 @@ entities: - uid: 31970 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-27.5 + pos: 62.5,-28.5 parent: 2 - uid: 31971 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,-45.5 + pos: 59.5,-28.5 + parent: 2 + - uid: 31972 + components: + - type: Transform + pos: 60.5,-28.5 parent: 2 - uid: 31973 components: @@ -231116,23 +208453,86 @@ entities: - type: Transform pos: 63.5,-41.5 parent: 2 + - uid: 32057 + components: + - type: Transform + pos: 55.5,-44.5 + parent: 2 + - uid: 32058 + components: + - type: Transform + pos: 55.5,-42.5 + parent: 2 + - uid: 32059 + components: + - type: Transform + pos: 57.5,-44.5 + parent: 2 + - uid: 32060 + components: + - type: Transform + pos: 58.5,-44.5 + parent: 2 + - uid: 32061 + components: + - type: Transform + pos: 58.5,-43.5 + parent: 2 + - uid: 32062 + components: + - type: Transform + pos: 58.5,-42.5 + parent: 2 - uid: 32063 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-41.5 + pos: 57.5,-42.5 parent: 2 - uid: 32064 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,-41.5 + pos: 59.5,-43.5 + parent: 2 + - uid: 32065 + components: + - type: Transform + pos: 60.5,-43.5 + parent: 2 + - uid: 32066 + components: + - type: Transform + pos: 61.5,-43.5 + parent: 2 + - uid: 32067 + components: + - type: Transform + pos: 62.5,-43.5 parent: 2 - uid: 32068 components: - type: Transform pos: 63.5,-42.5 parent: 2 + - uid: 32069 + components: + - type: Transform + pos: 58.5,-37.5 + parent: 2 + - uid: 32070 + components: + - type: Transform + pos: 58.5,-38.5 + parent: 2 + - uid: 32071 + components: + - type: Transform + pos: 58.5,-39.5 + parent: 2 + - uid: 32072 + components: + - type: Transform + pos: 58.5,-40.5 + parent: 2 - uid: 32073 components: - type: Transform @@ -232843,11 +210243,75 @@ entities: - type: Transform pos: 103.5,57.5 parent: 2 + - uid: 32415 + components: + - type: Transform + pos: 103.5,58.5 + parent: 2 + - uid: 32416 + components: + - type: Transform + pos: 103.5,59.5 + parent: 2 + - uid: 32417 + components: + - type: Transform + pos: 103.5,60.5 + parent: 2 + - uid: 32418 + components: + - type: Transform + pos: 103.5,61.5 + parent: 2 + - uid: 32419 + components: + - type: Transform + pos: 103.5,62.5 + parent: 2 + - uid: 32420 + components: + - type: Transform + pos: 103.5,63.5 + parent: 2 + - uid: 32421 + components: + - type: Transform + pos: 103.5,64.5 + parent: 2 + - uid: 32422 + components: + - type: Transform + pos: 103.5,65.5 + parent: 2 + - uid: 32423 + components: + - type: Transform + pos: 103.5,66.5 + parent: 2 + - uid: 32424 + components: + - type: Transform + pos: 103.5,67.5 + parent: 2 + - uid: 32425 + components: + - type: Transform + pos: 103.5,68.5 + parent: 2 + - uid: 32426 + components: + - type: Transform + pos: 103.5,69.5 + parent: 2 + - uid: 32427 + components: + - type: Transform + pos: 103.5,70.5 + parent: 2 - uid: 32428 components: - type: Transform - rot: 3.141592653589793 rad - pos: 89.5,66.5 + pos: 103.5,71.5 parent: 2 - uid: 32429 components: @@ -232874,6 +210338,11 @@ entities: - type: Transform pos: 97.5,57.5 parent: 2 + - uid: 32434 + components: + - type: Transform + pos: 57.5,66.5 + parent: 2 - uid: 32435 components: - type: Transform @@ -233014,6 +210483,11 @@ entities: - type: Transform pos: 89.5,65.5 parent: 2 + - uid: 32463 + components: + - type: Transform + pos: 89.5,66.5 + parent: 2 - uid: 32464 components: - type: Transform @@ -233122,7 +210596,7 @@ entities: - uid: 32485 components: - type: Transform - pos: 57.5,69.5 + pos: 58.5,66.5 parent: 2 - uid: 32486 components: @@ -233372,7 +210846,7 @@ entities: - uid: 32535 components: - type: Transform - pos: 58.5,69.5 + pos: 56.5,66.5 parent: 2 - uid: 32536 components: @@ -237544,11 +215018,21 @@ entities: - type: Transform pos: 111.5,30.5 parent: 2 + - uid: 33370 + components: + - type: Transform + pos: 56.5,68.5 + parent: 2 - uid: 33371 components: - type: Transform pos: 56.5,69.5 parent: 2 + - uid: 33372 + components: + - type: Transform + pos: 58.5,69.5 + parent: 2 - uid: 33373 components: - type: Transform @@ -239065,222 +216549,6 @@ entities: - type: Transform pos: 102.5,-22.5 parent: 2 - - uid: 36549 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 128.5,62.5 - parent: 2 - - uid: 36551 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 121.5,64.5 - parent: 2 - - uid: 36553 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 130.5,63.5 - parent: 2 - - uid: 36554 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 131.5,-35.5 - parent: 2 - - uid: 36556 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 129.5,62.5 - parent: 2 - - uid: 36557 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 128.5,-38.5 - parent: 2 - - uid: 36569 - components: - - type: Transform - pos: -53.5,-59.5 - parent: 2 - - uid: 36570 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 127.5,62.5 - parent: 2 - - uid: 36573 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 122.5,63.5 - parent: 2 - - uid: 36582 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 125.5,62.5 - parent: 2 - - uid: 36583 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 131.5,64.5 - parent: 2 - - uid: 36584 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 126.5,62.5 - parent: 2 - - uid: 36589 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 132.5,-35.5 - parent: 2 - - uid: 36596 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 66.5,-58.5 - parent: 2 - - uid: 36599 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 64.5,-58.5 - parent: 2 - - uid: 36606 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-58.5 - parent: 2 - - uid: 36610 - components: - - type: Transform - pos: -49.5,-62.5 - parent: 2 - - uid: 36611 - components: - - type: Transform - pos: -50.5,-61.5 - parent: 2 - - uid: 36612 - components: - - type: Transform - pos: -51.5,-60.5 - parent: 2 - - uid: 36613 - components: - - type: Transform - pos: -52.5,-59.5 - parent: 2 - - uid: 36614 - components: - - type: Transform - pos: -48.5,-64.5 - parent: 2 - - uid: 36620 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -48.5,-65.5 - parent: 2 - - uid: 36621 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -54.5,-59.5 - parent: 2 -- proto: WallReinforcedDiagonal - entities: - - uid: 1497 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 122.5,64.5 - parent: 2 - - uid: 25096 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-60.5 - parent: 2 - - uid: 29947 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 68.5,-59.5 - parent: 2 - - uid: 36561 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 123.5,63.5 - parent: 2 - - uid: 36571 - components: - - type: Transform - pos: 129.5,63.5 - parent: 2 - - uid: 36572 - components: - - type: Transform - pos: 130.5,64.5 - parent: 2 - - uid: 36590 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 129.5,-37.5 - parent: 2 - - uid: 36591 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 130.5,-36.5 - parent: 2 - - uid: 36597 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-59.5 - parent: 2 - - uid: 36598 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 61.5,-60.5 - parent: 2 - - uid: 36616 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -49.5,-63.5 - parent: 2 - - uid: 36617 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -50.5,-62.5 - parent: 2 - - uid: 36618 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -51.5,-61.5 - parent: 2 - - uid: 36619 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -52.5,-60.5 - parent: 2 - proto: WallSolid entities: - uid: 33673 @@ -247468,12 +224736,6 @@ entities: parent: 2 - proto: WallSolidRust entities: - - uid: 1646 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 104.5,58.5 - parent: 2 - uid: 35305 components: - type: Transform @@ -247634,6 +224896,11 @@ entities: - type: Transform pos: 135.5,41.5 parent: 2 + - uid: 35337 + components: + - type: Transform + pos: 116.5,71.5 + parent: 2 - uid: 35338 components: - type: Transform @@ -248576,12 +225843,6 @@ entities: parent: 2 - proto: WeaponCapacitorRecharger entities: - - uid: 32069 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-34.5 - parent: 2 - uid: 35446 components: - type: Transform @@ -248732,100 +225993,6 @@ entities: - type: Transform pos: 31.355667,28.660189 parent: 2 -- proto: WeaponEnergyTurretAI - entities: - - uid: 7219 - components: - - type: Transform - pos: 118.5,53.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 35991 - components: - - type: Transform - pos: 127.5,53.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 35998 - components: - - type: Transform - pos: 127.5,45.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 35999 - components: - - type: Transform - pos: 118.5,45.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 36000 - components: - - type: Transform - pos: 116.5,48.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 36001 - components: - - type: Transform - pos: 116.5,50.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 36002 - components: - - type: Transform - pos: 110.5,52.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 36003 - components: - - type: Transform - pos: 104.5,52.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 36004 - components: - - type: Transform - pos: 104.5,46.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 36005 - components: - - type: Transform - pos: 110.5,46.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 36006 - components: - - type: Transform - pos: 99.5,52.5 - parent: 2 - - type: Battery - startingCharge: 0 - - uid: 36007 - components: - - type: Transform - pos: 99.5,46.5 - parent: 2 - - type: Battery - startingCharge: 0 -- proto: WeaponEnergyTurretAIControlPanel - entities: - - uid: 36008 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 103.5,53.5 - parent: 2 - proto: WeaponLaserCarbine entities: - uid: 35468 @@ -248989,746 +226156,6 @@ entities: - type: Transform pos: 35.515594,20.647896 parent: 2 -- proto: WeaponTurretCerberus - entities: - - uid: 36132 - components: - - type: Transform - pos: 65.5,-60.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36306 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -51.5,93.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36615 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 126.5,64.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36627 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -52.5,-63.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] -- proto: WeaponTurretHarbringer - entities: - - uid: 36580 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 128.5,64.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36581 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 124.5,64.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36592 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 132.5,-37.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36593 - components: - - type: Transform - pos: 130.5,-39.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36608 - components: - - type: Transform - pos: 67.5,-60.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36609 - components: - - type: Transform - pos: 63.5,-60.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36622 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -53.5,-61.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36623 - components: - - type: Transform - pos: -50.5,-64.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] -- proto: WeaponTurretTarnyx - entities: - - uid: 32419 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 118.5,-55.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 32420 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 118.5,-58.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36020 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 74.5,73.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36029 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 71.5,73.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36036 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 83.5,73.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36037 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 80.5,73.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36130 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 142.5,50.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36187 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 142.5,58.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36188 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 142.5,55.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36189 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 142.5,47.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36232 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,-76.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36233 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,-78.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36234 - components: - - type: Transform - pos: -21.5,-81.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36235 - components: - - type: Transform - pos: -23.5,-81.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36275 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -74.5,-4.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36276 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -74.5,-6.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36277 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -74.5,7.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36278 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -74.5,10.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36431 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -38.5,93.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36432 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -41.5,93.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36433 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,78.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - - uid: 36434 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -51.5,75.5 - parent: 2 - - type: ContainerContainer - containers: - ballistic-ammo: !type:Container - showEnts: False - occludes: True - ents: [] - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] -- proto: WeaponTurretType35 - entities: - - uid: 23288 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -75.5,0.5 - parent: 2 - - uid: 23301 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -75.5,2.5 - parent: 2 - - uid: 36021 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 132.5,-38.5 - parent: 2 - - uid: 36023 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 118.5,-57.5 - parent: 2 - - uid: 36025 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 78.5,73.5 - parent: 2 - - uid: 36027 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 118.5,-56.5 - parent: 2 - - uid: 36030 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 76.5,73.5 - parent: 2 - - uid: 36129 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 142.5,53.5 - parent: 2 - - uid: 36131 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 142.5,52.5 - parent: 2 - - uid: 36186 - components: - - type: Transform - pos: 131.5,-39.5 - parent: 2 - proto: WeedSpray entities: - uid: 35494 @@ -249753,13 +226180,6 @@ entities: - type: Transform pos: -28.480883,72.62065 parent: 2 -- proto: WelderExperimental - entities: - - uid: 36540 - components: - - type: Transform - pos: 53.559814,-43.420494 - parent: 2 - proto: WelderIndustrial entities: - uid: 35498 @@ -249918,11 +226338,6 @@ entities: rot: -1.5707963267948966 rad pos: 49.5,-15.5 parent: 2 - - type: Door - secondsUntilStateChange: -46590.51 - state: Opening - - type: Airlock - autoClose: False - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource @@ -249930,8 +226345,6 @@ entities: 35604: - - DoorStatus - Close - lastSignals: - DoorStatus: True - uid: 35527 components: - type: Transform @@ -250399,12 +226812,6 @@ entities: - type: Transform pos: 73.5,57.5 parent: 2 - - uid: 36439 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 71.5,53.5 - parent: 2 - proto: WindoorSecureEngineeringLocked entities: - uid: 35592 @@ -250507,7 +226914,7 @@ entities: pos: 49.5,-15.5 parent: 2 - type: DeviceLinkSink - invokeCounter: 2 + invokeCounter: 1 - type: DeviceLinkSource linkedPorts: 35526: @@ -250550,24 +226957,32 @@ entities: rot: 1.5707963267948966 rad pos: 53.5,-30.5 parent: 2 - - uid: 35612 + - uid: 35609 components: - type: Transform - rot: 3.141592653589793 rad - pos: 37.5,-24.5 + rot: 1.5707963267948966 rad + pos: 44.5,-39.5 parent: 2 -- proto: WindoorSecureSecurityLocked - entities: - - uid: 15180 + - uid: 35610 components: - type: Transform - pos: 16.5,30.5 + rot: 1.5707963267948966 rad + pos: 44.5,-38.5 parent: 2 - - uid: 30445 + - uid: 35611 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 44.5,-37.5 + parent: 2 + - uid: 35612 components: - type: Transform - pos: 18.5,30.5 + rot: 3.141592653589793 rad + pos: 37.5,-24.5 parent: 2 +- proto: WindoorSecureSecurityLocked + entities: - uid: 35613 components: - type: Transform @@ -251076,22 +227491,6 @@ entities: parent: 2 - proto: WindowReinforcedDirectional entities: - - uid: 384 - components: - - type: Transform - pos: 17.5,30.5 - parent: 2 - - uid: 12914 - components: - - type: Transform - pos: 19.5,30.5 - parent: 2 - - uid: 25562 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 17.5,30.5 - parent: 2 - uid: 35706 components: - type: Transform @@ -252720,6 +229119,11 @@ entities: - type: Transform pos: 42.53269,-39.476295 parent: 2 + - uid: 35991 + components: + - type: Transform + pos: 62.451862,-42.36957 + parent: 2 - uid: 35992 components: - type: Transform diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml index 97150337f7e..8bd1432c553 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/engivend.yml @@ -12,10 +12,9 @@ GeigerCounter: 10 # Frontier PowerCellMedium: 15 # Frontier: 5<15 # NetworkConfigurator: 5 # Frontier - ShipRepairDevice: 10 # Frontier - ShipRepairDeviceAmmo: 20 # Frontier + ShipyardRCD: 10 # Frontier + ShipyardRCDAmmo: 20 # Frontier ClothingHeadHatCone: 10 # Frontier: 4<10 - BoxFolderEngiForms: 10 # Hardlight contrabandInventory: CowToolboxFilled: 1 DrinkBeerCan: 3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/youtool.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/youtool.yml index cb784ed79ce..acff772810a 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/youtool.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/youtool.yml @@ -18,7 +18,6 @@ GasAnalyzer: 15 SprayPainter: 15 SprayPainterAmmo: 15 - BoxFolderEngiForms: 10 # Hardlight # Some engineer forgot to take the multitool out the youtool when working on it, happens. contrabandInventory: Multitool: 5 diff --git a/Resources/Prototypes/DeviceLinking/source_ports.yml b/Resources/Prototypes/DeviceLinking/source_ports.yml index 22a67bcef09..295c5445290 100644 --- a/Resources/Prototypes/DeviceLinking/source_ports.yml +++ b/Resources/Prototypes/DeviceLinking/source_ports.yml @@ -163,47 +163,7 @@ description: signal-port-description-operating-table - type: sourcePort - id: FillItems + id: FillItems # Used by Fillbot name: signal-port-name-fillitems description: signal-port-description-fillitems defaultLinks: [ FillbotAnyItem ] - -- type: sourcePort - id: device-button-1 - name: signal-port-name-pulse - description: signal-port-description-pulse - -- type: sourcePort - id: device-button-2 - name: signal-port-name-pulse - description: signal-port-description-pulse - -- type: sourcePort - id: device-button-3 - name: signal-port-name-pulse - description: signal-port-description-pulse - -- type: sourcePort - id: device-button-4 - name: signal-port-name-pulse - description: signal-port-description-pulse - -- type: sourcePort - id: device-button-5 - name: signal-port-name-pulse - description: signal-port-description-pulse - -- type: sourcePort - id: device-button-6 - name: signal-port-name-pulse - description: signal-port-description-pulse - -- type: sourcePort - id: device-button-7 - name: signal-port-name-pulse - description: signal-port-description-pulse - -- type: sourcePort - id: device-button-8 - name: signal-port-name-pulse - description: signal-port-description-pulse diff --git a/Resources/Prototypes/Entities/Effects/rcd.yml b/Resources/Prototypes/Entities/Effects/rcd.yml index 158aae9e32a..05629eed432 100644 --- a/Resources/Prototypes/Entities/Effects/rcd.yml +++ b/Resources/Prototypes/Entities/Effects/rcd.yml @@ -4,8 +4,7 @@ categories: [ HideSpawnMenu ] components: - type: Transform - # anchored: True # Mono - gridTraversal: false # Mono + anchored: True - type: Sprite snapCardinals: true noRot: true @@ -16,7 +15,7 @@ tags: - HideContextMenu - type: AnimationPlayer - + - type: entity parent: EffectRCDBase id: EffectRCDDeconstructPreview @@ -24,7 +23,7 @@ components: - type: Sprite state: deconstructPreview - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct0 @@ -34,7 +33,7 @@ state: construct0 - type: TimedDespawn lifetime: 1.2 - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct1 @@ -44,7 +43,7 @@ state: construct1 - type: TimedDespawn lifetime: 2.2 - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct2 @@ -54,7 +53,7 @@ state: construct2 - type: TimedDespawn lifetime: 3.2 - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct3 @@ -64,7 +63,7 @@ state: construct3 - type: TimedDespawn lifetime: 4.2 - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct4 @@ -84,7 +83,7 @@ state: deconstruct2 - type: TimedDespawn lifetime: 3.2 - + - type: entity parent: EffectRCDBase id: EffectRCDDeconstruct4 diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 95dc5ed3b47..012a4b617ff 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -76,7 +76,6 @@ transmitFrequencyId: ShuttleTimer - type: RadarConsole followEntity: false - pannable: true # Mono - type: CommunicationsConsole canShuttle: false title: comms-console-announcement-title-station-ai diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index d285c88ed77..3a9b338b5dc 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -717,7 +717,6 @@ moduleId: RCD # Frontier items: - RCDRecharging - - ShipRepairDeviceRecharging # Mono - type: BorgModuleIcon icon: { sprite: Interface/Actions/actions_borg.rsi, state: rcd-module } diff --git a/Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml b/Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml index 05b0dac683d..4dc2e65b77f 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml @@ -1,15 +1,3 @@ -# SPDX-FileCopyrightText: 2023 Temoffy -# SPDX-FileCopyrightText: 2024 Dvir -# SPDX-FileCopyrightText: 2024 Ed -# SPDX-FileCopyrightText: 2024 Nemanja -# SPDX-FileCopyrightText: 2024 Whatstone -# SPDX-FileCopyrightText: 2024 Wiebe Geertsma -# SPDX-FileCopyrightText: 2024 deltanedas -# SPDX-FileCopyrightText: 2024 metalgearsloth -# SPDX-FileCopyrightText: 2025 Ilya246 -# -# SPDX-License-Identifier: MPL-2.0 - - type: entity name: handheld mass scanner parent: BaseHandheldComputer @@ -28,13 +16,8 @@ visible: false map: [ "enum.PowerDeviceVisualLayers.Powered" ] - type: RadarConsole - maxRange: 512 + maxRange: 256 followEntity: true - pannable: true # Mono - # Mono - - type: DetectionRangeMultiplier - infraredMultiplier: 0.5 # from 1 - visualMultiplier: 3 # from 4 - type: Appearance - type: GenericVisualizer visuals: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index 29c0a57893c..5a21a3aa166 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -255,9 +255,6 @@ whitelist: tags: - Magazine46x30mmSubMachineGunTopMountedFMJ - - Magazine45_ACPSubMachineGunTopMountedFMJ - - Magazine9x19mmSubMachineGunTopMountedFMJ - - Magazine57x28mmSubMachineGunTopMountedFMJ whitelistFailPopup: gun-magazine-whitelist-fail gun_chamber: name: Chamber @@ -266,9 +263,6 @@ whitelist: tags: - Cartridge46x30mmFMJ - - Cartridge45_ACPFMJ - - Cartridge9x19mm - - Cartridge57x28mmFMJ - type: MagazineVisuals magState: mag steps: 6 diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml index 8979514bf17..ff46d1e7f5f 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml @@ -182,10 +182,6 @@ - Airlocks - WirePanels - Networking - # Mono - - type: ShipRepairable - repairTime: 6 - repairCost: 6 placement: mode: SnapgridCenter diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml index d22df912bfd..a0486a6bec5 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml @@ -130,7 +130,3 @@ tags: - HighSecDoor # This tag is used to nagivate the Airlock construction graph. It's needed because this construction graph is shared between Airlock, AirlockGlass, and HighSecDoor - # Mono - - type: ShipRepairable - repairTime: 6 - repairCost: 12 diff --git a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml index 5f64c6ddada..9da20536fe2 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml @@ -164,10 +164,6 @@ - type: ContainerFill containers: board: [ FirelockElectronics ] - # Mono - - type: ShipRepairable - repairTime: 3 - repairCost: 6 - type: entity id: FirelockGlass diff --git a/Resources/Prototypes/Entities/Structures/Doors/Shutter/blast_door.yml b/Resources/Prototypes/Entities/Structures/Doors/Shutter/blast_door.yml index 1cde4a088df..006c4ee1417 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Shutter/blast_door.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Shutter/blast_door.yml @@ -50,10 +50,6 @@ messagePerceivedByOthers: comp-window-knock interactSuccessSound: path: /Audio/Effects/glass_knock.ogg - # Mono - - type: ShipRepairable - repairTime: 6 - repairCost: 8 - type: entity id: BlastDoorOpen diff --git a/Resources/Prototypes/Entities/Structures/Furniture/beds.yml b/Resources/Prototypes/Entities/Structures/Furniture/beds.yml index c3412cd240a..d0cefbf1699 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/beds.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/beds.yml @@ -56,10 +56,6 @@ noRot: true - type: Anchorable - type: Pullable - # Mono - - type: ShipRepairable - repairTime: 1 - repairCost: 2 - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml index 5a530373df1..3ef108de032 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml @@ -75,10 +75,6 @@ anchored: true - type: PotentialDeadDrop # Frontier hintText: dead-drop-hint-chair # Frontier - # Mono - - type: ShipRepairable - repairTime: 1 - repairCost: 1 #Starts unanchored, can be rotated while anchored - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml b/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml index 0379e70057b..ae9ae2d2e61 100644 --- a/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml +++ b/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml @@ -83,10 +83,6 @@ - !type:PlaySoundBehavior sound: collection: GlassBreak - # Mono - - type: ShipRepairable - repairTime: 1 - repairCost: 2 placement: mode: SnapgridCenter snap: @@ -312,10 +308,6 @@ - type: Construction graph: LightFixture node: bulbLight - # Mono - - type: ShipRepairable - repairTime: 0.5 - repairCost: 1 - type: entity name: small light diff --git a/Resources/Prototypes/Entities/Structures/Lighting/ground_lighting.yml b/Resources/Prototypes/Entities/Structures/Lighting/ground_lighting.yml index 8ba067ebee4..b90be58c9c5 100644 --- a/Resources/Prototypes/Entities/Structures/Lighting/ground_lighting.yml +++ b/Resources/Prototypes/Entities/Structures/Lighting/ground_lighting.yml @@ -66,10 +66,6 @@ - type: StaticPrice price: 30 # Frontier: 75<30 - type: RequireProjectileTarget - # Mono - - type: ShipRepairable - repairTime: 1 - repairCost: 2 - type: entity id: PoweredLightPostSmallEmpty diff --git a/Resources/Prototypes/Entities/Structures/Lighting/strobe_lighting.yml b/Resources/Prototypes/Entities/Structures/Lighting/strobe_lighting.yml index 6f88a0b6075..c1aa9b97d8f 100644 --- a/Resources/Prototypes/Entities/Structures/Lighting/strobe_lighting.yml +++ b/Resources/Prototypes/Entities/Structures/Lighting/strobe_lighting.yml @@ -74,10 +74,6 @@ max: 1 - !type:DoActsBehavior acts: ["Destruction"] - # Mono - - type: ShipRepairable - repairTime: 1 - repairCost: 2 placement: mode: SnapgridCenter snap: diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml index 1bfa5e9c302..efdb375401e 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml @@ -95,7 +95,7 @@ id: ComputerEmergencyShuttle name: emergency shuttle console description: Handles authorization to early launch the shuttle. - categories: [ HideSpawnMenu ] # Frontier + # categories: [ HideSpawnMenu ] # Frontier components: - type: AccessReader access: @@ -115,15 +115,13 @@ color: "#43ccb5" - type: entity - parent: BaseComputerAiAccess # Mono + parent: BaseComputer id: BaseComputerShuttle name: shuttle console description: Used to pilot a shuttle. abstract: true components: - type: ShuttleConsole - - type: ShipNpcTarget # Mono - needPower: true - type: ActivatableUI key: enum.ShuttleConsoleUiKey.Key - type: UserInterface @@ -134,7 +132,7 @@ type: WiresBoundUserInterface - type: RadarConsole - type: WorldLoader - radius: 384 # Mono + radius: 256 # Mono - type: PointLight radius: 1.5 energy: 1.6 @@ -158,20 +156,6 @@ - type: GuideHelp guides: - ShuttleCraft - - type: DeviceLinkSource # Mono - ports: - - device-button-1 - - device-button-2 - - device-button-3 - - device-button-4 - - device-button-5 - - device-button-6 - - device-button-7 - - device-button-8 - # Mono - - type: ShipRepairable - repairTime: 10 - repairCost: 30 - type: entity parent: [BaseComputerShuttle, BaseShuttleIntercom] # Frontier - BaseShuttleIntercom @@ -217,7 +201,7 @@ id: ComputerShuttleSyndie name: syndicate shuttle console description: Used to pilot a syndicate shuttle. - categories: [ HideSpawnMenu ] # Frontier + # categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite layers: @@ -235,8 +219,9 @@ tags: - Syndicate - type: RadarConsole + maxRange: 256 - type: WorldLoader - radius: 1536 + radius: 256 - type: PointLight radius: 1.5 energy: 1.6 @@ -267,6 +252,7 @@ components: - type: CargoShuttle - type: RadarConsole + maxRange: 256 - type: PointLight radius: 1.5 energy: 1.6 @@ -314,12 +300,27 @@ suffix: Syndicate description: Allows you to control the IFF and stealth characteristics of this vessel. components: + - type: DisableToolUse + anchoring: true + prying: true + screwing: true + cutting: true + welding: true + pulsing: true + slicing: true + sawing: true + honking: true + rolling: true + digging: true - type: IFFConsole allowedFlags: - Hide - HideLabel - type: ActivatableUI key: enum.IFFConsoleUiKey.Key + - type: Anchorable + flags: + - Unanchorable - type: UserInterface interfaces: enum.IFFConsoleUiKey.Key: @@ -498,10 +499,6 @@ - type: GuideHelp guides: - Forensics - # Mono - - type: ShipRepairable - repairTime: 3 - repairCost: 6 - type: entity parent: BaseComputerAiAccess @@ -571,7 +568,7 @@ - type: UserInterface interfaces: enum.ResearchConsoleUiKey.Key: - type: ResearchConsoleBoundUserInterface # R&D Console rework + type: ResearchConsoleBoundUserInterface enum.ResearchClientUiKey.Key: type: ResearchClientBoundUserInterface enum.WiresUiKey.Key: @@ -580,8 +577,8 @@ powerLoad: 1000 - type: Computer board: ResearchComputerCircuitboard -# - type: AccessReader -# access: [["Research"]] + # - type: AccessReader + # access: [["Research"]] - type: PointLight radius: 1.5 energy: 1.6 @@ -675,6 +672,9 @@ type: WiresBoundUserInterface - type: CrewManifestViewer ownerKey: enum.IdCardConsoleUiKey.Key + - type: Speech + speechVerb: Robotic + speechSounds: Pai - type: Sprite layers: - map: ["computerLayerBody"] @@ -737,12 +737,12 @@ - map: [ "enum.WiresVisualLayers.MaintenancePanel" ] state: generic_panel_open - type: AccessReader - access: [["HeadOfPersonnel"], ["HeadOfSecurity"]] + access: [["Command"]] - type: CommunicationsConsole title: comms-console-announcement-title-station global: true #SR WILL NOT BE IGNORED - type: DeviceNetwork - deviceNetId: Wireless # Frontier + deviceNetId: Wireless transmitFrequencyId: ShuttleTimer - type: ActivatableUI key: enum.CommunicationsConsoleUiKey.Key @@ -918,6 +918,8 @@ - map: [ "enum.WiresVisualLayers.MaintenancePanel" ] state: generic_panel_open - type: RadarConsole + maxRange: 256 # Frontier + maxIffRange: 512 # Frontier - type: ActivatableUI key: enum.RadarConsoleUiKey.Key - type: UserInterface @@ -957,17 +959,13 @@ params: loop: true volume: 1 - # Mono - - type: ShipRepairable - repairTime: 4 - repairCost: 8 - type: entity id: ComputerCargoShuttle parent: BaseComputerAiAccess name: cargo shuttle computer description: Used to order the shuttle. - categories: [ HideSpawnMenu ] # Frontier + # categories: [ HideSpawnMenu ] # Frontier components: - type: Sprite layers: @@ -1006,7 +1004,7 @@ id: ComputerCargoOrders parent: [BaseStructureDisableToolUse, BaseStructureIndestructible, BaseComputerAiAccess] # Frontier: add BaseStructureDisableToolUse, BaseStructureIndestructible name: cargo request computer - description: Used to order supplies and approve requests. + description: Used to purchase supplies in from Colonial Command. # Frontier components: - type: Sprite layers: @@ -1017,23 +1015,25 @@ - map: ["computerLayerScreen"] state: request - map: ["computerLayerKeys"] - state: tech_key + state: generic_keys - map: [ "enum.WiresVisualLayers.MaintenancePanel" ] state: generic_panel_open - - type: NFCargoOrderConsole + - type: NFCargoOrderConsole # Frontier: use NF component taxAccounts: # Frontier Frontier: 0.25 # Frontier - Colsec: 0.15 # Frontier - Medical: 0.1 # Mono -# - type: ActiveRadio # Frontier -# channels: # Frontier -# - Supply # Frontier + ColSec: 0.15 # Frontier, HardLight: Nfsd