Merge remote-tracking branch 'upstream/master'

# Conflicts:
#	Tools/gen_build_info.py
This commit is contained in:
Arthur 2021-12-24 01:58:42 +03:00
commit bdffd7925c
103 changed files with 5427 additions and 346 deletions

View file

@ -98,6 +98,7 @@ namespace Content.Client.Entry
prototypes.RegisterIgnore("advertisementsPack");
prototypes.RegisterIgnore("metabolizerType");
prototypes.RegisterIgnore("metabolismGroup");
prototypes.RegisterIgnore("salvageMap");
prototypes.RegisterIgnore("gamePreset");
prototypes.RegisterIgnore("gameRule");

View file

@ -126,6 +126,8 @@ namespace Content.Client.Entry
"Toys",
"SurgeryTool",
"EmitSoundOnThrow",
"Salvage",
"SalvageMagnet",
"Flash",
"Docking",
"Telecrystal",

View file

@ -29,7 +29,7 @@ namespace Content.Server.Atmos.Commands
var entityManager = IoCManager.Resolve<IEntityManager>();
var atmosphereSystem = EntitySystem.Get<AtmosphereSystem>();
var mixtures = new GasMixture[5];
var mixtures = new GasMixture[6];
for (var i = 0; i < mixtures.Length; i++)
mixtures[i] = new GasMixture(Atmospherics.CellVolume) { Temperature = Atmospherics.T20C };
@ -48,6 +48,11 @@ namespace Content.Server.Atmos.Commands
// 4: Plasma (GM)
mixtures[4].AdjustMoles(Gas.Plasma, Atmospherics.MolesCellGasMiner);
// 5: Instant Plasmafire (r)
mixtures[5].AdjustMoles(Gas.Oxygen, Atmospherics.MolesCellGasMiner);
mixtures[5].AdjustMoles(Gas.Plasma, Atmospherics.MolesCellGasMiner);
mixtures[5].Temperature = 5000f;
foreach (var gid in args)
{
// I like offering detailed error messages, that's why I don't use one of the extension methods.

View file

@ -116,7 +116,7 @@ namespace Content.Server.Atmos
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SetMoles(int gasId, float quantity)
{
if (float.IsInfinity(quantity) || float.IsNaN(quantity) || float.IsNegative(quantity))
if (!float.IsFinite(quantity) || float.IsNegative(quantity))
throw new ArgumentException($"Invalid quantity \"{quantity}\" specified!", nameof(quantity));
if (!Immutable)
@ -134,14 +134,14 @@ namespace Content.Server.Atmos
{
if (!Immutable)
{
if (float.IsInfinity(quantity) || float.IsNaN(quantity))
if (!float.IsFinite(quantity))
throw new ArgumentException($"Invalid quantity \"{quantity}\" specified!", nameof(quantity));
Moles[gasId] += quantity;
var moles = Moles[gasId];
if (float.IsInfinity(moles) || float.IsNaN(moles) || float.IsNegative(moles))
if (!float.IsFinite(moles) || float.IsNegative(moles))
throw new Exception($"Invalid mole quantity \"{moles}\" in gas Id {gasId} after adjusting moles with \"{quantity}\"!");
}
}

View file

@ -487,7 +487,16 @@ namespace Content.Server.Database
.Where(player => playerIds.Contains(player.UserId))
.ToListAsync();
round.Players.AddRange(players);
var playerSet = new HashSet<Guid>(round.Players.Select(player => player.UserId));
foreach (var player in players)
{
if (playerSet.Contains(player.UserId))
{
continue;
}
round.Players.Add(player);
}
await db.DbContext.SaveChangesAsync();
}

View file

@ -153,27 +153,29 @@ namespace Content.Server.Doors.Components
public void UpdateWiresStatus()
{
if (DoorComponent == null)
{
return;
}
if (WiresComponent == null) return;
var powerLight = new StatusLightData(Color.Yellow, StatusLightState.On, "POWR");
if (PowerWiresPulsed)
var mainPowerCut = WiresComponent.IsWireCut(Wires.MainPower);
var backupPowerCut = WiresComponent.IsWireCut(Wires.BackupPower);
var statusLightState = PowerWiresPulsed ? StatusLightState.BlinkingFast : StatusLightState.On;
StatusLightData powerLight;
if (mainPowerCut && backupPowerCut)
{
powerLight = new StatusLightData(Color.Yellow, StatusLightState.BlinkingFast, "POWR");
powerLight = new StatusLightData(Color.DarkGoldenrod, StatusLightState.Off, "POWER");
}
else if (WiresComponent != null &&
WiresComponent.IsWireCut(Wires.MainPower) &&
WiresComponent.IsWireCut(Wires.BackupPower))
else if (mainPowerCut != backupPowerCut)
{
powerLight = new StatusLightData(Color.Red, StatusLightState.On, "POWR");
powerLight = new StatusLightData(Color.Gold, statusLightState, "POWER");
}
else
{
powerLight = new StatusLightData(Color.Yellow, statusLightState, "POWER");
}
var boltStatus =
new StatusLightData(Color.Red, BoltsDown ? StatusLightState.On : StatusLightState.Off, "BOLT");
var boltLightsStatus = new StatusLightData(Color.Lime,
_boltLightsWirePulsed ? StatusLightState.On : StatusLightState.Off, "BLTL");
_boltLightsWirePulsed ? StatusLightState.On : StatusLightState.Off, "BOLT LED");
var ev = new DoorGetCloseTimeModifierEvent();
IoCManager.Resolve<IEntityManager>().EventBus.RaiseLocalEvent(Owner, ev, false);
@ -185,17 +187,13 @@ namespace Content.Server.Doors.Components
"TIME");
var safetyStatus =
new StatusLightData(Color.Red, Safety ? StatusLightState.On : StatusLightState.Off, "SAFE");
new StatusLightData(Color.Red, Safety ? StatusLightState.On : StatusLightState.Off, "SAFETY");
if (WiresComponent == null)
{
return;
}
WiresComponent.SetStatus(AirlockWireStatus.PowerIndicator, powerLight);
WiresComponent.SetStatus(AirlockWireStatus.BoltIndicator, boltStatus);
WiresComponent.SetStatus(AirlockWireStatus.BoltLightIndicator, boltLightsStatus);
WiresComponent.SetStatus(AirlockWireStatus.AIControlIndicator, new StatusLightData(Color.Purple, StatusLightState.BlinkingSlow, "AICT"));
WiresComponent.SetStatus(AirlockWireStatus.AIControlIndicator, new StatusLightData(Color.Purple, StatusLightState.BlinkingSlow, "AI CTRL"));
WiresComponent.SetStatus(AirlockWireStatus.TimingIndicator, timingStatus);
WiresComponent.SetStatus(AirlockWireStatus.SafetyIndicator, safetyStatus);
}
@ -219,7 +217,7 @@ namespace Content.Server.Doors.Components
}
ReceiverComponent.PowerDisabled =
WiresComponent.IsWireCut(Wires.MainPower) ||
WiresComponent.IsWireCut(Wires.MainPower) &&
WiresComponent.IsWireCut(Wires.BackupPower);
}

View file

@ -0,0 +1,22 @@
using System.Linq;
using Content.Server.Holiday;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Log;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
namespace Content.Server.Maps.Conditions;
public class HolidayMapCondition : GameMapCondition
{
[DataField("holidays")]
public string[] Holidays { get; } = default!;
public override bool Check(GameMapPrototype map)
{
var holidaySystem = EntitySystem.Get<HolidaySystem>();
return Holidays.Any(holiday => holidaySystem.IsCurrentlyHoliday(holiday)) ^ Inverted;
}
}

View file

@ -0,0 +1,11 @@
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Server.Maps;
[ImplicitDataDefinitionForInheritors]
public abstract class GameMapCondition
{
[DataField("inverted")]
public bool Inverted { get; }
public abstract bool Check(GameMapPrototype map);
}

View file

@ -111,7 +111,9 @@ public class GameMapManager : IGameMapManager
private bool IsMapEligible(GameMapPrototype map)
{
return map.MaxPlayers >= _playerManager.PlayerCount && map.MinPlayers <= _playerManager.PlayerCount;
return map.MaxPlayers >= _playerManager.PlayerCount &&
map.MinPlayers <= _playerManager.PlayerCount &&
map.Conditions.All(x => x.Check(map));
}
private bool TryLookupMap(string gameMap, [NotNullWhen(true)] out GameMapPrototype? map)

View file

@ -66,6 +66,9 @@ public class GameMapPrototype : IPrototype
[DataField("votable")]
public bool Votable { get; } = true;
[DataField("conditions")]
public List<GameMapCondition> Conditions { get; } = new();
/// <summary>
/// Jobs used at round start should the station run out of job slots.
/// Doesn't necessarily mean the station has infinite slots for the given jobs midround!

View file

@ -0,0 +1,51 @@
using Robust.Shared.GameObjects;
using Robust.Shared.Maths;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.ViewVariables;
using System;
namespace Content.Server.Salvage
{
/// <summary>
/// A salvage magnet.
/// </summary>
[RegisterComponent]
[ComponentProtoName("SalvageMagnet")]
public class SalvageMagnetComponent : Component
{
/// <summary>
/// Offset relative to magnet that salvage should spawn.
/// Keep in sync with marker sprite (if any???)
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
[DataField("offset")]
public Vector2 Offset = Vector2.Zero; // TODO: Maybe specify a direction, and find the nearest edge of the magnets grid the salvage can fit at
/// <summary>
/// The entity attached to the magnet
/// </summary>
[ViewVariables(VVAccess.ReadOnly)]
[DataField("attachedEntity")]
public EntityUid? AttachedEntity = null;
/// <summary>
/// Current state of this magnet
/// </summary>
[ViewVariables(VVAccess.ReadOnly)]
[DataField("magnetState")]
public MagnetState MagnetState = MagnetState.Inactive;
}
public record struct MagnetState(MagnetStateType StateType, TimeSpan Until)
{
public static readonly MagnetState Inactive = new (MagnetStateType.Inactive, TimeSpan.Zero);
};
public enum MagnetStateType
{
Inactive,
Attaching,
Holding,
Detaching,
CoolingDown,
}
}

View file

@ -0,0 +1,38 @@
using System.Collections.Generic;
using System.Linq;
using Content.Server.Objectives.Interfaces;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.ViewVariables;
namespace Content.Server.Salvage
{
[Prototype("salvageMap")]
public class SalvageMapPrototype : IPrototype
{
[ViewVariables]
[DataField("id", required: true)]
public string ID { get; } = default!;
/// <summary>
/// Relative directory path to the given map, i.e. `Maps/Salvage/test.yml`
/// </summary>
[ViewVariables]
[DataField("mapPath", required: true)]
public string MapPath { get; } = default!;
/// <summary>
/// Size *from 0,0* in units of the map (used to determine if it fits)
/// </summary>
[ViewVariables]
[DataField("size", required: true)]
public float Size { get; } = 1.0f; // TODO: Find a way to figure out the size automatically
/// <summary>
/// Name for admin use
/// </summary>
[ViewVariables]
[DataField("name")]
public string Name { get; } = "";
}
}

View file

@ -0,0 +1,378 @@
using Content.Server.Chat.Managers;
using Content.Server.GameTicking;
using Content.Shared.CCVar;
using Content.Shared.Examine;
using Content.Shared.GameTicking;
using Content.Shared.Interaction;
using Content.Shared.Popups;
using Robust.Server.Maps;
using Robust.Shared.Configuration;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Log;
using Robust.Shared.Map;
using Robust.Shared.Maths;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Content.Server.Salvage
{
public class SalvageSystem : EntitySystem
{
[Dependency] private readonly IChatManager _chatManager = default!;
[Dependency] private readonly IPauseManager _pauseManager = default!;
[Dependency] private readonly IMapLoader _mapLoader = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly SharedPopupSystem _popupSystem = default!;
private static readonly TimeSpan AttachingTime = TimeSpan.FromSeconds(30);
private static readonly TimeSpan HoldTime = TimeSpan.FromMinutes(4);
private static readonly TimeSpan DetachingTime = TimeSpan.FromSeconds(30);
private static readonly TimeSpan CooldownTime = TimeSpan.FromMinutes(1);
private readonly Dictionary<GridId, SalvageGridState> _salvageGridStates = new();
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<SalvageMagnetComponent, InteractHandEvent>(OnInteractHand);
SubscribeLocalEvent<SalvageMagnetComponent, ExaminedEvent>(OnExamined);
SubscribeLocalEvent<SalvageMagnetComponent, ComponentShutdown>(OnMagnetRemoval);
SubscribeLocalEvent<GridRemovalEvent>(OnGridRemoval);
// Can't use RoundRestartCleanupEvent, I need to clean up before the grid, and components are gone to prevent the announcements
SubscribeLocalEvent<GameRunLevelChangedEvent>(OnRoundEnd);
}
private void OnRoundEnd(GameRunLevelChangedEvent ev)
{
if(ev.New != GameRunLevel.InRound)
{
_salvageGridStates.Clear();
}
}
private void OnGridRemoval(GridRemovalEvent ev)
{
// If we ever want to give magnets names, and announce them individually, we would need to loop this, before removing it.
if (_salvageGridStates.Remove(ev.GridId))
{
Report("salvage-system-announcement-spawn-magnet-lost");
// For the very unlikely possibility that the salvage magnet was on a salvage, we will not return here
}
foreach(var gridState in _salvageGridStates)
{
foreach(var magnet in gridState.Value.ActiveMagnets)
{
if (magnet.AttachedEntity == ev.EntityUid)
{
magnet.AttachedEntity = null;
magnet.MagnetState = MagnetState.Inactive;
Report("salvage-system-announcement-lost");
return;
}
}
}
}
private void OnMagnetRemoval(EntityUid uid, SalvageMagnetComponent component, ComponentShutdown args)
{
if (component.MagnetState.StateType == MagnetStateType.Inactive) return;
var magnetTranform = EntityManager.GetComponent<TransformComponent>(component.Owner);
if (!_salvageGridStates.TryGetValue(magnetTranform.GridID, out var salvageGridState))
{
return;
}
salvageGridState.ActiveMagnets.Remove(component);
Report("salvage-system-announcement-spawn-magnet-lost");
if (component.AttachedEntity.HasValue)
{
SafeDeleteSalvage(component.AttachedEntity.Value);
component.AttachedEntity = null;
Report("salvage-system-announcement-lost");
}
else if (component.MagnetState is { StateType: MagnetStateType.Attaching })
{
Report("salvage-system-announcement-spawn-no-debris-available");
}
component.MagnetState = MagnetState.Inactive;
}
private void OnExamined(EntityUid uid, SalvageMagnetComponent component, ExaminedEvent args)
{
if (!args.IsInDetailsRange)
return;
switch (component.MagnetState.StateType)
{
case MagnetStateType.Inactive:
args.PushMarkup(Loc.GetString("salvage-system-magnet-examined-inactive"));
break;
case MagnetStateType.Attaching:
args.PushMarkup(Loc.GetString("salvage-system-magnet-examined-pulling-in"));
break;
case MagnetStateType.Detaching:
args.PushMarkup(Loc.GetString("salvage-system-magnet-examined-releasing"));
break;
case MagnetStateType.CoolingDown:
args.PushMarkup(Loc.GetString("salvage-system-magnet-examined-cooling-down"));
break;
case MagnetStateType.Holding:
var magnetTranform = EntityManager.GetComponent<TransformComponent>(component.Owner);
if (_salvageGridStates.TryGetValue(magnetTranform.GridID, out var salvageGridState))
{
var remainingTime = component.MagnetState.Until - salvageGridState.CurrentTime;
args.PushMarkup(Loc.GetString("salvage-system-magnet-examined-active", ("timeLeft", remainingTime.TotalSeconds)));
}
else
{
Logger.WarningS("salvage", "Failed to load salvage grid state, can't display remaining time");
}
break;
default:
throw new NotImplementedException("Unexpected magnet state type");
}
}
private void OnInteractHand(EntityUid uid, SalvageMagnetComponent component, InteractHandEvent args)
{
if (args.Handled)
return;
args.Handled = true;
StartMagnet(component, args.User);
}
private void StartMagnet(SalvageMagnetComponent component, EntityUid user)
{
switch (component.MagnetState.StateType)
{
case MagnetStateType.Inactive:
ShowPopup("salvage-system-report-activate-success", component, user);
var magnetTranform = EntityManager.GetComponent<TransformComponent>(component.Owner);
SalvageGridState? gridState;
if (!_salvageGridStates.TryGetValue(magnetTranform.GridID, out gridState))
{
gridState = new SalvageGridState();
_salvageGridStates[magnetTranform.GridID] = gridState;
}
gridState.ActiveMagnets.Add(component);
component.MagnetState = new MagnetState(MagnetStateType.Attaching, gridState.CurrentTime + AttachingTime);
Report("salvage-system-report-activate-success");
break;
case MagnetStateType.Attaching:
case MagnetStateType.Holding:
ShowPopup("salvage-system-report-already-active", component, user);
break;
case MagnetStateType.Detaching:
case MagnetStateType.CoolingDown:
ShowPopup("salvage-system-report-cooling-down", component, user);
break;
default:
throw new NotImplementedException("Unexpected magnet state type");
}
}
private void ShowPopup(string messageKey, SalvageMagnetComponent component, EntityUid user)
{
_popupSystem.PopupEntity(Loc.GetString(messageKey), component.Owner, Filter.Entities(user));
}
private void SafeDeleteSalvage(EntityUid salvage)
{
if(!EntityManager.TryGetComponent<TransformComponent>(salvage, out var salvageTransform))
{
Logger.ErrorS("salvage", "Salvage entity was missing transform component");
return;
}
var parentTransform = salvageTransform.Parent!;
foreach (var player in Filter.Empty().AddInGrid(salvageTransform.GridID, EntityManager).Recipients)
{
if (player.AttachedEntity.HasValue)
{
var playerTransform = EntityManager.GetComponent<TransformComponent>(player.AttachedEntity.Value);
playerTransform.AttachParent(parentTransform);
}
}
EntityManager.QueueDeleteEntity(salvage);
}
private bool TryGetSalvagePlacementLocation(out MapCoordinates coords, out Angle angle)
{
coords = MapCoordinates.Nullspace;
angle = Angle.Zero;
foreach (var (smc, tsc) in EntityManager.EntityQuery<SalvageMagnetComponent, TransformComponent>(true))
{
coords = new EntityCoordinates(smc.Owner, smc.Offset).ToMap(EntityManager);
var grid = tsc.GridID;
if (grid != GridId.Invalid)
{
// Has a valid grid - synchronize angle so that salvage doesn't have to deal with cross-grid manipulation issues
angle = tsc.WorldRotation;
}
return true;
}
return false;
}
private IEnumerable<SalvageMapPrototype> GetAllSalvageMaps() =>
_prototypeManager.EnumeratePrototypes<SalvageMapPrototype>();
private bool SpawnSalvage(SalvageMagnetComponent component)
{
if (!TryGetSalvagePlacementLocation(out var spl, out var spAngle))
{
Report("salvage-system-announcement-spawn-magnet-lost");
return false;
}
SalvageMapPrototype? map = null;
var forcedSalvage = _configurationManager.GetCVar<string>(CCVars.SalvageForced);
List<SalvageMapPrototype> allSalvageMaps;
if (string.IsNullOrWhiteSpace(forcedSalvage))
{
allSalvageMaps = GetAllSalvageMaps().ToList();
}
else
{
allSalvageMaps = new();
if (_prototypeManager.TryIndex<SalvageMapPrototype>(forcedSalvage, out map))
{
allSalvageMaps.Add(map);
}
else
{
Logger.ErrorS("c.s.salvage", $"Unable to get forced salvage map prototype {forcedSalvage}");
}
}
for (var i = 0; i < allSalvageMaps.Count; i++)
{
map = _random.PickAndTake(allSalvageMaps);
var box2 = Box2.CenteredAround(spl.Position, new Vector2(map.Size * 2.0f, map.Size * 2.0f));
var box2rot = new Box2Rotated(box2, spAngle, spl.Position);
// This doesn't stop it from spawning on top of random things in space
// Might be better like this, ghosts could stop it before
if (_mapManager.FindGridsIntersecting(spl.MapId, box2rot).Any())
{
map = null;
}
else
{
break;
}
}
if (map == null)
{
Report("salvage-system-announcement-spawn-no-debris-available");
return false;
}
var bp = _mapLoader.LoadBlueprint(spl.MapId, map.MapPath);
if (bp == null)
{
Report("salvage-system-announcement-spawn-debris-disintegrated");
return false;
}
var salvageEntityId = bp.GridEntityId;
component.AttachedEntity = salvageEntityId;
var pulledTransform = EntityManager.GetComponent<TransformComponent>(salvageEntityId);
pulledTransform.Coordinates = EntityCoordinates.FromMap(_mapManager, spl);
pulledTransform.WorldRotation = spAngle;
Report("salvage-system-announcement-arrived", ("timeLeft", HoldTime.TotalSeconds));
return true;
}
private void Report(string messageKey) =>
_chatManager.DispatchStationAnnouncement(Loc.GetString(messageKey), Loc.GetString("salvage-system-announcement-source"));
private void Report(string messageKey, params (string, object)[] args) =>
_chatManager.DispatchStationAnnouncement(Loc.GetString(messageKey, args), Loc.GetString("salvage-system-announcement-source"));
private void Transition(SalvageMagnetComponent magnet, TimeSpan currentTime)
{
switch (magnet.MagnetState.StateType)
{
case MagnetStateType.Attaching:
if (SpawnSalvage(magnet))
{
magnet.MagnetState = new MagnetState(MagnetStateType.Holding, currentTime + HoldTime);
}
else
{
magnet.MagnetState = new MagnetState(MagnetStateType.CoolingDown, currentTime + CooldownTime);
}
break;
case MagnetStateType.Holding:
Report("salvage-system-announcement-losing", ("timeLeft", DetachingTime.TotalSeconds));
magnet.MagnetState = new MagnetState(MagnetStateType.Detaching, currentTime + DetachingTime);
break;
case MagnetStateType.Detaching:
if (magnet.AttachedEntity.HasValue)
{
SafeDeleteSalvage(magnet.AttachedEntity.Value);
}
else
{
Logger.ErrorS("salvage", "Salvage detaching was expecting attached entity but it was null");
}
Report("salvage-system-announcement-lost");
magnet.MagnetState = new MagnetState(MagnetStateType.CoolingDown, currentTime + CooldownTime);
break;
case MagnetStateType.CoolingDown:
magnet.MagnetState = MagnetState.Inactive;
break;
}
}
public override void Update(float frameTime)
{
var secondsPassed = TimeSpan.FromSeconds(frameTime);
// Keep track of time, and state per grid
foreach (var gridIdAndState in _salvageGridStates)
{
var state = gridIdAndState.Value;
if (state.ActiveMagnets.Count == 0) continue;
var gridId = gridIdAndState.Key;
// Not handling the case where the salvage we spawned got paused
// They both need to be paused, or it doesn't make sense
if (_pauseManager.IsGridPaused(gridId)) continue;
state.CurrentTime += secondsPassed;
var deleteQueue = new RemQueue<SalvageMagnetComponent>();
foreach(var magnet in state.ActiveMagnets)
{
if (magnet.MagnetState.Until > state.CurrentTime) continue;
Transition(magnet, state.CurrentTime);
if (magnet.MagnetState.StateType == MagnetStateType.Inactive)
{
deleteQueue.Add(magnet);
}
}
foreach(var magnet in deleteQueue)
{
state.ActiveMagnets.Remove(magnet);
}
}
}
}
public class SalvageGridState
{
public TimeSpan CurrentTime { get; set; }
public List<SalvageMagnetComponent> ActiveMagnets { get; } = new();
}
}

