diff --git a/Content.Client/Construction/UI/ConstructionMenuPresenter.cs b/Content.Client/Construction/UI/ConstructionMenuPresenter.cs index 9faf512713..c127c7aac9 100644 --- a/Content.Client/Construction/UI/ConstructionMenuPresenter.cs +++ b/Content.Client/Construction/UI/ConstructionMenuPresenter.cs @@ -208,9 +208,6 @@ namespace Content.Client.Construction.UI { foreach (var recipe in actualRecipes) { - if (!recipe.Prototype.CrystallPunkAllowed) //CrystallEdge clearing recipes - continue; - var protoView = new EntityPrototypeView() { Scale = new Vector2(1.2f), @@ -265,6 +262,9 @@ namespace Content.Client.Construction.UI foreach (var recipe in _prototypeManager.EnumeratePrototypes()) { + if (!recipe.CrystallPunkAllowed) //CrystallEdge filter vanilla recipes + continue; + if (recipe.Hide) continue; diff --git a/Content.Client/_CP14/Trading/CP14ClientStationEconomySystem.cs b/Content.Client/_CP14/Trading/CP14ClientStationEconomySystem.cs new file mode 100644 index 0000000000..c0a769f4fb --- /dev/null +++ b/Content.Client/_CP14/Trading/CP14ClientStationEconomySystem.cs @@ -0,0 +1,7 @@ +using Content.Shared._CP14.Trading.Systems; + +namespace Content.Client._CP14.Trading; + +public sealed partial class CP14ClientStationEconomySystem : CP14SharedStationEconomySystem +{ +} diff --git a/Content.Client/_CP14/Trading/CP14ClientTradingPlatformSystem.cs b/Content.Client/_CP14/Trading/CP14ClientTradingPlatformSystem.cs new file mode 100644 index 0000000000..f9f3830495 --- /dev/null +++ b/Content.Client/_CP14/Trading/CP14ClientTradingPlatformSystem.cs @@ -0,0 +1,7 @@ +using Content.Shared._CP14.Trading.Systems; + +namespace Content.Client._CP14.Trading; + +public sealed partial class CP14ClientTradingPlatformSystem : CP14SharedTradingPlatformSystem +{ +} diff --git a/Content.Client/_CP14/Trading/CP14TradingFactionButtonControl.xaml b/Content.Client/_CP14/Trading/CP14TradingFactionButtonControl.xaml new file mode 100644 index 0000000000..519eaa4325 --- /dev/null +++ b/Content.Client/_CP14/Trading/CP14TradingFactionButtonControl.xaml @@ -0,0 +1,20 @@ + + + + + + diff --git a/Content.Client/_CP14/Trading/CP14TradingFactionButtonControl.xaml.cs b/Content.Client/_CP14/Trading/CP14TradingFactionButtonControl.xaml.cs new file mode 100644 index 0000000000..9cbaa3a3f8 --- /dev/null +++ b/Content.Client/_CP14/Trading/CP14TradingFactionButtonControl.xaml.cs @@ -0,0 +1,23 @@ +using Content.Shared.FixedPoint; +using Robust.Client.AutoGenerated; +using Robust.Client.Graphics; +using Robust.Client.UserInterface; +using Robust.Client.UserInterface.XAML; + +namespace Content.Client._CP14.Trading; + +[GenerateTypedNameReferences] +public sealed partial class CP14TradingFactionButtonControl : Control +{ + public event Action? OnPressed; + + public CP14TradingFactionButtonControl(Color color, string label, FixedPoint2 reputation) + { + RobustXamlLoader.Load(this); + + ColorPanel.PanelOverride = new StyleBoxFlat { BackgroundColor = color }; + SkillTreeLabel.Text = $"{reputation} {label}"; + + MainButton.OnPressed += args => OnPressed?.Invoke(); + } +} diff --git a/Content.Client/_CP14/Trading/CP14TradingPlatformBoundUserInterface.cs b/Content.Client/_CP14/Trading/CP14TradingPlatformBoundUserInterface.cs new file mode 100644 index 0000000000..47a2d19950 --- /dev/null +++ b/Content.Client/_CP14/Trading/CP14TradingPlatformBoundUserInterface.cs @@ -0,0 +1,32 @@ +using Content.Shared._CP14.Trading; +using Content.Shared._CP14.Trading.Systems; +using Robust.Client.UserInterface; + +namespace Content.Client._CP14.Trading; + +public sealed class CP14TradingPlatformBoundUserInterface(EntityUid owner, Enum uiKey) : BoundUserInterface(owner, uiKey) +{ + private CP14TradingPlatformWindow? _window; + + protected override void Open() + { + base.Open(); + + _window = this.CreateWindow(); + + _window.OnUnlock += pos => SendMessage(new CP14TradingPositionUnlockAttempt(pos)); + _window.OnBuy += pos => SendMessage(new CP14TradingPositionBuyAttempt(pos)); + } + + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + + switch (state) + { + case CP14TradingPlatformUiState storeState: + _window?.UpdateState(storeState); + break; + } + } +} diff --git a/Content.Client/_CP14/Trading/CP14TradingPlatformWindow.xaml b/Content.Client/_CP14/Trading/CP14TradingPlatformWindow.xaml new file mode 100644 index 0000000000..37e9a615f7 --- /dev/null +++ b/Content.Client/_CP14/Trading/CP14TradingPlatformWindow.xaml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml.cs b/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml.cs deleted file mode 100644 index 53fa42eef6..0000000000 --- a/Content.Client/_CP14/TravelingStoreShip/CP14StoreProductControl.xaml.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Content.Shared._CP14.Cargo; -using Robust.Client.AutoGenerated; -using Robust.Client.GameObjects; -using Robust.Client.UserInterface; -using Robust.Client.UserInterface.XAML; - -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(); - - PriceHolder.RemoveAllChildren(); - PriceHolder.AddChild(new CP14PriceControl(entry.Price)); - ProductName.Text = $"[bold]{entry.Name}[/bold]"; - - SpecialLabel.Visible = entry.Special; - - if (entry.Icon is not null) - { - View.Visible = true; - View.Texture = _sprite.Frame0(entry.Icon); - } - else if (entry.EntityView is not null) - { - EntityView.Visible = true; - EntityView.SetPrototype(entry.EntityView); - } - } -} diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml b/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml deleted file mode 100644 index 9a80eed09f..0000000000 --- a/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml.cs b/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml.cs deleted file mode 100644 index cea44cf7bd..0000000000 --- a/Content.Client/_CP14/TravelingStoreShip/CP14StoreWindow.xaml.cs +++ /dev/null @@ -1,60 +0,0 @@ -using Content.Shared._CP14.Cargo; -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!; - - 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) - { - Window.Title = Loc.GetString("cp14-store-ui-title", ("name", state.ShopName)); - UpdateProducts(state); - } - - 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.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml b/Content.Client/_CP14/UserInterface/CP14PriceControl.xaml similarity index 100% rename from Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml rename to Content.Client/_CP14/UserInterface/CP14PriceControl.xaml diff --git a/Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml.cs b/Content.Client/_CP14/UserInterface/CP14PriceControl.xaml.cs similarity index 96% rename from Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml.cs rename to Content.Client/_CP14/UserInterface/CP14PriceControl.xaml.cs index 9df5bee7a0..07de824eee 100644 --- a/Content.Client/_CP14/TravelingStoreShip/CP14PriceControl.xaml.cs +++ b/Content.Client/_CP14/UserInterface/CP14PriceControl.xaml.cs @@ -5,7 +5,7 @@ using Robust.Client.UserInterface.XAML; using Robust.Shared.Prototypes; using Robust.Shared.Utility; -namespace Content.Client._CP14.TravelingStoreShip; +namespace Content.Client._CP14.UserInterface; [GenerateTypedNameReferences] public sealed partial class CP14PriceControl : Control diff --git a/Content.IntegrationTests/Tests/_CP14/CP14CargoTest.cs b/Content.IntegrationTests/Tests/_CP14/CP14CargoTest.cs index ad11b611dd..600ff3092a 100644 --- a/Content.IntegrationTests/Tests/_CP14/CP14CargoTest.cs +++ b/Content.IntegrationTests/Tests/_CP14/CP14CargoTest.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; -using Content.Shared._CP14.Cargo.Prototype; -using Robust.Shared.GameObjects; +using Content.Shared._CP14.Trading.Prototypes; using Robust.Shared.Prototypes; namespace Content.IntegrationTests.Tests._CP14; @@ -16,7 +15,6 @@ public sealed class CP14CargoTest await using var pair = await PoolManager.GetServerClient(); var server = pair.Server; - var compFactory = server.ResolveDependency(); var protoManager = server.ResolveDependency(); await server.WaitAssertion(() => @@ -25,10 +23,9 @@ public sealed class CP14CargoTest { HashSet existedCodes = new(); - foreach (var proto in protoManager.EnumeratePrototypes()) + foreach (var proto in protoManager.EnumeratePrototypes()) { - Assert.That(!existedCodes.Contains(proto.Code), $"Repeated purchasing code {proto.Code} of the {proto}"); - existedCodes.Add(proto.Code); + } }); }); diff --git a/Content.Server/Cargo/Systems/PricingSystem.cs b/Content.Server/Cargo/Systems/PricingSystem.cs index 3d8a8075f5..97a5b47e06 100644 --- a/Content.Server/Cargo/Systems/PricingSystem.cs +++ b/Content.Server/Cargo/Systems/PricingSystem.cs @@ -16,6 +16,7 @@ using Robust.Shared.Map.Components; using Robust.Shared.Prototypes; using Robust.Shared.Utility; using System.Linq; +using Content.Server._CP14.Trading; using Content.Shared.Research.Prototypes; namespace Content.Server.Cargo.Systems; @@ -260,7 +261,9 @@ public sealed class PricingSystem : EntitySystem { double price = 0; - if (HasComp(uid) && + //CP14 We take materials into account when calculating the price in any case. + var proto = MetaData(uid).EntityPrototype?.ID ?? ""; + if ((HasComp(uid) || proto.StartsWith("CP14")) && TryComp(uid, out var composition)) { var matPrice = GetMaterialPrice(composition); @@ -277,7 +280,8 @@ public sealed class PricingSystem : EntitySystem { double price = 0; - if (prototype.Components.ContainsKey(Factory.GetComponentName()) && + //CP14 We take materials into account when calculating the price in any case. + if ((prototype.Components.ContainsKey(Factory.GetComponentName()) || prototype.ID.StartsWith("CP14")) && prototype.Components.TryGetValue(Factory.GetComponentName(), out var composition)) { var compositionComp = (PhysicalCompositionComponent) composition.Component; diff --git a/Content.Server/_CP14/Cargo/BuyServices/CP14RerollSpecialPositionsService.cs b/Content.Server/_CP14/Cargo/BuyServices/CP14RerollSpecialPositionsService.cs deleted file mode 100644 index 9a928cd0bc..0000000000 --- a/Content.Server/_CP14/Cargo/BuyServices/CP14RerollSpecialPositionsService.cs +++ /dev/null @@ -1,64 +0,0 @@ -using Content.Shared._CP14.Cargo; -using Content.Shared._CP14.Cargo.Prototype; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; -using Robust.Shared.Utility; - -namespace Content.Server._CP14.Cargo.BuyServices; - -public sealed partial class CP14RerollSpecialPositionsService : CP14StoreBuyService -{ - [DataField] public int RerollBuy; - [DataField] public int RerollSell; - - public override void Buy(EntityManager entManager, IPrototypeManager prototype, Entity portal) - { - var randomSystem = IoCManager.Resolve(); - var cargoSystem = entManager.System(); - - if (RerollBuy > 0) - { - var removed = 0; - for (var i = 0; i < RerollBuy; i++) - { - if (portal.Comp.CurrentSpecialBuyPositions.Count == 0) - break; - removed++; - var position = randomSystem.Pick(portal.Comp.CurrentSpecialBuyPositions); - portal.Comp.CurrentSpecialBuyPositions.Remove(position.Key); - } - - cargoSystem.AddRandomBuySpecialPosition(portal, removed); - } - - if (RerollSell > 0) - { - var removed = 0; - for (var i = 0; i < RerollSell; i++) - { - if (portal.Comp.CurrentSpecialSellPositions.Count == 0) - break; - removed++; - var position = randomSystem.Pick(portal.Comp.CurrentSpecialSellPositions); - portal.Comp.CurrentSpecialSellPositions.Remove(position.Key); - } - - cargoSystem.AddRandomSellSpecialPosition(portal, removed); - } - } - - public override string GetName(IPrototypeManager protoMan) - { - return string.Empty; - } - - public override EntProtoId? GetEntityView(IPrototypeManager protoManager) - { - return null; - } - - public override SpriteSpecifier? GetTexture(IPrototypeManager protoManager) - { - return null; - } -} diff --git a/Content.Server/_CP14/Cargo/CP14CargoSystem.Portals.cs b/Content.Server/_CP14/Cargo/CP14CargoSystem.Portals.cs deleted file mode 100644 index 1be8c0e836..0000000000 --- a/Content.Server/_CP14/Cargo/CP14CargoSystem.Portals.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Content.Server.Storage.Components; -using Content.Shared._CP14.Cargo; -using Content.Shared.Storage.Components; - -namespace Content.Server._CP14.Cargo; - -public sealed partial class CP14CargoSystem -{ - private void InitializePortals() - { - SubscribeLocalEvent(OnTradePortalMapInit); - - SubscribeLocalEvent(OnTradePortalClose); - SubscribeLocalEvent(OnTradePortalOpen); - } - - private void UpdatePortals(float frameTime) - { - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var ent, out var portal, out var storage)) - { - if (portal.ProcessFinishTime == TimeSpan.Zero || portal.ProcessFinishTime >= _timing.CurTime) - continue; - - portal.ProcessFinishTime = TimeSpan.Zero; - - SellingThings((ent, portal), storage); - TopUpBalance((ent, portal), storage); - BuyThings((ent, portal), storage); - CashOut((ent, portal), storage); - ThrowAllItems((ent, portal), storage); - } - } - - private void OnTradePortalMapInit(Entity ent, ref MapInitEvent args) - { - AddRoundstartTradingPositions(ent); - UpdateStaticPositions(ent); - - ent.Comp.CurrentSpecialBuyPositions.Clear(); - ent.Comp.CurrentSpecialSellPositions.Clear(); - AddRandomBuySpecialPosition(ent, ent.Comp.SpecialBuyPositionCount); - AddRandomSellSpecialPosition(ent, ent.Comp.SpecialSellPositionCount); - } - - private void OnTradePortalClose(Entity ent, ref StorageAfterCloseEvent args) - { - ent.Comp.ProcessFinishTime = _timing.CurTime + ent.Comp.Delay; - } - - private void OnTradePortalOpen(Entity ent, ref StorageAfterOpenEvent args) - { - ent.Comp.ProcessFinishTime = TimeSpan.Zero; - } -} diff --git a/Content.Server/_CP14/Cargo/CP14CargoSystem.UI.cs b/Content.Server/_CP14/Cargo/CP14CargoSystem.UI.cs deleted file mode 100644 index 5b20d4843d..0000000000 --- a/Content.Server/_CP14/Cargo/CP14CargoSystem.UI.cs +++ /dev/null @@ -1,112 +0,0 @@ -using System.Text; -using Content.Shared._CP14.Cargo; -using Content.Shared.UserInterface; - -namespace Content.Server._CP14.Cargo; - -public sealed partial class CP14CargoSystem -{ - public void InitializeUI() - { - SubscribeLocalEvent(OnBeforeUIOpen); - } - - private void TryInitStore(Entity ent) - { - //TODO: more accurate way to find the trading portal, without lookup - var entitiesInRange = _lookup.GetEntitiesInRange(Transform(ent).Coordinates, 2); - foreach (var trading in entitiesInRange) - { - ent.Comp.TradingPortal = trading; - ent.Comp.CahcedFaction = trading.Comp.Faction; - break; - } - } - - private void OnBeforeUIOpen(Entity ent, ref BeforeActivatableUIOpenEvent args) - { - //TODO: If you open a store on a mapping, and initStore() it, the entity will throw an error when you try to save the grid\map. - - if (ent.Comp.TradingPortal is null) - TryInitStore(ent); - - UpdateUIProducts(ent); - } - - private void UpdateUIProducts(Entity ent) - { - if (ent.Comp.TradingPortal is null) - return; - - if (!TryComp(ent.Comp.TradingPortal.Value, out var tradePortalComp)) - return; - - var prodBuy = new HashSet(); - var prodSell = new HashSet(); - - //Add special buy positions - foreach (var (proto, price) in tradePortalComp.CurrentSpecialBuyPositions) - { - var name = proto.NameOverride is null ? proto.Service.GetName(_proto) : Loc.GetString(proto.NameOverride); - var desc = new StringBuilder(); - desc.Append("\n" + Loc.GetString("cp14-store-buy-hint", ("name", name), ("code", "[color=yellow][bold]#" + proto.Code + "[/bold][/color]"))); - - prodBuy.Add(new CP14StoreUiProductEntry(proto.ID, proto.IconOverride ?? proto.Service.GetTexture(_proto), proto.Service.GetEntityView(_proto), name, desc.ToString(), price, true)); - } - - //Add static buy positions - foreach (var (proto, price) in tradePortalComp.CurrentBuyPositions) - { - var name = proto.NameOverride is null ? proto.Service.GetName(_proto) : Loc.GetString(proto.NameOverride); - var desc = new StringBuilder(); - desc.Append("\n" + Loc.GetString("cp14-store-buy-hint", ("name", name), ("code", "[color=yellow][bold]#" + proto.Code + "[/bold][/color]"))); - - prodBuy.Add(new CP14StoreUiProductEntry(proto.ID, proto.IconOverride ?? proto.Service.GetTexture(_proto), proto.Service.GetEntityView(_proto), name, desc.ToString(), price, false)); - } - - //Add special sell positions - foreach (var (proto, price) in tradePortalComp.CurrentSpecialSellPositions) - { - var name = proto.NameOverride is null ? proto.Service.GetName(_proto) : Loc.GetString(proto.NameOverride); - - var desc = new StringBuilder(); - desc.Append("\n" + Loc.GetString("cp14-store-sell-hint", ("name", name))); - - prodSell.Add(new CP14StoreUiProductEntry( - proto.ID, - proto.Service.GetTexture(_proto), - proto.Service.GetEntityView(_proto), - name, - desc.ToString(), - price, - true)); - } - - //Add static sell positions - foreach (var (proto, price) in tradePortalComp.CurrentSellPositions) - { - var name = proto.NameOverride is null ? proto.Service.GetName(_proto) : Loc.GetString(proto.NameOverride); - - var desc = new StringBuilder(); - desc.Append("\n" + Loc.GetString("cp14-store-sell-hint", ("name", name))); - - prodSell.Add(new CP14StoreUiProductEntry( - proto.ID, - proto.Service.GetTexture(_proto), - proto.Service.GetEntityView(_proto), - name, - desc.ToString(), - price, - false)); - } - - var shopName = ":3"; - //Get shop name - if (ent.Comp.CahcedFaction is not null && _proto.TryIndex(ent.Comp.CahcedFaction.Value, out var indexedShop)) - { - shopName = Loc.GetString(indexedShop.Name); - } - - _userInterface.SetUiState(ent.Owner, CP14StoreUiKey.Key, new CP14StoreUiState(shopName, prodBuy, prodSell)); - } -} diff --git a/Content.Server/_CP14/Cargo/CP14CargoSystem.cs b/Content.Server/_CP14/Cargo/CP14CargoSystem.cs deleted file mode 100644 index 02c31c4fd2..0000000000 --- a/Content.Server/_CP14/Cargo/CP14CargoSystem.cs +++ /dev/null @@ -1,317 +0,0 @@ -using System.Linq; -using System.Numerics; -using Content.Server._CP14.Currency; -using Content.Server.Storage.Components; -using Content.Server.Storage.EntitySystems; -using Content.Shared._CP14.Cargo; -using Content.Shared._CP14.Cargo.Prototype; -using Content.Shared._CP14.Currency; -using Content.Shared.Paper; -using Content.Shared.Stacks; -using Content.Shared.Throwing; -using Robust.Server.GameObjects; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; -using Robust.Shared.Timing; - -namespace Content.Server._CP14.Cargo; - -public sealed partial class CP14CargoSystem : CP14SharedCargoSystem -{ - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly UserInterfaceSystem _userInterface = default!; - [Dependency] private readonly EntityLookupSystem _lookup = default!; - [Dependency] private readonly CP14CurrencySystem _currency = default!; - [Dependency] private readonly EntityStorageSystem _entityStorage = default!; - [Dependency] private readonly ThrowingSystem _throwing = default!; - [Dependency] private readonly SharedTransformSystem _transform = default!; - - private IEnumerable? _buyProto; - private IEnumerable? _sellProto; - - - public override void Initialize() - { - base.Initialize(); - - InitializeUI(); - InitializePortals(); - - _buyProto = _proto.EnumeratePrototypes(); - _sellProto = _proto.EnumeratePrototypes(); - - SubscribeLocalEvent(OnProtoReload); - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - UpdatePortals(frameTime); - } - - private void OnProtoReload(PrototypesReloadedEventArgs ev) - { - _buyProto = _proto.EnumeratePrototypes(); - _sellProto = _proto.EnumeratePrototypes(); - } - - private void AddRoundstartTradingPositions(Entity portal) - { - if (_buyProto is not null) - { - foreach (var buy in _buyProto) - { - if (buy.RoundstartAvailable) - portal.Comp.AvailableBuyPosition.Add(buy); - } - } - - if (_sellProto is not null) - { - foreach (var sell in _sellProto) - { - if (sell.RoundstartAvailable) - portal.Comp.AvailableSellPosition.Add(sell); - } - } - } - - private void UpdateStaticPositions(Entity portal) - { - portal.Comp.CurrentBuyPositions.Clear(); - portal.Comp.CurrentSellPositions.Clear(); - - //Add static positions + cash special ones - foreach (var buyPos in portal.Comp.AvailableBuyPosition) - { - if (buyPos.Special) - continue; - - if (buyPos.Factions.Count > 0 && !buyPos.Factions.Contains(portal.Comp.Faction)) - continue; - - portal.Comp.CurrentBuyPositions.Add(buyPos, buyPos.Price); - } - - foreach (var sellPos in portal.Comp.AvailableSellPosition) - { - if (sellPos.Special) - continue; - - if (sellPos.Factions.Count > 0 && !sellPos.Factions.Contains(portal.Comp.Faction)) - continue; - - portal.Comp.CurrentSellPositions.Add(sellPos, sellPos.Price); - } - } - - public void AddRandomBuySpecialPosition(Entity portal, int count) - { - if (_buyProto is null) - return; - - var availableSpecialBuyPositions = new List(); - foreach (var buyPos in _buyProto) - { - if (!buyPos.Special) - continue; - - if (portal.Comp.CurrentSpecialBuyPositions.ContainsKey(buyPos)) - continue; - - if (buyPos.Factions.Count > 0 && !buyPos.Factions.Contains(portal.Comp.Faction)) - continue; - - availableSpecialBuyPositions.Add(buyPos); - } - - _random.Shuffle(availableSpecialBuyPositions); - - var added = 0; - foreach (var buyPos in availableSpecialBuyPositions) - { - if (added >= count) - break; - portal.Comp.CurrentSpecialBuyPositions.Add(buyPos, buyPos.Price); - added++; - } - } - - public void AddRandomSellSpecialPosition(Entity portal, int count) - { - if (_sellProto is null) - return; - - var availableSpecialSellPositions = new List(); - foreach (var sellPos in _sellProto) - { - if (!sellPos.Special) - continue; - - if (portal.Comp.CurrentSpecialSellPositions.ContainsKey(sellPos)) - continue; - - if (sellPos.Factions.Count > 0 && !sellPos.Factions.Contains(portal.Comp.Faction)) - continue; - - availableSpecialSellPositions.Add(sellPos); - } - - _random.Shuffle(availableSpecialSellPositions); - - var added = 0; - foreach (var sellPos in availableSpecialSellPositions) - { - if (added >= count) - break; - portal.Comp.CurrentSpecialSellPositions.Add(sellPos, sellPos.Price); - added++; - } - } - - /// - /// Sell all the items we can, and replenish the internal balance - /// - private void SellingThings(Entity portal, EntityStorageComponent storage) - { - var containedEntities = storage.Contents.ContainedEntities.ToHashSet(); - //var ev = new BeforeSellEntities(ref portal.Comp.EntitiesInPortal); - //RaiseLocalEvent(ev); - - foreach (var sellPos in portal.Comp.CurrentSellPositions) - { - //WHILE = sell all we can - while (sellPos.Key.Service.TrySell(EntityManager, containedEntities)) - { - portal.Comp.Balance += sellPos.Value; - } - } - - List toRemove = new(); - foreach (var sellPos in portal.Comp.CurrentSpecialSellPositions) - { - //IF = only 1 try - if (sellPos.Key.Service.TrySell(EntityManager, containedEntities)) - { - portal.Comp.Balance += sellPos.Value; - toRemove.Add(sellPos.Key); - } - } - - //Remove this special position from the list and add new random one - foreach (var position in toRemove) - { - portal.Comp.CurrentSpecialSellPositions.Remove(position); - AddRandomSellSpecialPosition(portal, 1); - } - } - - /// - /// Take all the money from the portal, and credit it to the internal balance - /// - private void TopUpBalance(Entity portal, EntityStorageComponent storage) - { - //Get all currency in portal - var cash = 0; - foreach (var stored in storage.Contents.ContainedEntities) - { - if (TryComp(stored, out var currency)) - { - //fix currency calculation - var c = currency.Currency; - - if (TryComp(stored, out var stack)) - c *= stack.Count; - - cash += c; - QueueDel(stored); - } - } - - portal.Comp.Balance += cash; - } - - private void BuyThings(Entity portal, EntityStorageComponent storage) - { - //Reading all papers in portal - List> requests = new(); - foreach (var stored in storage.Contents.ContainedEntities) - { - if (!TryComp(stored, out var paper)) - continue; - - var splittedText = paper.Content.Split("#"); - foreach (var fragment in splittedText) - { - foreach (var buyPosition in portal.Comp.CurrentBuyPositions) - { - if (fragment.StartsWith(buyPosition.Key.Code)) - requests.Add(buyPosition); - } - - foreach (var buyPosition in portal.Comp.CurrentSpecialBuyPositions) - { - if (fragment.StartsWith(buyPosition.Key.Code)) - requests.Add(buyPosition); - } - } - - QueueDel(stored); - } - - //Trying to spend inner money to buy requested things - foreach (var request in requests) - { - if (portal.Comp.Balance < request.Value) - continue; - - portal.Comp.Balance -= request.Value; - - if (!_proto.TryIndex(request.Key, out var indexedBuyed)) - continue; - - //Remove this position from the list and add new random one - if (request.Key.Special) - { - portal.Comp.CurrentSpecialBuyPositions.Remove(request.Key); - AddRandomBuySpecialPosition(portal, 1); - } - - indexedBuyed.Service.Buy(EntityManager, _proto, portal); - } - } - - /// - /// Transform all the accumulated balance into physical money, which we will give to the players. - /// - private void CashOut(Entity portal, EntityStorageComponent storage) - { - var coins = _currency.GenerateMoney(portal.Comp.Balance, Transform(portal).Coordinates); - foreach (var coin in coins) - { - _entityStorage.Insert(coin, portal, storage); - } - portal.Comp.Balance = 0; - } - - /// - /// Return all items to the map - /// - private void ThrowAllItems(Entity portal, EntityStorageComponent storage) - { - var containedEntities = storage.Contents.ContainedEntities.ToList(); - - _entityStorage.OpenStorage(portal, storage); - - var xform = Transform(portal); - var rotation = xform.LocalRotation; - foreach (var stored in containedEntities) - { - _transform.AttachToGridOrMap(stored); - var targetThrowPosition = xform.Coordinates.Offset(rotation.ToWorldVec() * 1); - _throwing.TryThrow(stored, targetThrowPosition.Offset(new Vector2(_random.NextFloat(-0.5f, 0.5f), _random.NextFloat(-0.5f, 0.5f)))); - } - } -} diff --git a/Content.Server/_CP14/Currency/CP14CurrencySystem.Converter.cs b/Content.Server/_CP14/Currency/CP14CurrencySystem.Converter.cs index 04dd347b04..ea96eff1c3 100644 --- a/Content.Server/_CP14/Currency/CP14CurrencySystem.Converter.cs +++ b/Content.Server/_CP14/Currency/CP14CurrencySystem.Converter.cs @@ -2,6 +2,7 @@ using Content.Shared._CP14.Currency; using Content.Shared.Examine; using Content.Shared.Interaction; using Content.Shared.Stacks; +using Content.Shared.Tag; using Content.Shared.Verbs; using Robust.Shared.Audio; using Robust.Shared.Map; @@ -12,6 +13,7 @@ namespace Content.Server._CP14.Currency; public sealed partial class CP14CurrencySystem { + [Dependency] private readonly TagSystem _tag = default!; private void InitializeConverter() { SubscribeLocalEvent>(OnGetVerb); @@ -115,14 +117,14 @@ public sealed partial class CP14CurrencySystem private void OnInteractUsing(Entity ent, ref InteractUsingEvent args) { - if (!TryComp(args.Used, out var currency)) + if (!_tag.HasTag(args.Used, ent.Comp.CoinTag)) return; if (ent.Comp.Whitelist is not null && !_whitelist.IsValid(ent.Comp.Whitelist, args.Used)) return; - var delta = GetTotalCurrencyRecursive(args.Used); - ent.Comp.Balance += delta; + var delta = _price.GetPrice(args.Used); + ent.Comp.Balance += (int)delta; QueueDel(args.Used); _popup.PopupEntity(Loc.GetString("cp14-currency-converter-insert", ("cash", delta)), ent, args.User); @@ -130,9 +132,9 @@ public sealed partial class CP14CurrencySystem } public HashSet GenerateMoney(EntProtoId currencyType, - int target, + double target, EntityCoordinates coordinates, - out int remainder) + out double remainder) { remainder = target; HashSet spawns = new(); @@ -155,7 +157,7 @@ public sealed partial class CP14CurrencySystem } public HashSet GenerateMoney( - int target, + double target, EntityCoordinates coordinates) { HashSet coins = new(); @@ -204,9 +206,9 @@ public sealed partial class CP14CurrencySystem return coins; } - private bool ProcessEntity(EntityUid ent, ref int remainder, HashSet spawns) + private bool ProcessEntity(EntityUid ent, ref double remainder, HashSet spawns) { - var singleCurrency = GetTotalCurrencyRecursive(ent); + var singleCurrency = _price.GetPrice(ent); if (singleCurrency > remainder) { @@ -229,15 +231,15 @@ public sealed partial class CP14CurrencySystem private void AdjustStack(EntityUid ent, StackComponent stack, StackPrototype stackProto, - float singleCurrency, - ref int remainder) + double singleCurrency, + ref double remainder) { var singleStackCurrency = singleCurrency / stack.Count; var stackLeftSpace = stackProto.MaxCount - stack.Count; if (stackLeftSpace is not null) { - var addedStack = MathF.Min((float)stackLeftSpace, MathF.Floor(remainder / singleStackCurrency)); + var addedStack = MathF.Min((float)stackLeftSpace, MathF.Floor((float)(remainder / singleStackCurrency))); if (addedStack > 0) { diff --git a/Content.Server/_CP14/Currency/CP14CurrencySystem.cs b/Content.Server/_CP14/Currency/CP14CurrencySystem.cs index 200e2d9587..a277dfb074 100644 --- a/Content.Server/_CP14/Currency/CP14CurrencySystem.cs +++ b/Content.Server/_CP14/Currency/CP14CurrencySystem.cs @@ -1,13 +1,10 @@ +using Content.Server.Cargo.Systems; using Content.Server.Popups; using Content.Server.Stack; -using Content.Server.Storage.Components; using Content.Shared._CP14.Currency; using Content.Shared.Examine; -using Content.Shared.Stacks; -using Content.Shared.Storage; using Content.Shared.Whitelist; using Robust.Server.Audio; -using Robust.Shared.Containers; using Robust.Shared.Prototypes; namespace Content.Server._CP14.Currency; @@ -19,6 +16,7 @@ public sealed partial class CP14CurrencySystem : CP14SharedCurrencySystem [Dependency] private readonly StackSystem _stack = default!; [Dependency] private readonly AudioSystem _audio = default!; [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly PricingSystem _price = default!; public override void Initialize() { @@ -27,46 +25,13 @@ public sealed partial class CP14CurrencySystem : CP14SharedCurrencySystem InitializeConverter(); SubscribeLocalEvent(OnExamine); - - SubscribeLocalEvent(OnGetCurrency); - SubscribeLocalEvent(OnContainerGetCurrency); - } - - private void OnGetCurrency(Entity ent, ref CP14GetCurrencyEvent args) - { - if (args.CheckedEntities.Contains(ent)) - return; - - var total = ent.Comp.Currency; - if (TryComp(ent, out var stack)) - { - total *= stack.Count; - } - - args.Currency += total; - args.CheckedEntities.Add(ent); - } - - private void OnContainerGetCurrency(Entity ent, ref CP14GetCurrencyEvent args) - { - var total = 0; - foreach (var container in ent.Comp.Containers.Values) - { - foreach (var containedEnt in container.ContainedEntities) - { - total += GetTotalCurrencyRecursive(containedEnt); - } - } - - args.Currency += total; } private void OnExamine(Entity currency, ref ExaminedEvent args) { - var total = GetTotalCurrencyRecursive(currency); - + var price = _price.GetPrice(currency); var push = Loc.GetString("cp14-currency-examine-title"); - push += GetCurrencyPrettyString(total); + push += GetCurrencyPrettyString((int)price); args.PushMarkup(push); } } diff --git a/Content.Server/_CP14/ModularCraft/CP14ModularCraftSystem.cs b/Content.Server/_CP14/ModularCraft/CP14ModularCraftSystem.cs index eeae4b4adc..8d0ce4a0ba 100644 --- a/Content.Server/_CP14/ModularCraft/CP14ModularCraftSystem.cs +++ b/Content.Server/_CP14/ModularCraft/CP14ModularCraftSystem.cs @@ -1,9 +1,11 @@ +using Content.Server.Cargo.Components; using Content.Server.Item; using Content.Shared._CP14.ModularCraft; using Content.Shared._CP14.ModularCraft.Components; using Content.Shared._CP14.ModularCraft.Prototypes; using Content.Shared.Throwing; using Content.Shared.Examine; +using Content.Shared.Materials; using Content.Shared.Verbs; using Robust.Server.GameObjects; using Robust.Shared.Prototypes; @@ -182,6 +184,36 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem var indexedPart = _proto.Index(partProto); + if (TryComp(part, out var partMaterial)) + { + var startMaterial = EnsureComp(start); + + //Merge materials + foreach (var (material, count) in partMaterial.MaterialComposition) + { + if (startMaterial.MaterialComposition.TryGetValue(material, out var existingCount)) + startMaterial.MaterialComposition[material] = existingCount + count; + else + startMaterial.MaterialComposition[material] = count; + } + + //Merge solutions + foreach (var (sol, count) in partMaterial.ChemicalComposition) + { + if (startMaterial.ChemicalComposition.TryGetValue(sol, out var existingCount)) + startMaterial.ChemicalComposition[sol] = existingCount + count; + else + startMaterial.ChemicalComposition[sol] = count; + } + } + + if (TryComp(part, out var staticPartPrice)) + { + var startStaticPrice = EnsureComp(start); + + startStaticPrice.Price += staticPartPrice.Price; + } + foreach (var modifier in indexedPart.Modifiers) { modifier.Effect(EntityManager, start, part); diff --git a/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs b/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs deleted file mode 100644 index 6b99e4e429..0000000000 --- a/Content.Server/_CP14/Objectives/Components/CP14TownSendConditionComponent.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Content.Server._CP14.Objectives.Systems; -using Content.Shared.Objectives; -using Robust.Shared.Prototypes; - -namespace Content.Server._CP14.Objectives.Components; - -[RegisterComponent, Access(typeof(CP14TownSendConditionSystem))] -public sealed partial class CP14TownSendConditionComponent : Component -{ - [DataField] - public ProtoId CollectGroup; - - /// - /// The minimum number of items you need to steal to fulfill a objective - /// - [DataField] - public int MinCollectionSize = 1; - - /// - /// The maximum number of items you need to steal to fulfill a objective - /// - [DataField] - public int MaxCollectionSize = 1; - - /// - /// Target collection size after calculation - /// - [DataField] - public int CollectionSize; - - /// - /// how many items have already been sent to the city - /// - [DataField] - public int CollectionSent = 0; - - [DataField(required: true)] - public LocId ObjectiveText; - - [DataField(required: true)] - public LocId ObjectiveDescription; -} diff --git a/Content.Server/_CP14/Objectives/Systems/CP14CurrencyCollectConditionSystem.cs b/Content.Server/_CP14/Objectives/Systems/CP14CurrencyCollectConditionSystem.cs index 8200f95f95..b5fef19043 100644 --- a/Content.Server/_CP14/Objectives/Systems/CP14CurrencyCollectConditionSystem.cs +++ b/Content.Server/_CP14/Objectives/Systems/CP14CurrencyCollectConditionSystem.cs @@ -1,4 +1,5 @@ using Content.Server._CP14.Objectives.Components; +using Content.Server.Cargo.Systems; using Content.Server.Objectives.Components; using Content.Shared._CP14.Currency; using Content.Shared.Interaction; @@ -16,6 +17,7 @@ public sealed class CP14CurrencyCollectConditionSystem : EntitySystem [Dependency] private readonly MetaDataSystem _metaData = default!; [Dependency] private readonly SharedObjectivesSystem _objectives = default!; [Dependency] private readonly CP14SharedCurrencySystem _currency = default!; + [Dependency] private readonly PricingSystem _price = default!; public override void Initialize() { @@ -40,15 +42,16 @@ public sealed class CP14CurrencyCollectConditionSystem : EntitySystem private float GetProgress(MindComponent mind, CP14CurrencyCollectConditionComponent condition) { - var count = 0; + double count = 0; if (mind.OwnedEntity is null) return 0; - count += _currency.GetTotalCurrencyRecursive(mind.OwnedEntity.Value); + count += _price.GetPrice(mind.OwnedEntity.Value); + count -= _price.GetPrice(mind.OwnedEntity.Value, false); //We don't want to count the price of the entity itself. var result = count / (float)condition.Currency; result = Math.Clamp(result, 0, 1); - return result; + return (float)result; } } diff --git a/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs b/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs deleted file mode 100644 index 2e7436cbce..0000000000 --- a/Content.Server/_CP14/Objectives/Systems/CP14TownSendConditionSystem.cs +++ /dev/null @@ -1,94 +0,0 @@ -using Content.Server._CP14.Objectives.Components; -using Content.Shared._CP14.Cargo; -using Content.Shared.Objectives.Components; -using Content.Shared.Objectives.Systems; -using Content.Shared.Stacks; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; - -namespace Content.Server._CP14.Objectives.Systems; - -public sealed class CP14TownSendConditionSystem : EntitySystem -{ - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly MetaDataSystem _metaData = default!; - [Dependency] private readonly SharedObjectivesSystem _objectives = default!; - - private EntityQuery _stealQuery; - private EntityQuery _stackQuery; - - public override void Initialize() - { - base.Initialize(); - - _stealQuery = GetEntityQuery(); - _stackQuery = GetEntityQuery(); - - SubscribeLocalEvent(OnAfterAssign); - SubscribeLocalEvent(OnGetProgress); - - SubscribeLocalEvent(OnBeforeSell); - } - - private void OnBeforeSell(BeforeSellEntities ev) - { - var query = EntityQueryEnumerator(); - - HashSet removed = new(); - while (query.MoveNext(out var uid, out var condition)) - { - foreach (var sentEnt in ev.Sent) - { - if (condition.CollectionSent >= condition.CollectionSize) - continue; - - if (!_stealQuery.TryComp(sentEnt, out var stealTarget)) - continue; - - if (stealTarget.StealGroup != condition.CollectGroup) - continue; - - if (_stackQuery.TryComp(sentEnt, out var stack)) - { - condition.CollectionSent += stack.Count; - } - else - { - condition.CollectionSent++; - } - - if (!removed.Contains(sentEnt)) - removed.Add(sentEnt); - } - } - - foreach (var remove in removed) - { - ev.Sent.Remove(remove); - QueueDel(remove); - } - } - - //Set the visual, name, icon for the objective. - private void OnAfterAssign(Entity condition, ref ObjectiveAfterAssignEvent args) - { - condition.Comp.CollectionSize = _random.Next(condition.Comp.MinCollectionSize, condition.Comp.MaxCollectionSize); - - var group = _proto.Index(condition.Comp.CollectGroup); - - var title = Loc.GetString(condition.Comp.ObjectiveText, ("itemName", Loc.GetString(group.Name)), ("count", condition.Comp.CollectionSize)); - var description = Loc.GetString(condition.Comp.ObjectiveDescription, ("itemName", Loc.GetString(group.Name)), ("count", condition.Comp.CollectionSize)); - - _metaData.SetEntityName(condition.Owner, title, args.Meta); - _metaData.SetEntityDescription(condition.Owner, description, args.Meta); - _objectives.SetIcon(condition.Owner, group.Sprite, args.Objective); - } - - private void OnGetProgress(Entity condition, ref ObjectiveGetProgressEvent args) - { - var result = (float)condition.Comp.CollectionSent / (float)condition.Comp.CollectionSize; - result = Math.Clamp(result, 0, 1); - args.Progress = result; - } -} diff --git a/Content.Server/_CP14/Trading/CP14SellingPlatformComponent.cs b/Content.Server/_CP14/Trading/CP14SellingPlatformComponent.cs new file mode 100644 index 0000000000..1ce02cb5ce --- /dev/null +++ b/Content.Server/_CP14/Trading/CP14SellingPlatformComponent.cs @@ -0,0 +1,20 @@ +using Robust.Shared.Audio; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.Trading; + +/// +/// Allows you to sell items by overloading the platform with energy +/// +[RegisterComponent] +public sealed partial class CP14SellingPlatformComponent : Component +{ + [DataField] + public SoundSpecifier SellSound = new SoundPathSpecifier("/Audio/_CP14/Effects/cash.ogg") + { + Params = AudioParams.Default.WithVariation(0.1f), + }; + + [DataField] + public EntProtoId SellVisual = "CP14CashImpact"; +} diff --git a/Content.Server/_CP14/Trading/CP14StationEconomySystem.Price.cs b/Content.Server/_CP14/Trading/CP14StationEconomySystem.Price.cs new file mode 100644 index 0000000000..fb8de8ca1e --- /dev/null +++ b/Content.Server/_CP14/Trading/CP14StationEconomySystem.Price.cs @@ -0,0 +1,30 @@ +using Content.Server.Cargo.Systems; +using Content.Shared.Weapons.Melee; + +namespace Content.Server._CP14.Trading; + +public sealed partial class CP14StationEconomySystem +{ + private void InitPriceEvents() + { + SubscribeLocalEvent(OnMeleeWeaponPriceCalculation); + } + + private void OnMeleeWeaponPriceCalculation(Entity ent, ref PriceCalculationEvent args) + { + //double price = 0; + //var dps = ent.Comp.Damage.GetTotal() * ent.Comp.AttackRate; + //if (dps <= 0) + // return; +// + //price += dps.Value; +// + //if (ent.Comp.ResetOnHandSelected == false) + // price *= 1.5; // If the weapon doesn't reset on hand selection, it's more valuable. +// + //if (ent.Comp.AltDisarm) + // price *= 1.5; // If the weapon has an alt disarm, it's more valuable. +// + //args.Price += price * 0.1f; + } +} diff --git a/Content.Server/_CP14/Trading/CP14StationEconomySystem.cs b/Content.Server/_CP14/Trading/CP14StationEconomySystem.cs new file mode 100644 index 0000000000..5bc87ced44 --- /dev/null +++ b/Content.Server/_CP14/Trading/CP14StationEconomySystem.cs @@ -0,0 +1,54 @@ +using Content.Server.Cargo.Systems; +using Content.Server.Station.Events; +using Content.Shared._CP14.Trading.BuyServices; +using Content.Shared._CP14.Trading.Components; +using Content.Shared._CP14.Trading.Prototypes; +using Content.Shared._CP14.Trading.Systems; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; + +namespace Content.Server._CP14.Trading; + +public sealed partial class CP14StationEconomySystem : CP14SharedStationEconomySystem +{ + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly PricingSystem _price = default!; + [Dependency] private readonly IRobustRandom _random = default!; + public override void Initialize() + { + base.Initialize(); + InitPriceEvents(); + + SubscribeLocalEvent(OnStationPostInit); + } + + private void OnStationPostInit(Entity ent, ref StationPostInitEvent args) + { + UpdatePricing(ent); + } + + private void UpdatePricing(Entity ent) + { + ent.Comp.Pricing.Clear(); + foreach (var trade in _proto.EnumeratePrototypes()) + { + double price = 0; + switch (trade.Service) + { + case CP14BuyItemsService buyItems: + if (!_proto.TryIndex(buyItems.Product, out var indexedProduct)) + break; + price += _price.GetEstimatedPrice(indexedProduct) * buyItems.Count; + break; + } + + price += trade.PriceMarkup; + + //Random fluctuation + price *= 1 + _random.NextFloat(trade.PriceFluctuation); + + ent.Comp.Pricing.TryAdd(trade, (int) price); + } + Dirty(ent); + } +} diff --git a/Content.Server/_CP14/Trading/CP14TradingPlatformSystem.cs b/Content.Server/_CP14/Trading/CP14TradingPlatformSystem.cs new file mode 100644 index 0000000000..3f68a20de6 --- /dev/null +++ b/Content.Server/_CP14/Trading/CP14TradingPlatformSystem.cs @@ -0,0 +1,125 @@ +using Content.Server._CP14.Currency; +using Content.Server._CP14.MagicEnergy; +using Content.Server.Cargo.Systems; +using Content.Shared._CP14.MagicEnergy; +using Content.Shared._CP14.Trading.Components; +using Content.Shared._CP14.Trading.Prototypes; +using Content.Shared._CP14.Trading.Systems; +using Content.Shared.Mobs.Components; +using Content.Shared.Mobs.Systems; +using Content.Shared.Placeable; +using Content.Shared.Popups; +using Content.Shared.Tag; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.Trading; + +public sealed partial class CP14TradingPlatformSystem : CP14SharedTradingPlatformSystem +{ + [Dependency] private readonly TagSystem _tag = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly PricingSystem _price = default!; + [Dependency] private readonly CP14CurrencySystem _cp14Currency = default!; + [Dependency] private readonly CP14StationEconomySystem _economy = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly CP14MagicEnergySystem _magicEnergy = default!; + [Dependency] private readonly MobStateSystem _mobState = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnBuyAttempt); + SubscribeLocalEvent(OnMagicOverload); + } + + private void OnMagicOverload(Entity ent, ref CP14MagicEnergyOverloadEvent args) + { + _magicEnergy.ClearEnergy(ent.Owner); + + if (!TryComp(ent, out var itemPlacer)) + return; + + double price = 0; + foreach (var placed in itemPlacer.PlacedEntities) + { + if (HasComp(placed)) + continue; + + var placedPrice = _price.GetPrice(placed); + + if (placedPrice <= 0) + continue; + + price += placedPrice; + QueueDel(placed); + } + + _audio.PlayPvs(ent.Comp.SellSound, Transform(ent).Coordinates); + _cp14Currency.GenerateMoney(price, Transform(ent).Coordinates); + SpawnAtPosition(ent.Comp.SellVisual, Transform(ent).Coordinates); + } + + private void OnBuyAttempt(Entity ent, ref CP14TradingPositionBuyAttempt args) + { + TryBuyPosition(args.Actor, ent, args.Position); + UpdateUIState(ent, args.Actor); + } + + public bool TryBuyPosition(Entity user, Entity platform, ProtoId position) + { + if (!CanBuyPosition(user, platform!, position)) + return false; + + if (!Proto.TryIndex(position, out var indexedPosition)) + return false; + + if (!Resolve(user.Owner, ref user.Comp, false)) + return false; + + if (!TryComp(platform, out var itemPlacer)) + return false; + + //Top up balance + double balance = 0; + foreach (var placedEntity in itemPlacer.PlacedEntities) + { + if (!_tag.HasTag(placedEntity, platform.Comp.CoinTag)) + continue; + balance += _price.GetPrice(placedEntity); + } + + var price = _economy.GetPrice(position) ?? 10000; + if (balance < price) + { + // Not enough balance to buy the position + _popup.PopupEntity(Loc.GetString("cp14-trading-failure-popup-money"), platform); + return false; + } + + foreach (var placedEntity in itemPlacer.PlacedEntities) + { + if (!_tag.HasTag(placedEntity, platform.Comp.CoinTag)) + continue; + QueueDel(placedEntity); + } + + balance -= price; + + platform.Comp.NextBuyTime = Timing.CurTime + TimeSpan.FromSeconds(1f); + Dirty(platform); + + if (indexedPosition.Service is not null) + indexedPosition.Service.Buy(EntityManager, Proto, platform); + user.Comp.Reputation[indexedPosition.Faction] += (float)price / 10; + Dirty(user); + + _audio.PlayPvs(platform.Comp.BuySound, Transform(platform).Coordinates); + + //return the change + _cp14Currency.GenerateMoney(balance, Transform(platform).Coordinates); + SpawnAtPosition(platform.Comp.BuyVisual, Transform(platform).Coordinates); + return true; + } +} diff --git a/Content.Shared/Armor/ArmorComponent.cs b/Content.Shared/Armor/ArmorComponent.cs index 38f5f2cb1b..865aa0d795 100644 --- a/Content.Shared/Armor/ArmorComponent.cs +++ b/Content.Shared/Armor/ArmorComponent.cs @@ -22,7 +22,7 @@ public sealed partial class ArmorComponent : Component /// to determine the monetary value of the armor /// [DataField] - public float PriceMultiplier = 1; + public float PriceMultiplier = 0.25f; //CP14 1 -> 0.25 (different economy) /// /// If true, you can examine the armor to see the protection. If false, the verb won't appear. diff --git a/Content.Shared/_CP14/Cargo/CP14SharedCargoSystem.cs b/Content.Shared/_CP14/Cargo/CP14SharedCargoSystem.cs deleted file mode 100644 index 6243f76ed9..0000000000 --- a/Content.Shared/_CP14/Cargo/CP14SharedCargoSystem.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace Content.Shared._CP14.Cargo; - -public class CP14SharedCargoSystem : EntitySystem -{ -} - -/// -/// is called in just before the goods are shipped into town, and before the profit on them is calculated. It allows you to edit the list of sent items. -/// -public sealed class BeforeSellEntities : EntityEventArgs -{ - public HashSet Sent; - - public BeforeSellEntities(ref HashSet sent) - { - Sent = sent; - } -} diff --git a/Content.Shared/_CP14/Cargo/CP14StoreUI.cs b/Content.Shared/_CP14/Cargo/CP14StoreUI.cs deleted file mode 100644 index a4257d80ae..0000000000 --- a/Content.Shared/_CP14/Cargo/CP14StoreUI.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Content.Shared._CP14.Workbench; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization; -using Robust.Shared.Utility; - -namespace Content.Shared._CP14.Cargo; - -[Serializable, NetSerializable] -public enum CP14StoreUiKey -{ - Key, -} - -[Serializable, NetSerializable] -public sealed class CP14StoreUiState : BoundUserInterfaceState -{ - public readonly string ShopName; - public readonly HashSet ProductsBuy; - public readonly HashSet ProductsSell; - - public CP14StoreUiState(string name, HashSet productsBuy, HashSet productsSell) - { - ShopName = name; - ProductsBuy = productsBuy; - ProductsSell = productsSell; - } -} - -[Serializable, NetSerializable] -public readonly struct CP14StoreUiProductEntry : IEquatable -{ - public readonly string ProtoId; - public readonly SpriteSpecifier? Icon; - public readonly EntProtoId? EntityView; - public readonly string Name; - public readonly string Desc; - public readonly int Price; - public readonly bool Special; - - public CP14StoreUiProductEntry(string protoId, SpriteSpecifier? icon, EntProtoId? entityView, string name, string desc, int price, bool special) - { - ProtoId = protoId; - Icon = icon; - EntityView = entityView; - Name = name; - Desc = desc; - Price = price; - Special = special; - } - - 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/Cargo/CP14TradingInfoBoardComponent.cs b/Content.Shared/_CP14/Cargo/CP14TradingInfoBoardComponent.cs deleted file mode 100644 index 0104113e04..0000000000 --- a/Content.Shared/_CP14/Cargo/CP14TradingInfoBoardComponent.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Content.Shared._CP14.Cargo.Prototype; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.Cargo; - -/// -/// Allows users to view information on faction trading opportunities -/// -[RegisterComponent] -public sealed partial class CP14TradingInfoBoardComponent : Component -{ - [DataField] - public EntityUid? TradingPortal = null; - - [DataField] - public ProtoId? CahcedFaction; -} diff --git a/Content.Shared/_CP14/Cargo/CP14TradingPortalComponent.cs b/Content.Shared/_CP14/Cargo/CP14TradingPortalComponent.cs deleted file mode 100644 index 70475196ad..0000000000 --- a/Content.Shared/_CP14/Cargo/CP14TradingPortalComponent.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Content.Shared._CP14.Cargo.Prototype; -using Content.Shared.Destructible.Thresholds; -using Robust.Shared.GameStates; -using Robust.Shared.Map; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.Cargo; - -/// -/// Add to the station so ... -/// -[NetworkedComponent, RegisterComponent, AutoGenerateComponentPause, AutoGenerateComponentState] -public sealed partial class CP14TradingPortalComponent : Component -{ - [DataField(required: true), AutoNetworkedField] - public ProtoId Faction = default; - - [DataField] - public EntityCoordinates? TradingPosition = null; - - [DataField, AutoNetworkedField] - public TimeSpan Delay = TimeSpan.FromSeconds(3f); - - [DataField, AutoNetworkedField] - [AutoPausedField] - public TimeSpan ProcessFinishTime = TimeSpan.Zero; - - /// - /// Available to random selecting and pusharing - /// - [DataField] - public HashSet AvailableBuyPosition = new(); - - /// - /// Available to random selecting and pusharing - /// - [DataField] - public HashSet AvailableSellPosition = new(); - - /// - /// Fixed prices and positions of the current flight - /// - [DataField] - public Dictionary CurrentBuyPositions = new(); //Proto, price - - [DataField] - public Dictionary CurrentSpecialBuyPositions = new(); //Proto, price - - [DataField] - public int SpecialBuyPositionCount = 2; - - [DataField] - public Dictionary CurrentSellPositions = new(); //Proto, price - - [DataField] - public Dictionary CurrentSpecialSellPositions = new(); //Proto, price - - [DataField] - public int SpecialSellPositionCount = 2; - - [DataField] - public int Balance = 0; -} diff --git a/Content.Shared/_CP14/Cargo/Prototype/BuyServices/CP14UnlockPositionsService.cs b/Content.Shared/_CP14/Cargo/Prototype/BuyServices/CP14UnlockPositionsService.cs deleted file mode 100644 index 8d43771edc..0000000000 --- a/Content.Shared/_CP14/Cargo/Prototype/BuyServices/CP14UnlockPositionsService.cs +++ /dev/null @@ -1,81 +0,0 @@ -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; - -namespace Content.Shared._CP14.Cargo.Prototype.BuyServices; - -public sealed partial class CP14UnlockPositionsService : CP14StoreBuyService -{ - [DataField] - public HashSet> AddBuyPositions = new(); - - [DataField] - public HashSet> AddSellPositions = new(); - - [DataField] - public HashSet> RemoveBuyPositions = new(); - - [DataField] - public HashSet> RemoveSellPositions = new(); - - [DataField] - public SpriteSpecifier? Icon = null; - - [DataField] - public LocId Name = string.Empty; - - public override void Buy(EntityManager entManager, IPrototypeManager prototype, Entity portal) - { - foreach (var buy in AddBuyPositions) - { - if (!prototype.TryIndex(buy, out var indexedBuy)) - continue; - - portal.Comp.AvailableBuyPosition.Add(indexedBuy); - } - - foreach (var sell in AddSellPositions) - { - if (!prototype.TryIndex(sell, out var indexedSell)) - continue; - - portal.Comp.AvailableSellPosition.Add(indexedSell); - } - - foreach (var rBuy in RemoveBuyPositions) - { - if (!prototype.TryIndex(rBuy, out var indexedBuy)) - continue; - - if (!portal.Comp.AvailableBuyPosition.Contains(indexedBuy)) - continue; - - portal.Comp.AvailableBuyPosition.Remove(indexedBuy); - } - - foreach (var rSell in RemoveSellPositions) - { - if (!prototype.TryIndex(rSell, out var indexedSell)) - continue; - - if (!portal.Comp.AvailableSellPosition.Contains(indexedSell)) - continue; - - portal.Comp.AvailableSellPosition.Remove(indexedSell); - } - } - - public override string GetName(IPrototypeManager protoMan) - { - return Loc.GetString(Name); - } - - public override EntProtoId? GetEntityView(IPrototypeManager protoManager) - { - return null; - } - - public override SpriteSpecifier? GetTexture(IPrototypeManager protoManager) - { - return Icon; - } -} diff --git a/Content.Shared/_CP14/Cargo/Prototype/CP14StoreBuyPositionPrototype.cs b/Content.Shared/_CP14/Cargo/Prototype/CP14StoreBuyPositionPrototype.cs deleted file mode 100644 index 1a30ad0068..0000000000 --- a/Content.Shared/_CP14/Cargo/Prototype/CP14StoreBuyPositionPrototype.cs +++ /dev/null @@ -1,64 +0,0 @@ -using JetBrains.Annotations; -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; - -namespace Content.Shared._CP14.Cargo.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!; - - [DataField(required: true)] - public int Price = 100; - - /// - /// a unique code that can be used to purchase items. - /// - [DataField(required: true)] - public string Code = string.Empty; - - [DataField(required: true, serverOnly: true)] - public CP14StoreBuyService Service = default!; - - [DataField] - public SpriteSpecifier? IconOverride; - - [DataField] - public LocId? NameOverride; - - [DataField] - public bool RoundstartAvailable = true; - - /// - /// If true, this item will randomly appear under the ‘Special Offer’ heading. With a chance to show up every time the ship arrives. - /// - [DataField] - public bool Special; - - [DataField] - public HashSet> Factions = new(); -} - -[ImplicitDataDefinitionForInheritors] -[MeansImplicitUse] -public abstract partial class CP14StoreBuyService -{ - public abstract void Buy(EntityManager entManager, IPrototypeManager prototype, Entity portal); - - public abstract string GetName(IPrototypeManager protoMan); - - /// - /// You can specify an icon generated from an entity. It will support layering, colour changes and other layer options. Return null to disable. - /// - public abstract EntProtoId? GetEntityView(IPrototypeManager protoManager); - - /// - /// You can specify the texture directly. Return null to disable. - /// - public abstract SpriteSpecifier? GetTexture(IPrototypeManager protoManager); -} diff --git a/Content.Shared/_CP14/Cargo/Prototype/CP14StoreFactionPrototype.cs b/Content.Shared/_CP14/Cargo/Prototype/CP14StoreFactionPrototype.cs deleted file mode 100644 index 418120285d..0000000000 --- a/Content.Shared/_CP14/Cargo/Prototype/CP14StoreFactionPrototype.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.Cargo.Prototype; - -[Prototype("storeFaction")] -public sealed partial class CP14StoreFactionPrototype : IPrototype -{ - [IdDataField, ViewVariables] - public string ID { get; private set; } = default!; - - [DataField(required: true)] - public LocId Name = string.Empty; - - [DataField] - public LocId Desc = string.Empty; -} diff --git a/Content.Shared/_CP14/Cargo/Prototype/CP14StoreSellPositionPrototype.cs b/Content.Shared/_CP14/Cargo/Prototype/CP14StoreSellPositionPrototype.cs deleted file mode 100644 index 35da395c21..0000000000 --- a/Content.Shared/_CP14/Cargo/Prototype/CP14StoreSellPositionPrototype.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Content.Shared.Destructible.Thresholds; -using JetBrains.Annotations; -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; - -namespace Content.Shared._CP14.Cargo.Prototype; - -/// -/// 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!; - - [DataField(required: true)] - public int Price = 100; - - [DataField(required: true, serverOnly: true)] - public CP14StoreSellService Service = default!; - - [DataField] - public SpriteSpecifier? IconOverride; - - [DataField] - public LocId? NameOverride; - - [DataField] - public bool RoundstartAvailable = true; - - /// - /// If true, this item will randomly appear under the ‘Special Offer’ heading. With a chance to show up every time the ship arrives. - /// - [DataField] - public bool Special; - - [DataField] - public HashSet> Factions = new(); -} - -[ImplicitDataDefinitionForInheritors] -[MeansImplicitUse] -public abstract partial class CP14StoreSellService -{ - public abstract bool TrySell(EntityManager entManager, HashSet entities); - - public abstract string GetName(IPrototypeManager protoMan); - - /// - /// You can specify an icon generated from an entity. It will support layering, colour changes and other layer options. Return null to disable. - /// - public abstract EntProtoId? GetEntityView(IPrototypeManager protoManager); - - /// - /// You can specify the texture directly. Return null to disable. - /// - public abstract SpriteSpecifier? GetTexture(IPrototypeManager protoManager); -} diff --git a/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellProrotypeService.cs b/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellProrotypeService.cs deleted file mode 100644 index 78db8fea78..0000000000 --- a/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellProrotypeService.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; - -namespace Content.Shared._CP14.Cargo.Prototype.SellServices; - -public sealed partial class CP14SellPrototypeService : CP14StoreSellService -{ - [DataField(required: true)] - public EntProtoId Proto; - - [DataField] - public int Count = 1; - - public override bool TrySell(EntityManager entManager, HashSet entities) - { - HashSet suitable = new(); - - var needCount = Count; - foreach (var ent in entities) - { - if (needCount <= 0) - break; - - if (!entManager.TryGetComponent(ent, out var metaData)) - continue; - - if (metaData.EntityPrototype is null) - continue; - - if (metaData.EntityPrototype != Proto) - continue; - - suitable.Add(ent); - needCount -= 1; - } - - if (needCount > 0) - return false; - - foreach (var selledEnt in suitable) - { - entManager.DeleteEntity(selledEnt); - } - - return true; - } - - public override string GetName(IPrototypeManager protoMan) - { - if (!protoMan.TryIndex(Proto, out var proto)) - return ":3"; - - return $"{proto.Name} x{Count}"; - } - - public override EntProtoId? GetEntityView(IPrototypeManager protoManager) - { - return Proto; - } - - public override SpriteSpecifier? GetTexture(IPrototypeManager protoManager) - { - return null; - } -} diff --git a/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellStackService.cs b/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellStackService.cs deleted file mode 100644 index 63c4338113..0000000000 --- a/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellStackService.cs +++ /dev/null @@ -1,74 +0,0 @@ -using Content.Shared.Stacks; -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; - -namespace Content.Shared._CP14.Cargo.Prototype.SellServices; - -public sealed partial class CP14SellStackService : CP14StoreSellService -{ - [DataField(required: true)] - public ProtoId StackId; - - [DataField(required: true)] - public int Count = 1; - - public override bool TrySell(EntityManager entManager, HashSet entities) - { - var stackSystem = entManager.System(); - - Dictionary, int> suitable = new(); - - var 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.DeleteEntity(selledEnt.Key); - } - else - { - stackSystem.Use(selledEnt.Key, selledEnt.Value); - } - } - - return true; - } - - public override string GetName(IPrototypeManager protoMan) - { - if (!protoMan.TryIndex(StackId, out var proto)) - return ":3"; - - return $"{Loc.GetString(proto.Name)} x{Count}"; - } - - public override EntProtoId? GetEntityView(IPrototypeManager protoManager) - { - return null; - } - - public override SpriteSpecifier? GetTexture(IPrototypeManager protoManager) - { - if (!protoManager.TryIndex(StackId, out var proto)) - return null; - - return proto.Icon; - } -} diff --git a/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellWhitelistService.cs b/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellWhitelistService.cs deleted file mode 100644 index 0d15060158..0000000000 --- a/Content.Shared/_CP14/Cargo/Prototype/SellServices/CP14SellWhitelistService.cs +++ /dev/null @@ -1,72 +0,0 @@ -using Content.Shared.Stacks; -using Content.Shared.Whitelist; -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; - -namespace Content.Shared._CP14.Cargo.Prototype.SellServices; - -public sealed partial class CP14SellWhitelistService : CP14StoreSellService -{ - [DataField(required: true)] - public EntityWhitelist Whitelist = new(); - - [DataField(required: true)] - public int Count = 1; - - [DataField(required: true)] - public LocId Name = string.Empty; - - [DataField(required: true)] - public SpriteSpecifier? Sprite = null; - - public override bool TrySell(EntityManager entManager, HashSet entities) - { - var whitelistSystem = entManager.System(); - - HashSet suitable = new(); - - var needCount = Count; - foreach (var ent in entities) - { - if (needCount <= 0) - break; - - if (!whitelistSystem.IsValid(Whitelist, ent)) - continue; - - var count = 1; - - if (entManager.TryGetComponent(ent, out var stack)) - count = stack.Count; - - suitable.Add(ent); - needCount -= count; - } - - if (needCount > 0) - return false; - - foreach (var selledEnt in suitable) - { - entities.Remove(selledEnt); - entManager.DeleteEntity(selledEnt); - } - - return true; - } - - public override string GetName(IPrototypeManager protoMan) - { - return $"{Loc.GetString(Name)} x{Count}"; - } - - public override EntProtoId? GetEntityView(IPrototypeManager protoManager) - { - return null; - } - - public override SpriteSpecifier? GetTexture(IPrototypeManager protoManager) - { - return Sprite; - } -} diff --git a/Content.Shared/_CP14/Currency/CP14CurrencyComponent.cs b/Content.Shared/_CP14/Currency/CP14CurrencyComponent.cs deleted file mode 100644 index ce712d2c40..0000000000 --- a/Content.Shared/_CP14/Currency/CP14CurrencyComponent.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Content.Shared._CP14.Currency; - -/// -/// Reflects the market value of an item, to guide players through the economy. -/// - -[RegisterComponent, Access(typeof(CP14SharedCurrencySystem))] -public sealed partial class CP14CurrencyComponent : Component -{ - [DataField] - public int Currency = 1; -} diff --git a/Content.Shared/_CP14/Currency/CP14CurrencyConverterComponent.cs b/Content.Shared/_CP14/Currency/CP14CurrencyConverterComponent.cs index 5348094b4a..381ee77c70 100644 --- a/Content.Shared/_CP14/Currency/CP14CurrencyConverterComponent.cs +++ b/Content.Shared/_CP14/Currency/CP14CurrencyConverterComponent.cs @@ -1,6 +1,8 @@ using System.Numerics; +using Content.Shared.Tag; using Content.Shared.Whitelist; using Robust.Shared.Audio; +using Robust.Shared.Prototypes; namespace Content.Shared._CP14.Currency; @@ -22,4 +24,7 @@ public sealed partial class CP14CurrencyConverterComponent : Component [DataField] public SoundSpecifier InsertSound = new SoundCollectionSpecifier("CP14Coins"); + + [DataField] + public ProtoId CoinTag = "CP14Coin"; } diff --git a/Content.Shared/_CP14/Currency/CP14SharedCurrencySystem.cs b/Content.Shared/_CP14/Currency/CP14SharedCurrencySystem.cs index 5e66bb4bd3..7db235fc84 100644 --- a/Content.Shared/_CP14/Currency/CP14SharedCurrencySystem.cs +++ b/Content.Shared/_CP14/Currency/CP14SharedCurrencySystem.cs @@ -36,19 +36,4 @@ public partial class CP14SharedCurrencySystem : EntitySystem return sb.ToString(); } - - public int GetTotalCurrencyRecursive(EntityUid uid) - { - var ev = new CP14GetCurrencyEvent(); - RaiseLocalEvent(uid, ev); - - return (int)(ev.Currency * ev.Multiplier); - } -} - -public sealed class CP14GetCurrencyEvent(int currency = 0, int multiplier = 1) : EntityEventArgs -{ - public HashSet CheckedEntities = new(); - public int Currency = currency; - public float Multiplier = multiplier; } diff --git a/Content.Shared/_CP14/MagicEnergy/SharedCP14MagicEnergySystem.cs b/Content.Shared/_CP14/MagicEnergy/SharedCP14MagicEnergySystem.cs index fd2c4717d2..a8abb247a9 100644 --- a/Content.Shared/_CP14/MagicEnergy/SharedCP14MagicEnergySystem.cs +++ b/Content.Shared/_CP14/MagicEnergy/SharedCP14MagicEnergySystem.cs @@ -112,6 +112,24 @@ public abstract class SharedCP14MagicEnergySystem : EntitySystem UpdateMagicAlert((ent, ent.Comp)); } + /// + /// Set energy to 0 + /// + public void ClearEnergy(Entity ent) + { + if (!Resolve(ent, ref ent.Comp, false)) + return; + + var oldEnergy = ent.Comp.Energy; + + ent.Comp.Energy = 0; + + if (oldEnergy != 0) + RaiseLocalEvent(ent, new CP14MagicEnergyLevelChangeEvent(oldEnergy, 0, ent.Comp.MaxEnergy)); + + UpdateMagicAlert((ent, ent.Comp)); + } + public void TransferEnergy(Entity sender, Entity receiver, FixedPoint2 energy, diff --git a/Content.Shared/_CP14/MagicSpell/Spells/CP14AdjustAllSolutionThermalEnergy.cs b/Content.Shared/_CP14/MagicSpell/Spells/CP14AdjustAllSolutionThermalEnergy.cs new file mode 100644 index 0000000000..a76fd871d4 --- /dev/null +++ b/Content.Shared/_CP14/MagicSpell/Spells/CP14AdjustAllSolutionThermalEnergy.cs @@ -0,0 +1,57 @@ +using Content.Shared.Chemistry.Components.SolutionManager; +using Content.Shared.Chemistry.EntitySystems; + +namespace Content.Shared._CP14.MagicSpell.Spells; + +/// +/// Adjusts the thermal energy of all the solutions inside the container. +/// +public sealed partial class CP14AdjustAllSolutionThermalEnergy : CP14SpellEffect +{ + /// + /// The change in energy. + /// + [DataField(required: true)] + public float Delta; + + /// + /// The minimum temperature this effect can reach. + /// + [DataField] + public float? MinTemp; + + /// + /// The maximum temperature this effect can reach. + /// + [DataField] + public float? MaxTemp; + + public override void Effect(EntityManager entManager, CP14SpellEffectBaseArgs args) + { + var solutionContainer = entManager.System(); + + if (!entManager.TryGetComponent(args.Target, out var solutionComp)) + return; + + var target = new Entity(args.Target.Value, solutionComp); + foreach (var (_, solution) in solutionContainer.EnumerateSolutions(target)) + { + if (solution.Comp.Solution.Volume == 0) + continue; + + var maxTemp = MaxTemp ?? float.PositiveInfinity; + var minTemp = Math.Max(MinTemp ?? 0, 0); + var oldTemp = solution.Comp.Solution.Temperature; + + if (Delta > 0 && oldTemp >= maxTemp) + continue; + if (Delta < 0 && oldTemp <= minTemp) + continue; + + var heatCap = solution.Comp.Solution.GetHeatCapacity(null); + var deltaT = Delta / heatCap; + + solutionContainer.SetTemperature(solution, Math.Clamp(oldTemp + deltaT, minTemp, maxTemp)); + } + } +} diff --git a/Content.Shared/_CP14/Material/CP14MaterialComponent.cs b/Content.Shared/_CP14/Material/CP14MaterialComponent.cs deleted file mode 100644 index 19aa955754..0000000000 --- a/Content.Shared/_CP14/Material/CP14MaterialComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Content.Shared.Materials; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.Material; - -[RegisterComponent] -public sealed partial class CP14MaterialComponent : Component -{ - [DataField(required: true)] - public Dictionary, int> Materials = new(); -} diff --git a/Content.Shared/_CP14/Material/CP14MaterialSystem.cs b/Content.Shared/_CP14/Material/CP14MaterialSystem.cs deleted file mode 100644 index f8bba75221..0000000000 --- a/Content.Shared/_CP14/Material/CP14MaterialSystem.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Text; -using Content.Shared.Examine; -using Content.Shared.Stacks; -using Robust.Shared.Prototypes; - -namespace Content.Shared._CP14.Material; - -public sealed partial class CP14MaterialSystem : EntitySystem -{ - [Dependency] private readonly IPrototypeManager _proto = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnMaterialExamined); - } - - private void OnMaterialExamined(Entity ent, ref ExaminedEvent args) - { - TryComp(ent, out var stack); - - var sb = new StringBuilder(); - - sb.Append($"{Loc.GetString("cp14-material-examine")}\n"); - foreach (var material in ent.Comp.Materials) - { - if (!_proto.TryIndex(material.Key, out var indexedMaterial)) - continue; - - var count = material.Value; - if (stack is not null) - count *= stack.Count; - - sb.Append($"[color={indexedMaterial.Color.ToHex()}]{Loc.GetString(indexedMaterial.Name)}[/color] ({count})\n"); - } - args.PushMarkup(sb.ToString()); - } - -} diff --git a/Content.Shared/_CP14/Cargo/Prototype/BuyServices/CP14BuyItemsService.cs b/Content.Shared/_CP14/Trading/BuyServices/CP14BuyItemsService.cs similarity index 60% rename from Content.Shared/_CP14/Cargo/Prototype/BuyServices/CP14BuyItemsService.cs rename to Content.Shared/_CP14/Trading/BuyServices/CP14BuyItemsService.cs index 1abc45d543..6453ec45d7 100644 --- a/Content.Shared/_CP14/Cargo/Prototype/BuyServices/CP14BuyItemsService.cs +++ b/Content.Shared/_CP14/Trading/BuyServices/CP14BuyItemsService.cs @@ -1,9 +1,10 @@ +using Content.Shared._CP14.Trading.Prototypes; using Content.Shared.Stacks; -using Content.Shared.Storage.EntitySystems; +using Robust.Client.GameObjects; using Robust.Shared.Prototypes; using Robust.Shared.Utility; -namespace Content.Shared._CP14.Cargo.Prototype.BuyServices; +namespace Content.Shared._CP14.Trading.BuyServices; public sealed partial class CP14BuyItemsService : CP14StoreBuyService { @@ -15,14 +16,11 @@ public sealed partial class CP14BuyItemsService : CP14StoreBuyService public override void Buy(EntityManager entManager, IPrototypeManager prototype, - Entity portal) + EntityUid platform) { - var storageSystem = entManager.System(); - for (var i = 0; i < Count; i++) { - var spawned = entManager.Spawn(Product); - storageSystem.Insert(spawned, portal); + entManager.SpawnNextToOrDrop(Product, platform); } } @@ -38,13 +36,11 @@ public sealed partial class CP14BuyItemsService : CP14StoreBuyService return Count > 0 ? $"{indexedProduct.Name} x{count}" : indexedProduct.Name; } - public override EntProtoId? GetEntityView(IPrototypeManager protoManager) + public override string GetDesc(IPrototypeManager protoMan) { - return Product; - } + if (!protoMan.TryIndex(Product, out var indexedProduct)) + return string.Empty; - public override SpriteSpecifier? GetTexture(IPrototypeManager protoManager) - { - return null; + return indexedProduct.Description; } } diff --git a/Content.Shared/_CP14/Trading/CP14TradingUI.cs b/Content.Shared/_CP14/Trading/CP14TradingUI.cs new file mode 100644 index 0000000000..57060bca04 --- /dev/null +++ b/Content.Shared/_CP14/Trading/CP14TradingUI.cs @@ -0,0 +1,21 @@ +using Robust.Shared.Serialization; + +namespace Content.Shared._CP14.Trading; + +[Serializable, NetSerializable] +public enum CP14TradingUiKey +{ + Key, +} + +[Serializable, NetSerializable] +public sealed class CP14TradingPlatformUiState(NetEntity user, NetEntity platform) : BoundUserInterfaceState +{ + public NetEntity User = user; + public NetEntity Platform = platform; +} + +[Serializable, NetSerializable] +public readonly struct CP14TradingProductEntry +{ +} diff --git a/Content.Shared/_CP14/Trading/Components/CP14StationEconomyComponent.cs b/Content.Shared/_CP14/Trading/Components/CP14StationEconomyComponent.cs new file mode 100644 index 0000000000..ff4d0d03b7 --- /dev/null +++ b/Content.Shared/_CP14/Trading/Components/CP14StationEconomyComponent.cs @@ -0,0 +1,16 @@ +using Content.Shared._CP14.Trading.Prototypes; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Trading.Components; + +/// +/// The server calculates all prices for all product items, saves them in this component at the station, +/// and synchronizes the data with the client for the entire round. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class CP14StationEconomyComponent : Component +{ + [DataField, AutoNetworkedField] + public Dictionary, int> Pricing = new(); +} diff --git a/Content.Shared/_CP14/Trading/Components/CP14TradingContractComponent.cs b/Content.Shared/_CP14/Trading/Components/CP14TradingContractComponent.cs new file mode 100644 index 0000000000..fa7c98bfa2 --- /dev/null +++ b/Content.Shared/_CP14/Trading/Components/CP14TradingContractComponent.cs @@ -0,0 +1,18 @@ +using Content.Shared._CP14.Trading.Prototypes; +using Content.Shared._CP14.Trading.Systems; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Trading.Components; + +[RegisterComponent, Access(typeof(CP14SharedTradingPlatformSystem))] +public sealed partial class CP14TradingContractComponent : Component +{ + [DataField] + public TimeSpan Delay = TimeSpan.FromSeconds(2); + + [DataField] + public ProtoId Faction; + + [DataField] + public float StartReputation = 1f; +} diff --git a/Content.Shared/_CP14/Trading/Components/CP14TradingPlatformComponent.cs b/Content.Shared/_CP14/Trading/Components/CP14TradingPlatformComponent.cs new file mode 100644 index 0000000000..1144d7b12e --- /dev/null +++ b/Content.Shared/_CP14/Trading/Components/CP14TradingPlatformComponent.cs @@ -0,0 +1,26 @@ +using Content.Shared._CP14.Trading.Systems; +using Content.Shared.Tag; +using Robust.Shared.Audio; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Trading.Components; + +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(CP14SharedTradingPlatformSystem))] +public sealed partial class CP14TradingPlatformComponent : Component +{ + [DataField, AutoNetworkedField] + public TimeSpan NextBuyTime = TimeSpan.Zero; + + [DataField] + public SoundSpecifier BuySound = new SoundPathSpecifier("/Audio/_CP14/Effects/cash.ogg") + { + Params = AudioParams.Default.WithVariation(0.1f) + }; + + [DataField] + public ProtoId CoinTag = "CP14Coin"; + + [DataField] + public EntProtoId BuyVisual = "CP14CashImpact"; +} diff --git a/Content.Shared/_CP14/Trading/Components/CP14TradingReputationComponent.cs b/Content.Shared/_CP14/Trading/Components/CP14TradingReputationComponent.cs new file mode 100644 index 0000000000..bc564a7ab4 --- /dev/null +++ b/Content.Shared/_CP14/Trading/Components/CP14TradingReputationComponent.cs @@ -0,0 +1,24 @@ +using Content.Shared._CP14.Trading.Prototypes; +using Content.Shared._CP14.Trading.Systems; +using Content.Shared.FixedPoint; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Trading.Components; + +/// +/// Reflects the entity's level of reputation, debts, and balance sheet in the “outside” world. +/// Used for personal progression in trading systems +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(CP14SharedTradingPlatformSystem))] +public sealed partial class CP14TradingReputationComponent : Component +{ + /// + /// is both a reputation counter for each faction and an indicator of whether that faction is unlocked for that player. + /// + [DataField, AutoNetworkedField] + public Dictionary, FixedPoint2> Reputation = new(); + + [DataField, AutoNetworkedField] + public HashSet> UnlockedPositions = new(); +} diff --git a/Content.Shared/_CP14/Trading/Prototypes/CP14TradingFactionPrototype.cs b/Content.Shared/_CP14/Trading/Prototypes/CP14TradingFactionPrototype.cs new file mode 100644 index 0000000000..533307ea29 --- /dev/null +++ b/Content.Shared/_CP14/Trading/Prototypes/CP14TradingFactionPrototype.cs @@ -0,0 +1,21 @@ +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Trading.Prototypes; + +[Prototype("cp14TradingFaction")] +public sealed partial class CP14TradingFactionPrototype : IPrototype +{ + [IdDataField] public string ID { get; private set; } = default!; + + [DataField(required: true)] + public LocId Name = default!; + + [DataField] + public Color Color = Color.White; + + /// + /// If not null, this faction is automatically unlocked for players, and grants the specified amount of reputation to unlock the first positions. + /// + [DataField] + public float? RoundStart = null; +} diff --git a/Content.Shared/_CP14/Trading/Prototypes/CP14TradingPositionPrototype.cs b/Content.Shared/_CP14/Trading/Prototypes/CP14TradingPositionPrototype.cs new file mode 100644 index 0000000000..1403467230 --- /dev/null +++ b/Content.Shared/_CP14/Trading/Prototypes/CP14TradingPositionPrototype.cs @@ -0,0 +1,66 @@ +using System.Numerics; +using Content.Shared.FixedPoint; +using JetBrains.Annotations; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._CP14.Trading.Prototypes; + +[Prototype("cp14TradingPosition")] +public sealed partial class CP14TradingPositionPrototype : IPrototype +{ + [IdDataField] public string ID { get; private set; } = default!; + + /// + /// Service Title. If you leave null, the name will try to generate from first Service.GetName() + /// + [DataField] + public LocId? Name; + + /// + /// Service Description. If you leave null, the description will try to generate from first Service.GetDescription() + /// + [DataField] + public LocId? Desc; + + /// + /// Icon for UI. If you leave null, the icon will try to generate from first Service.GetTexture() + /// + [DataField(required: true)] + public SpriteSpecifier Icon = default!; + + [DataField(required: true)] + public ProtoId Faction; + + [DataField] + public FixedPoint2 UnlockReputationCost = 1f; + + [DataField(required: true)] + public Vector2 UiPosition = default!; + + [DataField(required: true)] + public CP14StoreBuyService? Service = null; + + [DataField] + public ProtoId? Prerequisite; + + [DataField] + public int PriceMarkup = 1; + + /// + /// each round prices will differ within +X percent of the calculated value + /// + [DataField] + public float PriceFluctuation = 0.2f; +} + +[ImplicitDataDefinitionForInheritors] +[MeansImplicitUse] +public abstract partial class CP14StoreBuyService +{ + public abstract void Buy(EntityManager entManager, IPrototypeManager prototype, EntityUid platform); + + public abstract string GetName(IPrototypeManager protoMan); + + public abstract string GetDesc(IPrototypeManager protoMan); +} diff --git a/Content.Shared/_CP14/Trading/Systems/CP14SharedStationEconomySystem.cs b/Content.Shared/_CP14/Trading/Systems/CP14SharedStationEconomySystem.cs new file mode 100644 index 0000000000..b2d194921b --- /dev/null +++ b/Content.Shared/_CP14/Trading/Systems/CP14SharedStationEconomySystem.cs @@ -0,0 +1,23 @@ +using Content.Shared._CP14.Trading.Components; +using Content.Shared._CP14.Trading.Prototypes; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.Trading.Systems; + +public abstract partial class CP14SharedStationEconomySystem : EntitySystem +{ + public int? GetPrice(ProtoId position) + { + var query = EntityQueryEnumerator(); + + while (query.MoveNext(out var uid, out var economy)) + { + if (!economy.Pricing.TryGetValue(position, out var price)) + return null; + + return price; + } + + return null; + } +} diff --git a/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.UI.cs b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.UI.cs new file mode 100644 index 0000000000..52db72706e --- /dev/null +++ b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.UI.cs @@ -0,0 +1,47 @@ +using Content.Shared._CP14.Trading.Components; +using Content.Shared._CP14.Trading.Prototypes; +using Content.Shared.UserInterface; + +namespace Content.Shared._CP14.Trading.Systems; + +public abstract partial class CP14SharedTradingPlatformSystem +{ + private void InitializeUI() + { + SubscribeLocalEvent(OnUnlockAttempt); + SubscribeLocalEvent(OnBeforeUIOpen); + } + + private void OnUnlockAttempt(Entity ent, ref CP14TradingPositionUnlockAttempt args) + { + TryUnlockPosition(args.Actor, args.Position); + UpdateUIState(ent, args.Actor); + } + + private void OnBeforeUIOpen(Entity ent, ref BeforeActivatableUIOpenEvent args) + { + UpdateUIState(ent, args.User); + } + + public string GetTradeDescription(CP14TradingPositionPrototype position) + { + if (position.Desc != null) + return Loc.GetString(position.Desc); + + if (position.Service is null) + return string.Empty; + + return position.Service.GetDesc(Proto); + } + + public string GetTradeName(CP14TradingPositionPrototype position) + { + if (position.Name != null) + return Loc.GetString(position.Name); + + if (position.Service is null) + return string.Empty; + + return position.Service.GetName(Proto); + } +} diff --git a/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs new file mode 100644 index 0000000000..57d7d77d3c --- /dev/null +++ b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs @@ -0,0 +1,126 @@ +using Content.Shared._CP14.Trading.Components; +using Content.Shared._CP14.Trading.Prototypes; +using Content.Shared.Interaction.Events; +using Content.Shared.Popups; +using Robust.Shared.Network; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; +using Robust.Shared.Timing; + +namespace Content.Shared._CP14.Trading.Systems; + +public abstract partial class CP14SharedTradingPlatformSystem : EntitySystem +{ + [Dependency] private readonly SharedUserInterfaceSystem _userInterface = default!; + [Dependency] protected readonly IPrototypeManager Proto = default!; + [Dependency] protected readonly IGameTiming Timing = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly INetManager _net = default!; + + public override void Initialize() + { + base.Initialize(); + InitializeUI(); + + SubscribeLocalEvent(OnReputationMapInit); + SubscribeLocalEvent(OnContractUse); + } + + private void OnReputationMapInit(Entity ent, ref MapInitEvent args) + { + foreach (var faction in Proto.EnumeratePrototypes()) + { + if (faction.RoundStart is not null) + { + ent.Comp.Reputation[faction] = ent.Comp.Reputation.GetValueOrDefault(faction, 0f) + faction.RoundStart.Value; + } + } + Dirty(ent); + } + + private void OnContractUse(Entity ent, ref UseInHandEvent args) + { + if (!Proto.TryIndex(ent.Comp.Faction, out var indexedFaction)) + return; + + var repComp = EnsureComp(args.User); + repComp.Reputation.TryAdd(ent.Comp.Faction, ent.Comp.StartReputation); + _popup.PopupPredicted(Loc.GetString("cp14-trading-contract-use", ("name", Loc.GetString(indexedFaction.Name))), args.User, args.User); + if (_net.IsServer) + QueueDel(ent); + } + + protected void UpdateUIState(Entity ent, EntityUid user) + { + if (!TryComp(user, out var repComp)) + return; + + _userInterface.SetUiState(ent.Owner, CP14TradingUiKey.Key, new CP14TradingPlatformUiState(GetNetEntity(user), GetNetEntity(ent))); + } + + public bool TryUnlockPosition(Entity user, ProtoId position) + { + if (!CanUnlockPosition(user, position)) + return false; + + if (!Proto.TryIndex(position, out var indexedPosition)) + return false; + + if (!Resolve(user.Owner, ref user.Comp, false)) + return false; + + user.Comp.Reputation[indexedPosition.Faction] -= indexedPosition.UnlockReputationCost; + user.Comp.UnlockedPositions.Add(position); + Dirty(user); + + return true; + } + + public bool CanUnlockPosition(Entity user, ProtoId position) + { + if (!Resolve(user.Owner, ref user.Comp, false)) + return false; + + if (!Proto.TryIndex(position, out var indexedPosition)) + return false; + + if (!user.Comp.Reputation.ContainsKey(indexedPosition.Faction)) + return false; + + if (user.Comp.UnlockedPositions.Contains(position)) + return false; + + if (indexedPosition.Prerequisite is not null && !user.Comp.UnlockedPositions.Contains(indexedPosition.Prerequisite.Value)) + return false; + + return user.Comp.Reputation.GetValueOrDefault(indexedPosition.Faction, 0f) >= indexedPosition.UnlockReputationCost; + } + + public bool CanBuyPosition(Entity user, Entity platform, ProtoId position) + { + if (!Resolve(user.Owner, ref user.Comp, false)) + return false; + if (!Resolve(platform.Owner, ref platform.Comp, false)) + return false; + + if (!user.Comp.UnlockedPositions.Contains(position)) + return false; + + if (Timing.CurTime < platform.Comp.NextBuyTime) + return false; + + return true; + } +} + +[Serializable, NetSerializable] +public sealed class CP14TradingPositionUnlockAttempt(ProtoId position) : BoundUserInterfaceMessage +{ + public readonly ProtoId Position = position; +} + +[Serializable, NetSerializable] +public sealed class CP14TradingPositionBuyAttempt(ProtoId position) : BoundUserInterfaceMessage +{ + public readonly ProtoId Position = position; +} diff --git a/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs b/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs index 302d17e928..bf67580db5 100644 --- a/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs +++ b/Content.Shared/_CP14/Workbench/Requirements/MaterialResource.cs @@ -3,8 +3,6 @@ * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT */ -using Content.Shared._CP14.Material; -using Content.Shared._CP14.Workbench.Prototypes; using Content.Shared.Materials; using Content.Shared.Stacks; using Robust.Shared.Prototypes; @@ -31,12 +29,12 @@ public sealed partial class MaterialResource : CP14WorkbenchCraftRequirement var count = 0; foreach (var ent in placedEntities) { - if (!entManager.TryGetComponent(ent, out var material)) + if (!entManager.TryGetComponent(ent, out var material)) continue; entManager.TryGetComponent(ent, out var stack); - foreach (var (key, value) in material.Materials) + foreach (var (key, value) in material.MaterialComposition) { if (key != Material) continue; @@ -65,12 +63,12 @@ public sealed partial class MaterialResource : CP14WorkbenchCraftRequirement var requiredCount = Count; foreach (var placedEntity in placedEntities) { - if (!entManager.TryGetComponent(placedEntity, out var material)) + if (!entManager.TryGetComponent(placedEntity, out var material)) continue; entManager.TryGetComponent(placedEntity, out var stack); - foreach (var mat in material.Materials) + foreach (var mat in material.MaterialComposition) { if (mat.Key != Material) continue; diff --git a/Resources/Audio/_CP14/Effects/attributions.yml b/Resources/Audio/_CP14/Effects/attributions.yml index 303e241a78..1c3c18d4ea 100644 --- a/Resources/Audio/_CP14/Effects/attributions.yml +++ b/Resources/Audio/_CP14/Effects/attributions.yml @@ -82,3 +82,13 @@ license: "CC0-1.0" copyright: 'Created by Fenodyrie on Freesound.org' source: "https://freesound.org/people/Fenodyrie/sounds/583950/" + +- files: ["coin_impact1.ogg", "coin_impact2.ogg", "coin_impact3.ogg", "coin_impact4.ogg"] + license: "CC-BY-NC-4.0" + copyright: 'Created by Timbre on Freesound.org' + source: "https://freesound.org/people/Timbre/sounds/103219/" + +- files: ["cash.ogg"] + license: "CC0-1.0" + copyright: 'Created by Zott820 on Freesound.org' + source: "https://freesound.org/people/Zott820/sounds/209578/" \ No newline at end of file diff --git a/Resources/Audio/_CP14/Effects/cash.ogg b/Resources/Audio/_CP14/Effects/cash.ogg new file mode 100644 index 0000000000..29324caa98 Binary files /dev/null and b/Resources/Audio/_CP14/Effects/cash.ogg differ diff --git a/Resources/Audio/_CP14/Effects/coin_impact1.ogg b/Resources/Audio/_CP14/Effects/coin_impact1.ogg new file mode 100644 index 0000000000..a3e3826334 Binary files /dev/null and b/Resources/Audio/_CP14/Effects/coin_impact1.ogg differ diff --git a/Resources/Audio/_CP14/Effects/coin_impact2.ogg b/Resources/Audio/_CP14/Effects/coin_impact2.ogg new file mode 100644 index 0000000000..b8bf37d315 Binary files /dev/null and b/Resources/Audio/_CP14/Effects/coin_impact2.ogg differ diff --git a/Resources/Audio/_CP14/Effects/coin_impact3.ogg b/Resources/Audio/_CP14/Effects/coin_impact3.ogg new file mode 100644 index 0000000000..04d5dc8439 Binary files /dev/null and b/Resources/Audio/_CP14/Effects/coin_impact3.ogg differ diff --git a/Resources/Audio/_CP14/Voice/Goblin/attributions.yml b/Resources/Audio/_CP14/Voice/Goblin/attributions.yml index 31bb61333d..a7edd00fda 100644 --- a/Resources/Audio/_CP14/Voice/Goblin/attributions.yml +++ b/Resources/Audio/_CP14/Voice/Goblin/attributions.yml @@ -8,6 +8,21 @@ copyright: "Taken from https://freesound.org/" source: "https://freesound.org/people/spookymodem/sounds/202100/" +- files: ["goblin_talk1.ogg"] + license: "CC0-1.0" + copyright: "Taken from https://freesound.org/" + source: "https://freesound.org/people/spookymodem/sounds/249813/" + +- files: ["goblin_talk2.ogg"] + license: "CC0-1.0" + copyright: "Created by 999999990 from https://freesound.org/" + source: "https://freesound.org/people/999999990/sounds/320345/" + +- files: ["goblin_talk3.ogg"] + license: "CC0-1.0" + copyright: "Taken from https://freesound.org/" + source: "https://freesound.org/people/spookymodem/sounds/249813/" + - files: ["goblin_sleep.ogg"] license: "CC0-1.0" copyright: "Taken from https://freesound.org/" diff --git a/Resources/Audio/_CP14/Voice/Goblin/goblin_talk1.ogg b/Resources/Audio/_CP14/Voice/Goblin/goblin_talk1.ogg new file mode 100644 index 0000000000..9edc4ace81 Binary files /dev/null and b/Resources/Audio/_CP14/Voice/Goblin/goblin_talk1.ogg differ diff --git a/Resources/Audio/_CP14/Voice/Goblin/goblin_talk2.ogg b/Resources/Audio/_CP14/Voice/Goblin/goblin_talk2.ogg new file mode 100644 index 0000000000..aa474738aa Binary files /dev/null and b/Resources/Audio/_CP14/Voice/Goblin/goblin_talk2.ogg differ diff --git a/Resources/Audio/_CP14/Voice/Goblin/goblin_talk3.ogg b/Resources/Audio/_CP14/Voice/Goblin/goblin_talk3.ogg new file mode 100644 index 0000000000..bdc40f9fd0 Binary files /dev/null and b/Resources/Audio/_CP14/Voice/Goblin/goblin_talk3.ogg differ diff --git a/Resources/ConfigPresets/_CP14/Dev.toml b/Resources/ConfigPresets/_CP14/Dev.toml index 9646d81363..355c293f11 100644 --- a/Resources/ConfigPresets/_CP14/Dev.toml +++ b/Resources/ConfigPresets/_CP14/Dev.toml @@ -15,9 +15,7 @@ tickrate = 30 port = 1212 bindto = "::,0.0.0.0" max_connections = 100 - -[status] -max_connections = 10 +log_late_msg = false [game] hostname = "⚔️ CrystallEdge ⚔️" diff --git a/Resources/Locale/en-US/_CP14/cargo/buyPositions.ftl b/Resources/Locale/en-US/_CP14/cargo/buyPositions.ftl deleted file mode 100644 index 16aa360891..0000000000 --- a/Resources/Locale/en-US/_CP14/cargo/buyPositions.ftl +++ /dev/null @@ -1,2 +0,0 @@ -cp14-buy-position-reroll-buy = Reroll purchase offers -cp14-buy-position-reroll-sell = Reroll sales offers \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/statisticTracker/trackers.ftl b/Resources/Locale/en-US/_CP14/statisticTracker/trackers.ftl deleted file mode 100644 index 4e29ccb2a0..0000000000 --- a/Resources/Locale/en-US/_CP14/statisticTracker/trackers.ftl +++ /dev/null @@ -1,4 +0,0 @@ -cp14-tracker-header = Round statistic: - -cp14-tracker-demiplane-open = Demiplanes opened -cp14-tracker-demiplane-deaths = Players died in demiplanes \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/store/factions.ftl b/Resources/Locale/en-US/_CP14/store/factions.ftl deleted file mode 100644 index c69e2c680e..0000000000 --- a/Resources/Locale/en-US/_CP14/store/factions.ftl +++ /dev/null @@ -1,11 +0,0 @@ -cp14-faction-name-helmir = Helmir's descendants -cp14-faction-desc-helmir = TODO - -cp14-faction-name-sylphoria = The winds of Sylphoria -cp14-faction-desc-sylphoria = TODO - -cp14-faction-name-spice-stream = Spice Stream -cp14-faction-desc-spice-stream = TODO - -cp14-faction-name-brad-family = Brad's imperial family -cp14-faction-desc-brad-family = TODO \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/store/positions_buy.ftl b/Resources/Locale/en-US/_CP14/store/positions_buy.ftl deleted file mode 100644 index 09afa056e2..0000000000 --- a/Resources/Locale/en-US/_CP14/store/positions_buy.ftl +++ /dev/null @@ -1,40 +0,0 @@ -cp14-store-buy-hint = To purchase "{$name}", leave your money and order in the trade box: Any paper that says {$code} on it will do. - -cp14-store-buy-alchemy-unlock-t1-name = Trade Alliance: Alchemists -cp14-store-buy-alchemy-unlock-t1-desc = The Alchemists Guild of the Kingdom of Klanir is willing to include the settlement in their trade route in return for small gifts and payment. - -cp14-store-buy-alchemy-vials-name = Alchemical vials -cp14-store-buy-alchemy-vials-desc = Now the shortage of potion vessels is no longer a problem! After all, for a rather modest price, you can order batches of shiny vials directly from the best artisans! Random alchemical devices as a gift. - -cp14-store-buy-alchemy-bureaucracy-name = Bureaucratic reserve -cp14-store-buy-alchemy-bureaucracy-desc = Pens, ink pots and a big stack of paper. In folders of different colors, or without folders at all: because we make sure that you can choose the option that is most comfortable for you. - -cp14-store-buy-alchemy-farm-seeds-name = Seeds for farming -cp14-store-buy-alchemy-farm-seeds-desc = A set of different seeds, for farming of all kinds! Don't limit yourself, buy several boxes at once, just in case the farmers eat everything and don't have any food left to process into seeds. - -cp14-store-buy-alchemy-demiplan-name = 5 demiplane Keys -cp14-store-buy-alchemy-demiplan-desc = Unstable pocket dimensions in which doom or riches may await you. What could be better for your adventurers? - -cp14-store-buy-wood-name = Wood stockpile -cp14-store-buy-wood-desc = Fresh wood with delivery to your settlement! Do you live in a region where trees do not grow? Or you simply do not have the working hands to go and cut them yourself? We are ready to do it for you! Or rather, for your money. - -cp14-store-buy-fabric-name = Stock of textiles -cp14-store-buy-fabric-desc = A large supply of fabric and thread, to make exquisite outfits or other tools. Only today, only now, only for the last six months. - -cp14-store-buy-energy-name = Energy reserve -cp14-store-buy-energy-desc = Energy crystals in both medium and small sizes, and in addition, mana manipulation gauntlets. A complete set to power your energy devices. - -cp14-store-buy-cheese-name = Cheese stockpile -cp14-store-buy-cheese-desc = Cows don't like to sail on ships, but their cheese is quite fond of traveling! So pay its way to your table! - -cp14-store-buy-copper-name = 10 copper bars -cp14-store-buy-copper-desc = Looking for quality copper ingots? Our copper ingots are suitable for all needs, whether it is blacksmithing or coinage. Order right now, before they are sold out by craftsmen from all over the empire. - -cp14-store-buy-iron-name = 10 iron bars -cp14-store-buy-iron-desc = Durable, reliable and versatile metal for the most daring projects! Do you need armor, weapons, or fasteners? The highest grade iron ingots are at your service. This is the foundation of your success! - -cp14-store-buy-gold-name = 10 gold bars -cp14-store-buy-gold-desc = For those who appreciate luxury and elegance. Bars of the purest gold for jewelry, inlay or investment in the future. Gold is always in the price, and our delivery is always on time! - -cp14-store-buy-guidebook-name = Educational books -cp14-store-buy-guidebook-desc = Have you run out of specialists in key areas? No problem, with this set of training literature you can make even an infant a professional, and put him to work for the good of the Empire! (OOC: There are only books for the blacksmith so far.) \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/store/services.ftl b/Resources/Locale/en-US/_CP14/store/services.ftl deleted file mode 100644 index 3f29593c8d..0000000000 --- a/Resources/Locale/en-US/_CP14/store/services.ftl +++ /dev/null @@ -1,10 +0,0 @@ - -# Buy - - -cp14-store-service-unlock-sell = Unlocks the ability to sell: -cp14-store-service-unlock-buy = Unlocks the ability to buy: - -# Sell - -cp14-store-service-sell-entities = Sale items: \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/store/ui.ftl b/Resources/Locale/en-US/_CP14/store/ui.ftl deleted file mode 100644 index 9ee8bde93d..0000000000 --- a/Resources/Locale/en-US/_CP14/store/ui.ftl +++ /dev/null @@ -1,11 +0,0 @@ -cp14-store-ui-title = Trading outpost "{$name}" -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=#eba346]One-off offer![/color][/bold] - -cp14-store-sell-hint = To sell {$name}, put the item you want in the trade cabinet, and close it. Our people will figure out what's what, pick up the item, and send you the money through the same sales cabinet. \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/trading/factions.ftl b/Resources/Locale/en-US/_CP14/trading/factions.ftl new file mode 100644 index 0000000000..54e27532c7 --- /dev/null +++ b/Resources/Locale/en-US/_CP14/trading/factions.ftl @@ -0,0 +1,3 @@ +cp14-trade-faction-contracts = Zellasian Trade Guild +cp14-trade-faction-victoria-gardens = Victoria Gardens +cp14-trade-faction-brad-potions = Brad's marvelous potions \ No newline at end of file diff --git a/Resources/Locale/en-US/_CP14/trading/ui.ftl b/Resources/Locale/en-US/_CP14/trading/ui.ftl new file mode 100644 index 0000000000..27a8c6991d --- /dev/null +++ b/Resources/Locale/en-US/_CP14/trading/ui.ftl @@ -0,0 +1,14 @@ +cp14-trading-ui-button-unlock = Unlock contract +cp14-trading-ui-button-unlock-tooltip = You contract to purchase the specified equipment or service by spending your reputation. After that, you can buy that equipment or service with money in unlimited quantities. + +cp14-trading-ui-button-buy = Buy +cp14-trading-ui-button-buy-tooltip = You spend the funds on the trading platform and buy the specified equipment or service from the selected vendor, which also increases your reputation. The equipment will be instantly delivered to you by spatial magic, and the service will be rendered as soon as possible. + + +cp14-trading-ui-title = Empire Trade link Platform +cp14-trading-ui-cooldown = Cooldown: +cp14-trading-faction-prefix = Trading with: + +cp14-trading-failure-popup-money = Not enough funds on the platform! + +cp14-trading-contract-use = Trade with "{$name}" unlocked! \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/cargo/buyPositions.ftl b/Resources/Locale/ru-RU/_CP14/cargo/buyPositions.ftl deleted file mode 100644 index d52e6da1a4..0000000000 --- a/Resources/Locale/ru-RU/_CP14/cargo/buyPositions.ftl +++ /dev/null @@ -1,2 +0,0 @@ -cp14-buy-position-reroll-buy = Реролл предложений покупки -cp14-buy-position-reroll-sell = Реролл предложений продажи \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/statisticTracker/trackers.ftl b/Resources/Locale/ru-RU/_CP14/statisticTracker/trackers.ftl deleted file mode 100644 index b225a1072b..0000000000 --- a/Resources/Locale/ru-RU/_CP14/statisticTracker/trackers.ftl +++ /dev/null @@ -1,4 +0,0 @@ -cp14-tracker-header = Статистика раунда: - -cp14-tracker-demiplane-open = Открыто демипланов -cp14-tracker-demiplane-deaths = Умерло игроков в демипланах \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/store/factions.ftl b/Resources/Locale/ru-RU/_CP14/store/factions.ftl deleted file mode 100644 index 9837c5c605..0000000000 --- a/Resources/Locale/ru-RU/_CP14/store/factions.ftl +++ /dev/null @@ -1,11 +0,0 @@ -cp14-faction-name-helmir = Хельмировы потомки -cp14-faction-desc-helmir = TODO - -cp14-faction-name-sylphoria = Ветра Сильфории -cp14-faction-desc-sylphoria = TODO - -cp14-faction-name-spice-stream = Поток пряностей -cp14-faction-desc-spice-stream = TODO - -cp14-faction-name-brad-family = Имперская семья Брада -cp14-faction-desc-brad-family = TODO \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/store/positions_buy.ftl b/Resources/Locale/ru-RU/_CP14/store/positions_buy.ftl deleted file mode 100644 index b493e85445..0000000000 --- a/Resources/Locale/ru-RU/_CP14/store/positions_buy.ftl +++ /dev/null @@ -1,40 +0,0 @@ -cp14-store-buy-hint = Чтобы приобрести "{$name}", оставьте деньги и ваш заказ в торговом ящике: Подойдет любая бумага, на которой будет написано {$code} - -cp14-store-buy-alchemy-unlock-t1-name = Торговый союз: Алхимики -cp14-store-buy-alchemy-unlock-t1-desc = Гильдия алхимиков королевства Кланира готова включить поселение в свой торговый путь взамен на небольшие дары и оплату. - -cp14-store-buy-alchemy-vials-name = Алхимические пузырьки -cp14-store-buy-alchemy-vials-desc = Теперь проблема дефицита емкостей для зелий больше не проблема! Ведь по довольно скромной цене вы можете заказывать партии блестящих склянок прямо от лучших ремесленников! Случайные алхимические приборы в подарок. - -cp14-store-buy-alchemy-bureaucracy-name = Бюрократический запас -cp14-store-buy-alchemy-bureaucracy-desc = Ручки, чернильницы и большая пачка бумаги. В папках разных цветов, и вовсе без папок: ведь мы заботимся о том, чтобы вы могли выбирать тот вариант, который вам комфортнее. - -cp14-store-buy-alchemy-farm-seeds-name = Семена для фермерства -cp14-store-buy-alchemy-farm-seeds-desc = Набор разных семян, для фермерства всех видов! Не ограничивайте себя, купите сразу несколько ящиков, на случай, если фермеры все съедят и не оставят еды на переработку в семена. - -cp14-store-buy-alchemy-demiplan-name = 5 ключей демиплана -cp14-store-buy-alchemy-demiplan-desc = Нестабильные карманные измерения, в котором вас может поджидать гибель или богатства. Что может быть лучше для ваших авантюристов? - -cp14-store-buy-wood-name = Запас древесины -cp14-store-buy-wood-desc = Свежая древесина с доставкой до вашего поселения! Вы живете в краю где не растут деревья? Или у вас просто нет рабочих рук, чтобы пойти и нарубить их самостоятельно? Мы готовы сделать это за вас! Точнее, за ваши деньги. - -cp14-store-buy-fabric-name = Запас текстиля -cp14-store-buy-fabric-desc = Большой запас ткани и ниток, для производства изысканнейших нарядов или другого инструментария. Только сегодня, только сейчас, только последние полгода. - -cp14-store-buy-energy-name = Энергетический запас -cp14-store-buy-energy-desc = Энергетические кристаллы и средних, и малых размеров, и в добавок - перчатки манипулирования маной. Полный комплект, чтобы обеспечивать ваши энергоприборы энергией. - -cp14-store-buy-cheese-name = Запас сыра -cp14-store-buy-cheese-desc = Коровки не любят плавать на кораблях, а вот их сыр вполне любит путешествия! Так оплатите же ему дорогу к вашему столу! - -cp14-store-buy-copper-name = 10 слитков меди -cp14-store-buy-copper-desc = Ищете качественные медные слитки? Наши медные слитки подходят для всех нужд, будь то кузнечное дело или чеканка монет. Заказывайте прямо сейчас, пока их не раскупили мастера со всех уголков империи! - -cp14-store-buy-iron-name = 10 слитков железа -cp14-store-buy-iron-desc = Прочный, надежный и универсальный металл для самых смелых проектов! Нужна броня, оружие или элементы креплений? Железные слитки в высшей пробе к вашим услугам. Это основа вашего успеха! - -cp14-store-buy-gold-name = 10 слитков золота -cp14-store-buy-gold-desc = Для тех, кто ценит роскошь и изящество. Слитки чистейшего золота для украшений, инкрустации или инвестиций в будущее. Золото всегда в цене, а наша доставка — всегда в срок! - -cp14-store-buy-guidebook-name = Обучающие книги -cp14-store-buy-guidebook-desc = У вас закончились специалисты в ключевых областях? Не проблема, с этим набором учебной литературы вы сможете сделать профессионалом даже младенца, и заставить его работать на благо Империи! (ООС: Тут пока что только книги для кузнеца) \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/store/services.ftl b/Resources/Locale/ru-RU/_CP14/store/services.ftl deleted file mode 100644 index ed29a3c9cd..0000000000 --- a/Resources/Locale/ru-RU/_CP14/store/services.ftl +++ /dev/null @@ -1,9 +0,0 @@ - -# Buy - -cp14-store-service-unlock-sell = Разблокирует возможность продажи: -cp14-store-service-unlock-buy = Разблокирует возможность покупки: - -# Sell - -cp14-store-service-sell-entities = Продажа предметов: \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/store/ui.ftl b/Resources/Locale/ru-RU/_CP14/store/ui.ftl deleted file mode 100644 index 9f07fe968e..0000000000 --- a/Resources/Locale/ru-RU/_CP14/store/ui.ftl +++ /dev/null @@ -1,11 +0,0 @@ -cp14-store-ui-title = Торговый аванпост "{$name}" -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=#eba346]Разовое предложение![/color][/bold] - -cp14-store-sell-hint = Чтобы продать {$name}, засуньте необходимый товар в торговый шкаф, и закройте его. Наши люди разберутся что к чему, заберут товар и отправят вам деньги через этот же торговый шкаф. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/trading/factions.ftl b/Resources/Locale/ru-RU/_CP14/trading/factions.ftl new file mode 100644 index 0000000000..21cd7a4781 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/trading/factions.ftl @@ -0,0 +1,3 @@ +cp14-trade-faction-contracts = Торговая гильдия Зелласиан +cp14-trade-faction-victoria-gardens = Сады Виктории +cp14-trade-faction-brad-potions = Великолепные зелья Брада \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/trading/ui.ftl b/Resources/Locale/ru-RU/_CP14/trading/ui.ftl new file mode 100644 index 0000000000..953ab2b678 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/trading/ui.ftl @@ -0,0 +1,14 @@ +cp14-trading-ui-button-unlock = Разблокировать контракт +cp14-trading-ui-button-unlock-tooltip = Вы заключаете контракт, затрачивая на это свою репутацию. После этого, вы можете покупать это снаряжение или услугу за деньги в неограниченном количестве. + +cp14-trading-ui-button-buy = Купить +cp14-trading-ui-button-buy-tooltip = Вы тратите средства, расположенные на торговой платформе и закупаете указанное снаряжение или услугу у выбранного продавца, что так же увеличивает вашу репутацию. Снаряжение будет мгновенно доставлено вам путем пространственной магии, а услуга оказана в ближайшее время. + + +cp14-trading-ui-title = Платформа торговой связи с империей +cp14-trading-ui-cooldown = Перезарядка: +cp14-trading-faction-prefix = Торговля с: + +cp14-trading-failure-popup-money = Недостаточно средств на платформе! + +cp14-trading-contract-use = Торговля с "{$name}" разблокирована! \ No newline at end of file diff --git a/Resources/Maps/_CP14/comoss.yml b/Resources/Maps/_CP14/comoss.yml index d3babced34..6827a7ebe2 100644 --- a/Resources/Maps/_CP14/comoss.yml +++ b/Resources/Maps/_CP14/comoss.yml @@ -1,11 +1,11 @@ meta: format: 7 category: Map - engineVersion: 255.0.0 + engineVersion: 255.1.0 forkId: "" forkVersion: "" - time: 05/20/2025 19:15:42 - entityCount: 15339 + time: 05/28/2025 20:50:51 + entityCount: 15379 maps: - 1 grids: @@ -102,7 +102,7 @@ entities: version: 6 -1,0: ind: -1,0 - tiles: BgAAAAABBgAAAAAABgAAAAACBgAAAAAABgAAAAAAHgAAAAACBAAAAAAIBgAAAAADBgAAAAABBgAAAAADAgAAAAAMAgAAAAAHAgAAAAAFIQAAAAAAIQAAAAAAIQAAAAAABwAAAAAABQAAAAACBwAAAAACBwAAAAADBgAAAAACHgAAAAADBAAAAAAIBgAAAAAABgAAAAABBgAAAAAABgAAAAADBgAAAAAAAgAAAAABAgAAAAALAgAAAAAFIQAAAAAABQAAAAAABAAAAAAIBAAAAAAGBAAAAAAIBgAAAAABHgAAAAAEBAAAAAADBgAAAAACBgAAAAACBAAAAAAHBAAAAAALBgAAAAABBAAAAAAEBAAAAAABAgAAAAACIQAAAAAABQAAAAABBgAAAAADBgAAAAAABQAAAAACBgAAAAABHQAAAAAABAAAAAAGBgAAAAADBgAAAAAABgAAAAADBgAAAAACBgAAAAABBgAAAAABBAAAAAAMAgAAAAACIQAAAAAABwAAAAABBgAAAAACBgAAAAABBQAAAAAABgAAAAAAHgAAAAAABAAAAAAGBgAAAAADBgAAAAACBgAAAAAABgAAAAACBgAAAAACBgAAAAADBAAAAAAIHgAAAAACIQAAAAAABQAAAAACBQAAAAABBwAAAAADBwAAAAACBgAAAAADHgAAAAAEBAAAAAAKBgAAAAAABgAAAAADBgAAAAACBgAAAAACBgAAAAACBgAAAAADBAAAAAACHQAAAAAAIQAAAAAABgAAAAAABgAAAAADBgAAAAADBgAAAAAABgAAAAADHgAAAAABBAAAAAAFBAAAAAAGBAAAAAANBAAAAAAIBAAAAAAHBAAAAAAFBAAAAAAIBAAAAAABHgAAAAAFIQAAAAAABgAAAAABHgAAAAADHgAAAAAEHgAAAAAFHgAAAAAEHgAAAAACHgAAAAAFHQAAAAAAHQAAAAAAHgAAAAACHgAAAAAEHgAAAAAFHgAAAAAFHgAAAAAFHgAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAAgAAAAAEHAAAAAAAHAAAAAAAHQAAAAAAHAAAAAADHgAAAAAFHgAAAAAEHQAAAAADHAAAAAADBgAAAAAAHQAAAAAAHgAAAAAEHgAAAAAFHgAAAAADHAAAAAACBgAAAAAAHAAAAAAFHAAAAAABHAAAAAACHAAAAAAFHAAAAAAFBgAAAAABBgAAAAABBgAAAAABBgAAAAACBgAAAAABBgAAAAACBgAAAAACHgAAAAAABwAAAAADBwAAAAABBwAAAAAAHAAAAAACHAAAAAAAHAAAAAACHAAAAAAFHAAAAAAABgAAAAACBgAAAAACBgAAAAABBgAAAAABBgAAAAACBgAAAAADBgAAAAAAHgAAAAABBwAAAAAABgAAAAACBwAAAAACHAAAAAADHAAAAAAAHAAAAAAEHAAAAAAFHAAAAAAEBgAAAAAABgAAAAABBgAAAAAABQAAAAAABQAAAAADBQAAAAADBgAAAAABHgAAAAAFBwAAAAACBwAAAAADBwAAAAACHAAAAAADHAAAAAAAHAAAAAAEHAAAAAABHAAAAAAEBgAAAAAABgAAAAAABgAAAAAABQAAAAABBQAAAAABBQAAAAABBgAAAAACHgAAAAACBwAAAAAABQAAAAAABQAAAAADHAAAAAABHAAAAAADHAAAAAADHAAAAAACHAAAAAACBgAAAAACBQAAAAAABQAAAAAABgAAAAAABgAAAAABBgAAAAAABgAAAAADHgAAAAACBwAAAAACBwAAAAACBgAAAAAA + tiles: BgAAAAABBgAAAAAABgAAAAACBgAAAAAABgAAAAAAHgAAAAACBAAAAAAIBgAAAAADBgAAAAABBgAAAAADAgAAAAAMAgAAAAAHAgAAAAAFIQAAAAAAIQAAAAAAIQAAAAAABwAAAAAABQAAAAACBwAAAAACBwAAAAADBgAAAAACHgAAAAADBAAAAAAIBgAAAAAABgAAAAABBgAAAAAABgAAAAADBgAAAAAAAgAAAAABAgAAAAALAgAAAAAFIQAAAAAABQAAAAAABAAAAAAIBAAAAAAGBAAAAAAIBgAAAAABHgAAAAAEBAAAAAADBgAAAAACBgAAAAACBAAAAAAHBAAAAAALBgAAAAABBAAAAAAEBAAAAAABAgAAAAACIQAAAAAABQAAAAABBgAAAAADBgAAAAAABQAAAAACBgAAAAABHQAAAAAABAAAAAAGBgAAAAADBgAAAAAABgAAAAADBgAAAAACBgAAAAABBgAAAAABBAAAAAAMAgAAAAACIQAAAAAABwAAAAABBgAAAAACBgAAAAABBQAAAAAABgAAAAAAHgAAAAAABAAAAAAGBgAAAAADBgAAAAACBgAAAAAABgAAAAACBgAAAAACBgAAAAADBAAAAAAIHgAAAAACIQAAAAAABQAAAAACBQAAAAABBwAAAAADBwAAAAACBgAAAAADHgAAAAAEBAAAAAAKBgAAAAAABgAAAAADBgAAAAACBgAAAAACBgAAAAACBgAAAAADBAAAAAACHQAAAAAAIQAAAAAABgAAAAAABgAAAAADBgAAAAADBgAAAAAABgAAAAADHgAAAAABBAAAAAAFBAAAAAAGBAAAAAANBAAAAAAIBAAAAAAHBAAAAAAFBAAAAAAIBAAAAAABHgAAAAAFIQAAAAAABgAAAAABHgAAAAADHgAAAAAEHgAAAAAFHgAAAAAEHgAAAAACHgAAAAAFHQAAAAAAHQAAAAAAHgAAAAACHgAAAAAEHgAAAAAFHgAAAAAFHgAAAAAFHgAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAAgAAAAAEHAAAAAAAHAAAAAAAHQAAAAAAHAAAAAADHgAAAAAFHgAAAAAEHQAAAAADHAAAAAADBgAAAAAAHQAAAAAAHgAAAAAEHgAAAAAFHgAAAAADHAAAAAACBgAAAAAABQAAAAAABQAAAAAAHAAAAAACHAAAAAAFHAAAAAAFBgAAAAABBgAAAAABBgAAAAABBgAAAAACBgAAAAABBgAAAAACBgAAAAACHgAAAAAABwAAAAADBwAAAAABBwAAAAAABQAAAAAABQAAAAAAHAAAAAACHAAAAAAFHAAAAAAABgAAAAACBgAAAAACBgAAAAABBgAAAAABBgAAAAACBgAAAAADBgAAAAAAHgAAAAABBwAAAAAABgAAAAACBwAAAAACBQAAAAAABQAAAAAAHAAAAAAEHAAAAAAFHAAAAAAEBgAAAAAABgAAAAABBgAAAAAABQAAAAAABQAAAAADBQAAAAADBgAAAAABHgAAAAAFBwAAAAACBwAAAAADBwAAAAACBQAAAAAABQAAAAAAHAAAAAAEHAAAAAABHAAAAAAEBgAAAAAABgAAAAAABgAAAAAABQAAAAABBQAAAAABBQAAAAABBgAAAAACHgAAAAACBwAAAAAABQAAAAAABQAAAAADBQAAAAAABQAAAAAAHAAAAAADHAAAAAACHAAAAAACBgAAAAACBQAAAAAABQAAAAAABgAAAAAABgAAAAABBgAAAAAABgAAAAADHgAAAAACBwAAAAACBwAAAAACBgAAAAAA version: 6 -1,-2: ind: -1,-2 @@ -122,7 +122,7 @@ entities: version: 6 -2,0: ind: -2,0 - tiles: AQAAAAAAAQAAAAAAAQAAAAACAQAAAAACAQAAAAABAQAAAAAAAgAAAAAFHQAAAAABHQAAAAADHQAAAAACIQAAAAAAHgAAAAAAHgAAAAABBgAAAAABBgAAAAAABgAAAAADAQAAAAAAAQAAAAAAAQAAAAACAQAAAAACAQAAAAADAQAAAAABAgAAAAAKHgAAAAAAAgAAAAAHAgAAAAAEAgAAAAAGAgAAAAAFHgAAAAADBgAAAAAABgAAAAAABgAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAADAgAAAAANAgAAAAAGAgAAAAAMAgAAAAAFHQAAAAAAAgAAAAABAgAAAAAIHQAAAAADHQAAAAADBgAAAAAABgAAAAADBgAAAAABAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAACAgAAAAAKHQAAAAACHQAAAAAAAgAAAAAHAgAAAAAIIQAAAAAAAgAAAAAEHgAAAAAAHQAAAAAFBgAAAAACBwAAAAACBQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAACAgAAAAALHQAAAAABHgAAAAACHQAAAAABHQAAAAACIQAAAAAAAgAAAAAFAgAAAAAOHQAAAAADBgAAAAADBQAAAAAABQAAAAACAQAAAAAAAQAAAAACAQAAAAABAQAAAAADAgAAAAAKAgAAAAAFHQAAAAACHgAAAAABHQAAAAADAgAAAAAMIQAAAAAAAgAAAAAIHAAAAAAFBgAAAAACBgAAAAACBQAAAAADAQAAAAAAAQAAAAAAAQAAAAAAAgAAAAABAgAAAAAFAgAAAAAIHQAAAAADHgAAAAADHQAAAAACAgAAAAAGAgAAAAAAAgAAAAAFHAAAAAAABgAAAAABBgAAAAAABgAAAAABAQAAAAABAQAAAAAEAgAAAAAFAgAAAAAGAgAAAAAEHQAAAAAFAgAAAAAOAgAAAAAPAgAAAAAPAgAAAAAJAgAAAAAIHAAAAAADHgAAAAAEHgAAAAACBgAAAAADBgAAAAACAQAAAAAEAQAAAAACAgAAAAAHHQAAAAAAHQAAAAAAHQAAAAABAgAAAAAPAgAAAAALAgAAAAAMHAAAAAAEAgAAAAAGIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAAQAAAAAAAQAAAAACAgAAAAAJHQAAAAACHgAAAAAEHgAAAAAEHQAAAAADHQAAAAADAgAAAAAHAgAAAAAPIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAAQAAAAAAAQAAAAAEAQAAAAABAgAAAAABAgAAAAAMAgAAAAAOHQAAAAAFAgAAAAAHHgAAAAAFAgAAAAAHHAAAAAACAgAAAAAKAgAAAAAGAgAAAAAOAgAAAAADAgAAAAAIAQAAAAAAAQAAAAACAQAAAAAAAQAAAAAAAQAAAAADAgAAAAAGHQAAAAACAgAAAAAKHAAAAAACHAAAAAAFHAAAAAAFHAAAAAAAHAAAAAADHAAAAAAFHAAAAAAFHAAAAAAAAQAAAAAAAQAAAAAAAQAAAAADAQAAAAACAQAAAAAAAgAAAAAGAgAAAAAEAgAAAAAIHAAAAAAFHAAAAAAAHAAAAAABHAAAAAAFHAAAAAAAHAAAAAABHAAAAAAEHAAAAAAAAQAAAAAAAQAAAAAAAQAAAAACAgAAAAADAgAAAAAJAgAAAAACAgAAAAAMAgAAAAAMHAAAAAABHAAAAAADHAAAAAABHAAAAAADHAAAAAACHAAAAAAAHAAAAAABHAAAAAABAQAAAAAAAQAAAAAAAQAAAAACAgAAAAAJHQAAAAAAHQAAAAAEHQAAAAAAAgAAAAAEHAAAAAAAHAAAAAAAHAAAAAADHAAAAAAFHAAAAAABHAAAAAACHAAAAAAFHAAAAAABAQAAAAAAAQAAAAAAAQAAAAABAgAAAAAJHQAAAAACHQAAAAADAgAAAAANAgAAAAANHAAAAAADHAAAAAADHAAAAAADHAAAAAAFHAAAAAABHAAAAAAFHAAAAAACHAAAAAAD + tiles: AQAAAAAAAQAAAAAAAQAAAAACAQAAAAACAQAAAAABAQAAAAAAAgAAAAAFHQAAAAABHQAAAAADHQAAAAACIQAAAAAAHgAAAAAAHgAAAAABBgAAAAABBgAAAAAABgAAAAADAQAAAAAAAQAAAAAAAQAAAAACAQAAAAACAQAAAAADAQAAAAABAgAAAAAKHgAAAAAAAgAAAAAHAgAAAAAEAgAAAAAGAgAAAAAFHgAAAAADBgAAAAAABgAAAAAABgAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAADAgAAAAANAgAAAAAGAgAAAAAMAgAAAAAFHQAAAAAAAgAAAAABAgAAAAAIHQAAAAADHQAAAAADBgAAAAAABgAAAAADBgAAAAABAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAACAgAAAAAKHQAAAAACHQAAAAAAAgAAAAAHAgAAAAAIIQAAAAAAAgAAAAAEHgAAAAAAHQAAAAAFBgAAAAACBwAAAAACBQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAACAgAAAAALHQAAAAABHgAAAAACHQAAAAABHQAAAAACIQAAAAAAAgAAAAAFAgAAAAAOHQAAAAADBgAAAAADBQAAAAAABQAAAAACAQAAAAAAAQAAAAACAQAAAAABAQAAAAADAgAAAAAKAgAAAAAFHQAAAAACHgAAAAABHQAAAAADAgAAAAAMIQAAAAAAAgAAAAAIHAAAAAAFBgAAAAACBgAAAAACBQAAAAADAQAAAAAAAQAAAAAAAQAAAAAAAgAAAAABAgAAAAAFAgAAAAAIHQAAAAADHgAAAAADHQAAAAACAgAAAAAGAgAAAAAAAgAAAAAFHAAAAAAABgAAAAABBgAAAAAABgAAAAABAQAAAAABAQAAAAAEAgAAAAAFAgAAAAAGAgAAAAAEHQAAAAAFAgAAAAAOAgAAAAAPAgAAAAAPAgAAAAAJAgAAAAAIHAAAAAADHgAAAAAEHgAAAAACBgAAAAADBgAAAAACAQAAAAAEAQAAAAACAgAAAAAHHQAAAAAAHQAAAAAAHQAAAAABAgAAAAAPAgAAAAALAgAAAAAMHAAAAAAEAgAAAAAGIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAAQAAAAAAAQAAAAACAgAAAAAJHQAAAAACHgAAAAAEHgAAAAAEHQAAAAADHQAAAAADAgAAAAAHAgAAAAAPIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAIQAAAAAAAQAAAAAAAQAAAAAEAQAAAAABAgAAAAABAgAAAAAMAgAAAAAOHQAAAAAFAgAAAAAHHgAAAAAFAgAAAAAHHAAAAAACAgAAAAAKAgAAAAAGAgAAAAAOAgAAAAADAgAAAAAIAQAAAAAAAQAAAAACAQAAAAAAAQAAAAAAAQAAAAADAgAAAAAGHQAAAAACAgAAAAAKHAAAAAACHAAAAAAFBQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAAQAAAAAAAQAAAAAAAQAAAAADAQAAAAACAQAAAAAAAgAAAAAGAgAAAAAEAgAAAAAIHAAAAAAFHAAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAAQAAAAAAAQAAAAAAAQAAAAACAgAAAAADAgAAAAAJAgAAAAACAgAAAAAMAgAAAAAMHAAAAAABHAAAAAADBQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAAQAAAAAAAQAAAAAAAQAAAAACAgAAAAAJHQAAAAAAHQAAAAAEHQAAAAAAAgAAAAAEHAAAAAAAHAAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAAQAAAAAAAQAAAAAAAQAAAAABAgAAAAAJHQAAAAACHQAAAAADAgAAAAANAgAAAAANHAAAAAADHAAAAAADHAAAAAADHAAAAAAFHAAAAAAABQAAAAAABQAAAAAABQAAAAAA version: 6 1,0: ind: 1,0 @@ -142,7 +142,7 @@ entities: version: 6 0,1: ind: 0,1 - tiles: BgAAAAADBwAAAAABBQAAAAACBQAAAAABBQAAAAABBQAAAAADBQAAAAABHgAAAAAFBgAAAAADBwAAAAADBwAAAAAABwAAAAADBwAAAAAABQAAAAAABgAAAAADHQAAAAAABwAAAAABBwAAAAABBQAAAAABBQAAAAADBQAAAAACBQAAAAADBQAAAAACHgAAAAABBgAAAAABBgAAAAABBgAAAAADBwAAAAABBgAAAAABBgAAAAADBgAAAAABHQAAAAACBwAAAAAABwAAAAADBwAAAAADBQAAAAAABQAAAAADBQAAAAACBQAAAAADHgAAAAABHgAAAAABHgAAAAABHgAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAABHQAAAAACHgAAAAACHgAAAAABHgAAAAAFHgAAAAACHQAAAAAAHAAAAAAAAgAAAAACHAAAAAAAHgAAAAAAHgAAAAADHgAAAAAEHgAAAAABHgAAAAAAHQAAAAADHgAAAAAEHgAAAAAAHgAAAAADHgAAAAAFHQAAAAAAAgAAAAANAgAAAAAIHQAAAAAAHAAAAAAAHQAAAAAABgAAAAABCwAAAAAACwAAAAAACwAAAAAABgAAAAAACwAAAAAABAAAAAAKBgAAAAACHAAAAAAAHAAAAAADHAAAAAAAAgAAAAAAAgAAAAAIAgAAAAABHQAAAAAAHQAAAAAABgAAAAADCwAAAAAACwAAAAAADAAAAAAACwAAAAAABQAAAAACBQAAAAAABgAAAAABHAAAAAAAHAAAAAACHAAAAAACHAAAAAAAAgAAAAAFAgAAAAALAgAAAAAMHQAAAAAFBgAAAAAACwAAAAAADAAAAAAADAAAAAAABgAAAAADBQAAAAADCwAAAAAABgAAAAAAHAAAAAAEHAAAAAABHAAAAAADHgAAAAABHQAAAAAAHgAAAAACCQAAAAAHCQAAAAAIBgAAAAACBQAAAAABCwAAAAAABgAAAAADBQAAAAABCwAAAAAACwAAAAAABgAAAAACHAAAAAAFHAAAAAABHAAAAAACCQAAAAACCQAAAAANCQAAAAAMCQAAAAALCQAAAAAHBgAAAAABCwAAAAAACwAAAAAACwAAAAAABQAAAAABCwAAAAAACwAAAAAABgAAAAAACQAAAAACCQAAAAAMCQAAAAAECQAAAAACCQAAAAAFCQAAAAACCQAAAAAECQAAAAAHBgAAAAABDAAAAAAADAAAAAAACwAAAAAABgAAAAABCwAAAAAABAAAAAABBgAAAAADCQAAAAAICQAAAAADCQAAAAAJCQAAAAACCQAAAAAFCQAAAAAGCQAAAAABCQAAAAABBgAAAAAADAAAAAAADAAAAAAACwAAAAAADAAAAAAADAAAAAAABAAAAAAGBgAAAAACCQAAAAALCQAAAAAKCQAAAAANCQAAAAAGCQAAAAACCQAAAAAICQAAAAAICQAAAAAHBgAAAAADDAAAAAAADAAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAABgAAAAABCQAAAAAKCQAAAAALCQAAAAAACQAAAAAMCQAAAAAMCQAAAAAICQAAAAAFCQAAAAAHBgAAAAABBgAAAAAABgAAAAACBgAAAAAABgAAAAACBgAAAAABBgAAAAAABgAAAAAACQAAAAALCQAAAAACCQAAAAALCQAAAAAFCQAAAAAHCQAAAAALCQAAAAACCQAAAAACCQAAAAAFCQAAAAANCQAAAAAFCQAAAAAICQAAAAAICQAAAAABCQAAAAABCQAAAAAKCQAAAAAFCQAAAAAKCQAAAAAECQAAAAAECQAAAAAKCQAAAAAMCQAAAAABCQAAAAAMCQAAAAADCQAAAAAKCQAAAAACCQAAAAALCQAAAAADCQAAAAABCQAAAAAICQAAAAAKCQAAAAAGCQAAAAAMCQAAAAAHCQAAAAACCQAAAAALCQAAAAAICQAAAAANCQAAAAAHCQAAAAADCQAAAAALCQAAAAABCQAAAAANCQAAAAACCQAAAAAJCQAAAAABCQAAAAAN + tiles: BgAAAAADBwAAAAABBQAAAAACBQAAAAABBQAAAAABBQAAAAADBQAAAAABHgAAAAAFBgAAAAADBwAAAAADBwAAAAAABwAAAAADBwAAAAAABQAAAAAABgAAAAADHQAAAAAABwAAAAABBwAAAAABBQAAAAABBQAAAAADBQAAAAACBQAAAAADBQAAAAACHgAAAAABBgAAAAABBgAAAAABBgAAAAADBwAAAAABBgAAAAABBgAAAAADBgAAAAABHQAAAAACBwAAAAAABwAAAAADBwAAAAADBQAAAAAABQAAAAADBQAAAAACBQAAAAADHgAAAAABHgAAAAABHgAAAAABHgAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAABHQAAAAACHgAAAAACHgAAAAABBQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAHAAAAAAAHgAAAAAAHgAAAAADHgAAAAAEHgAAAAABHgAAAAAAHQAAAAADHgAAAAAEHgAAAAAAHgAAAAADHgAAAAAFBQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAHQAAAAAABgAAAAABCwAAAAAACwAAAAAACwAAAAAABgAAAAAACwAAAAAABAAAAAAKBgAAAAACHAAAAAAAHAAAAAADBQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAHQAAAAAABgAAAAADCwAAAAAACwAAAAAADAAAAAAACwAAAAAABQAAAAACBQAAAAAABgAAAAABHAAAAAAAHAAAAAACBQAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAHQAAAAAFBgAAAAAACwAAAAAADAAAAAAADAAAAAAABgAAAAADBQAAAAADCwAAAAAABgAAAAAAHAAAAAAEHAAAAAABHAAAAAADHgAAAAABHQAAAAAAHgAAAAACCQAAAAAHCQAAAAAIBgAAAAACBQAAAAABCwAAAAAABgAAAAADBQAAAAABCwAAAAAACwAAAAAABgAAAAACHAAAAAAFHAAAAAABHAAAAAACCQAAAAACCQAAAAANCQAAAAAMCQAAAAALCQAAAAAHBgAAAAABCwAAAAAACwAAAAAACwAAAAAABQAAAAABCwAAAAAACwAAAAAABgAAAAAACQAAAAACCQAAAAAMCQAAAAAECQAAAAACCQAAAAAFCQAAAAACCQAAAAAECQAAAAAHBgAAAAABDAAAAAAADAAAAAAACwAAAAAABgAAAAABCwAAAAAABAAAAAABBgAAAAADCQAAAAAICQAAAAADCQAAAAAJCQAAAAACCQAAAAAFCQAAAAAGCQAAAAABCQAAAAABBgAAAAAADAAAAAAADAAAAAAACwAAAAAADAAAAAAADAAAAAAABAAAAAAGBgAAAAACCQAAAAALCQAAAAAKCQAAAAANCQAAAAAGCQAAAAACCQAAAAAICQAAAAAICQAAAAAHBgAAAAADDAAAAAAADAAAAAAACwAAAAAACwAAAAAACwAAAAAACwAAAAAABgAAAAABCQAAAAAKCQAAAAALCQAAAAAACQAAAAAMCQAAAAAMCQAAAAAICQAAAAAFCQAAAAAHBgAAAAABBgAAAAAABgAAAAACBgAAAAAABgAAAAACBgAAAAABBgAAAAAABgAAAAAACQAAAAALCQAAAAACCQAAAAALCQAAAAAFCQAAAAAHCQAAAAALCQAAAAACCQAAAAACCQAAAAAFCQAAAAANCQAAAAAFCQAAAAAICQAAAAAICQAAAAABCQAAAAABCQAAAAAKCQAAAAAFCQAAAAAKCQAAAAAECQAAAAAECQAAAAAKCQAAAAAMCQAAAAABCQAAAAAMCQAAAAADCQAAAAAKCQAAAAACCQAAAAALCQAAAAADCQAAAAABCQAAAAAICQAAAAAKCQAAAAAGCQAAAAAMCQAAAAAHCQAAAAACCQAAAAALCQAAAAAICQAAAAANCQAAAAAHCQAAAAADCQAAAAALCQAAAAABCQAAAAANCQAAAAACCQAAAAAJCQAAAAABCQAAAAAN version: 6 1,2: ind: 1,2 @@ -154,7 +154,7 @@ entities: version: 6 -1,1: ind: -1,1 - tiles: HAAAAAABHAAAAAAAHAAAAAAFHAAAAAAEHQAAAAAABgAAAAADBQAAAAAABQAAAAAABgAAAAABBgAAAAADHgAAAAADHgAAAAACHgAAAAAABwAAAAADBQAAAAADBgAAAAACHAAAAAAFHAAAAAAEHAAAAAAAHAAAAAAFHAAAAAADBgAAAAADBQAAAAAABQAAAAACBgAAAAADBgAAAAACHgAAAAADHgAAAAADHgAAAAAFBwAAAAACBQAAAAACBQAAAAABHAAAAAAFHAAAAAABHAAAAAAEHAAAAAAEHAAAAAACBgAAAAACBgAAAAACBgAAAAAABgAAAAABBgAAAAAAHQAAAAACHgAAAAAFHgAAAAAFBwAAAAADBwAAAAACBwAAAAABHAAAAAAFHAAAAAACHAAAAAAEHAAAAAAEHAAAAAAAHgAAAAAAHgAAAAADHgAAAAACHgAAAAAAHQAAAAABHQAAAAAAHAAAAAAEHAAAAAABHAAAAAAEHgAAAAACHgAAAAAFAgAAAAAMHAAAAAACHAAAAAAEAgAAAAACAgAAAAACAgAAAAANHQAAAAAAHAAAAAAAHQAAAAAAHQAAAAAAAgAAAAACAgAAAAAFAgAAAAAGHAAAAAAAHgAAAAADHgAAAAAFAgAAAAAKAgAAAAAFCQAAAAAIAgAAAAAIAgAAAAAMAgAAAAADAgAAAAAOHQAAAAAAAgAAAAALAgAAAAAEAgAAAAAEHAAAAAAFHQAAAAAAHgAAAAACHgAAAAAFHgAAAAABCQAAAAADCQAAAAANCQAAAAAFAgAAAAAMAgAAAAADAgAAAAANAgAAAAAHAgAAAAAIAgAAAAAAAgAAAAANAgAAAAABAgAAAAACHAAAAAADHgAAAAADHgAAAAAEHAAAAAABCQAAAAABCQAAAAAACQAAAAALCQAAAAAHCQAAAAAIAgAAAAALAgAAAAAKAgAAAAACAgAAAAADAgAAAAAIHQAAAAAAAgAAAAAPCQAAAAACHgAAAAAEHgAAAAAEHAAAAAACCQAAAAAGCQAAAAAKCQAAAAAGCQAAAAAMCQAAAAABCQAAAAAFCQAAAAACAgAAAAAJAgAAAAAKAgAAAAAIAgAAAAAJAgAAAAAICQAAAAADCQAAAAACHgAAAAADHAAAAAADCQAAAAAECQAAAAAMCQAAAAANCQAAAAAHCQAAAAAKCQAAAAAMCQAAAAANCQAAAAAACQAAAAADCQAAAAACCQAAAAAECQAAAAAFCQAAAAADCQAAAAAMCQAAAAAACQAAAAAICQAAAAADCQAAAAANCQAAAAALCQAAAAALCQAAAAABCQAAAAAFCQAAAAAHCQAAAAAJCQAAAAADCQAAAAAKCQAAAAALCQAAAAACCQAAAAANCQAAAAALCQAAAAAFCQAAAAAMCQAAAAAFCQAAAAAACQAAAAAECQAAAAACCQAAAAAKCQAAAAABCQAAAAABCQAAAAAFCQAAAAAICQAAAAACCQAAAAAFCQAAAAAACQAAAAAJCQAAAAAHCQAAAAAFCQAAAAAFCQAAAAABCQAAAAALCQAAAAAICQAAAAAKCQAAAAAHCQAAAAADCQAAAAAKCQAAAAABCQAAAAADCQAAAAABCQAAAAAICQAAAAAJCQAAAAANCQAAAAANCQAAAAABCQAAAAAHCQAAAAAICQAAAAAKCQAAAAAJCQAAAAAACQAAAAAHCQAAAAANCQAAAAAACQAAAAADCQAAAAAJCQAAAAAHCQAAAAACCQAAAAAICQAAAAAHCQAAAAAJCQAAAAABCQAAAAAICQAAAAAGCQAAAAAMCQAAAAACCQAAAAADCQAAAAAHCQAAAAAICQAAAAANCQAAAAAMCQAAAAAFCQAAAAAGCQAAAAAGCQAAAAADCQAAAAAECQAAAAAACQAAAAACCQAAAAAKCQAAAAAACQAAAAADCQAAAAAMCQAAAAAJCQAAAAAFCQAAAAAFCQAAAAAACQAAAAAACQAAAAAICQAAAAALCQAAAAAACQAAAAALCQAAAAAHCQAAAAAFCQAAAAAJCQAAAAAM + tiles: BQAAAAAABQAAAAAAHAAAAAAFHAAAAAAEHQAAAAAABgAAAAADBQAAAAAABQAAAAAABgAAAAABBgAAAAADHgAAAAADHgAAAAACHgAAAAAABwAAAAADBQAAAAADBgAAAAACHAAAAAAFHAAAAAAEHAAAAAAAHAAAAAAFHAAAAAADBgAAAAADBQAAAAAABQAAAAACBgAAAAADBgAAAAACHgAAAAADHgAAAAADHgAAAAAFBwAAAAACBQAAAAACBQAAAAABHAAAAAAFHAAAAAABHAAAAAAEHAAAAAAEHAAAAAACBgAAAAACBgAAAAACBgAAAAAABgAAAAABBgAAAAAAHQAAAAACHgAAAAAFHgAAAAAFBwAAAAADBwAAAAACBwAAAAABHAAAAAAFHAAAAAACHAAAAAAEHAAAAAAEHAAAAAAAHgAAAAAAHgAAAAADHgAAAAACHgAAAAAAHQAAAAABHQAAAAAAHAAAAAAEHAAAAAABHAAAAAAEHgAAAAACHgAAAAAFAgAAAAAMHAAAAAACHAAAAAAEAgAAAAACAgAAAAACAgAAAAANHQAAAAAAHAAAAAAAHQAAAAAAHQAAAAAAAgAAAAACAgAAAAAFAgAAAAAGHAAAAAAAHgAAAAADHgAAAAAFAgAAAAAKAgAAAAAFCQAAAAAIAgAAAAAIAgAAAAAMAgAAAAADAgAAAAAOHQAAAAAAAgAAAAALAgAAAAAEAgAAAAAEHAAAAAAFHQAAAAAAHgAAAAACHgAAAAAFHgAAAAABCQAAAAADCQAAAAANCQAAAAAFAgAAAAAMAgAAAAADAgAAAAANAgAAAAAHAgAAAAAIAgAAAAAAAgAAAAANAgAAAAABAgAAAAACHAAAAAADHgAAAAADHgAAAAAEHAAAAAABCQAAAAABCQAAAAAACQAAAAALCQAAAAAHCQAAAAAIAgAAAAALAgAAAAAKAgAAAAACAgAAAAADAgAAAAAIHQAAAAAAAgAAAAAPCQAAAAACHgAAAAAEHgAAAAAEHAAAAAACCQAAAAAGCQAAAAAKCQAAAAAGCQAAAAAMCQAAAAABCQAAAAAFCQAAAAACAgAAAAAJAgAAAAAKAgAAAAAIAgAAAAAJAgAAAAAICQAAAAADCQAAAAACHgAAAAADHAAAAAADCQAAAAAECQAAAAAMCQAAAAANCQAAAAAHCQAAAAAKCQAAAAAMCQAAAAANCQAAAAAACQAAAAADCQAAAAACCQAAAAAECQAAAAAFCQAAAAADCQAAAAAMCQAAAAAACQAAAAAICQAAAAADCQAAAAANCQAAAAALCQAAAAALCQAAAAABCQAAAAAFCQAAAAAHCQAAAAAJCQAAAAADCQAAAAAKCQAAAAALCQAAAAACCQAAAAANCQAAAAALCQAAAAAFCQAAAAAMCQAAAAAFCQAAAAAACQAAAAAECQAAAAACCQAAAAAKCQAAAAABCQAAAAABCQAAAAAFCQAAAAAICQAAAAACCQAAAAAFCQAAAAAACQAAAAAJCQAAAAAHCQAAAAAFCQAAAAAFCQAAAAABCQAAAAALCQAAAAAICQAAAAAKCQAAAAAHCQAAAAADCQAAAAAKCQAAAAABCQAAAAADCQAAAAABCQAAAAAICQAAAAAJCQAAAAANCQAAAAANCQAAAAABCQAAAAAHCQAAAAAICQAAAAAKCQAAAAAJCQAAAAAACQAAAAAHCQAAAAANCQAAAAAACQAAAAADCQAAAAAJCQAAAAAHCQAAAAACCQAAAAAICQAAAAAHCQAAAAAJCQAAAAABCQAAAAAICQAAAAAGCQAAAAAMCQAAAAACCQAAAAADCQAAAAAHCQAAAAAICQAAAAANCQAAAAAMCQAAAAAFCQAAAAAGCQAAAAAGCQAAAAADCQAAAAAECQAAAAAACQAAAAACCQAAAAAKCQAAAAAACQAAAAADCQAAAAAMCQAAAAAJCQAAAAAFCQAAAAAFCQAAAAAACQAAAAAACQAAAAAICQAAAAALCQAAAAAACQAAAAALCQAAAAAHCQAAAAAFCQAAAAAJCQAAAAAM version: 6 -1,2: ind: -1,2 @@ -166,7 +166,7 @@ entities: version: 6 -2,1: ind: -2,1 - tiles: AQAAAAABAQAAAAADAQAAAAADAgAAAAANHQAAAAAFAgAAAAAMAgAAAAAFAgAAAAAFHAAAAAABHAAAAAABHAAAAAADHAAAAAAEHAAAAAAEHAAAAAAAHAAAAAAFHAAAAAADAQAAAAABAQAAAAAEAgAAAAAEAgAAAAAEAgAAAAACAgAAAAANAgAAAAAAHQAAAAAFHAAAAAACHAAAAAADHAAAAAAFHAAAAAABHAAAAAAFHAAAAAAEHAAAAAAAHAAAAAADAQAAAAADAQAAAAADAgAAAAANAgAAAAAOAgAAAAAFAgAAAAAGAgAAAAACAgAAAAAOHAAAAAAFHAAAAAACHAAAAAAAHAAAAAAAHAAAAAABHAAAAAABHAAAAAAAHAAAAAABAQAAAAAEAQAAAAAEAQAAAAAAAQAAAAAEAQAAAAACAQAAAAAAAQAAAAACAQAAAAAAHAAAAAAAHAAAAAADHAAAAAACHAAAAAAAHAAAAAACHAAAAAAEHAAAAAADHAAAAAABAQAAAAADAQAAAAAAAQAAAAABAQAAAAACCQAAAAAACQAAAAANCQAAAAALCQAAAAACHAAAAAADHAAAAAAEHAAAAAAEHAAAAAABAgAAAAAGAgAAAAAGAgAAAAABAgAAAAAGAQAAAAACAQAAAAACAQAAAAACAQAAAAABCQAAAAAMCQAAAAACCQAAAAAICQAAAAAACQAAAAAKCQAAAAAHCQAAAAADAgAAAAACAgAAAAACAgAAAAAOAgAAAAAOAgAAAAAEAQAAAAAAAQAAAAAECQAAAAAMCQAAAAANCQAAAAACCQAAAAANCQAAAAADCQAAAAAFCQAAAAAACQAAAAAJCQAAAAAFCQAAAAAJCQAAAAAMCQAAAAAMCQAAAAAACQAAAAAKCQAAAAACCQAAAAADCQAAAAAJCQAAAAAFCQAAAAABCQAAAAAFCQAAAAAGCQAAAAAMCQAAAAAECQAAAAAECQAAAAAKCQAAAAACCQAAAAAKCQAAAAAACQAAAAAGCQAAAAABCQAAAAALCQAAAAADCQAAAAAACQAAAAAECQAAAAAECQAAAAACCQAAAAAICQAAAAANCQAAAAALCQAAAAACCQAAAAANCQAAAAAKCQAAAAAECQAAAAACCQAAAAAICQAAAAAECQAAAAAACQAAAAADCQAAAAALCQAAAAACCQAAAAAFCQAAAAAHCQAAAAAGCQAAAAAACQAAAAAMCQAAAAAGCQAAAAACCQAAAAAECQAAAAANCQAAAAAECQAAAAAGCQAAAAAKCQAAAAAMCQAAAAABCQAAAAAKCQAAAAALCQAAAAABCQAAAAAECQAAAAAGCQAAAAAACQAAAAAKCQAAAAALCQAAAAAACQAAAAAICQAAAAAKCQAAAAAECQAAAAAGCQAAAAACCQAAAAAACQAAAAAICQAAAAAECQAAAAAGCQAAAAAJCQAAAAACCQAAAAAHCQAAAAAGCQAAAAAJCQAAAAACCQAAAAABCQAAAAAFCQAAAAAMCQAAAAAFCQAAAAADCQAAAAADCQAAAAALCQAAAAADCQAAAAAGCQAAAAAACQAAAAADCQAAAAADCQAAAAANCQAAAAAICQAAAAAICQAAAAANCQAAAAADCQAAAAADCQAAAAAACQAAAAAACQAAAAAFCQAAAAAJCQAAAAABCQAAAAAECQAAAAALCQAAAAADCQAAAAAICQAAAAACCQAAAAANCQAAAAAACQAAAAACCQAAAAAJCQAAAAABCQAAAAACCQAAAAAECQAAAAAKCQAAAAALCQAAAAALCQAAAAAFCQAAAAALCQAAAAAKCQAAAAAKCQAAAAANCQAAAAAJCQAAAAABCQAAAAAHCQAAAAAJCQAAAAABCQAAAAANCQAAAAANCQAAAAAMCQAAAAAJCQAAAAALCQAAAAAFCQAAAAACCQAAAAAJCQAAAAALCQAAAAAACQAAAAAHCQAAAAAHCQAAAAAJCQAAAAADCQAAAAAECQAAAAALCQAAAAAHCQAAAAAACQAAAAAECQAAAAAMCQAAAAAKCQAAAAAE + tiles: AQAAAAABAQAAAAADAQAAAAADAgAAAAANHQAAAAAFAgAAAAAMAgAAAAAFAgAAAAAFHAAAAAABHAAAAAABHAAAAAADHAAAAAAEHAAAAAAABQAAAAAABQAAAAAABQAAAAAAAQAAAAABAQAAAAAEAgAAAAAEAgAAAAAEAgAAAAACAgAAAAANAgAAAAAAHQAAAAAFHAAAAAACHAAAAAADHAAAAAAFHAAAAAABHAAAAAAFHAAAAAAEHAAAAAAAHAAAAAADAQAAAAADAQAAAAADAgAAAAANAgAAAAAOAgAAAAAFAgAAAAAGAgAAAAACAgAAAAAOHAAAAAAFHAAAAAACHAAAAAAAHAAAAAAAHAAAAAABHAAAAAABHAAAAAAAHAAAAAABAQAAAAAEAQAAAAAEAQAAAAAAAQAAAAAEAQAAAAACAQAAAAAAAQAAAAACAQAAAAAAHAAAAAAAHAAAAAADHAAAAAACHAAAAAAAHAAAAAACHAAAAAAEHAAAAAADHAAAAAABAQAAAAADAQAAAAAAAQAAAAABAQAAAAACCQAAAAAACQAAAAANCQAAAAALCQAAAAACHAAAAAADHAAAAAAEHAAAAAAEHAAAAAABAgAAAAAGAgAAAAAGAgAAAAABAgAAAAAGAQAAAAACAQAAAAACAQAAAAACAQAAAAABCQAAAAAMCQAAAAACCQAAAAAICQAAAAAACQAAAAAKCQAAAAAHCQAAAAADAgAAAAACAgAAAAACAgAAAAAOAgAAAAAOAgAAAAAEAQAAAAAAAQAAAAAECQAAAAAMCQAAAAANCQAAAAACCQAAAAANCQAAAAADCQAAAAAFCQAAAAAACQAAAAAJCQAAAAAFCQAAAAAJCQAAAAAMCQAAAAAMCQAAAAAACQAAAAAKCQAAAAACCQAAAAADCQAAAAAJCQAAAAAFCQAAAAABCQAAAAAFCQAAAAAGCQAAAAAMCQAAAAAECQAAAAAECQAAAAAKCQAAAAACCQAAAAAKCQAAAAAACQAAAAAGCQAAAAABCQAAAAALCQAAAAADCQAAAAAACQAAAAAECQAAAAAECQAAAAACCQAAAAAICQAAAAANCQAAAAALCQAAAAACCQAAAAANCQAAAAAKCQAAAAAECQAAAAACCQAAAAAICQAAAAAECQAAAAAACQAAAAADCQAAAAALCQAAAAACCQAAAAAFCQAAAAAHCQAAAAAGCQAAAAAACQAAAAAMCQAAAAAGCQAAAAACCQAAAAAECQAAAAANCQAAAAAECQAAAAAGCQAAAAAKCQAAAAAMCQAAAAABCQAAAAAKCQAAAAALCQAAAAABCQAAAAAECQAAAAAGCQAAAAAACQAAAAAKCQAAAAALCQAAAAAACQAAAAAICQAAAAAKCQAAAAAECQAAAAAGCQAAAAACCQAAAAAACQAAAAAICQAAAAAECQAAAAAGCQAAAAAJCQAAAAACCQAAAAAHCQAAAAAGCQAAAAAJCQAAAAACCQAAAAABCQAAAAAFCQAAAAAMCQAAAAAFCQAAAAADCQAAAAADCQAAAAALCQAAAAADCQAAAAAGCQAAAAAACQAAAAADCQAAAAADCQAAAAANCQAAAAAICQAAAAAICQAAAAANCQAAAAADCQAAAAADCQAAAAAACQAAAAAACQAAAAAFCQAAAAAJCQAAAAABCQAAAAAECQAAAAALCQAAAAADCQAAAAAICQAAAAACCQAAAAANCQAAAAAACQAAAAACCQAAAAAJCQAAAAABCQAAAAACCQAAAAAECQAAAAAKCQAAAAALCQAAAAALCQAAAAAFCQAAAAALCQAAAAAKCQAAAAAKCQAAAAANCQAAAAAJCQAAAAABCQAAAAAHCQAAAAAJCQAAAAABCQAAAAANCQAAAAANCQAAAAAMCQAAAAAJCQAAAAALCQAAAAAFCQAAAAACCQAAAAAJCQAAAAALCQAAAAAACQAAAAAHCQAAAAAHCQAAAAAJCQAAAAADCQAAAAAECQAAAAALCQAAAAAHCQAAAAAACQAAAAAECQAAAAAMCQAAAAAKCQAAAAAE version: 6 -2,-6: ind: -2,-6 @@ -912,21 +912,11 @@ entities: - type: Transform pos: -14.349041,-14.417055 parent: 1 - - uid: 12 - components: - - type: Transform - pos: 5.8588877,22.397306 - parent: 1 - uid: 15 components: - type: Transform pos: -13.60219,-33.730145 parent: 1 - - uid: 18 - components: - - type: Transform - pos: -10.318126,4.006343 - parent: 1 - uid: 19 components: - type: Transform @@ -1171,6 +1161,11 @@ entities: rot: -1.5707963267948966 rad pos: 30.5,5.5 parent: 1 + - type: PlaceableSurface + isPlaceable: False + - type: ItemPlacer + placedEntities: + - 11439 - uid: 15352 components: - type: Transform @@ -31083,11 +31078,6 @@ entities: parent: 1 - proto: CP14BiomeSpawnerLeafMaze entities: - - uid: 6554 - components: - - type: Transform - pos: -15.5,11.5 - parent: 1 - uid: 6555 components: - type: Transform @@ -31112,11 +31102,6 @@ entities: rot: 1.5707963267948966 rad pos: 41.5,-15.5 parent: 1 - - uid: 6559 - components: - - type: Transform - pos: -13.5,12.5 - parent: 1 - uid: 6560 components: - type: Transform @@ -31128,22 +31113,12 @@ entities: - type: Transform pos: -13.5,14.5 parent: 1 - - uid: 6562 - components: - - type: Transform - pos: -20.5,11.5 - parent: 1 - uid: 6563 components: - type: Transform rot: 1.5707963267948966 rad pos: 41.5,-17.5 parent: 1 - - uid: 6564 - components: - - type: Transform - pos: -12.5,11.5 - parent: 1 - uid: 6565 components: - type: Transform @@ -31166,21 +31141,6 @@ entities: - type: Transform pos: -14.5,18.5 parent: 1 - - uid: 6569 - components: - - type: Transform - pos: -16.5,13.5 - parent: 1 - - uid: 6570 - components: - - type: Transform - pos: -16.5,14.5 - parent: 1 - - uid: 6571 - components: - - type: Transform - pos: -14.5,12.5 - parent: 1 - uid: 6572 components: - type: Transform @@ -31196,81 +31156,31 @@ entities: - type: Transform pos: -18.5,19.5 parent: 1 - - uid: 6575 - components: - - type: Transform - pos: -18.5,15.5 - parent: 1 - - uid: 6576 - components: - - type: Transform - pos: -16.5,11.5 - parent: 1 - - uid: 6577 - components: - - type: Transform - pos: -18.5,12.5 - parent: 1 - uid: 6578 components: - type: Transform pos: -14.5,20.5 parent: 1 - - uid: 6579 - components: - - type: Transform - pos: -16.5,15.5 - parent: 1 - - uid: 6580 - components: - - type: Transform - pos: -14.5,13.5 - parent: 1 - uid: 6581 components: - type: Transform pos: -16.5,20.5 parent: 1 - - uid: 6582 - components: - - type: Transform - pos: -14.5,11.5 - parent: 1 - uid: 6583 components: - type: Transform pos: -19.5,18.5 parent: 1 - - uid: 6584 - components: - - type: Transform - pos: -17.5,14.5 - parent: 1 - uid: 6585 components: - type: Transform pos: -15.5,20.5 parent: 1 - - uid: 6586 - components: - - type: Transform - pos: -17.5,13.5 - parent: 1 - - uid: 6587 - components: - - type: Transform - pos: -17.5,12.5 - parent: 1 - uid: 6588 components: - type: Transform pos: -13.5,20.5 parent: 1 - - uid: 6589 - components: - - type: Transform - pos: -17.5,11.5 - parent: 1 - uid: 6590 components: - type: Transform @@ -31286,26 +31196,11 @@ entities: - type: Transform pos: -18.5,18.5 parent: 1 - - uid: 6593 - components: - - type: Transform - pos: -18.5,11.5 - parent: 1 - - uid: 6594 - components: - - type: Transform - pos: -18.5,14.5 - parent: 1 - uid: 6595 components: - type: Transform pos: -19.5,17.5 parent: 1 - - uid: 6596 - components: - - type: Transform - pos: -16.5,12.5 - parent: 1 - uid: 6597 components: - type: Transform @@ -31316,26 +31211,6 @@ entities: - type: Transform pos: -18.5,17.5 parent: 1 - - uid: 6599 - components: - - type: Transform - pos: -15.5,13.5 - parent: 1 - - uid: 6600 - components: - - type: Transform - pos: -15.5,14.5 - parent: 1 - - uid: 6601 - components: - - type: Transform - pos: -15.5,15.5 - parent: 1 - - uid: 6602 - components: - - type: Transform - pos: -15.5,16.5 - parent: 1 - uid: 6603 components: - type: Transform @@ -31371,36 +31246,11 @@ entities: - type: Transform pos: -19.5,19.5 parent: 1 - - uid: 6610 - components: - - type: Transform - pos: -18.5,13.5 - parent: 1 - uid: 6611 components: - type: Transform pos: -17.5,17.5 parent: 1 - - uid: 6612 - components: - - type: Transform - pos: -19.5,16.5 - parent: 1 - - uid: 6613 - components: - - type: Transform - pos: -17.5,16.5 - parent: 1 - - uid: 6614 - components: - - type: Transform - pos: -16.5,16.5 - parent: 1 - - uid: 6615 - components: - - type: Transform - pos: -17.5,15.5 - parent: 1 - uid: 6616 components: - type: Transform @@ -31426,11 +31276,6 @@ entities: - type: Transform pos: -12.5,20.5 parent: 1 - - uid: 6621 - components: - - type: Transform - pos: -13.5,11.5 - parent: 1 - uid: 6622 components: - type: Transform @@ -32015,11 +31860,6 @@ entities: rot: 1.5707963267948966 rad pos: 41.5,43.5 parent: 1 - - uid: 6722 - components: - - type: Transform - pos: -19.5,11.5 - parent: 1 - uid: 6723 components: - type: Transform @@ -32030,16 +31870,6 @@ entities: - type: Transform pos: -12.5,21.5 parent: 1 - - uid: 6725 - components: - - type: Transform - pos: -14.5,15.5 - parent: 1 - - uid: 6726 - components: - - type: Transform - pos: -15.5,12.5 - parent: 1 - uid: 6727 components: - type: Transform @@ -32050,22 +31880,12 @@ entities: - type: Transform pos: -14.5,17.5 parent: 1 - - uid: 6729 - components: - - type: Transform - pos: -14.5,16.5 - parent: 1 - uid: 6730 components: - type: Transform rot: 1.5707963267948966 rad pos: 88.5,43.5 parent: 1 - - uid: 6731 - components: - - type: Transform - pos: -14.5,14.5 - parent: 1 - uid: 6732 components: - type: Transform @@ -32078,11 +31898,6 @@ entities: rot: 1.5707963267948966 rad pos: 86.5,43.5 parent: 1 - - uid: 6734 - components: - - type: Transform - pos: -19.5,15.5 - parent: 1 - uid: 6735 components: - type: Transform @@ -32093,21 +31908,11 @@ entities: - type: Transform pos: -12.5,14.5 parent: 1 - - uid: 6737 - components: - - type: Transform - pos: -12.5,12.5 - parent: 1 - uid: 6738 components: - type: Transform pos: -12.5,13.5 parent: 1 - - uid: 6739 - components: - - type: Transform - pos: -19.5,14.5 - parent: 1 - uid: 6740 components: - type: Transform @@ -32134,26 +31939,11 @@ entities: rot: 1.5707963267948966 rad pos: 42.5,48.5 parent: 1 - - uid: 6745 - components: - - type: Transform - pos: -19.5,13.5 - parent: 1 - - uid: 6746 - components: - - type: Transform - pos: -18.5,16.5 - parent: 1 - uid: 6747 components: - type: Transform pos: -20.5,18.5 parent: 1 - - uid: 6748 - components: - - type: Transform - pos: -20.5,16.5 - parent: 1 - uid: 6749 components: - type: Transform @@ -34175,76 +33965,16 @@ entities: - type: Transform pos: -13.5,16.5 parent: 1 - - uid: 7086 - components: - - type: Transform - pos: -21.5,15.5 - parent: 1 - - uid: 7087 - components: - - type: Transform - pos: -20.5,12.5 - parent: 1 - - uid: 7088 - components: - - type: Transform - pos: -19.5,12.5 - parent: 1 - - uid: 7089 - components: - - type: Transform - pos: -22.5,15.5 - parent: 1 - - uid: 7090 - components: - - type: Transform - pos: -21.5,13.5 - parent: 1 - - uid: 7091 - components: - - type: Transform - pos: -22.5,14.5 - parent: 1 - - uid: 7092 - components: - - type: Transform - pos: -23.5,15.5 - parent: 1 - uid: 7093 components: - type: Transform pos: -21.5,17.5 parent: 1 - - uid: 7094 - components: - - type: Transform - pos: -22.5,16.5 - parent: 1 - uid: 7095 components: - type: Transform pos: -23.5,18.5 parent: 1 - - uid: 7096 - components: - - type: Transform - pos: -23.5,16.5 - parent: 1 - - uid: 7097 - components: - - type: Transform - pos: -21.5,16.5 - parent: 1 - - uid: 7098 - components: - - type: Transform - pos: -21.5,14.5 - parent: 1 - - uid: 7099 - components: - - type: Transform - pos: -23.5,13.5 - parent: 1 - uid: 7100 components: - type: Transform @@ -34260,11 +33990,6 @@ entities: - type: Transform pos: -22.5,18.5 parent: 1 - - uid: 7103 - components: - - type: Transform - pos: -23.5,14.5 - parent: 1 - uid: 7104 components: - type: Transform @@ -34275,31 +34000,11 @@ entities: - type: Transform pos: -13.5,15.5 parent: 1 - - uid: 7106 - components: - - type: Transform - pos: -13.5,13.5 - parent: 1 - - uid: 7107 - components: - - type: Transform - pos: -22.5,13.5 - parent: 1 - uid: 7108 components: - type: Transform pos: -17.5,20.5 parent: 1 - - uid: 7109 - components: - - type: Transform - pos: -20.5,14.5 - parent: 1 - - uid: 7110 - components: - - type: Transform - pos: -20.5,13.5 - parent: 1 - uid: 7111 components: - type: Transform @@ -34315,31 +34020,11 @@ entities: - type: Transform pos: -26.5,15.5 parent: 1 - - uid: 7114 - components: - - type: Transform - pos: -20.5,15.5 - parent: 1 - uid: 7115 components: - type: Transform pos: -21.5,19.5 parent: 1 - - uid: 7116 - components: - - type: Transform - pos: -22.5,12.5 - parent: 1 - - uid: 7117 - components: - - type: Transform - pos: -21.5,12.5 - parent: 1 - - uid: 7118 - components: - - type: Transform - pos: -21.5,11.5 - parent: 1 - uid: 7119 components: - type: Transform @@ -38109,11 +37794,6 @@ entities: canCollide: False - proto: CP14Bucket entities: - - uid: 7151 - components: - - type: Transform - pos: -10.802501,4.115718 - parent: 1 - uid: 7153 components: - type: Transform @@ -38562,6 +38242,42 @@ entities: - type: Transform pos: 20.5,-42.5 parent: 1 + - uid: 8846 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,21.5 + parent: 1 + - uid: 9148 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,20.5 + parent: 1 + - uid: 11759 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,20.5 + parent: 1 + - uid: 11761 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,21.5 + parent: 1 + - uid: 11762 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,20.5 + parent: 1 + - uid: 11763 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,21.5 + parent: 1 - proto: CP14CarpetRed entities: - uid: 7247 @@ -38894,6 +38610,12 @@ entities: parent: 1 - proto: CP14ChairWooden entities: + - uid: 6577 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -18.530989,13.612628 + parent: 1 - uid: 7314 components: - type: Transform @@ -38911,18 +38633,6 @@ entities: rot: -1.5707963267948966 rad pos: 3.3535092,13.384851 parent: 1 - - uid: 7317 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 1.6278565,20.430185 - parent: 1 - - uid: 7318 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.4162872,20.677563 - parent: 1 - uid: 7319 components: - type: Transform @@ -39154,6 +38864,12 @@ entities: rot: 3.141592653589793 rad pos: -8.40942,4.6642976 parent: 1 + - uid: 8845 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -20.555626,12.735566 + parent: 1 - uid: 11647 components: - type: Transform @@ -40278,18 +39994,6 @@ entities: rot: -1.5707963267948966 rad pos: -1.439316,22.62645 parent: 1 - - uid: 7555 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.4403806,21.389568 - parent: 1 - - uid: 7556 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5089397,23.222403 - parent: 1 - uid: 7557 components: - type: Transform @@ -41251,6 +40955,16 @@ entities: parent: 1 - proto: CP14FenceBigWooden entities: + - uid: 6576 + components: + - type: Transform + pos: -11.5,12.5 + parent: 1 + - uid: 6748 + components: + - type: Transform + pos: -12.5,12.5 + parent: 1 - uid: 7744 components: - type: Transform @@ -41332,11 +41046,6 @@ entities: rot: -1.5707963267948966 rad pos: 18.5,-7.5 parent: 1 - - uid: 7845 - components: - - type: Transform - pos: -10.5,5.5 - parent: 1 - uid: 7847 components: - type: Transform @@ -41597,6 +41306,11 @@ entities: rot: 3.141592653589793 rad pos: 0.5,-23.5 parent: 1 + - uid: 7950 + components: + - type: Transform + pos: -13.5,12.5 + parent: 1 - uid: 14319 components: - type: Transform @@ -41990,42 +41704,18 @@ entities: rot: -1.5707963267948966 rad pos: -12.5,-29.5 parent: 1 - - uid: 7791 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 6.5,19.5 - parent: 1 - - uid: 7792 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 6.5,20.5 - parent: 1 - uid: 7793 components: - type: Transform rot: -1.5707963267948966 rad pos: -2.5,21.5 parent: 1 - - uid: 7794 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 6.5,21.5 - parent: 1 - uid: 7795 components: - type: Transform rot: -1.5707963267948966 rad pos: -2.5,22.5 parent: 1 - - uid: 7796 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 6.5,22.5 - parent: 1 - uid: 7797 components: - type: Transform @@ -42341,12 +42031,6 @@ entities: rot: 1.5707963267948966 rad pos: 1.5,21.5 parent: 1 - - uid: 7910 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,24.5 - parent: 1 - uid: 7911 components: - type: Transform @@ -42359,12 +42043,6 @@ entities: rot: 1.5707963267948966 rad pos: 1.5,23.5 parent: 1 - - uid: 7913 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,22.5 - parent: 1 - uid: 7914 components: - type: Transform @@ -46748,13 +46426,6 @@ entities: rot: 1.5707963267948966 rad pos: 15.5,-6.5 parent: 1 -- proto: CP14FloraTreeGreen - entities: - - uid: 8717 - components: - - type: Transform - pos: 3.5,22.5 - parent: 1 - proto: CP14FloraTreeGreenLarge entities: - uid: 8719 @@ -47743,6 +47414,12 @@ entities: parent: 1 - proto: CP14LargeWoodenCrateFilled entities: + - uid: 6610 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -15.5,12.5 + parent: 1 - uid: 8905 components: - type: Transform @@ -48861,6 +48538,26 @@ entities: parent: 1 - proto: CP14RandomBushOffsetSpawner entities: + - uid: 6569 + components: + - type: Transform + pos: -10.5,4.5 + parent: 1 + - uid: 7556 + components: + - type: Transform + pos: -10.5,3.5 + parent: 1 + - uid: 7941 + components: + - type: Transform + pos: -10.5,1.5 + parent: 1 + - uid: 8717 + components: + - type: Transform + pos: -10.5,6.5 + parent: 1 - uid: 9060 components: - type: Transform @@ -49236,12 +48933,6 @@ entities: rot: -1.5707963267948966 rad pos: -14.5,-0.5 parent: 1 - - uid: 9148 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -12.5,-0.5 - parent: 1 - uid: 9149 components: - type: Transform @@ -49423,12 +49114,6 @@ entities: rot: -1.5707963267948966 rad pos: 9.5,19.5 parent: 1 - - uid: 9194 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 7.5,21.5 - parent: 1 - uid: 9195 components: - type: Transform @@ -49531,11 +49216,6 @@ entities: rot: -1.5707963267948966 rad pos: -3.5,17.5 parent: 1 - - uid: 9238 - components: - - type: Transform - pos: -11.5,12.5 - parent: 1 - uid: 9243 components: - type: Transform @@ -57302,6 +56982,217 @@ entities: fixtures: {} - proto: CP14RoofWooden entities: + - uid: 12 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,21.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 18 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,20.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6554 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,19.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6575 + components: + - type: Transform + pos: -21.5,12.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6586 + components: + - type: Transform + pos: -19.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6594 + components: + - type: Transform + pos: -18.5,14.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6596 + components: + - type: Transform + pos: -18.5,11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6599 + components: + - type: Transform + pos: -18.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6600 + components: + - type: Transform + pos: -19.5,11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6601 + components: + - type: Transform + pos: -19.5,12.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6602 + components: + - type: Transform + pos: -17.5,11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6621 + components: + - type: Transform + pos: -19.5,14.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 6731 + components: + - type: Transform + pos: -20.5,11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7086 + components: + - type: Transform + pos: -17.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7087 + components: + - type: Transform + pos: -18.5,12.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7091 + components: + - type: Transform + pos: -21.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7092 + components: + - type: Transform + pos: -20.5,12.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7096 + components: + - type: Transform + pos: -20.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7107 + components: + - type: Transform + pos: -17.5,14.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7117 + components: + - type: Transform + pos: -17.5,12.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7118 + components: + - type: Transform + pos: -20.5,14.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7317 + components: + - type: Transform + pos: -21.5,11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7318 + components: + - type: Transform + pos: -16.5,11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7555 + components: + - type: Transform + pos: -21.5,14.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7792 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,20.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7913 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,22.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7940 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,21.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 9047 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 2.5,19.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 9238 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 3.5,22.5 + parent: 1 + - type: Fixtures + fixtures: {} - uid: 9952 components: - type: Transform @@ -65030,6 +64921,22 @@ entities: parent: 1 - type: Fixtures fixtures: {} + - uid: 11124 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,19.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11131 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,20.5 + parent: 1 + - type: Fixtures + fixtures: {} - uid: 11143 components: - type: Transform @@ -66003,6 +65910,233 @@ entities: parent: 1 - type: Fixtures fixtures: {} + - uid: 11333 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,21.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11410 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 4.5,22.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11411 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,19.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11422 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,20.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11592 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,21.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11601 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,22.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11616 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,19.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11617 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,20.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11628 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,21.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11754 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,22.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11764 + components: + - type: Transform + pos: -16.5,12.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11765 + components: + - type: Transform + pos: -16.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11766 + components: + - type: Transform + pos: -16.5,14.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11767 + components: + - type: Transform + pos: -15.5,11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11768 + components: + - type: Transform + pos: -15.5,12.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11769 + components: + - type: Transform + pos: -15.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11770 + components: + - type: Transform + pos: -15.5,14.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11771 + components: + - type: Transform + pos: -14.5,11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11772 + components: + - type: Transform + pos: -14.5,12.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11773 + components: + - type: Transform + pos: -14.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11774 + components: + - type: Transform + pos: -14.5,14.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11775 + components: + - type: Transform + pos: -18.5,16.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11776 + components: + - type: Transform + pos: -18.5,15.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11825 + components: + - type: Transform + pos: -17.5,16.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 14418 + components: + - type: Transform + pos: -17.5,15.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 14831 + components: + - type: Transform + pos: -16.5,16.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 15019 + components: + - type: Transform + pos: -16.5,15.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 15061 + components: + - type: Transform + pos: -15.5,16.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 15090 + components: + - type: Transform + pos: -15.5,15.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 15105 + components: + - type: Transform + pos: -14.5,16.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 15178 + components: + - type: Transform + pos: -14.5,15.5 + parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14Rope entities: - uid: 11273 @@ -66214,6 +66348,18 @@ entities: rot: 1.5707963267948966 rad pos: -17.5,-85.5 parent: 1 +- proto: CP14SackFarmingSeedFull + entities: + - uid: 15063 + components: + - type: Transform + pos: -19.5,-14.5 + parent: 1 + - uid: 15064 + components: + - type: Transform + pos: 14.5,-57.5 + parent: 1 - proto: CP14SafeMerchant1 entities: - uid: 11309 @@ -66361,6 +66507,12 @@ entities: - 8954 - proto: CP14SmallWoodenCrateFilled entities: + - uid: 6584 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -15.5,13.5 + parent: 1 - uid: 11313 components: - type: Transform @@ -66459,11 +66611,6 @@ entities: - type: Transform pos: -3.5,13.5 parent: 1 - - uid: 11333 - components: - - type: Transform - pos: -10.5,4.5 - parent: 1 - uid: 11334 components: - type: Transform @@ -66914,24 +67061,6 @@ entities: - type: Transform pos: 27.5,9.5 parent: 1 -- proto: CP14SpawnUniqueTradepost - entities: - - uid: 11410 - components: - - type: Transform - pos: -25.5,-73.5 - parent: 1 - - uid: 11411 - components: - - type: Transform - pos: 104.5,61.5 - parent: 1 - - uid: 15358 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -12.5,-16.5 - parent: 1 - proto: CP14SpellScrollBloodPurification entities: - uid: 11412 @@ -66996,11 +67125,6 @@ entities: - type: DamagedByContact - proto: CP14SteelBeerMug entities: - - uid: 11422 - components: - - type: Transform - pos: 2.2802398,20.688807 - parent: 1 - uid: 11423 components: - type: Transform @@ -67116,6 +67240,8 @@ entities: - type: Transform pos: 30.419683,4.8695054 parent: 1 + - type: CollisionWake + enabled: False - uid: 11440 components: - type: Transform @@ -67535,6 +67661,16 @@ entities: parent: 1 - proto: CP14TableWoodenCounter entities: + - uid: 6746 + components: + - type: Transform + pos: -20.5,13.5 + parent: 1 + - uid: 7151 + components: + - type: Transform + pos: -19.5,13.5 + parent: 1 - uid: 11512 components: - type: Transform @@ -67988,12 +68124,6 @@ entities: - type: Transform pos: 5.5,16.5 parent: 1 - - uid: 11592 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,20.5 - parent: 1 - uid: 11593 components: - type: Transform @@ -68034,11 +68164,6 @@ entities: - type: Transform pos: -10.5,-23.5 parent: 1 - - uid: 11601 - components: - - type: Transform - pos: -24.5,9.5 - parent: 1 - proto: CP14Target entities: - uid: 11657 @@ -68111,24 +68236,50 @@ entities: - type: Transform pos: 22.65147,-24.178692 parent: 1 -- proto: CP14TradingBoardBase +- proto: CP14TradeContractBradPotions entities: - - uid: 8927 + - uid: 6562 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -12.5,-15.5 + pos: 25.485006,24.530258 parent: 1 - - uid: 11616 +- proto: CP14TradeContractVictoriaGardens + entities: + - uid: 6559 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -26.5,-74.5 + pos: -16.282024,-6.4612765 parent: 1 - - uid: 11617 +- proto: CP14TradingPlatform + entities: + - uid: 7090 components: - type: Transform - pos: 105.5,61.5 + rot: -1.5707963267948966 rad + pos: -17.5,15.5 + parent: 1 + - uid: 7704 + components: + - type: Transform + pos: 5.5,21.5 + parent: 1 +- proto: CP14TradingSellingPlatform + entities: + - uid: 6571 + components: + - type: Transform + pos: 104.5,61.5 + parent: 1 + - uid: 7098 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -15.5,15.5 + parent: 1 + - uid: 7791 + components: + - type: Transform + pos: 3.5,21.5 parent: 1 - proto: CP14VentCritterMarker entities: @@ -68665,6 +68816,16 @@ entities: parent: 1 - proto: CP14WallLeaf entities: + - uid: 7114 + components: + - type: Transform + pos: -10.5,2.5 + parent: 1 + - uid: 7796 + components: + - type: Transform + pos: -8.5,-1.5 + parent: 1 - uid: 11712 components: - type: Transform @@ -69005,6 +69166,13 @@ entities: fixtures: {} - proto: CP14WallmountFlagBank entities: + - uid: 7109 + components: + - type: Transform + pos: -18.5,10.5 + parent: 1 + - type: Fixtures + fixtures: {} - uid: 11785 components: - type: Transform @@ -69033,6 +69201,22 @@ entities: parent: 1 - type: Fixtures fixtures: {} +- proto: CP14WallmountFlagBankCrates + entities: + - uid: 7110 + components: + - type: Transform + pos: -15.5,10.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7116 + components: + - type: Transform + pos: -20.5,10.5 + parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallmountFlagBlacksmith entities: - uid: 11789 @@ -69259,6 +69443,27 @@ entities: fixtures: {} - proto: CP14WallmountLampEmpty entities: + - uid: 6587 + components: + - type: Transform + pos: -16.5,15.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 7097 + components: + - type: Transform + pos: -18.5,13.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 11758 + components: + - type: Transform + pos: 4.5,21.5 + parent: 1 + - type: Fixtures + fixtures: {} - uid: 11819 components: - type: Transform @@ -69303,13 +69508,6 @@ entities: parent: 1 - type: Fixtures fixtures: {} - - uid: 11825 - components: - - type: Transform - pos: 5.5,17.5 - parent: 1 - - type: Fixtures - fixtures: {} - uid: 11826 components: - type: Transform @@ -70136,6 +70334,11 @@ entities: - type: Transform pos: 17.5,40.5 parent: 1 + - uid: 7910 + components: + - type: Transform + pos: 2.5,24.5 + parent: 1 - uid: 8375 components: - type: Transform @@ -70151,6 +70354,21 @@ entities: - type: Transform pos: 15.5,45.5 parent: 1 + - uid: 11755 + components: + - type: Transform + pos: 3.5,23.5 + parent: 1 + - uid: 11756 + components: + - type: Transform + pos: 4.5,23.5 + parent: 1 + - uid: 11757 + components: + - type: Transform + pos: 5.5,23.5 + parent: 1 - uid: 11939 components: - type: Transform @@ -83282,6 +83500,131 @@ entities: parent: 1 - proto: CP14WallWooden entities: + - uid: 6564 + components: + - type: Transform + pos: 3.5,22.5 + parent: 1 + - uid: 6570 + components: + - type: Transform + pos: -18.5,15.5 + parent: 1 + - uid: 6580 + components: + - type: Transform + pos: -14.5,15.5 + parent: 1 + - uid: 6582 + components: + - type: Transform + pos: -20.5,11.5 + parent: 1 + - uid: 6589 + components: + - type: Transform + pos: -14.5,16.5 + parent: 1 + - uid: 6613 + components: + - type: Transform + pos: -18.5,11.5 + parent: 1 + - uid: 6614 + components: + - type: Transform + pos: -15.5,11.5 + parent: 1 + - uid: 6615 + components: + - type: Transform + pos: -21.5,14.5 + parent: 1 + - uid: 6722 + components: + - type: Transform + pos: -21.5,12.5 + parent: 1 + - uid: 6734 + components: + - type: Transform + pos: -14.5,12.5 + parent: 1 + - uid: 6737 + components: + - type: Transform + pos: -18.5,14.5 + parent: 1 + - uid: 6739 + components: + - type: Transform + pos: -14.5,11.5 + parent: 1 + - uid: 7088 + components: + - type: Transform + pos: -21.5,11.5 + parent: 1 + - uid: 7089 + components: + - type: Transform + pos: -21.5,13.5 + parent: 1 + - uid: 7094 + components: + - type: Transform + pos: -18.5,16.5 + parent: 1 + - uid: 7099 + components: + - type: Transform + pos: -17.5,16.5 + parent: 1 + - uid: 7103 + components: + - type: Transform + pos: -16.5,16.5 + parent: 1 + - uid: 7106 + components: + - type: Transform + pos: -15.5,16.5 + parent: 1 + - uid: 7794 + components: + - type: Transform + pos: 2.5,22.5 + parent: 1 + - uid: 7805 + components: + - type: Transform + pos: 4.5,22.5 + parent: 1 + - uid: 7815 + components: + - type: Transform + pos: 5.5,22.5 + parent: 1 + - uid: 7845 + components: + - type: Transform + pos: 6.5,21.5 + parent: 1 + - uid: 7942 + components: + - type: Transform + pos: 6.5,22.5 + parent: 1 + - uid: 8843 + components: + - type: Transform + pos: 2.5,19.5 + parent: 1 + - uid: 8844 + components: + - type: Transform + pos: 2.5,21.5 + parent: 1 - uid: 14358 components: - type: Transform @@ -83662,11 +84005,6 @@ entities: - type: Transform pos: -18.5,-24.5 parent: 1 - - uid: 14418 - components: - - type: Transform - pos: 5.5,18.5 - parent: 1 - uid: 14419 components: - type: Transform @@ -85682,11 +86020,6 @@ entities: layers: - sprite: _CP14/Structures/Wallpaper/wallpaper_bank.rsi state: top - - uid: 14831 - components: - - type: Transform - pos: 3.5,18.5 - parent: 1 - uid: 14832 components: - type: Transform @@ -86092,6 +86425,52 @@ entities: parent: 1 - proto: CP14WindowWooden entities: + - uid: 6579 + components: + - type: Transform + pos: -17.5,11.5 + parent: 1 + - uid: 6593 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,14.5 + parent: 1 + - uid: 6725 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -19.5,14.5 + parent: 1 + - uid: 6726 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -20.5,14.5 + parent: 1 + - uid: 6729 + components: + - type: Transform + pos: -16.5,11.5 + parent: 1 + - uid: 6745 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,13.5 + parent: 1 + - uid: 7897 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,20.5 + parent: 1 + - uid: 8927 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,19.5 + parent: 1 - uid: 14592 components: - type: Transform @@ -86695,11 +87074,6 @@ entities: parent: 1 - proto: CP14WoodenBeerMug entities: - - uid: 15019 - components: - - type: Transform - pos: 2.7414074,20.891205 - parent: 1 - uid: 15020 components: - type: Transform @@ -86918,6 +87292,11 @@ entities: parent: 1 - proto: CP14WoodenChest entities: + - uid: 8998 + components: + - type: Transform + pos: 3.5,18.5 + parent: 1 - uid: 15057 components: - type: Transform @@ -86938,28 +87317,11 @@ entities: - type: Transform pos: 3.5,-6.5 parent: 1 - - uid: 15061 - components: - - type: Transform - pos: 2.5,19.5 - parent: 1 - uid: 15062 components: - type: Transform pos: 20.5,-45.5 parent: 1 -- proto: CP14WoodenChestFilledFarmSeeds - entities: - - uid: 15063 - components: - - type: Transform - pos: -19.5,-14.5 - parent: 1 - - uid: 15064 - components: - - type: Transform - pos: 14.5,-57.5 - parent: 1 - proto: CP14WoodenCloset entities: - uid: 15065 @@ -87103,13 +87465,19 @@ entities: parent: 1 - proto: CP14WoodenClosetMerchantFilled entities: - - uid: 15090 + - uid: 9194 components: - type: Transform - pos: 3.5,17.5 + rot: -1.5707963267948966 rad + pos: 5.5,18.5 parent: 1 - proto: CP14WoodenDoor entities: + - uid: 6612 + components: + - type: Transform + pos: -19.5,11.5 + parent: 1 - uid: 15091 components: - type: Transform @@ -87197,10 +87565,11 @@ entities: parent: 1 - proto: CP14WoodenDoorMerchantShopMirrored1 entities: - - uid: 15105 + - uid: 9091 components: - type: Transform - pos: 4.5,18.5 + rot: -1.5707963267948966 rad + pos: 2.5,20.5 parent: 1 - uid: 15106 components: diff --git a/Resources/Maps/_CP14/comoss_d.yml b/Resources/Maps/_CP14/comoss_d.yml index 00e74a2e6b..9d7e15bf70 100644 --- a/Resources/Maps/_CP14/comoss_d.yml +++ b/Resources/Maps/_CP14/comoss_d.yml @@ -1,11 +1,11 @@ meta: format: 7 category: Map - engineVersion: 251.0.0 + engineVersion: 255.1.0 forkId: "" forkVersion: "" - time: 04/26/2025 08:35:07 - entityCount: 23369 + time: 05/28/2025 20:50:45 + entityCount: 23357 maps: - 1 grids: @@ -81,7 +81,7 @@ entities: version: 6 0,-1: ind: 0,-1 - tiles: CQAAAAAFMQAAAAAHCQAAAAAICQAAAAAJCQAAAAALCQAAAAABCQAAAAAACQAAAAABCQAAAAAACQAAAAACCQAAAAAFCQAAAAAMCQAAAAALCQAAAAAMCQAAAAAACQAAAAAACQAAAAADCQAAAAAACQAAAAAECQAAAAAKCQAAAAABCQAAAAAFCQAAAAAFCQAAAAAHCQAAAAAJCQAAAAAJCQAAAAAFCQAAAAAKCQAAAAAICQAAAAAECQAAAAAACQAAAAAACQAAAAALCQAAAAAGCQAAAAAHCQAAAAACCQAAAAAGCQAAAAAMCQAAAAACCQAAAAABCQAAAAAECQAAAAADCQAAAAAACQAAAAAHCQAAAAAMCQAAAAAGCQAAAAAECQAAAAAACQAAAAAACQAAAAAACQAAAAAECQAAAAAFCQAAAAAMCQAAAAAICQAAAAAICQAAAAAJCQAAAAACCQAAAAAKCQAAAAANCQAAAAAFCQAAAAAGCQAAAAAMCQAAAAAACQAAAAAECQAAAAAACQAAAAAACQAAAAALCQAAAAAACQAAAAAFCQAAAAAKCQAAAAACCQAAAAACCQAAAAABCQAAAAADCQAAAAADCQAAAAACCQAAAAAACQAAAAAECQAAAAAECQAAAAAMCQAAAAAACQAAAAAACQAAAAAMCQAAAAAJCQAAAAAJCQAAAAAKCQAAAAAFCQAAAAACCQAAAAAHCQAAAAAGCQAAAAAGCQAAAAALCQAAAAANCQAAAAAKCQAAAAABCQAAAAAECQAAAAAACQAAAAAACQAAAAANCQAAAAAECQAAAAAFCQAAAAACCQAAAAAMCQAAAAALCQAAAAAKCQAAAAADCQAAAAABCQAAAAAKCQAAAAAFCQAAAAANCQAAAAAECQAAAAAHCQAAAAAACQAAAAAACQAAAAAFCQAAAAAKCQAAAAABCQAAAAAKCQAAAAAKCQAAAAAMCQAAAAAICQAAAAAKCQAAAAANCQAAAAAFCQAAAAALCQAAAAACCQAAAAAKCQAAAAAFCQAAAAAMCQAAAAAICQAAAAAACQAAAAAACQAAAAAHCQAAAAAACQAAAAADCQAAAAAJCQAAAAAKCQAAAAAICQAAAAAKCQAAAAACCQAAAAAJCQAAAAAACQAAAAANCQAAAAANCQAAAAAACQAAAAAGCQAAAAAKIAAAAAABIAAAAAADIAAAAAACIAAAAAAAIAAAAAADCQAAAAADCQAAAAAKCQAAAAALCQAAAAAKCQAAAAALCQAAAAAICQAAAAALCQAAAAAFCQAAAAAHCQAAAAAJCQAAAAAFIAAAAAAAIAAAAAABIAAAAAABIAAAAAACIAAAAAAACQAAAAANCQAAAAAKCQAAAAANCQAAAAAHCQAAAAACCQAAAAAICQAAAAAMCQAAAAADCQAAAAADCQAAAAABCQAAAAAHIAAAAAACIAAAAAABIAAAAAACIAAAAAACIAAAAAABCQAAAAALCQAAAAAKCQAAAAAMCQAAAAACCQAAAAAFCQAAAAAFCQAAAAAECQAAAAAICQAAAAAICQAAAAACCQAAAAACIAAAAAABIAAAAAAAIAAAAAACIAAAAAABIAAAAAACCQAAAAADCQAAAAAICQAAAAABCQAAAAACCQAAAAAHCQAAAAAKCQAAAAANCQAAAAAJCQAAAAADCQAAAAABCQAAAAAIIAAAAAADIAAAAAACIAAAAAACMwAAAAAAIAAAAAADCQAAAAAFCQAAAAAECQAAAAAACQAAAAALCQAAAAABCQAAAAALCQAAAAAMCQAAAAAECQAAAAAKCQAAAAACCQAAAAAAIAAAAAAAIAAAAAAAIAAAAAADIAAAAAAAIAAAAAACCQAAAAAHCQAAAAANCQAAAAANCQAAAAAMCQAAAAALCQAAAAAHCQAAAAACCQAAAAAICQAAAAADCQAAAAAMCQAAAAADCQAAAAAMCQAAAAAACQAAAAACCQAAAAADCQAAAAAJCQAAAAAHCQAAAAAECQAAAAAMCQAAAAACCQAAAAALCQAAAAAECQAAAAAACQAAAAAN + tiles: CQAAAAAFMQAAAAAHCQAAAAAICQAAAAAJCQAAAAALCQAAAAABCQAAAAAACQAAAAABCQAAAAAACQAAAAACCQAAAAAFCQAAAAAMCQAAAAALCQAAAAAMCQAAAAAACQAAAAAACQAAAAADCQAAAAAACQAAAAAECQAAAAAKCQAAAAABCQAAAAAFCQAAAAAFCQAAAAAHCQAAAAAJCQAAAAAJCQAAAAAFCQAAAAAKCQAAAAAICQAAAAAECQAAAAAACQAAAAAACQAAAAALCQAAAAAGCQAAAAAHCQAAAAACCQAAAAAGCQAAAAAMCQAAAAACCQAAAAABCQAAAAAECQAAAAADCQAAAAAACQAAAAAHCQAAAAAMCQAAAAAGCQAAAAAECQAAAAAACQAAAAAACQAAAAAACQAAAAAECQAAAAAFCQAAAAAMCQAAAAAICQAAAAAICQAAAAAJCQAAAAACCQAAAAAKCQAAAAANCQAAAAAFCQAAAAAGCQAAAAAMCQAAAAAACQAAAAAECQAAAAAACQAAAAAACQAAAAALCQAAAAAACQAAAAAFCQAAAAAKCQAAAAACCQAAAAACCQAAAAABCQAAAAADCQAAAAADCQAAAAACCQAAAAAACQAAAAAECQAAAAAECQAAAAAMCQAAAAAACQAAAAAACQAAAAAMCQAAAAAJCQAAAAAJCQAAAAAKCQAAAAAFCQAAAAACCQAAAAAHCQAAAAAGCQAAAAAGCQAAAAALCQAAAAANCQAAAAAKCQAAAAABCQAAAAAECQAAAAAACQAAAAAACQAAAAANCQAAAAAECQAAAAAFCQAAAAACCQAAAAAMCQAAAAALCQAAAAAKCQAAAAADCQAAAAABCQAAAAAKCQAAAAAFCQAAAAANCQAAAAAECQAAAAAHCQAAAAAACQAAAAAACQAAAAAFCQAAAAAKCQAAAAABCQAAAAAKCQAAAAAKCQAAAAAMCQAAAAAICQAAAAAKCQAAAAANCQAAAAAFCQAAAAALCQAAAAACCQAAAAAKCQAAAAAFCQAAAAAMCQAAAAAICQAAAAAACQAAAAAACQAAAAAHCQAAAAAACQAAAAADCQAAAAAJCQAAAAAKCQAAAAAICQAAAAAKCQAAAAACCQAAAAAJCQAAAAAACQAAAAANCQAAAAANCQAAAAAACQAAAAAGCQAAAAAKIAAAAAABIAAAAAADIAAAAAACIAAAAAAAIAAAAAADIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAACQAAAAALCQAAAAAICQAAAAALCQAAAAAFCQAAAAAHCQAAAAAJCQAAAAAFIAAAAAAAIAAAAAABIAAAAAABIAAAAAACIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAACQAAAAACCQAAAAAICQAAAAAMCQAAAAADCQAAAAADCQAAAAABCQAAAAAHIAAAAAACIAAAAAABIAAAAAACIAAAAAACIAAAAAABIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAACQAAAAAFCQAAAAAFCQAAAAAECQAAAAAICQAAAAAICQAAAAACCQAAAAACIAAAAAABIAAAAAAAIAAAAAACIAAAAAABIAAAAAACIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAACQAAAAAHCQAAAAAKCQAAAAANCQAAAAAJCQAAAAADCQAAAAABCQAAAAAIIAAAAAADIAAAAAACIAAAAAACMwAAAAAAIAAAAAADIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAACQAAAAABCQAAAAALCQAAAAAMCQAAAAAECQAAAAAKCQAAAAACCQAAAAAAIAAAAAAAIAAAAAAAIAAAAAADIAAAAAAAIAAAAAACCQAAAAAHCQAAAAANCQAAAAANCQAAAAAMCQAAAAALCQAAAAAHCQAAAAACCQAAAAAICQAAAAADCQAAAAAMCQAAAAADCQAAAAAMCQAAAAAACQAAAAACCQAAAAADCQAAAAAJCQAAAAAHCQAAAAAECQAAAAAMCQAAAAACCQAAAAALCQAAAAAECQAAAAAACQAAAAAN version: 6 -1,-1: ind: -1,-1 @@ -563,7 +563,16 @@ entities: inherent: True enabled: True - type: Biome + forcedMarkerLayers: [] + markerLayers: [] + loadedMarkers: {} + pendingMarkers: {} + loadedChunks: [] + entities: {} + decals: {} + modifiedTiles: {} template: CP14CavesIndestructibleFill + layers: [] - type: DecalGrid chunkCollection: version: 2 @@ -4499,12 +4508,6 @@ entities: - type: Transform pos: 15.5,1.5 parent: 1 - - uid: 772 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 11.5,-6.5 - parent: 1 - uid: 773 components: - type: Transform @@ -16487,16 +16490,6 @@ entities: - type: Transform pos: 9.5,6.5 parent: 1 - - uid: 3162 - components: - - type: Transform - pos: 9.5,-2.5 - parent: 1 - - uid: 3163 - components: - - type: Transform - pos: 9.5,-3.5 - parent: 1 - uid: 3164 components: - type: Transform @@ -16549,18 +16542,6 @@ entities: - type: Transform pos: 23.5,-12.5 parent: 1 - - uid: 3174 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 10.5,-6.5 - parent: 1 - - uid: 3175 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 10.5,-5.5 - parent: 1 - uid: 3176 components: - type: Transform @@ -19451,11 +19432,6 @@ entities: - type: Transform pos: 23.5,-19.5 parent: 1 - - uid: 3751 - components: - - type: Transform - pos: 10.5,-4.5 - parent: 1 - uid: 3752 components: - type: Transform @@ -19481,16 +19457,6 @@ entities: - type: Transform pos: 7.5,1.5 parent: 1 - - uid: 3757 - components: - - type: Transform - pos: 10.5,-2.5 - parent: 1 - - uid: 3758 - components: - - type: Transform - pos: 10.5,-3.5 - parent: 1 - uid: 3759 components: - type: Transform @@ -21959,26 +21925,11 @@ entities: - type: Transform pos: 19.5,-9.5 parent: 1 - - uid: 4252 - components: - - type: Transform - pos: 9.5,-4.5 - parent: 1 - uid: 4253 components: - type: Transform pos: 10.5,19.5 parent: 1 - - uid: 4254 - components: - - type: Transform - pos: 9.5,-5.5 - parent: 1 - - uid: 4255 - components: - - type: Transform - pos: 9.5,-6.5 - parent: 1 - uid: 4256 components: - type: Transform @@ -22024,11 +21975,6 @@ entities: - type: Transform pos: 12.5,18.5 parent: 1 - - uid: 4265 - components: - - type: Transform - pos: 11.5,-3.5 - parent: 1 - uid: 4266 components: - type: Transform @@ -22065,16 +22011,6 @@ entities: - type: Transform pos: 11.5,-12.5 parent: 1 - - uid: 4273 - components: - - type: Transform - pos: 11.5,-2.5 - parent: 1 - - uid: 4274 - components: - - type: Transform - pos: 11.5,-4.5 - parent: 1 - uid: 4275 components: - type: Transform @@ -22111,12 +22047,6 @@ entities: - type: Transform pos: 12.5,6.5 parent: 1 - - uid: 4282 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 11.5,-5.5 - parent: 1 - uid: 4283 components: - type: Transform @@ -99241,11 +99171,6 @@ entities: - type: Transform pos: 4.5,-4.5 parent: 1 - - uid: 19605 - components: - - type: Transform - pos: 4.5,-3.5 - parent: 1 - uid: 19606 components: - type: Transform @@ -99256,11 +99181,6 @@ entities: - type: Transform pos: 5.5,-4.5 parent: 1 - - uid: 19608 - components: - - type: Transform - pos: 5.5,-3.5 - parent: 1 - uid: 19609 components: - type: Transform @@ -99271,10 +99191,15 @@ entities: - type: Transform pos: 6.5,-4.5 parent: 1 - - uid: 19611 + - uid: 22528 components: - type: Transform - pos: 6.5,-3.5 + pos: 7.5,-4.5 + parent: 1 + - uid: 22558 + components: + - type: Transform + pos: 7.5,-5.5 parent: 1 - proto: CP14Cauldron entities: @@ -100185,44 +100110,6 @@ entities: noRot: True pos: -18.5,-7.5 parent: 1 -- proto: CP14CrystalAir - entities: - - uid: 19774 - components: - - type: Transform - pos: -56.469738,-3.527388 - parent: 1 - - uid: 19775 - components: - - type: Transform - pos: -52.500988,-24.52063 - parent: 1 -- proto: CP14CrystalChaos - entities: - - uid: 19776 - components: - - type: Transform - pos: -51.610363,-28.736225 - parent: 1 -- proto: CP14CrystalEmpty - entities: - - uid: 19777 - components: - - type: Transform - pos: 27.620623,-28.595926 - parent: 1 - - uid: 19778 - components: - - type: Transform - pos: 32.573746,-31.736551 - parent: 1 -- proto: CP14CrystalFire - entities: - - uid: 19779 - components: - - type: Transform - pos: -54.563488,-6.6640997 - parent: 1 - proto: CP14CrystalLampBlueEmpty entities: - uid: 19781 @@ -100241,8 +100128,38 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage -- proto: CP14CrystalOrder +- proto: CP14CrystalQuartz entities: + - uid: 19774 + components: + - type: Transform + pos: -56.469738,-3.527388 + parent: 1 + - uid: 19775 + components: + - type: Transform + pos: -52.500988,-24.52063 + parent: 1 + - uid: 19776 + components: + - type: Transform + pos: -51.610363,-28.736225 + parent: 1 + - uid: 19777 + components: + - type: Transform + pos: 27.620623,-28.595926 + parent: 1 + - uid: 19778 + components: + - type: Transform + pos: 32.573746,-31.736551 + parent: 1 + - uid: 19779 + components: + - type: Transform + pos: -54.563488,-6.6640997 + parent: 1 - uid: 19783 components: - type: Transform @@ -100253,8 +100170,6 @@ entities: - type: Transform pos: 31.448748,-28.861551 parent: 1 -- proto: CP14CrystalWater - entities: - uid: 19785 components: - type: Transform @@ -100315,6 +100230,18 @@ entities: rot: 3.141592653589793 rad pos: -70.899994,32.127666 parent: 1 +- proto: CP14EnergyCrystalMedium + entities: + - uid: 19799 + components: + - type: Transform + pos: 52.197514,-16.246778 + parent: 1 + - uid: 19800 + components: + - type: Transform + pos: 52.416264,-16.199903 + parent: 1 - proto: CP14EnergyCrystalMediumEmpty entities: - uid: 19797 @@ -100331,20 +100258,6 @@ entities: - type: Physics canCollide: False - type: InsideEntityStorage -- proto: CP14EnergyCrystalSmall - entities: - - uid: 19799 - components: - - type: Transform - pos: 52.197514,-16.246778 - parent: 1 - - uid: 19800 - components: - - type: Transform - pos: 52.416264,-16.199903 - parent: 1 -- proto: CP14EnergyCrystalSmallEmpty - entities: - uid: 19802 components: - type: Transform @@ -100425,7 +100338,7 @@ entities: rot: -1.5707963267948966 rad pos: -49.5,-71.5 parent: 1 -- proto: CP14FenceGateBigIronGuard +- proto: CP14FenceGateBigIronGuardBarracks entities: - uid: 19809 components: @@ -100452,12 +100365,6 @@ entities: rot: 3.141592653589793 rad pos: 9.5,15.5 parent: 1 - - uid: 19830 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 6.5,-3.5 - parent: 1 - uid: 19831 components: - type: Transform @@ -100481,6 +100388,18 @@ entities: rot: 3.141592653589793 rad pos: -9.5,-18.5 parent: 1 +- proto: CP14FloorTorchAlwaysPowered + entities: + - uid: 772 + components: + - type: Transform + pos: 2.5,-18.5 + parent: 1 + - uid: 3162 + components: + - type: Transform + pos: -3.5,-12.5 + parent: 1 - proto: CP14FloorWater entities: - uid: 19835 @@ -104396,7 +104315,7 @@ entities: - type: Transform pos: 76.5,31.5 parent: 1 -- proto: CP14IronDoorGuard +- proto: CP14IronDoorGuardBarracks entities: - uid: 20617 components: @@ -104474,6 +104393,18 @@ entities: rot: 3.141592653589793 rad pos: 79.5,24.5 parent: 1 + - uid: 20633 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 13.5,-18.5 + parent: 1 + - uid: 20635 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 13.5,-17.5 + parent: 1 - proto: CP14IronDoorWindowed entities: - uid: 20630 @@ -104494,14 +104425,6 @@ entities: rot: 3.141592653589793 rad pos: 41.5,-17.5 parent: 1 -- proto: CP14IronDoorWindowedGuardEntrance - entities: - - uid: 20633 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 13.5,-18.5 - parent: 1 - proto: CP14IronDoorWindowedMirrored entities: - uid: 20634 @@ -104510,14 +104433,6 @@ entities: rot: 1.5707963267948966 rad pos: 50.5,-14.5 parent: 1 -- proto: CP14IronDoorWindowedMirroredGuardEntrance - entities: - - uid: 20635 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 13.5,-17.5 - parent: 1 - proto: CP14LargeWoodenCrate entities: - uid: 20636 @@ -105030,18 +104945,6 @@ entities: - type: Transform pos: 70.90815,33.558662 parent: 1 -- proto: CP14Nail1 - entities: - - uid: 20665 - components: - - type: Transform - pos: 10.679166,-34.388634 - parent: 1 - - uid: 20666 - components: - - type: Transform - pos: 10.158333,-34.388634 - parent: 1 - proto: CP14OreCopper1 entities: - uid: 20668 @@ -105361,6 +105264,34 @@ entities: parent: 1 - proto: CP14RoofStone entities: + - uid: 3751 + components: + - type: Transform + pos: 53.5,-11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 3757 + components: + - type: Transform + pos: 52.5,-11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 3758 + components: + - type: Transform + pos: 51.5,-11.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 4252 + components: + - type: Transform + pos: 50.5,-11.5 + parent: 1 + - type: Fixtures + fixtures: {} - uid: 20718 components: - type: Transform @@ -110946,6 +110877,69 @@ entities: fixtures: {} - proto: CP14RoofWooden entities: + - uid: 4254 + components: + - type: Transform + pos: 11.5,-2.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 4255 + components: + - type: Transform + pos: 11.5,-3.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 4265 + components: + - type: Transform + pos: 11.5,-4.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 4273 + components: + - type: Transform + pos: 11.5,-5.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 4274 + components: + - type: Transform + pos: 11.5,-6.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 4282 + components: + - type: Transform + pos: 10.5,-2.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 19605 + components: + - type: Transform + pos: 10.5,-3.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 19608 + components: + - type: Transform + pos: 10.5,-4.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 20665 + components: + - type: Transform + pos: 9.5,-6.5 + parent: 1 + - type: Fixtures + fixtures: {} - uid: 21431 components: - type: Transform @@ -114823,6 +114817,83 @@ entities: parent: 1 - type: Fixtures fixtures: {} + - uid: 22179 + components: + - type: Transform + pos: 8.5,-2.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22181 + components: + - type: Transform + pos: 9.5,-4.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22184 + components: + - type: Transform + pos: 9.5,-5.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22191 + components: + - type: Transform + pos: 8.5,-6.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22192 + components: + - type: Transform + pos: 8.5,-5.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22193 + components: + - type: Transform + pos: 8.5,-4.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22194 + components: + - type: Transform + pos: 8.5,-3.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22195 + components: + - type: Transform + pos: 9.5,-2.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22197 + components: + - type: Transform + pos: 9.5,-3.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22485 + components: + - type: Transform + pos: 10.5,-5.5 + parent: 1 + - type: Fixtures + fixtures: {} + - uid: 22496 + components: + - type: Transform + pos: 10.5,-6.5 + parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14RoyalPumpkin entities: - uid: 21929 @@ -115263,13 +115334,6 @@ entities: - type: Transform pos: 56.5,55.5 parent: 1 -- proto: CP14SpawnUniqueTradepost - entities: - - uid: 22010 - components: - - type: Transform - pos: 51.5,-12.5 - parent: 1 - proto: CP14SpellScrollDemiplaneInfiltration entities: - uid: 22011 @@ -115676,13 +115740,35 @@ entities: - type: Transform pos: 36.87656,39.215775 parent: 1 -- proto: CP14TradingBoardBase +- proto: CP14TradingPlatform entities: - - uid: 22083 + - uid: 3163 + components: + - type: Transform + pos: -4.5,-13.5 + parent: 1 + - uid: 3175 components: - type: Transform pos: 52.5,-12.5 parent: 1 + - uid: 22199 + components: + - type: Transform + pos: 10.5,-3.5 + parent: 1 +- proto: CP14TradingSellingPlatform + entities: + - uid: 3174 + components: + - type: Transform + pos: -0.5,-14.5 + parent: 1 + - uid: 22010 + components: + - type: Transform + pos: 8.5,-3.5 + parent: 1 - proto: CP14VialSmall entities: - uid: 22084 @@ -116251,140 +116337,6 @@ entities: - type: Transform pos: -44.5,-76.5 parent: 1 -- proto: CP14WallmountCrystalAmethysts - entities: - - uid: 22178 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -53.5,-22.5 - parent: 1 - - uid: 22179 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 10.5,-44.5 - parent: 1 - - uid: 22181 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,-20.5 - parent: 1 - - uid: 22184 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,-14.5 - parent: 1 - - uid: 22185 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,-15.5 - parent: 1 - - uid: 22186 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,-20.5 - parent: 1 - - uid: 22188 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-20.5 - parent: 1 - - uid: 22189 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,-19.5 - parent: 1 - - uid: 22190 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -47.5,-70.5 - parent: 1 -- proto: CP14WallmountCrystalDiamonds - entities: - - uid: 22191 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 12.5,-48.5 - parent: 1 - - uid: 22192 - components: - - type: Transform - pos: -48.5,-70.5 - parent: 1 - - uid: 22193 - components: - - type: Transform - pos: -47.5,-70.5 - parent: 1 - - uid: 22194 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -55.5,-16.5 - parent: 1 -- proto: CP14WallmountCrystalEmeralds - entities: - - uid: 22195 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 10.5,-46.5 - parent: 1 -- proto: CP14WallmountCrystalRubies - entities: - - uid: 22196 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 14.5,-45.5 - parent: 1 - - uid: 22197 - components: - - type: Transform - pos: -58.5,-2.5 - parent: 1 -- proto: CP14WallmountCrystalSapphires - entities: - - uid: 22198 - components: - - type: Transform - pos: 14.5,-43.5 - parent: 1 - - uid: 22199 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -59.5,-34.5 - parent: 1 - - uid: 22200 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -69.5,-3.5 - parent: 1 -- proto: CP14WallmountCrystalTopazes - entities: - - uid: 22201 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 13.5,-47.5 - parent: 1 - - uid: 22202 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -51.5,-30.5 - parent: 1 - proto: CP14WallmountGarlandPurple entities: - uid: 22203 @@ -116643,6 +116595,13 @@ entities: parent: 1 - type: Fixtures fixtures: {} + - uid: 22383 + components: + - type: Transform + pos: 9.5,-3.5 + parent: 1 + - type: Fixtures + fixtures: {} - proto: CP14WallmountPaintingCandle entities: - uid: 22238 @@ -117037,6 +116996,21 @@ entities: - type: Transform pos: -1.5,-7.5 parent: 1 + - uid: 22196 + components: + - type: Transform + pos: 6.5,-0.5 + parent: 1 + - uid: 22200 + components: + - type: Transform + pos: 5.5,-0.5 + parent: 1 + - uid: 22201 + components: + - type: Transform + pos: 4.5,-0.5 + parent: 1 - uid: 22204 components: - type: Transform @@ -117712,11 +117686,6 @@ entities: - type: Transform pos: 0.5,-21.5 parent: 1 - - uid: 22383 - components: - - type: Transform - pos: 8.5,-5.5 - parent: 1 - uid: 22384 components: - type: Transform @@ -118202,31 +118171,11 @@ entities: - type: Transform pos: 8.5,-0.5 parent: 1 - - uid: 22481 - components: - - type: Transform - pos: 6.5,-0.5 - parent: 1 - uid: 22482 components: - type: Transform pos: 8.5,-1.5 parent: 1 - - uid: 22483 - components: - - type: Transform - pos: 8.5,-4.5 - parent: 1 - - uid: 22484 - components: - - type: Transform - pos: 8.5,-2.5 - parent: 1 - - uid: 22485 - components: - - type: Transform - pos: 8.5,-3.5 - parent: 1 - uid: 22486 components: - type: Transform @@ -118277,16 +118226,6 @@ entities: - type: Transform pos: 7.5,-15.5 parent: 1 - - uid: 22496 - components: - - type: Transform - pos: 5.5,-0.5 - parent: 1 - - uid: 22497 - components: - - type: Transform - pos: 4.5,-0.5 - parent: 1 - uid: 22498 components: - type: Transform @@ -118437,11 +118376,6 @@ entities: - type: Transform pos: 17.5,-14.5 parent: 1 - - uid: 22528 - components: - - type: Transform - pos: 8.5,-7.5 - parent: 1 - uid: 22529 components: - type: Transform @@ -118587,11 +118521,6 @@ entities: - type: Transform pos: 11.5,-14.5 parent: 1 - - uid: 22558 - components: - - type: Transform - pos: 8.5,-6.5 - parent: 1 - uid: 22559 components: - type: Transform @@ -121004,6 +120933,76 @@ entities: parent: 1 - proto: CP14WallWooden entities: + - uid: 19611 + components: + - type: Transform + pos: 10.5,-2.5 + parent: 1 + - uid: 19830 + components: + - type: Transform + pos: 10.5,-6.5 + parent: 1 + - uid: 20666 + components: + - type: Transform + pos: 9.5,-2.5 + parent: 1 + - uid: 22178 + components: + - type: Transform + pos: 11.5,-6.5 + parent: 1 + - uid: 22185 + components: + - type: Transform + pos: 8.5,-2.5 + parent: 1 + - uid: 22186 + components: + - type: Transform + pos: 11.5,-4.5 + parent: 1 + - uid: 22188 + components: + - type: Transform + pos: 11.5,-5.5 + parent: 1 + - uid: 22189 + components: + - type: Transform + pos: 11.5,-3.5 + parent: 1 + - uid: 22190 + components: + - type: Transform + pos: 11.5,-2.5 + parent: 1 + - uid: 22198 + components: + - type: Transform + pos: 9.5,-6.5 + parent: 1 + - uid: 22481 + components: + - type: Transform + pos: 6.5,-1.5 + parent: 1 + - uid: 22483 + components: + - type: Transform + pos: 4.5,-1.5 + parent: 1 + - uid: 22484 + components: + - type: Transform + pos: 5.5,-1.5 + parent: 1 + - uid: 22497 + components: + - type: Transform + pos: 8.5,-6.5 + parent: 1 - uid: 23059 components: - type: Transform @@ -121064,11 +121063,6 @@ entities: - type: Transform pos: 11.5,-35.5 parent: 1 - - uid: 23071 - components: - - type: Transform - pos: 4.5,-1.5 - parent: 1 - uid: 23072 components: - type: Transform @@ -121134,11 +121128,6 @@ entities: - type: Transform pos: 9.5,-32.5 parent: 1 - - uid: 23085 - components: - - type: Transform - pos: 5.5,-1.5 - parent: 1 - uid: 23086 components: - type: Transform @@ -121289,11 +121278,6 @@ entities: - type: Transform pos: -18.5,-14.5 parent: 1 - - uid: 23116 - components: - - type: Transform - pos: 6.5,-1.5 - parent: 1 - uid: 23117 components: - type: Transform @@ -121624,21 +121608,6 @@ entities: - type: Transform pos: 21.5,14.5 parent: 1 - - uid: 23183 - components: - - type: Transform - pos: 7.5,-5.5 - parent: 1 - - uid: 23184 - components: - - type: Transform - pos: 7.5,-4.5 - parent: 1 - - uid: 23185 - components: - - type: Transform - pos: 7.5,-3.5 - parent: 1 - uid: 23186 components: - type: Transform @@ -122533,11 +122502,10 @@ entities: parent: 1 - proto: CP14WoodenCabinetMerchant entities: - - uid: 23334 + - uid: 23071 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-3.5 + pos: 7.5,-3.5 parent: 1 - uid: 23335 components: @@ -122626,6 +122594,16 @@ entities: showEnts: False occludes: True ent: null + - uid: 22083 + components: + - type: Transform + pos: 9.5,-5.5 + parent: 1 + - uid: 22202 + components: + - type: Transform + pos: 10.5,-5.5 + parent: 1 - uid: 23336 components: - type: Transform @@ -122641,71 +122619,16 @@ entities: - type: Transform pos: -13.5,-31.5 parent: 1 - - uid: 23339 - components: - - type: Transform - pos: 6.5,-5.5 - parent: 1 - uid: 23340 components: - type: Transform pos: -3.5,6.5 parent: 1 - - uid: 23341 - components: - - type: Transform - pos: 6.5,-4.5 - parent: 1 - uid: 23342 components: - type: Transform pos: 23.5,1.5 parent: 1 -- proto: CP14WoodenChestFilledAlchemy - entities: - - uid: 23343 - components: - - type: Transform - pos: -47.5,-73.5 - parent: 1 -- proto: CP14WoodenChestFilledCheese - entities: - - uid: 23344 - components: - - type: Transform - pos: 85.5,30.5 - parent: 1 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14673 - moles: - - 1.7459903 - - 6.568249 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: CP14WoodenChestFrame - entities: - - uid: 23345 - components: - - type: Transform - pos: 10.5,-34.5 - parent: 1 - - uid: 23346 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 32.5,54.5 - parent: 1 - proto: CP14WoodenCloset entities: - uid: 23347 diff --git a/Resources/Prototypes/Reagents/Consumable/Food/food.yml b/Resources/Prototypes/Reagents/Consumable/Food/food.yml index e2897c4386..e78b4d2c56 100644 --- a/Resources/Prototypes/Reagents/Consumable/Food/food.yml +++ b/Resources/Prototypes/Reagents/Consumable/Food/food.yml @@ -20,7 +20,7 @@ amount: 1.5 - !type:PlantAdjustHealth amount: 0.75 - pricePerUnit: 2 + pricePerUnit: 0.2 - type: reagent id: Vitamin #Anything "healthy" @@ -53,7 +53,7 @@ amount: 0.5 - !type:PlantAdjustHealth amount: 1.5 - pricePerUnit: 2.5 + pricePerUnit: 0.25 - type: reagent id: Protein #Meat and beans @@ -78,7 +78,7 @@ - !type:OrganType type: CP14Vampire shouldHave: false - pricePerUnit: 3 + pricePerUnit: 0.3 - type: reagent id: Sugar #Candy and grains diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/buy.yml deleted file mode 100644 index 2b12711323..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/buy.yml +++ /dev/null @@ -1,275 +0,0 @@ -- type: storePositionBuy - id: AlchemyVials - code: VIALS - price: 40 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_medium.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledAlchemy - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledAlchemy - name: alchemical vials chest - components: - - type: StorageFill - contents: - - id: CP14VialTiny - amount: 5 - - id: CP14VialSmall - amount: 5 - - id: CP14VialMedium - amount: 5 - - id: CP14GlassShard #Lol. Something broken - prob: 0.2 - - -- type: storePositionBuy - id: CP14VialSmallHealingBrute - code: HEAL_BRUTE - price: 50 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmallHealingBrute - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmallHealingBrute - name: healing potions chest - components: - - type: StorageFill - contents: - - id: CP14VialSmallHealingBrute - amount: 5 - - -- type: storePositionBuy - id: CP14VialSmallHealingPoison - code: HEAL_POISON - price: 50 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmallHealingPoison - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmallHealingPoison - name: antidote potions chest - components: - - type: StorageFill - contents: - - id: CP14VialSmallHealingPoison - amount: 5 - - -- type: storePositionBuy - id: CP14VialSmallHealingAirloss - code: HEAL_AIRLOSS - price: 50 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmallHealingAirloss - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmallHealingAirloss - name: airloss healing potions chest - components: - - type: StorageFill - contents: - - id: CP14VialSmallHealingAirloss - amount: 5 - - -- type: storePositionBuy - id: CP14VialSmallHealingBlood - code: HEAL_BLOOD - price: 50 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmallHealingBlood - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmallHealingBlood - name: blood restoration potions chest - components: - - type: StorageFill - contents: - - id: CP14VialSmallHealingBlood - amount: 5 - - -- type: storePositionBuy - id: CP14VialSmallHealingMana - code: HEAL_MANA - price: 70 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmallHealingMana - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmallHealingMana - name: mana potions chest - components: - - type: StorageFill - contents: - - id: CP14VialSmallHealingMana - amount: 5 - -- type: storePositionBuy - id: CP14VialSmallHealingManaDepletion - code: HEAL_MANA_DEPLETION - price: 70 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmallHealingManaDepletion - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmallHealingManaDepletion - name: mana-depletion potions chest - components: - - type: StorageFill - contents: - - id: CP14VialSmallHealingManaDepletion - amount: 5 - - -- type: storePositionBuy - id: CP14VialSmallSpeedUp - code: SPEED_UP - price: 70 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmallSpeedUp - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmallSpeedUp - name: accseleration potions chest - components: - - type: StorageFill - contents: - - id: CP14VialSmallSpeedUp - amount: 5 - - -- type: storePositionBuy - id: CP14VialSmallRainbow - code: FUNNY_POTION - price: 100 - iconOverride: - sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi - state: vial - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmallRainbow - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmallRainbow - name: funny potions chest - components: - - type: StorageFill - contents: - - id: CP14VialSmallRainbow - amount: 5 - - -- type: storePositionBuy - id: Candles - code: CANDLES - price: 100 - iconOverride: - sprite: Objects/Misc/candles.rsi - state: loadout - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledCandles - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledCandles - name: candles chest - components: - - type: StorageFill - contents: - - id: CP14CandleRed - amount: 2 - - id: CP14CandleBlue - amount: 2 - - id: CP14CandleBlack - amount: 2 - - id: CP14CandleGreen - amount: 2 - - id: CP14CandlePurple - amount: 2 - - id: CP14CandleRedSmall - amount: 2 - - id: CP14CandleBlueSmall - amount: 2 - - id: CP14CandleBlackSmall - amount: 2 - - id: CP14CandleGreenSmall - amount: 2 - - id: CP14CandlePurpleSmall - amount: 2 - -- type: storePositionBuy - id: SmokePowder - code: TOBACCO - price: 80 - iconOverride: - sprite: _CP14/Objects/Misc/reagent_fillings.rsi - state: tobacco_small - factions: - - BradFamily - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledSmokePowder - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledSmokePowder - name: smoking powder chest - components: - - type: StorageFill - contents: - - id: CP14GroundTobacco - amount: 10 - - id: CP14GroundSage - amount: 5 diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell.yml deleted file mode 100644 index 0f40644fd4..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell.yml +++ /dev/null @@ -1,14 +0,0 @@ -- type: storePositionSell - id: CP14AlchemicalHerbals - price: 50 - factions: - - BradFamily - service: !type:CP14SellWhitelistService - whitelist: - tags: - - CP14AlchemicalHerbals - count: 10 - name: cp14-entity-group-alchemical-herbals - sprite: - sprite: _CP14/Objects/Flora/Wild/store_position.rsi - state: sell diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell_special.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell_special.yml deleted file mode 100644 index 6310a88fff..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/BradFamily/sell_special.yml +++ /dev/null @@ -1,89 +0,0 @@ -- type: storePositionSell - id: CP14BloodFlower - special: true - price: 200 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14BloodFlower - count: 20 - -- type: storePositionSell - id: CP14AgaricMushroom - special: true - price: 200 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14AgaricMushroom - count: 20 - -- type: storePositionSell - id: CP14ChromiumSlime - special: true - price: 600 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14ChromiumSlime - count: 20 - -- type: storePositionSell - id: CP14WildSage - special: true - price: 200 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14WildSage - count: 20 - -- type: storePositionSell - id: CP14LumiMushroom - special: true - price: 400 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14LumiMushroom - count: 20 - -- type: storePositionSell - id: CP14BlueAmanita - special: true - price: 200 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14BlueAmanita - count: 20 - -- type: storePositionSell - id: CP14Dayflin - special: true - price: 200 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14Dayflin - count: 20 - -- type: storePositionSell - id: CP14AirLily - special: true - price: 300 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14AirLily - count: 20 - -- type: storePositionSell - id: CP14BaseAlchemyBomb - special: true - price: 250 - factions: - - BradFamily - service: !type:CP14SellPrototypeService - proto: CP14BaseAlchemyBomb - count: 3 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/General/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/General/buy.yml deleted file mode 100644 index 4ed8160a84..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/General/buy.yml +++ /dev/null @@ -1,21 +0,0 @@ -- type: storePositionBuy - id: RerollSell - code: REROLL_SELL - price: 20 - nameOverride: cp14-buy-position-reroll-sell - iconOverride: - sprite: _CP14/Interface/Misc/reroll.rsi - state: reroll - service: !type:CP14RerollSpecialPositionsService - rerollSell: 5 - -#- type: storePositionBuy #Неактуально, т.к. позиций таких нет -# id: RerollBuy -# code: REROLL_BUY -# price: 20 -# nameOverride: cp14-buy-position-reroll-buy -# iconOverride: -# sprite: _CP14/Interface/Misc/reroll.rsi -# state: reroll -# service: !type:CP14RerollSpecialPositionsService -# rerollBuy: 5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/General/sell_special.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/General/sell_special.yml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/HelmirWeapon/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/HelmirWeapon/buy.yml deleted file mode 100644 index 99052aaf55..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/HelmirWeapon/buy.yml +++ /dev/null @@ -1,99 +0,0 @@ -- type: storePositionBuy - id: CP14ModularIronArrow - code: ARROW - price: 100 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronArrow - count: 6 - -- type: storePositionBuy - id: CP14ModularIronAxe - code: AXE - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronAxe - count: 3 - -- type: storePositionBuy - id: CP14ModularIronDagger - code: DAGGER - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronDagger - count: 7 - -- type: storePositionBuy - id: CP14ModularIronHammer - code: HAMMER - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronHammer - count: 5 - -- type: storePositionBuy - id: CP14ModularIronMace - code: MACE - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronMace - count: 5 - -- type: storePositionBuy - id: CP14ModularIronPickaxe - code: PICKAXE - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronPickaxe - count: 5 - -- type: storePositionBuy - id: CP14ModularIronShovel - code: SHOVEL - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronShovel - count: 5 - -- type: storePositionBuy - id: CP14ModularIronSickle - code: SICKLE - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronSickle - count: 7 - -- type: storePositionBuy - id: CP14ModularIronSpear - code: SPEAR - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronSpear - count: 5 - -- type: storePositionBuy - id: CP14ModularIronSword - code: SWORD - price: 150 - factions: - - HelmirWeapon - service: !type:CP14BuyItemsService - product: CP14ModularIronSword - count: 5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml deleted file mode 100644 index 79d82ad4a4..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy.yml +++ /dev/null @@ -1,169 +0,0 @@ -- type: storePositionBuy - id: FarmSeeds - code: SEEDS - iconOverride: - sprite: _CP14/Objects/Specific/Farming/seeds.rsi - state: seeds - price: 70 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledFarmSeeds - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledFarmSeeds - name: farm seeds chest - components: - - type: StorageFill - contents: - - id: CP14SeedWheat - amount: 3 - - id: CP14SeedPumpkin - amount: 3 - - id: CP14SeedCabbage - amount: 3 - - id: CP14SeedCucumber - amount: 3 - - id: CP14SeedTomato - amount: 3 - - id: CP14SeedPepper - amount: 3 - - id: CP14SeedCotton - amount: 3 - - -- type: storePositionBuy - id: Cheese - code: CHEESE - iconOverride: - sprite: _CP14/Objects/Consumable/Food/cheese.rsi - state: cheese_wheel - price: 100 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledCheese - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledCheese - name: cheese chest - components: - - type: StorageFill - contents: - - id: CP14FoodCheeseWheel - amount: 5 - - -- type: storePositionBuy - id: Wood - code: WOOD - price: 50 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14WoodenPlanks10 - count: 5 - - -- type: storePositionBuy - id: Fabric - code: FABRIC - price: 30 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14Cloth10 - count: 3 - -- type: storePositionBuy - id: CP14String - code: STRINGS - price: 30 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14String - count: 5 - -- type: storePositionBuy - id: CopperBar - code: COPPER - price: 250 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14CopperBar10 - - -- type: storePositionBuy - id: IronBar - code: IRON - price: 500 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14IronBar10 - - -- type: storePositionBuy - id: GoldBar - code: GOLD - price: 2000 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14GoldBar10 - -- type: storePositionBuy - id: Bureaucracy - code: PAPER - iconOverride: - sprite: _CP14/Objects/Bureaucracy/paper.rsi - state: folder_red - price: 100 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledBureaucracy - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledBureaucracy - name: bureaucracy chest - components: - - type: StorageFill - contents: - - id: CP14PaperFolderBlue - amount: 5 - - id: CP14PaperFolderRed - amount: 5 - - id: CP14Paper - amount: 5 - - id: CP14PenFeather - amount: 3 - -- type: storePositionBuy - id: EnergyCrystals - code: ENERGY - iconOverride: - sprite: _CP14/Objects/Specific/Thaumaturgy/powerline_gauntlet.rsi - state: icon - price: 150 - factions: - - SpiceStream - service: !type:CP14BuyItemsService - product: CP14WoodenChestFilledEnergyCrystals - -- type: entity - parent: CP14WoodenChest - id: CP14WoodenChestFilledEnergyCrystals - name: energy crystals chest - components: - - type: StorageFill - contents: - - id: CP14EnergyCrystalMediumEmpty - amount: 5 - - id: CP14ManaOperationGlove - amount: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy_special.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy_special.yml deleted file mode 100644 index 5556f95f67..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/buy_special.yml +++ /dev/null @@ -1,45 +0,0 @@ -# ANCHORABLE PROBLEMS - -#- type: storePositionBuy -# id: DwarfBeer -# code: BEER_DWARF -# special: true -# nameOverride: cp14-reagent-name-dwarfbeer -# price: 150 -# factions: -# - SpiceStream -# service: !type:CP14BuyItemsService -# product: CP14CraneBarrelDwarfBeer -# -#- type: storePositionBuy -# id: BeerGerbil -# code: BEER_BREEZE -# special: true -# nameOverride: cp14-reagent-name-breeze -# price: 70 -# factions: -# - SpiceStream -# service: !type:CP14BuyItemsService -# product: CP14CraneBarrelSmallBeerBreeze -# -#- type: storePositionBuy -# id: AleBottomless -# code: BEER_BOTTOMLESS -# special: true -# nameOverride: cp14-reagent-name-bottomless -# price: 70 -# factions: -# - SpiceStream -# service: !type:CP14BuyItemsService -# product: CP14CraneBarrelSmallAleBottomless -# -#- type: storePositionBuy -# id: WineZellasian -# code: WINE_ZELLASIAN -# special: true -# nameOverride: cp14-reagent-name-zellasian-pleasure -# price: 150 -# factions: -# - SpiceStream -# service: !type:CP14BuyItemsService -# product: CP14CraneBarrelWineZellasianPleasure \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/sell.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/sell.yml deleted file mode 100644 index 7a1a367e8b..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/sell.yml +++ /dev/null @@ -1,94 +0,0 @@ -- type: storePositionSell - id: CopperBars - price: 150 - factions: - - SpiceStream - - HelmirWeapon - service: !type:CP14SellStackService - stackId: CP14CopperBar - count: 10 - -- type: storePositionSell - id: CopperOre - price: 20 - factions: - - SpiceStream - service: !type:CP14SellStackService - stackId: CP14OreCopper - count: 10 - -- type: storePositionSell - id: IronBars - price: 300 - factions: - - SpiceStream - - HelmirWeapon - service: !type:CP14SellStackService - stackId: CP14IronBar - count: 10 - -- type: storePositionSell - id: IronOre - price: 30 - factions: - - SpiceStream - service: !type:CP14SellStackService - stackId: CP14OreIron - count: 10 - -- type: storePositionSell - id: GoldBars - price: 1200 - factions: - - SpiceStream - - HelmirWeapon - service: !type:CP14SellStackService - stackId: CP14GoldBar - count: 10 - -- type: storePositionSell - id: GoldOre - price: 120 - factions: - - SpiceStream - service: !type:CP14SellStackService - stackId: CP14OreGold - count: 10 - -- type: storePositionSell - id: MithrilBars - price: 2500 - factions: - - SpiceStream - - HelmirWeapon - service: !type:CP14SellStackService - stackId: CP14MithrilBar - count: 10 - -- type: storePositionSell - id: MithrilOre - price: 250 - factions: - - SpiceStream - service: !type:CP14SellStackService - stackId: CP14OreMithril - count: 10 - -- type: storePositionSell - id: Wood - price: 5 - factions: - - SpiceStream - - HelmirWeapon - service: !type:CP14SellStackService - stackId: CP14WoodenPlanks - count: 30 - -- type: storePositionSell - id: Glass - price: 100 - factions: - - SpiceStream - service: !type:CP14SellStackService - stackId: CP14GlassSheet - count: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/sell_special.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/sell_special.yml deleted file mode 100644 index 1f0414be52..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/SpiceStream/sell_special.yml +++ /dev/null @@ -1,129 +0,0 @@ -- type: storePositionSell - id: CP14DyeRed - special: true - price: 75 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14DyeRed - count: 5 - -- type: storePositionSell - id: CP14DyeYellow - special: true - price: 75 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14DyeYellow - count: 5 - -- type: storePositionSell - id: CP14DyeBlue - special: true - price: 75 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14DyeBlue - count: 5 - -- type: storePositionSell - id: CP14FoodPieMeat - special: true - price: 100 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodPieMeat - count: 1 - -- type: storePositionSell - id: CP14FoodPiePumpkin - special: true - price: 100 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodPiePumpkin - count: 1 - -- type: storePositionSell - id: CP14FoodBreadBun - special: true - price: 20 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodBreadBun - count: 3 - -- type: storePositionSell - id: CP14FoodCabbage - special: true - price: 80 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodCabbage - count: 10 - -- type: storePositionSell - id: CP14FoodPumpkin - special: true - price: 80 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodPumpkin - count: 10 - -- type: storePositionSell - id: CP14FoodPotato - special: true - price: 80 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodPotato - count: 10 - -- type: storePositionSell - id: CP14FoodCucumber - special: true - price: 80 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodCucumber - count: 10 - -- type: storePositionSell - id: CP14FoodTomatoes - special: true - price: 80 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodTomatoes - count: 10 - -- type: storePositionSell - id: CP14FoodPepper - special: true - price: 80 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodPepper - count: 10 - -- type: storePositionSell - id: CP14FoodOnion - special: true - price: 80 - factions: - - SpiceStream - service: !type:CP14SellPrototypeService - proto: CP14FoodOnion - count: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/buy.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/buy.yml deleted file mode 100644 index 64be84efd8..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/buy.yml +++ /dev/null @@ -1,68 +0,0 @@ -- type: storePositionBuy - id: CP14SpellScrollResurrection - code: SCROLL_RESURRECTION - price: 100 - factions: - - Sylphoria - service: !type:CP14BuyItemsService - product: CP14SpellScrollResurrection - -- type: storePositionBuy - id: CP14SpellScrollCureWounds - code: CURE_WOUNDS - price: 100 - factions: - - Sylphoria - service: !type:CP14BuyItemsService - product: CP14SpellScrollCureWounds - count: 5 - -- type: storePositionBuy - id: CP14SpellScrollCureBurn - code: CURE_BURN - price: 100 - factions: - - Sylphoria - service: !type:CP14BuyItemsService - product: CP14SpellScrollCureBurn - count: 5 - -- type: storePositionBuy - id: CP14SpellScrollBloodPurification - code: BLOOD_PURE - price: 100 - factions: - - Sylphoria - service: !type:CP14BuyItemsService - product: CP14SpellScrollBloodPurification - count: 5 - -- type: storePositionBuy - id: CP14SpellscrollSignalLightBlue - code: SIGNAL_BLUE - price: 50 - factions: - - Sylphoria - service: !type:CP14BuyItemsService - product: CP14SpellscrollSignalLightBlue - count: 5 - -- type: storePositionBuy - id: CP14SpellscrollSignalLightYellow - code: SIGNAL_YELLOW - price: 50 - factions: - - Sylphoria - service: !type:CP14BuyItemsService - product: CP14SpellscrollSignalLightYellow - count: 5 - -- type: storePositionBuy - id: CP14SpellscrollSignalLightRed - code: SIGNAL_RED - price: 50 - factions: - - Sylphoria - service: !type:CP14BuyItemsService - product: CP14SpellscrollSignalLightRed - count: 5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell.yml deleted file mode 100644 index 9c7b0ff836..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell.yml +++ /dev/null @@ -1,32 +0,0 @@ -- type: storePositionSell - id: CP14LucenPlanks - price: 100 - factions: - - Sylphoria - service: !type:CP14SellStackService - stackId: CP14LucensWoodenPlanks - count: 10 - -- type: storePositionSell - id: CP14SpellScroll - price: 50 - factions: - - Sylphoria - service: !type:CP14SellWhitelistService - whitelist: - tags: - - CP14SpellScroll - count: 5 - name: cp14-entity-group-spell-scrolls - sprite: - sprite: _CP14/Objects/Bureaucracy/paper.rsi - state: scrolls - -- type: storePositionSell - id: CP14ClothingCloakAmuletGold - price: 80 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14ClothingCloakAmuletGold - count: 1 diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml deleted file mode 100644 index 57e390647e..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/Sylphoria/sell_special.yml +++ /dev/null @@ -1,139 +0,0 @@ -- type: storePositionSell - id: BountyTorch - special: true - price: 20 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14Torch - count: 5 - -- type: storePositionSell - id: BountyLucenPlanks - special: true - price: 200 - factions: - - Sylphoria - service: !type:CP14SellStackService - stackId: CP14LucensWoodenPlanks - count: 20 - -- type: storePositionSell - id: CP14SpellScrollShadowStep - special: true - price: 80 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollShadowStep - count: 1 - -- type: storePositionSell - id: CP14SpellScrollFireball - special: true - price: 80 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollFireball - count: 1 - -- type: storePositionSell - id: CP14SpellScrollBeerCreation - special: true - price: 400 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14SpellScrollBeerCreation - count: 1 - -- type: storePositionSell - id: CP14ClothingRingIceShards - special: true - price: 150 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14ClothingRingIceShards - count: 1 - -- type: storePositionSell - id: CP14ClothingRingFlashLight - special: true - price: 150 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14ClothingRingFlashLight - count: 1 - -- type: storePositionSell - id: CP14BaseLockpick - special: true - price: 100 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14BaseLockpick - count: 10 - -- type: storePositionSell - id: CP14MobRabbit - special: true - price: 50 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14MobRabbit - count: 5 - -- type: storePositionSell - id: CP14MobPig - special: true - price: 130 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14MobPig - count: 5 - -- type: storePositionSell - id: CP14MobBoar - special: true - price: 170 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14MobBoar - count: 5 - -- type: storePositionSell - id: CP14MobFrog - special: true - price: 10 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14MobFrog - count: 5 - -- type: storePositionSell - id: CP14MobMonsterMole - special: true - price: 50 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14MobMonsterMole - count: 1 - -- type: storePositionSell - id: CP14PartsMonsterGlands - special: true - price: 100 - factions: - - Sylphoria - service: !type:CP14SellPrototypeService - proto: CP14PartsMonsterGlands - count: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/factions.yml b/Resources/Prototypes/_CP14/Catalog/Cargo/Store/factions.yml deleted file mode 100644 index 0f75c4f6b6..0000000000 --- a/Resources/Prototypes/_CP14/Catalog/Cargo/Store/factions.yml +++ /dev/null @@ -1,19 +0,0 @@ -- type: storeFaction - id: HelmirWeapon - name: cp14-faction-name-helmir - desc: cp14-faction-desc-helmir - -- type: storeFaction - id: Sylphoria - name: cp14-faction-name-sylphoria - desc: cp14-faction-desc-sylphoria - -- type: storeFaction - id: SpiceStream - name: cp14-faction-name-spice-stream - desc: cp14-faction-desc-spice-stream - -- type: storeFaction - id: BradFamily - name: cp14-faction-name-brad-family - desc: cp14-faction-desc-brad-family diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Fire/heat.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Fire/heat.yml index bf073bb3f6..aed873d34d 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Fire/heat.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Fire/heat.yml @@ -16,6 +16,8 @@ - !type:CP14SpellSpawnEntityOnTarget spawns: - CP14ImpactEffectHeat + - !type:CP14AdjustAllSolutionThermalEnergy + delta: 3600 # One full use heats 100u from ~300k to ~650k - !type:CP14SpellApplyEntityEffect effects: - !type:AdjustTemperature diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_heat.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_heat.yml index d43079d6d6..f3c04336fb 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_heat.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_heat.yml @@ -9,7 +9,7 @@ - type: CP14MagicEffectCastSlowdown speedMultiplier: 0.5 - type: CP14MagicEffectManaCost - manaCost: 10 + manaCost: 12 - type: CP14MagicEffect magicType: Life telegraphyEffects: @@ -87,4 +87,4 @@ components: - type: CP14SpellStorage spells: - - CP14ActionSpellCureBurn \ No newline at end of file + - CP14ActionSpellCureBurn diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_poison.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_poison.yml index 503939eb6f..28cf0966d6 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_poison.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_poison.yml @@ -9,7 +9,7 @@ - type: CP14MagicEffectCastSlowdown speedMultiplier: 0.5 - type: CP14MagicEffectManaCost - manaCost: 10 + manaCost: 12 - type: CP14MagicEffect magicType: Life telegraphyEffects: @@ -29,9 +29,8 @@ Bloodloss: -10 Caustic: -10 - !type:Jitter - - !type:ModifyBleedAmount - !type:ModifyBloodLevel - amount: 10 + amount: 25 - type: CP14MagicEffectVerbalAspect startSpeech: "Nella coda..." endSpeech: "sta il veleno" @@ -90,4 +89,4 @@ components: - type: CP14SpellStorage spells: - - CP14ActionSpellBloodPurification \ No newline at end of file + - CP14ActionSpellBloodPurification diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_wounds.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_wounds.yml index e339b649d3..bf6550a901 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_wounds.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/cure_wounds.yml @@ -9,7 +9,7 @@ - type: CP14MagicEffectCastSlowdown speedMultiplier: 0.5 - type: CP14MagicEffectManaCost - manaCost: 10 + manaCost: 12 - type: CP14MagicEffect magicType: Life telegraphyEffects: @@ -29,6 +29,8 @@ Blunt: -10 Piercing: -10 - !type:Jitter + - !type:ModifyBleedAmount + amount: -5 - type: CP14MagicEffectVerbalAspect startSpeech: "Et curabuntur..." endSpeech: "vulnera tua" @@ -84,4 +86,4 @@ components: - type: CP14SpellStorage spells: - - CP14ActionSpellCureWounds \ No newline at end of file + - CP14ActionSpellCureWounds diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/sheep_polymorph.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/sheep_polymorph.yml index e7b49985c5..a3bf6d31ef 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/sheep_polymorph.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/sheep_polymorph.yml @@ -29,6 +29,7 @@ endSpeech: "pecora tua" - type: CP14MagicEffectCastingVisual proto: CP14RuneSheepPolymorph + - type: CP14MagicEffectAliveTargetRequired - type: EntityTargetAction whitelist: components: diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/freeze.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/freeze.yml index c0093a92ee..796547311e 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/freeze.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/freeze.yml @@ -16,6 +16,8 @@ - !type:CP14SpellSpawnEntityOnTarget spawns: - CP14ImpactEffectFreeze + - !type:CP14AdjustAllSolutionThermalEnergy + delta: -1200 # One full use cools 100u from ~300k to ~250k - !type:CP14SpellApplyEntityEffect effects: - !type:MovespeedModifier @@ -77,4 +79,4 @@ components: - type: CP14SpellStorage spells: - - CP14ActionSpellFreeze \ No newline at end of file + - CP14ActionSpellFreeze diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Eyes/eyes.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Eyes/eyes.yml index 9e8f84be1b..f69ec4bad1 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Eyes/eyes.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Eyes/eyes.yml @@ -104,3 +104,21 @@ sprite: _CP14/Clothing/Eyes/thaumaturgy_glasses.rsi - type: CP14MagicEssenceScanner - type: VisionCorrection + +- type: entity + parent: CP14ClothingEyesBase + id: CP14ClothingEyesEyePatch + name: eye patch + description: Hides the mutilation of the eyes. + components: + - type: Foldable + canFoldInsideContainer: true + unfoldVerbText: fold-flip-verb + foldVerbText: fold-flip-verb + - type: FoldableClothing + foldedEquippedPrefix: flipped + foldedHeldPrefix: flipped + - type: Sprite + sprite: _CP14/Clothing/Eyes/eye_patch.rsi + - type: Clothing + sprite: _CP14/Clothing/Eyes/eye_patch.rsi diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Aventail/chainmail.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Aventail/chainmail.yml index a5b1de75c4..4072b76352 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Aventail/chainmail.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Aventail/chainmail.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - AventailIronChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -41,8 +41,8 @@ - type: CP14ModularCraftPart possibleParts: - AventailGoldChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -59,8 +59,8 @@ - type: CP14ModularCraftPart possibleParts: - AventailCopperChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -77,6 +77,6 @@ - type: CP14ModularCraftPart possibleParts: - AventailMithrilChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Aventail/plate.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Aventail/plate.yml index aac8eb83e1..72f7712b5f 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Aventail/plate.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Aventail/plate.yml @@ -11,8 +11,8 @@ - type: CP14ModularCraftPart possibleParts: - AventailIronPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -29,8 +29,8 @@ - type: CP14ModularCraftPart possibleParts: - AventailGoldPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -47,8 +47,8 @@ - type: CP14ModularCraftPart possibleParts: - AventailCopperPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -65,6 +65,6 @@ - type: CP14ModularCraftPart possibleParts: - AventailMithrilPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Helmet/capellina.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Helmet/capellina.yml index cdb8bfd996..68dc1111d6 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Helmet/capellina.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Helmet/capellina.yml @@ -36,8 +36,8 @@ startProtoPart: CP14HelmetIronCapellina - type: CP14MagicManacostModify globalModifier: 1.05 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 20 - type: entity @@ -70,8 +70,8 @@ startProtoPart: CP14HelmetGoldCapellina - type: CP14MagicManacostModify globalModifier: 1.01 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 20 - type: entity @@ -104,8 +104,8 @@ startProtoPart: CP14HelmetCopperCapellina - type: CP14MagicManacostModify globalModifier: 1.03 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 20 - type: entity @@ -138,6 +138,6 @@ startProtoPart: CP14HelmetMithrilCapellina - type: CP14MagicManacostModify globalModifier: 0.98 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 20 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Helmet/palm_helmet.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Helmet/palm_helmet.yml index c5f2841bf7..f760f819ef 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Helmet/palm_helmet.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Helmet/palm_helmet.yml @@ -22,8 +22,8 @@ startProtoPart: CP14HelmetIronCapellina - type: CP14MagicManacostModify globalModifier: 1.05 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 20 - type: entity @@ -56,8 +56,8 @@ startProtoPart: CP14HelmetGoldPalmHelmet - type: CP14MagicManacostModify globalModifier: 1.01 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 20 - type: entity @@ -90,8 +90,8 @@ startProtoPart: CP14HelmetCopperPalmHelmet - type: CP14MagicManacostModify globalModifier: 1.03 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 20 - type: entity @@ -125,6 +125,6 @@ startProtoPart: CP14HelmetMithrilPalmHelmet - type: CP14MagicManacostModify globalModifier: 0.98 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 20 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Visor/chainmail.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Visor/chainmail.yml index 27c5c4d91c..b3794ccf6e 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Visor/chainmail.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Visor/chainmail.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - VisorIronChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -41,8 +41,8 @@ - type: CP14ModularCraftPart possibleParts: - VisorGoldChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -59,8 +59,8 @@ - type: CP14ModularCraftPart possibleParts: - VisorCopperChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -77,6 +77,6 @@ - type: CP14ModularCraftPart possibleParts: - VisorMithrilChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Visor/plate.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Visor/plate.yml index 7ecdd65a92..d9a123c378 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Visor/plate.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Head/ModularArmor/Visor/plate.yml @@ -11,8 +11,8 @@ - type: CP14ModularCraftPart possibleParts: - VisorIronPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -29,8 +29,8 @@ - type: CP14ModularCraftPart possibleParts: - VisorGoldPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -47,8 +47,8 @@ - type: CP14ModularCraftPart possibleParts: - VisorCopperPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -65,6 +65,6 @@ - type: CP14ModularCraftPart possibleParts: - VisorMithrilPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/chainmail.yml b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/chainmail.yml index 54f02233c1..64ef3d3f1c 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/chainmail.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/chainmail.yml @@ -21,8 +21,8 @@ startProtoPart: CP14ArmorIronChainmail - type: CP14MagicManacostModify globalModifier: 1.15 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 40 - type: entity @@ -64,8 +64,8 @@ startProtoPart: CP14ArmorGoldChainmail - type: CP14MagicManacostModify globalModifier: 1.05 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 40 - type: entity @@ -104,8 +104,8 @@ startProtoPart: CP14ArmorCopperChainmail - type: CP14MagicManacostModify globalModifier: 1.1 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 40 - type: entity @@ -147,6 +147,6 @@ startProtoPart: CP14ArmorMithrilChainmail - type: CP14MagicManacostModify globalModifier: 0.96 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 40 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/cuirass.yml b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/cuirass.yml index 34051c4944..f55f1b2b20 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/cuirass.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/cuirass.yml @@ -37,8 +37,8 @@ startProtoPart: CP14ArmorIronCuirass - type: CP14MagicManacostModify globalModifier: 1.2 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 50 - type: entity @@ -81,8 +81,8 @@ startProtoPart: CP14ArmorGoldCuirass - type: CP14MagicManacostModify globalModifier: 1.1 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 50 - type: entity @@ -125,8 +125,8 @@ startProtoPart: CP14ArmorCopperCuirass - type: CP14MagicManacostModify globalModifier: 1.15 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 50 - type: entity @@ -169,6 +169,6 @@ startProtoPart: CP14ArmorMithrilCuirass - type: CP14MagicManacostModify globalModifier: 0.95 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 50 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/infantry_cuirass.yml b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/infantry_cuirass.yml index 5e566ea4bb..b9ceef42f5 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/infantry_cuirass.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Breastplate/infantry_cuirass.yml @@ -22,8 +22,8 @@ startProtoPart: CP14ArmorIronInfantryCuirass - type: CP14MagicManacostModify globalModifier: 1.24 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 60 - type: entity @@ -66,8 +66,8 @@ startProtoPart: CP14ArmorGoldInfantryCuirass - type: CP14MagicManacostModify globalModifier: 1.14 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 60 - type: entity @@ -110,8 +110,8 @@ startProtoPart: CP14ArmorCopperInfantryCuirass - type: CP14MagicManacostModify globalModifier: 1.18 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 60 - type: entity @@ -154,6 +154,6 @@ startProtoPart: CP14ArmorMithrilInfantryCuirass - type: CP14MagicManacostModify globalModifier: 0.92 - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 60 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Cuisses/chainmail.yml b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Cuisses/chainmail.yml index 1b8671de31..5a9dbb8821 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Cuisses/chainmail.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Cuisses/chainmail.yml @@ -11,8 +11,8 @@ - type: CP14ModularCraftPart possibleParts: - CuissesIronChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -29,8 +29,8 @@ - type: CP14ModularCraftPart possibleParts: - CuissesGoldChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -47,8 +47,8 @@ - type: CP14ModularCraftPart possibleParts: - CuissesCopperChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -65,6 +65,6 @@ - type: CP14ModularCraftPart possibleParts: - CuissesMithrilChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Cuisses/plate.yml b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Cuisses/plate.yml index 5ae37c922a..6e33f506bd 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Cuisses/plate.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Cuisses/plate.yml @@ -26,8 +26,8 @@ - type: CP14ModularCraftPart possibleParts: - CuissesIronPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 20 - type: entity @@ -44,8 +44,8 @@ - type: CP14ModularCraftPart possibleParts: - CuissesGoldPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 20 - type: entity @@ -62,8 +62,8 @@ - type: CP14ModularCraftPart possibleParts: - CuissesCopperPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 20 - type: entity @@ -80,6 +80,6 @@ - type: CP14ModularCraftPart possibleParts: - CuissesMithrilPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 20 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Greave/chainmail.yml b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Greave/chainmail.yml index 444bfee86b..bace36defa 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Greave/chainmail.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Greave/chainmail.yml @@ -11,8 +11,8 @@ - type: CP14ModularCraftPart possibleParts: - GreaveIronChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -29,8 +29,8 @@ - type: CP14ModularCraftPart possibleParts: - GreaveGoldChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -47,8 +47,8 @@ - type: CP14ModularCraftPart possibleParts: - GreaveCopperChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -65,6 +65,6 @@ - type: CP14ModularCraftPart possibleParts: - GreaveMithrilChainmail - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Greave/plate.yml b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Greave/plate.yml index 35e0f3291f..45eb969753 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Greave/plate.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/OuterClothing/ModularArmor/Greave/plate.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - GreaveIronPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 20 - type: entity @@ -41,8 +41,8 @@ - type: CP14ModularCraftPart possibleParts: - GreaveGoldPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 20 - type: entity @@ -59,8 +59,8 @@ - type: CP14ModularCraftPart possibleParts: - GreaveCopperPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 20 - type: entity @@ -77,6 +77,6 @@ - type: CP14ModularCraftPart possibleParts: - GreaveMithrilPlate - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 20 diff --git a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/amulet.yml b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/amulet.yml index 70ba0c3def..3305dbcf89 100644 --- a/Resources/Prototypes/_CP14/Entities/Clothing/Rings/amulet.yml +++ b/Resources/Prototypes/_CP14/Entities/Clothing/Rings/amulet.yml @@ -22,9 +22,9 @@ - state: icon - type: Clothing sprite: _CP14/Clothing/Rings/Amulet/amulet.rsi - - type: CP14Material - materials: - CP14Gold: 5 + - type: PhysicalComposition + materialComposition: + CP14Gold: 2 - type: entity parent: CP14ClothingJewelleryBase diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/unique_loot.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/unique_loot.yml index 7e7a803dce..4a2b9b4283 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/unique_loot.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/unique_loot.yml @@ -17,18 +17,4 @@ - sprite: Markers/cross.rsi state: green - sprite: _CP14/Clothing/Shoes/flightboots.rsi - state: icon - -- type: entity - name: random tradepost spawner - id: CP14SpawnUniqueTradepost - parent: CP14SpawnUniqueBase - components: - - type: CP14UniqueLootSpawner - tag: CP14UniqueSpawnTradepost - - type: Sprite - layers: - - sprite: Markers/cross.rsi - state: green - - sprite: _CP14/Structures/Specific/Economy/trade_portal.rsi state: icon \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml index 7eff97f075..5b59fa0468 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml @@ -232,6 +232,7 @@ Cold: 0.25 Bloodloss: 0.25 - type: CP14SkillStorage + - type: CP14TradingReputation - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml index 1d8dfd73d6..97562ed48b 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/goblin.yml @@ -80,6 +80,8 @@ Male: CP14UnisexGoblin Female: CP14UnisexGoblin Unsexed: CP14UnisexGoblin + - type: Speech + speechSounds: CP14Goblin - type: Thirst - type: Butcherable butcheringType: Spike @@ -262,4 +264,4 @@ sizeMaps: 32: sprite: _CP14/Mobs/Species/Goblin/displacement.rsi - state: shoes \ No newline at end of file + state: shoes diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Economy/coins.yml b/Resources/Prototypes/_CP14/Entities/Objects/Economy/coins.yml index d22c571e57..f2f5c83b52 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Economy/coins.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Economy/coins.yml @@ -24,9 +24,9 @@ - coin9 - coin10 - type: Appearance - - type: CP14Currency - currency: 1 - category: Currency + - type: StaticPrice + price: 0 + - type: CP14CurrencyExaminable - type: EmitSoundOnLand sound: path: /Audio/_CP14/Items/coins_fall.ogg @@ -54,8 +54,8 @@ - type: Stack stackType: CP14CopperCoin count: 10 - - type: CP14Currency - currency: 1 + - type: StackPrice + price: 1 - type: entity id: CP14CopperCoin5 @@ -94,8 +94,8 @@ - type: Stack stackType: CP14SilverCoin count: 10 - - type: CP14Currency - currency: 10 + - type: StackPrice + price: 10 - type: entity id: CP14SilverCoin5 @@ -134,8 +134,8 @@ - type: Stack stackType: CP14GoldCoin count: 10 - - type: CP14Currency - currency: 100 + - type: StackPrice + price: 100 - type: entity id: CP14GoldCoin5 @@ -174,8 +174,8 @@ - type: Stack stackType: CP14PlatinumCoin count: 10 - - type: CP14Currency - currency: 1000 + - type: StackPrice + price: 1000 - type: entity id: CP14PlatinumCoin5 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Economy/jewelry.yml b/Resources/Prototypes/_CP14/Entities/Objects/Economy/jewelry.yml index 2d0d554f8a..94012bde7d 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Economy/jewelry.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Economy/jewelry.yml @@ -11,19 +11,15 @@ sprite: /Textures/_CP14/Objects/Economy/jewelry.rsi - type: Item size: Tiny - - type: CP14Currency - currency: 1 - category: Currency + - type: StaticPrice + price: 150 - type: entity parent: CP14BaseJewelry id: CP14JewelryRuby name: ruby description: A beautiful ruby stone that's worth a lot of money. - suffix: 25gp components: - - type: CP14Currency - currency: 2500 - type: Sprite layers: - state: ruby1 @@ -40,10 +36,7 @@ id: CP14JewelryEmerald name: emerald description: A beautiful emerald stone that's worth a lot of money. - suffix: 40gp components: - - type: CP14Currency - currency: 4000 - type: Sprite layers: - state: emerald1 @@ -61,10 +54,7 @@ id: CP14JewelrySapphire name: sapphire description: A beautiful sapphire stone that's worth a lot of money. - suffix: 30gp components: - - type: CP14Currency - currency: 3000 - type: Sprite layers: - state: sapphire1 @@ -81,10 +71,7 @@ id: CP14JewelryTopaz name: topaz description: A beautiful topaz stone that's worth a lot of money. - suffix: 10gp components: - - type: CP14Currency - currency: 1000 - type: Sprite layers: - state: topaz1 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml b/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml new file mode 100644 index 0000000000..34962fba6c --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml @@ -0,0 +1,40 @@ +- type: entity + parent: BaseItem + id: CP14TradeContractBase + abstract: true + categories: [ ForkFiltered ] + name: trade contract + components: + - type: Item + size: Tiny + - type: Tag + tags: + - Document + - type: Sprite + sprite: _CP14/Objects/Specific/Economy/trade_contracts.rsi + state: blank + - type: StaticPrice + price: 10 + - type: CP14TradingContract + +- type: entity + parent: CP14TradeContractBase + id: CP14TradeContractVictoriaGardens + description: Trading contract with the "Victoria Gardens" shop. Allows you to purchase various natural products on the trading platform. + suffix: Victoria Gardens + components: + - type: Sprite + state: victoria_garden + - type: CP14TradingContract + faction: VictoriaGardens + +- type: entity + parent: CP14TradeContractBase + id: CP14TradeContractBradPotions + description: Trading contract with the "Brad's marvelous potions" ahop. Allows you to purchase various potions and alchemy equipment. + suffix: Brad Potions + components: + - type: Sprite + state: brad_potions + - type: CP14TradingContract + faction: BradPotions \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Economy/wallet.yml b/Resources/Prototypes/_CP14/Entities/Objects/Economy/wallet.yml index 7d07b278a2..b8d1b3a5ef 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Economy/wallet.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Economy/wallet.yml @@ -52,4 +52,19 @@ - id: CP14SilverCoin1 - id: CP14CopperCoin - id: CP14CopperCoin + - id: CP14CopperCoin + +- type: entity + id: CP14WalletFilledMerchant + parent: CP14Wallet + suffix: Merchant + components: + - type: StorageFill + contents: + - id: CP14GoldCoin1 + - id: CP14SilverCoin5 + - id: CP14SilverCoin1 + - id: CP14SilverCoin1 + - id: CP14CopperCoin + - id: CP14CopperCoin - id: CP14CopperCoin \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Keys/key.yml b/Resources/Prototypes/_CP14/Entities/Objects/Keys/key.yml index 9cab00731e..15364ae3cf 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Keys/key.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Keys/key.yml @@ -31,6 +31,9 @@ - 2 - 2 - 2 + - type: PhysicalComposition + materialComposition: + CP14Copper: 10 - type: entity parent: CP14BaseKey @@ -45,6 +48,9 @@ - 2 - 2 - 2 + - type: PhysicalComposition + materialComposition: + CP14Iron: 10 - type: entity parent: CP14BaseKey @@ -60,6 +66,9 @@ - 2 - 2 - 2 + - type: PhysicalComposition + materialComposition: + CP14Gold: 10 - type: entity parent: CP14BaseKey @@ -75,4 +84,7 @@ - 2 - 2 - 2 - - 2 \ No newline at end of file + - 2 + - type: PhysicalComposition + materialComposition: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Keys/keyrings.yml b/Resources/Prototypes/_CP14/Entities/Objects/Keys/keyrings.yml index 793bd5e784..283ef8af86 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Keys/keyrings.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Keys/keyrings.yml @@ -42,6 +42,9 @@ slots: - keys - belt + - type: PhysicalComposition + materialComposition: + CP14Iron: 5 - type: entity parent: CP14BaseKeyRing diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Keys/locks.yml b/Resources/Prototypes/_CP14/Entities/Objects/Keys/locks.yml index 4063fe761a..ebfa11359f 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Keys/locks.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Keys/locks.yml @@ -29,6 +29,9 @@ - 2 - 2 - 2 + - type: PhysicalComposition + materialComposition: + CP14Copper: 10 - type: entity parent: CP14BaseLock @@ -43,6 +46,9 @@ - 2 - 2 - 2 + - type: PhysicalComposition + materialComposition: + CP14Iron: 10 - type: entity parent: CP14BaseLock @@ -58,6 +64,9 @@ - 2 - 2 - 2 + - type: PhysicalComposition + materialComposition: + CP14Gold: 10 - type: entity parent: CP14BaseLock @@ -73,4 +82,7 @@ - 2 - 2 - 2 - - 2 \ No newline at end of file + - 2 + - type: PhysicalComposition + materialComposition: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Keys/tools.yml b/Resources/Prototypes/_CP14/Entities/Objects/Keys/tools.yml index ff67d4c64d..2d1621d51d 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Keys/tools.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Keys/tools.yml @@ -15,6 +15,9 @@ - type: Tag tags: - CP14Lockpick + - type: PhysicalComposition + materialComposition: + CP14Iron: 10 - type: entity parent: CP14BaseLockpick @@ -25,6 +28,9 @@ health: 50 - type: Sprite state: lockpick_mithril + - type: PhysicalComposition + materialComposition: + CP14Mithril: 10 - type: entity parent: BaseItem @@ -41,3 +47,6 @@ - type: CP14KeyFile - type: UseDelay delay: 1.0 + - type: PhysicalComposition + materialComposition: + CP14Iron: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/ash.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/ash.yml deleted file mode 100644 index bf3d356cb2..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/ash.yml +++ /dev/null @@ -1,50 +0,0 @@ -- type: entity - parent: BaseItem - id: CP14Ash1 - name: ash #Возможный реагент в будущем - description: It used to be something that could be interesting and useful, now it's not. - suffix: 1 - categories: [ ForkFiltered ] - components: - - type: Item - size: Tiny - - type: Sprite - sprite: _CP14/Objects/Materials/ash.rsi - layers: - - state: ash_1 - map: ["base"] - - type: SolutionContainerManager - solutions: - food: - maxVol: 50 - reagents: - - ReagentId: Ash - Quantity: 10 - - type: SolutionSpiker - sourceSolution: food - ignoreEmpty: true - - type: ScoopableSolution - solution: food - - type: Extractable - grindableSolutionName: food - - type: Appearance - - type: Stack - stackType: CP14Ash - count: 1 - baseLayer: base - layerStates: - - ash_1 - - ash_2 - - ash_3 - - type: Material - - type: PhysicalComposition # точно ли это нужно? - materialComposition: - CP14Ash: 100 - -- type: entity - id: CP14Ash3 - parent: CP14Ash1 - suffix: 3 - components: - - type: Stack - count: 3 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml index a88bee5596..373692a526 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml @@ -23,9 +23,9 @@ - bar_2 - bar_3 - type: Material - #- type: CP14Material - # materials: - # CP14Copper: 10 + - type: PhysicalComposition + materialComposition: + CP14Copper: 10 - type: entity id: CP14CopperBar5 @@ -70,9 +70,9 @@ - bar_2 - bar_3 - type: Material - #- type: CP14Material - # materials: - # CP14Iron: 10 + - type: PhysicalComposition + materialComposition: + CP14Iron: 10 - type: entity id: CP14IronBar5 @@ -116,9 +116,9 @@ - bar_2 - bar_3 - type: Material - #- type: CP14Material - # materials: - # CP14Gold: 10 + - type: PhysicalComposition + materialComposition: + CP14Gold: 10 - type: entity id: CP14GoldBar5 @@ -161,6 +161,9 @@ - glass_2 - glass_3 - type: Material + - type: PhysicalComposition + materialComposition: + CP14Glass: 10 - type: entity id: CP14GlassSheet5 @@ -202,9 +205,9 @@ - bar_2 - bar_3 - type: Material - #- type: CP14Material - # materials: - # CP14Mithril: 10 + - type: PhysicalComposition + materialComposition: + CP14Mithril: 10 - type: entity id: CP14MithrilBar5 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/flora.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/flora.yml index 407f0a4ef0..bb17e4d241 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/flora.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/flora.yml @@ -23,6 +23,9 @@ - state: grass_material1 map: ["base"] - type: Material + - type: PhysicalComposition + materialComposition: + CP14FloraMaterial: 10 - type: entity id: CP14FloraMaterial10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/misc.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/misc.yml index 0be891af5d..41075df80d 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/misc.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/misc.yml @@ -1,3 +1,55 @@ +- type: entity + parent: BaseItem + id: CP14Ash1 + name: ash #Возможный реагент в будущем + description: It used to be something that could be interesting and useful, now it's not. + suffix: 1 + categories: [ ForkFiltered ] + components: + - type: Item + size: Tiny + - type: Sprite + sprite: _CP14/Objects/Materials/ash.rsi + layers: + - state: ash_1 + map: ["base"] + - type: SolutionContainerManager + solutions: + food: + maxVol: 50 + reagents: + - ReagentId: Ash + Quantity: 10 + - type: SolutionSpiker + sourceSolution: food + ignoreEmpty: true + - type: ScoopableSolution + solution: food + - type: Extractable + grindableSolutionName: food + - type: Appearance + - type: Stack + stackType: CP14Ash + count: 1 + baseLayer: base + layerStates: + - ash_1 + - ash_2 + - ash_3 + - type: Material + - type: PhysicalComposition + materialComposition: + CP14Ash: 10 + +- type: entity + id: CP14Ash3 + parent: CP14Ash1 + suffix: 3 + components: + - type: Stack + count: 3 + + - type: entity parent: BaseItem id: CP14CrystalShardQuartz @@ -27,6 +79,9 @@ reagents: - ReagentId: CP14GroundQuartz Quantity: 7 + - type: PhysicalComposition + materialComposition: + CP14Glass: 10 - type: entity parent: BaseItem diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml index 5f2f1dd631..545ad2e823 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/ores.yml @@ -21,8 +21,9 @@ - ore1 - ore2 - ore3 - - type: CP14Material - materials: + - type: Material + - type: PhysicalComposition + materialComposition: CP14Copper: 2 - type: entity @@ -66,8 +67,9 @@ - ore1 - ore2 - ore3 - - type: CP14Material - materials: + - type: Material + - type: PhysicalComposition + materialComposition: CP14Iron: 2 - type: entity @@ -111,8 +113,9 @@ - ore1 - ore2 - ore3 - - type: CP14Material - materials: + - type: Material + - type: PhysicalComposition + materialComposition: CP14Gold: 2 - type: entity @@ -156,8 +159,9 @@ - ore1 - ore2 - ore3 - - type: CP14Material - materials: + - type: Material + - type: PhysicalComposition + materialComposition: CP14Mithril: 2 - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/rocks.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/rocks.yml index 9200f11d34..ca76e0a90b 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/rocks.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/rocks.yml @@ -31,9 +31,9 @@ - dirt_2 - dirt_3 - type: Material - - type: PhysicalComposition # точно ли это нужно? + - type: PhysicalComposition materialComposition: - CP14Dirt: 100 + CP14Dirt: 10 - type: CP14MagicEssenceContainer essences: Earth: 1 @@ -71,9 +71,9 @@ - stone_2 - stone_3 - type: Material - - type: PhysicalComposition # точно ли это нужно? + - type: PhysicalComposition materialComposition: - CP14Stone: 100 + CP14Stone: 10 - type: CP14MagicEssenceContainer essences: Earth: 1 @@ -119,9 +119,9 @@ - stone_2 - stone_3 - type: Material - - type: PhysicalComposition # точно ли это нужно? + - type: PhysicalComposition materialComposition: - CP14MarbleStone: 100 + CP14MarbleStone: 10 - type: entity id: CP14MarbleBlock10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml index 52807bc44c..a9882cda92 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/scrap.yml @@ -24,9 +24,9 @@ layers: - state: scrap map: ["random"] - - type: CP14Material - materials: - CP14Copper: 5 + - type: PhysicalComposition + materialComposition: + CP14Copper: 10 - type: entity id: CP14ScrapIron @@ -39,9 +39,9 @@ layers: - state: scrap map: ["random"] - - type: CP14Material - materials: - CP14Iron: 5 + - type: PhysicalComposition + materialComposition: + CP14Iron: 10 - type: entity id: CP14ScrapGold @@ -54,9 +54,9 @@ layers: - state: scrap map: ["random"] - - type: CP14Material - materials: - CP14Gold: 5 + - type: PhysicalComposition + materialComposition: + CP14Gold: 10 - type: entity id: CP14ScrapMithril @@ -69,6 +69,6 @@ layers: - state: scrap map: ["random"] - - type: CP14Material - materials: - CP14Mithril: 5 \ No newline at end of file + - type: PhysicalComposition + materialComposition: + CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml index 1fe3c18135..0b96f4bff0 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml @@ -48,9 +48,9 @@ - cloth_2 - cloth_3 - type: Material - - type: PhysicalComposition # точно ли это нужно? + - type: PhysicalComposition materialComposition: - CP14Cloth: 100 + CP14Cloth: 10 - type: entity id: CP14Cloth10 @@ -75,6 +75,9 @@ - enum.DamageStateVisualLayers.Base: shard1: "" shard2: "" + - type: PhysicalComposition + materialComposition: + CP14Glass: 5 - type: entity id: CP14Snowball diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/wood.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/wood.yml index cca8f99cc5..78d6e9cd97 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/wood.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/wood.yml @@ -51,6 +51,9 @@ collection: WoodDestroy - !type:DoActsBehavior acts: [ "Destruction" ] + - type: PhysicalComposition + materialComposition: + CP14WoodenPlanks: 30 - type: entity id: CP14WoodenPlanks1 @@ -90,9 +93,9 @@ - planks_2 - planks_3 - type: Material - - type: PhysicalComposition # точно ли это нужно? + - type: PhysicalComposition materialComposition: - CP14WoodenPlanks: 100 + CP14WoodenPlanks: 10 - type: Damageable damageContainer: Inorganic damageModifierSet: Wood @@ -145,6 +148,9 @@ - type: Log spawnedPrototype: CP14LucensWoodenPlanks1 spawnCount: 3 + - type: PhysicalComposition + materialComposition: + CP14LucensWoodenPlanks: 30 - type: entity id: CP14LucensWoodenPlanks1 @@ -165,6 +171,9 @@ - planks - planks_2 - planks_3 + - type: PhysicalComposition + materialComposition: + CP14LucensWoodenPlanks: 10 - type: entity id: CP14LucensWoodenPlanks10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml index dc8c385b5f..b17934a49e 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/axe.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronAxe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldAxe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperAxe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilAxe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml index 03365659e7..dec194d306 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/dagger.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronDagger - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldDagger - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperDagger - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilDagger - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml index 5d38abff27..52ebe1922e 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hammer.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronHammer - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldHammer - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperHammer - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilHammer - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hoe.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hoe.yml index e8d79aef63..448e07d2b8 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hoe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/hoe.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronHoe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperHoe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldHoe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilHoe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml index 1c316c8333..7cb2be31d6 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/mace.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronMace - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldMace - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperMace - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilMace - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml index fd2f7dff8b..770ec3ad02 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/pickaxe.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronPickaxe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldPickaxe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperPickaxe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilPickaxe - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml index 37a3f616e0..333a96742b 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/rapier.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronRapier - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldRapier - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperRapier - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilRapier - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml index 55c6ee397d..a5912b61c7 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/shovel.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronShovel - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldShovel - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperShovel - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilShovel - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml index 4d0f873886..d5871f9222 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sickle.yml @@ -23,8 +23,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSickle - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -40,8 +40,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSickle - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -57,8 +57,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSickle - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -74,6 +74,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilSickle - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/skimitar.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/skimitar.yml index be991e9a7e..4f92d0ed83 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/skimitar.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/skimitar.yml @@ -22,8 +22,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSkimitar - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -39,8 +39,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSkimitar - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -56,8 +56,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSkimitar - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -73,6 +73,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilSkimitar - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml index a6ff043116..83cb972c44 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/spear.yml @@ -24,8 +24,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSpear - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -42,8 +42,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSpear - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -60,8 +60,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSpear - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -78,6 +78,6 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilSpear - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml index 5f8ca25369..2eb1264efc 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Blade/sword.yml @@ -22,8 +22,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeIronSword - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -39,8 +39,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeGoldSword - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -56,8 +56,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeCopperSword - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -73,8 +73,8 @@ - type: CP14ModularCraftPart possibleParts: - BladeMithrilSword - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/guildmaster.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/guildmaster.yml index c1b64365be..3fb616d148 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/guildmaster.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/guildmaster.yml @@ -10,4 +10,7 @@ - state: icon - type: CP14ModularCraftPart possibleParts: - - GardeGuildmaster \ No newline at end of file + - GardeGuildmaster + - type: PhysicalComposition + materialComposition: + CP14Gold: 15 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml index 1831d70f92..41ad40f4a0 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sharp.yml @@ -11,8 +11,8 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpIron - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -29,8 +29,8 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpGold - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -47,8 +47,8 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpCopper - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -65,6 +65,6 @@ - type: CP14ModularCraftPart possibleParts: - GardeSharpMithril - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml index 387296df6f..9d0d6e258e 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Garde/sturdy.yml @@ -11,8 +11,8 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyIron - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 10 - type: entity @@ -29,8 +29,8 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyGold - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 10 - type: entity @@ -47,8 +47,8 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyCopper - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 10 - type: entity @@ -65,6 +65,6 @@ - type: CP14ModularCraftPart possibleParts: - GardeSturdyMithril - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Inlay/quartz.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Inlay/quartz.yml index 2b5ec803ba..b52988434e 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Inlay/quartz.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Inlay/quartz.yml @@ -5,6 +5,8 @@ components: - type: Sprite sprite: _CP14/Objects/ModularTools/Inlay/quartz.rsi + - type: StaticPrice + price: 50 - type: entity parent: CP14ModularInlayQuartzBase @@ -50,6 +52,8 @@ - type: CP14ModularCraftPart possibleParts: - InlayQuartzFire + - type: StaticPrice + price: 70 - type: entity parent: CP14ModularInlayQuartzBase diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Tip/arrows.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Tip/arrows.yml index 75843571f5..70ac00016b 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Tip/arrows.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/Tip/arrows.yml @@ -21,8 +21,8 @@ - type: CP14ModularCraftPart possibleParts: - TipIronArrow - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 2 - type: entity @@ -38,8 +38,8 @@ - type: CP14ModularCraftPart possibleParts: - TipGoldArrow - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 2 - type: entity @@ -55,8 +55,8 @@ - type: CP14ModularCraftPart possibleParts: - TipCopperArrow - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 2 - type: entity @@ -72,6 +72,6 @@ - type: CP14ModularCraftPart possibleParts: - TipMithrilArrow - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 2 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml index ecb3255e0b..6c30ce866f 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml @@ -105,6 +105,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14WoodenPlanks: 10 - type: entity parent: CP14ModularGripShort @@ -131,6 +134,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14LucensWoodenPlanks: 10 - type: entity parent: CP14ModularGripShort @@ -155,6 +161,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Iron: 10 - type: entity parent: CP14ModularGripShort @@ -180,6 +189,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Gold: 10 - type: entity parent: CP14ModularGripShort @@ -205,6 +217,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Copper: 10 - type: entity parent: CP14ModularGripShort @@ -230,6 +245,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Mithril: 10 - type: entity parent: CP14ModularGripShort @@ -254,6 +272,10 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Mithril: 10 + CP14Gold: 10 # Long - type: entity @@ -278,6 +300,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14WoodenPlanks: 20 - type: entity parent: CP14ModularGripLong @@ -303,6 +328,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14LucensWoodenPlanks: 20 - type: entity parent: CP14ModularGripLong @@ -326,6 +354,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Iron: 20 - type: entity parent: CP14ModularGripIronLong @@ -336,6 +367,8 @@ state: icon - type: CP14ModularCraftStartPoint startProtoPart: CP14ModularGripIronLongGuard + - type: StaticPrice + price: 10 - type: entity parent: CP14ModularGripLong @@ -361,6 +394,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Gold: 20 - type: entity parent: CP14ModularGripLong @@ -386,6 +422,9 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Copper: 20 - type: entity @@ -412,3 +451,6 @@ - !type:CP14ModularDisassembleBehavior - !type:DoActsBehavior acts: ["Destruction"] + - type: PhysicalComposition + materialComposition: + CP14Mithril: 20 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/tools.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/tools.yml index 3c587b8674..8b233a011e 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/tools.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/tools.yml @@ -70,6 +70,9 @@ damage: types: Blunt: 5 + - type: PhysicalComposition + materialComposition: + CP14Iron: 30 - type: entity id: CP14Pestle @@ -91,6 +94,9 @@ guides: - CP14_RU_Alchemy - CP14_EN_Alchemy + - type: PhysicalComposition + materialComposition: + CP14Stone: 5 - type: entity id: CP14Mortar @@ -169,6 +175,9 @@ guides: - CP14_RU_Alchemy - CP14_EN_Alchemy + - type: PhysicalComposition + materialComposition: + CP14Stone: 10 - type: entity parent: BaseItem @@ -264,4 +273,8 @@ fillBaseName: syringe - type: Tag tags: - - Syringe \ No newline at end of file + - Syringe + - type: PhysicalComposition + materialComposition: + CP14Glass: 10 + CP14Iron: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vials.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vials.yml index 9d5717940b..40c1023b4b 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vials.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vials.yml @@ -147,6 +147,9 @@ fillBaseName: liq- - type: Injector maxTransferAmount: 5 + - type: PhysicalComposition + materialComposition: + CP14Glass: 10 - type: entity id: CP14VialTinyReinforced @@ -178,6 +181,10 @@ fillBaseName: liq- - type: Injector maxTransferAmount: 5 + - type: PhysicalComposition + materialComposition: + CP14Glass: 10 + CP14Copper: 10 - type: entity id: CP14VialSmall @@ -205,6 +212,9 @@ - type: SolutionContainerVisuals maxFillLevels: 5 fillBaseName: liq- + - type: PhysicalComposition + materialComposition: + CP14Glass: 20 - type: entity id: CP14VialSmallReinforced @@ -234,6 +244,10 @@ - type: SolutionContainerVisuals maxFillLevels: 5 fillBaseName: liq- + - type: PhysicalComposition + materialComposition: + CP14Glass: 20 + CP14Copper: 10 - type: entity id: CP14VialMedium @@ -262,7 +276,10 @@ maxVol: 50 - type: SolutionContainerVisuals maxFillLevels: 5 - fillBaseName: liq- + fillBaseName: liq- + - type: PhysicalComposition + materialComposition: + CP14Glass: 40 - type: entity id: CP14VialMediumReinforced @@ -294,4 +311,8 @@ maxFillLevels: 5 fillBaseName: liq- - type: Injector - transferAmount: 10 \ No newline at end of file + transferAmount: 10 + - type: PhysicalComposition + materialComposition: + CP14Glass: 40 + CP14Copper: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/crossbowBolts.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/crossbowBolts.yml index 991923ad30..c36d4ea830 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/crossbowBolts.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/Ammunition/crossbowBolts.yml @@ -31,8 +31,8 @@ - state: solution1 map: ["enum.SolutionContainerLayers.Fill"] visible: false - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Iron: 3 - type: entity @@ -55,8 +55,8 @@ - state: solution1 map: ["enum.SolutionContainerLayers.Fill"] visible: false - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Gold: 3 - type: entity @@ -79,8 +79,8 @@ - state: solution1 map: ["enum.SolutionContainerLayers.Fill"] visible: false - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Copper: 3 - type: entity @@ -103,6 +103,6 @@ - state: solution1 map: ["enum.SolutionContainerLayers.Fill"] visible: false - - type: CP14Material - materials: + - type: PhysicalComposition + materialComposition: CP14Mithril: 3 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/lightCrossbow.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/lightCrossbow.yml index b3c6a36184..ee65583eb4 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/lightCrossbow.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Ranged/lightCrossbow.yml @@ -52,6 +52,4 @@ unwielded-arrow: whitelist: tags: - - CP14CrossbowBolt - - type: CP14Currency - currency: 2500 \ No newline at end of file + - CP14CrossbowBolt \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Stations/base.yml b/Resources/Prototypes/_CP14/Entities/Stations/base.yml index 15e7d2749c..f3ed2fed25 100644 --- a/Resources/Prototypes/_CP14/Entities/Stations/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Stations/base.yml @@ -9,6 +9,7 @@ - BaseStationRecords # Required for lobby manifest + cryo leave - CP14BaseStationCommonObjectives - CP14BaseStationDemiplaneMap + - CP14BaseStationEconomy - type: entity id: CP14BaseStationCommonObjectives @@ -28,3 +29,9 @@ abstract: true components: - type: CP14StationDemiplaneMap + +- type: entity + id: CP14BaseStationEconomy + abstract: true + components: + - type: CP14StationEconomy diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Blacksmith/sharpening_stone.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Blacksmith/sharpening_stone.yml index 696e9467ed..02a500c03b 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Blacksmith/sharpening_stone.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Blacksmith/sharpening_stone.yml @@ -18,7 +18,8 @@ fix1: shape: !type:PhysShapeAabb - bounds: "-0.08,-0.35,0.15,0.25" + bounds: "-0.45,-0.45,0.45,0.45" + density: 55 mask: - TabletopMachineMask layer: @@ -26,6 +27,15 @@ - MidImpassable - LowImpassable hard: false + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.45,-0.45,0.45,0.45" + density: 55 + mask: + - TableMask + layer: + - TableLayer - type: Damageable damageContainer: Inorganic - type: Destructible diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_board.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_board.yml deleted file mode 100644 index 9b4987cbe6..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_board.yml +++ /dev/null @@ -1,27 +0,0 @@ -- type: entity - parent: BaseStructure - id: CP14TradingBoardBase - name: trading information board - description: Allows you to track what is selling and buying right now. - categories: [ ForkFiltered ] - 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: CP14TradingInfoBoard - - type: UserInterface - interfaces: - enum.CP14StoreUiKey.Key: - type: CP14StoreBoundUserInterface - - type: GuideHelp - guides: - - CP14_RU_Trading - - CP14_EN_Trading \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml new file mode 100644 index 0000000000..1b4d6ba628 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml @@ -0,0 +1,121 @@ +- type: entity + parent: BaseStructure + id: CP14TradingPlatform + name: buying dimensional platform + description: Allows you to trade with the outside world, through retail trade transactions. + categories: [ ForkFiltered ] + components: + - type: Sprite + snapCardinals: true + sprite: _CP14/Structures/Specific/Economy/buy_platform.rsi + layers: + - state: base + - state: buy + - type: Icon + sprite: _CP14/Structures/Specific/Economy/buy_platform.rsi + state: base + - type: ActivatableUI + singleUser: true + key: enum.CP14TradingUiKey.Key + - type: Clickable + - type: InteractionOutline + - type: CP14TradingPlatform + - type: UserInterface + interfaces: + enum.CP14TradingUiKey.Key: + type: CP14TradingPlatformBoundUserInterface + - type: PlaceableSurface + - type: ItemPlacer + maxEntities: 0 + whitelist: + tags: + - CP14Coin + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + mask: + - TabletopMachineMask + layer: + - Impassable + - MidImpassable + - LowImpassable + hard: false + #- type: GuideHelp + # guides: + # - CP14_RU_Trading + # - CP14_EN_Trading + +- type: entity + parent: BaseStructure + id: CP14TradingSellingPlatform + name: selling dimensional platform + description: Allows you to sell any items and structures to the outside world. Fill the platform completely with mana to sell whatever you place on it. + categories: [ ForkFiltered ] + components: + - type: Sprite + snapCardinals: true + sprite: _CP14/Structures/Specific/Economy/buy_platform.rsi + layers: + - state: base + - state: sell + - type: Icon + sprite: _CP14/Structures/Specific/Economy/buy_platform.rsi + state: base + - type: Clickable + - type: InteractionOutline + - type: CP14SellingPlatform + - type: PlaceableSurface + - type: ItemPlacer + maxEntities: 0 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + mask: + - TabletopMachineMask + layer: + - Impassable + - MidImpassable + - LowImpassable + hard: false + - type: CP14MagicEnergyContainer + maxEnergy: 30 + energy: 0 + unsafeSupport: true + - type: CP14MagicEnergyDraw + energy: -1 + delay: 3 # 5m to full restore + - type: CP14MagicUnsafeDamage + - type: CP14MagicEnergyExaminable + +- type: entity + id: CP14CashImpact + categories: [ HideSpawnMenu ] + save: false + components: + - type: Sprite + snapCardinals: true + sprite: _CP14/Structures/Specific/Economy/buy_platform.rsi + layers: + - state: impact + shader: unshaded + color: "#8f42ff" + drawdepth: Effects + - type: TimedDespawn + lifetime: 2 + - type: Tag + tags: + - HideContextMenu + - type: PointLight + color: "#8f42ff" + enabled: true + radius: 8 + energy: 8 + netsync: false + - type: LightFade + duration: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_portal.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_portal.yml deleted file mode 100644 index d55464dd2a..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_portal.yml +++ /dev/null @@ -1,120 +0,0 @@ -- type: entity - parent: BaseStructure - id: CP14TradingPortalBase - abstract: true - name: trade cabinet - description: A dimensional closet connected to a similar closet elsewhere. Not capable of moving living creatures, but great for trading at a distance. - categories: [ ForkFiltered ] - components: - - type: Icon - sprite: _CP14/Structures/Specific/Economy/trade_portal.rsi - state: base - - type: Sprite - drawdepth: Mobs - sprite: _CP14/Structures/Specific/Economy/trade_portal.rsi - - type: Clickable - - type: InteractionOutline - - type: CP14TradingPortal - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.4,-0.4,0.4,0.29" - density: 50 - mask: - - SmallMobMask #this is so they can go under plastic flaps - layer: - - MachineLayer - - type: ResistLocker - - type: Appearance - - type: ContainerContainer - containers: - entity_storage: !type:Container - - type: EntityStorage - open: true - isCollidableWhenOpen: true - closeSound: - path: /Audio/Effects/woodenclosetclose.ogg - openSound: - path: /Audio/Effects/woodenclosetopen.ogg - enteringOffset: 0, -0.4 - enteringRange: 0.20 - - type: PlaceableSurface - isPlaceable: false # defaults to closed. - - type: EntityStorageVisuals - stateBaseClosed: base - stateDoorOpen: base_open - stateDoorClosed: base_door - - type: GuideHelp - guides: - - CP14_RU_Trading - - CP14_EN_Trading - -- type: entity - parent: CP14TradingPortalBase - id: CP14TradingPortalSylphoria - suffix: Sylphoria - components: - - type: Sprite - layers: - - state: base - map: ["enum.StorageVisualLayers.Base"] - - state: base_door - map: ["enum.StorageVisualLayers.Door"] - shader: unshaded - - state: flag_sylphoria - - type: CP14TradingPortal - faction: Sylphoria - specialSellPositionCount: 5 - -- type: entity - parent: CP14TradingPortalBase - id: CP14TradingPortalHelmirWeapon - suffix: HelmirWeapon - components: - - type: Sprite - layers: - - state: base - map: ["enum.StorageVisualLayers.Base"] - - state: base_door - map: ["enum.StorageVisualLayers.Door"] - shader: unshaded - - state: flag_helmir - - type: CP14TradingPortal - faction: HelmirWeapon - specialSellPositionCount: 5 - -- type: entity - parent: CP14TradingPortalBase - id: CP14TradingPortalBradFamily - suffix: BradFamily - components: - - type: Sprite - layers: - - state: base - map: ["enum.StorageVisualLayers.Base"] - - state: base_door - map: ["enum.StorageVisualLayers.Door"] - shader: unshaded - - state: flag_bard - - type: CP14TradingPortal - faction: BradFamily - specialSellPositionCount: 5 - -- type: entity - parent: CP14TradingPortalBase - id: CP14TradingPortalSpiceStream - suffix: SpiceStream - components: - - type: Sprite - layers: - - state: base - map: ["enum.StorageVisualLayers.Base"] - - state: base_door - map: ["enum.StorageVisualLayers.Door"] - shader: unshaded - - state: flag_spice - - type: CP14TradingPortal - faction: SpiceStream - specialSellPositionCount: 5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Guidebook/Eng/jobs.yml b/Resources/Prototypes/_CP14/Guidebook/Eng/jobs.yml index 45399c76c8..e127868ddf 100644 --- a/Resources/Prototypes/_CP14/Guidebook/Eng/jobs.yml +++ b/Resources/Prototypes/_CP14/Guidebook/Eng/jobs.yml @@ -6,7 +6,6 @@ children: - CP14_EN_JobAdventurer - CP14_EN_JobAlchemist - - CP14_EN_JobMerchant filterEnabled: True @@ -27,13 +26,4 @@ text: "/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Alchemist.xml" children: - CP14_EN_Alchemy - filterEnabled: True - -- type: guideEntry - crystallPunkAllowed: true - id: CP14_EN_JobMerchant - name: Merchant - text: "/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Merchant.xml" - children: - - CP14_EN_Trading filterEnabled: True \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Guidebook/Eng/misc.yml b/Resources/Prototypes/_CP14/Guidebook/Eng/misc.yml index cc5fa9a96d..633ebc1905 100644 --- a/Resources/Prototypes/_CP14/Guidebook/Eng/misc.yml +++ b/Resources/Prototypes/_CP14/Guidebook/Eng/misc.yml @@ -14,9 +14,11 @@ - type: guideEntry crystallPunkAllowed: true - id: CP14_EN_Trading - name: External trade - text: "/ServerInfo/_CP14/Guidebook_EN/JobsTabs/MerchantTabs/Trading.xml" + id: CP14_EN_Locks_and_Keys + name: Locks and Keys + text: "/ServerInfo/_CP14/Guidebook_EN/LocksKeys.xml" + children: + - CP14_EN_Lockpicking filterEnabled: True - type: guideEntry @@ -24,13 +26,4 @@ id: CP14_EN_Lockpicking name: Lockpicking text: "/ServerInfo/_CP14/Guidebook_EN/Lockpicking.xml" - filterEnabled: True - -- type: guideEntry - crystallPunkAllowed: true - id: CP14_EN_Locks_and_Keys - name: Locks and Keys - text: "/ServerInfo/_CP14/Guidebook_EN/LocksKeys.xml" - children: - - CP14_EN_Lockpicking - filterEnabled: True + filterEnabled: True \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Guidebook/Ru/jobs.yml b/Resources/Prototypes/_CP14/Guidebook/Ru/jobs.yml index d517b0d45b..2443b0be69 100644 --- a/Resources/Prototypes/_CP14/Guidebook/Ru/jobs.yml +++ b/Resources/Prototypes/_CP14/Guidebook/Ru/jobs.yml @@ -6,7 +6,6 @@ children: - CP14_RU_JobAdventurer - CP14_RU_JobAlchemist - - CP14_RU_JobMerchant filterEnabled: True @@ -27,13 +26,4 @@ text: "/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Alchemist.xml" children: - CP14_RU_Alchemy - filterEnabled: True - -- type: guideEntry - crystallPunkAllowed: true - id: CP14_RU_JobMerchant - name: Торговец - text: "/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Merchant.xml" - children: - - CP14_RU_Trading filterEnabled: True \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Guidebook/Ru/misc.yml b/Resources/Prototypes/_CP14/Guidebook/Ru/misc.yml index 5d04c625da..95c3f9a7a4 100644 --- a/Resources/Prototypes/_CP14/Guidebook/Ru/misc.yml +++ b/Resources/Prototypes/_CP14/Guidebook/Ru/misc.yml @@ -14,9 +14,11 @@ - type: guideEntry crystallPunkAllowed: true - id: CP14_RU_Trading - name: Внешняя торговля - text: "/ServerInfo/_CP14/Guidebook_RU/JobsTabs/MerchantTabs/Trading.xml" + id: CP14_RU_Locks_and_Keys + name: Замки и ключи + text: "/ServerInfo/_CP14/Guidebook_RU/LocksKeys.xml" + children: + - CP14_RU_Lockpicking filterEnabled: True - type: guideEntry @@ -24,13 +26,4 @@ id: CP14_RU_Lockpicking name: Взлом замков text: "/ServerInfo/_CP14/Guidebook_RU/Lockpicking.xml" - filterEnabled: True - -- type: guideEntry - crystallPunkAllowed: true - id: CP14_RU_Locks_and_Keys - name: Замки и ключи - text: "/ServerInfo/_CP14/Guidebook_RU/LocksKeys.xml" - children: - - CP14_RU_Lockpicking - filterEnabled: True + filterEnabled: True \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml index 3225e3cdb8..f4c0701744 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml @@ -155,7 +155,7 @@ loadouts: - CP14ClothingEyesMonocle - CP14ClothingEyesGlasses - + - CP14ClothingEyesEyePatch - type: loadout id: CP14ClothingEyesMonocle equipment: @@ -164,7 +164,12 @@ - type: loadout id: CP14ClothingEyesGlasses equipment: - eyes: CP14ClothingEyesGlasses + eyes: CP14ClothingEyesGlasses + +- type: loadout + id: CP14ClothingEyesEyePatch + equipment: + eyes: CP14ClothingEyesEyePatch # Gloves diff --git a/Resources/Prototypes/_CP14/Materials/simple.yml b/Resources/Prototypes/_CP14/Materials/simple.yml index b50a476edb..4969c4f1ec 100644 --- a/Resources/Prototypes/_CP14/Materials/simple.yml +++ b/Resources/Prototypes/_CP14/Materials/simple.yml @@ -5,7 +5,16 @@ unit: materials-unit-plank icon: { sprite: _CP14/Objects/Materials/wood.rsi, state: planks_2 } color: "#874d3a" - price: 0 + price: 0.1 + +- type: material + id: CP14LucensWoodenPlanks + stackEntity: CP14LucensWoodenPlanks1 + name: cp14-material-lucens-planks + unit: materials-unit-bar + icon: { sprite: _CP14/Objects/Materials/wood_lucens.rsi, state: planks_2 } + color: "#1a1e22" + price: 1 - type: material id: CP14Dirt @@ -23,7 +32,15 @@ unit: materials-unit-chunk icon: { sprite: _CP14/Objects/Materials/stone_block.rsi, state: stone_2 } color: "#555963" - price: 0 + price: 0.02 + +- type: material + id: CP14Glass + stackEntity: CP14GlassSheet1 + name: materials-glass + icon: { sprite: _CP14/Objects/Materials/glass.rsi, state: glass_2 } + color: "#555963" + price: 0.15 - type: material id: CP14MarbleStone @@ -32,7 +49,7 @@ unit: materials-unit-chunk icon: { sprite: _CP14/Objects/Materials/marble_block.rsi, state: stone_2 } color: "#555963" - price: 0 + price: 0.15 - type: material id: CP14Cloth @@ -41,7 +58,7 @@ unit: materials-unit-roll icon: { sprite: _CP14/Objects/Materials/cloth.rsi, state: cloth_3 } color: "#d8e3e2" - price: 0 + price: 0.3 - type: material id: CP14Copper @@ -50,7 +67,7 @@ unit: materials-unit-bar icon: { sprite: _CP14/Objects/Materials/copper_scrap.rsi, state: scrap } color: "#9a5e22" - price: 0 + price: 1 - type: material id: CP14Iron @@ -59,7 +76,7 @@ unit: materials-unit-bar icon: { sprite: _CP14/Objects/Materials/iron_scrap.rsi, state: scrap_2 } color: "#9093a1" - price: 0 + price: 2 - type: material id: CP14Gold @@ -68,7 +85,7 @@ unit: materials-unit-bar icon: { sprite: _CP14/Objects/Materials/gold_scrap.rsi, state: scrap_3 } color: "#FFD700" - price: 0 + price: 5 - type: material id: CP14Mithril @@ -77,16 +94,7 @@ unit: materials-unit-bar icon: { sprite: _CP14/Objects/Materials/mithril_scrap.rsi, state: scrap } color: "#006c83" - price: 0 - -- type: material - id: CP14LucensWoodenPlanks - stackEntity: CP14LucensWoodenPlanks1 - name: cp14-material-lucens-planks - unit: materials-unit-bar - icon: { sprite: _CP14/Objects/Materials/wood_lucens.rsi, state: planks_2 } - color: "#1a1e22" - price: 0 + price: 5 - type: material id: CP14FloraMaterial @@ -95,7 +103,7 @@ unit: materials-unit-bunch icon: { sprite: _CP14/Objects/Materials/flora.rsi, state: grass_material1 } color: "#85903e" - price: 0 + price: 0.01 - type: material id: CP14Ash diff --git a/Resources/Prototypes/_CP14/Objectives/empire_orders.yml b/Resources/Prototypes/_CP14/Objectives/empire_orders.yml index debc0c0d88..a8f7fdf658 100644 --- a/Resources/Prototypes/_CP14/Objectives/empire_orders.yml +++ b/Resources/Prototypes/_CP14/Objectives/empire_orders.yml @@ -5,52 +5,4 @@ components: - type: Objective issuer: cp14-objective-issuer-town - difficulty: 1 - - -# Send group -- type: entity - abstract: true - parent: CP14BaseTownObjective - id: CP14BaseTownSendObjective - components: - - type: CP14TownSendCondition - minCollectionSize: 5 - maxCollectionSize: 10 - objectiveText: cp14-objective-town-send-title - objectiveDescription: cp14-objective-town-send-desc - - type: Objective - -- type: entity - parent: CP14BaseTownSendObjective - id: CP14TownSendDinoObjective - components: - - type: CP14TownSendCondition - collectGroup: CP14Dino - minCollectionSize: 10 - maxCollectionSize: 20 - -- type: entity - parent: CP14BaseTownSendObjective - id: CP14TownSendMoleObjective - components: - - type: CP14TownSendCondition - collectGroup: CP14Mole - minCollectionSize: 10 - maxCollectionSize: 20 - -- type: entity - parent: CP14BaseTownSendObjective - id: CP14TownSendBoarObjective - components: - - type: CP14TownSendCondition - collectGroup: CP14Boar - minCollectionSize: 15 - maxCollectionSize: 20 - -- type: weightedRandom - id: CP14TownSendObjectiveGroup - weights: - CP14TownSendDinoObjective: 1 - CP14TownSendMoleObjective: 1 - CP14TownSendBoarObjective: 1 \ No newline at end of file + difficulty: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Procedural/caves.yml b/Resources/Prototypes/_CP14/Procedural/caves.yml index 9ed92c7a80..633223c141 100644 --- a/Resources/Prototypes/_CP14/Procedural/caves.yml +++ b/Resources/Prototypes/_CP14/Procedural/caves.yml @@ -43,18 +43,18 @@ - CP14FloorBase entities: - CP14WallStone - # Lakes + #Rivers - !type:BiomeEntityLayer + threshold: 0.60 + noise: + seed: 3 + noiseType: OpenSimplex2 + frequency: 0.05 + lacunarity: 1.50 + fractalType: Ridged + octaves: 1 allowedTiles: - CP14FloorBase - threshold: 0.8 - noise: - seed: 14 - noiseType: OpenSimplex2 - fractalType: FBm - frequency: 0.01 - domainWarpType: OpenSimplex2 - domainWarpAmp: 150 entities: - CP14FloorWater diff --git a/Resources/Prototypes/_CP14/Reagents/Consumable/Drink/alcohol.yml b/Resources/Prototypes/_CP14/Reagents/Consumable/Drink/alcohol.yml index b3aa5bb00d..fc84cc841d 100644 --- a/Resources/Prototypes/_CP14/Reagents/Consumable/Drink/alcohol.yml +++ b/Resources/Prototypes/_CP14/Reagents/Consumable/Drink/alcohol.yml @@ -56,6 +56,7 @@ - !type:Drunk boozePower: 2 fizziness: 0.8 + pricePerUnit: 2 - type: reagent id: CP14Beer @@ -74,6 +75,7 @@ - !type:Emote emote: Laugh probability: 0.05 + pricePerUnit: 1 - type: reagent id: CP14BeerGerbil @@ -91,6 +93,7 @@ - !type:AdjustReagent reagent: CP14Beer amount: 0.2 + pricePerUnit: 1.33 - type: reagent id: CP14BeerBreeze @@ -108,6 +111,7 @@ - !type:AdjustReagent reagent: CP14Beer amount: 0.2 + pricePerUnit: 0.44 - type: reagent id: CP14BeerBlowLaw @@ -125,6 +129,7 @@ - !type:AdjustReagent reagent: CP14Beer amount: 0.3 + pricePerUnit: 1.67 - type: reagent id: CP14Wine @@ -140,6 +145,7 @@ effects: - !type:ModifyBloodLevel amount: 0.4 + pricePerUnit: 1.98 - type: reagent id: CP14WineZellasianPleasure @@ -158,6 +164,7 @@ - !type:AdjustReagent reagent: CP14Wine amount: 0.3 + pricePerUnit: 1.12 - type: reagent id: CP14WineLeeks @@ -175,6 +182,7 @@ - !type:AdjustReagent reagent: CP14Wine amount: 0.2 + pricePerUnit: 1 - type: reagent id: CP14WineDurandate @@ -193,6 +201,7 @@ - !type:AdjustReagent reagent: CP14Wine amount: 0.1 + pricePerUnit: 1 - type: reagent id: CP14Ale @@ -211,6 +220,7 @@ - !type:Emote emote: Laugh probability: 0.05 + pricePerUnit: 0.5 - type: reagent id: CP14AleBloodyTear @@ -228,6 +238,7 @@ - !type:AdjustReagent reagent: CP14Ale amount: 0.2 + pricePerUnit: 1 - type: reagent id: CP14AleBottomless @@ -246,3 +257,4 @@ - !type:AdjustReagent reagent: CP14Ale amount: 0.2 + pricePerUnit: 2 diff --git a/Resources/Prototypes/_CP14/Reagents/magic_essence.yml b/Resources/Prototypes/_CP14/Reagents/magic_essence.yml index 3b414b59e8..bca8c91bb6 100644 --- a/Resources/Prototypes/_CP14/Reagents/magic_essence.yml +++ b/Resources/Prototypes/_CP14/Reagents/magic_essence.yml @@ -9,6 +9,7 @@ effects: - !type:ChemVomit probability: 0.25 + pricePerUnit: 0.05 # Basic 6 @@ -82,6 +83,12 @@ - type: reagent parent: CP14EssenceBase + id: CP14EssenceBaseT1 + abstract: true + pricePerUnit: 0.1 + +- type: reagent + parent: CP14EssenceBaseT1 id: CP14EssenceFrost name: cp14-reagent-name-essence-frost desc: cp14-reagent-desc-essence-frost @@ -92,7 +99,7 @@ entity: CP14EssenceFrost - type: reagent - parent: CP14EssenceBase + parent: CP14EssenceBaseT1 id: CP14EssenceLight name: cp14-reagent-name-essence-light desc: cp14-reagent-desc-essence-light @@ -103,7 +110,7 @@ entity: CP14EssenceLight - type: reagent - parent: CP14EssenceBase + parent: CP14EssenceBaseT1 id: CP14EssenceMotion name: cp14-reagent-name-essence-motion desc: cp14-reagent-desc-essence-motion @@ -114,7 +121,7 @@ entity: CP14EssenceMotion - type: reagent - parent: CP14EssenceBase + parent: CP14EssenceBaseT1 id: CP14EssenceCycle name: cp14-reagent-name-essence-cycle desc: cp14-reagent-desc-essence-cycle @@ -125,7 +132,7 @@ entity: CP14EssenceCycle - type: reagent - parent: CP14EssenceBase + parent: CP14EssenceBaseT1 id: CP14EssenceEnergia name: cp14-reagent-name-essence-energia desc: cp14-reagent-desc-essence-energia @@ -136,7 +143,7 @@ entity: CP14EssenceEnergia - type: reagent - parent: CP14EssenceBase + parent: CP14EssenceBaseT1 id: CP14EssenceVoid name: cp14-reagent-name-essence-void desc: cp14-reagent-desc-essence-void @@ -147,7 +154,7 @@ entity: CP14EssenceVoid - type: reagent - parent: CP14EssenceBase + parent: CP14EssenceBaseT1 id: CP14EssencePoison name: cp14-reagent-name-essence-poison desc: cp14-reagent-desc-essence-poison @@ -158,7 +165,7 @@ entity: CP14EssencePoison - type: reagent - parent: CP14EssenceBase + parent: CP14EssenceBaseT1 id: CP14EssenceLife name: cp14-reagent-name-essence-life desc: cp14-reagent-desc-essence-life @@ -169,7 +176,7 @@ entity: CP14EssenceLife - type: reagent - parent: CP14EssenceBase + parent: CP14EssenceBaseT1 id: CP14EssenceCrystal name: cp14-reagent-name-essence-crystal desc: cp14-reagent-desc-essence-crystal @@ -183,6 +190,12 @@ - type: reagent parent: CP14EssenceBase + id: CP14EssenceBaseT2 + abstract: true + pricePerUnit: 0.2 + +- type: reagent + parent: CP14EssenceBaseT2 id: CP14EssenceMagic name: cp14-reagent-name-essence-magic desc: cp14-reagent-desc-essence-magic diff --git a/Resources/Prototypes/_CP14/Reagents/precurser.yml b/Resources/Prototypes/_CP14/Reagents/precurser.yml index 69632e2192..72869c0ffc 100644 --- a/Resources/Prototypes/_CP14/Reagents/precurser.yml +++ b/Resources/Prototypes/_CP14/Reagents/precurser.yml @@ -14,6 +14,7 @@ collection: FootstepBlood params: volume: 6 + pricePerUnit: 0.1 - type: reagent id: CP14YellowDayflinPulp @@ -23,6 +24,7 @@ flavor: CP14Sweetly color: "#ffe269" physicalDesc: cp14-reagent-physical-desc-pureed + pricePerUnit: 0.1 - type: reagent id: CP14AirLily @@ -49,6 +51,7 @@ showInChat: false emote: Cough probability: 0.3 + pricePerUnit: 0.2 - type: reagent id: CP14WildSageSap @@ -71,6 +74,7 @@ type: Add time: 3 refresh: false + pricePerUnit: 0.15 # Fungus based @@ -99,6 +103,7 @@ type: Add time: 6 refresh: false + pricePerUnit: 0.2 - type: reagent id: CP14LumiMushroom @@ -125,6 +130,7 @@ type: Add time: 6 refresh: false + pricePerUnit: 0.2 - type: reagent id: CP14BlueAmanita @@ -149,6 +155,7 @@ damage: types: Poison: 0.1 + pricePerUnit: 0.2 # Slime based @@ -168,6 +175,7 @@ - !type:SatiateThirst - !type:ChemVomit probability: 0.05 + pricePerUnit: 0.7 # Inorganic @@ -208,4 +216,5 @@ key: ForcedSleep component: ForcedSleeping refresh: false - type: Add \ No newline at end of file + type: Add + pricePerUnit: 1.2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Reagents/target_effects.yml b/Resources/Prototypes/_CP14/Reagents/target_effects.yml index 43b07bffff..0ea8e6ca00 100644 --- a/Resources/Prototypes/_CP14/Reagents/target_effects.yml +++ b/Resources/Prototypes/_CP14/Reagents/target_effects.yml @@ -29,6 +29,7 @@ damage: groups: Brute: -6 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectDamageBrute @@ -47,6 +48,7 @@ damage: groups: Brute: 3 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectHealHeat @@ -65,6 +67,7 @@ damage: types: Heat: -10 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectDamageHeat @@ -87,6 +90,7 @@ - !type:AdjustTemperature amount: 2000 - !type:Ignite + pricePerUnit: 2 - type: reagent id: CP14BasicEffectHealCold @@ -105,6 +109,7 @@ damage: types: Cold: -10 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectDamageCold @@ -123,6 +128,7 @@ damage: types: Cold: 3 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectHealPoison @@ -141,6 +147,7 @@ damage: types: Poison: -10 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectDamagePoison @@ -159,6 +166,7 @@ damage: types: Poison: 3 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectHealAirloss @@ -177,6 +185,7 @@ damage: types: Asphyxiation: -10 + pricePerUnit: 3 - type: reagent id: CP14BasicEffectDamageAirloss @@ -195,6 +204,7 @@ damage: types: Asphyxiation: 3 + pricePerUnit: 3 - type: reagent id: CP14BasicEffectHealManaDepletion @@ -213,6 +223,7 @@ damage: types: CP14ManaDepletion: -10 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectDamageManaDepletion @@ -231,6 +242,7 @@ damage: types: CP14ManaDepletion: 3 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectBloodRestore @@ -247,6 +259,7 @@ effects: - !type:ModifyBloodLevel amount: 20 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectBloodAbsorption @@ -263,6 +276,7 @@ effects: - !type:ModifyBloodLevel amount: -10 + pricePerUnit: 2 - type: reagent id: CP14BasicEffectSatiateHunger @@ -282,6 +296,7 @@ - !type:OrganType type: CP14Vampire shouldHave: false + pricePerUnit: 1 - type: reagent id: CP14BasicEffectSatiateThirst @@ -297,6 +312,7 @@ effects: - !type:SatiateThirst factor: 15 + pricePerUnit: 1 - type: reagent id: CP14BasicEffectHealMana @@ -313,6 +329,7 @@ - !type:CP14ManaChange manaDelta: 1.5 safe: true + pricePerUnit: 3 - type: reagent id: CP14BasicEffectDamageMana @@ -329,6 +346,7 @@ - !type:CP14ManaChange manaDelta: -1.5 safe: false + pricePerUnit: 3 - type: reagent id: CP14BasicEffectSpeedUp @@ -349,6 +367,7 @@ - !type:GenericStatusEffect key: Stutter component: StutteringAccent + pricePerUnit: 2 - type: reagent id: CP14BasicEffectSpeedDown @@ -369,6 +388,7 @@ - !type:GenericStatusEffect key: Stutter component: StutteringAccent + pricePerUnit: 2 - type: reagent id: CP14BasicEffectSleep @@ -390,6 +410,7 @@ key: ForcedSleep component: ForcedSleeping type: Add + pricePerUnit: 3 - type: reagent id: CP14BasicEffectUnsleep @@ -423,6 +444,7 @@ min: 1 reagent: CP14BasicEffectSleep amount: -10 + pricePerUnit: 1 # Gimmick solutions, otherwise doesn't give a mechanical benefit @@ -444,6 +466,7 @@ type: Add time: 25 refresh: false + pricePerUnit: 1 - type: reagent id: CP14BasicEffectEmoteCough @@ -491,6 +514,7 @@ effects: - !type:Drunk boozePower: 15 + pricePerUnit: 0.5 - type: reagent id: CP14BasicEffectJitter diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml index 15b422b43a..2cf259b00f 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/furnace.yml @@ -144,7 +144,7 @@ - GlassMelting - !type:StackResource stack: CP14GlassSheet - count: 6 + count: 4 result: CP14VialMedium - type: CP14Recipe @@ -160,7 +160,7 @@ count: 1 - !type:StackResource stack: CP14GlassSheet - count: 6 + count: 4 result: CP14VialMediumReinforced - type: CP14Recipe diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Traders/merchant.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Traders/merchant.yml index b5e23c6bb0..66f352f854 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Traders/merchant.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Traders/merchant.yml @@ -1,6 +1,6 @@ - type: job id: CP14Merchant - setPreference: false + setPreference: true name: cp14-job-name-merchant description: cp14-job-desc-merchant playTimeTracker: CP14JobMerchant @@ -18,5 +18,5 @@ - CP14EnergyCrystalMedium - CP14EnergyCrystalMedium equipment: - belt1: CP14WalletFilledTest + belt1: CP14WalletFilledMerchant keys: CP14KeyRingMerchant \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Skill/healing.yml b/Resources/Prototypes/_CP14/Skill/healing.yml index 76077fcec5..87cbaec7db 100644 --- a/Resources/Prototypes/_CP14/Skill/healing.yml +++ b/Resources/Prototypes/_CP14/Skill/healing.yml @@ -38,6 +38,20 @@ - !type:NeedPrerequisite prerequisite: HealingT1 +- type: cp14Skill + id: CP14ActionSpellSheepPolymorph + skillUiPosition: 0, 4 + tree: Healing + icon: + sprite: _CP14/Actions/Spells/misc.rsi + state: polymorph + effects: + - !type:AddAction + action: CP14ActionSpellSheepPolymorph + restrictions: + - !type:NeedPrerequisite + prerequisite: HealingT1 + - type: cp14Skill id: CP14ActionSpellSpeedBallade skillUiPosition: 0, 6 @@ -142,4 +156,4 @@ action: CP14ActionSpellResurrection restrictions: - !type:NeedPrerequisite - prerequisite: HealingT3 \ No newline at end of file + prerequisite: HealingT3 diff --git a/Resources/Prototypes/_CP14/SoundCollections/misc.yml b/Resources/Prototypes/_CP14/SoundCollections/misc.yml index 1a068e78ce..198d7777c9 100644 --- a/Resources/Prototypes/_CP14/SoundCollections/misc.yml +++ b/Resources/Prototypes/_CP14/SoundCollections/misc.yml @@ -34,3 +34,10 @@ - /Audio/_CP14/Effects/Lurker/ritual1.ogg - /Audio/_CP14/Effects/Lurker/ritual2.ogg - /Audio/_CP14/Effects/Lurker/ritual3.ogg + +- type: soundCollection + id: CP14CoinImpact + files: + - /Audio/_CP14/Effects/coin_impact1.ogg + - /Audio/_CP14/Effects/coin_impact2.ogg + - /Audio/_CP14/Effects/coin_impact3.ogg \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Trading/brad_potions.yml b/Resources/Prototypes/_CP14/Trading/brad_potions.yml new file mode 100644 index 0000000000..d29cb47bcc --- /dev/null +++ b/Resources/Prototypes/_CP14/Trading/brad_potions.yml @@ -0,0 +1,212 @@ +- type: cp14TradingPosition + id: CP14VialSmallHealingBrute + faction: BradPotions + uiPosition: 0, 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingBrute + +- type: cp14TradingPosition + id: CP14VialSmallHealingPoison + faction: BradPotions + uiPosition: 0, 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingPoison + +- type: cp14TradingPosition + id: CP14VialSmallHealingAirloss + faction: BradPotions + uiPosition: 0, 2 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingAirloss + +- type: cp14TradingPosition + id: CP14VialSmallHealingBlood + faction: BradPotions + uiPosition: 0, 3 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingBlood + +- type: cp14TradingPosition + id: CP14VialSmallSpeedUp + faction: BradPotions + uiPosition: 1, 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallSpeedUp + +- type: cp14TradingPosition + id: CP14VialSmallRainbow + faction: BradPotions + uiPosition: 1, 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallRainbow + +- type: cp14TradingPosition + id: CP14VialSmallHealingManaDepletion + faction: BradPotions + uiPosition: 1, 2 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingManaDepletion + +- type: cp14TradingPosition + id: CP14VialSmallHealingMana + faction: BradPotions + uiPosition: 1, 3 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingMana + + + + +- type: cp14TradingPosition + id: CP14VialTiny + faction: BradPotions + uiPosition: 3, 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_tiny.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialTiny + +- type: cp14TradingPosition + id: CP14VialTinyReinforced + prerequisite: CP14VialTiny + priceMarkup: 1 + faction: BradPotions + uiPosition: 3, 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_tiny.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialTinyReinforced + +- type: cp14TradingPosition + id: CP14VialSmall + prerequisite: CP14VialTiny + priceMarkup: 1 + faction: BradPotions + uiPosition: 4, 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmall + +- type: cp14TradingPosition + id: CP14VialSmallReinforced + prerequisite: CP14VialSmall + priceMarkup: 2 + faction: BradPotions + uiPosition: 4, 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallReinforced + +- type: cp14TradingPosition + id: CP14VialMedium + prerequisite: CP14VialSmall + priceMarkup: 2 + faction: BradPotions + uiPosition: 5, 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_medium.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialMedium + +- type: cp14TradingPosition + id: CP14VialMediumReinforced + prerequisite: CP14VialMedium + priceMarkup: 3 + faction: BradPotions + uiPosition: 5, 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_medium.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialMediumReinforced + + + + +- type: cp14TradingPosition + id: CP14Cauldron + priceMarkup: 5 + faction: BradPotions + uiPosition: 7, 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/cauldron.rsi + state: icon + service: !type:CP14BuyItemsService + product: CP14Cauldron + +- type: cp14TradingPosition + id: CP14Pestle + priceMarkup: 2 + faction: BradPotions + uiPosition: 8, 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/mortar_pestle.rsi + state: pestle + service: !type:CP14BuyItemsService + product: CP14Pestle + +- type: cp14TradingPosition + id: CP14Mortar + priceMarkup: 2 + faction: BradPotions + uiPosition: 9, 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/mortar_pestle.rsi + state: mortar_base + service: !type:CP14BuyItemsService + product: CP14Mortar + +- type: cp14TradingPosition + id: CP14Dropper + priceMarkup: 1 + faction: BradPotions + uiPosition: 7, 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/dropper.rsi + state: dropper + service: !type:CP14BuyItemsService + product: CP14Dropper + +- type: cp14TradingPosition + id: CP14Syringe + priceMarkup: 2 + faction: BradPotions + uiPosition: 8, 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/syringe.rsi + state: base + service: !type:CP14BuyItemsService + product: CP14Syringe + + diff --git a/Resources/Prototypes/_CP14/Trading/contracts.yml b/Resources/Prototypes/_CP14/Trading/contracts.yml new file mode 100644 index 0000000000..ed2edca32c --- /dev/null +++ b/Resources/Prototypes/_CP14/Trading/contracts.yml @@ -0,0 +1,23 @@ +- type: cp14TradingPosition + id: CP14TradeContractVictoriaGardens + faction: ContractGuild + uiPosition: 0, 0 + unlockReputationCost: 1 + icon: + sprite: _CP14/Objects/Specific/Economy/trade_contracts.rsi + state: victoria_garden + service: !type:CP14BuyItemsService + product: CP14TradeContractVictoriaGardens + count: 1 + +- type: cp14TradingPosition + id: CP14TradeContractBradPotions + faction: ContractGuild + uiPosition: 0, 1 + unlockReputationCost: 1 + icon: + sprite: _CP14/Objects/Specific/Economy/trade_contracts.rsi + state: brad_potions + service: !type:CP14BuyItemsService + product: CP14TradeContractBradPotions + count: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Trading/factions.yml b/Resources/Prototypes/_CP14/Trading/factions.yml new file mode 100644 index 0000000000..c562a9182b --- /dev/null +++ b/Resources/Prototypes/_CP14/Trading/factions.yml @@ -0,0 +1,12 @@ +- type: cp14TradingFaction + id: ContractGuild + name: cp14-trade-faction-contracts + roundStart: 1 + +- type: cp14TradingFaction + id: VictoriaGardens + name: cp14-trade-faction-victoria-gardens + +- type: cp14TradingFaction + id: BradPotions + name: cp14-trade-faction-brad-potions \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Trading/victoria_gardens.yml b/Resources/Prototypes/_CP14/Trading/victoria_gardens.yml new file mode 100644 index 0000000000..62ca00eae2 --- /dev/null +++ b/Resources/Prototypes/_CP14/Trading/victoria_gardens.yml @@ -0,0 +1,87 @@ +- type: cp14TradingPosition + id: CP14FoodCabbage + faction: VictoriaGardens + uiPosition: 0, 0 + icon: + sprite: _CP14/Objects/Flora/Farm/cabbage.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodCabbage + count: 3 + +- type: cp14TradingPosition + id: CP14FoodPumpkin + faction: VictoriaGardens + uiPosition: 0, 1 + icon: + sprite: _CP14/Objects/Flora/Farm/pumpkin.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodPumpkin + count: 3 + +- type: cp14TradingPosition + id: CP14FoodPotato + faction: VictoriaGardens + uiPosition: 0, 2 + icon: + sprite: _CP14/Objects/Flora/Farm/potato.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodPotato + count: 3 + +- type: cp14TradingPosition + id: CP14FoodCucumber + faction: VictoriaGardens + uiPosition: 0, 3 + icon: + sprite: _CP14/Objects/Flora/Farm/cucumber.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodCucumber + count: 3 + +- type: cp14TradingPosition + id: CP14FoodTomatoes + faction: VictoriaGardens + uiPosition: 1, 0 + icon: + sprite: _CP14/Objects/Flora/Farm/tomatoes.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodTomatoes + count: 3 + +- type: cp14TradingPosition + id: CP14FoodApple + faction: VictoriaGardens + uiPosition: 1, 1 + icon: + sprite: _CP14/Objects/Flora/Farm/apple.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodApple + count: 3 + +- type: cp14TradingPosition + id: CP14FoodPepper + faction: VictoriaGardens + uiPosition: 1, 2 + icon: + sprite: _CP14/Objects/Flora/Farm/pepper.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodPepper + count: 3 + +- type: cp14TradingPosition + id: CP14FoodOnion + faction: VictoriaGardens + uiPosition: 1, 3 + icon: + sprite: _CP14/Objects/Flora/Farm/onion.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodOnion + count: 3 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/UniqueLoot/tradepost.yml b/Resources/Prototypes/_CP14/UniqueLoot/tradepost.yml deleted file mode 100644 index 74681e099b..0000000000 --- a/Resources/Prototypes/_CP14/UniqueLoot/tradepost.yml +++ /dev/null @@ -1,26 +0,0 @@ -- type: Tag - id: CP14UniqueSpawnTradepost - -- type: uniqueSpawn - id: CP14TradingPortalSylphoria - entity: CP14TradingPortalSylphoria - tags: - - CP14UniqueSpawnTradepost - -- type: uniqueSpawn - id: CP14TradingPortalHelmirWeapon - entity: CP14TradingPortalHelmirWeapon - tags: - - CP14UniqueSpawnTradepost - -- type: uniqueSpawn - id: CP14TradingPortalBradFamily - entity: CP14TradingPortalBradFamily - tags: - - CP14UniqueSpawnTradepost - -- type: uniqueSpawn - id: CP14TradingPortalSpiceStream - entity: CP14TradingPortalSpiceStream - tags: - - CP14UniqueSpawnTradepost \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Voice/speech_sounds.yml b/Resources/Prototypes/_CP14/Voice/speech_sounds.yml index 8fa4df2eb3..f19f575d87 100644 --- a/Resources/Prototypes/_CP14/Voice/speech_sounds.yml +++ b/Resources/Prototypes/_CP14/Voice/speech_sounds.yml @@ -5,4 +5,13 @@ askSound: path: /Audio/_CP14/Voice/Carcat/carcat_talk2.ogg exclaimSound: - path: /Audio/_CP14/Voice/Carcat/carcat_talk1.ogg \ No newline at end of file + path: /Audio/_CP14/Voice/Carcat/carcat_talk1.ogg + +- type: speechSounds + id: CP14Goblin + saySound: + path: /Audio/_CP14/Voice/Goblin/goblin_talk3.ogg + askSound: + path: /Audio/_CP14/Voice/Goblin/goblin_talk2.ogg + exclaimSound: + path: /Audio/_CP14/Voice/Goblin/goblin_talk1.ogg diff --git a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Merchant.xml b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Merchant.xml deleted file mode 100644 index e7d4176cf2..0000000000 --- a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Merchant.xml +++ /dev/null @@ -1,17 +0,0 @@ - - -# Merchant - -The Merchant is one of the available game roles, focusing on social interactions between players. - -The Merchant always has one of the [color=#a4885c]Shops[/color] located in the city at his disposal. You can use this construction to centralize other players' interactions with you. - -## Economic Race - -The main goal of the merchant as a role is to become the richest of the merchants. To fulfill this goal, you must have more currency on hand at the end of the round than the other merchants, and you must be alive. - -## Ways to make money - -- [textlink="External trade" link="CP14_EN_Trading"] - - \ No newline at end of file diff --git a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/MerchantTabs/Trading.xml b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/MerchantTabs/Trading.xml deleted file mode 100644 index ba03fbefbd..0000000000 --- a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/MerchantTabs/Trading.xml +++ /dev/null @@ -1,41 +0,0 @@ - -# Trade with the outside world - -Trade outposts are one of the main ways where you can spend money, or from where you can acquire it. - - - - - - - -There are trading outposts belonging to different factions that can be found in different locations throughout the game map. They are located in different places each round, so they have yet to be found. - -Different factions offer different items for sale or purchase. If you want to buy weapons, you'll obviously need to find an outpost of Helmir's Descendants. - - - - - -## Sel - -To sell an item - put the requested items into an open outpost, and close it. After a few seconds, the item will be picked up and payment will be thrown to you. - - - - - - -### Purchase - -To buy an item - you need to compose a paper with an order. Each purchase item has a unique code that you can see in the sales table. It starts with the symbol #. - -On any paper, write any number of these unique codes, each starting with #, with a quill pen. - -Put the paper with your order and the required amount of money in the outpost. In a few seconds, your order will be delivered to you and your change will be returned. - -## One-time offers - -Many outposts have "One Time Offers" - special items to buy or sell that are upgraded after use. These items are often particularly lucrative, and you can make more money with them. - - \ No newline at end of file diff --git a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Merchant.xml b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Merchant.xml deleted file mode 100644 index 5edb9f7ae3..0000000000 --- a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Merchant.xml +++ /dev/null @@ -1,17 +0,0 @@ - - -# Торговец - -Торговец - одна из доступных игровых ролей, сосредоточенная на социальных взаимодействиях между игроками. - -Торговец всегда имеет в своем распоряжении один из [color=#a4885c]Магазинов[/color], расположенных в городе. Вы можете использовать эту постройку для централизации взаимодействия других игроков с вами. - -## Экономическая гонка - -Основная цель торговца как роли - стать самым богатым из торговцев. Чтобы выполнить эту цель, у вас на руках на момент конца раунда должно быть больше валюты, чем у других торговцев, и вы должны быть живыми. - -## Способы заработка - -- [textlink="Внешняя торговля" link="CP14_RU_Trading"] - - \ No newline at end of file diff --git a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/MerchantTabs/Trading.xml b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/MerchantTabs/Trading.xml deleted file mode 100644 index 2db8718a56..0000000000 --- a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/MerchantTabs/Trading.xml +++ /dev/null @@ -1,41 +0,0 @@ - -# Торговля с внешним миром - -Торговые аванпосты - один из основных способов куда можно потратить деньги, или откуда их можно приобрести. - - - - - - - -Существуют торговые аванпосты, принадлежащие к различным фракциям, которые можно найти в разных местах по всей игровой карте. Каждый раунд они располагаются в разных местах, так что их еще предстоит найти. - -Разные фракции предлагают различные товары на продажу или покупку. Если вы хотите прикупить оружие, вам явно нужно найти аванпост Хельмировых потомков. - - - - - -## Продажа - -Чтобы продать товар - положите в открытый аванпост запрошенные товары, и закройте его. Через несколько секунд товар заберут, а вам выбросят оплату. - - - - - - -### Покупка - -Чтобы купить товар - вам необходимо составить бумагу с заказом. У каждой позиции покупки есть уникальный код, который можно увидеть в торговом столе. Он начинается с символа #. - -На любой бумаге напишите писчим пером любое количество этих уникальных кодов, начиная каждый с # - -Положите в аванпост бумагу с заказом, и необходимое количество денег. Через несколько секунд вам доставят ваш заказ, и вернут сдачу. - -## Разовые предложения - -Многие аванпосты имеют "Разовые предложения" - особые позиции в покупке или продаже, которые обновляются после использования. Часто такие позиции особо выгодные, и с их помощью можно заработать больше денег. - - \ No newline at end of file diff --git a/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/equipped-EYES.png b/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/equipped-EYES.png new file mode 100644 index 0000000000..2a5b9936cd Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/equipped-EYES.png differ diff --git a/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/flipped-equipped-EYES.png b/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/flipped-equipped-EYES.png new file mode 100644 index 0000000000..a92aa02bbe Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/flipped-equipped-EYES.png differ diff --git a/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/icon.png b/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/icon.png new file mode 100644 index 0000000000..95ac2635cc Binary files /dev/null and b/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/meta.json b/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/meta.json new file mode 100644 index 0000000000..589d41c525 --- /dev/null +++ b/Resources/Textures/_CP14/Clothing/Eyes/eye_patch.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "All right reserved", + "copyright": "Created by Lucson1337", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-EYES", + "directions": 4 + }, + { + "name": "flipped-equipped-EYES", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Interface/Misc/star.png b/Resources/Textures/_CP14/Interface/Misc/star.png new file mode 100644 index 0000000000..2bd0e5ae90 Binary files /dev/null and b/Resources/Textures/_CP14/Interface/Misc/star.png differ diff --git a/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/frame.png b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/frame.png new file mode 100644 index 0000000000..c993e28e20 Binary files /dev/null and b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/frame.png differ diff --git a/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/hovered.png b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/hovered.png new file mode 100644 index 0000000000..9234505b49 Binary files /dev/null and b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/hovered.png differ diff --git a/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/learned.png b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/learned.png new file mode 100644 index 0000000000..f2c62c3939 Binary files /dev/null and b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/learned.png differ diff --git a/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/meta.json b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/meta.json new file mode 100644 index 0000000000..bc122cc7d0 --- /dev/null +++ b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "size": { + "x": 48, + "y": 48 + }, + "license": "CC-BY-SA-4.0", + "copyright": "Created by TheShuEd (Github)", + "states": [ + { + "name": "frame" + }, + { + "name": "hovered" + }, + { + "name": "selected" + }, + { + "name": "learned" + } + ] +} diff --git a/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/selected.png b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/selected.png new file mode 100644 index 0000000000..b6812ad5d9 Binary files /dev/null and b/Resources/Textures/_CP14/Interface/NodeTree/trading.rsi/selected.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin1.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin1.png index 340f2c1bab..4daf465ea7 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin1.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin1.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin10.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin10.png index 5823f9b510..9ee559104c 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin10.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin10.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin2.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin2.png index 30a755b2b7..2a9c9e9a32 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin2.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin2.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin3.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin3.png index 99119dd30a..3e9688c899 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin3.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin3.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin4.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin4.png index 97e8e5bdc3..acdec5bfba 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin4.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin4.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin5.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin5.png index 24a4fd06a2..9dc7e213ec 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin5.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin5.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin6.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin6.png index f227305d1c..c017ea4026 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin6.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin6.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin7.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin7.png index a94cb7130c..15fd214718 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin7.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin7.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin8.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin8.png index 6b0879509b..10a7ba04c9 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin8.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin8.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin9.png b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin9.png index 00433551ef..3fa237e755 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin9.png and b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/coin9.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/meta.json b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/meta.json index 453b7a15bd..4f176d9959 100644 --- a/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Economy/cp_coin.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-4.0", - "copyright": "Created by TheShuEd (Github)", + "copyright": "Created by TheShuEd (Github) & resprite by omsoyk", "states": [ { "name": "coin0" diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin1.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin1.png index 1675246a4a..5bbcb616a6 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin1.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin1.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin10.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin10.png index 96bd118411..4bc012bcf4 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin10.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin10.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin2.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin2.png index 6d0cf75ab9..962261c8e3 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin2.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin2.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin3.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin3.png index d8122045d1..7f5c2c4be9 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin3.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin3.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin4.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin4.png index df0b612fa8..573f2d9d1a 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin4.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin4.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin5.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin5.png index f58bf0513a..c49ec1b584 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin5.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin5.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin6.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin6.png index 310b710cab..ee72b6b203 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin6.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin6.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin7.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin7.png index 00fb01d9d1..4b00977550 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin7.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin7.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin8.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin8.png index 1da72e42ac..b9b39a0704 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin8.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin8.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin9.png b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin9.png index 068ab47ec9..a0547ccc1c 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin9.png and b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/coin9.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/meta.json b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/meta.json index 453b7a15bd..4f176d9959 100644 --- a/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Economy/gp_coin.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-4.0", - "copyright": "Created by TheShuEd (Github)", + "copyright": "Created by TheShuEd (Github) & resprite by omsoyk", "states": [ { "name": "coin0" diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin1.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin1.png index 521629df5e..d1ba375fca 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin1.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin1.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin10.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin10.png index 8ba64ba0f1..8fd0777bc7 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin10.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin10.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin2.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin2.png index 96efd52e39..d2d3227b5e 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin2.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin2.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin3.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin3.png index 3882363e45..2ec69540d1 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin3.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin3.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin4.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin4.png index cf2ffa036f..05db93765e 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin4.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin4.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin5.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin5.png index 27b77dc9f7..0c2f16c7ec 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin5.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin5.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin6.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin6.png index 0d77878602..dec0e99ce2 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin6.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin6.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin7.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin7.png index 51b438ff41..bae8d66bd4 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin7.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin7.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin8.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin8.png index 7c07b8bd78..6ac2a8ade7 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin8.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin8.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin9.png b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin9.png index b1000a6e58..48c5871153 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin9.png and b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/coin9.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/meta.json b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/meta.json index 453b7a15bd..4f176d9959 100644 --- a/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Economy/pp_coin.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-4.0", - "copyright": "Created by TheShuEd (Github)", + "copyright": "Created by TheShuEd (Github) & resprite by omsoyk", "states": [ { "name": "coin0" diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin1.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin1.png index 3280379ded..0a7e8f39fe 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin1.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin1.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin10.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin10.png index 2e5165d861..1ac41785b0 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin10.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin10.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin2.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin2.png index 656f221100..6f810bee97 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin2.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin2.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin3.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin3.png index 2f6c4217a0..e9f61cccc5 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin3.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin3.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin4.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin4.png index e6ce27db10..fc087c6bb0 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin4.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin4.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin5.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin5.png index eea72431f1..472a4edca6 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin5.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin5.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin6.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin6.png index 8a8b1c3b97..76046b0f5c 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin6.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin6.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin7.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin7.png index 6e08dc1e98..353ad8885c 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin7.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin7.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin8.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin8.png index 776f90a8d7..5d3bcb77c1 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin8.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin8.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin9.png b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin9.png index 636f7d608c..0fb6a5a832 100644 Binary files a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin9.png and b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/coin9.png differ diff --git a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/meta.json b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/meta.json index 453b7a15bd..4f176d9959 100644 --- a/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Economy/sp_coin.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-4.0", - "copyright": "Created by TheShuEd (Github)", + "copyright": "Created by TheShuEd (Github) & resprite by omsoyk", "states": [ { "name": "coin0" diff --git a/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/blank.png b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/blank.png new file mode 100644 index 0000000000..6e8696d95f Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/blank.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/brad_potions.png b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/brad_potions.png new file mode 100644 index 0000000000..3a8a5d6285 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/brad_potions.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/meta.json new file mode 100644 index 0000000000..12f2d5a4b7 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-4.0", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "blank" + }, + { + "name": "victoria_garden" + }, + { + "name": "brad_potions" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/victoria_garden.png b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/victoria_garden.png new file mode 100644 index 0000000000..907c2770af Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/victoria_garden.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Blacksmith/furnace.rsi.rar b/Resources/Textures/_CP14/Structures/Specific/Blacksmith/furnace.rsi.rar deleted file mode 100644 index f090beba21..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Blacksmith/furnace.rsi.rar and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/base.png b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/base.png new file mode 100644 index 0000000000..9ef0a6a919 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/base.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/buy.png b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/buy.png new file mode 100644 index 0000000000..84a5427d83 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/buy.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/impact.png b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/impact.png new file mode 100644 index 0000000000..dfe3a90261 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/impact.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/meta.json b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/meta.json new file mode 100644 index 0000000000..f5cbcccca2 --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/meta.json @@ -0,0 +1,34 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Created by TheShuEd (Github) ", + "size": { + "x": 39, + "y": 39 + }, + "states": [ + { + "name": "base" + }, + { + "name": "buy" + }, + { + "name": "sell" + }, + { + "name": "impact", + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.8 + ] + ] + } + ] +} diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/sell.png b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/sell.png new file mode 100644 index 0000000000..43ba72e75d Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Specific/Economy/buy_platform.rsi/sell.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base.png b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base.png deleted file mode 100644 index 018e084190..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base_door.png b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base_door.png deleted file mode 100644 index 4552655438..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base_door.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base_open.png b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base_open.png deleted file mode 100644 index 6d4a3596e9..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/base_open.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_bard.png b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_bard.png deleted file mode 100644 index 067cf69744..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_bard.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_helmir.png b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_helmir.png deleted file mode 100644 index 5be8d45d68..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_helmir.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_spice.png b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_spice.png deleted file mode 100644 index 879eca4d5c..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_spice.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_sylphoria.png b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_sylphoria.png deleted file mode 100644 index c0e9346d7b..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/flag_sylphoria.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/icon.png b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/icon.png deleted file mode 100644 index 73451cbf85..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/meta.json b/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/meta.json deleted file mode 100644 index 250f411b3d..0000000000 --- a/Resources/Textures/_CP14/Structures/Specific/Economy/trade_portal.rsi/meta.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "version": 1, - "license": "All right reserved", - "copyright": "Created by TheShuEd", - "size": { - "x": 32, - "y": 96 - }, - "states": [ - { - "name": "icon", - "directions": 4 - }, - { - "name": "base", - "directions": 4 - }, - { - "name": "base_open", - "directions": 4, - "delays": [ - [ - 0.2, - 0.2, - 0.2, - 0.2 - ], - [ - 0.2, - 0.2, - 0.2, - 0.2 - ], - [ - 0.2, - 0.2, - 0.2, - 0.2 - ], - [ - 0.2, - 0.2, - 0.2, - 0.2 - ] - ] - }, - { - "name": "base_door" - }, - { - "name": "flag_bard", - "directions": 4 - }, - { - "name": "flag_helmir", - "directions": 4 - }, - { - "name": "flag_spice", - "directions": 4 - }, - { - "name": "flag_sylphoria", - "directions": 4 - } - ] -} diff --git a/Resources/migration.yml b/Resources/migration.yml index fa7660da8f..4f3f4adef8 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -192,7 +192,7 @@ CP14SpellScrollCounterSpell: CP14ActionSpellMagicSplitting #2025-04-03 CP14TravelingStoreshipAnchor: null -CP14TravelingShop: CP14TradingBoardBase +CP14TravelingShop: null CP14IronCabinetCargo: CP14IronCabinet CP14BrassChestFilledDemiplanes: null CP14BrassChestFilledWood: null @@ -227,17 +227,17 @@ CP14ClothingOuterClothingCuirassLeg: CP14ArmorIronCuirass #2025-11-03 CP14BrassChest: CP14WoodenChest -CP14BrassChestFilledEnergyCrystals: CP14WoodenChestFilledEnergyCrystals -CP14BrassChestFilledAlchemy: CP14WoodenChestFilledAlchemy -CP14BrassChestFilledCheese: CP14WoodenChestFilledCheese -CP14BrassChestFilledSmallHealingBrute: CP14WoodenChestFilledSmallHealingBrute -CP14BrassChestFilledSmallHealingPoison: CP14WoodenChestFilledSmallHealingPoison -CP14BrassChestFilledSmallHealingAirloss: CP14WoodenChestFilledSmallHealingAirloss -CP14BrassChestFilledSmallHealingBlood: CP14WoodenChestFilledSmallHealingBlood -CP14BrassChestFilledSmallHealingMana: CP14WoodenChestFilledSmallHealingMana -CP14BrassChestFilledSmallSpeedUp: CP14WoodenChestFilledSmallSpeedUp -CP14BrassChestFilledSmallRainbow: CP14WoodenChestFilledSmallRainbow -CP14BrassChestFilledFarmSeeds: CP14WoodenChestFilledFarmSeeds +CP14BrassChestFilledEnergyCrystals: null +CP14BrassChestFilledAlchemy: null +CP14BrassChestFilledCheese: null +CP14BrassChestFilledSmallHealingBrute: null +CP14BrassChestFilledSmallHealingPoison: null +CP14BrassChestFilledSmallHealingAirloss: null +CP14BrassChestFilledSmallHealingBlood: null +CP14BrassChestFilledSmallHealingMana: null +CP14BrassChestFilledSmallSpeedUp: null +CP14BrassChestFilledSmallRainbow: null +CP14BrassChestFilledFarmSeeds: null CP14ClothingHeadCaptainCap: null CP14ClothingHeadBeretBlack: null @@ -326,7 +326,17 @@ CP14IronDoorWindowedGuardEntrance: CP14IronDoorGuardBarracks CP14IronDoorWindowedMirroredGuardEntrance: CP14IronDoorGuardBarracks CP14FenceGateBigIronGuard: CP14FenceGateBigIronGuardBarracks - +#2025-25-05 +CP14SpawnUniqueTradepost: null +CP14TradingBoardBase: null +CP14TradingPortalSylphoria: null +CP14TradingPortalHelmirWeapon: null +CP14TradingPortalBradFamily: null +CP14TradingPortalSpiceStream: null +CP14WoodenChestFilledFarmSeeds: CP14SackFarmingSeedFull +CP14WoodenChestFilledEnergyCrystals: null +CP14WoodenChestFilledAlchemy: null +CP14WoodenChestFilledCheese: null # <---> CrystallEdge migration zone end