diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml b/Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml new file mode 100644 index 0000000000..50268eb9a3 --- /dev/null +++ b/Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml @@ -0,0 +1,22 @@ + + + + + + diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml.cs b/Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml.cs new file mode 100644 index 0000000000..9df5bee7a0 --- /dev/null +++ b/Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml.cs @@ -0,0 +1,46 @@ +using Robust.Client.AutoGenerated; +using Robust.Client.GameObjects; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Client._CP14.TravelingStoreShip; + +[GenerateTypedNameReferences] +public sealed partial class CP14PriceControl : Control +{ + [Dependency] private readonly IEntityManager _entity = default!; + [Dependency] private readonly IPrototypeManager _prototype = default!; + + private readonly SpriteSystem _sprite; + + public CP14PriceControl(int price) + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + _sprite = _entity.System(); + + var rsiPath = new ResPath("_CP14/Interface/Misc/coins.rsi"); + + var total = price; + + var gp = total / 100; + total %= 100; + + var sp = total / 10; + total %= 10; + + var cp = total; + + CopperView.Texture = _sprite.Frame0(new SpriteSpecifier.Rsi(rsiPath, "c")); + CopperText.Text = cp.ToString(); + + SilverView.Texture = _sprite.Frame0(new SpriteSpecifier.Rsi(rsiPath, "s")); + SilverText.Text = sp.ToString(); + + GoldView.Texture = _sprite.Frame0(new SpriteSpecifier.Rsi(rsiPath, "g")); + GoldText.Text = gp.ToString(); + } +} diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14StoreBoundUserInterface.cs b/Content.Client/_CP14/TravelingStoreShip/CP14StoreBoundUserInterface.cs new file mode 100644 index 0000000000..6725d0cc82 --- /dev/null +++ b/Content.Client/_CP14/TravelingStoreShip/CP14StoreBoundUserInterface.cs @@ -0,0 +1,34 @@ +using Content.Shared._CP14.TravelingStoreShip; +using JetBrains.Annotations; +using Robust.Client.UserInterface; + +namespace Content.Client._CP14.TravelingStoreShip; + +public sealed class CP14StoreBoundUserInterface : BoundUserInterface +{ + private CP14StoreWindow? _window; + + public CP14StoreBoundUserInterface(EntityUid owner, [NotNull] Enum uiKey) : base(owner, uiKey) + { + } + + protected override void Open() + { + base.Open(); + + _window = this.CreateWindow(); + } + + + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + + switch (state) + { + case CP14StoreUiState storeState: + _window?.UpdateUI(storeState); + break; + } + } +} diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml b/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml new file mode 100644 index 0000000000..12c8ac7ceb --- /dev/null +++ b/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml @@ -0,0 +1,15 @@ + + + diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml.cs b/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml.cs new file mode 100644 index 0000000000..9dd352e2cb --- /dev/null +++ b/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml.cs @@ -0,0 +1,44 @@ +using Content.Shared._CP14.TravelingStoreShip; +using Robust.Client.AutoGenerated; +using Robust.Client.GameObjects; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Utility; + +namespace Content.Client._CP14.TravelingStoreShip; + +[GenerateTypedNameReferences] +public sealed partial class CP14StoreProductControl : Control +{ + [Dependency] private readonly IEntityManager _entity = default!; + + private readonly SpriteSystem _sprite; + + public CP14StoreProductControl(CP14StoreUiProductEntry entry) + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + _sprite = _entity.System(); + + UpdateName(entry.Name); + UpdateView(entry.Icon); + UpdatePrice(entry.Price); + } + + private void UpdatePrice(int price) + { + PriceHolder.RemoveAllChildren(); + PriceHolder.AddChild(new CP14PriceControl(price)); + } + + private void UpdateName(string name) + { + ProductName.Text = $"[bold]{name}[/bold]"; + } + + private void UpdateView(SpriteSpecifier spriteSpecifier) + { + View.Texture = _sprite.Frame0(spriteSpecifier); + } +} diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml b/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml new file mode 100644 index 0000000000..e19bf9f787 --- /dev/null +++ b/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml.cs b/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml.cs new file mode 100644 index 0000000000..00f7080119 --- /dev/null +++ b/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml.cs @@ -0,0 +1,79 @@ +using Content.Shared._CP14.TravelingStoreShip; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface.CustomControls; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Timing; + +namespace Content.Client._CP14.TravelingStoreShip; + +[GenerateTypedNameReferences] +public sealed partial class CP14StoreWindow : DefaultWindow +{ + [Dependency] private readonly IGameTiming _timing = default!; + + private TimeSpan? _nextTravelTime; + private bool _onStation; + + public CP14StoreWindow() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + Tabs.SetTabTitle(0, Loc.GetString("cp14-store-ui-tab-buy")); + Tabs.SetTabTitle(1, Loc.GetString("cp14-store-ui-tab-sell")); + } + + public void UpdateUI(CP14StoreUiState state) + { + UpdateProducts(state); + + _nextTravelTime = state.NextTravelTime; + _onStation = state.OnStation; + } + + protected override void FrameUpdate(FrameEventArgs args) + { + base.FrameUpdate(args); + + //Updating time + if (_nextTravelTime is not null) + { + var time = _nextTravelTime.Value - _timing.CurTime; + + TravelTimeLabel.Text = + $"{Loc.GetString(_onStation ? "cp14-store-ui-next-travel-out" : "cp14-store-ui-next-travel-in")} {Math.Max(time.Minutes, 0):00}:{Math.Max(time.Seconds, 0):00}"; + } + } + + private void UpdateProducts(CP14StoreUiState state) + { + BuyProductsContainer.RemoveAllChildren(); + SellProductsContainer.RemoveAllChildren(); + + foreach (var product in state.ProductsBuy) + { + var control = new CP14StoreProductControl(product); + control.ProductButton.OnPressed += _ => + { + SelectProduct(product); + }; + BuyProductsContainer.AddChild(control); + } + + foreach (var product in state.ProductsSell) + { + var control = new CP14StoreProductControl(product); + control.ProductButton.OnPressed += _ => + { + SelectProduct(product); + }; + SellProductsContainer.AddChild(control); + } + } + + private void SelectProduct(CP14StoreUiProductEntry? entry) + { + SelectedName.Text = entry is null ? string.Empty : $"[bold]{entry.Value.Name}[/bold]"; + SelectedDesc.Text = entry is null ? string.Empty : entry.Value.Desc; + } +} diff --git a/Content.Server/_CP14/Currency/CP14CurrencySystem.cs b/Content.Server/_CP14/Currency/CP14CurrencySystem.cs new file mode 100644 index 0000000000..78b0d56174 --- /dev/null +++ b/Content.Server/_CP14/Currency/CP14CurrencySystem.cs @@ -0,0 +1,216 @@ +using Content.Server.Popups; +using Content.Server.Stack; +using Content.Shared._CP14.Currency; +using Content.Shared.Examine; +using Content.Shared.Interaction; +using Content.Shared.Stacks; +using Content.Shared.Verbs; +using Content.Shared.Whitelist; +using Robust.Server.Audio; +using Robust.Shared.Audio; +using Robust.Shared.Map; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Server._CP14.Currency; + +public sealed partial class CP14CurrencySystem : CP14SharedCurrencySystem +{ + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; + [Dependency] private readonly StackSystem _stack = default!; + [Dependency] private readonly AudioSystem _audio = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnExamine); + SubscribeLocalEvent(OnConverterExamine); + + SubscribeLocalEvent(OnInteractUsing); + SubscribeLocalEvent>(OnGetVerb); + } + + private void OnExamine(Entity currency, ref ExaminedEvent args) + { + var total = GetTotalCurrency(currency, currency.Comp); + + var push = Loc.GetString("cp14-currency-examine-title"); + push += GetCurrencyPrettyString(total); + args.PushMarkup(push); + } + + private void OnConverterExamine(Entity ent, ref ExaminedEvent args) + { + var push = $"{Loc.GetString("cp14-currency-converter-examine-title")} {GetCurrencyPrettyString(ent.Comp.Balance)}"; + args.PushMarkup(push); + } + + private void OnInteractUsing(Entity ent, ref InteractUsingEvent args) + { + if (!TryComp(args.Used, out var currency)) + return; + + if (ent.Comp.Whitelist is not null && !_whitelist.IsValid(ent.Comp.Whitelist, args.Used)) + return; + + var delta = GetTotalCurrency(args.Used); + ent.Comp.Balance += delta; + QueueDel(args.Used); + + _popup.PopupEntity(Loc.GetString("cp14-currency-converter-insert", ("cash", delta)), ent, args.User); + _audio.PlayPvs(ent.Comp.InsertSound, ent, AudioParams.Default.WithMaxDistance(3)); + } + + private void OnGetVerb(Entity ent, ref GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract) + return; + + var transform = Transform(ent); + var coord = transform.Coordinates.Offset(transform.LocalRotation.RotateVec(ent.Comp.SpawnOffset)); + Verb copperVerb = new() + { + Text = Loc.GetString("cp14-currency-converter-get-cp"), + Icon = new SpriteSpecifier.Texture(new ResPath("/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin10.png")), + Category = VerbCategory.CP14CurrencyConvert, + Priority = 1, + CloseMenu = false, + Act = () => + { + if (ent.Comp.Balance < CP.Value) + return; + + ent.Comp.Balance -= CP.Value; + + var newEnt = Spawn(CP.Key, coord); + _stack.TryMergeToContacts(newEnt); + _audio.PlayPvs(ent.Comp.InsertSound, ent, AudioParams.Default.WithMaxDistance(3).WithPitchScale(0.9f)); + }, + }; + args.Verbs.Add(copperVerb); + Verb silverVerb = new() + { + Text = Loc.GetString("cp14-currency-converter-get-sp"), + Icon = new SpriteSpecifier.Texture(new ResPath("/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin10.png")), + Category = VerbCategory.CP14CurrencyConvert, + Priority = 2, + CloseMenu = false, + Act = () => + { + if (ent.Comp.Balance < SP.Value) + return; + + ent.Comp.Balance -= SP.Value; + var newEnt = Spawn(SP.Key, coord); + _stack.TryMergeToContacts(newEnt); + _audio.PlayPvs(ent.Comp.InsertSound, ent, AudioParams.Default.WithMaxDistance(3).WithPitchScale(1.1f)); + }, + }; + args.Verbs.Add(silverVerb); + Verb goldVerb = new() + { + Text = Loc.GetString("cp14-currency-converter-get-gp"), + Icon = new SpriteSpecifier.Texture(new ResPath("/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin10.png")), + Category = VerbCategory.CP14CurrencyConvert, + Priority = 3, + CloseMenu = false, + Act = () => + { + if (ent.Comp.Balance < GP.Value) + return; + + ent.Comp.Balance -= GP.Value; + var newEnt = Spawn(GP.Key, coord); + _stack.TryMergeToContacts(newEnt); + _audio.PlayPvs(ent.Comp.InsertSound, ent, AudioParams.Default.WithMaxDistance(3).WithPitchScale(1.3f)); + }, + }; + args.Verbs.Add(goldVerb); + Verb platinumVerb = new() + { + Text = Loc.GetString("cp14-currency-converter-get-pp"), + Icon = new SpriteSpecifier.Texture(new ResPath("/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin10.png")), + Category = VerbCategory.CP14CurrencyConvert, + Priority = 4, + CloseMenu = false, + Act = () => + { + if (ent.Comp.Balance < PP.Value) + return; + + ent.Comp.Balance -= PP.Value; + var newEnt = Spawn(PP.Key, coord); + _stack.TryMergeToContacts(newEnt); + _audio.PlayPvs(ent.Comp.InsertSound, ent, AudioParams.Default.WithMaxDistance(3).WithPitchScale(1.5f)); + }, + }; + args.Verbs.Add(platinumVerb); + } + + public HashSet GenerateMoney(EntProtoId currencyType, int target, EntityCoordinates coordinates) + { + return GenerateMoney(currencyType, target, coordinates, out _); + } + + public HashSet GenerateMoney(EntProtoId currencyType, int target, EntityCoordinates coordinates, out int remainder) + { + remainder = target; + HashSet spawns = new(); + + if (!_proto.TryIndex(currencyType, out var indexedCurrency)) + return spawns; + + var ent = Spawn(currencyType, coordinates); + if (ProcessEntity(ent, ref remainder, spawns)) + return spawns; + + while (remainder > 0) + { + var newEnt = Spawn(currencyType, coordinates); + if (ProcessEntity(newEnt, ref remainder, spawns)) + break; + } + + return spawns; + } + + private bool ProcessEntity(EntityUid ent, ref int remainder, HashSet spawns) + { + var singleCurrency = GetTotalCurrency(ent); + + if (singleCurrency > remainder) + { + QueueDel(ent); + return true; + } + + spawns.Add(ent); + remainder -= singleCurrency; + + if (TryComp(ent, out var stack)) + { + AdjustStack(ent, stack, singleCurrency, ref remainder); + } + + return false; + } + + private void AdjustStack(EntityUid ent, StackComponent stack, float singleCurrency, ref int remainder) + { + var singleStackCurrency = singleCurrency / stack.Count; + var stackLeftSpace = stack.MaxCountOverride - stack.Count; + + if (stackLeftSpace is not null) + { + var addedStack = MathF.Min((float)stackLeftSpace, MathF.Floor(remainder / singleStackCurrency)); + + if (addedStack > 0) + { + _stack.SetCount(ent, stack.Count + (int)addedStack); + remainder -= (int)(addedStack * singleStackCurrency); + } + } + } +} diff --git a/Content.Server/_CP14/Objectives/Components/CP14CurrencyCollectConditionComponent.cs b/Content.Server/_CP14/Objectives/Components/CP14CurrencyCollectConditionComponent.cs index 3113679ed6..3f1a74524b 100644 --- a/Content.Server/_CP14/Objectives/Components/CP14CurrencyCollectConditionComponent.cs +++ b/Content.Server/_CP14/Objectives/Components/CP14CurrencyCollectConditionComponent.cs @@ -9,12 +9,6 @@ public sealed partial class CP14CurrencyCollectConditionComponent : Component [DataField] public int Currency = 1000; - /// - /// Limits the goal to collecting values from a specific category. - /// - [DataField] - public string? Category; - [DataField(required: true)] public LocId ObjectiveText; diff --git a/Content.Server/_CP14/Objectives/Systems/CP14CurrencyCollectConditionSystem.cs b/Content.Server/_CP14/Objectives/Systems/CP14CurrencyCollectConditionSystem.cs index 3261f7d7d9..0257ec62c6 100644 --- a/Content.Server/_CP14/Objectives/Systems/CP14CurrencyCollectConditionSystem.cs +++ b/Content.Server/_CP14/Objectives/Systems/CP14CurrencyCollectConditionSystem.cs @@ -13,7 +13,7 @@ public sealed class CP14CurrencyCollectConditionSystem : EntitySystem { [Dependency] private readonly MetaDataSystem _metaData = default!; [Dependency] private readonly SharedObjectivesSystem _objectives = default!; - [Dependency] private readonly CP14CurrencySystem _currency = default!; + [Dependency] private readonly CP14SharedCurrencySystem _currency = default!; private EntityQuery _containerQuery; @@ -35,7 +35,7 @@ public sealed class CP14CurrencyCollectConditionSystem : EntitySystem private void OnAfterAssign(Entity condition, ref ObjectiveAfterAssignEvent args) { _metaData.SetEntityName(condition.Owner, Loc.GetString(condition.Comp.ObjectiveText), args.Meta); - _metaData.SetEntityDescription(condition.Owner, Loc.GetString(condition.Comp.ObjectiveDescription, ("coins", _currency.GetPrettyCurrency(condition.Comp.Currency))), args.Meta); + _metaData.SetEntityDescription(condition.Owner, Loc.GetString(condition.Comp.ObjectiveDescription, ("coins", _currency.GetCurrencyPrettyString(condition.Comp.Currency))), args.Meta); _objectives.SetIcon(condition.Owner, condition.Comp.ObjectiveSprite); } @@ -71,7 +71,7 @@ public sealed class CP14CurrencyCollectConditionSystem : EntitySystem foreach (var entity in container.ContainedEntities) { // check if this is the item - count += CheckCurrency(entity, condition); + count += _currency.GetTotalCurrency(entity); // if it is a container check its contents if (_containerQuery.TryGetComponent(entity, out var containerManager)) @@ -88,7 +88,7 @@ public sealed class CP14CurrencyCollectConditionSystem : EntitySystem private void CheckEntity(EntityUid entity, CP14CurrencyCollectConditionComponent condition, ref Stack containerStack, ref int counter) { // check if this is the item - counter += CheckCurrency(entity, condition); + counter += _currency.GetTotalCurrency(entity); //we don't check the inventories of sentient entity if (!TryComp(entity, out _)) @@ -98,16 +98,4 @@ public sealed class CP14CurrencyCollectConditionSystem : EntitySystem containerStack.Push(containerManager); } } - - private int CheckCurrency(EntityUid entity, CP14CurrencyCollectConditionComponent condition) - { - // check if this is the target - if (!TryComp(entity, out var target)) - return 0; - - if (target.Category != condition.Category) - return 0; - - return _currency.GetTotalCurrency(entity); - } } diff --git a/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.Shuttle.cs b/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.Shuttle.cs new file mode 100644 index 0000000000..ca94a5456b --- /dev/null +++ b/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.Shuttle.cs @@ -0,0 +1,87 @@ +using System.Numerics; +using Content.Server.Shuttles.Components; +using Content.Server.Shuttles.Events; +using Content.Shared._CP14.TravelingStoreShip; +using Content.Shared._CP14.TravelingStoreShip.Prototype; +using Robust.Shared.Map; +using Robust.Shared.Random; + +namespace Content.Server._CP14.TravelingStoreShip; + +public sealed partial class CP14CargoSystem +{ + private EntityQuery _blacklistQuery; + private void InitializeShuttle() + { + _blacklistQuery = GetEntityQuery(); + SubscribeLocalEvent(OnFTLCompleted); + } + + private void UpdateShuttle() + { + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var ship)) + { + if (_timing.CurTime < ship.NextTravelTime || ship.NextTravelTime == TimeSpan.Zero) + continue; + + if (Transform(ship.Shuttle).MapUid == Transform(ship.TradePostMap).MapUid) + { + // if landed on trade post + ship.NextTravelTime = _timing.CurTime + ship.StationWaitTime; + SendShuttleToStation((uid, ship)); + } + else + { + // if landed on station + ship.NextTravelTime = _timing.CurTime + ship.TradePostWaitTime; + SendShuttleToTradepost((uid, ship)); + } + } + } + + private void SendShuttleToStation(Entity station, float startupTime = 0f) + { + var targetPoints = new List(); + var targetEnumerator = EntityQueryEnumerator(); //TODO - different method position location + while (targetEnumerator.MoveNext(out var uid, out _, out _)) + { + targetPoints.Add(uid); + } + if (targetPoints.Count == 0) + return; + + var target = _random.Pick(targetPoints); + var targetXform = Transform(target); + + var shuttleComp = Comp(station.Comp.Shuttle); + + _shuttles.FTLToCoordinates(station.Comp.Shuttle, shuttleComp, targetXform.Coordinates, targetXform.LocalRotation, hyperspaceTime: 5f, startupTime: startupTime); + } + + private void SendShuttleToTradepost(Entity station) + { + var shuttleComp = Comp(station.Comp.Shuttle); + + _shuttles.FTLToCoordinates(station.Comp.Shuttle, shuttleComp, new EntityCoordinates(station.Comp.TradePostMap, Vector2.Zero), Angle.Zero, hyperspaceTime: 5f); + } + + private void OnFTLCompleted(Entity ent, ref FTLCompletedEvent args) + { + if (!TryComp(ent.Comp.Station, out var station)) + return; + + if (Transform(ent).MapUid == Transform(station.TradePostMap).MapUid) //Landed on tradepost + { + station.OnStation = false; + + SellingThings((ent.Comp.Station, station)); + UpdateStorePositions((ent.Comp.Station, station)); + } + else //Landed on station + { + station.OnStation = true; + } + UpdateAllStores(); + } +} diff --git a/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.UI.cs b/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.UI.cs new file mode 100644 index 0000000000..74a692869a --- /dev/null +++ b/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.UI.cs @@ -0,0 +1,87 @@ +using System.Text; +using Content.Shared._CP14.TravelingStoreShip; +using Content.Shared.UserInterface; + +namespace Content.Server._CP14.TravelingStoreShip; + +public sealed partial class CP14CargoSystem +{ + public void InitializeStore() + { + SubscribeLocalEvent(OnBeforeUIOpen); + } + + private void TryInitStore(Entity ent) + { + //TODO: There's no support for multiple stations. (settlements). + var stations = _station.GetStations(); + + if (stations.Count == 0) + return; + + if (!TryComp(stations[0], out var station)) + return; + + ent.Comp.Station = new Entity(stations[0], station); + } + + private void OnBeforeUIOpen(Entity ent, ref BeforeActivatableUIOpenEvent args) + { + if (ent.Comp.Station is null) + TryInitStore(ent); + + UpdateUIProducts(ent); + } + + //TODO: redo + private void UpdateAllStores() + { + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var store)) + { + UpdateUIProducts((uid, store)); + } + } + + private void UpdateUIProducts(Entity ent) + { + if (ent.Comp.Station is null) + return; + + var prodBuy = new HashSet(); + var prodSell = new HashSet(); + + foreach (var proto in ent.Comp.Station.Value.Comp.CurrentBuyPositions) + { + if (!_proto.TryIndex(proto.Key, out var indexedProto)) + continue; + + var name = Loc.GetString(indexedProto.Name); + var desc = new StringBuilder(); + desc.Append(Loc.GetString(indexedProto.Desc) + "\n"); + foreach (var service in indexedProto.Services) + { + desc.Append(service.GetDescription(_proto, EntityManager)); + } + + prodBuy.Add(new CP14StoreUiProductEntry(proto.Key.Id, indexedProto.Icon, name, desc.ToString(), proto.Value)); + } + + foreach (var proto in ent.Comp.Station.Value.Comp.CurrentSellPositions) + { + if (!_proto.TryIndex(proto.Key, out var indexedProto)) + continue; + + var name = Loc.GetString(indexedProto.Name); + + var desc = new StringBuilder(); + desc.Append(Loc.GetString(indexedProto.Desc) + "\n"); + desc.Append(indexedProto.Service.GetDescription(_proto, EntityManager)); + + prodSell.Add(new CP14StoreUiProductEntry(proto.Key.Id, indexedProto.Icon, name, desc.ToString(), proto.Value)); + } + + var stationComp = ent.Comp.Station.Value.Comp; + _userInterface.SetUiState(ent.Owner, CP14StoreUiKey.Key, new CP14StoreUiState(prodBuy, prodSell, stationComp.OnStation, stationComp.NextTravelTime)); + } +} diff --git a/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.cs b/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.cs new file mode 100644 index 0000000000..c6c3ac855b --- /dev/null +++ b/Content.Server/_CP14/TravelingStoreShip/CP14CargoSystem.cs @@ -0,0 +1,205 @@ +using Content.Server._CP14.Currency; +using Content.Server.Shuttles.Systems; +using Content.Server.Station.Events; +using Content.Server.Station.Systems; +using Content.Shared._CP14.Currency; +using Content.Shared._CP14.TravelingStoreShip; +using Content.Shared._CP14.TravelingStoreShip.Prototype; +using Content.Shared.Storage.EntitySystems; +using Robust.Server.GameObjects; +using Robust.Shared.Map; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; +using Robust.Shared.Timing; + +namespace Content.Server._CP14.TravelingStoreShip; + +public sealed partial class CP14CargoSystem : CP14SharedCargoSystem +{ + [Dependency] private readonly IMapManager _mapManager = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly MapLoaderSystem _loader = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly ShuttleSystem _shuttles = default!; + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly UserInterfaceSystem _userInterface = default!; + [Dependency] private readonly StationSystem _station = default!; + [Dependency] private readonly EntityLookupSystem _lookup = default!; + [Dependency] private readonly CP14CurrencySystem _currency = default!; + [Dependency] private readonly SharedStorageSystem _storage = default!; + + private EntityQuery _xformQuery; + + private IEnumerable? _buyProto; + private IEnumerable? _sellProto; + + + public override void Initialize() + { + base.Initialize(); + InitializeStore(); + InitializeShuttle(); + + _xformQuery = GetEntityQuery(); + + _buyProto = _proto.EnumeratePrototypes(); + _sellProto = _proto.EnumeratePrototypes(); + + SubscribeLocalEvent(OnProtoReload); + SubscribeLocalEvent(OnPostInit); + } + + private void OnProtoReload(PrototypesReloadedEventArgs ev) + { + _buyProto = _proto.EnumeratePrototypes(); + _sellProto = _proto.EnumeratePrototypes(); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + UpdateShuttle(); + } + + private void OnPostInit(Entity station, ref StationPostInitEvent args) + { + if (!Deleted(station.Comp.Shuttle)) + return; + + var tradepostMap = _mapManager.CreateMap(); + + if (!_loader.TryLoad(tradepostMap, station.Comp.ShuttlePath.ToString(), out var shuttleUids)) + return; + + var shuttle = shuttleUids[0]; + station.Comp.Shuttle = shuttle; + station.Comp.TradePostMap = _mapManager.GetMapEntityId(tradepostMap); + var travelingStoreShipComp = EnsureComp(station.Comp.Shuttle); + travelingStoreShipComp.Station = station; + + station.Comp.NextTravelTime = _timing.CurTime + TimeSpan.FromSeconds(10f); + UpdateStorePositions(station); + } + + private void UpdateStorePositions(Entity station) + { + station.Comp.CurrentBuyPositions.Clear(); + station.Comp.CurrentSellPositions.Clear(); + + if (_buyProto is not null) + { + foreach (var buyPos in _buyProto) + { + station.Comp.CurrentBuyPositions.Add(buyPos, buyPos.Price.Next(_random)); + } + } + if (_sellProto is not null) + { + foreach (var sellPos in _sellProto) + { + station.Comp.CurrentSellPositions.Add(sellPos, sellPos.Price.Next(_random)); + } + } + } + + private void SellingThings(Entity station) + { + var shuttle = station.Comp.Shuttle; + + //Get all entities sent to trading posts + var toSell = new HashSet(); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out _, out var palletXform)) + { + if (palletXform.ParentUid != shuttle || !palletXform.Anchored) + continue; + + var sentEntities = new HashSet(); + + _lookup.GetEntitiesInRange(uid, 1, sentEntities, LookupFlags.Dynamic | LookupFlags.Sundries); + + foreach (var ent in sentEntities) + { + if (toSell.Contains(ent) || !_xformQuery.TryGetComponent(ent, out _)) + continue; + + toSell.Add(ent); + } + } + + var cash = 0; + foreach (var sellPos in station.Comp.CurrentSellPositions) + { + if (!_proto.TryIndex(sellPos.Key, out var indexedPos)) + continue; + + while (indexedPos.Service.TrySell(EntityManager, toSell)) + { + cash += sellPos.Value; + } + } + + var moneyBox = GetMoneyBox(station); + if (moneyBox is not null) + { + var coord = Transform(moneyBox.Value).Coordinates; + + if (cash > 0) + { + var coins = _currency.GenerateMoney(CP14SharedCurrencySystem.PP.Key, cash, coord, out var remainder); + cash = remainder; + foreach (var coin in coins) + { + _storage.Insert(moneyBox.Value, coin, out _); + } + } + + if (cash > 0) + { + var coins = _currency.GenerateMoney(CP14SharedCurrencySystem.GP.Key, cash, coord, out var remainder); + cash = remainder; + foreach (var coin in coins) + { + _storage.Insert(moneyBox.Value, coin, out _); + } + } + + if (cash > 0) + { + var coins = _currency.GenerateMoney(CP14SharedCurrencySystem.SP.Key, cash, coord, out var remainder); + cash = remainder; + foreach (var coin in coins) + { + _storage.Insert(moneyBox.Value, coin, out _); + } + } + + if (cash > 0) + { + var coins = _currency.GenerateMoney(CP14SharedCurrencySystem.CP.Key, cash, coord); + foreach (var coin in coins) + { + _storage.Insert(moneyBox.Value, coin, out _); + } + } + } + } + + private EntityUid? GetMoneyBox(Entity station) + { + var query = EntityQueryEnumerator(); + + while (query.MoveNext(out var uid, out _, out var xform)) + { + if (xform.GridUid != station.Comp.Shuttle) + continue; + + return uid; + } + + return null; + } +} diff --git a/Content.Server/_CP14/TravelingStoreShip/CP14TravelingStoreshipComponent.cs b/Content.Server/_CP14/TravelingStoreShip/CP14TravelingStoreshipComponent.cs new file mode 100644 index 0000000000..1d82d9b381 --- /dev/null +++ b/Content.Server/_CP14/TravelingStoreShip/CP14TravelingStoreshipComponent.cs @@ -0,0 +1,8 @@ +namespace Content.Server._CP14.TravelingStoreShip; + +[RegisterComponent, Access(typeof(CP14CargoSystem)), AutoGenerateComponentPause] +public sealed partial class CP14TravelingStoreShipComponent : Component +{ + [DataField] + public EntityUid Station; +} diff --git a/Content.Server/_CP14/TravelingStoreShip/CP14TravelingStoreshipFTLTargetComponent.cs b/Content.Server/_CP14/TravelingStoreShip/CP14TravelingStoreshipFTLTargetComponent.cs new file mode 100644 index 0000000000..4f09246886 --- /dev/null +++ b/Content.Server/_CP14/TravelingStoreShip/CP14TravelingStoreshipFTLTargetComponent.cs @@ -0,0 +1,10 @@ + +namespace Content.Server._CP14.TravelingStoreShip; + +/// +/// One of the possible points where an traveling store ship might land +/// +[RegisterComponent, Access(typeof(CP14CargoSystem))] +public sealed partial class CP14TravelingStoreShipFTLTargetComponent : Component +{ +} diff --git a/Content.Shared/Verbs/VerbCategory.cs b/Content.Shared/Verbs/VerbCategory.cs index d1d0becf38..29a5f6c73d 100644 --- a/Content.Shared/Verbs/VerbCategory.cs +++ b/Content.Shared/Verbs/VerbCategory.cs @@ -90,5 +90,7 @@ namespace Content.Shared.Verbs public static readonly VerbCategory PowerLevel = new("verb-categories-power-level", null); public static readonly VerbCategory CP14RitualBook = new("cp14-verb-categories-ritual-book", null); //CP14 + + public static readonly VerbCategory CP14CurrencyConvert = new("cp14-verb-categories-currency-converter", null); //CP14 } } diff --git a/Content.Shared/_CP14/Currency/CP14CurrencyComponent.cs b/Content.Shared/_CP14/Currency/CP14CurrencyComponent.cs index 23285b82a3..ce712d2c40 100644 --- a/Content.Shared/_CP14/Currency/CP14CurrencyComponent.cs +++ b/Content.Shared/_CP14/Currency/CP14CurrencyComponent.cs @@ -4,15 +4,9 @@ namespace Content.Shared._CP14.Currency; /// Reflects the market value of an item, to guide players through the economy. /// -[RegisterComponent, Access(typeof(CP14CurrencySystem))] +[RegisterComponent, Access(typeof(CP14SharedCurrencySystem))] public sealed partial class CP14CurrencyComponent : Component { [DataField] public int Currency = 1; - - /// - /// allows you to categorize different valuable items in order to, for example, give goals for buying weapons, or earning money specifically. - /// - [DataField] - public string? Category; } diff --git a/Content.Shared/_CP14/Currency/CP14CurrencyConverterComponent.cs b/Content.Shared/_CP14/Currency/CP14CurrencyConverterComponent.cs new file mode 100644 index 0000000000..5348094b4a --- /dev/null +++ b/Content.Shared/_CP14/Currency/CP14CurrencyConverterComponent.cs @@ -0,0 +1,25 @@ +using System.Numerics; +using Content.Shared.Whitelist; +using Robust.Shared.Audio; + +namespace Content.Shared._CP14.Currency; + +/// +/// Reflects the market value of an item, to guide players through the economy. +/// + +[RegisterComponent] +public sealed partial class CP14CurrencyConverterComponent : Component +{ + [DataField] + public int Balance; + + [DataField] + public EntityWhitelist? Whitelist; + + [DataField] + public Vector2 SpawnOffset = new Vector2(0, -0.4f); + + [DataField] + public SoundSpecifier InsertSound = new SoundCollectionSpecifier("CP14Coins"); +} diff --git a/Content.Shared/_CP14/Currency/CP14CurrencySystem.cs b/Content.Shared/_CP14/Currency/CP14CurrencySystem.cs deleted file mode 100644 index 79d0c7dd53..0000000000 --- a/Content.Shared/_CP14/Currency/CP14CurrencySystem.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Content.Shared.Examine; -using Content.Shared.Stacks; - -namespace Content.Shared._CP14.Currency; - -public sealed partial class CP14CurrencySystem : EntitySystem -{ - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnExamine); - } - - private void OnExamine(Entity currency, ref ExaminedEvent args) - { - var total = GetTotalCurrency(currency, currency.Comp); - - var push = Loc.GetString("cp14-currency-examine-title"); - push += GetPrettyCurrency(total); - args.PushMarkup(push); - } - - public string GetPrettyCurrency(int currency) - { - var total = currency; - - if (total <= 0) - return string.Empty; - - var gp = total / 100; - total %= 100; - - var sp = total / 10; - total %= 10; - - var cp = total; - - var push = string.Empty; - - if (gp > 0) push += " " + Loc.GetString("cp14-currency-examine-gp", ("coin", gp)); - if (sp > 0) push += " " + Loc.GetString("cp14-currency-examine-sp", ("coin", sp)); - if (cp > 0) push += " " + Loc.GetString("cp14-currency-examine-cp", ("coin", cp)); - - return push; - } - - public int GetTotalCurrency(EntityUid uid, CP14CurrencyComponent? currency = null) - { - if (!Resolve(uid, ref currency)) - return 0; - - var total = currency.Currency; - - if (TryComp(uid, out var stack)) - { - total *= stack.Count; - } - - return total; - } -} diff --git a/Content.Shared/_CP14/Currency/CP14SharedCurrencySystem.cs b/Content.Shared/_CP14/Currency/CP14SharedCurrencySystem.cs new file mode 100644 index 0000000000..e1efc4b15a --- /dev/null +++ b/Content.Shared/_CP14/Currency/CP14SharedCurrencySystem.cs @@ -0,0 +1,54 @@ +using System.Text; +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; +namespace Content.Shared._CP14.Currency; + +public partial class CP14SharedCurrencySystem : EntitySystem +{ + public static readonly KeyValuePair CP = new("CP14CopperCoin1", 1); + public static readonly KeyValuePair SP = new("CP14SilverCoin1", 10); + public static readonly KeyValuePair GP = new("CP14GoldCoin1", 100); + public static readonly KeyValuePair PP = new("CP14PlatinumCoin1", 1000); + + public string GetCurrencyPrettyString(int currency) + { + var total = currency; + + if (total <= 0) + return string.Empty; + + var gp = total / 100; + total %= 100; + + var sp = total / 10; + total %= 10; + + var cp = total; + + var sb = new StringBuilder(); + + if (gp > 0) + sb.Append( " " + Loc.GetString("cp14-currency-examine-gp", ("coin", gp))); + if (sp > 0) + sb.Append( " " + Loc.GetString("cp14-currency-examine-sp", ("coin", sp))); + if (cp > 0) + sb.Append( " " + Loc.GetString("cp14-currency-examine-cp", ("coin", cp))); + + return sb.ToString(); + } + + public int GetTotalCurrency(EntityUid uid, CP14CurrencyComponent? currency = null) + { + if (!Resolve(uid, ref currency)) + return 0; + + var total = currency.Currency; + + if (TryComp(uid, out var stack)) + { + total *= stack.Count; + } + + return total; + } +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/CP14CargoMoneyBoxComponent.cs b/Content.Shared/_CP14/TravelingStoreShip/CP14CargoMoneyBoxComponent.cs new file mode 100644 index 0000000000..1fa6473692 --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/CP14CargoMoneyBoxComponent.cs @@ -0,0 +1,9 @@ +namespace Content.Shared._CP14.TravelingStoreShip; + +/// +/// marks an entity into which trade with the city will put money when selling, or take it when buying. +/// +[RegisterComponent] +public sealed partial class CP14CargoMoneyBoxComponent : Component +{ +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/CP14CargoStoreComponent.cs b/Content.Shared/_CP14/TravelingStoreShip/CP14CargoStoreComponent.cs new file mode 100644 index 0000000000..07bf641536 --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/CP14CargoStoreComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Shared._CP14.TravelingStoreShip; + +/// +/// Allows users to view information on city trading opportunities +/// +[RegisterComponent] +public sealed partial class CP14CargoStoreComponent : Component +{ + [DataField] + public Entity? Station = null; +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/CP14SellingPalettComponent.cs b/Content.Shared/_CP14/TravelingStoreShip/CP14SellingPalettComponent.cs new file mode 100644 index 0000000000..89692e4c47 --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/CP14SellingPalettComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Shared._CP14.TravelingStoreShip; + +[RegisterComponent] +public sealed partial class CP14SellingPalettComponent : Component +{ +} + +[RegisterComponent] +public sealed partial class CP14BuyingPalettComponent : Component +{ +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/CP14SharedCargoSystem.cs b/Content.Shared/_CP14/TravelingStoreShip/CP14SharedCargoSystem.cs new file mode 100644 index 0000000000..3e3f84d3ff --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/CP14SharedCargoSystem.cs @@ -0,0 +1,5 @@ +namespace Content.Shared._CP14.TravelingStoreShip; + +public class CP14SharedCargoSystem : EntitySystem +{ +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/CP14StationTravelingStoreShipTargetComponent.cs b/Content.Shared/_CP14/TravelingStoreShip/CP14StationTravelingStoreShipTargetComponent.cs new file mode 100644 index 0000000000..4f8b4f9e17 --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/CP14StationTravelingStoreShipTargetComponent.cs @@ -0,0 +1,46 @@ +using Content.Shared._CP14.TravelingStoreShip.Prototype; +using Content.Shared.Destructible.Thresholds; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.TravelingStoreShip; + +/// +/// Add to the station so that traveling store ship starts running on it +/// +[RegisterComponent] +public sealed partial class CP14StationTravelingStoreShipTargetComponent : Component +{ + [DataField] + public EntityUid Shuttle; + + [DataField] + public EntityUid TradePostMap; + + [DataField] + public bool OnStation; + + [DataField] + public ResPath ShuttlePath = new("/Maps/_CP14/Ships/balloon.yml"); + + [DataField] + public TimeSpan NextTravelTime = TimeSpan.Zero; + + [DataField] + public TimeSpan StationWaitTime = TimeSpan.FromMinutes(6); + + [DataField] + public TimeSpan TradePostWaitTime = TimeSpan.FromMinutes(4); + + [DataField] + public Dictionary, int> CurrentBuyPositions = new(); //Proto, price + + [DataField] + public MinMax SpecialBuyPositionCount = new(1, 2); + + [DataField] + public Dictionary, int> CurrentSellPositions = new(); //Proto, price + + [DataField] + public MinMax SpecialSellPositionCount = new(1, 2); +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/CP14StoreUI.cs b/Content.Shared/_CP14/TravelingStoreShip/CP14StoreUI.cs new file mode 100644 index 0000000000..c9081e98d9 --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/CP14StoreUI.cs @@ -0,0 +1,64 @@ +using Content.Shared._CP14.Workbench; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.TravelingStoreShip; + +[Serializable, NetSerializable] +public enum CP14StoreUiKey +{ + Key, +} + +[Serializable, NetSerializable] +public sealed class CP14StoreUiState : BoundUserInterfaceState +{ + public readonly HashSet ProductsBuy; + public readonly HashSet ProductsSell; + + public bool OnStation; + public readonly TimeSpan NextTravelTime; + + public CP14StoreUiState(HashSet productsBuy, HashSet productsSell, bool onStation, TimeSpan time) + { + ProductsBuy = productsBuy; + ProductsSell = productsSell; + OnStation = onStation; + NextTravelTime = time; + } +} + +[Serializable, NetSerializable] +public readonly struct CP14StoreUiProductEntry : IEquatable +{ + public readonly string ProtoId; + public readonly SpriteSpecifier Icon; + public readonly string Name; + public readonly string Desc; + public readonly int Price; + + public CP14StoreUiProductEntry(string protoId, SpriteSpecifier icon, string name, string desc, int price) + { + ProtoId = protoId; + Icon = icon; + Name = name; + Desc = desc; + Price = price; + } + + public bool Equals(CP14StoreUiProductEntry other) + { + return ProtoId == other.ProtoId; + } + + public override bool Equals(object? obj) + { + return obj is CP14StoreUiProductEntry other && Equals(other); + } + + public override int GetHashCode() + { + return HashCode.Combine(ProtoId, Icon, Name, Desc, Price); + } +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/Prototype/BuyServices/CP14BuyItemsService.cs b/Content.Shared/_CP14/TravelingStoreShip/Prototype/BuyServices/CP14BuyItemsService.cs new file mode 100644 index 0000000000..60737691da --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/Prototype/BuyServices/CP14BuyItemsService.cs @@ -0,0 +1,32 @@ +using System.Text; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.TravelingStoreShip.Prototype.BuyServices; + +public sealed partial class CP14BuyItemsService : CP14StoreBuyService +{ + [DataField(required: true)] + public Dictionary Product = new(); + + public override void Buy(EntityManager entManager, EntityUid station) + { + foreach (var pai in Product) + { + Logger.Debug($"куплено: {pai.Key} x{pai.Value}"); + } + } + + public override string? GetDescription(IPrototypeManager prototype, IEntityManager entSys) + { + var sb = new StringBuilder(); + sb.Append(Loc.GetString("cp14-store-service-buy-items") + " \n"); + foreach (var pai in Product) + { + if (!prototype.TryIndex(pai.Key, out var indexedProto)) + continue; + + sb.Append($"{indexedProto.Name} x{pai.Value} \n"); + } + return sb.ToString(); + } +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/Prototype/CP14StoreBuyPositionPrototype.cs b/Content.Shared/_CP14/TravelingStoreShip/Prototype/CP14StoreBuyPositionPrototype.cs new file mode 100644 index 0000000000..9e0786741a --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/Prototype/CP14StoreBuyPositionPrototype.cs @@ -0,0 +1,46 @@ +using Content.Shared.Destructible.Thresholds; +using JetBrains.Annotations; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.TravelingStoreShip.Prototype; + +/// +/// Stores the price and product/service pair that players can buy. +/// +[Prototype("storePositionBuy")] +public sealed partial class CP14StoreBuyPositionPrototype : IPrototype +{ + [IdDataField, ViewVariables] + public string ID { get; private set; } = default!; + + /// + /// if true, this item becomes available for purchase only after unlocking by other purchases + /// + [DataField] + public bool Unlockable = false; + + [DataField(required: true)] + public MinMax Price = new(); + + [DataField(required: true)] + public LocId Name = string.Empty; + + [DataField] + public LocId Desc = string.Empty; + + [DataField(required: true)] + public SpriteSpecifier Icon = default!; + + [DataField(required: true)] + public List Services = new(); +} + +[ImplicitDataDefinitionForInheritors] +[MeansImplicitUse] +public abstract partial class CP14StoreBuyService +{ + public abstract void Buy(EntityManager entManager, EntityUid station); + + public abstract string? GetDescription(IPrototypeManager prototype, IEntityManager entSys); +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/Prototype/CP14StoreSellPositionPrototype.cs b/Content.Shared/_CP14/TravelingStoreShip/Prototype/CP14StoreSellPositionPrototype.cs new file mode 100644 index 0000000000..aa5afda5bc --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/Prototype/CP14StoreSellPositionPrototype.cs @@ -0,0 +1,46 @@ +using Content.Shared.Destructible.Thresholds; +using JetBrains.Annotations; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.TravelingStoreShip; + +/// +/// Stores the price and product/service pair that players can buy. +/// +[Prototype("storePositionSell")] +public sealed partial class CP14StoreSellPositionPrototype : IPrototype +{ + [IdDataField, ViewVariables] + public string ID { get; private set; } = default!; + + /// + /// if true, this item becomes available for purchase only after unlocking by other purchases + /// + [DataField] + public bool Unlockable = false; + + [DataField(required: true)] + public MinMax Price = new(); + + [DataField(required: true)] + public LocId Name = string.Empty; + + [DataField] + public LocId Desc = string.Empty; + + [DataField(required: true)] + public SpriteSpecifier Icon = default!; + + [DataField(required: true)] + public CP14StoreSellService Service = default!; +} + +[ImplicitDataDefinitionForInheritors] +[MeansImplicitUse] +public abstract partial class CP14StoreSellService +{ + public abstract bool TrySell(EntityManager entManager, HashSet entities); + + public abstract string? GetDescription(IPrototypeManager prototype, IEntityManager entSys); +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/Prototype/SellServices/CP14SellStackService.cs b/Content.Shared/_CP14/TravelingStoreShip/Prototype/SellServices/CP14SellStackService.cs new file mode 100644 index 0000000000..766b8714ad --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/Prototype/SellServices/CP14SellStackService.cs @@ -0,0 +1,57 @@ +using Content.Shared.Stacks; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.TravelingStoreShip.Prototype.SellServices; + +public sealed partial class CP14SellStackService : CP14StoreSellService +{ + [DataField(required: true)] + public ProtoId StackId = new(); + + [DataField(required: true)] + public int Count = 1; + + public override bool TrySell(EntityManager entManager, HashSet entities) + { + var stackSystem = entManager.System(); + + Dictionary, int> suitable = new(); + + int needCount = Count; + foreach (var ent in entities) + { + if (needCount <= 0) + break; + + if (!entManager.TryGetComponent(ent, out var stack) || stack.StackTypeId != StackId.Id) + continue; + + var consumed = Math.Min(needCount, stack.Count); + suitable.Add((ent,stack), consumed); + needCount -= consumed; + } + + if (needCount > 0) + return false; + + foreach (var selledEnt in suitable) + { + if (selledEnt.Key.Comp.Count == selledEnt.Value) + { + entities.Remove(selledEnt.Key); + entManager.QueueDeleteEntity(selledEnt.Key); + } + else + { + stackSystem.Use(selledEnt.Key, selledEnt.Value); + } + } + + return true; + } + + public override string? GetDescription(IPrototypeManager prototype, IEntityManager entSys) + { + return null; + } +} diff --git a/Content.Shared/_CP14/TravelingStoreShip/Prototype/SellServices/CP14SellWhitelistService.cs b/Content.Shared/_CP14/TravelingStoreShip/Prototype/SellServices/CP14SellWhitelistService.cs new file mode 100644 index 0000000000..6305f22256 --- /dev/null +++ b/Content.Shared/_CP14/TravelingStoreShip/Prototype/SellServices/CP14SellWhitelistService.cs @@ -0,0 +1,52 @@ +using Content.Shared.Whitelist; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.TravelingStoreShip.Prototype.SellServices; + +public sealed partial class CP14SellWhitelistService : CP14StoreSellService +{ + [DataField(required: true)] + public EntityWhitelist Whitelist = new(); + + [DataField(required: true)] + public int Count = 1; + + public override bool TrySell(EntityManager entManager, HashSet entities) + { + var whitelistSystem = entManager.System(); + + HashSet suitable = new(); + + int needCount = Count; + foreach (var ent in entities) + { + if (needCount <= 0) + break; + + if (!entManager.TryGetComponent(ent, out var metaData) || metaData.EntityPrototype is null) + continue; + + if (!whitelistSystem.IsValid(Whitelist, ent)) + continue; + + suitable.Add(ent); + needCount -= 1; + } + + if (needCount > 0) + return false; + + foreach (var selledEnt in suitable) + { + entities.Remove(selledEnt); + entManager.QueueDeleteEntity(selledEnt); + } + + return true; + } + + public override string? GetDescription(IPrototypeManager prototype, IEntityManager entSys) + { + return null; + } +} diff --git a/Resources/Audio/_CP14/Items/attributions.yml b/Resources/Audio/_CP14/Items/attributions.yml index cfdc40a237..60e943073e 100644 --- a/Resources/Audio/_CP14/Items/attributions.yml +++ b/Resources/Audio/_CP14/Items/attributions.yml @@ -66,4 +66,9 @@ - files: ["book2.ogg"] license: "CC-BY-4.0" copyright: 'by InspectorJ of Freesound.org. edit to Mono by TheShuEd.' - source: "https://freesound.org/people/InspectorJ/sounds/416179/" \ No newline at end of file + source: "https://freesound.org/people/InspectorJ/sounds/416179/" + +- files: ["coins1.ogg", "coins2.ogg", "coins3.ogg", "coins_fall.ogg"] + license: "CC0-1.0" + copyright: 'by severaltimes of Freesound.org. Cropped by TheShuEd.' + source: "https://freesound.org/people/severaltimes/sounds/173989/" \ No newline at end of file diff --git a/Resources/Audio/_CP14/Items/coins1.ogg b/Resources/Audio/_CP14/Items/coins1.ogg new file mode 100644 index 0000000000..9a10d5d7f8 Binary files /dev/null and b/Resources/Audio/_CP14/Items/coins1.ogg differ diff --git a/Resources/Audio/_CP14/Items/coins2.ogg b/Resources/Audio/_CP14/Items/coins2.ogg new file mode 100644 index 0000000000..8e83ff7da8 Binary files /dev/null and b/Resources/Audio/_CP14/Items/coins2.ogg differ diff --git a/Resources/Audio/_CP14/Items/coins3.ogg b/Resources/Audio/_CP14/Items/coins3.ogg new file mode 100644 index 0000000000..02678476df Binary files /dev/null and b/Resources/Audio/_CP14/Items/coins3.ogg differ diff --git a/Resources/Audio/_CP14/Items/coins_fall.ogg b/Resources/Audio/_CP14/Items/coins_fall.ogg new file mode 100644 index 0000000000..bae9c26ce2 Binary files /dev/null and b/Resources/Audio/_CP14/Items/coins_fall.ogg differ diff --git a/Resources/Locale/en-US/_CP14/travelingStoreship/positions_buy.ftl b/Resources/Locale/en-US/_CP14/travelingStoreship/positions_buy.ftl new file mode 100644 index 0000000000..a7f5c17e16 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/travelingStoreship/positions_buy.ftl @@ -0,0 +1,2 @@ +cp14-store-buy-alchemy-normalizer-name = Solution normalizer +cp14-store-buy-alchemy-normalizer-desc = Are your alchemists making poor quality potions? Fix it with a modern technological device made by Dwarf! “Alchemical Normalizer” - will remove any residue from your potions! \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/travelingStoreship/positions_sell.ftl b/Resources/Locale/en-US/_CP14/travelingStoreship/positions_sell.ftl new file mode 100644 index 0000000000..c3147520a1 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/travelingStoreship/positions_sell.ftl @@ -0,0 +1,8 @@ +cp14-store-sell-goldbar-name = 10 gold bars +cp14-store-sell-goldbar-desc = The mining and processing of gold ore is heavily sponsored by the empire, which uses gold as currency and material for jewelry. + +cp14-store-sell-ironbar-name = 10 iron bars +cp14-store-sell-ironbar-desc = Iron is an indispensable material for the production of... almost anything that has any durability in this world. And surely the Empire could use an extra shipment. + +cp14-store-sell-copperbar-name = 10 copper bars +cp14-store-sell-copperbar-desc = We're waiting for a description from the lorekeepers. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/travelingStoreship/services.ftl b/Resources/Locale/en-US/_CP14/travelingStoreship/services.ftl new file mode 100644 index 0000000000..e84ac1f121 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/travelingStoreship/services.ftl @@ -0,0 +1,8 @@ + +# Buy + +cp14-store-service-buy-items = Purchase of goods: + +# Sell + +cp14-store-service-sell-entities = Sale items: \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/travelingStoreship/ui.ftl b/Resources/Locale/en-US/_CP14/travelingStoreship/ui.ftl new file mode 100644 index 0000000000..63ad19e292 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/travelingStoreship/ui.ftl @@ -0,0 +1,9 @@ +cp14-store-ui-title = Retail information board +cp14-store-ui-order = More info + +cp14-store-ui-next-travel-out = Before departure: +cp14-store-ui-next-travel-in = Before arrival: + +cp14-store-ui-tab-buy = Buying +cp14-store-ui-tab-sell = Selling +cp14-store-ui-tab-special = [bold][color=red]Temporary offer![/color][/bold] diff --git a/Resources/Locale/ru-RU/_CP14/currency/currency_comp.ftl b/Resources/Locale/ru-RU/_CP14/currency/currency_comp.ftl index 40a8be31c7..2b9b1c1380 100644 --- a/Resources/Locale/ru-RU/_CP14/currency/currency_comp.ftl +++ b/Resources/Locale/ru-RU/_CP14/currency/currency_comp.ftl @@ -1,4 +1,12 @@ cp14-currency-examine-title = Рыночная цена: +cp14-currency-converter-examine-title = Валюты: cp14-currency-examine-gp = [color=#ebad3b]{$coin}зм[/color] cp14-currency-examine-sp = [color=#bad1d6]{$coin}см[/color] -cp14-currency-examine-cp = [color=#824e27]{$coin}мм[/color] \ No newline at end of file +cp14-currency-examine-cp = [color=#824e27]{$coin}мм[/color] + +cp14-currency-converter-insert = Внесено {$cash}мм! +cp14-verb-categories-currency-converter = Вывести валюту: +cp14-currency-converter-get-cp = Вывести как мм (1мм) +cp14-currency-converter-get-sp = Вывести как см (10мм) +cp14-currency-converter-get-gp = Вывести как зм (100мм) +cp14-currency-converter-get-pp = Вывести как пм (1000мм) \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/speech/speech-chatsan.ftl b/Resources/Locale/ru-RU/_CP14/speech/speech-chatsan.ftl index 97734cca2d..7448fb24f7 100644 --- a/Resources/Locale/ru-RU/_CP14/speech/speech-chatsan.ftl +++ b/Resources/Locale/ru-RU/_CP14/speech/speech-chatsan.ftl @@ -169,4 +169,20 @@ cp14-chatsan-replacement-84 = убийство cp14-chatsan-word-85 = лкм cp14-chatsan-replacement-85 = левая рука cp14-chatsan-word-86 = пкм -cp14-chatsan-replacement-86 = правая рука \ No newline at end of file +cp14-chatsan-replacement-86 = правая рука +cp14-chatsan-word-87 = мм +cp14-chatsan-replacement-87 = меди +cp14-chatsan-word-88 = см +cp14-chatsan-replacement-88 = серебра +cp14-chatsan-word-89 = зм +cp14-chatsan-replacement-89 = золота +cp14-chatsan-word-90 = пм +cp14-chatsan-replacement-90 = платины +cp14-chatsan-word-91 = cp +cp14-chatsan-replacement-91 = copper +cp14-chatsan-word-92 = sp +cp14-chatsan-replacement-92 = silver +cp14-chatsan-word-93 = gp +cp14-chatsan-replacement-93 = gold +cp14-chatsan-word-94 = pp +cp14-chatsan-replacement-94 = platinum \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/travelingStoreship/positions_buy.ftl b/Resources/Locale/ru-RU/_CP14/travelingStoreship/positions_buy.ftl new file mode 100644 index 0000000000..332824f182 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/travelingStoreship/positions_buy.ftl @@ -0,0 +1,2 @@ +cp14-store-buy-alchemy-normalizer-name = Нормализатор растворов +cp14-store-buy-alchemy-normalizer-desc = Ваши алхимики делают некачественные зелья? Исправьте это при помощи современного технологического устройства дворфского производства! "Алхимический нормализатор" - удалит из ваших зелий любой осадок! \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/travelingStoreship/positions_sell.ftl b/Resources/Locale/ru-RU/_CP14/travelingStoreship/positions_sell.ftl new file mode 100644 index 0000000000..4a48fd16d0 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/travelingStoreship/positions_sell.ftl @@ -0,0 +1,8 @@ +cp14-store-sell-goldbar-name = 10 золотых слитков +cp14-store-sell-goldbar-desc = Добыча и обработка золотой руды активно спонсируется империей, использующей золото как валюту и материал для ювелирных украшений. + +cp14-store-sell-ironbar-name = 10 железных слитков +cp14-store-sell-ironbar-desc = Железо - незаменимый материал для производства... почти всего, что имеет какую либо долговечность в этом мире. И конечно же, Империя не откажется от дополнительной партии. + +cp14-store-sell-copperbar-name = 10 медных слитков +cp14-store-sell-copperbar-desc = Ждем описания от лороведов. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/travelingStoreship/services.ftl b/Resources/Locale/ru-RU/_CP14/travelingStoreship/services.ftl new file mode 100644 index 0000000000..27f7d5d6f0 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/travelingStoreship/services.ftl @@ -0,0 +1,8 @@ + +# Buy + +cp14-store-service-buy-items = Покупка товара: + +# Sell + +cp14-store-service-sell-entities = Продажа предметов: \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/travelingStoreship/ui.ftl b/Resources/Locale/ru-RU/_CP14/travelingStoreship/ui.ftl new file mode 100644 index 0000000000..224759a3c5 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/travelingStoreship/ui.ftl @@ -0,0 +1,9 @@ +cp14-store-ui-title = Информационное торговое табло +cp14-store-ui-order = Дополнительная информация + +cp14-store-ui-next-travel-out = До отправления: +cp14-store-ui-next-travel-in = До прибытия: + +cp14-store-ui-tab-buy = Покупка +cp14-store-ui-tab-sell = Продажа +cp14-store-ui-tab-special = [bold][color=red]Временное предложение![/color][/bold] diff --git a/Resources/Maps/_CP14/Ships/balloon.yml b/Resources/Maps/_CP14/Ships/balloon.yml new file mode 100644 index 0000000000..5b8a0d4bcd --- /dev/null +++ b/Resources/Maps/_CP14/Ships/balloon.yml @@ -0,0 +1,348 @@ +meta: + format: 6 + postmapinit: false +tilemap: + 0: Space + 49: CP14FloorStonebricksSmallCarved1 +entities: +- proto: "" + entities: + - uid: 1 + components: + - type: MetaData + name: grid + - type: Transform + pos: -0.73058385,-0.60119945 + parent: invalid + - type: MapGrid + chunks: + 0,0: + ind: 0,0 + tiles: MQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 + -1,0: + ind: -1,0 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 + -1,-1: + ind: -1,-1 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAA + version: 6 + 0,-1: + ind: 0,-1 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 + - type: Broadphase + - type: Physics + bodyStatus: InAir + angularDamping: 0.05 + linearDamping: 0.05 + fixedRotation: False + bodyType: Dynamic + - type: Fixtures + fixtures: {} + - type: OccluderTree + - type: SpreaderGrid + - type: Shuttle + - type: GridPathfinding + - type: Gravity + gravityShakeSound: !type:SoundPathSpecifier + path: /Audio/Effects/alert.ogg + - type: DecalGrid + chunkCollection: + version: 2 + nodes: [] + - type: GridAtmosphere + version: 2 + data: + chunkSize: 4 + - type: GasTileOverlay + - type: RadiationGridResistance +- proto: C14IronCabinetCargo + entities: + - uid: 50 + components: + - type: Transform + pos: 0.5,-1.5 + parent: 1 +- proto: CP14WallmountLamp + entities: + - uid: 51 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -1.5,-3.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 52 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 2.5,-3.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 53 + components: + - type: Transform + pos: -1.5,4.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 54 + components: + - type: Transform + pos: 2.5,4.5 + parent: 1 + - type: Fixtures + fixtures: {} +- proto: CP14WallStonebrick + entities: + - uid: 2 + components: + - type: Transform + pos: -0.5,-4.5 + parent: 1 + - uid: 3 + components: + - type: Transform + pos: -1.5,-4.5 + parent: 1 + - uid: 4 + components: + - type: Transform + pos: -2.5,-4.5 + parent: 1 + - uid: 5 + components: + - type: Transform + pos: -2.5,-3.5 + parent: 1 + - uid: 6 + components: + - type: Transform + pos: -2.5,-1.5 + parent: 1 + - uid: 7 + components: + - type: Transform + pos: -2.5,-0.5 + parent: 1 + - uid: 8 + components: + - type: Transform + pos: -2.5,0.5 + parent: 1 + - uid: 11 + components: + - type: Transform + pos: -2.5,-2.5 + parent: 1 + - uid: 13 + components: + - type: Transform + pos: -2.5,4.5 + parent: 1 + - uid: 14 + components: + - type: Transform + pos: -2.5,5.5 + parent: 1 + - uid: 15 + components: + - type: Transform + pos: -1.5,5.5 + parent: 1 + - uid: 18 + components: + - type: Transform + pos: 2.5,5.5 + parent: 1 + - uid: 19 + components: + - type: Transform + pos: 3.5,5.5 + parent: 1 + - uid: 21 + components: + - type: Transform + pos: 3.5,4.5 + parent: 1 + - uid: 25 + components: + - type: Transform + pos: 3.5,0.5 + parent: 1 + - uid: 26 + components: + - type: Transform + pos: 3.5,-0.5 + parent: 1 + - uid: 27 + components: + - type: Transform + pos: 3.5,-2.5 + parent: 1 + - uid: 28 + components: + - type: Transform + pos: 3.5,-1.5 + parent: 1 + - uid: 29 + components: + - type: Transform + pos: 3.5,-3.5 + parent: 1 + - uid: 30 + components: + - type: Transform + pos: 3.5,-4.5 + parent: 1 + - uid: 31 + components: + - type: Transform + pos: 2.5,-4.5 + parent: 1 + - uid: 32 + components: + - type: Transform + pos: 1.5,-4.5 + parent: 1 + - uid: 49 + components: + - type: Transform + pos: 0.5,-0.5 + parent: 1 +- proto: CP14WindowStoneBrick + entities: + - uid: 9 + components: + - type: Transform + pos: -2.5,1.5 + parent: 1 + - uid: 10 + components: + - type: Transform + pos: -2.5,2.5 + parent: 1 + - uid: 12 + components: + - type: Transform + pos: -2.5,3.5 + parent: 1 + - uid: 16 + components: + - type: Transform + pos: 0.5,5.5 + parent: 1 + - uid: 17 + components: + - type: Transform + pos: 1.5,5.5 + parent: 1 + - uid: 20 + components: + - type: Transform + pos: -0.5,5.5 + parent: 1 + - uid: 22 + components: + - type: Transform + pos: 3.5,3.5 + parent: 1 + - uid: 23 + components: + - type: Transform + pos: 3.5,2.5 + parent: 1 + - uid: 24 + components: + - type: Transform + pos: 3.5,1.5 + parent: 1 +- proto: CP14WoodenPalletBuy + entities: + - uid: 33 + components: + - type: Transform + pos: 1.5,4.5 + parent: 1 + - uid: 34 + components: + - type: Transform + pos: 1.5,3.5 + parent: 1 + - uid: 35 + components: + - type: Transform + pos: 1.5,2.5 + parent: 1 + - uid: 36 + components: + - type: Transform + pos: 2.5,4.5 + parent: 1 + - uid: 37 + components: + - type: Transform + pos: 2.5,3.5 + parent: 1 + - uid: 38 + components: + - type: Transform + pos: 2.5,2.5 + parent: 1 + - uid: 39 + components: + - type: Transform + pos: 1.5,1.5 + parent: 1 + - uid: 40 + components: + - type: Transform + pos: 2.5,1.5 + parent: 1 +- proto: CP14WoodenPalletSell + entities: + - uid: 41 + components: + - type: Transform + pos: -0.5,4.5 + parent: 1 + - uid: 42 + components: + - type: Transform + pos: -0.5,2.5 + parent: 1 + - uid: 43 + components: + - type: Transform + pos: -0.5,1.5 + parent: 1 + - uid: 44 + components: + - type: Transform + pos: -1.5,4.5 + parent: 1 + - uid: 45 + components: + - type: Transform + pos: -1.5,3.5 + parent: 1 + - uid: 46 + components: + - type: Transform + pos: -1.5,2.5 + parent: 1 + - uid: 47 + components: + - type: Transform + pos: -1.5,1.5 + parent: 1 + - uid: 48 + components: + - type: Transform + pos: -0.5,3.5 + parent: 1 +... diff --git a/Resources/Maps/_CP14/dev_map.yml b/Resources/Maps/_CP14/dev_map.yml index 65af53883b..8e1553fa65 100644 --- a/Resources/Maps/_CP14/dev_map.yml +++ b/Resources/Maps/_CP14/dev_map.yml @@ -131,11 +131,11 @@ entities: version: 6 -1,0: ind: -1,0 - tiles: HAAAAAAAHAAAAAAEHAAAAAACHAAAAAADHAAAAAACHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAACHwAAAAADHAAAAAACHAAAAAAEHAAAAAACHAAAAAADHAAAAAABHAAAAAACHAAAAAAEHQAAAAADHgAAAAAAHQAAAAAFHAAAAAADHAAAAAAAHQAAAAABIAAAAAABIAAAAAAAIAAAAAABHAAAAAACHAAAAAADHAAAAAADHAAAAAADHAAAAAADHAAAAAAFHAAAAAABHQAAAAACHgAAAAAAHQAAAAACHAAAAAABHAAAAAAFHAAAAAAFIAAAAAADIAAAAAAAIAAAAAACHQAAAAAAHAAAAAADHAAAAAABHAAAAAAAHAAAAAACHAAAAAADHQAAAAAAHgAAAAAFHgAAAAAAHQAAAAADHAAAAAABHAAAAAAAHAAAAAABHAAAAAAEHQAAAAABHQAAAAAFHQAAAAADHQAAAAADHQAAAAADHAAAAAAAHAAAAAAAHAAAAAABHQAAAAACHgAAAAADHgAAAAAFHAAAAAABHAAAAAABHAAAAAABHAAAAAACHAAAAAAFHAAAAAAFHAAAAAAAHQAAAAAAHQAAAAAFHQAAAAACHQAAAAAFHQAAAAABHQAAAAABHQAAAAAFHQAAAAAAHgAAAAADHQAAAAAAHAAAAAAEHAAAAAAEHAAAAAADHAAAAAAEHAAAAAAAHAAAAAAAHQAAAAADHQAAAAAEHQAAAAADHgAAAAAAHQAAAAABHQAAAAAEHQAAAAAAHQAAAAADHQAAAAAEHQAAAAACHQAAAAADHAAAAAAAHAAAAAAFHAAAAAABHAAAAAACHQAAAAACHQAAAAABHQAAAAAFHgAAAAADHgAAAAAFHQAAAAAEHQAAAAABHQAAAAAEHQAAAAADHQAAAAAFHQAAAAAAHQAAAAACHQAAAAAFHAAAAAAAHAAAAAAAHQAAAAAEHQAAAAAAHQAAAAAFHQAAAAADHQAAAAAAHQAAAAACHgAAAAAEHQAAAAABHAAAAAABHQAAAAAFHQAAAAAEHQAAAAAAHQAAAAAEHQAAAAAAHQAAAAAAHAAAAAADHQAAAAAEHQAAAAAEHQAAAAADHQAAAAAFHQAAAAAEHQAAAAABHQAAAAADHQAAAAABHAAAAAACHQAAAAAAHQAAAAAAHQAAAAAEHgAAAAAAHgAAAAABHQAAAAAEHQAAAAABHQAAAAADHQAAAAACHAAAAAADHAAAAAABHQAAAAAAHgAAAAAAHgAAAAAEHQAAAAACHQAAAAAAHAAAAAABHAAAAAAFHQAAAAAEHQAAAAAEHgAAAAACHgAAAAACHgAAAAACHQAAAAAAHAAAAAABHAAAAAABHQAAAAADHQAAAAAEHgAAAAAFHgAAAAABHQAAAAABHQAAAAACHAAAAAAAHAAAAAACHQAAAAADHQAAAAAEHgAAAAAEHgAAAAAEHQAAAAACHAAAAAAFHAAAAAADHAAAAAABHQAAAAAAHQAAAAAFHQAAAAAAHQAAAAAEHAAAAAAEHQAAAAADHQAAAAAEHQAAAAAFHQAAAAACHQAAAAAEHQAAAAAAHgAAAAACHQAAAAAFHAAAAAAEHAAAAAAFHAAAAAAEHQAAAAADHQAAAAABHQAAAAABHQAAAAADHAAAAAACHAAAAAADHAAAAAAEHQAAAAAEHQAAAAAAHQAAAAADHQAAAAAAHgAAAAAAHQAAAAACHQAAAAACHAAAAAAEHQAAAAAEHgAAAAABHQAAAAADHQAAAAAFHAAAAAACHAAAAAAAHAAAAAAAHAAAAAADHAAAAAAAHAAAAAACHQAAAAAAHgAAAAACHgAAAAAEHQAAAAADHQAAAAAAHAAAAAABHQAAAAAEHgAAAAAFHgAAAAABHgAAAAABHQAAAAAFHAAAAAAAHAAAAAAEHQAAAAACHAAAAAABHAAAAAABHAAAAAACHQAAAAADHgAAAAAFHgAAAAAEHQAAAAAAHAAAAAAB + tiles: HAAAAAAAHAAAAAAEHAAAAAACHAAAAAADHAAAAAACHQAAAAAAHQAAAAAAHQAAAAAAHgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHwAAAAAAHwAAAAACHwAAAAADHAAAAAACHAAAAAAEHAAAAAACHAAAAAADHAAAAAABHAAAAAACHAAAAAAEHQAAAAADHgAAAAAAHQAAAAAFHAAAAAADHAAAAAAAHQAAAAABIAAAAAABIAAAAAAAIAAAAAABHAAAAAACHAAAAAADHAAAAAADHAAAAAADHAAAAAADHAAAAAAFHAAAAAABHQAAAAACHgAAAAAAHQAAAAACHAAAAAABHAAAAAAFHAAAAAAFIAAAAAADIAAAAAAAIAAAAAACHQAAAAAAHAAAAAADHAAAAAABHAAAAAAAHAAAAAACHAAAAAADHQAAAAAAHgAAAAAFHgAAAAAAHQAAAAADHAAAAAABHAAAAAAAHAAAAAABHAAAAAAEHQAAAAABHQAAAAAFHQAAAAADHQAAAAADHQAAAAADHAAAAAAAHAAAAAAAHAAAAAABHQAAAAACHgAAAAADHgAAAAAFHAAAAAABHAAAAAABHAAAAAABHAAAAAACHAAAAAAFHAAAAAAFHAAAAAAAHQAAAAAAHQAAAAAFHQAAAAACHQAAAAAFHQAAAAABHQAAAAABHQAAAAAFHQAAAAAAHgAAAAADHQAAAAAAHAAAAAAEHAAAAAAEHAAAAAADHAAAAAAEHAAAAAAAHAAAAAAAHQAAAAADHQAAAAAEHQAAAAADHgAAAAAAHQAAAAABHQAAAAAEHQAAAAAAHQAAAAADHQAAAAAEHQAAAAACHQAAAAADHAAAAAAAHAAAAAAFHAAAAAABHAAAAAACHQAAAAACHQAAAAABHQAAAAAFHgAAAAADHgAAAAAFHQAAAAAEHQAAAAABHQAAAAAEHQAAAAADHQAAAAAFHQAAAAAAHQAAAAACHQAAAAAFHAAAAAAAHAAAAAAAHQAAAAAEHQAAAAAAHQAAAAAFHQAAAAADHQAAAAAAHQAAAAACHgAAAAAEHQAAAAABHAAAAAABHQAAAAAFHQAAAAAEHQAAAAAAHQAAAAAEHQAAAAAAHQAAAAAAHAAAAAADHQAAAAAEHQAAAAAEHQAAAAADHQAAAAAFHQAAAAAEHQAAAAABHQAAAAADHQAAAAABHAAAAAACHQAAAAAAHQAAAAAAHQAAAAAEHgAAAAAAHgAAAAABHQAAAAAEHQAAAAABHQAAAAADHQAAAAACHAAAAAADHAAAAAABHQAAAAAAHgAAAAAAHgAAAAAEHQAAAAACHQAAAAAAHAAAAAABHAAAAAAFHQAAAAAEHQAAAAAEHgAAAAACHgAAAAACHgAAAAACHQAAAAAAHAAAAAABHAAAAAABHQAAAAADHQAAAAAEHgAAAAAFHgAAAAABHQAAAAABHQAAAAACHAAAAAAAHAAAAAACHQAAAAADHQAAAAAEHgAAAAAEHgAAAAAEHQAAAAACHAAAAAAFHAAAAAADHAAAAAABHQAAAAAAHQAAAAAFHQAAAAAAHQAAAAAEHAAAAAAEHQAAAAADHQAAAAAEHQAAAAAFHQAAAAACHQAAAAAEHQAAAAAAHgAAAAACHQAAAAAFHAAAAAAEHAAAAAAFHAAAAAAEHQAAAAADHQAAAAABHQAAAAABHQAAAAADHAAAAAACHAAAAAADHAAAAAAEHQAAAAAEHQAAAAAAHQAAAAADHQAAAAAAHgAAAAAAHQAAAAACHQAAAAACHAAAAAAEHQAAAAAEHgAAAAABHQAAAAADHQAAAAAFHAAAAAACHAAAAAAAHAAAAAAAHAAAAAADHAAAAAAAHAAAAAACHQAAAAAAHgAAAAACHgAAAAAEHQAAAAADHQAAAAAAHAAAAAABHQAAAAAEHgAAAAAFHgAAAAABHgAAAAABHQAAAAAFHAAAAAAAHAAAAAAEHQAAAAACHAAAAAABHAAAAAABHAAAAAACHQAAAAADHgAAAAAFHgAAAAAEHQAAAAAAHAAAAAAB version: 6 -1,-1: ind: -1,-1 - tiles: HAAAAAADHAAAAAADHAAAAAAFHAAAAAABHAAAAAAAHAAAAAAEHAAAAAAFHgAAAAADHgAAAAAEHQAAAAACHQAAAAADHQAAAAACLwAAAAAALwAAAAAALwAAAAAELwAAAAAAHAAAAAABHAAAAAAAHAAAAAADHAAAAAAAHAAAAAABHAAAAAAEHQAAAAAAHQAAAAAEHQAAAAAAHQAAAAADHQAAAAACHQAAAAAFLwAAAAAALwAAAAAELwAAAAABLwAAAAAAHAAAAAAFHAAAAAAAHQAAAAABHAAAAAABHQAAAAAAHQAAAAACHQAAAAABHQAAAAAAHAAAAAAFHAAAAAADHAAAAAAAHAAAAAAFLwAAAAAALwAAAAAALwAAAAACLwAAAAAAHAAAAAABHAAAAAACHAAAAAAAHQAAAAABHQAAAAAEHQAAAAABHQAAAAABHAAAAAAEHAAAAAAEHAAAAAAFHAAAAAAEHAAAAAAALwAAAAABLwAAAAAELwAAAAABLwAAAAAEHAAAAAACHAAAAAACHAAAAAACHQAAAAACHgAAAAAFHgAAAAAEHQAAAAAEHAAAAAABHAAAAAAAHAAAAAACHAAAAAABHAAAAAAELwAAAAACLwAAAAACLwAAAAACLwAAAAAAHAAAAAABHAAAAAAEHAAAAAACHQAAAAACHgAAAAABHgAAAAAEHQAAAAACHAAAAAAEHAAAAAAFHAAAAAAAHQAAAAAEHAAAAAADHAAAAAAFLwAAAAAALwAAAAAALwAAAAACHAAAAAABHAAAAAACHAAAAAAEHgAAAAAFHQAAAAAAHQAAAAAAHQAAAAAEHAAAAAAEHAAAAAADHAAAAAAFHAAAAAADHAAAAAAAHAAAAAADHAAAAAAFLwAAAAACLwAAAAAEHQAAAAAEHAAAAAAFHAAAAAABHQAAAAACHQAAAAAEHQAAAAADHQAAAAAFHAAAAAADHAAAAAAFHAAAAAACHAAAAAADHAAAAAADHAAAAAAFHAAAAAAELwAAAAABLwAAAAABHQAAAAABHQAAAAAFHQAAAAAFHQAAAAAFHQAAAAAFHQAAAAAAHQAAAAAEHAAAAAACHAAAAAADHAAAAAADHAAAAAAEHAAAAAAFHAAAAAABHAAAAAADHAAAAAAFHAAAAAACHQAAAAAFHQAAAAAEHQAAAAADHAAAAAABHQAAAAAFHQAAAAAAHAAAAAAEHAAAAAACHAAAAAAEHQAAAAADHAAAAAADHAAAAAACHQAAAAABHAAAAAAAHAAAAAADHAAAAAABHQAAAAAFHQAAAAAAHAAAAAAFHAAAAAABHQAAAAAFHAAAAAAFHAAAAAACHAAAAAAEHAAAAAAAHQAAAAAEHQAAAAACHQAAAAACHQAAAAABHgAAAAADHQAAAAAAHAAAAAACHQAAAAACHQAAAAABHAAAAAAAHAAAAAAEHQAAAAACHQAAAAAEHAAAAAACHAAAAAAEHAAAAAACHQAAAAAEHQAAAAABHQAAAAAEHQAAAAAFHQAAAAADHgAAAAACHQAAAAAAHgAAAAACHgAAAAADHQAAAAAFHQAAAAAFHQAAAAABHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAIAAAAAAAIAAAAAABHAAAAAAEHAAAAAABHAAAAAADHQAAAAAFHQAAAAACHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAIAAAAAABIAAAAAAAHAAAAAABHAAAAAABHAAAAAABHAAAAAAFHAAAAAACHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAABHwAAAAADHAAAAAADHAAAAAACHAAAAAAFHAAAAAACHAAAAAAFHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAABHwAAAAAA + tiles: HAAAAAADHAAAAAADHAAAAAAFHAAAAAABHAAAAAAAHAAAAAAEHAAAAAAFHgAAAAADHgAAAAAEHQAAAAACHQAAAAADHQAAAAACLwAAAAAALwAAAAAALwAAAAAELwAAAAAAHAAAAAABHAAAAAAAHAAAAAADHAAAAAAAHAAAAAABHAAAAAAEHQAAAAAAHQAAAAAEHQAAAAAAHQAAAAADHQAAAAACHQAAAAAFLwAAAAAALwAAAAAELwAAAAABLwAAAAAAHAAAAAAFHAAAAAAAHQAAAAABHAAAAAABHQAAAAAAHQAAAAACHQAAAAABHQAAAAAAHAAAAAAFHAAAAAADHAAAAAAAHAAAAAAFLwAAAAAALwAAAAAALwAAAAACLwAAAAAAHAAAAAABHAAAAAACHAAAAAAAHQAAAAABHQAAAAAEHQAAAAABHQAAAAABHAAAAAAEHAAAAAAEHAAAAAAFHAAAAAAEHAAAAAAALwAAAAABLwAAAAAELwAAAAABLwAAAAAEHAAAAAACHAAAAAACHAAAAAACHQAAAAACHgAAAAAFHgAAAAAEHQAAAAAEHAAAAAABHAAAAAAAHAAAAAACHAAAAAABHAAAAAAELwAAAAACLwAAAAACLwAAAAACLwAAAAAAHAAAAAABHAAAAAAEHAAAAAACHQAAAAACHgAAAAABHgAAAAAEHQAAAAACHAAAAAAEHAAAAAAFHAAAAAAAHQAAAAAEHAAAAAADHAAAAAAFLwAAAAAALwAAAAAALwAAAAACHAAAAAABHAAAAAACHAAAAAAEHgAAAAAFHQAAAAAAHQAAAAAAHQAAAAAEHAAAAAAEHAAAAAADHAAAAAAFHAAAAAADHAAAAAAAHAAAAAADHAAAAAAFLwAAAAACLwAAAAAEHQAAAAAEHAAAAAAFHAAAAAABHQAAAAACHQAAAAAEHQAAAAADHQAAAAAFHAAAAAADHAAAAAAFHAAAAAACHAAAAAADHAAAAAADHAAAAAAFHAAAAAAELwAAAAABLwAAAAABHQAAAAABHQAAAAAFHQAAAAAFHQAAAAAFHQAAAAAFHQAAAAAAHQAAAAAEHAAAAAACHAAAAAADHAAAAAADHAAAAAAEHAAAAAAFHAAAAAABHAAAAAADHAAAAAAFHAAAAAACHQAAAAAFHQAAAAAEHQAAAAADHAAAAAABHQAAAAAFHQAAAAAAHAAAAAAEHAAAAAACHAAAAAAEHQAAAAADHAAAAAADHAAAAAACHQAAAAABHAAAAAAAHAAAAAADHAAAAAABHQAAAAAFHQAAAAAAHAAAAAAFHAAAAAABHQAAAAAFHAAAAAAFHAAAAAACHAAAAAAEHAAAAAAAHQAAAAAEHQAAAAACHQAAAAACHQAAAAABHgAAAAADHQAAAAAAHAAAAAACHQAAAAACHQAAAAABHAAAAAAAHAAAAAAEHQAAAAACHQAAAAAEHAAAAAACHAAAAAAEHAAAAAACHQAAAAAEHQAAAAABHQAAAAAEHQAAAAAFHQAAAAADHgAAAAACHQAAAAAAHgAAAAACHgAAAAADHQAAAAAFHQAAAAAFHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHwAAAAAAIAAAAAAAIAAAAAABHAAAAAAEHAAAAAABHAAAAAADHQAAAAAFHQAAAAACHQAAAAAAHQAAAAAAHQAAAAAAHgAAAAAAHgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHwAAAAAAIAAAAAABIAAAAAAAHAAAAAABHAAAAAABHAAAAAABHAAAAAAFHAAAAAACHQAAAAAAHQAAAAAAHQAAAAAAHgAAAAAAHgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHwAAAAAAHwAAAAABHwAAAAADHAAAAAADHAAAAAACHAAAAAAFHAAAAAACHAAAAAAFHQAAAAAAHQAAAAAAHQAAAAAAHgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHwAAAAAAHwAAAAABHwAAAAAA version: 6 -1,-2: ind: -1,-2 @@ -191,7 +191,7 @@ entities: version: 6 2,0: ind: 2,0 - tiles: HQAAAAADHQAAAAACHQAAAAAEHgAAAAAAHQAAAAAEHQAAAAACHAAAAAAFHQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAFHQAAAAABHQAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAAEHAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAABHQAAAAAFHQAAAAACHQAAAAACHQAAAAADHQAAAAAFHAAAAAAEHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAFHQAAAAABHQAAAAADHQAAAAADHQAAAAAEHAAAAAAAHAAAAAAAHAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAACHQAAAAAAHgAAAAADHQAAAAACHAAAAAAAHAAAAAADHAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAAFHQAAAAAAHQAAAAACHQAAAAABHQAAAAACHQAAAAADHQAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAAEHQAAAAACHQAAAAADHgAAAAAAHQAAAAAFHgAAAAADHgAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAACHAAAAAAFHQAAAAAAHQAAAAADHgAAAAADHQAAAAABHQAAAAABHgAAAAAFHQAAAAAFHAAAAAACHAAAAAAFHAAAAAABHQAAAAAAHAAAAAAEHAAAAAACHAAAAAADHAAAAAACHAAAAAABHQAAAAAEHQAAAAACHQAAAAAFHQAAAAACHQAAAAAFHQAAAAAAHAAAAAABHAAAAAADHAAAAAACHAAAAAAFHQAAAAAAHQAAAAAFHQAAAAACHAAAAAACHAAAAAABHAAAAAAFHQAAAAACHQAAAAACHQAAAAAFHQAAAAAAHgAAAAAFHQAAAAAAHAAAAAACHAAAAAAEHAAAAAADHAAAAAADHAAAAAAAHQAAAAAFHQAAAAAAHQAAAAADHAAAAAACHQAAAAAAHQAAAAABHAAAAAAFHQAAAAADHQAAAAAFHQAAAAADHQAAAAAEHQAAAAABHAAAAAAEHAAAAAACHAAAAAABHAAAAAADHAAAAAAAHQAAAAAEHgAAAAACHAAAAAABHAAAAAAAHAAAAAADHAAAAAADHAAAAAACHAAAAAAAHQAAAAADHQAAAAAAHQAAAAAFHQAAAAADHAAAAAACHAAAAAAAHQAAAAAAHQAAAAAFHQAAAAAAHgAAAAAFHAAAAAABHAAAAAAAHAAAAAAEHAAAAAADHAAAAAABHAAAAAAFHQAAAAAAHQAAAAACHQAAAAACHAAAAAAFHAAAAAAFHAAAAAADHAAAAAAFHQAAAAAAHQAAAAADHQAAAAAEHAAAAAABHAAAAAAFHAAAAAABHAAAAAAAHQAAAAACHQAAAAAFHAAAAAAFHQAAAAAEHQAAAAAFHAAAAAAEHAAAAAAFHAAAAAADHAAAAAABHQAAAAABHQAAAAABHQAAAAADHAAAAAAAHAAAAAAFHAAAAAABHAAAAAAFHQAAAAABHQAAAAAAHQAAAAAEHQAAAAAFHQAAAAACHQAAAAADHQAAAAAEHQAAAAABHQAAAAAEHQAAAAAFHQAAAAACHQAAAAAEHAAAAAAFHAAAAAAFHAAAAAAFHAAAAAAAHAAAAAAFHQAAAAACHQAAAAAEHgAAAAABHQAAAAAAHQAAAAABHAAAAAABHQAAAAAAHQAAAAAFHgAAAAAAHgAAAAAEHgAAAAAF + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAACHAAAAAAFHQAAAAAAHQAAAAADHgAAAAADHQAAAAABHQAAAAABHgAAAAAFHQAAAAAFHAAAAAACHAAAAAAFHAAAAAABHQAAAAAAHAAAAAAEHAAAAAACHAAAAAADHAAAAAACHAAAAAABHQAAAAAEHQAAAAACHQAAAAAFHQAAAAACHQAAAAAFHQAAAAAAHAAAAAABHAAAAAADHAAAAAACHAAAAAAFHQAAAAAAHQAAAAAFHQAAAAACHAAAAAACHAAAAAABHAAAAAAFHQAAAAACHQAAAAACHQAAAAAFHQAAAAAAHgAAAAAFHQAAAAAAHAAAAAACHAAAAAAEHAAAAAADHAAAAAADHAAAAAAAHQAAAAAFHQAAAAAAHQAAAAADHAAAAAACHQAAAAAAHQAAAAABHAAAAAAFHQAAAAADHQAAAAAFHQAAAAADHQAAAAAEHQAAAAABHAAAAAAEHAAAAAACHAAAAAABHAAAAAADHAAAAAAAHQAAAAAEHgAAAAACHAAAAAABHAAAAAAAHAAAAAADHAAAAAADHAAAAAACHAAAAAAAHQAAAAADHQAAAAAAHQAAAAAFHQAAAAADHAAAAAACHAAAAAAAHQAAAAAAHQAAAAAFHQAAAAAAHgAAAAAFHAAAAAABHAAAAAAAHAAAAAAEHAAAAAADHAAAAAABHAAAAAAFHQAAAAAAHQAAAAACHQAAAAACHAAAAAAFHAAAAAAFHAAAAAADHAAAAAAFHQAAAAAAHQAAAAADHQAAAAAEHAAAAAABHAAAAAAFHAAAAAABHAAAAAAAHQAAAAACHQAAAAAFHAAAAAAFHQAAAAAEHQAAAAAFHAAAAAAEHAAAAAAFHAAAAAADHAAAAAABHQAAAAABHQAAAAABHQAAAAADHAAAAAAAHAAAAAAFHAAAAAABHAAAAAAFHQAAAAABHQAAAAAAHQAAAAAEHQAAAAAFHQAAAAACHQAAAAADHQAAAAAEHQAAAAABHQAAAAAEHQAAAAAFHQAAAAACHQAAAAAEHAAAAAAFHAAAAAAFHAAAAAAFHAAAAAAAHAAAAAAFHQAAAAACHQAAAAAEHgAAAAABHQAAAAAAHQAAAAABHAAAAAABHQAAAAAAHQAAAAAFHgAAAAAAHgAAAAAEHgAAAAAF version: 6 2,1: ind: 2,1 @@ -327,246 +327,246 @@ entities: - -16,16 - 0,-32 - 8,-8 - - 16,-8 + - 16,16 - 8,-16 - - 16,-16 + - 16,8 - 8,-24 - 0,-8 - - 16,-24 - - 32,24 - - 16,-32 + - 16,0 + - -32,16 + - 16,-8 - 8,-32 - -8,16 - - 32,16 + - 16,-16 - -16,8 - - 16,16 - - 24,16 + - 16,-24 - -16,0 - - 24,8 + - 16,24 - -8,8 - - 16,8 - - 32,8 + - 16,-32 + - 8,-40 - 8,8 - - 24,0 - - 32,0 - - 16,0 + - 8,24 + - 0,-40 + - 16,-40 - 0,8 - -16,-8 - 8,0 - 0,0 - -8,0 - 8,16 - - 24,-8 + - 0,24 - -16,-16 - -16,-24 - - 32,-8 - - 32,-16 + - -8,-40 + - -16,-40 - -8,-8 - -16,-32 - -8,-16 - -8,-24 - -8,-32 - 0,16 - - 24,-16 - - 24,24 - - 32,-24 - - 24,-24 - - 24,-40 - - 16,-40 - - 8,-40 - - 0,-40 - - 32,-32 + - -8,24 + - -16,24 + - -24,-40 + - -24,24 + - -32,8 + - -32,0 + - -32,24 + - -40,24 - -24,16 - - 24,-32 - - -8,-40 - -24,8 - -24,0 - -24,-8 - -24,-16 - -24,-24 - -24,-32 - - 32,-40 - - -32,24 - - -32,16 - - -16,-40 - - -32,8 - - 16,24 - - -32,0 - - 8,24 + - -40,16 + - -40,8 - -32,-8 - - 0,24 + - -40,0 - -32,-16 - - -8,24 + - -40,-8 - -32,-24 - - -16,24 - - -24,-40 - - -24,24 + - -40,-16 - -32,-32 + - -40,-24 - -32,-40 + - -40,-32 + - -40,-40 + - 24,24 + - 24,16 + - 24,8 + - 24,0 + - 24,-8 + - 24,-16 + - 24,-24 + - 24,-32 + - 24,-40 entities: 0,-16: {} 0,-24: {} -16,16: {} 0,-32: {} 8,-8: {} - 16,-8: {} + 16,16: {} 8,-16: {} - 16,-16: {} + 16,8: {} 8,-24: {} 0,-8: {} - 16,-24: {} - 32,24: {} - 16,-32: {} + 16,0: {} + -32,16: {} + 16,-8: {} 8,-32: {} -8,16: {} - 32,16: {} + 16,-16: {} -16,8: {} - 16,16: {} - 24,16: {} + 16,-24: {} -16,0: {} - 24,8: {} + 16,24: {} -8,8: {} - 16,8: {} - 32,8: {} + 16,-32: {} + 8,-40: {} 8,8: {} - 24,0: {} - 32,0: {} - 16,0: {} + 8,24: {} + 0,-40: {} + 16,-40: {} 0,8: {} -16,-8: {} 8,0: {} 0,0: {} -8,0: {} 8,16: {} - 24,-8: {} + 0,24: {} -16,-16: {} -16,-24: {} - 32,-8: {} - 32,-16: {} + -8,-40: {} + -16,-40: {} -8,-8: {} -16,-32: {} -8,-16: {} -8,-24: {} -8,-32: {} 0,16: {} - 24,-16: {} - 24,24: {} - 32,-24: {} - 24,-24: {} - 24,-40: {} - 16,-40: {} - 8,-40: {} - 0,-40: {} - 32,-32: {} + -8,24: {} + -16,24: {} + -24,-40: {} + -24,24: {} + -32,8: {} + -32,0: {} + -32,24: {} + -40,24: {} -24,16: {} - 24,-32: {} - -8,-40: {} -24,8: {} -24,0: {} -24,-8: {} -24,-16: {} -24,-24: {} -24,-32: {} - 32,-40: {} - -32,24: {} - -32,16: {} - -16,-40: {} - -32,8: {} - 16,24: {} - -32,0: {} - 8,24: {} + -40,16: {} + -40,8: {} -32,-8: {} - 0,24: {} + -40,0: {} -32,-16: {} - -8,24: {} + -40,-8: {} -32,-24: {} - -16,24: {} - -24,-40: {} - -24,24: {} + -40,-16: {} -32,-32: {} + -40,-24: {} -32,-40: {} + -40,-32: {} + -40,-40: {} + 24,24: {} + 24,16: {} + 24,8: {} + 24,0: {} + 24,-8: {} + 24,-16: {} + 24,-24: {} + 24,-32: {} + 24,-40: {} decals: 0,-16: {} 0,-24: {} -16,16: {} 0,-32: {} 8,-8: {} - 16,-8: {} + 16,16: {} 8,-16: {} - 16,-16: {} + 16,8: {} 8,-24: {} 0,-8: {} - 16,-24: {} - 32,24: {} - 16,-32: {} + 16,0: {} + -32,16: {} + 16,-8: {} 8,-32: {} -8,16: {} - 32,16: {} + 16,-16: {} -16,8: {} - 16,16: {} - 24,16: {} + 16,-24: {} -16,0: {} - 24,8: {} + 16,24: {} -8,8: {} - 16,8: {} - 32,8: {} + 16,-32: {} + 8,-40: {} 8,8: {} - 24,0: {} - 32,0: {} - 16,0: {} + 8,24: {} + 0,-40: {} + 16,-40: {} 0,8: {} -16,-8: {} 8,0: {} 0,0: {} -8,0: {} 8,16: {} - 24,-8: {} + 0,24: {} -16,-16: {} -16,-24: {} - 32,-8: {} - 32,-16: {} + -8,-40: {} + -16,-40: {} -8,-8: {} -16,-32: {} -8,-16: {} -8,-24: {} -8,-32: {} 0,16: {} - 24,-16: {} - 24,24: {} - 32,-24: {} - 24,-24: {} - 24,-40: {} - 16,-40: {} - 8,-40: {} - 0,-40: {} - 32,-32: {} + -8,24: {} + -16,24: {} + -24,-40: {} + -24,24: {} + -32,8: {} + -32,0: {} + -32,24: {} + -40,24: {} -24,16: {} - 24,-32: {} - -8,-40: {} -24,8: {} -24,0: {} -24,-8: {} -24,-16: {} -24,-24: {} -24,-32: {} - 32,-40: {} - -32,24: {} - -32,16: {} - -16,-40: {} - -32,8: {} - 16,24: {} - -32,0: {} - 8,24: {} + -40,16: {} + -40,8: {} -32,-8: {} - 0,24: {} + -40,0: {} -32,-16: {} - -8,24: {} + -40,-8: {} -32,-24: {} - -16,24: {} - -24,-40: {} - -24,24: {} + -40,-16: {} -32,-32: {} + -40,-24: {} -32,-40: {} + -40,-32: {} + -40,-40: {} + 24,24: {} + 24,16: {} + 24,8: {} + 24,0: {} + 24,-8: {} + 24,-16: {} + 24,-24: {} + 24,-32: {} + 24,-40: {} modifiedTiles: 8,0: - 8,0 @@ -60812,18 +60812,6 @@ entities: rot: 1.5707963267948966 rad pos: -19.5,51.5 parent: 1 - - uid: 8666 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,4.5 - parent: 1 - - uid: 8667 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,5.5 - parent: 1 - uid: 8668 components: - type: Transform @@ -61100,18 +61088,6 @@ entities: rot: 1.5707963267948966 rad pos: -18.5,51.5 parent: 1 - - uid: 8714 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -17.5,4.5 - parent: 1 - - uid: 8715 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -17.5,5.5 - parent: 1 - uid: 8716 components: - type: Transform @@ -61388,36 +61364,6 @@ entities: rot: 1.5707963267948966 rad pos: -17.5,51.5 parent: 1 - - uid: 8762 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,4.5 - parent: 1 - - uid: 8763 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,5.5 - parent: 1 - - uid: 8764 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,6.5 - parent: 1 - - uid: 8765 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,7.5 - parent: 1 - - uid: 8766 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,8.5 - parent: 1 - uid: 8767 components: - type: Transform @@ -61676,36 +61622,6 @@ entities: rot: 1.5707963267948966 rad pos: -16.5,51.5 parent: 1 - - uid: 8810 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,4.5 - parent: 1 - - uid: 8811 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,5.5 - parent: 1 - - uid: 8812 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,6.5 - parent: 1 - - uid: 8813 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,7.5 - parent: 1 - - uid: 8814 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,8.5 - parent: 1 - uid: 8815 components: - type: Transform @@ -61964,36 +61880,6 @@ entities: rot: 1.5707963267948966 rad pos: -15.5,51.5 parent: 1 - - uid: 8858 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -14.5,4.5 - parent: 1 - - uid: 8859 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -14.5,5.5 - parent: 1 - - uid: 8860 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -14.5,6.5 - parent: 1 - - uid: 8861 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -14.5,7.5 - parent: 1 - - uid: 8862 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -14.5,8.5 - parent: 1 - uid: 8863 components: - type: Transform @@ -62366,30 +62252,6 @@ entities: rot: 1.5707963267948966 rad pos: -19.5,3.5 parent: 1 - - uid: 8925 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,3.5 - parent: 1 - - uid: 8926 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -17.5,3.5 - parent: 1 - - uid: 8927 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,3.5 - parent: 1 - - uid: 8928 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,3.5 - parent: 1 - uid: 8929 components: - type: Transform @@ -62474,24 +62336,6 @@ entities: rot: 1.5707963267948966 rad pos: -19.5,2.5 parent: 1 - - uid: 8943 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,2.5 - parent: 1 - - uid: 8944 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -17.5,2.5 - parent: 1 - - uid: 8945 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -16.5,2.5 - parent: 1 - uid: 8946 components: - type: Transform @@ -62522,18 +62366,6 @@ entities: rot: 1.5707963267948966 rad pos: -19.5,1.5 parent: 1 - - uid: 8951 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,1.5 - parent: 1 - - uid: 8952 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -17.5,1.5 - parent: 1 - uid: 8953 components: - type: Transform @@ -62546,12 +62378,6 @@ entities: rot: 1.5707963267948966 rad pos: -19.5,0.5 parent: 1 - - uid: 8955 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,0.5 - parent: 1 - uid: 8956 components: - type: Transform @@ -62564,12 +62390,6 @@ entities: rot: 1.5707963267948966 rad pos: -19.5,-1.5 parent: 1 - - uid: 8958 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -18.5,-0.5 - parent: 1 - uid: 8959 components: - type: Transform @@ -63130,19 +62950,6 @@ entities: rot: 1.5707963267948966 rad pos: -0.5,51.5 parent: 1 - - uid: 9052 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -1.5,7.5 - parent: 1 - - uid: 9053 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,8.5 - parent: 1 - uid: 9054 components: - type: Transform @@ -63401,19 +63208,6 @@ entities: rot: 1.5707963267948966 rad pos: -1.5,51.5 parent: 1 - - uid: 9097 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -2.5,7.5 - parent: 1 - - uid: 9098 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,8.5 - parent: 1 - uid: 9099 components: - type: Transform @@ -63672,19 +63466,6 @@ entities: rot: 1.5707963267948966 rad pos: -2.5,51.5 parent: 1 - - uid: 9142 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -3.5,7.5 - parent: 1 - - uid: 9143 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,8.5 - parent: 1 - uid: 9144 components: - type: Transform @@ -63943,19 +63724,6 @@ entities: rot: 1.5707963267948966 rad pos: -3.5,51.5 parent: 1 - - uid: 9187 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -4.5,7.5 - parent: 1 - - uid: 9188 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,8.5 - parent: 1 - uid: 9189 components: - type: Transform @@ -64214,25 +63982,6 @@ entities: rot: 1.5707963267948966 rad pos: -4.5,51.5 parent: 1 - - uid: 9232 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -5.5,7.5 - parent: 1 - - uid: 9233 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,8.5 - parent: 1 - - uid: 9234 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,9.5 - parent: 1 - uid: 9235 components: - type: Transform @@ -64485,25 +64234,6 @@ entities: rot: 1.5707963267948966 rad pos: -5.5,51.5 parent: 1 - - uid: 9277 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -6.5,7.5 - parent: 1 - - uid: 9278 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,8.5 - parent: 1 - - uid: 9279 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,9.5 - parent: 1 - uid: 9280 components: - type: Transform @@ -64756,25 +64486,6 @@ entities: rot: 1.5707963267948966 rad pos: -6.5,51.5 parent: 1 - - uid: 9322 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -7.5,7.5 - parent: 1 - - uid: 9323 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,8.5 - parent: 1 - - uid: 9324 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,9.5 - parent: 1 - uid: 9325 components: - type: Transform @@ -65027,25 +64738,6 @@ entities: rot: 1.5707963267948966 rad pos: -7.5,51.5 parent: 1 - - uid: 9367 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -8.5,7.5 - parent: 1 - - uid: 9368 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,8.5 - parent: 1 - - uid: 9369 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,9.5 - parent: 1 - uid: 9370 components: - type: Transform @@ -65298,25 +64990,6 @@ entities: rot: 1.5707963267948966 rad pos: -8.5,51.5 parent: 1 - - uid: 9412 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -9.5,7.5 - parent: 1 - - uid: 9413 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,8.5 - parent: 1 - - uid: 9414 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,9.5 - parent: 1 - uid: 9415 components: - type: Transform @@ -65569,25 +65242,6 @@ entities: rot: 1.5707963267948966 rad pos: -9.5,51.5 parent: 1 - - uid: 9457 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -10.5,7.5 - parent: 1 - - uid: 9458 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,8.5 - parent: 1 - - uid: 9459 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,9.5 - parent: 1 - uid: 9460 components: - type: Transform @@ -65840,25 +65494,6 @@ entities: rot: 1.5707963267948966 rad pos: -10.5,51.5 parent: 1 - - uid: 9502 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -11.5,7.5 - parent: 1 - - uid: 9503 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -11.5,8.5 - parent: 1 - - uid: 9504 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -11.5,9.5 - parent: 1 - uid: 9505 components: - type: Transform @@ -66111,25 +65746,6 @@ entities: rot: 1.5707963267948966 rad pos: -11.5,51.5 parent: 1 - - uid: 9547 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -12.5,7.5 - parent: 1 - - uid: 9548 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -12.5,8.5 - parent: 1 - - uid: 9549 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -12.5,9.5 - parent: 1 - uid: 9550 components: - type: Transform @@ -66382,19 +65998,6 @@ entities: rot: 1.5707963267948966 rad pos: -12.5,51.5 parent: 1 - - uid: 9592 - components: - - type: Transform - anchored: False - rot: 1.5707963267948966 rad - pos: -13.5,7.5 - parent: 1 - - uid: 9593 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -13.5,8.5 - parent: 1 - uid: 9594 components: - type: Transform @@ -66653,175 +66256,13 @@ entities: rot: 1.5707963267948966 rad pos: -13.5,51.5 parent: 1 - - uid: 9637 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -13.5,5.5 - parent: 1 - - uid: 9638 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -13.5,6.5 - parent: 1 - - uid: 9639 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -12.5,5.5 - parent: 1 - - uid: 9640 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -12.5,6.5 - parent: 1 - - uid: 9641 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -11.5,5.5 - parent: 1 - - uid: 9642 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -11.5,6.5 - parent: 1 - - uid: 9643 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,5.5 - parent: 1 - - uid: 9644 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -10.5,6.5 - parent: 1 - - uid: 9645 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,5.5 - parent: 1 - - uid: 9646 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,6.5 - parent: 1 - - uid: 9647 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,5.5 - parent: 1 - - uid: 9648 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -8.5,6.5 - parent: 1 - - uid: 9649 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,5.5 - parent: 1 - - uid: 9650 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -7.5,6.5 - parent: 1 - - uid: 9651 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,6.5 - parent: 1 - - uid: 9652 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,7.5 - parent: 1 - - uid: 9653 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,6.5 - parent: 1 - - uid: 9654 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -5.5,7.5 - parent: 1 - - uid: 9655 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,6.5 - parent: 1 - - uid: 9656 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -4.5,7.5 - parent: 1 - - uid: 9657 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,6.5 - parent: 1 - - uid: 9658 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -3.5,7.5 - parent: 1 - - uid: 9659 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,6.5 - parent: 1 - - uid: 9660 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,7.5 - parent: 1 - - uid: 9661 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,6.5 - parent: 1 - - uid: 9662 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,7.5 - parent: 1 - - uid: 9663 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -0.5,6.5 - parent: 1 - uid: 9664 components: - type: Transform rot: 1.5707963267948966 rad pos: -0.5,7.5 parent: 1 -- proto: CP14BloodGrass +- proto: CP14BloodFlower entities: - uid: 963 components: @@ -67377,7 +66818,7 @@ entities: - type: Transform pos: 0.19064665,-2.2193208 parent: 1 -- proto: CP14ClothingHeadMercenaryBeret +- proto: CP14ClothingHeadBeretMercenary entities: - uid: 9836 components: @@ -67859,11 +67300,6 @@ entities: parent: 1 - proto: CP14CrystalAmethystsBig entities: - - uid: 17 - components: - - type: Transform - pos: -4.453703,-1.3327546 - parent: 1 - uid: 446 components: - type: Transform @@ -67886,13 +67322,6 @@ entities: rot: -1.5707963267948966 rad pos: -23.325214,-6.447055 parent: 1 -- proto: CP14CrystalEmeraldsBig - entities: - - uid: 9819 - components: - - type: Transform - pos: -8.345509,-1.3777318 - parent: 1 - proto: CP14CrystalSapphiresBig entities: - uid: 425 @@ -68489,13 +67918,6 @@ entities: - type: Transform pos: -4.626365,-4.538626 parent: 1 -- proto: CP14LargeWoodenCrateFilled - entities: - - uid: 9831 - components: - - type: Transform - pos: -5.5,-4.5 - parent: 1 - proto: CP14LumiMushroom entities: - uid: 979 @@ -68535,13 +67957,6 @@ entities: - type: Transform pos: 2.5,1.5 parent: 1 -- proto: CP14MeltingMoldBlank - entities: - - uid: 411 - components: - - type: Transform - pos: 10.391784,-10.449077 - parent: 1 - proto: CP14Nail10 entities: - uid: 893 @@ -69018,13 +68433,6 @@ entities: - type: Transform pos: 2.5,-5.5 parent: 1 -- proto: CP14StatueGobRuinedVines - entities: - - uid: 9859 - components: - - type: Transform - pos: -4.5,3.5 - parent: 1 - proto: CP14StoneBlock10 entities: - uid: 851 @@ -69278,6 +68686,13 @@ entities: - type: Transform pos: 11.5,-8.5 parent: 1 +- proto: CP14TravelingStoreshipAnchor + entities: + - uid: 17 + components: + - type: Transform + pos: -10.5,1.5 + parent: 1 - proto: CP14TwoHandedSwordScythe entities: - uid: 946 @@ -69297,7 +68712,7 @@ entities: - type: Transform pos: 0.7443149,-2.2132106 parent: 1 -- proto: CP14VialSmallBloodgrassSap +- proto: CP14VialSmallBloodFlowerSap entities: - uid: 989 components: @@ -69340,6 +68755,8 @@ entities: - type: Transform pos: 2.5,1.5 parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallmountBarShelfB entities: - uid: 841 @@ -69347,6 +68764,8 @@ entities: - type: Transform pos: 1.5,1.5 parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallmountLamp entities: - uid: 388 @@ -69355,84 +68774,87 @@ entities: rot: 1.5707963267948966 rad pos: -15.5,-9.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 407 components: - type: Transform rot: -1.5707963267948966 rad pos: -24.5,-11.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 900 components: - type: Transform rot: 3.141592653589793 rad pos: -2.5,3.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 901 components: - type: Transform rot: 3.141592653589793 rad pos: 1.5,3.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 902 components: - type: Transform rot: -1.5707963267948966 rad pos: 7.5,-1.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 903 components: - type: Transform rot: 1.5707963267948966 rad pos: -1.5,-1.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 904 components: - type: Transform rot: 1.5707963267948966 rad pos: -1.5,0.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 905 components: - type: Transform rot: -1.5707963267948966 rad pos: 7.5,0.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 9742 components: - type: Transform pos: 2.5,-4.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 9744 components: - type: Transform rot: 1.5707963267948966 rad pos: 9.5,0.5 parent: 1 - - uid: 9748 - components: - - type: Transform - pos: -6.5,-4.5 - parent: 1 + - type: Fixtures + fixtures: {} - uid: 9763 components: - type: Transform rot: 3.141592653589793 rad pos: 2.5,-15.5 parent: 1 -- proto: CP14WallpaperGreen30 - entities: - - uid: 9818 - components: - - type: Transform - pos: -8.424244,-1.8724848 - parent: 1 -- proto: CP14WallpaperPurple30 - entities: - - uid: 9806 - components: - - type: Transform - pos: -4.453703,-1.9511954 - parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallStonebrick entities: - uid: 2 @@ -69637,11 +69059,6 @@ entities: - type: Transform pos: -14.5,-10.5 parent: 1 - - uid: 338 - components: - - type: Transform - pos: -14.5,-5.5 - parent: 1 - proto: CP14WallStonebrickCrushedMedium entities: - uid: 339 @@ -69807,17 +69224,6 @@ entities: layers: - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi state: right - - uid: 9754 - components: - - type: Transform - pos: -6.5,-1.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: right - - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi - state: left - uid: 9755 components: - type: Transform @@ -69836,147 +69242,6 @@ entities: layers: - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi state: right - - uid: 9757 - components: - - type: Transform - pos: -6.5,0.5 - parent: 1 - - uid: 9758 - components: - - type: Transform - pos: -6.5,-0.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: right - - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi - state: left - - uid: 9759 - components: - - type: Transform - pos: -5.5,0.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi - state: bottom - - uid: 9760 - components: - - type: Transform - pos: -3.5,0.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi - state: bottom - - uid: 9762 - components: - - type: Transform - pos: -3.5,-3.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi - state: top - - uid: 9764 - components: - - type: Transform - pos: -5.5,-3.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi - state: top - - uid: 9767 - components: - - type: Transform - pos: -6.5,-3.5 - parent: 1 - - uid: 9769 - components: - - type: Transform - pos: -6.5,-2.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: right - - sprite: _CP14/Structures/Wallpaper/wallpaper_purple.rsi - state: left - - uid: 9770 - components: - - type: Transform - pos: -7.5,0.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: bottom - - uid: 9771 - components: - - type: Transform - pos: -9.5,0.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: bottom - - uid: 9773 - components: - - type: Transform - pos: -10.5,0.5 - parent: 1 - - uid: 9774 - components: - - type: Transform - pos: -10.5,-0.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: left - - uid: 9775 - components: - - type: Transform - pos: -10.5,-1.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: left - - uid: 9776 - components: - - type: Transform - pos: -10.5,-2.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: left - - uid: 9777 - components: - - type: Transform - pos: -10.5,-3.5 - parent: 1 - - uid: 9807 - components: - - type: Transform - pos: -9.5,-3.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: top - - uid: 9808 - components: - - type: Transform - pos: -7.5,-3.5 - parent: 1 - - type: CP14WallpaperHolder - layers: - - sprite: _CP14/Structures/Wallpaper/wallpaper_green.rsi - state: top - proto: CP14Wheat entities: - uid: 926 @@ -70122,33 +69387,11 @@ entities: rot: 3.141592653589793 rad pos: -0.5,2.5 parent: 1 - - uid: 853 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,0.5 - parent: 1 - uid: 9753 components: - type: Transform pos: 4.5,-3.5 parent: 1 - - uid: 9772 - components: - - type: Transform - pos: -4.5,-3.5 - parent: 1 - - uid: 9816 - components: - - type: Transform - pos: -8.5,-3.5 - parent: 1 - - uid: 9817 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,0.5 - parent: 1 - proto: CP14WoodenDoorMirrored entities: - uid: 9809 @@ -70209,13 +69452,6 @@ entities: - type: Transform pos: -1.5,-4.5 parent: 1 -- proto: CP14WorkbenchMeltingMolds - entities: - - uid: 428 - components: - - type: Transform - pos: 10.5,-9.5 - parent: 1 - proto: CP14WorkbenchSewing entities: - uid: 9746 @@ -70224,32 +69460,6 @@ entities: rot: 1.5707963267948966 rad pos: 9.5,-4.5 parent: 1 -- proto: PlushieCarp - entities: - - uid: 9820 - components: - - type: Transform - pos: -5.2878656,-1.3215102 - parent: 1 - - uid: 9821 - components: - - type: Transform - pos: -3.7468908,-1.3327546 - parent: 1 -- proto: PlushieLizard - entities: - - uid: 9778 - components: - - type: Transform - pos: -9.073958,-1.5239091 - parent: 1 -- proto: PlushieLizardMirrored - entities: - - uid: 9779 - components: - - type: Transform - pos: -7.731851,-1.5014203 - parent: 1 - proto: SpawnPointLatejoin entities: - uid: 391 diff --git a/Resources/Maps/_CP14/tavern.yml b/Resources/Maps/_CP14/tavern.yml index 2db244c32c..b30845b0a1 100644 --- a/Resources/Maps/_CP14/tavern.yml +++ b/Resources/Maps/_CP14/tavern.yml @@ -287,7 +287,7 @@ entities: version: 6 3,2: ind: 3,2 - tiles: HQAAAAAAHQAAAAAAHQAAAAADHQAAAAADHQAAAAABHQAAAAADHQAAAAAEHgAAAAABHQAAAAAFHQAAAAACHQAAAAABHQAAAAACHQAAAAACHgAAAAAFHgAAAAACHgAAAAABHAAAAAABHAAAAAAFHAAAAAAEHAAAAAAAHAAAAAADHAAAAAAEHAAAAAACHQAAAAACHQAAAAADHAAAAAAEHAAAAAADHAAAAAABHAAAAAAEHgAAAAADHQAAAAACHgAAAAAAHAAAAAABHAAAAAACHAAAAAAEHAAAAAADHAAAAAADHAAAAAAFHAAAAAAFHQAAAAADHQAAAAABHAAAAAAEHAAAAAAAHAAAAAAEHAAAAAADHQAAAAADHQAAAAAFHQAAAAAFHAAAAAACHAAAAAACHAAAAAACHAAAAAAAHAAAAAAAHAAAAAAAHAAAAAAFHAAAAAACHQAAAAADHAAAAAAEHAAAAAAFHAAAAAACHAAAAAADHQAAAAAEHQAAAAADHQAAAAACHAAAAAAFHAAAAAAEHAAAAAAEHAAAAAACHAAAAAAAHAAAAAAFHAAAAAAEHAAAAAAEHAAAAAAAHQAAAAACHAAAAAAEHAAAAAAEHAAAAAAEHAAAAAAFHQAAAAACHAAAAAAAHQAAAAAFHAAAAAABHAAAAAACHAAAAAABHAAAAAABHAAAAAABHAAAAAAAHAAAAAABHAAAAAABHAAAAAACHAAAAAACHQAAAAACHAAAAAADHAAAAAAEHQAAAAABHAAAAAAFHQAAAAAEHAAAAAAEHAAAAAADHAAAAAADHAAAAAAFHAAAAAADHAAAAAAFHAAAAAACHAAAAAACHAAAAAAFHAAAAAABHAAAAAABHAAAAAADHAAAAAAFHQAAAAAAHAAAAAAEHAAAAAADHAAAAAABHQAAAAADHQAAAAAAHQAAAAACHAAAAAAEHAAAAAAAHQAAAAAEHQAAAAACHQAAAAABHAAAAAAFHAAAAAADHAAAAAABHAAAAAACHQAAAAAFHQAAAAAAHAAAAAADHAAAAAABHAAAAAABHAAAAAAFHQAAAAACHQAAAAAAHAAAAAADHQAAAAAEHQAAAAAEHAAAAAAFHAAAAAAAHAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHAAAAAACHAAAAAACHAAAAAACHAAAAAACHAAAAAAFHQAAAAACHQAAAAACHgAAAAADHgAAAAADHQAAAAACAAAAAAAAHAAAAAAFHAAAAAACHAAAAAACHQAAAAADHgAAAAAAHAAAAAACHAAAAAAFHAAAAAACHAAAAAAFHQAAAAACHgAAAAAEHgAAAAAAHQAAAAAFHQAAAAADHgAAAAABHgAAAAABAAAAAAAAAAAAAAAAHQAAAAAFHgAAAAACHgAAAAAAHAAAAAACHAAAAAAEHAAAAAAEHQAAAAAFHgAAAAAAHgAAAAAEHgAAAAAEHQAAAAAFHQAAAAAFHQAAAAAAHgAAAAAFAAAAAAAAHQAAAAAEHQAAAAABHQAAAAABHQAAAAADHAAAAAAFHAAAAAABHQAAAAACHgAAAAAAHgAAAAACHgAAAAAFHQAAAAADHQAAAAAEHQAAAAAAAAAAAAAAHQAAAAAEHgAAAAADHQAAAAACHQAAAAADHAAAAAADHAAAAAACHAAAAAAEHQAAAAACHQAAAAADHgAAAAAEHQAAAAACHQAAAAAEHQAAAAAAHQAAAAAFHQAAAAABAAAAAAAAHQAAAAADHQAAAAAAAAAAAAAAAAAAAAAAHAAAAAAEHAAAAAAEHQAAAAAAHQAAAAAEHgAAAAAFHgAAAAADHQAAAAACHQAAAAAFHQAAAAADHQAAAAAFHQAAAAACHQAAAAADAAAAAAAAHAAAAAAFAAAAAAAAHAAAAAAFHAAAAAAAHAAAAAACHgAAAAAFHgAAAAAAHQAAAAADHQAAAAAEHQAAAAABHQAAAAAAHQAAAAACHQAAAAABHgAAAAAAHQAAAAAEAAAAAAAAHAAAAAABHAAAAAAAHAAAAAAAAAAAAAAAHQAAAAAD + tiles: HQAAAAAAHQAAAAAAHQAAAAADHQAAAAADHQAAAAABHQAAAAADHQAAAAAEHgAAAAABHQAAAAAFHQAAAAACHQAAAAABHQAAAAACHQAAAAACHgAAAAAFHgAAAAACHgAAAAABHAAAAAABHAAAAAAFHAAAAAAEHAAAAAAAHAAAAAADHAAAAAAEHAAAAAACHQAAAAACHQAAAAADHAAAAAAEHAAAAAADHAAAAAABHAAAAAAEHgAAAAADHQAAAAACHgAAAAAAHAAAAAABHAAAAAACHAAAAAAEHAAAAAADHAAAAAADHAAAAAAFHAAAAAAFHQAAAAADHQAAAAABHAAAAAAEHAAAAAAAHAAAAAAEHAAAAAADHQAAAAADHQAAAAAFHQAAAAAFHAAAAAACHAAAAAACHAAAAAACHAAAAAAAHAAAAAAAHAAAAAAAHAAAAAAFHAAAAAACHQAAAAADHAAAAAAEHAAAAAAFHAAAAAACHAAAAAADHQAAAAAEHQAAAAADHQAAAAACHAAAAAAFHAAAAAAEHAAAAAAEHAAAAAACHAAAAAAAHAAAAAAFHAAAAAAEHAAAAAAEHAAAAAAAHQAAAAACHAAAAAAEHAAAAAAEHAAAAAAEHAAAAAAFHQAAAAACHAAAAAAAHQAAAAAFHAAAAAABHAAAAAACHAAAAAABHAAAAAABHAAAAAABHAAAAAAAHAAAAAABHAAAAAABHAAAAAACHAAAAAACHQAAAAACHAAAAAADHAAAAAAEHQAAAAABHAAAAAAFHQAAAAAEHAAAAAAEHAAAAAADHAAAAAADHAAAAAAFHAAAAAADHAAAAAAFHAAAAAACHAAAAAACHAAAAAAFHAAAAAABHAAAAAABHAAAAAADHAAAAAAFHQAAAAAAHAAAAAAEHAAAAAADHAAAAAABHQAAAAADHQAAAAAAHQAAAAACHAAAAAAEHAAAAAAAHQAAAAAEHQAAAAACHQAAAAABHAAAAAAFHAAAAAADHAAAAAABHAAAAAACHQAAAAAFHQAAAAAAHAAAAAADHAAAAAABHAAAAAABHAAAAAAFHQAAAAACHQAAAAAAHAAAAAADHQAAAAAEHQAAAAAEHAAAAAAFHAAAAAAAHAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHAAAAAACHAAAAAACHAAAAAACHAAAAAACHAAAAAAFHQAAAAACHQAAAAACHgAAAAADHgAAAAADHQAAAAACAAAAAAAAHAAAAAAFHAAAAAACHAAAAAACHQAAAAADHgAAAAAAHAAAAAACHAAAAAAFHAAAAAACAAAAAAAAHQAAAAACHgAAAAAEAAAAAAAAHQAAAAAFHQAAAAADHgAAAAABHgAAAAABAAAAAAAAAAAAAAAAHQAAAAAFHgAAAAACHgAAAAAAHAAAAAACHAAAAAAEHAAAAAAEHQAAAAAFHgAAAAAAHgAAAAAEAAAAAAAAAAAAAAAAHQAAAAAFHQAAAAAAHgAAAAAFAAAAAAAAHQAAAAAEHQAAAAABHQAAAAABHQAAAAADHAAAAAAFHAAAAAABHQAAAAACHgAAAAAAHgAAAAACHgAAAAAFAAAAAAAAHQAAAAAEHQAAAAAAAAAAAAAAHQAAAAAEHgAAAAADHQAAAAACHQAAAAADHAAAAAADHAAAAAACHAAAAAAEHQAAAAACHQAAAAADHgAAAAAEHQAAAAACHQAAAAAEHQAAAAAAHQAAAAAFHQAAAAABAAAAAAAAHQAAAAADHQAAAAAAAAAAAAAAAAAAAAAAHAAAAAAEHAAAAAAEHQAAAAAAHQAAAAAEHgAAAAAFHgAAAAADAAAAAAAAAAAAAAAAHQAAAAADAAAAAAAAHQAAAAACHQAAAAADAAAAAAAAHAAAAAAFAAAAAAAAHAAAAAAFHAAAAAAAHAAAAAACHgAAAAAFHgAAAAAAHQAAAAADHQAAAAAEHQAAAAABHQAAAAAAHQAAAAACHQAAAAABHgAAAAAAHQAAAAAEAAAAAAAAHAAAAAABHAAAAAAAHAAAAAAAAAAAAAAAHQAAAAAD version: 6 -5,-2: ind: -5,-2 @@ -323,7 +323,7 @@ entities: version: 6 2,3: ind: 2,3 - tiles: HAAAAAAAHAAAAAAAHAAAAAADHAAAAAABHQAAAAAEHQAAAAAFHQAAAAAFHQAAAAAEHgAAAAABHgAAAAADHgAAAAACHQAAAAAFHQAAAAACHQAAAAAFHQAAAAAAHQAAAAAEHAAAAAAFHAAAAAAFHAAAAAACHAAAAAABHQAAAAABHQAAAAAFHQAAAAAFHQAAAAAEHQAAAAADHQAAAAABHQAAAAABHQAAAAAFHQAAAAABHQAAAAAFHQAAAAACHAAAAAABHQAAAAACHQAAAAABHQAAAAABHAAAAAAFHQAAAAAFHgAAAAADHQAAAAABHQAAAAABHQAAAAACHQAAAAABHAAAAAADHAAAAAABHAAAAAABHQAAAAAFHQAAAAABHAAAAAAEHgAAAAAAHgAAAAADHgAAAAAEHgAAAAABHgAAAAAAHgAAAAACHgAAAAAFHQAAAAAEHQAAAAABHAAAAAAEHAAAAAAFHAAAAAADHAAAAAACHQAAAAAAHAAAAAAAHAAAAAAFHQAAAAACHQAAAAAEHgAAAAABHQAAAAAEHQAAAAAFHgAAAAADHgAAAAACHgAAAAAEHQAAAAABHQAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAAEHAAAAAACHAAAAAAAHQAAAAAAHQAAAAADHQAAAAABHQAAAAADHQAAAAAEHQAAAAADHgAAAAADHQAAAAAEHQAAAAAAHgAAAAAFHgAAAAAFHgAAAAAFHgAAAAADHQAAAAACHQAAAAAFHQAAAAAAHQAAAAAEHQAAAAABHAAAAAABHQAAAAACHQAAAAAAHQAAAAAAHQAAAAAFHQAAAAABHQAAAAAEHQAAAAABHgAAAAAFHgAAAAABHgAAAAADHQAAAAAFHgAAAAAAHQAAAAACHAAAAAAEHQAAAAABHAAAAAACHQAAAAAAHQAAAAAEHQAAAAACHQAAAAAFHQAAAAACHQAAAAAAHQAAAAAEHQAAAAADHQAAAAADHAAAAAAEHAAAAAADHQAAAAAAHgAAAAACHAAAAAAEHQAAAAAEHQAAAAAFHQAAAAAEHgAAAAACHQAAAAACHQAAAAAAHQAAAAACHQAAAAADHAAAAAAFHAAAAAAEHAAAAAAFHAAAAAACHAAAAAACHQAAAAABAAAAAAAAAAAAAAAAHQAAAAAFHQAAAAAEHQAAAAAFHgAAAAADHgAAAAAAHQAAAAAAAAAAAAAAHQAAAAADAAAAAAAAHAAAAAAAHAAAAAABHAAAAAAEHAAAAAADHAAAAAADHQAAAAAEAAAAAAAAHQAAAAADHQAAAAAAHQAAAAADHgAAAAAEHgAAAAACAAAAAAAAHAAAAAAEHAAAAAAAHQAAAAABHAAAAAADHAAAAAAFHAAAAAADHAAAAAAAHAAAAAAAHAAAAAAFAAAAAAAAHAAAAAAAHQAAAAADHgAAAAACAAAAAAAAHQAAAAABHAAAAAABHAAAAAAEHAAAAAACHAAAAAAEHAAAAAAFAAAAAAAAHAAAAAAFHAAAAAACHAAAAAABHAAAAAABHAAAAAACHAAAAAABHAAAAAACAAAAAAAAHgAAAAADHQAAAAADHQAAAAAAHAAAAAACAAAAAAAAHAAAAAAEAAAAAAAAHQAAAAACHQAAAAAEHAAAAAAEHAAAAAADHAAAAAAAHAAAAAABHAAAAAAEHAAAAAACHgAAAAAEHgAAAAAAHQAAAAACHQAAAAADHQAAAAAAHQAAAAABHgAAAAAFHgAAAAADHgAAAAABHQAAAAAEAAAAAAAAHAAAAAACHAAAAAABHAAAAAAFHAAAAAACHAAAAAABHQAAAAABHQAAAAAEHQAAAAADHQAAAAADHQAAAAABHgAAAAAAHgAAAAABHQAAAAADHQAAAAAAHQAAAAABHQAAAAAFHQAAAAABHQAAAAABHAAAAAAAHAAAAAAFHAAAAAAEHQAAAAAAHQAAAAABHQAAAAAEHQAAAAABAAAAAAAAAAAAAAAAHQAAAAAFHAAAAAADHAAAAAAAHQAAAAACAAAAAAAAHQAAAAABHQAAAAAA + tiles: HAAAAAAAHAAAAAAAHAAAAAADHAAAAAABHQAAAAAEHQAAAAAFHQAAAAAFHQAAAAAEHgAAAAABHgAAAAADHgAAAAACHQAAAAAFHQAAAAACHQAAAAAFHQAAAAAAHQAAAAAEHAAAAAAFHAAAAAAFHAAAAAACHAAAAAABHQAAAAABHQAAAAAFHQAAAAAFHQAAAAAEHQAAAAADHQAAAAABHQAAAAABHQAAAAAFHQAAAAABHQAAAAAFHQAAAAACHAAAAAABHQAAAAACHQAAAAABHQAAAAABHAAAAAAFHQAAAAAFHgAAAAADHQAAAAABHQAAAAABHQAAAAACHQAAAAABHAAAAAADHAAAAAABHAAAAAABHQAAAAAFHQAAAAABHAAAAAAEHgAAAAAAHgAAAAADHgAAAAAEHgAAAAABHgAAAAAAHgAAAAACHgAAAAAFHQAAAAAEHQAAAAABHAAAAAAEHAAAAAAFHAAAAAADHAAAAAACHQAAAAAAAAAAAAAAHAAAAAAFHQAAAAACHQAAAAAEHgAAAAABHQAAAAAEHQAAAAAFHgAAAAADHgAAAAACHgAAAAAEHQAAAAABHQAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAAEHAAAAAACHAAAAAAAHQAAAAAAHQAAAAADHQAAAAABHQAAAAADHQAAAAAEHQAAAAADHgAAAAADHQAAAAAEHQAAAAAAHgAAAAAFHgAAAAAFHgAAAAAFHgAAAAADHQAAAAACHQAAAAAFHQAAAAAAHQAAAAAEHQAAAAABHAAAAAABHQAAAAACHQAAAAAAHQAAAAAAHQAAAAAFHQAAAAABHQAAAAAEHQAAAAABHgAAAAAFHgAAAAABHgAAAAADHQAAAAAFAAAAAAAAAAAAAAAAHAAAAAAEHQAAAAABHAAAAAACHQAAAAAAHQAAAAAEHQAAAAACHQAAAAAFHQAAAAACHQAAAAAAHQAAAAAEHQAAAAADHQAAAAADHAAAAAAEHAAAAAADAAAAAAAAAAAAAAAAHAAAAAAEHQAAAAAEHQAAAAAFHQAAAAAEHgAAAAACHQAAAAACHQAAAAAAHQAAAAACHQAAAAADHAAAAAAFHAAAAAAEHAAAAAAFHAAAAAACHAAAAAACHQAAAAABAAAAAAAAAAAAAAAAHQAAAAAFHQAAAAAEHQAAAAAFHgAAAAADHgAAAAAAHQAAAAAAAAAAAAAAHQAAAAADAAAAAAAAHAAAAAAAHAAAAAABHAAAAAAEHAAAAAADHAAAAAADHQAAAAAEAAAAAAAAHQAAAAADHQAAAAAAHQAAAAADHgAAAAAEHgAAAAACAAAAAAAAHAAAAAAEHAAAAAAAHQAAAAABHAAAAAADHAAAAAAFHAAAAAADHAAAAAAAHAAAAAAAHAAAAAAFAAAAAAAAHAAAAAAAHQAAAAADHgAAAAACAAAAAAAAHQAAAAABHAAAAAABHAAAAAAEHAAAAAACHAAAAAAEHAAAAAAFAAAAAAAAHAAAAAAFHAAAAAACHAAAAAABHAAAAAABHAAAAAACHAAAAAABHAAAAAACAAAAAAAAHgAAAAADHQAAAAADHQAAAAAAHAAAAAACAAAAAAAAHAAAAAAEAAAAAAAAHQAAAAACHQAAAAAEHAAAAAAEHAAAAAADHAAAAAAAHAAAAAABHAAAAAAEHAAAAAACHgAAAAAEHgAAAAAAHQAAAAACHQAAAAADHQAAAAAAHQAAAAABHgAAAAAFHgAAAAADHgAAAAABHQAAAAAEAAAAAAAAHAAAAAACHAAAAAABHAAAAAAFHAAAAAACHAAAAAABHQAAAAABHQAAAAAEHQAAAAADHQAAAAADHQAAAAABHgAAAAAAHgAAAAABHQAAAAADHQAAAAAAHQAAAAABHQAAAAAFHQAAAAABHQAAAAABHAAAAAAAHAAAAAAFHAAAAAAEHQAAAAAAHQAAAAABHQAAAAAEHQAAAAABAAAAAAAAAAAAAAAAHQAAAAAFHAAAAAADHAAAAAAAHQAAAAACAAAAAAAAHQAAAAABHQAAAAAA version: 6 0,3: ind: 0,3 @@ -359,7 +359,7 @@ entities: version: 6 3,3: ind: 3,3 - tiles: HQAAAAAFHAAAAAAAHAAAAAADHQAAAAAFHQAAAAAAHQAAAAAAHQAAAAABHgAAAAAAHgAAAAAFAAAAAAAAHQAAAAAAHQAAAAAFHAAAAAACHAAAAAADHQAAAAACHQAAAAAFHAAAAAACHAAAAAADHAAAAAACHAAAAAACHQAAAAAAHQAAAAABHQAAAAABHgAAAAAAAAAAAAAAHgAAAAAFHQAAAAABHgAAAAAFHQAAAAAAHQAAAAABHQAAAAADHAAAAAAEHAAAAAACHAAAAAABHAAAAAADHAAAAAAFHAAAAAAAHQAAAAACHQAAAAACHQAAAAABAAAAAAAAHgAAAAACHgAAAAADHQAAAAAEHQAAAAABHQAAAAABHAAAAAADHAAAAAACHAAAAAABHAAAAAAFHAAAAAAAHAAAAAAAHAAAAAACHQAAAAAAHQAAAAACHQAAAAADHQAAAAACHgAAAAABHQAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAAFHAAAAAAFHAAAAAABHQAAAAACHAAAAAACHAAAAAACHAAAAAABHAAAAAADHAAAAAAFAAAAAAAAAAAAAAAAHgAAAAAAHQAAAAAAHQAAAAABHQAAAAADHAAAAAAAHAAAAAAAHAAAAAAFHAAAAAAFHAAAAAADHAAAAAACHAAAAAABHAAAAAAFHAAAAAAAHAAAAAAAHAAAAAACHQAAAAAFHQAAAAAEHgAAAAADHgAAAAAAAAAAAAAAHAAAAAACHAAAAAADHQAAAAAEHQAAAAABHAAAAAAEHAAAAAAAHAAAAAAFHAAAAAAFHAAAAAAAHAAAAAAFHAAAAAAAHAAAAAAEHQAAAAAEAAAAAAAAHgAAAAACHQAAAAACHQAAAAADAAAAAAAAHgAAAAABHQAAAAAFHQAAAAADHAAAAAAEHAAAAAABHAAAAAAAHAAAAAABHAAAAAAEAAAAAAAAAAAAAAAAHQAAAAACHQAAAAAEHQAAAAAEHQAAAAABHQAAAAAEHAAAAAACHQAAAAACHQAAAAABHQAAAAACHAAAAAACHAAAAAAEHAAAAAAFHQAAAAAFHAAAAAAAHAAAAAACHQAAAAAFHQAAAAADHQAAAAAFHQAAAAACHQAAAAAEHQAAAAAAHAAAAAADHgAAAAAFAAAAAAAAHgAAAAAFHAAAAAAEHAAAAAAEHAAAAAAAHAAAAAAFHAAAAAADHAAAAAABHgAAAAACHQAAAAAEHQAAAAADHQAAAAADHQAAAAACHAAAAAACHAAAAAAFHQAAAAABHgAAAAADHQAAAAAFAAAAAAAAHAAAAAABHAAAAAACHAAAAAAFAAAAAAAAHQAAAAAFHgAAAAACHgAAAAAEHQAAAAACHQAAAAAAHQAAAAABAAAAAAAAHAAAAAAEHQAAAAAEHgAAAAABHQAAAAACHAAAAAAFAAAAAAAAHAAAAAAFHAAAAAAAHAAAAAADHQAAAAACHQAAAAAFHQAAAAAFHAAAAAADHAAAAAAFHAAAAAACAAAAAAAAAAAAAAAAHQAAAAABHgAAAAAEAAAAAAAAHAAAAAABHAAAAAAAHAAAAAAAHQAAAAAFHAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAABHAAAAAAAHAAAAAAFHAAAAAAEHAAAAAADHQAAAAADHgAAAAACHQAAAAAAHAAAAAADHAAAAAABHAAAAAABHQAAAAADHAAAAAAFHAAAAAABHAAAAAAEHAAAAAABHAAAAAACHAAAAAABHAAAAAABHAAAAAAFAAAAAAAAAAAAAAAAHgAAAAADHgAAAAADHAAAAAACHAAAAAABHAAAAAADHQAAAAAFAAAAAAAAHQAAAAADHQAAAAACHQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAEHgAAAAABHgAAAAACHQAAAAAFHQAAAAADAAAAAAAAHQAAAAABHQAAAAACHQAAAAADHAAAAAABHAAAAAADHQAAAAABHAAAAAACHAAAAAADHAAAAAADHAAAAAAFHAAAAAAA + tiles: HQAAAAAFHAAAAAAAHAAAAAADHQAAAAAFHQAAAAAAHQAAAAAAHQAAAAABHgAAAAAAHgAAAAAFAAAAAAAAHQAAAAAAHQAAAAAFHAAAAAACHAAAAAADHQAAAAACHQAAAAAFHAAAAAACHAAAAAADHAAAAAACAAAAAAAAAAAAAAAAHQAAAAABHQAAAAABHgAAAAAAAAAAAAAAHgAAAAAFHQAAAAABHgAAAAAFHQAAAAAAHQAAAAABHQAAAAADHAAAAAAEAAAAAAAAHAAAAAABHAAAAAADHAAAAAAFHAAAAAAAHQAAAAACHQAAAAACHQAAAAABAAAAAAAAHgAAAAACHgAAAAADHQAAAAAEHQAAAAABHQAAAAABHAAAAAADHAAAAAACHAAAAAABHAAAAAAFHAAAAAAAAAAAAAAAHAAAAAACHQAAAAAAHQAAAAACHQAAAAADHQAAAAACHgAAAAABHQAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAAFAAAAAAAAHAAAAAABAAAAAAAAHAAAAAACHAAAAAACHAAAAAABHAAAAAADHAAAAAAFAAAAAAAAAAAAAAAAHgAAAAAAHQAAAAAAHQAAAAABHQAAAAADHAAAAAAAHAAAAAAAAAAAAAAAHAAAAAAFHAAAAAADHAAAAAACAAAAAAAAAAAAAAAAHAAAAAAAHAAAAAAAHAAAAAACHQAAAAAFHQAAAAAEHgAAAAADHgAAAAAAAAAAAAAAHAAAAAACHAAAAAADHQAAAAAEHQAAAAABHAAAAAAEAAAAAAAAHAAAAAAFHAAAAAAFAAAAAAAAHAAAAAAFHAAAAAAAHAAAAAAEHQAAAAAEAAAAAAAAHgAAAAACHQAAAAACHQAAAAADAAAAAAAAHgAAAAABHQAAAAAFHQAAAAADAAAAAAAAHAAAAAABAAAAAAAAHAAAAAABHAAAAAAEAAAAAAAAAAAAAAAAHQAAAAACHQAAAAAEHQAAAAAEHQAAAAABHQAAAAAEHAAAAAACHQAAAAACHQAAAAABHQAAAAACHAAAAAACHAAAAAAEHAAAAAAFHQAAAAAFHAAAAAAAHAAAAAACHQAAAAAFHQAAAAADHQAAAAAFHQAAAAACHQAAAAAEHQAAAAAAHAAAAAADHgAAAAAFAAAAAAAAHgAAAAAFHAAAAAAEHAAAAAAEHAAAAAAAHAAAAAAFHAAAAAADHAAAAAABHgAAAAACHQAAAAAEHQAAAAADHQAAAAADHQAAAAACHAAAAAACHAAAAAAFHQAAAAABHgAAAAADHQAAAAAFAAAAAAAAHAAAAAABHAAAAAACHAAAAAAFAAAAAAAAHQAAAAAFHgAAAAACHgAAAAAEHQAAAAACHQAAAAAAHQAAAAABAAAAAAAAHAAAAAAEHQAAAAAEHgAAAAABHQAAAAACHAAAAAAFAAAAAAAAHAAAAAAFHAAAAAAAHAAAAAADHQAAAAACHQAAAAAFHQAAAAAFHAAAAAADHAAAAAAFHAAAAAACAAAAAAAAAAAAAAAAHQAAAAABHgAAAAAEAAAAAAAAHAAAAAABHAAAAAAAHAAAAAAAHQAAAAAFHAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAABHAAAAAAAHAAAAAAFHAAAAAAEHAAAAAADHQAAAAADHgAAAAACHQAAAAAAHAAAAAADHAAAAAABHAAAAAABHQAAAAADHAAAAAAFHAAAAAABHAAAAAAEHAAAAAABHAAAAAACHAAAAAABHAAAAAABHAAAAAAFAAAAAAAAAAAAAAAAHgAAAAADHgAAAAADHAAAAAACHAAAAAABHAAAAAADHQAAAAAFAAAAAAAAHQAAAAADHQAAAAACHQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAEHgAAAAABHgAAAAACHQAAAAAFHQAAAAADAAAAAAAAHQAAAAABHQAAAAACHQAAAAADHAAAAAABHAAAAAADHQAAAAABHAAAAAACHAAAAAADHAAAAAADHAAAAAAFHAAAAAAA version: 6 0,4: ind: 0,4 @@ -402,251 +402,251 @@ entities: loadedMarkers: {} pendingMarkers: {} loadedChunks: - - 48,48 - - 24,40 - - 16,40 - - 24,8 - - 48,40 - - 48,32 - - 8,40 - - 40,40 - - 48,24 - - 24,-16 - - 16,-16 - - 8,-16 - - 0,-16 - - -8,-16 - - -16,-16 - - 0,40 - - 24,16 - - 16,16 - - 24,0 - - 16,8 - - -8,40 - - 48,16 - - 16,0 - - 8,0 - - 48,8 - - 8,16 - - -16,40 - - 0,0 - - 40,32 - - 0,16 - - 8,8 - - 40,48 - - 0,8 - - -8,0 - - 32,40 - - 32,32 - - 32,24 - - 48,0 - - -16,0 - - 24,-8 - - -8,8 - - 16,-8 - - 32,48 - - 8,-8 - - 40,24 - - -16,8 - - 24,48 - - 32,16 - - 16,48 - - 8,48 - - 0,-8 - - 0,48 - - 24,32 - - -8,48 - - -8,-8 - - 16,32 - - 48,-8 - - 8,32 - - -16,-8 + - -32,24 + - 24,-40 - 24,24 - - 0,32 - - -8,16 - - 32,8 - - 40,16 + - 24,16 + - 24,8 + - 24,0 + - -32,16 + - -32,8 - 16,24 - - 40,8 - - 8,24 - - -16,16 - - 32,0 - - 40,0 - - 32,-8 - - 32,-16 - - 40,-8 - - 40,-16 - - -8,32 + - 16,16 + - 16,-24 + - 8,-24 + - 0,-24 + - -32,0 + - -32,-8 + - -8,-24 + - 16,-40 + - 16,8 + - 8,-40 + - 16,0 + - 16,-8 + - 16,-16 + - 24,-8 + - -16,-24 + - -32,-16 + - 0,-40 + - 24,-16 + - -8,-40 - 0,24 - - -16,32 - - 48,-16 + - 0,16 + - 0,8 + - 0,0 + - 0,-8 + - 0,-16 + - -40,24 + - -16,-40 + - -24,-24 - -8,24 + - -8,16 + - -8,8 + - -8,0 + - -8,-8 + - -8,-16 + - -40,16 + - -24,-40 + - -32,-40 - -16,24 - - -16,48 + - -16,16 + - -24,24 + - -16,8 + - -16,0 + - -24,16 + - -24,8 + - -24,0 + - -24,-8 + - -24,-16 + - -40,8 + - -40,-40 + - -16,-8 + - -16,-16 + - -40,0 + - 24,-24 + - -32,-24 + - 24,-32 + - -40,-24 + - 16,-32 + - 8,24 + - 8,16 + - 8,8 + - 8,0 + - 8,-8 + - 8,-16 + - 8,-32 + - 0,-32 + - -8,-32 + - -16,-32 + - -24,-32 + - -32,-32 + - -40,-32 + - -40,-8 + - -40,-16 entities: - 48,48: {} - 24,40: {} - 16,40: {} - 24,8: {} - 48,40: {} - 48,32: {} - 8,40: {} - 40,40: {} - 48,24: {} - 24,-16: {} - 16,-16: {} - 8,-16: {} - 0,-16: {} - -8,-16: {} - -16,-16: {} - 0,40: {} - 24,16: {} - 16,16: {} - 24,0: {} - 16,8: {} - -8,40: {} - 48,16: {} - 16,0: {} - 8,0: {} - 48,8: {} - 8,16: {} - -16,40: {} - 0,0: {} - 40,32: {} - 0,16: {} - 8,8: {} - 40,48: {} - 0,8: {} - -8,0: {} - 32,40: {} - 32,32: {} - 32,24: {} - 48,0: {} - -16,0: {} - 24,-8: {} - -8,8: {} - 16,-8: {} - 32,48: {} - 8,-8: {} - 40,24: {} - -16,8: {} - 24,48: {} - 32,16: {} - 16,48: {} - 8,48: {} - 0,-8: {} - 0,48: {} - 24,32: {} - -8,48: {} - -8,-8: {} - 16,32: {} - 48,-8: {} - 8,32: {} - -16,-8: {} + -32,24: {} + 24,-40: {} 24,24: {} - 0,32: {} - -8,16: {} - 32,8: {} - 40,16: {} + 24,16: {} + 24,8: {} + 24,0: {} + -32,16: {} + -32,8: {} 16,24: {} - 40,8: {} - 8,24: {} - -16,16: {} - 32,0: {} - 40,0: {} - 32,-8: {} - 32,-16: {} - 40,-8: {} - 40,-16: {} - -8,32: {} + 16,16: {} + 16,-24: {} + 8,-24: {} + 0,-24: {} + -32,0: {} + -32,-8: {} + -8,-24: {} + 16,-40: {} + 16,8: {} + 8,-40: {} + 16,0: {} + 16,-8: {} + 16,-16: {} + 24,-8: {} + -16,-24: {} + -32,-16: {} + 0,-40: {} + 24,-16: {} + -8,-40: {} 0,24: {} - -16,32: {} - 48,-16: {} + 0,16: {} + 0,8: {} + 0,0: {} + 0,-8: {} + 0,-16: {} + -40,24: {} + -16,-40: {} + -24,-24: {} -8,24: {} + -8,16: {} + -8,8: {} + -8,0: {} + -8,-8: {} + -8,-16: {} + -40,16: {} + -24,-40: {} + -32,-40: {} -16,24: {} - -16,48: {} + -16,16: {} + -24,24: {} + -16,8: {} + -16,0: {} + -24,16: {} + -24,8: {} + -24,0: {} + -24,-8: {} + -24,-16: {} + -40,8: {} + -40,-40: {} + -16,-8: {} + -16,-16: {} + -40,0: {} + 24,-24: {} + -32,-24: {} + 24,-32: {} + -40,-24: {} + 16,-32: {} + 8,24: {} + 8,16: {} + 8,8: {} + 8,0: {} + 8,-8: {} + 8,-16: {} + 8,-32: {} + 0,-32: {} + -8,-32: {} + -16,-32: {} + -24,-32: {} + -32,-32: {} + -40,-32: {} + -40,-8: {} + -40,-16: {} decals: - 48,48: {} - 24,40: {} - 16,40: {} - 24,8: {} - 48,40: {} - 48,32: {} - 8,40: {} - 40,40: {} - 48,24: {} - 24,-16: {} - 16,-16: {} - 8,-16: {} - 0,-16: {} - -8,-16: {} - -16,-16: {} - 0,40: {} - 24,16: {} - 16,16: {} - 24,0: {} - 16,8: {} - -8,40: {} - 48,16: {} - 16,0: {} - 8,0: {} - 48,8: {} - 8,16: {} - -16,40: {} - 0,0: {} - 40,32: {} - 0,16: {} - 8,8: {} - 40,48: {} - 0,8: {} - -8,0: {} - 32,40: {} - 32,32: {} - 32,24: {} - 48,0: {} - -16,0: {} - 24,-8: {} - -8,8: {} - 16,-8: {} - 32,48: {} - 8,-8: {} - 40,24: {} - -16,8: {} - 24,48: {} - 32,16: {} - 16,48: {} - 8,48: {} - 0,-8: {} - 0,48: {} - 24,32: {} - -8,48: {} - -8,-8: {} - 16,32: {} - 48,-8: {} - 8,32: {} - -16,-8: {} + -32,24: {} + 24,-40: {} 24,24: {} - 0,32: {} - -8,16: {} - 32,8: {} - 40,16: {} + 24,16: {} + 24,8: {} + 24,0: {} + -32,16: {} + -32,8: {} 16,24: {} - 40,8: {} - 8,24: {} - -16,16: {} - 32,0: {} - 40,0: {} - 32,-8: {} - 32,-16: {} - 40,-8: {} - 40,-16: {} - -8,32: {} + 16,16: {} + 16,-24: {} + 8,-24: {} + 0,-24: {} + -32,0: {} + -32,-8: {} + -8,-24: {} + 16,-40: {} + 16,8: {} + 8,-40: {} + 16,0: {} + 16,-8: {} + 16,-16: {} + 24,-8: {} + -16,-24: {} + -32,-16: {} + 0,-40: {} + 24,-16: {} + -8,-40: {} 0,24: {} - -16,32: {} - 48,-16: {} + 0,16: {} + 0,8: {} + 0,0: {} + 0,-8: {} + 0,-16: {} + -40,24: {} + -16,-40: {} + -24,-24: {} -8,24: {} + -8,16: {} + -8,8: {} + -8,0: {} + -8,-8: {} + -8,-16: {} + -40,16: {} + -24,-40: {} + -32,-40: {} -16,24: {} - -16,48: {} + -16,16: {} + -24,24: {} + -16,8: {} + -16,0: {} + -24,16: {} + -24,8: {} + -24,0: {} + -24,-8: {} + -24,-16: {} + -40,8: {} + -40,-40: {} + -16,-8: {} + -16,-16: {} + -40,0: {} + 24,-24: {} + -32,-24: {} + 24,-32: {} + -40,-24: {} + 16,-32: {} + 8,24: {} + 8,16: {} + 8,8: {} + 8,0: {} + 8,-8: {} + 8,-16: {} + 8,-32: {} + 0,-32: {} + -8,-32: {} + -16,-32: {} + -24,-32: {} + -32,-32: {} + -40,-32: {} + -40,-8: {} + -40,-16: {} modifiedTiles: -40,-24: - -34,-18 @@ -16534,7 +16534,7 @@ entities: - type: Transform pos: -5.4002953,23.634089 parent: 1 -- proto: CP14BarrelBloodGrassSap +- proto: CP14BarrelBloodFlowerSap entities: - uid: 2267 components: @@ -61272,12 +61272,6 @@ entities: rot: -1.5707963267948966 rad pos: -20.5,10.5 parent: 1 - - uid: 3451 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -20.5,9.5 - parent: 1 - uid: 3452 components: - type: Transform @@ -61380,12 +61374,6 @@ entities: rot: -1.5707963267948966 rad pos: -19.5,10.5 parent: 1 - - uid: 3469 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -19.5,9.5 - parent: 1 - uid: 3471 components: - type: Transform @@ -62580,72 +62568,6 @@ entities: rot: -1.5707963267948966 rad pos: -26.5,10.5 parent: 1 - - uid: 3736 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,9.5 - parent: 1 - - uid: 3737 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,8.5 - parent: 1 - - uid: 3738 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,7.5 - parent: 1 - - uid: 3739 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,6.5 - parent: 1 - - uid: 3740 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,5.5 - parent: 1 - - uid: 3741 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,4.5 - parent: 1 - - uid: 3742 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,3.5 - parent: 1 - - uid: 3743 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,2.5 - parent: 1 - - uid: 3744 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,1.5 - parent: 1 - - uid: 3745 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,0.5 - parent: 1 - - uid: 3746 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -26.5,-0.5 - parent: 1 - uid: 3747 components: - type: Transform @@ -62753,72 +62675,6 @@ entities: rot: -1.5707963267948966 rad pos: -25.5,10.5 parent: 1 - - uid: 3765 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,9.5 - parent: 1 - - uid: 3766 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,8.5 - parent: 1 - - uid: 3767 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,7.5 - parent: 1 - - uid: 3768 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,6.5 - parent: 1 - - uid: 3769 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,5.5 - parent: 1 - - uid: 3770 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,4.5 - parent: 1 - - uid: 3771 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,3.5 - parent: 1 - - uid: 3772 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,2.5 - parent: 1 - - uid: 3773 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,1.5 - parent: 1 - - uid: 3774 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,0.5 - parent: 1 - - uid: 3775 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -25.5,-0.5 - parent: 1 - uid: 3778 components: - type: Transform @@ -62909,66 +62765,6 @@ entities: rot: -1.5707963267948966 rad pos: -24.5,10.5 parent: 1 - - uid: 3794 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,9.5 - parent: 1 - - uid: 3795 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,8.5 - parent: 1 - - uid: 3796 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,7.5 - parent: 1 - - uid: 3797 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,6.5 - parent: 1 - - uid: 3798 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,5.5 - parent: 1 - - uid: 3799 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,4.5 - parent: 1 - - uid: 3800 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,3.5 - parent: 1 - - uid: 3801 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,2.5 - parent: 1 - - uid: 3802 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,1.5 - parent: 1 - - uid: 3803 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -24.5,0.5 - parent: 1 - uid: 3804 components: - type: Transform @@ -63074,60 +62870,6 @@ entities: rot: -1.5707963267948966 rad pos: -23.5,10.5 parent: 1 - - uid: 3822 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,9.5 - parent: 1 - - uid: 3823 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,8.5 - parent: 1 - - uid: 3824 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,7.5 - parent: 1 - - uid: 3825 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,6.5 - parent: 1 - - uid: 3826 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,5.5 - parent: 1 - - uid: 3827 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,4.5 - parent: 1 - - uid: 3828 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,3.5 - parent: 1 - - uid: 3829 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,2.5 - parent: 1 - - uid: 3830 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,1.5 - parent: 1 - uid: 3831 components: - type: Transform @@ -63243,60 +62985,6 @@ entities: rot: -1.5707963267948966 rad pos: -22.5,10.5 parent: 1 - - uid: 3851 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,9.5 - parent: 1 - - uid: 3852 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,8.5 - parent: 1 - - uid: 3853 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,7.5 - parent: 1 - - uid: 3854 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,6.5 - parent: 1 - - uid: 3855 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,5.5 - parent: 1 - - uid: 3856 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,4.5 - parent: 1 - - uid: 3857 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,3.5 - parent: 1 - - uid: 3858 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,2.5 - parent: 1 - - uid: 3859 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -22.5,1.5 - parent: 1 - uid: 3860 components: - type: Transform @@ -63401,60 +63089,6 @@ entities: rot: -1.5707963267948966 rad pos: -21.5,10.5 parent: 1 - - uid: 3880 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,9.5 - parent: 1 - - uid: 3881 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,8.5 - parent: 1 - - uid: 3882 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,7.5 - parent: 1 - - uid: 3883 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,6.5 - parent: 1 - - uid: 3884 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,5.5 - parent: 1 - - uid: 3885 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,4.5 - parent: 1 - - uid: 3886 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,3.5 - parent: 1 - - uid: 3887 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,2.5 - parent: 1 - - uid: 3888 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -21.5,1.5 - parent: 1 - uid: 3889 components: - type: Transform @@ -63465,48 +63099,6 @@ entities: - type: Transform pos: -0.5,31.5 parent: 1 - - uid: 3895 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -20.5,8.5 - parent: 1 - - uid: 3896 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -20.5,7.5 - parent: 1 - - uid: 3897 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -20.5,6.5 - parent: 1 - - uid: 3898 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -20.5,5.5 - parent: 1 - - uid: 3899 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -20.5,4.5 - parent: 1 - - uid: 3900 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -20.5,3.5 - parent: 1 - - uid: 3901 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -20.5,2.5 - parent: 1 - uid: 3903 components: - type: Transform @@ -63522,42 +63114,6 @@ entities: - type: Transform pos: 7.5,30.5 parent: 1 - - uid: 3909 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -19.5,8.5 - parent: 1 - - uid: 3910 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -19.5,7.5 - parent: 1 - - uid: 3911 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -19.5,6.5 - parent: 1 - - uid: 3912 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -19.5,5.5 - parent: 1 - - uid: 3913 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -19.5,4.5 - parent: 1 - - uid: 3914 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -19.5,3.5 - parent: 1 - uid: 3917 components: - type: Transform @@ -63573,89 +63129,11 @@ entities: - type: Transform pos: 6.5,30.5 parent: 1 - - uid: 3923 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -18.5,8.5 - parent: 1 - - uid: 3924 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -18.5,7.5 - parent: 1 - - uid: 3925 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -18.5,6.5 - parent: 1 - - uid: 3926 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -18.5,5.5 - parent: 1 - - uid: 3927 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -18.5,4.5 - parent: 1 - - uid: 3928 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -18.5,3.5 - parent: 1 - uid: 3932 components: - type: Transform pos: -4.5,35.5 parent: 1 - - uid: 3937 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,8.5 - parent: 1 - - uid: 3938 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,7.5 - parent: 1 - - uid: 3939 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,6.5 - parent: 1 - - uid: 3940 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,5.5 - parent: 1 - - uid: 3941 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,4.5 - parent: 1 - - uid: 3942 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,3.5 - parent: 1 - - uid: 3943 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,2.5 - parent: 1 - uid: 3947 components: - type: Transform @@ -64038,60 +63516,6 @@ entities: rot: -1.5707963267948966 rad pos: -31.5,9.5 parent: 1 - - uid: 4071 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,8.5 - parent: 1 - - uid: 4072 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,7.5 - parent: 1 - - uid: 4073 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,6.5 - parent: 1 - - uid: 4074 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,5.5 - parent: 1 - - uid: 4075 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,4.5 - parent: 1 - - uid: 4076 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,3.5 - parent: 1 - - uid: 4077 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,2.5 - parent: 1 - - uid: 4078 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,1.5 - parent: 1 - - uid: 4079 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,0.5 - parent: 1 - uid: 4080 components: - type: Transform @@ -64122,66 +63546,6 @@ entities: rot: -1.5707963267948966 rad pos: -30.5,10.5 parent: 1 - - uid: 4089 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,9.5 - parent: 1 - - uid: 4090 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,8.5 - parent: 1 - - uid: 4091 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,7.5 - parent: 1 - - uid: 4092 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,6.5 - parent: 1 - - uid: 4093 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,5.5 - parent: 1 - - uid: 4094 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,4.5 - parent: 1 - - uid: 4095 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,3.5 - parent: 1 - - uid: 4096 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,2.5 - parent: 1 - - uid: 4097 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,1.5 - parent: 1 - - uid: 4098 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -30.5,0.5 - parent: 1 - uid: 4099 components: - type: Transform @@ -64230,72 +63594,6 @@ entities: rot: -1.5707963267948966 rad pos: -29.5,10.5 parent: 1 - - uid: 4108 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,9.5 - parent: 1 - - uid: 4109 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,8.5 - parent: 1 - - uid: 4110 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,7.5 - parent: 1 - - uid: 4111 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,6.5 - parent: 1 - - uid: 4112 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,5.5 - parent: 1 - - uid: 4113 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,4.5 - parent: 1 - - uid: 4114 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,3.5 - parent: 1 - - uid: 4115 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,2.5 - parent: 1 - - uid: 4116 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,1.5 - parent: 1 - - uid: 4117 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,0.5 - parent: 1 - - uid: 4118 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,-0.5 - parent: 1 - uid: 4119 components: - type: Transform @@ -64338,72 +63636,6 @@ entities: rot: -1.5707963267948966 rad pos: -28.5,10.5 parent: 1 - - uid: 4127 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,9.5 - parent: 1 - - uid: 4128 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,8.5 - parent: 1 - - uid: 4129 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,7.5 - parent: 1 - - uid: 4130 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,6.5 - parent: 1 - - uid: 4131 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,5.5 - parent: 1 - - uid: 4132 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,4.5 - parent: 1 - - uid: 4133 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,3.5 - parent: 1 - - uid: 4134 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,2.5 - parent: 1 - - uid: 4135 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,1.5 - parent: 1 - - uid: 4136 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,0.5 - parent: 1 - - uid: 4137 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -28.5,-0.5 - parent: 1 - uid: 4138 components: - type: Transform @@ -64452,72 +63684,6 @@ entities: rot: -1.5707963267948966 rad pos: -27.5,10.5 parent: 1 - - uid: 4146 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,9.5 - parent: 1 - - uid: 4147 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,8.5 - parent: 1 - - uid: 4148 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,7.5 - parent: 1 - - uid: 4149 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,6.5 - parent: 1 - - uid: 4150 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,5.5 - parent: 1 - - uid: 4151 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,4.5 - parent: 1 - - uid: 4152 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,3.5 - parent: 1 - - uid: 4153 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,2.5 - parent: 1 - - uid: 4154 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,1.5 - parent: 1 - - uid: 4155 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,0.5 - parent: 1 - - uid: 4156 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -27.5,-0.5 - parent: 1 - uid: 4157 components: - type: Transform @@ -81151,6 +80317,14 @@ entities: - type: Transform pos: 6.5,38.5 parent: 1 +- proto: CP14BloodFlower + entities: + - uid: 12934 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 28.552069,34.690502 + parent: 1 - proto: CP14BlueVial entities: - uid: 11961 @@ -81195,6 +80369,14 @@ entities: - type: Transform pos: 27.67756,45.715927 parent: 1 +- proto: CP14CashConverter + entities: + - uid: 3743 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -19.5,-2.5 + parent: 1 - proto: CP14Cauldron entities: - uid: 4955 @@ -81835,6 +81017,12 @@ entities: parent: 1 - proto: CP14CopperCoin5 entities: + - uid: 3738 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -18.486343,-2.2486265 + parent: 1 - uid: 4467 components: - type: Transform @@ -82852,14 +82040,6 @@ entities: - type: Transform pos: 28.512556,47.744846 parent: 1 -- proto: CP14FlowersRed - entities: - - uid: 12934 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 28.552069,34.690502 - parent: 1 - proto: CP14FoodCheeseSlice entities: - uid: 12957 @@ -83005,11 +82185,6 @@ entities: - type: Transform pos: 27.5,30.5 parent: 1 - - uid: 10638 - components: - - type: Transform - pos: -20.5,-1.5 - parent: 1 - uid: 13009 components: - type: Transform @@ -83032,7 +82207,7 @@ entities: - type: Transform pos: 34.5,29.5 parent: 1 -- proto: CP14GatherableBloodgrass +- proto: CP14GatherableBloodFlower entities: - uid: 4064 components: @@ -83188,6 +82363,14 @@ entities: - type: Transform pos: -53.5,16.5 parent: 1 +- proto: CP14GoldCoin1 + entities: + - uid: 3739 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -20.080093,-2.412689 + parent: 1 - proto: CP14GreenBottle entities: - uid: 8930 @@ -83940,6 +83123,24 @@ entities: parent: 1 - proto: CP14SilverCoin1 entities: + - uid: 3451 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -18.205093,-2.9986265 + parent: 1 + - uid: 3469 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -18.251968,-3.209564 + parent: 1 + - uid: 3741 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -18.486343,-3.022064 + parent: 1 - uid: 4466 components: - type: Transform @@ -84095,7 +83296,7 @@ entities: - uid: 10709 components: - type: Transform - pos: -21.235992,-2.2044668 + pos: -21.967495,-2.5390778 parent: 1 - proto: CP14String entities: @@ -84218,6 +83419,24 @@ entities: rot: 3.141592653589793 rad pos: 21.5,32.5 parent: 1 + - uid: 3736 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -20.5,-2.5 + parent: 1 + - uid: 3740 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -18.5,-2.5 + parent: 1 + - uid: 3744 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -19.5,-2.5 + parent: 1 - uid: 3933 components: - type: Transform @@ -84571,6 +83790,22 @@ entities: rot: 3.141592653589793 rad pos: 28.5,34.5 parent: 1 +- proto: CP14TravelingShop + entities: + - uid: 3742 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -16.5,-2.5 + parent: 1 +- proto: CP14TravelingStoreshipAnchor + entities: + - uid: 3737 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -24.5,4.5 + parent: 1 - proto: CP14VialSmall entities: - uid: 9483 @@ -84654,6 +83889,8 @@ entities: - type: Transform pos: 22.5,39.5 parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallmountBarShelfB entities: - uid: 5505 @@ -84661,11 +83898,15 @@ entities: - type: Transform pos: 18.5,45.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 11957 components: - type: Transform pos: 23.5,39.5 parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallmountLamp entities: - uid: 3671 @@ -84674,17 +83915,23 @@ entities: rot: 1.5707963267948966 rad pos: -8.5,22.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8646 components: - type: Transform rot: -1.5707963267948966 rad pos: -1.5,22.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 12920 components: - type: Transform pos: 32.5,29.5 parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallmountTorch entities: - uid: 8733 @@ -84693,18 +83940,24 @@ entities: rot: -1.5707963267948966 rad pos: 24.5,43.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8858 components: - type: Transform rot: 1.5707963267948966 rad pos: 18.5,33.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8859 components: - type: Transform rot: -1.5707963267948966 rad pos: 24.5,33.5 parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallmountTorchAlwaysPowered entities: - uid: 3670 @@ -84712,80 +83965,108 @@ entities: - type: Transform pos: 21.5,39.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 4937 components: - type: Transform rot: 1.5707963267948966 rad pos: 26.5,42.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 5055 components: - type: Transform rot: 1.5707963267948966 rad pos: -1.5,1.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8745 components: - type: Transform rot: -1.5707963267948966 rad pos: 34.5,26.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8747 components: - type: Transform rot: -1.5707963267948966 rad pos: 31.5,26.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8749 components: - type: Transform rot: -1.5707963267948966 rad pos: 28.5,26.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8765 components: - type: Transform pos: 31.5,36.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8770 components: - type: Transform rot: 3.141592653589793 rad pos: 31.5,31.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8825 components: - type: Transform rot: 3.141592653589793 rad pos: 23.5,31.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8836 components: - type: Transform rot: -1.5707963267948966 rad pos: 37.5,26.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8837 components: - type: Transform pos: 19.5,36.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8857 components: - type: Transform rot: 1.5707963267948966 rad pos: 18.5,43.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 8873 components: - type: Transform pos: 29.5,39.5 parent: 1 + - type: Fixtures + fixtures: {} - uid: 12917 components: - type: Transform pos: 19.5,29.5 parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallpaperPurple30 entities: - uid: 2057 @@ -85042,6 +84323,11 @@ entities: - type: Transform pos: 17.5,42.5 parent: 1 + - uid: 3746 + components: + - type: Transform + pos: -17.5,-1.5 + parent: 1 - uid: 4935 components: - type: Transform @@ -85227,6 +84513,18 @@ entities: rot: 3.141592653589793 rad pos: -46.5,28.5 parent: 1 + - uid: 3745 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -17.5,-4.5 + parent: 1 + - uid: 3765 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -20.5,-1.5 + parent: 1 - uid: 8756 components: - type: Transform @@ -85237,11 +84535,6 @@ entities: - type: Transform pos: -22.5,-1.5 parent: 1 - - uid: 10551 - components: - - type: Transform - pos: -17.5,-1.5 - parent: 1 - uid: 12883 components: - type: Transform @@ -85277,11 +84570,6 @@ entities: - type: Transform pos: 34.5,46.5 parent: 1 - - uid: 10543 - components: - - type: Transform - pos: -18.5,-3.5 - parent: 1 - proto: CP14WallWhitebrick entities: - uid: 2111 @@ -86094,6 +85382,56 @@ entities: - type: Transform pos: 22.46045,37.65167 parent: 1 +- proto: CP14WoodenCabinet + entities: + - uid: 2024 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -48.5,10.5 + parent: 1 + - type: Storage + storedItems: + 8939: + position: 0,0 + _rotation: South + - type: ContainerContainer + containers: + storagebase: !type:Container + showEnts: False + occludes: True + ents: + - 8939 + - uid: 3688 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,41.5 + parent: 1 + - uid: 5497 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 33.5,26.5 + parent: 1 + - uid: 8712 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 27.5,26.5 + parent: 1 + - uid: 8771 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 36.5,26.5 + parent: 1 + - uid: 8775 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 30.5,26.5 + parent: 1 - proto: CP14WoodenChestFrame entities: - uid: 5145 @@ -86203,56 +85541,6 @@ entities: rot: -1.5707963267948966 rad pos: 25.5,32.5 parent: 1 -- proto: CP14WoodenDresser - entities: - - uid: 2024 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -48.5,10.5 - parent: 1 - - type: Storage - storedItems: - 8939: - position: 0,0 - _rotation: South - - type: ContainerContainer - containers: - storagebase: !type:Container - showEnts: False - occludes: True - ents: - - 8939 - - uid: 3688 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 24.5,41.5 - parent: 1 - - uid: 5497 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 33.5,26.5 - parent: 1 - - uid: 8712 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 27.5,26.5 - parent: 1 - - uid: 8771 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 36.5,26.5 - parent: 1 - - uid: 8775 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 30.5,26.5 - parent: 1 - proto: CP14WoodenPlanks1 entities: - uid: 5171 diff --git a/Resources/Prototypes/Accents/word_replacements.yml b/Resources/Prototypes/Accents/word_replacements.yml index 14033501a8..b9bb32d690 100644 --- a/Resources/Prototypes/Accents/word_replacements.yml +++ b/Resources/Prototypes/Accents/word_replacements.yml @@ -381,7 +381,7 @@ - type: accent id: chatsanitize wordReplacements: - #CP14-RU-ChatSanitize-Start + #CP14-ChatSanitize-Start cp14-chatsan-word-1: cp14-chatsan-replacement-1 cp14-chatsan-word-2: cp14-chatsan-replacement-2 cp14-chatsan-word-3: cp14-chatsan-replacement-3 @@ -468,7 +468,15 @@ cp14-chatsan-word-84: cp14-chatsan-replacement-84 cp14-chatsan-word-85: cp14-chatsan-replacement-85 cp14-chatsan-word-86: cp14-chatsan-replacement-86 - #CP14-RU-ChatSanitize-End + cp14-chatsan-word-87: cp14-chatsan-replacement-87 + cp14-chatsan-word-88: cp14-chatsan-replacement-88 + cp14-chatsan-word-89: cp14-chatsan-replacement-89 + cp14-chatsan-word-90: cp14-chatsan-replacement-90 + cp14-chatsan-word-91: cp14-chatsan-replacement-91 + cp14-chatsan-word-92: cp14-chatsan-replacement-92 + cp14-chatsan-word-93: cp14-chatsan-replacement-93 + cp14-chatsan-word-94: cp14-chatsan-replacement-94 + #CP14-ChatSanitize-End chatsan-word-1: chatsan-replacement-1 chatsan-word-2: chatsan-replacement-2 chatsan-word-3: chatsan-replacement-3 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Economy/coins.yml b/Resources/Prototypes/_CP14/Entities/Objects/Economy/coins.yml index ca22853d48..250f460a6a 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Economy/coins.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Economy/coins.yml @@ -26,14 +26,23 @@ - type: CP14Currency currency: 1 category: Currency + - type: EmitSoundOnLand + sound: + path: /Audio/_CP14/Items/coins_fall.ogg + - type: EmitSoundOnDrop + sound: + collection: CP14Coins + - type: EmitSoundOnPickup + sound: + collection: CP14Coins # Copper - type: entity id: CP14CopperCoin parent: CP14BaseCoin - name: copper crown - description: The minimum unit of currency in the world of Eberron. One tenth of a silver sovereign. + name: copper coin + description: The smallest denomination coin. Copper. suffix: 10 coins components: - type: Sprite @@ -72,8 +81,8 @@ - type: entity id: CP14SilverCoin parent: CP14BaseCoin - name: silver sovereign - description: Equivalent to 10 copper crowns, and is 1 tenth of a gold galifar. + name: silver coin + description: A valuable coin made from a precisely calibrated silver alloy..... and something else. Equal in value to ten coppers. suffix: 10 coins components: - type: Sprite @@ -112,8 +121,8 @@ - type: entity id: CP14GoldCoin parent: CP14BaseCoin - name: gold galifar - description: Equivalent to 10 silver sovereign, and is 1 tenth of a platinum coin. + name: gold coin + description: A gold, big, beautiful coin. Valuable enough to be stolen by bandits. Equal in value to ten silver coins. suffix: 10 coins components: - type: Sprite @@ -152,8 +161,8 @@ - type: entity id: CP14PlatinumCoin parent: CP14BaseCoin - name: platinum dragon - description: Equivalent to 10 gold galifar, and is the most expensive coin in Eberron's world. + name: platinum coin + description: A platinum coin? It's so rare. Ten gold pieces is the price of one. suffix: 10 coins components: - type: Sprite diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Economy/wallet.yml b/Resources/Prototypes/_CP14/Entities/Objects/Economy/wallet.yml index 3e07a5173e..95de2824bd 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Economy/wallet.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Economy/wallet.yml @@ -28,7 +28,9 @@ - type: StorageFillVisualizer maxFillLevels: 4 fillBaseName: wallet - - type: Dumpable #TODO sounds + - type: Dumpable + soundDump: + collection: CP14Coins multiplier: 0.8 - type: Clothing slots: [belt] @@ -44,3 +46,7 @@ contents: - id: CP14CopperCoin1 - id: CP14CopperCoin1 + - id: CP14CopperCoin1 + - id: CP14CopperCoin1 + - id: CP14CopperCoin1 + - id: CP14SilverCoin1 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleHammer.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleHammer.yml index a0df8fe71c..9fc3242667 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleHammer.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleHammer.yml @@ -60,6 +60,4 @@ path: /Audio/_CP14/Effects/thud.ogg params: variation: 0.03 - volume: 2 - - type: CP14Currency - currency: 1500 + volume: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml index ce771e4b96..ed4661befb 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/battleStaff.yml @@ -39,6 +39,4 @@ cPAnimationLength: 0.3 cPAnimationOffset: -1.3 - type: StaminaDamageOnHit - damage: 4 - - type: CP14Currency - currency: 20 \ No newline at end of file + damage: 4 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/dagger.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/dagger.yml index eb146c5a37..1c5cd0ee3d 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/dagger.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/dagger.yml @@ -42,6 +42,4 @@ offset: 0.15,0.15 removalTime: 1 - type: ThrowingAngle - angle: 225 - - type: CP14Currency - currency: 200 \ No newline at end of file + angle: 225 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/handheldAxe.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/handheldAxe.yml index 0e58653bf9..e636d55635 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/handheldAxe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/handheldAxe.yml @@ -38,6 +38,4 @@ - type: DamageOnLand damage: types: - Slash: 12 - - type: CP14Currency - currency: 500 \ No newline at end of file + Slash: 12 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/lightHammer.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/lightHammer.yml index 54b452864b..6bc438086e 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/lightHammer.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/lightHammer.yml @@ -44,6 +44,4 @@ collection: CP14Hammering params: variation: 0.03 - volume: 2 - - type: CP14Currency - currency: 200 + volume: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/mace.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/mace.yml index 5ed8a71f53..fdd740dc73 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/mace.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/mace.yml @@ -29,6 +29,4 @@ collection: MetalThud cPAnimationLength: 0.25 - type: StaminaDamageOnHit - damage: 6 - - type: CP14Currency - currency: 500 + damage: 6 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml index 0f42ce38a8..81de3fae44 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml @@ -40,6 +40,4 @@ collection: MetalThud - type: Tag tags: - - CP14HerbalGathering - - type: CP14Currency - currency: 100 \ No newline at end of file + - CP14HerbalGathering \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml index 48fa336691..1369b2fb72 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml @@ -37,6 +37,4 @@ - type: CP14SkillRequirement fuckupChance: 0.5 requiredSkills: - - Warcraft - - type: CP14Currency - currency: 1200 \ No newline at end of file + - Warcraft \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml index 24d4ab31c9..e1cb1bb8a3 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/twoHandedSword.yml @@ -84,6 +84,4 @@ - type: IncreaseDamageOnWield damage: types: - Slash: 6 - - type: CP14Currency - currency: 2000 + Slash: 6 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Stations/base.yml b/Resources/Prototypes/_CP14/Entities/Stations/base.yml new file mode 100644 index 0000000000..ccba78ca39 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Stations/base.yml @@ -0,0 +1,15 @@ +- type: entity + id: CP14BaseExpedition + categories: [ HideSpawnMenu ] + parent: + - BaseStation + - BaseStationAllEventsEligible + - BaseStationJobsSpawning + - BaseStationAlertLevels #Checks fail without it + - CP14BaseTrading + +- type: entity + id: CP14BaseTrading + abstract: true + components: + - type: CP14StationTravelingStoreShipTarget \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Stations/expedition.yml b/Resources/Prototypes/_CP14/Entities/Stations/expedition.yml deleted file mode 100644 index 958d0586e1..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Stations/expedition.yml +++ /dev/null @@ -1,7 +0,0 @@ -- type: entity - id: CP14BaseExpedition - parent: - - BaseStation - - BaseStationAllEventsEligible - - BaseStationJobsSpawning - - BaseStationAlertLevels #Checks fail without it \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/dressers.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/dressers.yml index 95d50ce4fe..73c7a372e1 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/dressers.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/dressers.yml @@ -1,5 +1,5 @@ - type: entity - id: CP14DresserBase + id: CP14CabinetBase parent: BaseStructure abstract: true components: @@ -99,15 +99,15 @@ - type: Rotatable - type: entity - name: wooden dresser + name: wooden cabinet parent: - - CP14DresserBase + - CP14CabinetBase - CP14BaseFlammableSpreading - id: CP14WoodenDresser - description: A regular wooden dresser. + id: CP14WoodenCabinet + description: A regular wooden cabinet. components: - type: Sprite - sprite: _CP14/Structures/Storage/Dressers/wood_dresser.rsi + sprite: _CP14/Structures/Storage/Dressers/wood_cabinet.rsi state: icons - type: Damageable damageContainer: Inorganic @@ -126,6 +126,38 @@ - !type:DoActsBehavior acts: [ "Destruction" ] +- type: entity + parent: CP14CabinetBase + id: C14IronCabinet + name: iron cabinet + description: an iron cabinet. Sturdy, lockable. You can store your valuables here without fear of some burglar taking it all for himself. + components: + - type: Sprite + sprite: _CP14/Structures/Storage/Dressers/iron_cabinet.rsi + state: icons + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: StructuralMetallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + parent: C14IronCabinet + id: C14IronCabinetCargo + name: money box + description: An armored vault for storing money for trade with the city. City workers will unload their earnings here, or take them from here when you want to buy something. + components: + - type: CP14CargoMoneyBox + - type: entity name: wooden cupboard parent: diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/pallets.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/pallets.yml new file mode 100644 index 0000000000..8f1c1a7fdd --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/pallets.yml @@ -0,0 +1,72 @@ +- type: entity + id: CP14BasePallets + abstract: true + placement: + mode: SnapgridCenter + components: + - type: Clickable + - type: Sprite + sprite: _CP14/Structures/Furniture/pallets.rsi + snapCardinals: true + drawdepth: FloorTiles + - type: Transform + anchored: true + +- type: entity + id: CP14WoodenPallet + parent: + - CP14BasePallets + - CP14BaseFlammable + name: wooden pallet + description: wooden goods stand + components: + - type: Sprite + state: wooden + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepWood + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 500 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + CP14WoodenPlanks1: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + id: CP14WoodenPalletSell + parent: CP14WoodenPallet + name: selling wooden pallet + components: + - type: CP14SellingPalett + - type: Sprite + layers: + - state: wooden + - state: sell + +- type: entity + id: CP14WoodenPalletBuy + parent: CP14WoodenPallet + name: buying wooden pallet + components: + - type: CP14BuyingPalett + - type: Sprite + layers: + - state: wooden + - state: buy + \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/cash_converter.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/cash_converter.yml new file mode 100644 index 0000000000..7c1330e632 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/cash_converter.yml @@ -0,0 +1,50 @@ +- type: entity + id: CP14CashConverter + parent: BaseStructure + name: cash converter + description: A simple magical device connected by small portals to the empire's central bank. It allows you to convert coins between denominations, and doesn't even charge interest! That's generous. + components: + - type: InteractionOutline + - type: CP14CurrencyConverter + - type: Transform + anchored: true + - type: Sprite + drawdepth: Mobs + noRot: true + offset: 0, 0.2 + sprite: _CP14/Structures/Specific/Economy/cash_device.rsi + state: base + - type: Anchorable + delay: 1 + - type: Damageable + damageContainer: StructuralInorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 80 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - trigger: + !type:DamageTrigger + damage: 40 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + #- !type:CP14ThrowStoredCurrencyBehaviour #TODO + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + density: 190 + mask: + - MachineMask + layer: + - MachineLayer \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/test.yml b/Resources/Prototypes/_CP14/Entities/Structures/test.yml new file mode 100644 index 0000000000..dcae9e588d --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/test.yml @@ -0,0 +1,22 @@ +- type: entity + parent: BaseStructure + id: CP14TravelingShop + name: city trading information board + description: Allows you to track what the city is selling and buying right now. + components: + - type: Sprite + snapCardinals: true + sprite: _CP14/Structures/Furniture/workbench.rsi + state: filler + - type: Icon + sprite: _CP14/Structures/Furniture/workbench.rsi + state: filler + - type: ActivatableUI + key: enum.CP14StoreUiKey.Key + - type: Clickable + - type: InteractionOutline + - type: CP14CargoStore + - type: UserInterface + interfaces: + enum.CP14StoreUiKey.Key: + type: CP14StoreBoundUserInterface diff --git a/Resources/Prototypes/_CP14/Entities/Structures/trabeling_storeship_anchor.yml b/Resources/Prototypes/_CP14/Entities/Structures/trabeling_storeship_anchor.yml new file mode 100644 index 0000000000..d820b9d7c8 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/trabeling_storeship_anchor.yml @@ -0,0 +1,19 @@ +- type: entity + id: CP14TravelingStoreshipAnchor + name: traveling storeship anchor + placement: + mode: SnapgridCenter + description: the point of adhesion of a traveling storeship to the surface. Keep your eyes to the sky so you don't get crushed! + components: + - type: Clickable + - type: Sprite + sprite: _CP14/Structures/traveling_storeship_anchor.rsi + state: base + drawdepth: FloorTiles + - type: Icon + sprite: _CP14/Structures/traveling_storeship_anchor.rsi + state: base + - type: Transform + anchored: true + - type: CP14TravelingStoreShipFTLTarget + - type: FTLSmashImmune \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/fire.yml b/Resources/Prototypes/_CP14/Entities/fire.yml index dcf6ba0cca..c35c361b80 100644 --- a/Resources/Prototypes/_CP14/Entities/fire.yml +++ b/Resources/Prototypes/_CP14/Entities/fire.yml @@ -31,7 +31,7 @@ - ItemMask layer: - SlipLayer - fix2: #For melee like water bucket + fix2: #For melee like water bucket (dont work) hard: true shape: !type:PhysShapeAabb diff --git a/Resources/Prototypes/_CP14/Maps/debug.yml b/Resources/Prototypes/_CP14/Maps/debug.yml index 4dbf565f1e..c12f80b1e5 100644 --- a/Resources/Prototypes/_CP14/Maps/debug.yml +++ b/Resources/Prototypes/_CP14/Maps/debug.yml @@ -20,7 +20,7 @@ minPlayers: 0 stations: Dev: - stationProto: StandardStationArena + stationProto: CP14BaseExpedition components: - type: StationNameSetup mapNameTemplate: "Dev" diff --git a/Resources/Prototypes/_CP14/SoundCollections/items.yml b/Resources/Prototypes/_CP14/SoundCollections/items.yml index 533e6886ea..5d13648f91 100644 --- a/Resources/Prototypes/_CP14/SoundCollections/items.yml +++ b/Resources/Prototypes/_CP14/SoundCollections/items.yml @@ -47,4 +47,11 @@ id: CP14Book files: - /Audio/_CP14/Items/book1.ogg - - /Audio/_CP14/Items/book2.ogg \ No newline at end of file + - /Audio/_CP14/Items/book2.ogg + +- type: soundCollection + id: CP14Coins + files: + - /Audio/_CP14/Items/coins1.ogg + - /Audio/_CP14/Items/coins2.ogg + - /Audio/_CP14/Items/coins3.ogg \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Store/buy.yml b/Resources/Prototypes/_CP14/Store/buy.yml new file mode 100644 index 0000000000..2389ebb61e --- /dev/null +++ b/Resources/Prototypes/_CP14/Store/buy.yml @@ -0,0 +1,14 @@ +- type: storePositionBuy + id: CP14AlchemyNormalizer + name: cp14-store-buy-alchemy-normalizer-name + desc: cp14-store-buy-alchemy-normalizer-desc + icon: + sprite: _CP14/Structures/Specific/Alchemy/normalizer.rsi + state: base + price: + min: 400 + max: 500 + services: + - !type:CP14BuyItemsService + product: + CP14AlchemyNormalizer: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Store/sell.yml b/Resources/Prototypes/_CP14/Store/sell.yml new file mode 100644 index 0000000000..c7f6e9b710 --- /dev/null +++ b/Resources/Prototypes/_CP14/Store/sell.yml @@ -0,0 +1,41 @@ +- type: storePositionSell + id: GoldBars + name: cp14-store-sell-goldbar-name + desc: cp14-store-sell-goldbar-desc + icon: + sprite: _CP14/Objects/Materials/gold_bar.rsi + state: bar_3 + price: + min: 1000 + max: 1000 + service: !type:CP14SellStackService + stackId: CP14GoldBar + count: 10 + +- type: storePositionSell + id: IronBars + name: cp14-store-sell-ironbar-name + desc: cp14-store-sell-ironbar-desc + icon: + sprite: _CP14/Objects/Materials/iron_bar.rsi + state: bar_3 + price: + min: 500 + max: 500 + service: !type:CP14SellStackService + stackId: CP14IronBar + count: 10 + +- type: storePositionSell + id: CopperBars + name: cp14-store-sell-copperbar-name + desc: cp14-store-sell-copperbar-desc + icon: + sprite: _CP14/Objects/Materials/copper_bar.rsi + state: bar_3 + price: + min: 400 + max: 500 + service: !type:CP14SellStackService + stackId: CP14CopperBar + count: 10 \ No newline at end of file diff --git a/Resources/Textures/_CP14/Interface/Misc/coins.rsi/c.png b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/c.png new file mode 100644 index 0000000000..d82d2eb837 Binary files /dev/null and b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/c.png differ diff --git a/Resources/Textures/_CP14/Interface/Misc/coins.rsi/g.png b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/g.png new file mode 100644 index 0000000000..f39c4d7fca Binary files /dev/null and b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/g.png differ diff --git a/Resources/Textures/_CP14/Interface/Misc/coins.rsi/meta.json b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/meta.json new file mode 100644 index 0000000000..87da4b3f53 --- /dev/null +++ b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "size": { + "x": 8, + "y": 8 + }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) for CrystallPunk14", + "states": [ + { + "name": "c" + }, + { + "name": "g" + }, + { + "name": "p" + }, + { + "name": "s" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Interface/Misc/coins.rsi/p.png b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/p.png new file mode 100644 index 0000000000..b9be46f942 Binary files /dev/null and b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/p.png differ diff --git a/Resources/Textures/_CP14/Interface/Misc/coins.rsi/s.png b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/s.png new file mode 100644 index 0000000000..72fddce717 Binary files /dev/null and b/Resources/Textures/_CP14/Interface/Misc/coins.rsi/s.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/buy.png b/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/buy.png new file mode 100644 index 0000000000..6c6f9f8e30 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/buy.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/meta.json new file mode 100644 index 0000000000..3767041f7c --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) for CrystallPunk14 and resprite by Jaraten and vladimir.s", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "wooden" + }, + { + "name": "buy" + }, + { + "name": "sell" + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/sell.png b/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/sell.png new file mode 100644 index 0000000000..4055504c28 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/sell.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/wooden.png b/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/wooden.png new file mode 100644 index 0000000000..58f1d53023 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/pallets.rsi/wooden.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/cash_device.rsi/base.png b/Resources/Textures/_CP14/Structures/Specific/Economy/cash_device.rsi/base.png new file mode 100644 index 0000000000..f344edfb4a Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Specific/Economy/cash_device.rsi/base.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/cash_device.rsi/meta.json b/Resources/Textures/_CP14/Structures/Specific/Economy/cash_device.rsi/meta.json new file mode 100644 index 0000000000..5a6ecdbd18 --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Specific/Economy/cash_device.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "Created by Jaraten and TheShuEd (Github) for CrystallPunk 14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/icon-open.png b/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/icon-open.png new file mode 100644 index 0000000000..3d55bf7cf7 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/icon-open.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/icon.png b/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/icon.png new file mode 100644 index 0000000000..6a0dbb2324 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/meta.json b/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/meta.json new file mode 100644 index 0000000000..88383e3500 --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Storage/Dressers/iron_cabinet.rsi/meta.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "Created by TheShuEd for CrystallPunk14", + "size": { + "x": 32, + "y": 96 + }, + "states": [ + { + "name": "icon", + "directions": 4 + }, + { + "name": "icon-open", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Storage/Dressers/wood_dresser.rsi/icon-open.png b/Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cabinet.rsi/icon-open.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Storage/Dressers/wood_dresser.rsi/icon-open.png rename to Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cabinet.rsi/icon-open.png diff --git a/Resources/Textures/_CP14/Structures/Storage/Dressers/wood_dresser.rsi/icon.png b/Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cabinet.rsi/icon.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Storage/Dressers/wood_dresser.rsi/icon.png rename to Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cabinet.rsi/icon.png diff --git a/Resources/Textures/_CP14/Structures/Storage/Dressers/wood_dresser.rsi/meta.json b/Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cabinet.rsi/meta.json similarity index 100% rename from Resources/Textures/_CP14/Structures/Storage/Dressers/wood_dresser.rsi/meta.json rename to Resources/Textures/_CP14/Structures/Storage/Dressers/wood_cabinet.rsi/meta.json diff --git a/Resources/Textures/_CP14/Structures/traveling_storeship_anchor.rsi/base.png b/Resources/Textures/_CP14/Structures/traveling_storeship_anchor.rsi/base.png new file mode 100644 index 0000000000..b494416a90 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/traveling_storeship_anchor.rsi/base.png differ diff --git a/Resources/Textures/_CP14/Structures/traveling_storeship_anchor.rsi/meta.json b/Resources/Textures/_CP14/Structures/traveling_storeship_anchor.rsi/meta.json new file mode 100644 index 0000000000..6a0d86ca0d --- /dev/null +++ b/Resources/Textures/_CP14/Structures/traveling_storeship_anchor.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "Created by TheShuEd for CrystallPunk14", + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "base", + "directions": 4 + } + ] +} diff --git a/Resources/migration.yml b/Resources/migration.yml index 219f780fa0..47c282e79b 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -101,6 +101,9 @@ CP14GatherableBloodgrass: CP14GatherableBloodFlower CP14GatherableFlowersRed: CP14GatherableBloodFlower CP14VialSmallBloodgrassSap: CP14VialSmallBloodFlowerSap CP14BarrelBloodGrassSap: CP14BarrelBloodFlowerSap + +#2024-10-11 +CP14WoodenDresser: CP14WoodenCabinet # <---> CrystallPunk migration zone end