View file

@ -1,10 +0,0 @@
using Robust.Shared.GameObjects;
namespace Content.Server.Speech.Components
{
[RegisterComponent]
public class MouseAccentComponent : Component
{
public override string Name => "MouseAccent";
}
}

View file

@ -1,32 +0,0 @@
using System.Collections.Generic;
using Content.Server.Speech.Components;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Random;
namespace Content.Server.Speech.EntitySystems
{
// TODO: Code in-game languages and make this a language
public class MouseAccentSystem : EntitySystem
{
[Dependency] private readonly IRobustRandom _random = default!;
private static readonly IReadOnlyList<string> Squeek = new List<string>{ "Squeak!", "Piep!", "Chuu!" };
public override void Initialize()
{
SubscribeLocalEvent<MouseAccentComponent, AccentGetEvent>(OnAccent);
}
public string Accentuate(string message)
{
// TODO: Maybe add more than one squeek when there are more words?
return _random.Pick(Squeek);
}
private void OnAccent(EntityUid uid, MouseAccentComponent component, AccentGetEvent args)
{
args.Message = Accentuate(args.Message);
}
}
}

View file

@ -3,14 +3,18 @@ using Content.Shared.Examine;
using Content.Shared.Sound;
using Content.Shared.Weapons.Ranged.Barrels.Components;
using Robust.Server.GameObjects;
using Robust.Shared.Analyzers;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Localization;
using Robust.Shared.Log;
using Robust.Shared.Map;
using Robust.Shared.Maths;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Serialization.TypeSerializers.Implementations;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
@ -21,15 +25,10 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
/// Generally used for bullets but can be used for other things like bananas
/// </summary>
[RegisterComponent]
#pragma warning disable 618
public class AmmoComponent : Component, IExamine, ISerializationHooks
#pragma warning restore 618
[ComponentProtoName("Ammo")]
[Friend(typeof(GunSystem))]
public sealed class AmmoComponent : Component, ISerializationHooks
{
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!;
public override string Name => "Ammo";
[DataField("caliber")]
public BallisticCaliber Caliber { get; } = BallisticCaliber.Unspecified;
@ -37,22 +36,23 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
{
get
{
if (_ammoIsProjectile)
if (AmmoIsProjectile)
{
return false;
}
return _spent;
}
set => _spent = value;
}
private bool _spent;
// TODO: Make it so null projectile = dis
/// <summary>
/// Used for anything without a case that fires itself
/// </summary>
[DataField("isProjectile")]
private bool _ammoIsProjectile;
[DataField("isProjectile")] public bool AmmoIsProjectile;
/// <summary>
/// Used for something that is deleted when the projectile is retrieved
@ -69,8 +69,8 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
[DataField("projectilesFired")]
public int ProjectilesFired { get; } = 1;
[DataField("projectile")]
private string? _projectileId;
[DataField("projectile", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
public string? ProjectileId;
// How far apart each entity is if multiple are shot
[DataField("ammoSpread")]
@ -82,8 +82,8 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
[DataField("ammoVelocity")]
public float Velocity { get; } = 20f;
[DataField("muzzleFlash")]
private string _muzzleFlashSprite = "Objects/Weapons/Guns/Projectiles/bullet_muzzle.png";
[DataField("muzzleFlash", customTypeSerializer:typeof(ResourcePathSerializer))]
public ResourcePath? MuzzleFlashSprite = new("Objects/Weapons/Guns/Projectiles/bullet_muzzle.png");
[DataField("soundCollectionEject")]
public SoundSpecifier SoundCollectionEject { get; } = new SoundCollectionSpecifier("CasingEject");
@ -91,7 +91,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
void ISerializationHooks.AfterDeserialization()
{
// Being both caseless and shooting yourself doesn't make sense
DebugTools.Assert(!(_ammoIsProjectile == true && Caseless == true));
DebugTools.Assert(!(AmmoIsProjectile && Caseless));
if (ProjectilesFired < 1)
{
@ -104,63 +104,6 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
throw new InvalidOperationException();
}
}
public EntityUid? TakeBullet(EntityCoordinates spawnAt)
{
if (_ammoIsProjectile)
{
return Owner;
}
if (_spent)
{
return null;
}
_spent = true;
if (_entMan.TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
{
appearanceComponent.SetData(AmmoVisuals.Spent, true);
}
var entity = _entMan.SpawnEntity(_projectileId, spawnAt);
return entity;
}
public void MuzzleFlash(EntityUid entity, Angle angle)
{
if (_muzzleFlashSprite == null)
{
return;
}
var time = _gameTiming.CurTime;
var deathTime = time + TimeSpan.FromMilliseconds(200);
// Offset the sprite so it actually looks like it's coming from the gun
var offset = angle.ToVec().Normalized / 2;
var message = new EffectSystemMessage
{
EffectSprite = _muzzleFlashSprite,
Born = time,
DeathTime = deathTime,
AttachedEntityUid = entity,
AttachedOffset = offset,
//Rotated from east facing
Rotation = (float) angle.Theta,
Color = Vector4.Multiply(new Vector4(255, 255, 255, 255), 1.0f),
ColorDelta = new Vector4(0, 0, 0, -1500f),
Shaded = false
};
EntitySystem.Get<EffectSystem>().CreateParticle(message);
}
public void Examine(FormattedMessage message, bool inDetailsRange)
{
var text = Loc.GetString("ammo-component-on-examine",("caliber", Caliber));
message.AddMarkup(text);
}
}
public enum BallisticCaliber

View file

@ -26,12 +26,11 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
[RegisterComponent]
[NetworkedComponent()]
#pragma warning disable 618
public sealed class BoltActionBarrelComponent : ServerRangedBarrelComponent, IUse, IInteractUsing, IMapInit, IExamine
public sealed class BoltActionBarrelComponent : ServerRangedBarrelComponent, IUse, IInteractUsing, IMapInit
#pragma warning restore 618
{
// Originally I had this logic shared with PumpBarrel and used a couple of variables to control things
// but it felt a lot messier to play around with, especially when adding verbs
[Dependency] private readonly IEntityManager _entities = default!;
public override string Name => "BoltActionBarrel";
@ -111,7 +110,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (_unspawnedCount > 0)
{
_unspawnedCount--;
var chamberEntity = _entities.SpawnEntity(_fillPrototype, _entities.GetComponent<TransformComponent>(Owner).Coordinates);
var chamberEntity = Entities.SpawnEntity(_fillPrototype, Entities.GetComponent<TransformComponent>(Owner).Coordinates);
_chamberContainer.Insert(chamberEntity);
}
}
@ -125,7 +124,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
// (Is one chambered?, is the bullet spend)
var chamber = (chamberedExists, false);
if (chamberedExists && _entities.TryGetComponent<AmmoComponent?>(_chamberContainer.ContainedEntity!.Value, out var ammo))
if (chamberedExists && Entities.TryGetComponent<AmmoComponent?>(_chamberContainer.ContainedEntity!.Value, out var ammo))
{
chamber.Item2 = ammo.Spent;
}
@ -155,7 +154,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
_chamberContainer = ContainerHelpers.EnsureContainer<ContainerSlot>(Owner, $"{Name}-chamber-container");
if (_entities.TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
if (Entities.TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
{
_appearanceComponent = appearanceComponent;
}
@ -188,10 +187,11 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
Dirty();
}
if (_chamberContainer.ContainedEntity is not {Valid: true} chamberEntity)
return null;
if (_chamberContainer.ContainedEntity is not {Valid: true} chamberEntity) return null;
return _entities.GetComponentOrNull<AmmoComponent>(chamberEntity)?.TakeBullet(spawnAt);
var ammoComponent = Entities.GetComponentOrNull<AmmoComponent>(chamberEntity);
return ammoComponent == null ? null : EntitySystem.Get<GunSystem>().TakeBullet(ammoComponent, spawnAt);
}
protected override bool WeaponCanFire()
@ -229,7 +229,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
public bool TryInsertBullet(EntityUid user, EntityUid ammo)
{
if (!_entities.TryGetComponent(ammo, out AmmoComponent? ammoComponent))
if (!Entities.TryGetComponent(ammo, out AmmoComponent? ammoComponent))
{
return false;
}
@ -297,7 +297,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
return false;
}
if (!_entities.GetComponent<AmmoComponent>(chambered).Caseless)
if (!Entities.GetComponent<AmmoComponent>(chambered).Caseless)
{
EjectCasing(chambered);
}
@ -321,7 +321,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
else if (_unspawnedCount > 0)
{
_unspawnedCount--;
var ammoEntity = _entities.SpawnEntity(_fillPrototype, _entities.GetComponent<TransformComponent>(Owner).Coordinates);
var ammoEntity = Entities.SpawnEntity(_fillPrototype, Entities.GetComponent<TransformComponent>(Owner).Coordinates);
_chamberContainer.Insert(ammoEntity);
return true;
}

View file

@ -27,8 +27,6 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
[NetworkedComponent()]
public sealed class PumpBarrelComponent : ServerRangedBarrelComponent, IUse, IInteractUsing, IMapInit, ISerializationHooks
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "PumpBarrel";
public override int ShotsLeft
@ -87,7 +85,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
// (Is one chambered?, is the bullet spend)
var chamber = (chamberedExists, false);
if (chamberedExists && _entMan.TryGetComponent<AmmoComponent?>(_chamberContainer.ContainedEntity!.Value, out var ammo))
if (chamberedExists && Entities.TryGetComponent<AmmoComponent?>(_chamberContainer.ContainedEntity!.Value, out var ammo))
{
chamber.Item2 = ammo.Spent;
}
@ -126,7 +124,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
_unspawnedCount--;
}
if (_entMan.TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
if (Entities.TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
{
_appearanceComponent = appearanceComponent;
}
@ -158,10 +156,11 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
Dirty();
}
if (_chamberContainer.ContainedEntity is not {Valid: true} chamberEntity)
return null;
if (_chamberContainer.ContainedEntity is not {Valid: true} chamberEntity) return null;
return _entMan.GetComponentOrNull<AmmoComponent>(chamberEntity)?.TakeBullet(spawnAt);
var ammoComponent = Entities.GetComponentOrNull<AmmoComponent>(chamberEntity);
return ammoComponent == null ? null : EntitySystem.Get<GunSystem>().TakeBullet(ammoComponent, spawnAt);
}
private void Cycle(bool manual = false)
@ -169,7 +168,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (_chamberContainer.ContainedEntity is {Valid: true} chamberedEntity)
{
_chamberContainer.Remove(chamberedEntity);
var ammoComponent = _entMan.GetComponent<AmmoComponent>(chamberedEntity);
var ammoComponent = Entities.GetComponent<AmmoComponent>(chamberedEntity);
if (!ammoComponent.Caseless)
{
EjectCasing(chamberedEntity);
@ -185,7 +184,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
if (_unspawnedCount > 0)
{
_unspawnedCount--;
var ammoEntity = _entMan.SpawnEntity(_fillPrototype, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
var ammoEntity = Entities.SpawnEntity(_fillPrototype, Entities.GetComponent<TransformComponent>(Owner).Coordinates);
_chamberContainer.Insert(ammoEntity);
}
@ -200,7 +199,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
public bool TryInsertBullet(InteractUsingEventArgs eventArgs)
{
if (!_entMan.TryGetComponent(eventArgs.Using, out AmmoComponent? ammoComponent))
if (!Entities.TryGetComponent(eventArgs.Using, out AmmoComponent? ammoComponent))
{
return false;
}

View file

@ -24,7 +24,6 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
[NetworkedComponent()]
public sealed class RevolverBarrelComponent : ServerRangedBarrelComponent, IUse, IInteractUsing, ISerializationHooks
{
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IRobustRandom _random = default!;
public override string Name => "RevolverBarrel";
@ -82,7 +81,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
{
slotsSpent[i] = null;
var ammoEntity = _ammoSlots[i];
if (ammoEntity != default && _entMan.TryGetComponent(ammoEntity, out AmmoComponent? ammo))
if (ammoEntity != default && Entities.TryGetComponent(ammoEntity, out AmmoComponent? ammo))
{
slotsSpent[i] = ammo.Spent;
}
@ -114,7 +113,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
for (var i = 0; i < _unspawnedCount; i++)
{
var entity = _entMan.SpawnEntity(_fillPrototype, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
var entity = Entities.SpawnEntity(_fillPrototype, Entities.GetComponent<TransformComponent>(Owner).Coordinates);
_ammoSlots[idx] = entity;
_ammoContainer.Insert(entity);
idx++;
@ -126,7 +125,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
private void UpdateAppearance()
{
if (!_entMan.TryGetComponent(Owner, out AppearanceComponent? appearance))
if (!Entities.TryGetComponent(Owner, out AppearanceComponent? appearance))
{
return;
}
@ -139,7 +138,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
public bool TryInsertBullet(EntityUid user, EntityUid entity)
{
if (!_entMan.TryGetComponent(entity, out AmmoComponent? ammoComponent))
if (!Entities.TryGetComponent(entity, out AmmoComponent? ammoComponent))
{
return false;
}
@ -209,8 +208,8 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
EntityUid? bullet = null;
if (ammo != default)
{
var ammoComponent = _entMan.GetComponent<AmmoComponent>(ammo);
bullet = ammoComponent.TakeBullet(spawnAt);
var ammoComponent = Entities.GetComponent<AmmoComponent>(ammo);
bullet = EntitySystem.Get<GunSystem>().TakeBullet(ammoComponent, spawnAt);
if (ammoComponent.Caseless)
{
_ammoSlots[_currentSlot] = default;

View file

@ -205,7 +205,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
var entity = _chamberContainer.ContainedEntity ?? default;
Cycle();
return entity != default ? _entities.GetComponent<AmmoComponent>(entity).TakeBullet(spawnAt) : null;
return entity != default ? EntitySystem.Get<GunSystem>().TakeBullet(_entities.GetComponent<AmmoComponent>(entity), spawnAt) : null;
}
private void Cycle(bool manual = false)

View file

@ -42,7 +42,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
// it's just when I re-organised it changed me as the contributor
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IRobustRandom _robustRandom = default!;
[Dependency] private readonly IEntityManager _entities = default!;
[Dependency] protected readonly IEntityManager Entities = default!;
public override FireRateSelector FireRateSelector => _fireRateSelector;
@ -147,7 +147,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
protected override void OnRemove()
{
base.OnRemove();
if (_entities.TryGetComponent(Owner, out ServerRangedWeaponComponent? rangedWeaponComponent))
if (Entities.TryGetComponent(Owner, out ServerRangedWeaponComponent? rangedWeaponComponent))
{
rangedWeaponComponent.Barrel = null;
rangedWeaponComponent.FireHandler -= Fire;
@ -198,39 +198,39 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
}
var ammo = PeekAmmo();
if (TakeProjectile(_entities.GetComponent<TransformComponent>(shooter).Coordinates) is not {Valid: true} projectile)
if (TakeProjectile(Entities.GetComponent<TransformComponent>(shooter).Coordinates) is not {Valid: true} projectile)
{
SoundSystem.Play(Filter.Broadcast(), SoundEmpty.GetSound(), Owner);
return;
}
// At this point firing is confirmed
var direction = (targetPos - _entities.GetComponent<TransformComponent>(shooter).WorldPosition).ToAngle();
var direction = (targetPos - Entities.GetComponent<TransformComponent>(shooter).WorldPosition).ToAngle();
var angle = GetRecoilAngle(direction);
// This should really be client-side but for now we'll just leave it here
if (_entities.TryGetComponent(shooter, out CameraRecoilComponent? recoilComponent))
if (Entities.TryGetComponent(shooter, out CameraRecoilComponent? recoilComponent))
{
recoilComponent.Kick(-angle.ToVec() * 0.15f);
}
// This section probably needs tweaking so there can be caseless hitscan etc.
if (_entities.TryGetComponent(projectile, out HitscanComponent? hitscan))
if (Entities.TryGetComponent(projectile, out HitscanComponent? hitscan))
{
FireHitscan(shooter, hitscan, angle);
}
else if (_entities.HasComponent<ProjectileComponent>(projectile) &&
_entities.TryGetComponent(ammo, out AmmoComponent? ammoComponent))
else if (Entities.HasComponent<ProjectileComponent>(projectile) &&
Entities.TryGetComponent(ammo, out AmmoComponent? ammoComponent))
{
FireProjectiles(shooter, projectile, ammoComponent.ProjectilesFired, ammoComponent.EvenSpreadAngle, angle, ammoComponent.Velocity, ammo.Value);
if (CanMuzzleFlash)
{
ammoComponent.MuzzleFlash(Owner, angle);
EntitySystem.Get<GunSystem>().MuzzleFlash(Owner, ammoComponent, angle);
}
if (ammoComponent.Caseless)
{
_entities.DeleteEntity(ammo.Value);
Entities.DeleteEntity(ammo.Value);
}
}
else
@ -324,9 +324,9 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
}
else
{
projectile = _entities.SpawnEntity(
_entities.GetComponent<MetaDataComponent>(baseProjectile).EntityPrototype?.ID,
_entities.GetComponent<TransformComponent>(baseProjectile).Coordinates);
projectile = Entities.SpawnEntity(
Entities.GetComponent<MetaDataComponent>(baseProjectile).EntityPrototype?.ID,
Entities.GetComponent<TransformComponent>(baseProjectile).Coordinates);
}
firedProjectiles[i] = projectile;
@ -342,10 +342,10 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
projectileAngle = angle;
}
var physics = _entities.GetComponent<IPhysBody>(projectile);
var physics = Entities.GetComponent<IPhysBody>(projectile);
physics.BodyStatus = BodyStatus.InAir;
var projectileComponent = _entities.GetComponent<ProjectileComponent>(projectile);
var projectileComponent = Entities.GetComponent<ProjectileComponent>(projectile);
projectileComponent.IgnoreEntity(shooter);
// FIXME: Work around issue where inserting and removing an entity from a container,
@ -353,16 +353,16 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
// See SharedBroadphaseSystem.HandleContainerInsert()... It sets Awake to false, which causes this.
projectile.SpawnTimer(TimeSpan.FromMilliseconds(25), () =>
{
_entities.GetComponent<IPhysBody>(projectile)
Entities.GetComponent<IPhysBody>(projectile)
.LinearVelocity = projectileAngle.ToVec() * velocity;
});
_entities.GetComponent<TransformComponent>(projectile).WorldRotation = projectileAngle + MathHelper.PiOver2;
Entities.GetComponent<TransformComponent>(projectile).WorldRotation = projectileAngle + MathHelper.PiOver2;
}
_entities.EventBus.RaiseLocalEvent(Owner, new GunShotEvent(firedProjectiles));
_entities.EventBus.RaiseLocalEvent(ammo, new AmmoShotEvent(firedProjectiles));
Entities.EventBus.RaiseLocalEvent(Owner, new GunShotEvent(firedProjectiles));
Entities.EventBus.RaiseLocalEvent(ammo, new AmmoShotEvent(firedProjectiles));
}
/// <summary>
@ -386,9 +386,9 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
/// </summary>
private void FireHitscan(EntityUid shooter, HitscanComponent hitscan, Angle angle)
{
var ray = new CollisionRay(_entities.GetComponent<TransformComponent>(Owner).Coordinates.ToMapPos(_entities), angle.ToVec(), (int) hitscan.CollisionMask);
var ray = new CollisionRay(Entities.GetComponent<TransformComponent>(Owner).Coordinates.ToMapPos(Entities), angle.ToVec(), (int) hitscan.CollisionMask);
var physicsManager = EntitySystem.Get<SharedPhysicsSystem>();
var rayCastResults = physicsManager.IntersectRay(_entities.GetComponent<TransformComponent>(Owner).MapID, ray, hitscan.MaxLength, shooter, false).ToList();
var rayCastResults = physicsManager.IntersectRay(Entities.GetComponent<TransformComponent>(Owner).MapID, ray, hitscan.MaxLength, shooter, false).ToList();
if (rayCastResults.Count >= 1)
{
@ -398,7 +398,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
var dmg = EntitySystem.Get<DamageableSystem>().TryChangeDamage(result.HitEntity, hitscan.Damage);
if (dmg != null)
EntitySystem.Get<AdminLogSystem>().Add(LogType.HitScanHit,
$"{_entities.ToPrettyString(shooter):user} hit {_entities.ToPrettyString(result.HitEntity):target} using {_entities.ToPrettyString(hitscan.Owner):used} and dealt {dmg.Total:damage} damage");
$"{Entities.ToPrettyString(shooter):user} hit {Entities.ToPrettyString(result.HitEntity):target} using {Entities.ToPrettyString(hitscan.Owner):used} and dealt {dmg.Total:damage} damage");
}
else
{

View file

@ -0,0 +1,95 @@
using System;
using Content.Server.Weapon.Ranged.Ammunition.Components;
using Content.Shared.Examine;
using Content.Shared.Weapons.Ranged.Barrels.Components;
using Robust.Shared.GameObjects;
using Robust.Shared.Localization;
using Robust.Shared.Map;
using Robust.Shared.Maths;
namespace Content.Server.Weapon.Ranged;
public sealed partial class GunSystem
{
private void OnAmmoExamine(EntityUid uid, AmmoComponent component, ExaminedEvent args)
{
var text = Loc.GetString("ammo-component-on-examine",("caliber", component.Caliber));
args.PushMarkup(text);
}
public EntityUid? TakeBullet(AmmoComponent component, EntityCoordinates spawnAt)
{
if (component.AmmoIsProjectile)
{
return component.Owner;
}
if (component.Spent)
{
return null;
}
component.Spent = true;
if (TryComp(component.Owner, out AppearanceComponent? appearanceComponent))
{
appearanceComponent.SetData(AmmoVisuals.Spent, true);
}
var entity = EntityManager.SpawnEntity(component.ProjectileId, spawnAt);
return entity;
}
public void MuzzleFlash(EntityUid entity, AmmoComponent component, Angle angle)
{
if (component.MuzzleFlashSprite == null)
{
return;
}
var time = _gameTiming.CurTime;
var deathTime = time + TimeSpan.FromMilliseconds(200);
// Offset the sprite so it actually looks like it's coming from the gun
var offset = new Vector2(0.0f, -0.5f);
var message = new EffectSystemMessage
{
EffectSprite = component.MuzzleFlashSprite.ToString(),
Born = time,
DeathTime = deathTime,
AttachedEntityUid = entity,
AttachedOffset = offset,
//Rotated from east facing
Rotation = -MathF.PI / 2f,
Color = Vector4.Multiply(new Vector4(255, 255, 255, 255), 1.0f),
ColorDelta = new Vector4(0, 0, 0, -1500f),
Shaded = false
};
/* TODO: Fix rotation when shooting sideways. This was the closest I got but still had issues.
* var time = _gameTiming.CurTime;
var deathTime = time + TimeSpan.FromMilliseconds(200);
var entityRotation = EntityManager.GetComponent<TransformComponent>(entity).WorldRotation;
var localAngle = entityRotation - (angle + MathF.PI / 2f);
// Offset the sprite so it actually looks like it's coming from the gun
var offset = localAngle.RotateVec(new Vector2(0.0f, -0.5f));
var message = new EffectSystemMessage
{
EffectSprite = component.MuzzleFlashSprite.ToString(),
Born = time,
DeathTime = deathTime,
AttachedEntityUid = entity,
AttachedOffset = offset,
//Rotated from east facing
Rotation = (float) (localAngle - MathF.PI / 2),
Color = Vector4.Multiply(new Vector4(255, 255, 255, 255), 1.0f),
ColorDelta = new Vector4(0, 0, 0, -1500f),
Shaded = false
};
*/
_effects.CreateParticle(message);
}
}

View file

@ -19,20 +19,6 @@ public sealed partial class GunSystem
{
// Probably needs combining with magazines in future given the common functionality.
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<AmmoBoxComponent, ComponentInit>(OnAmmoBoxInit);
SubscribeLocalEvent<AmmoBoxComponent, MapInitEvent>(OnAmmoBoxMapInit);
SubscribeLocalEvent<AmmoBoxComponent, ExaminedEvent>(OnAmmoBoxExamine);
SubscribeLocalEvent<AmmoBoxComponent, InteractUsingEvent>(OnAmmoBoxInteractUsing);
SubscribeLocalEvent<AmmoBoxComponent, UseInHandEvent>(OnAmmoBoxUse);
SubscribeLocalEvent<AmmoBoxComponent, InteractHandEvent>(OnAmmoBoxInteractHand);
SubscribeLocalEvent<AmmoBoxComponent, GetAlternativeVerbsEvent>(OnAmmoBoxAltVerbs);
}
private void OnAmmoBoxAltVerbs(EntityUid uid, AmmoBoxComponent component, GetAlternativeVerbsEvent args)
{
if (args.Hands == null || !args.CanAccess || !args.CanInteract)

View file

@ -1,10 +1,34 @@
using Content.Server.Weapon.Ranged.Ammunition.Components;
using Content.Shared.Examine;
using Content.Shared.Interaction;
using Content.Shared.Popups;
using Content.Shared.Verbs;
using Robust.Server.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Timing;
namespace Content.Server.Weapon.Ranged;
public sealed partial class GunSystem : EntitySystem
{
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly EffectSystem _effects = default!;
[Dependency] private readonly SharedPopupSystem _popup = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<AmmoComponent, ExaminedEvent>(OnAmmoExamine);
SubscribeLocalEvent<AmmoBoxComponent, ComponentInit>(OnAmmoBoxInit);
SubscribeLocalEvent<AmmoBoxComponent, MapInitEvent>(OnAmmoBoxMapInit);
SubscribeLocalEvent<AmmoBoxComponent, ExaminedEvent>(OnAmmoBoxExamine);
SubscribeLocalEvent<AmmoBoxComponent, InteractUsingEvent>(OnAmmoBoxInteractUsing);
SubscribeLocalEvent<AmmoBoxComponent, UseInHandEvent>(OnAmmoBoxUse);
SubscribeLocalEvent<AmmoBoxComponent, InteractHandEvent>(OnAmmoBoxInteractHand);
SubscribeLocalEvent<AmmoBoxComponent, GetAlternativeVerbsEvent>(OnAmmoBoxAltVerbs);
}
}

View file

@ -593,5 +593,15 @@ namespace Content.Shared.CCVar
/// </summary>
public static readonly CVarDef<bool> RestrictedNames =
CVarDef.Create("ic.restricted_names", true, CVar.SERVER | CVar.REPLICATED);
/*
* Salvage
*/
/// <summary>
/// Forced salvage map prototype name (if empty, randomly selected)
/// </summary>
public static readonly CVarDef<string>
SalvageForced = CVarDef.Create("salvage.forced", "", CVar.SERVERONLY);
}
}

View file

@ -1,30 +1,4 @@
Entries:
- author: Zumorica
changes:
- {message: Fix bug where constructing walls and windows would place them in the
bar., type: Fix}
id: 257
time: '2021-07-15T07:45:11.671976+00:00'
- author: Zumorica
changes:
- {message: Fix being able to play instruments while incapacitated., type: Fix}
id: 258
time: '2021-07-15T07:45:11.672684+00:00'
- author: Zumorica
changes:
- {message: Fix crash when MIDI stops playing., type: Fix}
id: 259
time: '2021-07-15T07:45:11.673363+00:00'
- author: Zumorica
changes:
- {message: Fixes spray puff and fire extinguisher cloud not moving., type: Fix}
id: 260
time: '2021-07-15T07:45:11.674114+00:00'
- author: Zumorica
changes:
- {message: Added the dual-port air vent., type: Add}
id: 261
time: '2021-07-15T13:24:45.0000000+00:00'
- author: Fogapod
changes:
- {message: Added missing space in Spanish accent., type: Fix}
@ -2863,3 +2837,32 @@ Entries:
- {message: Added accents for overly talkative animals., type: Add}
id: 758
time: '2021-12-21T20:31:20.0000000+00:00'
- author: Rane
changes:
- {message: Added EVA suits to the EVA room., type: Add}
id: 759
time: '2021-12-22T22:47:34.0000000+00:00'
- author: wrexbe
changes:
- {message: It is now possible to tell when airlock power wires are partially cut,
type: Add}
- {message: Airlock text is a little bit clearer, type: Tweak}
- {message: 'Airlock now only loses power when both backup, and main power wires
are cut', type: Fix}
id: 760
time: '2021-12-23T04:02:27.0000000+00:00'
- author: Fishfish458
changes:
- {message: Hypospray to CMO lockers and also traitor goals., type: Add}
id: 761
time: '2021-12-23T08:51:49.0000000+00:00'
- author: Pancake
changes:
- {message: Wizards now have something to ponder., type: Add}
id: 762
time: '2021-12-23T10:33:55.0000000+00:00'
- author: 20kdc
changes:
- {message: The Salvage department now partially exists., type: Add}
id: 763
time: '2021-12-23T12:14:01.0000000+00:00'

View file

@ -0,0 +1,18 @@
salvage-system-announcement-source = Salvage Control System
salvage-system-announcement-arrived = A piece of salvagable debris has been pulled in. Estimated hold time: {$timeLeft} seconds.
salvage-system-announcement-losing = The magnet is no longer able to hold the salvagable debris. Estimated time until loss: {$timeLeft} seconds.
salvage-system-announcement-lost = The salvagable debris have been lost.
salvage-system-announcement-spawn-magnet-lost = The salvage magnet has been lost.
salvage-system-announcement-spawn-no-debris-available = No debris could be recovered by the salvage magnet.
salvage-system-announcement-spawn-debris-disintegrated = Debris disintegrated during orbital transfer.
salvage-system-report-already-active = The salvage magnet is already active.
salvage-system-report-cooling-down = The salvage magnet is cooling down.
salvage-system-report-activate-success = The salvage magnet is pulling in a piece of debris!
salvage-system-magnet-examined-inactive = The salvage magnet is inactive.
salvage-system-magnet-examined-pulling-in = The salvage magnet is attempting to pull in salvage.
salvage-system-magnet-examined-active = The salvage magnet is holding salvage in place. Can hold for {$timeLeft} seconds.
salvage-system-magnet-examined-releasing = The salvage magnet is releasing the salvage.
salvage-system-magnet-examined-cooling-down = The salvage magnet is cooling down.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,407 @@
meta:
format: 2
name: DemoStation
author: Space-Wizards
postmapinit: false
tilemap:
0: space
1: floor_asteroid_coarse_sand0
2: floor_asteroid_coarse_sand1
3: floor_asteroid_coarse_sand2
4: floor_asteroid_coarse_sand_dug
5: floor_asteroid_sand
6: floor_asteroid_tile
7: floor_blue
8: floor_blue_circuit
9: floor_dark
10: floor_elevator_shaft
11: floor_freezer
12: floor_glass
13: floor_gold
14: floor_green_circuit
15: floor_hydro
16: floor_lino
17: floor_mono
18: floor_reinforced
19: floor_rglass
20: floor_rock_vault
21: floor_showroom
22: floor_silver
23: floor_snow
24: floor_steel
25: floor_steel_dirty
26: floor_techmaint
27: floor_white
28: floor_wood
29: lattice
30: plating
31: underplating
grids:
- settings:
chunksize: 16
tilesize: 1
chunks:
- ind: "-1,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAADQAAAA==
- ind: "0,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "-1,0"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "0,0"
tiles: HQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
entities:
- uid: 0
components:
- pos: 0.5,0.5
parent: null
type: Transform
- index: 0
type: MapGrid
- angularDamping: 0.3
fixedRotation: False
bodyType: Dynamic
type: Physics
- fixtures:
- shape: !type:PolygonShape
vertices:
- 0,-2
- 0,-1
- -2,-1
- -2,-2
id: grid_chunk--2--2
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- -3,-3
- -3,-1
- -4,-1
- -4,-3
id: grid_chunk--4--3
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- -7,-7
- -7,-1
- -8,-1
- -8,-7
id: grid_chunk--8--7
mask:
- MapGrid
layer:
- MapGrid
mass: 24
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-3
- 0,-2
- -1,-2
- -1,-3
id: grid_chunk--1--3
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-4
- 0,-3
- -4,-3
- -4,-4
id: grid_chunk--4--4
mask:
- MapGrid
layer:
- MapGrid
mass: 16
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 7,-7
- 7,-1
- 6,-1
- 6,-7
id: grid_chunk-6--7
mask:
- MapGrid
layer:
- MapGrid
mass: 24
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-3
- 3,-1
- 2,-1
- 2,-3
id: grid_chunk-2--3
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,-2
- 1,-1
- 0,-1
- 0,-2
id: grid_chunk-0--2
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-4
- 3,-3
- 0,-3
- 0,-4
id: grid_chunk-0--4
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,3
- 0,6
- -1,6
- -1,3
id: grid_chunk--1-3
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- -7,0
- -7,6
- -8,6
- -8,0
id: grid_chunk--8-0
mask:
- MapGrid
layer:
- MapGrid
mass: 24
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,2
- 0,3
- -4,3
- -4,2
id: grid_chunk--4-2
mask:
- MapGrid
layer:
- MapGrid
mass: 16
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,1
- 0,2
- -1,2
- -1,1
id: grid_chunk--1-1
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 7,0
- 7,6
- 6,6
- 6,0
id: grid_chunk-6-0
mask:
- MapGrid
layer:
- MapGrid
mass: 24
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,2
- 3,3
- 0,3
- 0,2
id: grid_chunk-0-2
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,0
- 3,2
- 2,2
- 2,0
id: grid_chunk-2-0
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,6
- 0,7
- -8,7
- -8,6
id: grid_chunk--8-6
mask:
- MapGrid
layer:
- MapGrid
mass: 32
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-1
- 0,0
- -8,0
- -8,-1
id: grid_chunk--8--1
mask:
- MapGrid
layer:
- MapGrid
mass: 32
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-7
- 0,-4
- -1,-4
- -1,-7
id: grid_chunk--1--7
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-8
- 0,-7
- -8,-7
- -8,-8
id: grid_chunk--8--8
mask:
- MapGrid
layer:
- MapGrid
mass: 32
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 7,-1
- 7,0
- 0,0
- 0,-1
id: grid_chunk-0--1
mask:
- MapGrid
layer:
- MapGrid
mass: 28
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 7,-8
- 7,-7
- 0,-7
- 0,-8
id: grid_chunk-0--8
mask:
- MapGrid
layer:
- MapGrid
mass: 28
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 7,6
- 7,7
- 0,7
- 0,6
id: grid_chunk-0-6
mask:
- MapGrid
layer:
- MapGrid
mass: 28
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- -3,0
- -3,2
- -4,2
- -4,0
id: grid_chunk--4-0
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,0
- 0,1
- -2,1
- -2,0
id: grid_chunk--2-0
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,0
- 1,1
- 0,1
- 0,0
id: grid_chunk-0-0
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
type: Fixtures
- gravityShakeSound: !type:SoundPathSpecifier
path: /Audio/Effects/alert.ogg
type: Gravity
...

View file

@ -0,0 +1,318 @@
meta:
format: 2
name: DemoStation
author: Space-Wizards
postmapinit: false
tilemap:
0: space
1: floor_asteroid_coarse_sand0
2: floor_asteroid_coarse_sand1
3: floor_asteroid_coarse_sand2
4: floor_asteroid_coarse_sand_dug
5: floor_asteroid_sand
6: floor_asteroid_tile
7: floor_blue
8: floor_blue_circuit
9: floor_dark
10: floor_elevator_shaft
11: floor_freezer
12: floor_glass
13: floor_gold
14: floor_green_circuit
15: floor_hydro
16: floor_lino
17: floor_mono
18: floor_reinforced
19: floor_rglass
20: floor_rock_vault
21: floor_showroom
22: floor_silver
23: floor_snow
24: floor_steel
25: floor_steel_dirty
26: floor_techmaint
27: floor_white
28: floor_wood
29: lattice
30: plating
31: underplating
grids:
- settings:
chunksize: 16
tilesize: 1
chunks:
- ind: "-1,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB4AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAA==
- ind: "0,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "0,0"
tiles: HgAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "-1,0"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
entities:
- uid: 0
components:
- pos: 0.5, 0.5
parent: null
type: Transform
- index: 0
type: MapGrid
- angularDamping: 0.3
fixedRotation: False
bodyType: Dynamic
type: Physics
- fixtures:
- shape: !type:PolygonShape
vertices:
- 0,-2
- 0,-1
- -3,-1
- -3,-2
id: grid_chunk--3--2
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,-3
- 1,-2
- 0,-2
- 0,-3
id: grid_chunk-0--3
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,1
- 1,3
- 0,3
- 0,1
id: grid_chunk-0-1
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,0
- 0,1
- -3,1
- -3,0
id: grid_chunk--3-0
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- -1,-4
- -1,-2
- -2,-2
- -2,-4
id: grid_chunk--2--4
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,0
- 3,1
- 0,1
- 0,0
id: grid_chunk-0-0
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,1
- 0,2
- -2,2
- -2,1
id: grid_chunk--2-1
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-1
- 0,0
- -2,0
- -2,-1
id: grid_chunk--2--1
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 2,-2
- 2,-1
- 0,-1
- 0,-2
id: grid_chunk-0--2
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,-1
- 1,0
- 0,0
- 0,-1
id: grid_chunk-0--1
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
type: Fixtures
- gravityShakeSound: !type:SoundPathSpecifier
path: /Audio/Effects/alert.ogg
type: Gravity
- uid: 1
type: WallSolid
components:
- pos: -1.5,1.5
parent: 0
type: Transform
- uid: 2
type: WallSolid
components:
- pos: 0.5,1.5
parent: 0
type: Transform
- uid: 3
type: Girder
components:
- pos: 1.5,-1.5
parent: 0
type: Transform
- uid: 4
type: AirlockEngineeringLocked
components:
- pos: -0.5,1.5
parent: 0
type: Transform
- containers:
board: !type:Container
ents: []
type: ContainerContainer
- uid: 5
type: Girder
components:
- pos: -2.5,0.5
parent: 0
type: Transform
- uid: 6
type: Girder
components:
- pos: -1.5,-2.5
parent: 0
type: Transform
- uid: 7
type: SalvageCanisterSpawner
components:
- pos: -1.5,0.5
parent: 0
type: Transform
- uid: 8
type: SalvageMaterialCrateSpawner
components:
- pos: -1.5,-0.5
parent: 0
type: Transform
- uid: 9
type: SalvageMobSpawner
components:
- pos: -1.5,-1.5
parent: 0
type: Transform
- uid: 10
type: SalvageMaterialCrateSpawner
components:
- pos: -0.5,-0.5
parent: 0
type: Transform
- uid: 11
type: SalvageMaterialCrateSpawner
components:
- pos: -0.5,-1.5
parent: 0
type: Transform
- uid: 12
type: SalvageMaterialCrateSpawner
components:
- pos: -0.5,0.5
parent: 0
type: Transform
- uid: 13
type: SalvageMobSpawner
components:
- pos: 0.5,-1.5
parent: 0
type: Transform
- uid: 14
type: PoweredSmallLight
components:
- pos: 0.5,0.5
parent: 0
type: Transform
- powerLoad: 0
type: ApcPowerReceiver
- enabled: False
type: AmbientSound
- containers:
light_bulb: !type:ContainerSlot {}
type: ContainerContainer
- uid: 15
type: CableApcExtension
components:
- pos: -0.5,1.5
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 16
type: CableApcExtension
components:
- pos: -0.5,0.5
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 17
type: CableApcExtension
components:
- pos: 0.5,0.5
parent: 0
type: Transform
- canCollide: False
type: Physics
...

View file

@ -0,0 +1,621 @@
meta:
format: 2
name: DemoStation
author: Space-Wizards
postmapinit: false
tilemap:
0: space
1: floor_asteroid_coarse_sand0
2: floor_asteroid_coarse_sand1
3: floor_asteroid_coarse_sand2
4: floor_asteroid_coarse_sand_dug
5: floor_asteroid_sand
6: floor_asteroid_tile
7: floor_blue
8: floor_blue_circuit
9: floor_dark
10: floor_elevator_shaft
11: floor_freezer
12: floor_glass
13: floor_gold
14: floor_green_circuit
15: floor_hydro
16: floor_lino
17: floor_mono
18: floor_reinforced
19: floor_rglass
20: floor_rock_vault
21: floor_showroom
22: floor_silver
23: floor_snow
24: floor_steel
25: floor_steel_dirty
26: floor_techmaint
27: floor_white
28: floor_wood
29: lattice
30: plating
31: underplating
grids:
- settings:
chunksize: 16
tilesize: 1
chunks:
- ind: "-1,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB4AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB4AAAAcAAAAHAAAAA==
- ind: "0,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAHAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAABwAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "-1,0"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "0,0"
tiles: HAAAAB4AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
entities:
- uid: 0
components:
- pos: 0.5,0.5
parent: null
type: Transform
- index: 0
type: MapGrid
- angularDamping: 0.3
fixedRotation: False
bodyType: Dynamic
type: Physics
- fixtures:
- shape: !type:PolygonShape
vertices:
- 0,-3
- 0,-1
- -3,-1
- -3,-3
id: grid_chunk--3--3
mask:
- MapGrid
layer:
- MapGrid
mass: 24
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-1
- 0,0
- -4,0
- -4,-1
id: grid_chunk--4--1
mask:
- MapGrid
layer:
- MapGrid
mass: 16
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-4
- 3,-3
- 2,-3
- 2,-4
id: grid_chunk-2--4
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-3
- 3,0
- 0,0
- 0,-3
id: grid_chunk-0--3
mask:
- MapGrid
layer:
- MapGrid
mass: 36
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,0
- 0,2
- -4,2
- -4,0
id: grid_chunk--4-0
mask:
- MapGrid
layer:
- MapGrid
mass: 32
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- -1,2
- -1,3
- -4,3
- -4,2
id: grid_chunk--4-2
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,0
- 3,2
- 0,2
- 0,0
id: grid_chunk-0-0
mask:
- MapGrid
layer:
- MapGrid
mass: 24
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,2
- 1,3
- 0,3
- 0,2
id: grid_chunk-0-2
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- -3,-3
- -3,-1
- -4,-1
- -4,-3
id: grid_chunk--4--3
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,-2
- 1,-1
- 0,-1
- 0,-2
id: grid_chunk-0--2
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-3
- 0,-2
- -1,-2
- -1,-3
id: grid_chunk--1--3
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,0
- 3,2
- 2,2
- 2,0
id: grid_chunk-2-0
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-2
- 0,-1
- -2,-1
- -2,-2
id: grid_chunk--2--2
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-4
- 0,-3
- -4,-3
- -4,-4
id: grid_chunk--4--4
mask:
- MapGrid
layer:
- MapGrid
mass: 16
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,1
- 0,2
- -1,2
- -1,1
id: grid_chunk--1-1
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-3
- 3,-1
- 2,-1
- 2,-3
id: grid_chunk-2--3
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-1
- 3,0
- 0,0
- 0,-1
id: grid_chunk-0--1
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-4
- 3,-3
- 0,-3
- 0,-4
id: grid_chunk-0--4
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,0
- 0,1
- -2,1
- -2,0
id: grid_chunk--2-0
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
type: Fixtures
- gravityShakeSound: !type:SoundPathSpecifier
path: /Audio/Effects/alert.ogg
type: Gravity
- uid: 1
type: WallSolid
components:
- pos: -3.5,1.5
parent: 0
type: Transform
- uid: 2
type: WallSolid
components:
- pos: -2.5,1.5
parent: 0
type: Transform
- uid: 3
type: WallSolid
components:
- pos: -1.5,1.5
parent: 0
type: Transform
- uid: 4
type: AirlockMaintEngiLocked
components:
- name: Entleins Wohnstätte
type: MetaData
- pos: -0.5,1.5
parent: 0
type: Transform
- containers:
board: !type:Container
ents: []
type: ContainerContainer
- uid: 5
type: WallSolid
components:
- pos: 0.5,1.5
parent: 0
type: Transform
- uid: 6
type: WallSolid
components:
- pos: 1.5,1.5
parent: 0
type: Transform
- uid: 7
type: WallSolid
components:
- pos: 2.5,1.5
parent: 0
type: Transform
- uid: 8
type: ReinforcedWindow
components:
- pos: 1.5,-2.5
parent: 0
type: Transform
- uid: 9
type: ReinforcedWindow
components:
- pos: 0.5,-2.5
parent: 0
type: Transform
- uid: 10
type: ReinforcedWindow
components:
- pos: -0.5,-2.5
parent: 0
type: Transform
- uid: 11
type: ReinforcedWindow
components:
- pos: -1.5,-2.5
parent: 0
type: Transform
- uid: 12
type: FigureSpawner
components:
- pos: 1.5,-0.5
parent: 0
type: Transform
- uid: 13
type: WallSolid
components:
- pos: 2.5,-2.5
parent: 0
type: Transform
- uid: 14
type: ClosetMaintenanceFilledRandom
components:
- pos: -1.5,0.5
parent: 0
type: Transform
- isPlaceable: False
type: PlaceableSurface
- containers:
EntityStorageComponent: !type:Container
ents: []
type: ContainerContainer
- uid: 15
type: TableCarpet
components:
- pos: 0.5,-0.5
parent: 0
type: Transform
- uid: 16
type: TableCarpet
components:
- pos: 1.5,-0.5
parent: 0
type: Transform
- uid: 17
type: d20Dice
components:
- pos: 0.35689956,-0.2576263
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 18
type: SalvageLorePaperGamingSpawner
components:
- pos: 0.79439956,-0.4295013
parent: 0
type: Transform
- canCollide: False
type: Physics
- fixtures: []
type: Fixtures
- uid: 19
type: SalvageMaterialCrateSpawner
components:
- pos: 2.5,-1.5
parent: 0
type: Transform
- uid: 20
type: SalvageMaterialCrateSpawner
components:
- pos: -3.5,0.5
parent: 0
type: Transform
- uid: 21
type: RandomArcade
components:
- pos: -2.5,0.5
parent: 0
type: Transform
- uid: 22
type: SalvageMobSpawner
components:
- pos: -0.5,-1.5
parent: 0
type: Transform
- uid: 23
type: Grille
components:
- pos: -2.5,-2.5
parent: 0
type: Transform
- uid: 24
type: Grille
components:
- pos: -1.5,-2.5
parent: 0
type: Transform
- uid: 25
type: Grille
components:
- pos: -0.5,-2.5
parent: 0
type: Transform
- uid: 26
type: Grille
components:
- pos: 0.5,-2.5
parent: 0
type: Transform
- uid: 27
type: Grille
components:
- pos: 1.5,-2.5
parent: 0
type: Transform
- uid: 28
type: CableApcExtension
components:
- pos: -0.5,1.5
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 29
type: CableApcExtension
components:
- pos: -0.5,0.5
parent: 0
type: Transform
- visible: False
type: Sprite
- canCollide: False
type: Physics
- uid: 30
type: CableApcExtension
components:
- pos: -0.5,-0.5
parent: 0
type: Transform
- visible: False
type: Sprite
- canCollide: False
type: Physics
- uid: 31
type: CableApcExtension
components:
- pos: -0.5,-1.5
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 32
type: CableApcExtension
components:
- pos: 0.5,-1.5
parent: 0
type: Transform
- visible: False
type: Sprite
- canCollide: False
type: Physics
- uid: 33
type: CableApcExtension
components:
- pos: -1.5,-1.5
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 34
type: CableApcExtension
components:
- pos: 1.5,-1.5
parent: 0
type: Transform
- visible: False
type: Sprite
- canCollide: False
type: Physics
- uid: 35
type: CableApcExtension
components:
- pos: 2.5,-1.5
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 36
type: PoweredSmallLight
components:
- rot: 3.141592653589793 rad
pos: 2.5,-1.5
parent: 0
type: Transform
- powerLoad: 0
type: ApcPowerReceiver
- enabled: False
type: AmbientSound
- containers:
light_bulb: !type:ContainerSlot {}
type: ContainerContainer
- uid: 37
type: PoweredSmallLight
components:
- pos: -2.5,0.5
parent: 0
type: Transform
- powerLoad: 0
type: ApcPowerReceiver
- enabled: False
type: AmbientSound
- containers:
light_bulb: !type:ContainerSlot {}
type: ContainerContainer
- uid: 38
type: CableApcExtension
components:
- pos: -1.5,0.5
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 39
type: CableApcExtension
components:
- pos: -2.5,0.5
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 40
type: CableApcExtension
components:
- pos: 0.5,0.5
parent: 0
type: Transform
- visible: False
type: Sprite
- canCollide: False
type: Physics
...

View file

@ -0,0 +1,563 @@
meta:
format: 2
name: DemoStation
author: Space-Wizards
postmapinit: false
tilemap:
0: space
1: floor_asteroid_coarse_sand0
2: floor_asteroid_coarse_sand1
3: floor_asteroid_coarse_sand2
4: floor_asteroid_coarse_sand_dug
5: floor_asteroid_sand
6: floor_asteroid_tile
7: floor_blue
8: floor_blue_circuit
9: floor_dark
10: floor_elevator_shaft
11: floor_freezer
12: floor_glass
13: floor_gold
14: floor_green_circuit
15: floor_hydro
16: floor_lino
17: floor_mono
18: floor_reinforced
19: floor_rglass
20: floor_rock_vault
21: floor_showroom
22: floor_silver
23: floor_snow
24: floor_steel
25: floor_steel_dirty
26: floor_techmaint
27: floor_white
28: floor_wood
29: lattice
30: plating
31: underplating
grids:
- settings:
chunksize: 16
tilesize: 1
chunks:
- ind: "-1,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAABQAAAA==
- ind: "0,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "-1,0"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "0,0"
tiles: BQAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
entities:
- uid: 0
components:
- pos: 0.5,0.5
parent: null
type: Transform
- index: 0
type: MapGrid
- angularDamping: 0.3
fixedRotation: False
bodyType: Dynamic
type: Physics
- fixtures:
- shape: !type:PolygonShape
vertices:
- 3,0
- 3,1
- 0,1
- 0,0
id: grid_chunk-0-0
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,-3
- 1,-2
- 0,-2
- 0,-3
id: grid_chunk-0--3
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-2
- 3,0
- 0,0
- 0,-2
id: grid_chunk-0--2
mask:
- MapGrid
layer:
- MapGrid
mass: 24
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 2,1
- 2,2
- 0,2
- 0,1
id: grid_chunk-0-1
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,2
- 1,3
- 0,3
- 0,2
id: grid_chunk-0-2
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,0
- 0,2
- -4,2
- -4,0
id: grid_chunk--4-0
mask:
- MapGrid
layer:
- MapGrid
mass: 32
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-4
- 0,-2
- -3,-2
- -3,-4
id: grid_chunk--3--4
mask:
- MapGrid
layer:
- MapGrid
mass: 24
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-2
- 0,0
- -4,0
- -4,-2
id: grid_chunk--4--2
mask:
- MapGrid
layer:
- MapGrid
mass: 32
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,2
- 0,3
- -3,3
- -3,2
id: grid_chunk--3-2
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
type: Fixtures
- gravityShakeSound: !type:SoundPathSpecifier
path: /Audio/Effects/alert.ogg
type: Gravity
- tiles:
-4,-2: 0
-4,-1: 0
-3,-4: 0
-3,-3: 0
-3,-2: 0
-3,-1: 0
-2,-4: 0
-2,-3: 0
-2,-2: 0
-2,-1: 1
-1,-4: 0
-1,-3: 0
-1,-2: 1
-1,-1: 2
0,-3: 0
0,-2: 0
0,-1: 1
1,-2: 0
1,-1: 0
2,-2: 0
2,-1: 0
-4,0: 0
-4,1: 0
-3,0: 0
-3,1: 0
-3,2: 0
-2,0: 3
-2,1: 0
-2,2: 0
-1,0: 1
-1,1: 0
-1,2: 0
0,0: 0
0,1: 0
0,2: 0
1,0: 0
1,1: 0
2,0: 0
uniqueMixes:
- volume: 2500
temperature: 293.15
moles:
- 21.824879
- 82.10312
- 0
- 0
- 0
- 0
- 0
- 0
- volume: 2500
temperature: 293.15
moles:
- 0
- 0
- 0
- 6666.982
- 0
- 0
- 0
- 0
- volume: 2500
temperature: 9000
moles:
- 0
- 0
- 0
- 6666.982
- 0
- 0
- 0
- 0
- volume: 2500
temperature: 293.15
moles:
- 6666.982
- 0
- 0
- 0
- 0
- 0
- 0
- 0
type: GridAtmosphere
- uid: 1
type: AsteroidRock
components:
- pos: -2.5,2.5
parent: 0
type: Transform
- uid: 2
type: AsteroidRock
components:
- pos: -2.5,1.5
parent: 0
type: Transform
- uid: 3
type: AsteroidRock
components:
- pos: -2.5,0.5
parent: 0
type: Transform
- uid: 4
type: AsteroidRock
components:
- pos: -2.5,-0.5
parent: 0
type: Transform
- uid: 5
type: AsteroidRock
components:
- pos: -2.5,-1.5
parent: 0
type: Transform
- uid: 6
type: AsteroidRock
components:
- pos: -2.5,-2.5
parent: 0
type: Transform
- uid: 7
type: AsteroidRock
components:
- pos: -1.5,2.5
parent: 0
type: Transform
- uid: 8
type: AsteroidRock
components:
- pos: -1.5,1.5
parent: 0
type: Transform
- uid: 9
type: SalvageMobSpawner
components:
- pos: -1.5,0.5
parent: 0
type: Transform
- uid: 10
type: CrateMaterialPlasteel
components:
- pos: -1.5,-0.5
parent: 0
type: Transform
- isPlaceable: False
type: PlaceableSurface
- containers:
EntityStorageComponent: !type:Container
ents: []
PaperLabel: !type:ContainerSlot {}
type: ContainerContainer
- uid: 11
type: AsteroidRock
components:
- pos: -1.5,-1.5
parent: 0
type: Transform
- uid: 12
type: AsteroidRock
components:
- pos: -1.5,-2.5
parent: 0
type: Transform
- uid: 13
type: AsteroidRock
components:
- pos: -0.5,2.5
parent: 0
type: Transform
- uid: 14
type: AsteroidRock
components:
- pos: -0.5,1.5
parent: 0
type: Transform
- uid: 15
type: CrateMaterialPlastic
components:
- pos: -0.5,0.5
parent: 0
type: Transform
- isPlaceable: False
type: PlaceableSurface
- containers:
EntityStorageComponent: !type:Container
ents: []
PaperLabel: !type:ContainerSlot {}
type: ContainerContainer
- uid: 16
type: CrateMaterialGlass
components:
- pos: 0.5,-0.5
parent: 0
type: Transform
- isPlaceable: False
type: PlaceableSurface
- containers:
EntityStorageComponent: !type:Container
ents: []
PaperLabel: !type:ContainerSlot {}
type: ContainerContainer
- uid: 17
type: SalvageMaterialCrateSpawner
components:
- pos: -0.5,-1.5
parent: 0
type: Transform
- uid: 18
type: AsteroidRock
components:
- pos: -0.5,-2.5
parent: 0
type: Transform
- uid: 19
type: AsteroidRock
components:
- pos: 0.5,2.5
parent: 0
type: Transform
- uid: 20
type: AsteroidRock
components:
- pos: 0.5,1.5
parent: 0
type: Transform
- uid: 21
type: AsteroidRock
components:
- pos: 0.5,0.5
parent: 0
type: Transform
- uid: 22
type: CrateMaterialSteel
components:
- pos: -0.5,-0.5
parent: 0
type: Transform
- isPlaceable: False
type: PlaceableSurface
- containers:
EntityStorageComponent: !type:Container
ents: []
PaperLabel: !type:ContainerSlot {}
type: ContainerContainer
- uid: 23
type: AsteroidRock
components:
- pos: 0.5,-1.5
parent: 0
type: Transform
- uid: 24
type: AsteroidRock
components:
- pos: 0.5,-2.5
parent: 0
type: Transform
- uid: 25
type: AsteroidRock
components:
- pos: -3.5,1.5
parent: 0
type: Transform
- uid: 26
type: AsteroidRock
components:
- pos: -3.5,0.5
parent: 0
type: Transform
- uid: 27
type: AsteroidRock
components:
- pos: -3.5,-0.5
parent: 0
type: Transform
- uid: 28
type: AsteroidRock
components:
- pos: -3.5,-1.5
parent: 0
type: Transform
- uid: 29
type: AsteroidRock
components:
- pos: 1.5,1.5
parent: 0
type: Transform
- uid: 30
type: AsteroidRock
components:
- pos: 1.5,0.5
parent: 0
type: Transform
- uid: 31
type: AsteroidRock
components:
- pos: 1.5,-0.5
parent: 0
type: Transform
- uid: 32
type: AsteroidRock
components:
- pos: 1.5,-1.5
parent: 0
type: Transform
- uid: 33
type: AsteroidRock
components:
- pos: 2.5,0.5
parent: 0
type: Transform
- uid: 34
type: AsteroidRock
components:
- pos: 2.5,-0.5
parent: 0
type: Transform
- uid: 35
type: AsteroidRock
components:
- pos: 2.5,-1.5
parent: 0
type: Transform
- uid: 36
type: AsteroidRock
components:
- pos: -2.5,-3.5
parent: 0
type: Transform
- uid: 37
type: AsteroidRock
components:
- pos: -1.5,-3.5
parent: 0
type: Transform
- uid: 38
type: AsteroidRock
components:
- pos: -0.5,-3.5
parent: 0
type: Transform
- uid: 39
type: AtmosFixOxygenMarker
components:
- pos: -1.5,0.5
parent: 0
type: Transform
- uid: 40
type: AtmosFixPlasmaMarker
components:
- pos: -0.5,0.5
parent: 0
type: Transform
- uid: 41
type: AtmosFixPlasmaMarker
components:
- pos: -0.5,-0.5
parent: 0
type: Transform
- uid: 42
type: AtmosFixPlasmaMarker
components:
- pos: -1.5,-0.5
parent: 0
type: Transform
- uid: 43
type: AtmosFixPlasmaMarker
components:
- pos: 0.5,-0.5
parent: 0
type: Transform
- uid: 44
type: AtmosFixPlasmaMarker
components:
- pos: -0.5,-1.5
parent: 0
type: Transform
...

View file

@ -0,0 +1,277 @@
meta:
format: 2
name: DemoStation
author: Space-Wizards
postmapinit: false
tilemap:
0: space
1: floor_asteroid_coarse_sand0
2: floor_asteroid_coarse_sand1
3: floor_asteroid_coarse_sand2
4: floor_asteroid_coarse_sand_dug
5: floor_asteroid_sand
6: floor_asteroid_tile
7: floor_blue
8: floor_blue_circuit
9: floor_dark
10: floor_elevator_shaft
11: floor_freezer
12: floor_glass
13: floor_gold
14: floor_green_circuit
15: floor_hydro
16: floor_lino
17: floor_mono
18: floor_reinforced
19: floor_rglass
20: floor_rock_vault
21: floor_showroom
22: floor_silver
23: floor_snow
24: floor_steel
25: floor_steel_dirty
26: floor_techmaint
27: floor_white
28: floor_wood
29: lattice
30: plating
31: underplating
grids:
- settings:
chunksize: 16
tilesize: 1
chunks:
- ind: "-1,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAADQAAAA==
- ind: "0,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "-1,0"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "0,0"
tiles: HQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
entities:
- uid: 0
components:
- pos: 0.5, 0.5
parent: null
type: Transform
- index: 0
type: MapGrid
- angularDamping: 0.3
fixedRotation: False
bodyType: Dynamic
type: Physics
- fixtures:
- shape: !type:PolygonShape
vertices:
- -3,-3
- -3,-1
- -4,-1
- -4,-3
id: grid_chunk--4--3
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,-2
- 1,-1
- 0,-1
- 0,-2
id: grid_chunk-0--2
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-3
- 0,-2
- -1,-2
- -1,-3
id: grid_chunk--1--3
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- -3,0
- -3,2
- -4,2
- -4,0
id: grid_chunk--4-0
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,0
- 3,2
- 2,2
- 2,0
id: grid_chunk-2-0
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-2
- 0,-1
- -2,-1
- -2,-2
id: grid_chunk--2--2
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-4
- 0,-3
- -4,-3
- -4,-4
id: grid_chunk--4--4
mask:
- MapGrid
layer:
- MapGrid
mass: 16
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,-1
- 0,0
- -4,0
- -4,-1
id: grid_chunk--4--1
mask:
- MapGrid
layer:
- MapGrid
mass: 16
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,1
- 0,2
- -1,2
- -1,1
id: grid_chunk--1-1
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,2
- 3,3
- 0,3
- 0,2
id: grid_chunk-0-2
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 1,0
- 1,1
- 0,1
- 0,0
id: grid_chunk-0-0
mask:
- MapGrid
layer:
- MapGrid
mass: 4
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-3
- 3,-1
- 2,-1
- 2,-3
id: grid_chunk-2--3
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-1
- 3,0
- 0,0
- 0,-1
id: grid_chunk-0--1
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 3,-4
- 3,-3
- 0,-3
- 0,-4
id: grid_chunk-0--4
mask:
- MapGrid
layer:
- MapGrid
mass: 12
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,2
- 0,3
- -4,3
- -4,2
id: grid_chunk--4-2
mask:
- MapGrid
layer:
- MapGrid
mass: 16
restitution: 0.1
- shape: !type:PolygonShape
vertices:
- 0,0
- 0,1
- -2,1
- -2,0
id: grid_chunk--2-0
mask:
- MapGrid
layer:
- MapGrid
mass: 8
restitution: 0.1
type: Fixtures
- gravityShakeSound: !type:SoundPathSpecifier
path: /Audio/Effects/alert.ogg
type: Gravity
...

View file

@ -5625,4 +5625,17 @@ entities:
- pos: 0.5,-9.5
parent: 0
type: Transform
- uid: 559
type: SalvageLocator
components:
- pos: 0.5,5.5
rot: 3.141592653589793 rad
parent: 0
type: Transform
- uid: 560
type: CrateSalvageEquipment
components:
- pos: 2.5,5.5
parent: 0
type: Transform
...

View file

@ -27006,21 +27006,14 @@ entities:
parent: 0
type: Transform
- uid: 2090
type: CrateGenericSteel
type: SalvageMagnet
components:
- pos: 6.5,32.5
rot: -1.5707963267948966 rad
parent: 0
type: Transform
- isPlaceable: False
type: PlaceableSurface
- containers:
EntityStorageComponent: !type:Container
ents: []
labelSlot: !type:ContainerSlot {}
PaperLabel: !type:ContainerSlot {}
type: ContainerContainer
- uid: 2091
type: CrateGenericSteel
type: CrateSalvageEquipment
components:
- pos: 7.5,31.5
parent: 0
@ -55098,6 +55091,12 @@ entities:
storagebase: !type:Container
ents: []
type: ContainerContainer
- uid: 5731
type: Rack
components:
- pos: 12.5,-5.5
parent: 0
type: Transform
- uid: 5732
type: Bed
components:
@ -55456,6 +55455,12 @@ entities:
type: Transform
- canCollide: False
type: Physics
- uid: 5773
type: Rack
components:
- pos: 11.5,-5.5
parent: 0
type: Transform
- uid: 5774
type: Grille
components:
@ -64911,6 +64916,12 @@ entities:
- pos: 43.5,-2.5
parent: 0
type: Transform
- uid: 6816
type: Rack
components:
- pos: 11.5,-8.5
parent: 0
type: Transform
- uid: 6817
type: WindowDirectional
components:
@ -72022,6 +72033,12 @@ entities:
type: Transform
- canCollide: False
type: Physics
- uid: 7442
type: Rack
components:
- pos: 12.5,-8.5
parent: 0
type: Transform
- uid: 7443
type: PoweredSmallLight
components:
@ -72036,6 +72053,14 @@ entities:
- containers:
light_bulb: !type:ContainerSlot {}
type: ContainerContainer
- uid: 7444
type: ClothingOuterHardsuitEVA
components:
- pos: 12.427699,-5.3438883
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 7445
type: CableHV
components:
@ -73133,6 +73158,62 @@ entities:
RangedMagazine-magazine: !type:Container
ents: []
type: ContainerContainer
- uid: 7567
type: ClothingOuterHardsuitEVA
components:
- pos: 11.521449,-5.3282633
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 7568
type: ClothingOuterHardsuitEVA
components:
- pos: 12.365199,-8.359513
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 7569
type: ClothingOuterHardsuitEVA
components:
- pos: 11.443324,-8.422013
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 7570
type: ClothingHeadHelmetEVA
components:
- pos: 11.537074,-5.5157633
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 7571
type: ClothingHeadHelmetEVA
components:
- pos: 12.458949,-5.5157633
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 7572
type: ClothingHeadHelmetEVA
components:
- pos: 11.505824,-8.625138
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 7573
type: ClothingHeadHelmetEVA
components:
- pos: 12.458949,-8.531388
parent: 0
type: Transform
- canCollide: False
type: Physics
- uid: 7608
type: DisposalTrunk
components:

View file

@ -11,102 +11,108 @@ tilemap:
4: floor_asteroid_coarse_sand_dug
5: floor_asteroid_sand
6: floor_asteroid_tile
7: floor_blue
8: floor_blue_circuit
9: floor_dark
10: floor_elevator_shaft
11: floor_freezer
12: floor_glass
13: floor_gold
14: floor_green_circuit
15: floor_hydro
16: floor_lino
17: floor_mono
18: floor_reinforced
19: floor_rglass
20: floor_rock_vault
21: floor_showroom
22: floor_silver
23: floor_snow
24: floor_steel
25: floor_steel_dirty
26: floor_techmaint
27: floor_white
28: floor_wood
29: lattice
30: plating
31: underplating
7: floor_bar
8: floor_blue
9: floor_blue_circuit
10: floor_clown
11: floor_dark
12: floor_elevator_shaft
13: floor_freezer
14: floor_glass
15: floor_gold
16: floor_grass
17: floor_green_circuit
18: floor_hydro
19: floor_kitchen
20: floor_laundry
21: floor_lino
22: floor_mime
23: floor_mono
24: floor_reinforced
25: floor_rglass
26: floor_rock_vault
27: floor_showroom
28: floor_silver
29: floor_snow
30: floor_steel
31: floor_steel_dirty
32: floor_techmaint
33: floor_white
34: floor_wood
35: lattice
36: plating
37: underplating
grids:
- settings:
chunksize: 16
tilesize: 1
chunks:
- ind: "-1,-1"
tiles: GgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAHwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAaAAAAGgAAAB8AAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAfAAAAHwAAABoAAAAfAAAAHwAAAB8AAAAeAAAAGgAAABoAAAAfAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGgAAABoAAAAaAAAAGgAAABoAAAAfAAAAHgAAABoAAAAaAAAAHwAAABsAAAAbAAAAGwAAAB8AAAAfAAAAHwAAABoAAAAaAAAAGgAAABoAAAAaAAAAHwAAAB4AAAAaAAAAGgAAAB8AAAAfAAAAGwAAAB8AAAAfAAAAHgAAAB4AAAAaAAAAGgAAABoAAAAaAAAAGgAAAB8AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAGgAAABoAAAAaAAAAGgAAABoAAAAfAAAAHgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAHwAAABoAAAAfAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAGgAAABoAAAAaAAAAGgAAABoAAAAcAAAAHAAAABwAAAAcAAAAGgAAABAAAAAQAAAAEAAAABAAAAAQAAAAHwAAABoAAAAaAAAAHgAAABoAAAAeAAAAHAAAABwAAAAcAAAAHAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAB8AAAAaAAAAGgAAAB4AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAEAAAABAAAAAQAAAAEAAAABAAAAAfAAAAHwAAAB8AAAAeAAAAGAAAAAsAAAALAAAACwAAAAsAAAALAAAAHwAAABAAAAAQAAAAEAAAABAAAAAQAAAAHAAAABwAAAAcAAAAHwAAAB8AAAALAAAACwAAAAsAAAALAAAACwAAAB8AAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB8AAAAfAAAAHwAAABgAAAAfAAAAHwAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAfAAAAGwAAABsAAAAbAAAAGwAAABsAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHwAAABsAAAAbAAAAGwAAABsAAAAYAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAA==
tiles: IAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAJQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAgAAAAIAAAACUAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAlAAAAJQAAACAAAAAlAAAAJQAAACUAAAAkAAAAIAAAACAAAAAlAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIAAAACAAAAAgAAAAIAAAACAAAAAlAAAAJAAAACAAAAAgAAAAJQAAACEAAAAhAAAAIQAAACUAAAAlAAAAJQAAACAAAAAgAAAAIAAAACAAAAAgAAAAJQAAACQAAAAgAAAAIAAAACUAAAAlAAAAIQAAACUAAAAlAAAAJAAAACQAAAAgAAAAIAAAACAAAAAgAAAAIAAAACUAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAIAAAACAAAAAgAAAAIAAAACAAAAAlAAAAJAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAJQAAACAAAAAlAAAAJQAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAIAAAACAAAAAgAAAAIAAAACAAAAAiAAAAIgAAACIAAAAiAAAAIAAAABUAAAAVAAAAFQAAABUAAAAVAAAAJQAAACAAAAAgAAAAJAAAACAAAAAkAAAAIgAAACIAAAAiAAAAIgAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAACUAAAAgAAAAIAAAACQAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAFQAAABUAAAAVAAAAFQAAABUAAAAlAAAAJQAAACUAAAAkAAAAHgAAAA0AAAANAAAADQAAAA0AAAANAAAAJQAAABUAAAAVAAAAFQAAABUAAAAVAAAAIgAAACIAAAAiAAAAJQAAACUAAAANAAAADQAAAA0AAAANAAAADQAAACUAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACUAAAAlAAAAJQAAAB4AAAAlAAAAJQAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAlAAAAIQAAACEAAAAhAAAAIQAAACEAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAJQAAACEAAAAhAAAAIQAAACEAAAAeAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAAA==
- ind: "-1,0"
tiles: GAAAABsAAAAbAAAAGwAAABsAAAAYAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB8AAAAbAAAAGwAAABsAAAAbAAAAGAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAABgAAAAYAAAAHgAAABgAAAAYAAAAHgAAAB4AAAAeAAAAGAAAABgAAAAeAAAAGAAAAB4AAAAYAAAAGAAAAB4AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAeAAAAHgAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAeAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHgAAAB4AAAAeAAAAGAAAAB4AAAAYAAAAHgAAABgAAAAeAAAAHgAAABgAAAAYAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAeAAAAGgAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAA==
tiles: HgAAACEAAAAhAAAAIQAAACEAAAAeAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACUAAAAhAAAAIQAAACEAAAAhAAAAHgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAAB4AAAAeAAAAJAAAAB4AAAAeAAAAJAAAACQAAAAkAAAAHgAAAB4AAAAkAAAAHgAAACQAAAAeAAAAHgAAACQAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAkAAAAJAAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAkAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJAAAACQAAAAkAAAAHgAAACQAAAAeAAAAJAAAAB4AAAAkAAAAJAAAAB4AAAAeAAAAJAAAACQAAAAkAAAAJAAAACQAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAkAAAAIAAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJQAAACUAAAAlAAAAJQAAAA==
- ind: "0,-1"
tiles: GwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABsAAAAbAAAAGwAAABsAAAAfAAAAGwAAABsAAAAbAAAAGwAAABsAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAbAAAAGwAAABsAAAAbAAAAHwAAABsAAAAbAAAAGwAAABsAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHwAAAB8AAAAbAAAAHwAAAB8AAAAfAAAAGwAAABsAAAAbAAAAHwAAAB4AAAAfAAAAGAAAABgAAAAYAAAAHwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAeAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAHgAAAB8AAAAYAAAAGAAAABgAAAAfAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAAB4AAAAfAAAAGAAAABgAAAAYAAAAHwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAeAAAAGgAAABgAAAAYAAAAGAAAAB8AAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGgAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHwAAABsAAAAfAAAAHwAAABsAAAAbAAAAHwAAAB8AAAAbAAAAGwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAHwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAfAAAAGwAAABsAAAAcAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAHwAAABsAAAAbAAAAHAAAAB8AAAAYAAAAGAAAABgAAAAfAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAbAAAAGwAAABwAAAAYAAAAGAAAABgAAAAYAAAAGAAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAcAAAAGAAAABgAAAAYAAAAGAAAABgAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAHAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAAA==
tiles: IQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACEAAAAhAAAAIQAAACEAAAAlAAAAIQAAACEAAAAhAAAAIQAAACEAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAhAAAAIQAAACEAAAAhAAAAJQAAACEAAAAhAAAAIQAAACEAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAIQAAACEAAAAhAAAAIQAAACUAAAAhAAAAIQAAACEAAAAhAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJQAAACUAAAAhAAAAJQAAACUAAAAlAAAAIQAAACEAAAAhAAAAJQAAACQAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAkAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAJAAAACUAAAAeAAAAHgAAAB4AAAAlAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACQAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAkAAAAIAAAAB4AAAAeAAAAHgAAACUAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIAAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJQAAACEAAAAlAAAAJQAAACEAAAAhAAAAJQAAACUAAAAhAAAAIQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAlAAAAIQAAACEAAAAiAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAJQAAACEAAAAhAAAAIgAAACUAAAAeAAAAHgAAAB4AAAAlAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACUAAAAhAAAAIQAAACIAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAiAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAAA==
- ind: "0,0"
tiles: HAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABwAAAAfAAAAGAAAABgAAAAYAAAAHwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAfAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHgAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHwAAABgAAAAfAAAAGAAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAfAAAAGAAAAB8AAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHwAAAB8AAAAaAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAYAAAAHwAAABgAAAAYAAAAGAAAABoAAAAeAAAAGgAAABoAAAAaAAAAHgAAAB4AAAAeAAAAGgAAABoAAAAaAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHgAAABoAAAAfAAAAGgAAAA==
tiles: IgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACIAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAlAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJAAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJQAAAB4AAAAlAAAAHgAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAlAAAAHgAAACUAAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJQAAACUAAAAgAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAkAAAAJAAAACQAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAeAAAAJQAAAB4AAAAeAAAAHgAAACAAAAAkAAAAIAAAACAAAAAgAAAAJAAAACQAAAAkAAAAIAAAACAAAAAgAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJAAAACAAAAAlAAAAIAAAAA==
- ind: "1,0"
tiles: GwAAABsAAAAbAAAAGwAAAB4AAAAaAAAAGgAAABoAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABsAAAAbAAAAGwAAABsAAAAeAAAAHgAAABoAAAAaAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAABoAAAAfAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAfAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHgAAAB4AAAAeAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGgAAAB4AAAAaAAAAHgAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAaAAAAGgAAABoAAAAaAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGgAAABoAAAAaAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABoAAAAaAAAAGgAAAB8AAAAYAAAAGAAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAeAAAAHgAAAB4AAAAfAAAAGAAAABgAAAAaAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB4AAAAYAAAAGgAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAfAAAAHwAAAA==
tiles: IQAAACEAAAAhAAAAIQAAACQAAAAgAAAAIAAAACAAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAACEAAAAhAAAAIQAAACEAAAAkAAAAJAAAACAAAAAgAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACAAAAAlAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAlAAAAIAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJAAAACQAAAAkAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAIAAAACQAAAAgAAAAJAAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAgAAAAIAAAACAAAAAgAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAIAAAACAAAAAgAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACAAAAAgAAAAIAAAACUAAAAeAAAAHgAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAkAAAAJAAAACQAAAAlAAAAHgAAAB4AAAAgAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACQAAAAeAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAlAAAAJQAAAA==
- ind: "0,1"
tiles: HwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAfAAAAHgAAABoAAAAfAAAAHwAAABoAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAaAAAAHgAAAB4AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAeAAAAGgAAAB4AAAAeAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAfAAAAHgAAABoAAAAeAAAAHgAAABoAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGgAAAB4AAAAaAAAAGgAAABoAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAaAAAAGgAAABoAAAAaAAAAHwAAAB8AAAAYAAAAHwAAABgAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGgAAAB8AAAAfAAAAHwAAABAAAAAfAAAAGAAAABgAAAAYAAAAHwAAABwAAAAcAAAAHAAAABwAAAAfAAAAGgAAABoAAAAaAAAAHwAAAAAAAAAQAAAAEAAAABgAAAAYAAAAGAAAAB8AAAAcAAAAHAAAABwAAAAcAAAAHwAAAB4AAAAeAAAAHgAAAB8AAAAAAAAAEAAAABAAAAAYAAAAGAAAABgAAAAYAAAAHAAAABwAAAAcAAAAHAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAAAAAABAAAAAfAAAAGAAAABgAAAAYAAAAHwAAABwAAAAcAAAAHAAAABwAAAAcAAAAFQAAABUAAAAfAAAAAAAAAAAAAAAfAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAAAAAAAAAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: JQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJAAAACAAAAAlAAAAJQAAACAAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAgAAAAJAAAACQAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAkAAAAIAAAACQAAAAkAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJAAAACAAAAAkAAAAJAAAACAAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAIAAAACQAAAAgAAAAIAAAACAAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAgAAAAIAAAACAAAAAgAAAAJQAAACUAAAAeAAAAJQAAAB4AAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAIAAAACUAAAAlAAAAJQAAABUAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACIAAAAiAAAAIgAAACIAAAAlAAAAIAAAACAAAAAgAAAAJQAAAAAAAAAVAAAAFQAAAB4AAAAeAAAAHgAAACUAAAAiAAAAIgAAACIAAAAiAAAAJQAAACQAAAAkAAAAJAAAACUAAAAAAAAAFQAAABUAAAAeAAAAHgAAAB4AAAAeAAAAIgAAACIAAAAiAAAAIgAAACUAAAAlAAAAJQAAACUAAAAlAAAAAAAAABUAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACIAAAAiAAAAIgAAACIAAAAiAAAAGwAAABsAAAAlAAAAAAAAAAAAAAAlAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "-2,0"
tiles: HwAAABwAAAAcAAAAHAAAABwAAAAcAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAPAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAcAAAAHAAAABwAAAAcAAAAHwAAAB8AAAAYAAAAGAAAAB8AAAAfAAAADwAAAA8AAAAPAAAADwAAABgAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGgAAAB4AAAAfAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAYAAAAGAAAAB8AAAAfAAAAGAAAABgAAAAfAAAAHgAAAB4AAAAaAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAaAAAAGgAAAB8AAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAeAAAAGgAAABoAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHgAAABoAAAAaAAAAHwAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAfAAAAHwAAABoAAAAfAAAAHwAAAB4AAAAeAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAABoAAAAeAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAHgAAAB4AAAAeAAAAHgAAABoAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAaAAAAHwAAAB4AAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGgAAAB4AAAAeAAAAGgAAAA==
tiles: JQAAACIAAAAiAAAAIgAAACIAAAAiAAAAHgAAAB4AAAAeAAAAHgAAACUAAAASAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAiAAAAIgAAACIAAAAiAAAAJQAAACUAAAAeAAAAHgAAACUAAAAlAAAAEgAAABIAAAASAAAAEgAAAB4AAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAlAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAlAAAAJQAAACUAAAAlAAAAIAAAACQAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAeAAAAHgAAACUAAAAlAAAAHgAAAB4AAAAlAAAAJAAAACQAAAAgAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAgAAAAIAAAACUAAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAkAAAAIAAAACAAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJAAAACAAAAAgAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAlAAAAJQAAACAAAAAlAAAAJQAAACQAAAAkAAAAIAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACAAAAAkAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAJAAAACQAAAAkAAAAJAAAACAAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAgAAAAJQAAACQAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAIAAAACUAAAAlAAAAJQAAACUAAAAlAAAAIAAAACQAAAAkAAAAIAAAAA==
- ind: "1,-1"
tiles: GwAAABsAAAAbAAAAGwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAHwAAAB4AAAAaAAAAHwAAAAAAAAAAAAAAAAAAABsAAAAbAAAAGwAAABsAAAAfAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAeAAAAGgAAAB8AAAAAAAAAAAAAAAAAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAfAAAAHgAAABoAAAAfAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAbAAAAGwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAHwAAAB4AAAAaAAAAHwAAAAAAAAAAAAAAAAAAABsAAAAbAAAAGwAAABsAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAeAAAAGgAAAB8AAAAAAAAAAAAAAAAAAAAbAAAAGwAAABsAAAAbAAAAGgAAAB4AAAAaAAAAGgAAABoAAAAaAAAAHgAAABoAAAAfAAAAAAAAAAAAAAAAAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAaAAAAHwAAAAAAAAAAAAAAAAAAABsAAAAbAAAAGwAAABsAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAeAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAHwAAABsAAAAbAAAAGwAAABsAAAAfAAAAHgAAABoAAAAfAAAAHgAAAB4AAAAeAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAaAAAAGgAAABsAAAAbAAAAGwAAABsAAAAfAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAeAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAHwAAABsAAAAbAAAAGwAAABsAAAAfAAAAHgAAABoAAAAfAAAAGAAAABgAAAAYAAAAHwAAABsAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB4AAAAaAAAAHwAAABgAAAAYAAAAGAAAABsAAAAbAAAAGwAAABsAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAGgAAAB8AAAAYAAAAGAAAABgAAAAbAAAAGwAAABsAAAAbAAAAHgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAfAAAAGAAAABgAAAAYAAAAGwAAABsAAAAbAAAAGwAAAB4AAAAaAAAAGgAAAB4AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAAA==
tiles: IQAAACEAAAAhAAAAIQAAACUAAAAhAAAAIQAAACEAAAAhAAAAJQAAACQAAAAgAAAAJQAAAAAAAAAAAAAAAAAAACEAAAAhAAAAIQAAACEAAAAlAAAAIQAAACEAAAAhAAAAIQAAACUAAAAkAAAAIAAAACUAAAAAAAAAAAAAAAAAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAlAAAAJAAAACAAAAAlAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAhAAAAIQAAACUAAAAhAAAAIQAAACEAAAAhAAAAJQAAACQAAAAgAAAAJQAAAAAAAAAAAAAAAAAAACEAAAAhAAAAIQAAACEAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAkAAAAIAAAACUAAAAAAAAAAAAAAAAAAAAhAAAAIQAAACEAAAAhAAAAIAAAACQAAAAgAAAAIAAAACAAAAAgAAAAJAAAACAAAAAlAAAAAAAAAAAAAAAAAAAAIQAAACEAAAAhAAAAIQAAACUAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAgAAAAJQAAAAAAAAAAAAAAAAAAACEAAAAhAAAAIQAAACEAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAkAAAAIAAAACUAAAAlAAAAJQAAACUAAAAhAAAAIQAAACEAAAAhAAAAJQAAACEAAAAhAAAAIQAAACEAAAAlAAAAJAAAACAAAAAlAAAAJAAAACQAAAAkAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAJQAAACQAAAAkAAAAJAAAACQAAAAgAAAAIAAAACEAAAAhAAAAIQAAACEAAAAlAAAAIQAAACEAAAAhAAAAIQAAACUAAAAkAAAAIAAAACUAAAAlAAAAJQAAACUAAAAhAAAAIQAAACEAAAAhAAAAJQAAACEAAAAhAAAAIQAAACEAAAAlAAAAJAAAACAAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACEAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACQAAAAgAAAAJQAAAB4AAAAeAAAAHgAAACEAAAAhAAAAIQAAACEAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAIAAAACUAAAAeAAAAHgAAAB4AAAAhAAAAIQAAACEAAAAhAAAAJAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAlAAAAHgAAAB4AAAAeAAAAIQAAACEAAAAhAAAAIQAAACQAAAAgAAAAIAAAACQAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAAA==
- ind: "0,-2"
tiles: AAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB4AAAAeAAAAHgAAAAAAAAAfAAAAGAAAABgAAAAYAAAAHwAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAfAAAAHgAAAB4AAAAAAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAcAAAAHAAAABwAAAAcAAAAHwAAABwAAAAcAAAAHwAAAB4AAAAeAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHAAAABwAAAAcAAAAHAAAAB8AAAAfAAAAHwAAAB8AAAAeAAAAHgAAABoAAAAfAAAAGAAAABgAAAAYAAAAHwAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAfAAAAHgAAAB4AAAAaAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHwAAAB8AAAAfAAAAGgAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB8AAAAeAAAAHgAAABoAAAAfAAAAGAAAABgAAAAYAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAfAAAAHgAAABoAAAAeAAAAGgAAABgAAAAYAAAAGAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHwAAAB4AAAAaAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHwAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAAB8AAAAeAAAAGgAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAfAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHgAAABoAAAAbAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAaAAAAGwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGgAAAB4AAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAeAAAAGgAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAaAAAAGgAAABoAAAAaAAAAHwAAAB8AAAAfAAAAGgAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABsAAAAbAAAAGwAAABsAAAAfAAAAGwAAABsAAAAbAAAAGwAAAA==
tiles: AAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACQAAAAkAAAAJAAAAAAAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAlAAAAJAAAACQAAAAAAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAiAAAAIgAAACIAAAAiAAAAJQAAACIAAAAiAAAAJQAAACQAAAAkAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAlAAAAIgAAACIAAAAiAAAAIgAAACUAAAAlAAAAJQAAACUAAAAkAAAAJAAAACAAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAlAAAAJAAAACQAAAAgAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAJQAAACUAAAAlAAAAIAAAACUAAAAeAAAAHgAAAB4AAAAlAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACUAAAAkAAAAJAAAACAAAAAlAAAAHgAAAB4AAAAeAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAlAAAAJAAAACAAAAAkAAAAIAAAAB4AAAAeAAAAHgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAJQAAACQAAAAgAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJQAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACUAAAAkAAAAIAAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAlAAAAIAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJAAAACAAAAAhAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAgAAAAIQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAIAAAACQAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAkAAAAIAAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAgAAAAIAAAACAAAAAgAAAAJQAAACUAAAAlAAAAIAAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAhAAAAIQAAACEAAAAhAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACEAAAAhAAAAIQAAACEAAAAlAAAAIQAAACEAAAAhAAAAIQAAAA==
- ind: "1,-2"
tiles: HgAAAB4AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB4AAAAeAAAAAAAAAB4AAAAdAAAAHgAAAAAAAAAeAAAAHQAAAB4AAAAAAAAAHgAAAB0AAAAeAAAAAAAAAAAAAAAeAAAAHgAAAAAAAAAeAAAAHQAAAB4AAAAdAAAAHgAAAB0AAAAeAAAAHQAAAB4AAAAdAAAAHgAAAAAAAAAAAAAAHgAAAB4AAAAAAAAAHgAAAB0AAAAeAAAAHQAAAB4AAAAdAAAAHgAAAB0AAAAeAAAAHQAAAB4AAAAAAAAAAAAAAB4AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAeAAAAHQAAAB4AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAABoAAAAaAAAAGgAAABoAAAAaAAAAHQAAAB0AAAAdAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB8AAAAaAAAAGgAAABoAAAAaAAAAGgAAAAAAAAAAAAAAAAAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAAB4AAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAfAAAAHwAAABoAAAAeAAAAHwAAABoAAAAaAAAAGgAAABoAAAAaAAAAAAAAAAAAAAAAAAAAHwAAABsAAAAbAAAAGwAAAB8AAAAaAAAAHgAAAB8AAAAaAAAAGgAAABoAAAAaAAAAGgAAAAAAAAAAAAAAAAAAAB8AAAAbAAAAGwAAABsAAAAfAAAAGgAAAB4AAAAfAAAAGgAAABoAAAAaAAAAGgAAABoAAAAAAAAAAAAAAAAAAAAeAAAAGwAAABsAAAAbAAAAHwAAABoAAAAeAAAAHwAAABoAAAAaAAAAGgAAABoAAAAaAAAAAAAAAAAAAAAAAAAAGgAAABsAAAAbAAAAGwAAAB8AAAAaAAAAHgAAAB8AAAAfAAAAHwAAABoAAAAfAAAAHwAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAHwAAABsAAAAfAAAAGgAAAB4AAAAaAAAAGgAAABoAAAAaAAAAGgAAAB8AAAAAAAAAAAAAAAAAAAAbAAAAGwAAABsAAAAbAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAABoAAAAfAAAAAAAAAAAAAAAAAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB4AAAAaAAAAHwAAAAAAAAAAAAAAAAAAAA==
tiles: JAAAACQAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACQAAAAkAAAAAAAAACQAAAAjAAAAJAAAAAAAAAAkAAAAIwAAACQAAAAAAAAAJAAAACMAAAAkAAAAAAAAAAAAAAAkAAAAJAAAAAAAAAAkAAAAIwAAACQAAAAjAAAAJAAAACMAAAAkAAAAIwAAACQAAAAjAAAAJAAAAAAAAAAAAAAAJAAAACQAAAAAAAAAJAAAACMAAAAkAAAAIwAAACQAAAAjAAAAJAAAACMAAAAkAAAAIwAAACQAAAAAAAAAAAAAACQAAAAkAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAkAAAAIwAAACQAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACAAAAAgAAAAIAAAACAAAAAgAAAAIwAAACMAAAAjAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACUAAAAgAAAAIAAAACAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACQAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAlAAAAJQAAACAAAAAkAAAAJQAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAJQAAACEAAAAhAAAAIQAAACUAAAAgAAAAJAAAACUAAAAgAAAAIAAAACAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAACUAAAAhAAAAIQAAACEAAAAlAAAAIAAAACQAAAAlAAAAIAAAACAAAAAgAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAkAAAAIQAAACEAAAAhAAAAJQAAACAAAAAkAAAAJQAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAACEAAAAhAAAAIQAAACUAAAAgAAAAJAAAACUAAAAlAAAAJQAAACAAAAAlAAAAJQAAAAAAAAAAAAAAAAAAACUAAAAlAAAAJQAAACEAAAAlAAAAIAAAACQAAAAgAAAAIAAAACAAAAAgAAAAIAAAACUAAAAAAAAAAAAAAAAAAAAhAAAAIQAAACEAAAAhAAAAJQAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACAAAAAlAAAAAAAAAAAAAAAAAAAAIQAAACEAAAAhAAAAIQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACQAAAAgAAAAJQAAAAAAAAAAAAAAAAAAAA==
- ind: "-1,1"
tiles: HwAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGgAAABoAAAAaAAAAGgAAAB8AAAAfAAAAHwAAABgAAAAfAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABoAAAAaAAAAGgAAABoAAAAfAAAAEgAAABIAAAASAAAAEgAAAB8AAAAfAAAAGAAAAB8AAAAfAAAAHwAAAB8AAAAaAAAAGgAAABoAAAAaAAAAHwAAABIAAAASAAAAEgAAABIAAAAfAAAACQAAAAkAAAAJAAAACQAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAASAAAAEgAAABIAAAASAAAAGAAAAAkAAAAcAAAAHAAAABwAAAAfAAAAGgAAABoAAAAaAAAAGgAAAB4AAAAfAAAAEgAAABIAAAASAAAAEgAAAB8AAAAJAAAAHAAAABwAAAAcAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAACQAAABwAAAAcAAAAHAAAAB8AAAAeAAAAHwAAAB8AAAAQAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAABoAAAAaAAAAGgAAABoAAAAaAAAAHgAAAB8AAAAQAAAAEAAAABAAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAAB4AAAAeAAAAHgAAAB4AAAAfAAAAEAAAABAAAAAQAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHwAAAB8AAAAfAAAAHwAAABAAAAAQAAAAEAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAAAAAAAAAAAB8AAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABgAAAAYAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAYAAAAGAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGAAAABgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAYAAAAGAAAAA==
tiles: JQAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAIAAAACAAAAAgAAAAIAAAACUAAAAlAAAAJQAAAB4AAAAlAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACAAAAAgAAAAIAAAACAAAAAlAAAAGAAAABgAAAAYAAAAGAAAACUAAAAlAAAAHgAAACUAAAAlAAAAJQAAACUAAAAgAAAAIAAAACAAAAAgAAAAJQAAABgAAAAYAAAAGAAAABgAAAAlAAAACwAAAAsAAAALAAAACwAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAYAAAAGAAAABgAAAAYAAAAHgAAAAsAAAAiAAAAIgAAACIAAAAlAAAAIAAAACAAAAAgAAAAIAAAACQAAAAlAAAAGAAAABgAAAAYAAAAGAAAACUAAAALAAAAIgAAACIAAAAiAAAAJQAAACQAAAAkAAAAJAAAACQAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAACwAAACIAAAAiAAAAIgAAACUAAAAkAAAAJQAAACUAAAAVAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACAAAAAgAAAAIAAAACAAAAAgAAAAJAAAACUAAAAVAAAAFQAAABUAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACQAAAAkAAAAJAAAACQAAAAlAAAAFQAAABUAAAAVAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJQAAACUAAAAlAAAAJQAAABUAAAAVAAAAFQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAAAAAAAAAAACUAAAAVAAAAFQAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAB4AAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAeAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAHgAAAB4AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAeAAAAHgAAAA==
- ind: "-2,1"
tiles: HgAAAB4AAAAeAAAAHgAAABoAAAAaAAAAHgAAABoAAAAaAAAAGgAAABoAAAAeAAAAGgAAAB4AAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAfAAAAGgAAAB4AAAAaAAAAGgAAABoAAAAaAAAAHgAAABoAAAAeAAAAGgAAAB8AAAAeAAAAHgAAAB4AAAAeAAAAHwAAABoAAAAeAAAAGgAAABoAAAAaAAAAGgAAAB4AAAAaAAAAHgAAABoAAAAfAAAAHQAAAB0AAAAdAAAAAAAAAB8AAAAaAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAaAAAAHgAAAB4AAAAaAAAAHwAAAB0AAAAdAAAAAAAAAAAAAAAfAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAAB8AAAAeAAAAGgAAAB8AAAAeAAAAHQAAAB4AAAAdAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAfAAAAHgAAABoAAAAfAAAAHgAAAB0AAAAeAAAAAAAAAAAAAAAdAAAAHQAAAB4AAAAeAAAAGgAAABoAAAAeAAAAHwAAAB4AAAAaAAAAHwAAAB4AAAAdAAAAHgAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAHgAAABoAAAAaAAAAHgAAAB8AAAAeAAAAGgAAAB8AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB4AAAAeAAAAHgAAAB4AAAAaAAAAGgAAAB4AAAAfAAAAHgAAABoAAAAaAAAAHgAAAB0AAAAeAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAdAAAAHgAAAAAAAAAAAAAAAAAAAB0AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB8AAAAfAAAAHwAAAB8AAAAeAAAAHQAAAB4AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: JAAAACQAAAAkAAAAJAAAACAAAAAgAAAAJAAAACAAAAAgAAAAIAAAACAAAAAkAAAAIAAAACQAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAlAAAAIAAAACQAAAAgAAAAIAAAACAAAAAgAAAAJAAAACAAAAAkAAAAIAAAACUAAAAkAAAAJAAAACQAAAAkAAAAJQAAACAAAAAkAAAAIAAAACAAAAAgAAAAIAAAACQAAAAgAAAAJAAAACAAAAAlAAAAIwAAACMAAAAjAAAAAAAAACUAAAAgAAAAJAAAACQAAAAkAAAAJAAAACQAAAAgAAAAJAAAACQAAAAgAAAAJQAAACMAAAAjAAAAAAAAAAAAAAAlAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACUAAAAkAAAAIAAAACUAAAAkAAAAIwAAACQAAAAjAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAlAAAAJAAAACAAAAAlAAAAJAAAACMAAAAkAAAAAAAAAAAAAAAjAAAAIwAAACQAAAAkAAAAIAAAACAAAAAkAAAAJQAAACQAAAAgAAAAJQAAACQAAAAjAAAAJAAAAAAAAAAAAAAAJAAAACQAAAAkAAAAJAAAACAAAAAgAAAAJAAAACUAAAAkAAAAIAAAACUAAAAjAAAAIwAAACMAAAAjAAAAIwAAACQAAAAkAAAAJAAAACQAAAAgAAAAIAAAACQAAAAlAAAAJAAAACAAAAAgAAAAJAAAACMAAAAkAAAAAAAAAAAAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJQAAACQAAAAkAAAAJAAAACQAAAAjAAAAJAAAAAAAAAAAAAAAAAAAACMAAAAkAAAAJAAAACQAAAAkAAAAJAAAACUAAAAlAAAAJQAAACUAAAAkAAAAIwAAACQAAAAjAAAAIwAAACMAAAAjAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "-1,2"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "1,1"
tiles: HwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAABoAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAaAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAGgAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAdAAAAHQAAAB4AAAAeAAAAHgAAABoAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAHgAAAB4AAAAaAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB4AAAAeAAAAHwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: JQAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAkAAAAJAAAACAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAJAAAACQAAAAgAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAACQAAAAkAAAAIAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAjAAAAIwAAACQAAAAkAAAAJAAAACAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAACMAAAAjAAAAJAAAACQAAAAgAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAACQAAAAkAAAAJQAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "0,2"
tiles: GAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: HgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "2,0"
tiles: GAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAaAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAYAAAAHwAAAB8AAAAfAAAAHwAAABgAAAAfAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAAB8AAAAYAAAAHwAAAB8AAAAfAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAfAAAAEgAAABIAAAAfAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAA==
tiles: HgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAgAAAAJQAAACUAAAAlAAAAJQAAACUAAAAeAAAAJQAAACUAAAAlAAAAJQAAAB4AAAAlAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAACUAAAAeAAAAJQAAACUAAAAlAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAlAAAAGAAAABgAAAAlAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAA==
- ind: "3,0"
tiles: GAAAABgAAAAYAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAYAAAAGAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABgAAAAYAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAYAAAAGAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABgAAAAYAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAYAAAAGAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABgAAAAYAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAYAAAAGAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAGAAAABgAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABgAAAAYAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAYAAAAGAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAB4AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: HgAAAB4AAAAeAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAACQAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "2,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAfAAAAHwAAAB4AAAAfAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB8AAAAfAAAAHgAAAB8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAfAAAAHwAAAB8AAAAaAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAAAAAAAAAAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHwAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAHgAAAB8AAAAfAAAAGgAAAB4AAAAaAAAAGgAAABoAAAAaAAAAHgAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHgAAAB8AAAAaAAAAHwAAAB8AAAAfAAAAGgAAAB4AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAAAAAAHwAAAB4AAAAYAAAAGAAAABgAAAAYAAAAHwAAABoAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAfAAAAAAAAAB8AAAAeAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAHwAAAAAAAAAfAAAAHgAAABgAAAAYAAAAGAAAABgAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAeAAAAGgAAAB8AAAAAAAAAHwAAAB4AAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAfAAAAHgAAABoAAAAfAAAAAAAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAaAAAAHwAAAAAAAAAAAAAAHwAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAACUAAAAlAAAAJQAAACUAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAlAAAAJQAAACQAAAAlAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAACUAAAAlAAAAJAAAACUAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAlAAAAJQAAACUAAAAgAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAAAAAAAAAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJQAAAAAAAAAAAAAAJAAAACQAAAAkAAAAJAAAACUAAAAlAAAAIAAAACQAAAAgAAAAIAAAACAAAAAgAAAAJAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJAAAACUAAAAgAAAAJQAAACUAAAAlAAAAIAAAACQAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAAAAAAJQAAACQAAAAeAAAAHgAAAB4AAAAeAAAAJQAAACAAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAlAAAAAAAAACUAAAAkAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAJQAAAAAAAAAlAAAAJAAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAkAAAAIAAAACUAAAAAAAAAJQAAACQAAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJAAAACAAAAAlAAAAAAAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAgAAAAJQAAAAAAAAAAAAAAJQAAAA==
- ind: "-1,-2"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAaAAAAGgAAABoAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAfAAAAGgAAABoAAAAaAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAASAAAAEgAAABIAAAAfAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAEgAAABIAAAASAAAAHwAAAB4AAAAfAAAAGgAAABoAAAAaAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHgAAABIAAAASAAAAEgAAAB8AAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAHwAAAB4AAAAbAAAAGwAAAB8AAAAfAAAAHgAAAB8AAAAaAAAAGgAAABoAAAAfAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAeAAAAGwAAABsAAAAbAAAAHwAAAB4AAAAfAAAAGgAAABoAAAAaAAAAHwAAABsAAAAbAAAAGwAAABsAAAAfAAAAHgAAABsAAAAbAAAAGwAAAB8AAAAaAAAAHwAAAB8AAAAbAAAAHwAAAB8AAAAfAAAAHwAAABsAAAAfAAAAHwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAbAAAAGwAAABsAAAAbAAAAGwAAAB8AAAAfAAAAHwAAABsAAAAfAAAAHwAAAB8AAAAbAAAAGwAAABsAAAAfAAAAGwAAABsAAAAbAAAAGwAAABsAAAAfAAAAGwAAABsAAAAbAAAAGwAAABsAAAAbAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAABsAAAAbAAAAGwAAABsAAAAbAAAAGwAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAlAAAAJQAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAgAAAAIAAAACAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAlAAAAIAAAACAAAAAgAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAYAAAAGAAAABgAAAAlAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAGAAAABgAAAAYAAAAJQAAACQAAAAlAAAAIAAAACAAAAAgAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJAAAABgAAAAYAAAAGAAAACUAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAhAAAAIQAAACEAAAAhAAAAJQAAACQAAAAhAAAAIQAAACUAAAAlAAAAJAAAACUAAAAgAAAAIAAAACAAAAAlAAAAIQAAACEAAAAhAAAAIQAAACUAAAAkAAAAIQAAACEAAAAhAAAAJQAAACQAAAAlAAAAIAAAACAAAAAgAAAAJQAAACEAAAAhAAAAIQAAACEAAAAlAAAAJAAAACEAAAAhAAAAIQAAACUAAAAgAAAAJQAAACUAAAAhAAAAJQAAACUAAAAlAAAAJQAAACEAAAAlAAAAJQAAACUAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAACUAAAAhAAAAIQAAACEAAAAhAAAAIQAAACUAAAAlAAAAJQAAACEAAAAlAAAAJQAAACUAAAAhAAAAIQAAACEAAAAlAAAAIQAAACEAAAAhAAAAIQAAACEAAAAlAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACEAAAAhAAAAIQAAACEAAAAhAAAAIQAAAA==
- ind: "-2,-2"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABIAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAASAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAEgAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAbAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGwAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAbAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGwAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABsAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGgAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAABgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAYAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAGAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAhAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAIQAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACEAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAhAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAIQAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACEAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAIAAAAA==
- ind: "-2,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAaAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAeAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHgAAABoAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB4AAAAaAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAGgAAAB8AAAAaAAAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAAB4AAAAaAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAaAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAaAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAcAAAAHAAAABwAAAAcAAAAHAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAfAAAAHAAAABwAAAAcAAAAHAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAeAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAAB8AAAAcAAAAHAAAABwAAAAcAAAAHAAAABgAAAAYAAAAGAAAABgAAAAfAAAADwAAAA8AAAAPAAAADwAAABgAAAAfAAAAHAAAABwAAAAcAAAAHAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAHwAAAA8AAAAYAAAAGAAAABgAAAAYAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAPAAAADwAAAA8AAAAYAAAAGAAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAgAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAkAAAAJAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJAAAACAAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACQAAAAgAAAAJQAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAIAAAACUAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACQAAAAgAAAAIAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAgAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAgAAAAIAAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAiAAAAIgAAACIAAAAiAAAAIgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAlAAAAIgAAACIAAAAiAAAAIgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAkAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAACUAAAAiAAAAIgAAACIAAAAiAAAAIgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAEgAAABIAAAASAAAAEgAAAB4AAAAlAAAAIgAAACIAAAAiAAAAIgAAACUAAAAeAAAAHgAAAB4AAAAeAAAAJQAAABIAAAAeAAAAHgAAAB4AAAAeAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAACUAAAASAAAAEgAAABIAAAAeAAAAHgAAAA==
- ind: "-3,0"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB8AAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAaAAAAGgAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAHwAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAGgAAABoAAAAYAAAAGAAAABgAAAAYAAAAGAAAABoAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAfAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAkAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJQAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAACUAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAAAAJQAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAeAAAAHgAAAB4AAAAeAAAAHgAAACAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAlAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAAA==
- ind: "-3,-1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB4AAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAeAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHgAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABgAAAAYAAAAGAAAABoAAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAYAAAAGAAAABgAAAAfAAAAHgAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAHwAAABgAAAAYAAAAHwAAAB4AAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAGgAAABoAAAAYAAAAGAAAAB8AAAAeAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAB8AAAAfAAAAGAAAABgAAAAfAAAAHgAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGAAAABgAAAAYAAAAHwAAAB4AAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAABgAAAAYAAAAGAAAAB8AAAAeAAAAGgAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAkAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAB4AAAAeAAAAHgAAACAAAAAkAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAeAAAAHgAAAB4AAAAlAAAAJAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAAAAJQAAAB4AAAAeAAAAJQAAACQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAeAAAAHgAAACUAAAAkAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAACUAAAAlAAAAHgAAAB4AAAAlAAAAJAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAHgAAAB4AAAAeAAAAJQAAACQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAB4AAAAeAAAAHgAAACUAAAAkAAAAIAAAAA==
- ind: "3,-1"
tiles: AAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoAAAAaAAAAHwAAAB8AAAAeAAAAHwAAAB8AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAaAAAAGgAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAGgAAABoAAAAfAAAAHwAAAB4AAAAfAAAAHwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoAAAAaAAAAHwAAABoAAAAfAAAAHwAAAB8AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGgAAAB8AAAAfAAAAHwAAAB4AAAAeAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAHgAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAAaAAAAGgAAAB4AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAGgAAABoAAAAeAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoAAAAaAAAAHgAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAB4AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAGgAAAB8AAAAfAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAABgAAAAYAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: AAAAACMAAAAAAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAJQAAACUAAAAkAAAAJQAAACUAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAlAAAAJQAAACQAAAAlAAAAJQAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAJQAAACAAAAAlAAAAJQAAACUAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUAAAAlAAAAJQAAACUAAAAlAAAAJQAAACUAAAAlAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAIAAAACUAAAAlAAAAJQAAACQAAAAkAAAAJAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAACQAAAAkAAAAJAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAACQAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAkAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAgAAAAJAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAkAAAAJAAAACQAAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAIAAAACUAAAAlAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "2,-2"
tiles: HQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAHQAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAHQAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAHQAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAA==
tiles: IwAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAIwAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAAAAAAAAjAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAIwAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAIwAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAAA==
- ind: "3,-2"
tiles: HQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAHQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: IwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "3,-3"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "2,-3"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAA==
- ind: "-3,1"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAHgAAAB0AAAAeAAAAHQAAAB4AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB4AAAAdAAAAHgAAAB0AAAAeAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAeAAAAHQAAAB4AAAAdAAAAHgAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB4AAAAdAAAAHgAAAB0AAAAeAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAeAAAAHQAAAB4AAAAdAAAAHgAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAHgAAAB0AAAAeAAAAHQAAAB4AAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAJAAAACMAAAAkAAAAIwAAACQAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAjAAAAJAAAACMAAAAkAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAkAAAAIwAAACQAAAAjAAAAJAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAjAAAAJAAAACMAAAAkAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAkAAAAIwAAACQAAAAjAAAAJAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAJAAAACMAAAAkAAAAIwAAACQAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "0,-3"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAkAAAAJAAAAA==
- ind: "1,-3"
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAHQAAAB0AAAAdAAAAAAAAAAAAAAAAAAAAHQAAAB0AAAAdAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAHQAAAB0AAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAB0AAAAdAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAHQAAAB4AAAAdAAAAHgAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAB4AAAAdAAAAHgAAAB0AAAAeAAAAHQAAAB4AAAAdAAAAHgAAAB0AAAAeAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAeAAAAHQAAAB4AAAAAAAAAHgAAAB0AAAAeAAAAAAAAAB4AAAAdAAAAHgAAAAAAAAAAAAAAHgAAAB4AAAAAAAAAHgAAAB0AAAAeAAAAAAAAAB4AAAAdAAAAHgAAAAAAAAAeAAAAHQAAAB4AAAAAAAAAAAAAAA==
tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAIwAAACMAAAAjAAAAAAAAAAAAAAAAAAAAIwAAACMAAAAjAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAIwAAACMAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAACMAAAAjAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAIwAAACQAAAAjAAAAJAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACQAAAAjAAAAJAAAACMAAAAkAAAAIwAAACQAAAAjAAAAJAAAACMAAAAkAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAkAAAAIwAAACQAAAAAAAAAJAAAACMAAAAkAAAAAAAAACQAAAAjAAAAJAAAAAAAAAAAAAAAJAAAACQAAAAAAAAAJAAAACMAAAAkAAAAAAAAACQAAAAjAAAAJAAAAAAAAAAkAAAAIwAAACQAAAAAAAAAAAAAAA==
- ind: "2,1"
tiles: HgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAABIAAAASAAAAEgAAAB4AAAAeAAAAEgAAABIAAAASAAAAHgAAABIAAAASAAAAEgAAAB4AAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAAeAAAAHgAAABIAAAASAAAAEgAAAB4AAAASAAAAEgAAABIAAAAeAAAAEgAAABIAAAASAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: JAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAABgAAAAYAAAAGAAAACQAAAAkAAAAGAAAABgAAAAYAAAAJAAAABgAAAAYAAAAGAAAACQAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAkAAAAJAAAABgAAAAYAAAAGAAAACQAAAAYAAAAGAAAABgAAAAkAAAAGAAAABgAAAAYAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
- ind: "3,1"
tiles: HgAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAB4AAAASAAAAEgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAeAAAAEgAAABIAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAB4AAAAeAAAAHgAAABIAAAASAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
tiles: JAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAkAAAAJAAAACQAAAAYAAAAGAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAJAAAACQAAAAkAAAAGAAAABgAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAACQAAAAkAAAAJAAAABgAAAAYAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAJAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
entities:
- uid: 0
type: SuspicionHitscanSpawner
@ -36061,6 +36067,12 @@ entities:
type: Sprite
- canCollide: False
type: Physics
- uid: 3246
type: Rack
components:
- pos: 6.5,9.5
parent: 853
type: Transform
- uid: 3247
type: CableApcExtension
components:
@ -36138,6 +36150,12 @@ entities:
type: Sprite
- canCollide: False
type: Physics
- uid: 3254
type: Rack
components:
- pos: 10.5,9.5
parent: 853
type: Transform
- uid: 3255
type: CableApcExtension
components:
@ -36698,6 +36716,14 @@ entities:
type: Sprite
- canCollide: False
type: Physics
- uid: 3308
type: ClothingOuterHardsuitEVA
components:
- pos: 10.495889,9.590041
parent: 853
type: Transform
- canCollide: False
type: Physics
- uid: 3309
type: CableHV
components:
@ -37470,6 +37496,14 @@ entities:
type: Sprite
- canCollide: False
type: Physics
- uid: 3394
type: ClothingHeadHelmetEVA
components:
- pos: 10.558389,9.418166
parent: 853
type: Transform
- canCollide: False
type: Physics
- uid: 3395
type: CableApcExtension
components:
@ -37516,6 +37550,14 @@ entities:
type: Transform
- canCollide: False
type: Physics
- uid: 3400
type: ClothingOuterHardsuitEVA
components:
- pos: 6.4958887,9.590041
parent: 853
type: Transform
- canCollide: False
type: Physics
- uid: 3401
type: CableHV
components:
@ -37908,6 +37950,14 @@ entities:
type: Transform
- canCollide: False
type: Physics
- uid: 3443
type: ClothingHeadHelmetEVA
components:
- pos: 6.5740137,9.449416
parent: 853
type: Transform
- canCollide: False
type: Physics
- uid: 3444
type: CableHV
components:
@ -72507,4 +72557,17 @@ entities:
- pos: 14.5,-0.5
parent: 853
type: Transform
- uid: 7116
type: SalvageMagnet
components:
- rot: 3.141592697301183 rad
pos: 23.5,11.5
parent: 853
type: Transform
- uid: 7117
type: CrateSalvageEquipment
components:
- pos: 23.5,13.5
parent: 853
type: Transform
...

View file

@ -0,0 +1,82 @@
- type: entity
id: CrateSalvageEquipment
name: "salvage equipment crate"
description: For the daring.
suffix: Filled
parent: CrateGenericSteel
components:
- type: StorageFill
contents:
- id: ClothingHeadHelmetHardsuitSalvage
- id: ClothingOuterHardsuitSalvage
- id: ClothingMaskBreath
- id: OxygenTankFilled
- id: FireExtinguisher
- id: ClothingShoesBootsMag
- id: Pickaxe
# bare-minimum for cutting apart walls
# not giving them wirecutters/etc. for balance reasons
- id: Welder
- id: Wrench
- id: Screwdriver
- id: Crowbar
- type: entity
id: CrateSalvageAssortedGoodies
suffix: Filled, Salvage Random
abstract: true # You should use SalvageMaterialCrateSpawner instead
parent: CrateGenericSteel
components:
- type: StorageFill
contents:
# Normal (10%)
- id: ToolboxEmergencyFilled
prob: 0.1
- id: ClothingMaskBreath
prob: 0.1
- id: OxygenTankFilled
prob: 0.1
- id: SheetPlasma
prob: 0.1
# - Service
- id: CrayonBox
prob: 0.1
# - Medical
- id: MedkitFilled
prob: 0.1
- id: BoxSyringe
prob: 0.1
- id: BoxBeaker
prob: 0.1
# - Scaf
- id: ClothingHeadHelmetScaf
prob: 0.1
- id: ClothingOuterArmorScaf
prob: 0.1
# - Heh
- id: SalvageHumanCorpse
prob: 0.1
# Interesting (1%)
# - Ammo
- id: BoxMagnum
prob: 0.01
# - #shinies
- id: PowerCellLargeHyper
prob: 0.01
# Just no (0.1%)
# - Working guns
- id: RevolverDeckard
prob: 0.001
- id: RevolverInspector
prob: 0.001
# - Skub
- id: Skub
prob: 0.001
# TRAITOR EQUIPMENT (0.01%)
- id: Telecrystal10
prob: 0.0001
- id: RevolverPredator
prob: 0.0001
- id: RevolverMateba
prob: 0.0001

View file

@ -138,6 +138,8 @@
prob: 1
- id: ClothingOuterHardsuitMedical
prob: 1
- id: Hypospray
prob: 1
- type: entity
id: LockerResearchDirectorFilled

View file

@ -0,0 +1,101 @@
# ---- SPECIFICS ----
- type: entity
id: PaperWrittenSalvageLoreMedium1PlasmaTrap
abstract: true # keep this from spamming spawn sheet
suffix: "Salvage: Lore: Medium 1: Plasma Trap"
parent: PaperWritten
components:
- type: Paper
content: |
Heheheheh, no way in hell they're going to get at our stash NOW, is there?
I rigged the area where our stuff's at to be a toasty thousand K.
You know how to drain it when we need it out.
- J.
# ---- GAMING ----
- type: entity
name: Salvage Lore Paper Gaming Spawner
id: SalvageLorePaperGamingSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- texture: Objects/Misc/bureaucracy.rsi/paper_words.png
- type: RandomSpawner
prototypes:
- PaperWrittenSalvageLoreGaming1
- PaperWrittenSalvageLoreGaming2
- PaperWrittenSalvageLoreGaming3
- PaperWrittenSalvageLoreGaming4
offset: 0.1
- type: entity
id: PaperWrittenSalvageLoreGaming1
abstract: true # keep this from spamming spawn sheet
suffix: "Salvage: Lore: Gaming 1"
parent: PaperWritten
components:
- type: Paper
content: |
Can't stay for the game.
Engineering want me to keep a close eye on the singularity SMESes.
Leaving this so you know what's up.
Sorry.
- Alexander
- type: entity
id: PaperWrittenSalvageLoreGaming2
abstract: true # keep this from spamming spawn sheet
suffix: "Salvage: Lore: Gaming 2"
parent: PaperWritten
components:
- type: Paper
content: |
Johny Clowe
Class: Druid
Alignment: Neutral Good
Str: 1,294,139
Dex: 4,102,103
Con: 9,522,913
Int: 528,491
Wis: 1
Cha: 1
Where's the age?
Why are those ability scores so ridiculous?
What even are you trying to do here, Leah? - Your Friendly DM
- type: entity
id: PaperWrittenSalvageLoreGaming3
abstract: true # keep this from spamming spawn sheet
suffix: "Salvage: Lore: Gaming 3"
parent: PaperWritten
components:
- type: Paper
content: |
THE GIANT SPACE FLY FROM SPACE
Session 1: They should have just learned what's going on with the world and the Giant Space Fly.
Session 2: They should know to ask the Wizard's Court about seismic distortions.
Session 3: On their way to underground lair.
Session 4: Just ran into the Architect Of Flies.
Oh dear goodness they just started randomly killing everybody
- type: entity
id: PaperWrittenSalvageLoreGaming4
abstract: true # keep this from spamming spawn sheet
suffix: "Salvage: Lore: Gaming 4"
parent: PaperWritten
components:
- type: Paper
content: |
Won't be able to come to the meet, chemist blew up the hospital again.
Fifth time this shift.
It's amazing.
But not in a good way.
Cheers, - Arielle
# ----

View file

@ -21,7 +21,7 @@
- type: Clothing
sprite: Clothing/Head/Helmets/cosmonaut.rsi
- type: IngestionBlocker
- type: entity
parent: ClothingHeadBase
id: ClothingHeadHelmetCult
@ -34,6 +34,18 @@
sprite: Clothing/Head/Helmets/cult.rsi
- type: IngestionBlocker
- type: entity
parent: ClothingHeadBase
id: ClothingHeadHelmetEVA
name: EVA helmet
description: A basic helmet designed for extravehicular activies.
components:
- type: Sprite
sprite: Clothing/Head/Helmets/eva.rsi
- type: Clothing
sprite: Clothing/Head/Helmets/eva.rsi
- type: IngestionBlocker
- type: entity
parent: ClothingHeadBase
id: ClothingHeadHelmetHelmet

View file

@ -107,7 +107,7 @@
Piercing: 0.95
Heat: 0.8
Radiation: 0.05 #combines the engi and atmos bonuses
#The voidsuit and eva suit are not techically 'hardsuits' but this seems to be the place for all EVA-capable outer clothing. This may be worth reevaluating when we have a lot more items.
- type: entity
parent: ClothingOuterHardsuitBase
id: IHSVoidsuit
@ -122,6 +122,20 @@
highPressureMultiplier: 1
lowPressureMultiplier: 100
- type: entity
parent: ClothingOuterHardsuitBase
id: ClothingOuterHardsuitEVA
name: EVA suit
description: A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies.
components:
- type: Sprite
sprite: Clothing/OuterClothing/Hardsuits/eva.rsi
- type: Clothing
sprite: Clothing/OuterClothing/Hardsuits/eva.rsi
- type: PressureProtection
highPressureMultiplier: 1
lowPressureMultiplier: 100
- type: entity
parent: ClothingOuterHardsuitBase
id: ClothingOuterHardsuitMedical

View file

@ -0,0 +1,67 @@
- type: entity
name: Salvage Material Crate Spawner
id: SalvageMaterialCrateSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- texture: Structures/Storage/Crates/generic.rsi/crate_icon.png
- type: RandomSpawner
rarePrototypes:
- SalvageHumanCorpse
- CrateMaterialPlasteel
- CrateMaterialWood
- CrateMaterialPlastic
- CrateSalvageEquipment
- CrateMaterialSteel
- CrateMaterialGlass
rareChance: 0.4
prototypes:
- CrateSalvageAssortedGoodies
chance: 0.9
offset: 0.0
- type: entity
name: Salvage Canister Spawner
id: SalvageCanisterSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- texture: Structures/Storage/canister.rsi/blue.png
- type: RandomSpawner
rarePrototypes:
- PlasmaCanister
rareChance: 0.03
prototypes:
- AirCanister
- NitrogenCanister
- OxygenCanister
- CarbonDioxideCanister
- WaterVaporCanister
chance: 0.9
offset: 0.0
- type: entity
name: Salvage Mob Spawner
id: SalvageMobSpawner
parent: MarkerBase
components:
- type: Sprite
layers:
- state: red
- texture: Mobs/Aliens/Carps/space.rsi/icon.png
- type: RandomSpawner
prototypes:
- MobCarp
- MobCarp
- MobCarp
- MobCarp
- MobCarp
- PlushieCarp
- DehydratedSpaceCarp
chance: 0.25
offset: 0.2

View file

@ -66,3 +66,20 @@
- type: AtmosFixMarker
mode: 4
- type: entity
name: Atmos Fix Instant Plasmafire Marker
id: AtmosFixInstantPlasmaFireMarker
description: "INSTANT PLASMAFIRE"
parent: MarkerBase
components:
- type: Sprite
layers:
- sprite: Markers/atmos.rsi # {
state: base-hot
shader: unshaded
- sprite: Markers/atmos.rsi
shader: unshaded # }
state: fire
- type: AtmosFixMarker
mode: 5

View file

@ -432,7 +432,9 @@
reagents:
- ReagentId: Nutriment
Quantity: 5
- type: MouseAccent
- type: ReplacementAccent
accent: mouse
- type: entity
parent: MobMouse

View file

@ -28,3 +28,16 @@
- Thirst
- Idle
- Spirate
- type: entity
parent: MobHumanBase
suffix: Dead
id: SalvageHumanCorpse
name: unidentified human
description: We barely knew ye.
components:
- type: Damageable
damage:
types:
Blunt: 200

View file

@ -550,3 +550,21 @@
size: 12
sprite: Objects/Fun/toys.rsi
HeldPrefix: singularitytoy
- type: entity
parent: BaseItem
id: PonderingOrb
name: pondering orb
description: Ponderous, man... Really ponderous.
components:
- type: Sprite
sprite: Objects/Fun/toys.rsi
state: orb
shader: unshaded
- type: PointLight
radius: 2
color: "#00CCFF"
- type: Item
size: 24
sprite: Objects/Fun/toys.rsi
HeldPrefix: orb

View file

@ -0,0 +1,25 @@
- type: entity
id: SalvageMagnet
parent: BaseMachine
name: salvage magnet
description: "Pulls in salvage."
components:
- type: Sprite
layers:
- sprite: Structures/Machines/salvage.rsi
state: salvage-magnet
# Ideally, there'd be lights indicating power usage and a big red lamp indicating loss
- type: Rotatable
- type: SalvageMagnet
offset: 0, -32
# For Knightship
- type: entity
id: SalvageLocator
parent: SalvageMagnet
name: salvage locator
description: "Locates salvage."
components:
- type: SalvageMagnet
offset: 0, -12

View file

@ -23,6 +23,7 @@
- type: Occluder
sizeX: 32
sizeY: 32
- type: Airtight
- type: Appearance
visuals:
- type: AsteroidRockVisualizer

View file

@ -0,0 +1,33 @@
# ALL SALVAGE MAPS SHOULD BE SETUP SUCH THAT TILE REF -1,-1 IS THEIR OFFICIAL CENTRE,
# AND FOR EASE OF UNDERSTANDING, USE - pos: 0.5, 0.5 FOR SAVED POSITION.
# "Small"-class maps - Max size square: 7x7, indicated size: 3.5
- type: salvageMap
id: small1
name: "Small / Engineering Storage 1"
mapPath: Maps/Salvage/small-1.yml
size: 3.5
- type: salvageMap
id: small2
name: "Small / Gaming Nook 1"
mapPath: Maps/Salvage/small-2.yml
size: 3.5
# Small - Asteroids
- type: salvageMap
id: smallA1
name: "Small / Asteroid 1 Plasmafire"
mapPath: Maps/Salvage/small-a-1.yml
size: 3.5
# "Medium"-class maps - Max size square: 15x15, indicated size: 7.5
- type: salvageMap
id: medium1
name: "Medium / Plasma-Trapped Cache 1"
mapPath: Maps/Salvage/medium-1.yml
size: 7.5

View file

@ -40,3 +40,15 @@
- StayAliveCondition
conditions:
- !type:DieCondition {}
- type: objective
id: CMOHyposprayStealObjective
issuer: syndicate
requirements:
- !type:TraitorRequirement {}
- !type:IncompatibleConditionsRequirement
conditions:
- DieCondition
conditions:
- !type:StealCondition
prototype: Hypospray

View file

@ -9,6 +9,7 @@
access:
- Cargo
- Maintenance
- External
- type: startingGear
id: CargoTechGear

View file

@ -10,6 +10,7 @@
- Cargo
# - Quartermaster
- Maintenance
- External
- type: startingGear
id: QuartermasterGear

View file

@ -15,3 +15,11 @@
- Woof!
- Arf.
- Grrr.
- type: accent
id: mouse
words:
- Squeak!
- Piep!
- Chuu!
- Eeee!

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-HELMET",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a. Further modifications and derivate works (inhand-left and inhand-right) under same license.",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-OUTERCLOTHING",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

View file

@ -0,0 +1,14 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Space Wizards Federation",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "mono"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

View file

@ -10,6 +10,9 @@
{
"name": "base"
},
{
"name": "base-hot"
},
{
"name": "vacuum"
},
@ -24,6 +27,9 @@
},
{
"name": "watervapour"
},
{
"name": "fire"
}
]
}

View file

@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432",
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432, orb, orb-inhand-left and orb-inhand-right created by Pancake",
"size": {
"x": 32,
"y": 32
@ -268,17 +268,36 @@
{
"name": "singularitytoy",
"delays": [
[
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
]
]
[
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1,
0.1
]
]
},
{
"name": "orb",
"delays": [
[
0.2,
0.2,
0.2,
0.2
]
]
},
{
"name": "orb-inhand-left",
"directions": 4
},
{
"name": "orb-inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

View file

@ -0,0 +1,17 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Edit by 20kdc using small parts of autolathe from https://github.com/tgstation/tgstation/blob/acb091f9744e9ab7d5a27fb32dd0c03bd019f58c/icons/obj/stationobjs.dmi (may be an earlier version) and tcboss from https://github.com/tgstation/tgstation/blob/e32357e6b0ec0f0a1821d2773f0d1e1d6ce7d494/icons/obj/computer.dmi (may be an earlier version)",
"size": {
"x": 32,
"y": 64
},
"states": [
{
"name": "salvage-magnet",
"directions": 4,
"commentary": "So presumably the lights would represent the power usage of the magnet, when that's in, and the big red lamp would mean something's being lost."
}
]
}

Some files were not shown because too many files have changed in this diff Show more