From 759e7c73d94bd6835cc110363bbf9a9f032ab01a Mon Sep 17 00:00:00 2001 From: Alexsey Bezyuk <41479614+PhantornRU@users.noreply.github.com> Date: Sun, 1 Jun 2025 19:33:38 +1000 Subject: [PATCH 01/55] furnace radius (#1346) --- .../_CP14/Entities/Structures/Specific/Blacksmith/furnace.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Blacksmith/furnace.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Blacksmith/furnace.yml index 0996bbbf05..b726cdc973 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Blacksmith/furnace.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Blacksmith/furnace.yml @@ -35,6 +35,7 @@ radius: 2 energy: 2 - type: CP14Workbench + workbenchRadius: 0.5 craftSound: collection: CP14Sawing #TODO recipeTags: From a99f2fcd50d9be7c682e7d207e86b99b4b1eb3e6 Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 1 Jun 2025 15:01:32 +0300 Subject: [PATCH 02/55] Remove random reaction system (#1345) * wow * d --- .../Controls/GuideReagentReaction.xaml | 21 ------- .../Controls/GuideReagentReaction.xaml.cs | 10 +-- .../CP14RandomReagentReactionsSystem.cs | 26 -------- .../Chemistry/Reaction/ReactionPrototype.cs | 33 +--------- .../Thaumaturgy/Precursor/agaric.yml | 4 +- .../Thaumaturgy/Precursor/air_lily.yml | 4 +- .../Thaumaturgy/Precursor/blue_amanita.yml | 4 +- .../Thaumaturgy/Precursor/dayflin.yml | 4 +- .../Thaumaturgy/Precursor/ground_quartz.yml | 4 +- .../Thaumaturgy/Precursor/lumishroom.yml | 63 +++++++++---------- .../Thaumaturgy/Precursor/wild_sage.yml | 4 +- 11 files changed, 38 insertions(+), 139 deletions(-) delete mode 100644 Content.Server/_CP14/Alchemy/EntitySystems/CP14RandomReagentReactionsSystem.cs diff --git a/Content.Client/Guidebook/Controls/GuideReagentReaction.xaml b/Content.Client/Guidebook/Controls/GuideReagentReaction.xaml index 116c78b417..b33426766c 100644 --- a/Content.Client/Guidebook/Controls/GuideReagentReaction.xaml +++ b/Content.Client/Guidebook/Controls/GuideReagentReaction.xaml @@ -26,27 +26,6 @@ - - - - diff --git a/Content.Client/Guidebook/Controls/GuideReagentReaction.xaml.cs b/Content.Client/Guidebook/Controls/GuideReagentReaction.xaml.cs index 1a52166075..29ed124422 100644 --- a/Content.Client/Guidebook/Controls/GuideReagentReaction.xaml.cs +++ b/Content.Client/Guidebook/Controls/GuideReagentReaction.xaml.cs @@ -37,7 +37,7 @@ public sealed partial class GuideReagentReaction : BoxContainer, ISearchableCont Container container = ReactantsContainer; SetReagents(prototype.Reactants, ref container, protoMan); Container productContainer = ProductsContainer; - var products = new Dictionary(prototype._products); // CP14 random reactions + var products = new Dictionary(prototype.Products); foreach (var (reagent, reactantProto) in prototype.Reactants) { if (reactantProto.Catalyst) @@ -45,14 +45,6 @@ public sealed partial class GuideReagentReaction : BoxContainer, ISearchableCont } SetReagents(products, ref productContainer, protoMan, false); - // CP14 random reagents begin - if (prototype.Cp14RandomProducts.Count > 0) - { - var randomProducts = new Dictionary(prototype.Cp14RandomProducts[prototype.Cp14RandomProductIndex]); - SetReagents(randomProducts, ref productContainer, protoMan, false); - } - // CP14 random reagents end - var mixingCategories = new List(); if (prototype.MixingCategories != null) { diff --git a/Content.Server/_CP14/Alchemy/EntitySystems/CP14RandomReagentReactionsSystem.cs b/Content.Server/_CP14/Alchemy/EntitySystems/CP14RandomReagentReactionsSystem.cs deleted file mode 100644 index 46253e01fb..0000000000 --- a/Content.Server/_CP14/Alchemy/EntitySystems/CP14RandomReagentReactionsSystem.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Content.Server.GameTicking.Events; -using Content.Shared.Chemistry.Reaction; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; - -namespace Content.Server._CP14.Alchemy.EntitySystems; - -public sealed class CP14RandomReagentReactionsSystem : EntitySystem -{ - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly IRobustRandom _random = default!; - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnRoundStart); - } - - private void OnRoundStart(RoundStartingEvent ev) - { - foreach (var reaction in _proto.EnumeratePrototypes()) - { - reaction.Cp14RandomProductIndex = _random.Next(reaction.Cp14RandomProducts.Count); - } - } -} diff --git a/Content.Shared/Chemistry/Reaction/ReactionPrototype.cs b/Content.Shared/Chemistry/Reaction/ReactionPrototype.cs index 7873ffc5ec..f73aaf55a8 100644 --- a/Content.Shared/Chemistry/Reaction/ReactionPrototype.cs +++ b/Content.Shared/Chemistry/Reaction/ReactionPrototype.cs @@ -51,42 +51,11 @@ namespace Content.Shared.Chemistry.Reaction [DataField("requiredMixerCategories")] public List>? MixingCategories; - // CP14 random reactions begin /// /// Reagents created when the reaction occurs. /// [DataField("products", customTypeSerializer:typeof(PrototypeIdDictionarySerializer))] - public Dictionary _products = new(); // CP14 random reactions - - public Dictionary Products - { - get { - if (Cp14RandomProducts.Count == 0) - return _products; - // New dict because we don't want to modify original products dict - Dictionary res = new(_products); - foreach (var product in Cp14RandomProducts[Cp14RandomProductIndex]) - { - if (res.ContainsKey(product.Key)) - res[product.Key] += product.Value; - else - res[product.Key] = product.Value; - } - return res; - } - set { - _products = value; - } - } - - public int Cp14RandomProductIndex = 0; - - /// - /// Random reagents groups, one of which will be selected at the roundstart and will be used as a reaction product. - /// - [DataField("cp14RandomProducts")] - public List> Cp14RandomProducts = new(); - // CP14 random reactions end + public Dictionary Products = new(); /// /// Effects to be triggered when the reaction occurs. diff --git a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/agaric.yml b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/agaric.yml index 829994c1b7..1a61ddadae 100644 --- a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/agaric.yml +++ b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/agaric.yml @@ -10,9 +10,7 @@ amount: 1 products: CP14EssencePoison: 0.5 - cp14RandomProducts: - - CP14EssenceWater: 0.5 - - CP14EssenceEarth: 0.5 + CP14EssenceEarth: 0.5 # Admixture: By adding raw precursor to a potion with target solutions, we can reduce the amount of empty solution by modifying the target solutions. diff --git a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/air_lily.yml b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/air_lily.yml index fc250938d4..4641e92c9b 100644 --- a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/air_lily.yml +++ b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/air_lily.yml @@ -10,9 +10,7 @@ amount: 1 products: CP14EssenceAir: 0.5 - cp14RandomProducts: - - CP14EssenceWater: 0.5 - - CP14EssenceLife: 0.5 + CP14EssenceWater: 0.5 # Admixture: By adding raw precursor to a potion with target solutions, we can reduce the amount of empty solution by modifying the target solutions. diff --git a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/blue_amanita.yml b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/blue_amanita.yml index 91e8fac9ff..74a23c373c 100644 --- a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/blue_amanita.yml +++ b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/blue_amanita.yml @@ -10,9 +10,7 @@ amount: 1 products: CP14EssenceMagic: 0.5 - cp14RandomProducts: - - CP14EssenceWater: 0.5 - - CP14EssenceLife: 0.5 + CP14EssenceWater: 0.5 # Admixture: By adding raw precursor to a potion with target solutions, we can reduce the amount of empty solution by modifying the target solutions. diff --git a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/dayflin.yml b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/dayflin.yml index 634a853755..a1db16afcc 100644 --- a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/dayflin.yml +++ b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/dayflin.yml @@ -10,9 +10,7 @@ amount: 1 products: CP14EssenceFire: 0.5 - cp14RandomProducts: - - CP14EssenceLife: 0.5 - - CP14EssenceMotion: 0.5 + CP14EssenceMotion: 0.5 # Admixture: By adding raw precursor to a potion with target solutions, we can reduce the amount of empty solution by modifying the target solutions. diff --git a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/ground_quartz.yml b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/ground_quartz.yml index 1c70c03d72..d55ccd3d2e 100644 --- a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/ground_quartz.yml +++ b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/ground_quartz.yml @@ -10,9 +10,7 @@ amount: 1 products: CP14EssenceCrystal: 0.5 - cp14RandomProducts: - - CP14EssenceOrder: 0.5 - - CP14EssenceChaos: 0.5 + CP14EssenceOrder: 0.5 # Admixture: By adding raw precursor to a potion with target solutions, we can reduce the amount of empty solution by modifying the target solutions. diff --git a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/lumishroom.yml b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/lumishroom.yml index 3b99336804..43b70a0406 100644 --- a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/lumishroom.yml +++ b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/lumishroom.yml @@ -10,41 +10,38 @@ amount: 1 products: CP14EssenceLight: 0.5 - cp14RandomProducts: - - CP14EssenceWater: 0.5 - - CP14EssenceEarth: 0.5 + CP14EssenceEarth: 0.5 # Admixture: By adding raw precursor to a potion with target solutions, we can reduce the amount of empty solution by modifying the target solutions. # Idea: Full randomness -- type: reaction - id: CP14LumiMushroomAdmixture - minTemp: 500 - reactants: - CP14LumiMushroom: - amount: 1 - CP14BasicEffectEmpty: - amount: 1 - cp14RandomProducts: - - CP14BasicEffectHealBrute: 2 - - CP14BasicEffectDamageBrute: 2 - - CP14BasicEffectHealHeat: 2 - - CP14BasicEffectDamageHeat: 2 - - CP14BasicEffectHealCold: 2 - - CP14BasicEffectDamageCold: 2 - - CP14BasicEffectHealPoison: 2 - - CP14BasicEffectDamagePoison: 2 - - CP14BasicEffectHealAirloss: 2 - - CP14BasicEffectDamageAirloss: 2 - - CP14BasicEffectBloodRestore: 2 - - CP14BasicEffectBloodAbsorption: 2 - - CP14BasicEffectSatiateHunger: 2 - - CP14BasicEffectSatiateThirst: 2 - - CP14BasicEffectHealMana: 2 - - CP14BasicEffectDamageMana: 2 - - CP14BasicEffectSpeedUp: 2 - - CP14BasicEffectSpeedDown: 2 - - CP14BasicEffectSleep: 2 - - CP14BasicEffectUnsleep: 2 - +#- type: reaction +# id: CP14LumiMushroomAdmixture +# minTemp: 500 +# reactants: +# CP14LumiMushroom: +# amount: 1 +# CP14BasicEffectEmpty: +# amount: 1 +# cp14RandomProducts: +# - CP14BasicEffectHealBrute: 2 +# - CP14BasicEffectDamageBrute: 2 +# - CP14BasicEffectHealHeat: 2 +# - CP14BasicEffectDamageHeat: 2 +# - CP14BasicEffectHealCold: 2 +# - CP14BasicEffectDamageCold: 2 +# - CP14BasicEffectHealPoison: 2 +# - CP14BasicEffectDamagePoison: 2 +# - CP14BasicEffectHealAirloss: 2 +# - CP14BasicEffectDamageAirloss: 2 +# - CP14BasicEffectBloodRestore: 2 +# - CP14BasicEffectBloodAbsorption: 2 +# - CP14BasicEffectSatiateHunger: 2 +# - CP14BasicEffectSatiateThirst: 2 +# - CP14BasicEffectHealMana: 2 +# - CP14BasicEffectDamageMana: 2 +# - CP14BasicEffectSpeedUp: 2 +# - CP14BasicEffectSpeedDown: 2 +# - CP14BasicEffectSleep: 2 +# - CP14BasicEffectUnsleep: 2 diff --git a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/wild_sage.yml b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/wild_sage.yml index 2f542bc0e9..3f4f632700 100644 --- a/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/wild_sage.yml +++ b/Resources/Prototypes/_CP14/Recipes/Reactions/Thaumaturgy/Precursor/wild_sage.yml @@ -10,9 +10,7 @@ amount: 1 products: CP14EssenceEarth: 0.5 - cp14RandomProducts: - - CP14EssenceOrder: 0.5 - - CP14EssenceChaos: 0.5 + CP14EssenceOrder: 0.5 # Admixture: By adding raw precursor to a potion with target solutions, we can reduce the amount of empty solution by modifying the target solutions. From a3ae67a762f05d9894e7cff60138f40afebbced7 Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 1 Jun 2025 15:10:36 +0300 Subject: [PATCH 03/55] Trade reputation rework + Merchants back + Mining contract (#1347) * refactor unlocking * fix contract debug crashing * Update dev_map.yml * bugfixes and content rebalance * ore buy contract --- .../CP14TradingPlatformBoundUserInterface.cs | 1 - .../Trading/CP14TradingPlatformWindow.xaml | 15 +- .../Trading/CP14TradingPlatformWindow.xaml.cs | 41 +-- .../CP14DemiplaneSystem.Generation.cs | 12 +- .../_CP14/Trading/CP14StationEconomySystem.cs | 13 + .../Trading/CP14TradingPlatformSystem.cs | 14 +- Content.Shared/_CP14/Trading/CP14TradingUI.cs | 3 +- .../CP14TradingContractComponent.cs | 6 - .../CP14TradingReputationComponent.cs | 3 - .../CP14TradingPositionPrototype.cs | 9 +- .../CP14SharedTradingPlatformSystem.UI.cs | 7 - .../CP14SharedTradingPlatformSystem.cs | 66 +---- .../Locale/en-US/_CP14/trading/factions.ftl | 3 +- Resources/Locale/en-US/_CP14/trading/ui.ftl | 3 - .../Locale/ru-RU/_CP14/trading/factions.ftl | 3 +- Resources/Locale/ru-RU/_CP14/trading/ui.ftl | 3 - Resources/Maps/_CP14/dev_map.yml | 2 +- .../Objects/Economy/trade_contracts.yml | 11 + .../_CP14/Entities/Objects/Tools/torch.yml | 4 + .../Prototypes/_CP14/Trading/brad_potions.yml | 277 +++++++++--------- .../Prototypes/_CP14/Trading/contracts.yml | 17 +- .../Prototypes/_CP14/Trading/dwarf_mining.yml | 138 +++++++++ .../Prototypes/_CP14/Trading/factions.yml | 7 + .../_CP14/Trading/victoria_gardens.yml | 61 ++-- .../Pickaxe/metall_pickaxe.rsi/meta.json | 3 + .../Blade/Pickaxe/metall_pickaxe.rsi/tool.png | Bin 0 -> 463 bytes .../trade_contracts.rsi/dwarf_mining.png | Bin 0 -> 613 bytes .../Economy/trade_contracts.rsi/meta.json | 3 + 28 files changed, 426 insertions(+), 299 deletions(-) create mode 100644 Resources/Prototypes/_CP14/Trading/dwarf_mining.yml create mode 100644 Resources/Textures/_CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi/tool.png create mode 100644 Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/dwarf_mining.png diff --git a/Content.Client/_CP14/Trading/CP14TradingPlatformBoundUserInterface.cs b/Content.Client/_CP14/Trading/CP14TradingPlatformBoundUserInterface.cs index 47a2d19950..b089d39347 100644 --- a/Content.Client/_CP14/Trading/CP14TradingPlatformBoundUserInterface.cs +++ b/Content.Client/_CP14/Trading/CP14TradingPlatformBoundUserInterface.cs @@ -14,7 +14,6 @@ public sealed class CP14TradingPlatformBoundUserInterface(EntityUid owner, Enum _window = this.CreateWindow(); - _window.OnUnlock += pos => SendMessage(new CP14TradingPositionUnlockAttempt(pos)); _window.OnBuy += pos => SendMessage(new CP14TradingPositionBuyAttempt(pos)); } diff --git a/Content.Client/_CP14/Trading/CP14TradingPlatformWindow.xaml b/Content.Client/_CP14/Trading/CP14TradingPlatformWindow.xaml index 37e9a615f7..716a801381 100644 --- a/Content.Client/_CP14/Trading/CP14TradingPlatformWindow.xaml +++ b/Content.Client/_CP14/Trading/CP14TradingPlatformWindow.xaml @@ -35,6 +35,10 @@ [DataField, AutoNetworkedField] public Dictionary, FixedPoint2> Reputation = new(); - - [DataField, AutoNetworkedField] - public HashSet> UnlockedPositions = new(); } diff --git a/Content.Shared/_CP14/Trading/Prototypes/CP14TradingPositionPrototype.cs b/Content.Shared/_CP14/Trading/Prototypes/CP14TradingPositionPrototype.cs index 1403467230..ef261a3508 100644 --- a/Content.Shared/_CP14/Trading/Prototypes/CP14TradingPositionPrototype.cs +++ b/Content.Shared/_CP14/Trading/Prototypes/CP14TradingPositionPrototype.cs @@ -33,17 +33,14 @@ public sealed partial class CP14TradingPositionPrototype : IPrototype public ProtoId Faction; [DataField] - public FixedPoint2 UnlockReputationCost = 1f; + public FixedPoint2 ReputationLevel = 0f; [DataField(required: true)] - public Vector2 UiPosition = default!; + public float UiPosition = default!; [DataField(required: true)] public CP14StoreBuyService? Service = null; - [DataField] - public ProtoId? Prerequisite; - [DataField] public int PriceMarkup = 1; @@ -51,7 +48,7 @@ public sealed partial class CP14TradingPositionPrototype : IPrototype /// each round prices will differ within +X percent of the calculated value /// [DataField] - public float PriceFluctuation = 0.2f; + public float PriceFluctuation = 0.6f; } [ImplicitDataDefinitionForInheritors] diff --git a/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.UI.cs b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.UI.cs index 52db72706e..6a533e2900 100644 --- a/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.UI.cs +++ b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.UI.cs @@ -8,16 +8,9 @@ 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); diff --git a/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs index 57d7d77d3c..00581a9061 100644 --- a/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs +++ b/Content.Shared/_CP14/Trading/Systems/CP14SharedTradingPlatformSystem.cs @@ -2,6 +2,8 @@ using Content.Shared._CP14.Trading.Components; using Content.Shared._CP14.Trading.Prototypes; using Content.Shared.Interaction.Events; using Content.Shared.Popups; +using Robust.Shared.Audio; +using Robust.Shared.Audio.Systems; using Robust.Shared.Network; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; @@ -16,6 +18,7 @@ public abstract partial class CP14SharedTradingPlatformSystem : EntitySystem [Dependency] protected readonly IGameTiming Timing = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly INetManager _net = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; public override void Initialize() { @@ -40,12 +43,18 @@ public abstract partial class CP14SharedTradingPlatformSystem : EntitySystem private void OnContractUse(Entity ent, ref UseInHandEvent args) { + if (args.Handled) + return; if (!Proto.TryIndex(ent.Comp.Faction, out var indexedFaction)) return; + args.Handled = true; + var repComp = EnsureComp(args.User); - repComp.Reputation.TryAdd(ent.Comp.Faction, ent.Comp.StartReputation); + repComp.Reputation.TryAdd(ent.Comp.Faction, 0); + _audio.PlayLocal(new SoundCollectionSpecifier("CP14CoinImpact"), args.User, args.User); _popup.PopupPredicted(Loc.GetString("cp14-trading-contract-use", ("name", Loc.GetString(indexedFaction.Name))), args.User, args.User); + if (_net.IsServer) QueueDel(ent); } @@ -55,70 +64,23 @@ public abstract partial class CP14SharedTradingPlatformSystem : EntitySystem if (!TryComp(user, out var repComp)) return; - _userInterface.SetUiState(ent.Owner, CP14TradingUiKey.Key, new CP14TradingPlatformUiState(GetNetEntity(user), GetNetEntity(ent))); + _userInterface.SetUiState(ent.Owner, CP14TradingUiKey.Key, new CP14TradingPlatformUiState(GetNetEntity(ent))); } - public bool TryUnlockPosition(Entity user, ProtoId position) + public bool CanBuyPosition(Entity user, ProtoId position) { - if (!CanUnlockPosition(user, position)) + if (!Resolve(user.Owner, ref user.Comp, false)) 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) + if (user.Comp.Reputation[indexedPosition.Faction] < indexedPosition.ReputationLevel) 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 { diff --git a/Resources/Locale/en-US/_CP14/trading/factions.ftl b/Resources/Locale/en-US/_CP14/trading/factions.ftl index 54e27532c7..5b26795714 100644 --- a/Resources/Locale/en-US/_CP14/trading/factions.ftl +++ b/Resources/Locale/en-US/_CP14/trading/factions.ftl @@ -1,3 +1,4 @@ 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 +cp14-trade-faction-brad-potions = Brad's marvelous potions +cp14-trade-faction-dwarf-mining = 'Dwarf Steel' mining branch \ 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 index 27a8c6991d..a8dd5a8f04 100644 --- a/Resources/Locale/en-US/_CP14/trading/ui.ftl +++ b/Resources/Locale/en-US/_CP14/trading/ui.ftl @@ -1,6 +1,3 @@ -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. diff --git a/Resources/Locale/ru-RU/_CP14/trading/factions.ftl b/Resources/Locale/ru-RU/_CP14/trading/factions.ftl index 21cd7a4781..3f16ff70e4 100644 --- a/Resources/Locale/ru-RU/_CP14/trading/factions.ftl +++ b/Resources/Locale/ru-RU/_CP14/trading/factions.ftl @@ -1,3 +1,4 @@ cp14-trade-faction-contracts = Торговая гильдия Зелласиан cp14-trade-faction-victoria-gardens = Сады Виктории -cp14-trade-faction-brad-potions = Великолепные зелья Брада \ No newline at end of file +cp14-trade-faction-brad-potions = Великолепные зелья Брада +cp14-trade-faction-dwarf-mining = Шахтерский филиал 'Дворфийская сталь' \ 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 index 953ab2b678..a512847922 100644 --- a/Resources/Locale/ru-RU/_CP14/trading/ui.ftl +++ b/Resources/Locale/ru-RU/_CP14/trading/ui.ftl @@ -1,6 +1,3 @@ -cp14-trading-ui-button-unlock = Разблокировать контракт -cp14-trading-ui-button-unlock-tooltip = Вы заключаете контракт, затрачивая на это свою репутацию. После этого, вы можете покупать это снаряжение или услугу за деньги в неограниченном количестве. - cp14-trading-ui-button-buy = Купить cp14-trading-ui-button-buy-tooltip = Вы тратите средства, расположенные на торговой платформе и закупаете указанное снаряжение или услугу у выбранного продавца, что так же увеличивает вашу репутацию. Снаряжение будет мгновенно доставлено вам путем пространственной магии, а услуга оказана в ближайшее время. diff --git a/Resources/Maps/_CP14/dev_map.yml b/Resources/Maps/_CP14/dev_map.yml index e3fbbe8f07..8a470a0343 100644 --- a/Resources/Maps/_CP14/dev_map.yml +++ b/Resources/Maps/_CP14/dev_map.yml @@ -151,7 +151,7 @@ entities: rot: -1.5707963267948966 rad pos: -8.5,3.5 parent: 2 -- proto: CP14AlchemyFurnaceDebug +- proto: CP14AlchemyFurnace entities: - uid: 301 components: diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml b/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml index 4ce8143a60..6a048cf887 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml @@ -39,3 +39,14 @@ - type: CP14TradingContract faction: BradPotions +- type: entity + parent: CP14TradeContractBase + id: CP14TradeContractDwarfMining + description: Trading contract with the "Dwarf Steel" mining branch. Allows you to purchase various ore and mining tools. + suffix: Dwarf Miners + components: + - type: Sprite + state: dwarf_mining + - type: CP14TradingContract + faction: DwarfMining + diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml b/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml index 2261c4a623..a40b6a5579 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Tools/torch.yml @@ -60,6 +60,10 @@ - type: Tag tags: - CP14Torch + - type: PhysicalComposition + materialComposition: + CP14WoodenPlanks: 10 + CP14Cloth: 10 - type: entity parent: CP14Torch diff --git a/Resources/Prototypes/_CP14/Trading/brad_potions.yml b/Resources/Prototypes/_CP14/Trading/brad_potions.yml index d29cb47bcc..fc20844625 100644 --- a/Resources/Prototypes/_CP14/Trading/brad_potions.yml +++ b/Resources/Prototypes/_CP14/Trading/brad_potions.yml @@ -1,77 +1,21 @@ + +# Rep 0 + - type: cp14TradingPosition id: CP14VialSmallHealingBrute faction: BradPotions - uiPosition: 0, 0 + uiPosition: 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 + reputationLevel: 0 + uiPosition: 1 icon: sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi state: vial @@ -79,12 +23,10 @@ product: CP14VialSmallHealingMana - - - type: cp14TradingPosition id: CP14VialTiny faction: BradPotions - uiPosition: 3, 0 + uiPosition: 3 icon: sprite: _CP14/Objects/Specific/Alchemy/vial_tiny.rsi state: vial @@ -93,83 +35,21 @@ - type: cp14TradingPosition id: CP14VialTinyReinforced - prerequisite: CP14VialTiny priceMarkup: 1 faction: BradPotions - uiPosition: 3, 1 + uiPosition: 4 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 + uiPosition: 6 icon: sprite: _CP14/Objects/Specific/Alchemy/mortar_pestle.rsi state: pestle @@ -180,18 +60,67 @@ id: CP14Mortar priceMarkup: 2 faction: BradPotions - uiPosition: 9, 0 + uiPosition: 7 icon: sprite: _CP14/Objects/Specific/Alchemy/mortar_pestle.rsi state: mortar_base service: !type:CP14BuyItemsService product: CP14Mortar +# Rep 1 + +- type: cp14TradingPosition + id: CP14VialSmallHealingBlood + faction: BradPotions + reputationLevel: 1 + uiPosition: 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingBlood + +- type: cp14TradingPosition + id: CP14VialSmallHealingManaDepletion + faction: BradPotions + reputationLevel: 1 + uiPosition: 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingManaDepletion + +- type: cp14TradingPosition + id: CP14VialSmall + reputationLevel: 1 + priceMarkup: 1 + faction: BradPotions + uiPosition: 3 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmall + +- type: cp14TradingPosition + id: CP14VialSmallReinforced + reputationLevel: 1 + priceMarkup: 2 + faction: BradPotions + uiPosition: 4 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallReinforced + - type: cp14TradingPosition id: CP14Dropper priceMarkup: 1 + reputationLevel: 1 faction: BradPotions - uiPosition: 7, 1 + uiPosition: 6 icon: sprite: _CP14/Objects/Specific/Alchemy/dropper.rsi state: dropper @@ -201,12 +130,96 @@ - type: cp14TradingPosition id: CP14Syringe priceMarkup: 2 + reputationLevel: 1 faction: BradPotions - uiPosition: 8, 1 + uiPosition: 7 icon: sprite: _CP14/Objects/Specific/Alchemy/syringe.rsi state: base service: !type:CP14BuyItemsService product: CP14Syringe +# Rep 2 +- type: cp14TradingPosition + id: CP14VialSmallHealingPoison + faction: BradPotions + reputationLevel: 2 + uiPosition: 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingPoison + +- type: cp14TradingPosition + id: CP14VialSmallHealingAirloss + faction: BradPotions + reputationLevel: 2 + uiPosition: 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallHealingAirloss + + +- type: cp14TradingPosition + id: CP14VialMedium + reputationLevel: 2 + priceMarkup: 2 + faction: BradPotions + uiPosition: 3 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_medium.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialMedium + +- type: cp14TradingPosition + id: CP14VialMediumReinforced + reputationLevel: 2 + priceMarkup: 3 + faction: BradPotions + uiPosition: 4 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_medium.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialMediumReinforced + +- type: cp14TradingPosition + id: CP14Cauldron + priceMarkup: 5 + faction: BradPotions + reputationLevel: 2 + uiPosition: 6 + icon: + sprite: _CP14/Objects/Specific/Alchemy/cauldron.rsi + state: icon + service: !type:CP14BuyItemsService + product: CP14Cauldron + +# Rep 3 + +- type: cp14TradingPosition + id: CP14VialSmallSpeedUp + faction: BradPotions + reputationLevel: 3 + uiPosition: 0 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallSpeedUp + +- type: cp14TradingPosition + id: CP14VialSmallRainbow + faction: BradPotions + reputationLevel: 3 + uiPosition: 1 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14VialSmallRainbow \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Trading/contracts.yml b/Resources/Prototypes/_CP14/Trading/contracts.yml index 3745892682..dc9b40cb62 100644 --- a/Resources/Prototypes/_CP14/Trading/contracts.yml +++ b/Resources/Prototypes/_CP14/Trading/contracts.yml @@ -1,8 +1,7 @@ - type: cp14TradingPosition id: CP14TradeContractVictoriaGardens faction: ContractGuild - uiPosition: 0, 0 - unlockReputationCost: 1 + uiPosition: 0 icon: sprite: _CP14/Objects/Specific/Economy/trade_contracts.rsi state: victoria_garden @@ -13,8 +12,7 @@ - type: cp14TradingPosition id: CP14TradeContractBradPotions faction: ContractGuild - uiPosition: 0, 1 - unlockReputationCost: 1 + uiPosition: 1 icon: sprite: _CP14/Objects/Specific/Economy/trade_contracts.rsi state: brad_potions @@ -22,3 +20,14 @@ product: CP14TradeContractBradPotions count: 1 +- type: cp14TradingPosition + id: CP14TradeContractDwarfMining + faction: ContractGuild + uiPosition: 2 + icon: + sprite: _CP14/Objects/Specific/Economy/trade_contracts.rsi + state: dwarf_mining + service: !type:CP14BuyItemsService + product: CP14TradeContractDwarfMining + count: 1 + diff --git a/Resources/Prototypes/_CP14/Trading/dwarf_mining.yml b/Resources/Prototypes/_CP14/Trading/dwarf_mining.yml new file mode 100644 index 0000000000..ff863cea0d --- /dev/null +++ b/Resources/Prototypes/_CP14/Trading/dwarf_mining.yml @@ -0,0 +1,138 @@ + +# Rep 0 + +- type: cp14TradingPosition + id: CP14OreCopper5 + faction: DwarfMining + uiPosition: 0 + icon: + sprite: _CP14/Objects/Materials/copper_ore.rsi + state: ore2 + service: !type:CP14BuyItemsService + product: CP14OreCopper5 + +- type: cp14TradingPosition + id: CP14CopperBar5 + faction: DwarfMining + priceMarkup: 5 + uiPosition: 4 + icon: + sprite: _CP14/Objects/Materials/copper_bar.rsi + state: bar_2 + service: !type:CP14BuyItemsService + product: CP14CopperBar5 + +- type: cp14TradingPosition + id: CP14GlassSheet5 + faction: DwarfMining + uiPosition: 5 + icon: + sprite: _CP14/Objects/Materials/glass.rsi + state: glass_2 + service: !type:CP14BuyItemsService + product: CP14GlassSheet5 + +- type: cp14TradingPosition + id: CP14Torch + faction: DwarfMining + uiPosition: 7 + icon: + sprite: _CP14/Objects/Tools/torch.rsi + state: torch-unlit + service: !type:CP14BuyItemsService + product: CP14Torch + +- type: cp14TradingPosition + id: CP14ModularIronPickaxe + faction: DwarfMining + priceMarkup: 15 + uiPosition: 8 + icon: + sprite: _CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi + state: tool + service: !type:CP14BuyItemsService + product: CP14ModularIronPickaxe + +- type: cp14TradingPosition + id: CP14ModularIronShovel + faction: DwarfMining + priceMarkup: 10 + uiPosition: 9 + icon: + sprite: _CP14/Objects/ModularTools/Blade/Shovel/metall_shovel.rsi + state: tool + service: !type:CP14BuyItemsService + product: CP14ModularIronShovel + +# Rep 1 + +- type: cp14TradingPosition + id: CP14OreIron5 + faction: DwarfMining + reputationLevel: 1 + uiPosition: 0 + icon: + sprite: _CP14/Objects/Materials/iron_ore.rsi + state: ore2 + service: !type:CP14BuyItemsService + product: CP14OreIron5 + +- type: cp14TradingPosition + id: CP14IronBar5 + faction: DwarfMining + reputationLevel: 1 + priceMarkup: 5 + uiPosition: 4 + icon: + sprite: _CP14/Objects/Materials/iron_bar.rsi + state: bar_2 + service: !type:CP14BuyItemsService + product: CP14IronBar5 + +# Rep 2 + +- type: cp14TradingPosition + id: CP14OreGold5 + faction: DwarfMining + reputationLevel: 2 + uiPosition: 0 + icon: + sprite: _CP14/Objects/Materials/gold_ore.rsi + state: ore2 + service: !type:CP14BuyItemsService + product: CP14OreGold5 + +- type: cp14TradingPosition + id: CP14OreMithril5 + faction: DwarfMining + reputationLevel: 2 + uiPosition: 1 + icon: + sprite: _CP14/Objects/Materials/mithril_ore.rsi + state: ore2 + service: !type:CP14BuyItemsService + product: CP14OreMithril5 + +- type: cp14TradingPosition + id: CP14GoldBar5 + faction: DwarfMining + reputationLevel: 2 + priceMarkup: 5 + uiPosition: 4 + icon: + sprite: _CP14/Objects/Materials/gold_bar.rsi + state: bar_2 + service: !type:CP14BuyItemsService + product: CP14GoldBar5 + +- type: cp14TradingPosition + id: CP14MithrilBar5 + faction: DwarfMining + reputationLevel: 2 + priceMarkup: 5 + uiPosition: 5 + icon: + sprite: _CP14/Objects/Materials/mithril_bar.rsi + state: bar_2 + service: !type:CP14BuyItemsService + product: CP14MithrilBar5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Trading/factions.yml b/Resources/Prototypes/_CP14/Trading/factions.yml index 2d3b916b70..c660788df3 100644 --- a/Resources/Prototypes/_CP14/Trading/factions.yml +++ b/Resources/Prototypes/_CP14/Trading/factions.yml @@ -5,9 +5,16 @@ - type: cp14TradingFaction id: VictoriaGardens + color: "#67db67" name: cp14-trade-faction-victoria-gardens - type: cp14TradingFaction id: BradPotions + color: "#ad67db" name: cp14-trade-faction-brad-potions +- type: cp14TradingFaction + id: DwarfMining + color: "#b05a3e" + name: cp14-trade-faction-dwarf-mining + diff --git a/Resources/Prototypes/_CP14/Trading/victoria_gardens.yml b/Resources/Prototypes/_CP14/Trading/victoria_gardens.yml index d9a512d115..5bec1f8210 100644 --- a/Resources/Prototypes/_CP14/Trading/victoria_gardens.yml +++ b/Resources/Prototypes/_CP14/Trading/victoria_gardens.yml @@ -1,7 +1,9 @@ +# Rep 0 + - type: cp14TradingPosition id: CP14FoodCabbage faction: VictoriaGardens - uiPosition: 0, 0 + uiPosition: 0 icon: sprite: _CP14/Objects/Flora/Farm/cabbage.rsi state: base1 @@ -9,21 +11,10 @@ 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 + uiPosition: 1 icon: sprite: _CP14/Objects/Flora/Farm/potato.rsi state: base1 @@ -34,7 +25,7 @@ - type: cp14TradingPosition id: CP14FoodCucumber faction: VictoriaGardens - uiPosition: 0, 3 + uiPosition: 2 icon: sprite: _CP14/Objects/Flora/Farm/cucumber.rsi state: base1 @@ -45,7 +36,7 @@ - type: cp14TradingPosition id: CP14FoodTomatoes faction: VictoriaGardens - uiPosition: 1, 0 + uiPosition: 3 icon: sprite: _CP14/Objects/Flora/Farm/tomatoes.rsi state: base1 @@ -53,21 +44,10 @@ 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 + uiPosition: 4 icon: sprite: _CP14/Objects/Flora/Farm/pepper.rsi state: base1 @@ -78,7 +58,7 @@ - type: cp14TradingPosition id: CP14FoodOnion faction: VictoriaGardens - uiPosition: 1, 3 + uiPosition: 5 icon: sprite: _CP14/Objects/Flora/Farm/onion.rsi state: base1 @@ -86,3 +66,28 @@ product: CP14FoodOnion count: 3 +# Rep 1 + +- type: cp14TradingPosition + id: CP14FoodApple + faction: VictoriaGardens + reputationLevel: 1 + uiPosition: 0 + icon: + sprite: _CP14/Objects/Flora/Farm/apple.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodApple + count: 3 + +- type: cp14TradingPosition + id: CP14FoodPumpkin + faction: VictoriaGardens + reputationLevel: 1 + uiPosition: 1 + icon: + sprite: _CP14/Objects/Flora/Farm/pumpkin.rsi + state: base1 + service: !type:CP14BuyItemsService + product: CP14FoodPumpkin + count: 3 \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi/meta.json index 2a39519ae5..bf596b0ec3 100644 --- a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi/meta.json @@ -22,6 +22,9 @@ { "name": "icon" }, + { + "name": "tool" + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/_CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi/tool.png b/Resources/Textures/_CP14/Objects/ModularTools/Blade/Pickaxe/metall_pickaxe.rsi/tool.png new file mode 100644 index 0000000000000000000000000000000000000000..bf76eeb8933e872a7e62235e0cff932d341ea95c GIT binary patch literal 463 zcmV;=0WkiFP)Px$iAh93R9J=WmcMGkP!xy1lp+oe>0I3$)Y8%p1^+yQQ$c7k58>KTI_N977FzHD z3Vi|vN6}=6I2fr@46TE>+zurY#Asp?q2O=7_xtX-=bi*kIpu&T)tYEDTOy3T&JKY; zDo+ghDoV8$Si-l!)pZtt(O73R)+v_Cfh2qhG@31Ob9=}8>l*;3IRgkJaqbuXQm?PU zn%a{x+51p>VK4mSvnPtBvN#Ixm~d$ye9%`Jjde_OhV=6VfNB^!*ZIlLCUn9zwI>0{ zi8zH!I47WZdk(0EAz6zhDLEEOC0qrzo!%+YH@->9 zF`gev(G8+)aHqt?TA@$pfh1f7>|wJj&K@{a!gmjBrrjM%`g9IJC7<&x5!!pMPx%A4x<(R9J=Wl`&`&Q5eU67h>*R4@rUuMx|&i>LL{stU{n5)Y;KNTohcgi3sW> z0SC82$&jHXTbDQ#sf$DcDu{y7mMWK)hQupKNjp@NP;w5bmrGJ}?^=t?{ipBVefRx; zy!Y<=z?Uyy|5=Kcvs!WdI&LOZWAV2FRq6*1>^L&w4-=J!{72MGhZ7YJ>EH z2+9KNWU2`rfX$7y9YLgO$tG5eWdf=opb9jh+vWgz_z=x{&3b!lK2cT3e_pK|v z1ILC>+VPp!F92AXEs!(YIV0(W9ZzQG6u|Y)NbkVSyAPFx_n**&&dO|okLNG3_UH~H z=>%i3R*oigu-YXjvvbNe$ld`msiYMWYUjtQAo_TM>XSBvS4jf^44*s8ui9phx%2!r zP1`?!Kiiu#+0h)}L;j8HzweZ{-%x4VVa^0@PcRn4zKEm1h4>Yof+Y*Ft3Keo?KPn@ zx|<@~@^%D&QFdyEi^2P3r)KsSz}bA9=J&?mQ7vt8Ybfs-!1EDwL$pi}5FHE>9SrjA zRRWY7()IRy1k+1#JFb?tm|lw0-7os7?+$d2-&ND(NUXEtT)r0PdHEDnz?d&Ge*LPn zxhnubI1;hrjrDa_O|$2HI1<75vS6Dp7QX&FfM(+-fzUt?Ot*~rB15N70PYjeDc5F^ zNhPfxrw?G00000NkvXXu0mjfs~8_z literal 0 HcmV?d00001 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 index 12f2d5a4b7..50a43f8470 100644 --- a/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/meta.json @@ -15,6 +15,9 @@ }, { "name": "brad_potions" + }, + { + "name": "dwarf_mining" } ] } \ No newline at end of file From da45b9bba8e821d190623b6b9008dd2f7b856228 Mon Sep 17 00:00:00 2001 From: Ed Date: Sun, 1 Jun 2025 15:56:38 +0300 Subject: [PATCH 04/55] fixes --- .../Entities/Structures/Specific/Economy/trade_platform.yml | 1 - Resources/Prototypes/_CP14/Maps/comoss.yml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml index 9c87244067..38c6479c19 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml @@ -90,7 +90,6 @@ - type: CP14MagicEnergyDraw energy: -1 delay: 3 # 5m to full restore - - type: CP14MagicUnsafeDamage - type: CP14MagicEnergyExaminable - type: entity diff --git a/Resources/Prototypes/_CP14/Maps/comoss.yml b/Resources/Prototypes/_CP14/Maps/comoss.yml index ca180cc0a7..cba7f61de1 100644 --- a/Resources/Prototypes/_CP14/Maps/comoss.yml +++ b/Resources/Prototypes/_CP14/Maps/comoss.yml @@ -21,7 +21,7 @@ CP14Alchemist: [ 2, 2 ] CP14Blacksmith: [ 2, 2 ] CP14Innkeeper: [ 3, 4 ] - #CP14Merchant: [2, 2] + CP14Merchant: [2, 2] #Guard CP14Guard: [8, 8] CP14GuardCommander: [1, 1] From 6fce9dcdaab540c7d26bd4e41d98aeed9bab7b1b Mon Sep 17 00:00:00 2001 From: Ed Date: Sun, 1 Jun 2025 16:14:08 +0300 Subject: [PATCH 05/55] Update trade_platform.yml --- .../Entities/Structures/Specific/Economy/trade_platform.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml index 38c6479c19..552f6aaaf2 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Economy/trade_platform.yml @@ -15,7 +15,6 @@ sprite: _CP14/Structures/Specific/Economy/buy_platform.rsi state: base - type: ActivatableUI - singleUser: true key: enum.CP14TradingUiKey.Key - type: Clickable - type: InteractionOutline From 5c5a473ec0cb16c4baede0db086f2cf56275d740 Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Sun, 1 Jun 2025 19:21:41 +0300 Subject: [PATCH 06/55] More merchant content (#1349) * energy crystals * thaumaturgy trading --- .../MagicEnergy/CP14MagicEnergySystem.cs | 9 + .../Locale/en-US/_CP14/trading/factions.ftl | 3 +- .../Locale/ru-RU/_CP14/trading/factions.ftl | 3 +- .../_CP14/Catalog/Fills/closets.yml | 2 + .../Prototypes/_CP14/Catalog/Fills/crates.yml | 29 +- .../Actions/Spells/Life/sheep_polymorph.yml | 8 + .../Actions/Spells/Light/search_of_life.yml | 8 + .../Actions/Spells/Water/beer_creation.yml | 3 +- .../_CP14/Entities/Actions/Spells/scrolls.yml | 2 + .../_CP14/Entities/Mobs/Species/base.yml | 2 +- .../Entities/Objects/Bureaucracy/folder.yml | 2 + .../Entities/Objects/Bureaucracy/paper.yml | 2 + .../Entities/Objects/Bureaucracy/pen.yml | 5 + .../Objects/Economy/trade_contracts.yml | 11 + .../_CP14/Entities/Objects/Flora/farm.yml | 4 + .../Objects/Specific/Thaumaturgy/crystal.yml | 3 +- .../Objects/Specific/Thaumaturgy/tools.yml | 2 + .../Prototypes/_CP14/Trading/contracts.yml | 10 + .../Prototypes/_CP14/Trading/factions.yml | 4 + .../Prototypes/_CP14/Trading/thaumaturgy.yml | 258 ++++++++++++++++++ .../Economy/trade_contracts.rsi/magic.png | Bin 0 -> 613 bytes .../Economy/trade_contracts.rsi/meta.json | 3 + .../Thaumaturgy/crystal.rsi/medium.png | Bin 380 -> 470 bytes .../crystal.rsi/medium_connector.png | Bin 316 -> 0 bytes .../Thaumaturgy/crystal.rsi/meta.json | 3 - 25 files changed, 362 insertions(+), 14 deletions(-) create mode 100644 Resources/Prototypes/_CP14/Trading/thaumaturgy.yml create mode 100644 Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/magic.png delete mode 100644 Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium_connector.png diff --git a/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.cs b/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.cs index 541ef6a77f..fbc6f0381d 100644 --- a/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.cs +++ b/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.cs @@ -1,4 +1,6 @@ +using Content.Server.Cargo.Systems; using Content.Shared._CP14.MagicEnergy; +using Content.Shared._CP14.MagicEnergy.Components; using Robust.Shared.Timing; namespace Content.Server._CP14.MagicEnergy; @@ -14,6 +16,13 @@ public sealed partial class CP14MagicEnergySystem : SharedCP14MagicEnergySystem InitializeDraw(); InitializePortRelay(); + + SubscribeLocalEvent(OnMagicPrice); + } + + private void OnMagicPrice(Entity ent, ref PriceCalculationEvent args) + { + args.Price += ent.Comp.Energy.Double() * 0.1; } public override void Update(float frameTime) diff --git a/Resources/Locale/en-US/_CP14/trading/factions.ftl b/Resources/Locale/en-US/_CP14/trading/factions.ftl index 5b26795714..1c87e2518b 100644 --- a/Resources/Locale/en-US/_CP14/trading/factions.ftl +++ b/Resources/Locale/en-US/_CP14/trading/factions.ftl @@ -1,4 +1,5 @@ cp14-trade-faction-contracts = Zellasian Trade Guild cp14-trade-faction-victoria-gardens = Victoria Gardens cp14-trade-faction-brad-potions = Brad's marvelous potions -cp14-trade-faction-dwarf-mining = 'Dwarf Steel' mining branch \ No newline at end of file +cp14-trade-faction-dwarf-mining = 'Dwarf Steel' mining branch +cp14-trade-faction-thaumaturgy = Academy of Thaumaturgy \ 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 index 3f16ff70e4..08d43d00c3 100644 --- a/Resources/Locale/ru-RU/_CP14/trading/factions.ftl +++ b/Resources/Locale/ru-RU/_CP14/trading/factions.ftl @@ -1,4 +1,5 @@ cp14-trade-faction-contracts = Торговая гильдия Зелласиан cp14-trade-faction-victoria-gardens = Сады Виктории cp14-trade-faction-brad-potions = Великолепные зелья Брада -cp14-trade-faction-dwarf-mining = Шахтерский филиал 'Дворфийская сталь' \ No newline at end of file +cp14-trade-faction-dwarf-mining = Шахтерский филиал 'Дворфийская сталь' +cp14-trade-faction-thaumaturgy = Тауматургическая академия \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml index 59c554de93..e3a65ab542 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/closets.yml @@ -46,6 +46,8 @@ - id: HandLabeler #TODO custom cp14 labeler - id: CP14StampDenied - id: CP14StampApproved + - id: CP14ManaOperationGlove + - id: AppraisalTool - id: CP14PaperFolderRed amount: 2 - id: CP14PaperFolderBlue diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml b/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml index 984998b46a..0dc9cfb1dc 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml @@ -30,13 +30,13 @@ - !type:NestedSelector tableId: CP14StationCrateLootTools rolls: !type:RangeNumberSelector - range: 1, 5 + range: 4, 5 # Fluff - !type:NestedSelector tableId: CP14StationCrateLootFluff - prob: 0.33 + prob: 0.5 rolls: !type:RangeNumberSelector - range: 0, 2 + range: 4, 5 - type: entityTable id: CP14StationCrateLootTools @@ -51,11 +51,17 @@ - id: CP14Scissors - id: CP14Torch - id: CP14Lighter - - id: CP14ManaOperationGlove - id: CP14ModularIronShovel + - id: CP14KeyFile - id: CP14BaseMop + - id: CP14LockCopper - id: CP14ModularIronPickaxe - id: CP14ModularIronSickle + - !type:GroupSelector + children: + - id: CP14FluteInstrument + - id: CP14LyraInstrument + - id: CP14LuteInstrument - !type:GroupSelector children: - id: CP14Candle @@ -88,9 +94,11 @@ id: CP14StationCrateLootFluff table: !type:GroupSelector children: + - id: CP14PaperFolderBlue + - id: CP14PaperFolderRed + - id: CP14PenFeather - id: CP14FoodPotato - id: CP14FoodOnion - - id: CP14AgaricMushroom #dont eat - id: CP14Cloth10 - id: CP14CrayonWhite - !type:GroupSelector @@ -112,6 +120,17 @@ - id: CP14DyePurple - id: CP14DyeBlack - id: CP14DyeBlue + - !type:GroupSelector + children: + - id: CP14BloodFlower + - id: CP14AgaricMushroom + - id: CP14ChromiumSlime + weight: 0.5 + - id: CP14WildSage + - id: CP14LumiMushroom + - id: CP14BlueAmanita + - id: CP14Dayflin + - id: CP14AirLily - type: entityTable id: CP14RandomVials 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 f611bb5c47..397fc99a76 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/sheep_polymorph.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/sheep_polymorph.yml @@ -74,3 +74,11 @@ color: "#db35c8" shader: unshaded +- type: entity + parent: CP14BaseSpellScrollHealing + id: CP14SpellScrollSheepPolymorph + name: sheep polymorph spell scroll + components: + - type: CP14SpellStorage + spells: + - CP14ActionSpellSheepPolymorph \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Light/search_of_life.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Light/search_of_life.yml index 32306890a4..2a3b34c6e2 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Light/search_of_life.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Light/search_of_life.yml @@ -89,3 +89,11 @@ tags: - HideContextMenu +- type: entity + parent: CP14BaseSpellScrollLight + id: CP14SpellScrollSearchOfLife + name: search of life spell scroll + components: + - type: CP14SpellStorage + spells: + - CP14ActionSpellSearchOfLife diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/beer_creation.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/beer_creation.yml index 524131e7d3..0914fade75 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/beer_creation.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/beer_creation.yml @@ -88,5 +88,4 @@ components: - type: CP14SpellStorage spells: - - CP14ActionSpellBeerCreation - + - CP14ActionSpellBeerCreation \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/scrolls.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/scrolls.yml index 482e08cede..ba42c68f50 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/scrolls.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/scrolls.yml @@ -63,6 +63,8 @@ energy: 30 maxEnergy: 50 - type: CP14MagicUnsafeDamage + - type: StaticPrice + price: 5 - type: entity abstract: true diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml index 5b59fa0468..67c635a64c 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml @@ -210,7 +210,7 @@ attributes: proper: true - type: MobPrice - price: 1500 # Kidnapping a living person and selling them for cred is a good move. + price: 150 # Kidnapping a living person and selling them for cred is a good move. deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less. - type: Tag tags: diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/folder.yml b/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/folder.yml index 414863fdad..5a72d18309 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/folder.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/folder.yml @@ -35,6 +35,8 @@ - type: ContainerContainer containers: storagebase: !type:Container + - type: StaticPrice + price: 1 - type: entity id: CP14PaperFolderBlue diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/paper.yml b/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/paper.yml index d7c67914d2..727a31bcc8 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/paper.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/paper.yml @@ -60,6 +60,8 @@ - type: Tag tags: - Document + - type: StaticPrice + price: 2 - type: entity parent: CP14BasePaper diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/pen.yml b/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/pen.yml index ef76f2b54e..59ad523ee2 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/pen.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Bureaucracy/pen.yml @@ -22,6 +22,11 @@ collection: PaperScribbles params: variation: 0.1 + - type: StaticPrice + price: 3 + - type: PhysicalComposition + materialComposition: + Steel: 0 #Parenting from vanilla moment # TODO: Чернильницу нужно доделать. Перо должно быть видно, пока оно внутри чернильницы. Предмет должен быть через ItemSlots, чтобы перо вставлять забирать можно было кликом. Нужно добавить прикольные звуки вставляния, выставляния. И добавить механ, который будет требовать периодически макать перо в чернильницу. - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml b/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml index 6a048cf887..3996190316 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Economy/trade_contracts.yml @@ -50,3 +50,14 @@ - type: CP14TradingContract faction: DwarfMining +- type: entity + parent: CP14TradeContractBase + id: CP14TradeContractThaumaturgy + description: Trading contract with the "Academy of Thaumaturgy". Allows you to purchase various omagic device, tools and scrolls. + suffix: Thaumaturgy + components: + - type: Sprite + state: magic + - type: CP14TradingContract + faction: Thaumaturgy + diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Flora/farm.yml b/Resources/Prototypes/_CP14/Entities/Objects/Flora/farm.yml index c0879d7be3..471858391b 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Flora/farm.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Flora/farm.yml @@ -21,6 +21,8 @@ tags: - CP14Wheat - CP14FarmFood + - type: StaticPrice + price: 1 - type: entity id: CP14Cotton @@ -45,3 +47,5 @@ - type: Tag tags: - CP14FarmFood + - type: StaticPrice + price: 1 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/crystal.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/crystal.yml index 497fcc0193..bb5e2c1717 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/crystal.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/crystal.yml @@ -15,6 +15,8 @@ - type: Tag tags: - CP14EnergyCrystal + - type: StaticPrice + price: 10 - type: entity id: CP14EnergyCrystalMedium @@ -25,7 +27,6 @@ - type: Sprite layers: - state: medium - - state: medium_connector - type: CP14MagicEnergyContainer energy: 50 maxEnergy: 50 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/tools.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/tools.yml index 1e1eb82917..a0eb014081 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/tools.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Thaumaturgy/tools.yml @@ -57,6 +57,8 @@ collection: MetalThud cPAnimationLength: 0.25 cPAnimationOffset: -1.3 + - type: StaticPrice + price: 50 - type: NetworkConfigurator - type: ActivatableUI key: enum.NetworkConfiguratorUiKey.List diff --git a/Resources/Prototypes/_CP14/Trading/contracts.yml b/Resources/Prototypes/_CP14/Trading/contracts.yml index dc9b40cb62..b75acbe978 100644 --- a/Resources/Prototypes/_CP14/Trading/contracts.yml +++ b/Resources/Prototypes/_CP14/Trading/contracts.yml @@ -31,3 +31,13 @@ product: CP14TradeContractDwarfMining count: 1 +- type: cp14TradingPosition + id: CP14TradeContractThaumaturgy + faction: ContractGuild + uiPosition: 3 + icon: + sprite: _CP14/Objects/Specific/Economy/trade_contracts.rsi + state: magic + service: !type:CP14BuyItemsService + product: CP14TradeContractThaumaturgy + count: 1 diff --git a/Resources/Prototypes/_CP14/Trading/factions.yml b/Resources/Prototypes/_CP14/Trading/factions.yml index c660788df3..f25c2740c6 100644 --- a/Resources/Prototypes/_CP14/Trading/factions.yml +++ b/Resources/Prototypes/_CP14/Trading/factions.yml @@ -18,3 +18,7 @@ color: "#b05a3e" name: cp14-trade-faction-dwarf-mining +- type: cp14TradingFaction + id: Thaumaturgy + color: "#a43ae0" + name: cp14-trade-faction-thaumaturgy diff --git a/Resources/Prototypes/_CP14/Trading/thaumaturgy.yml b/Resources/Prototypes/_CP14/Trading/thaumaturgy.yml new file mode 100644 index 0000000000..e3a55570c2 --- /dev/null +++ b/Resources/Prototypes/_CP14/Trading/thaumaturgy.yml @@ -0,0 +1,258 @@ + +# Rep 0 + +- type: cp14TradingPosition + id: CP14EnergyCrystalMediumEmpty + faction: Thaumaturgy + uiPosition: 0 + icon: + sprite: _CP14/Objects/Specific/Thaumaturgy/crystal.rsi + state: medium + service: !type:CP14BuyItemsService + product: CP14EnergyCrystalMediumEmpty + +- type: cp14TradingPosition + id: CP14Paper + faction: Thaumaturgy + reputationLevel: 0 + uiPosition: 2 + icon: + sprite: _CP14/Objects/Bureaucracy/paper.rsi + state: paper + service: !type:CP14BuyItemsService + product: CP14Paper + +- type: cp14TradingPosition + id: CP14PenFeather + faction: Thaumaturgy + reputationLevel: 0 + uiPosition: 3 + icon: + sprite: _CP14/Objects/Bureaucracy/pens.rsi + state: feather + service: !type:CP14BuyItemsService + product: CP14PenFeather + +- type: cp14TradingPosition + id: CP14SpellScrollShadowGrab + faction: Thaumaturgy + priceMarkup: 5 + reputationLevel: 0 + uiPosition: 6 + icon: + sprite: _CP14/Actions/Spells/dimension.rsi + state: shadow_grab + service: !type:CP14BuyItemsService + product: CP14SpellScrollShadowGrab + +- type: cp14TradingPosition + id: CP14SpellScrollFlameCreation + faction: Thaumaturgy + reputationLevel: 0 + uiPosition: 8 + icon: + sprite: _CP14/Actions/Spells/fire.rsi + state: flame_creation + service: !type:CP14BuyItemsService + product: CP14SpellScrollFlameCreation + +- type: cp14TradingPosition + id: CP14SpellScrollBloodPurification + faction: Thaumaturgy + reputationLevel: 0 + uiPosition: 9 + icon: + sprite: _CP14/Actions/Spells/healing.rsi + state: cure_poison + service: !type:CP14BuyItemsService + product: CP14SpellScrollBloodPurification + +- type: cp14TradingPosition + id: CP14SpellScrollSheepPolymorph + faction: Thaumaturgy + reputationLevel: 0 + uiPosition: 10 + icon: + sprite: _CP14/Actions/Spells/misc.rsi + state: polymorph + service: !type:CP14BuyItemsService + product: CP14SpellScrollSheepPolymorph + +- type: cp14TradingPosition + id: CP14SpellScrollSearchOfLife + faction: Thaumaturgy + reputationLevel: 0 + uiPosition: 11 + icon: + sprite: _CP14/Actions/Spells/light.rsi + state: search_of_life + service: !type:CP14BuyItemsService + product: CP14SpellScrollSearchOfLife + +- type: cp14TradingPosition + id: CP14SpellScrollSphereOfLight + faction: Thaumaturgy + reputationLevel: 0 + uiPosition: 12 + icon: + sprite: _CP14/Actions/Spells/light.rsi + state: sphere_of_light + service: !type:CP14BuyItemsService + product: CP14SpellScrollSphereOfLight + +- type: cp14TradingPosition + id: CP14SpellScrollWaterCreation + faction: Thaumaturgy + reputationLevel: 0 + uiPosition: 14 + icon: + sprite: _CP14/Actions/Spells/water.rsi + state: water_creation + service: !type:CP14BuyItemsService + product: CP14SpellScrollWaterCreation + +# Rep 1 + +- type: cp14TradingPosition + id: CP14ManaOperationGlove + faction: Thaumaturgy + reputationLevel: 1 + uiPosition: 0 + icon: + sprite: _CP14/Objects/Specific/Thaumaturgy/powerline_gauntlet.rsi + state: icon + service: !type:CP14BuyItemsService + product: CP14ManaOperationGlove + +- type: cp14TradingPosition + id: CP14SpellScrollDemiplaneInfiltration + priceMarkup: 5 #Unique trade spells + faction: Thaumaturgy + reputationLevel: 1 + uiPosition: 6 + icon: + sprite: _CP14/Actions/Spells/dimension.rsi + state: rift_arrow + service: !type:CP14BuyItemsService + product: CP14SpellScrollDemiplaneInfiltration + +- type: cp14TradingPosition + id: CP14SpellScrollEarthWall + faction: Thaumaturgy + priceMarkup: 2 + reputationLevel: 1 + uiPosition: 7 + icon: + sprite: _CP14/Actions/Spells/earth.rsi + state: earth_wall + service: !type:CP14BuyItemsService + product: CP14SpellScrollEarthWall + +- type: cp14TradingPosition + id: CP14SpellScrollCureBurn + faction: Thaumaturgy + reputationLevel: 1 + uiPosition: 9 + icon: + sprite: _CP14/Actions/Spells/healing.rsi + state: cure_burn + service: !type:CP14BuyItemsService + product: CP14SpellScrollCureBurn + +- type: cp14TradingPosition + id: CP14SpellScrollCureWounds + faction: Thaumaturgy + reputationLevel: 1 + uiPosition: 10 + icon: + sprite: _CP14/Actions/Spells/healing.rsi + state: cure_wounds + service: !type:CP14BuyItemsService + product: CP14SpellScrollCureWounds + +- type: cp14TradingPosition + id: CP14SpellScrollFlashLight + faction: Thaumaturgy + reputationLevel: 1 + uiPosition: 11 + icon: + sprite: _CP14/Actions/Spells/light.rsi + state: flash_light + service: !type:CP14BuyItemsService + product: CP14SpellScrollFlashLight + +- type: cp14TradingPosition + id: CP14SpellScrollMagicSplitting + faction: Thaumaturgy + reputationLevel: 1 + uiPosition: 13 + icon: + sprite: _CP14/Actions/Spells/meta.rsi + state: counter_spell + service: !type:CP14BuyItemsService + product: CP14SpellScrollMagicSplitting + +- type: cp14TradingPosition + id: CP14SpellScrollIceShards + faction: Thaumaturgy + reputationLevel: 1 + uiPosition: 14 + icon: + sprite: _CP14/Actions/Spells/water.rsi + state: ice_shards + service: !type:CP14BuyItemsService + product: CP14SpellScrollIceShards + +# Rep 2 + +- type: cp14TradingPosition + id: CP14SpellScrollFireball + faction: Thaumaturgy + reputationLevel: 2 + priceMarkup: 5 + uiPosition: 8 + icon: + sprite: _CP14/Actions/Spells/fire.rsi + state: fireball + service: !type:CP14BuyItemsService + product: CP14SpellScrollFireball + +- type: cp14TradingPosition + id: CP14SpellScrollBeerCreation + faction: Thaumaturgy + priceMarkup: 5 + reputationLevel: 2 + uiPosition: 14 + icon: + sprite: _CP14/Actions/Spells/water.rsi + state: beer_creation + service: !type:CP14BuyItemsService + product: CP14SpellScrollBeerCreation + +# Rep 3 + +- type: cp14TradingPosition + id: CP14SpellScrollResurrection + faction: Thaumaturgy + reputationLevel: 3 + priceMarkup: 5 + uiPosition: 9 + icon: + sprite: _CP14/Actions/Spells/necromancy.rsi + state: resurrection + service: !type:CP14BuyItemsService + product: CP14SpellScrollResurrection + +# Rep 4 + +- type: cp14TradingPosition + id: CP14SpellScrollShadowStep + priceMarkup: 15 #Unique trade spells + faction: Thaumaturgy + reputationLevel: 4 + uiPosition: 6 + icon: + sprite: _CP14/Actions/Spells/dimension.rsi + state: shadow_step + service: !type:CP14BuyItemsService + product: CP14SpellScrollShadowStep \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/magic.png b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/magic.png new file mode 100644 index 0000000000000000000000000000000000000000..96a754388baf5fb97541e0a7787bf6a61c84458c GIT binary patch literal 613 zcmV-r0-F7aP)Px%A4x<(R9J=Wl|N_`aTLct2{E~Al%$AYtQ4(996S)RXf+@x5!`fh5SKc-1>#tQ zK!r{YC4)oTY+cSt>e8jeX0Qk*EmbZpgv3-t+CpRgP;w3-M=lp~zta|n<~zOj`#s+K z@cZ)~3^dR{|5+|4!Kq|I7mY1x+W@?rdE2*!FhDAq(9aBcE$eQdWLeX)o1D9N!2sz8 z;SmMsRaBPz095vW^#l>hB^p@LwsHF;+&&3e@*Bkg{DHGH>ovn~)atB$SOK7rFCGoR z$oORdR_{OUx&JD6*W}NtORhFVKRJ4Y)3HfC9GNiucv|80?W`%LTCKA2>9g(QYfJb9 zQptqwm3)T3eCIJE4@1P$ifD>|0{|FTu2HR3h^G~D*#oXCr!5e&EFT{LdMkV?oT2o- zOfGu>V7i92m5;*5?;OC@G|V={^B<}yBpjJwIyNcXu$%z^Q)@R(5bf{yCJ=R+>MsGp z8OxeFx5z@}2I}16@d9)cvrjvCD7LML?7J~E^Z3| z5C{ehdw*|_opRZ-9|#7~avMhR%`ab%4xriijoUk9f$5gEo@eapCBS|HcFMM6rIHE# zXYo7G8na%>N268;Fxj1jXVoP~LvEmfPPYC4Mb58Y=X08Y00000NkvXXu0mjf^L-e) literal 0 HcmV?d00001 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 index 50a43f8470..7d3c5b2c3b 100644 --- a/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Specific/Economy/trade_contracts.rsi/meta.json @@ -18,6 +18,9 @@ }, { "name": "dwarf_mining" + }, + { + "name": "magic" } ] } \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium.png b/Resources/Textures/_CP14/Objects/Specific/Thaumaturgy/crystal.rsi/medium.png index 94e26d9d33ddf57dc2d001c6a9c1b5b7b5bd2539..b6f34faa832028528c84424dbb056af7f2c48f88 100644 GIT binary patch delta 431 zcmV;g0Z{(@0@eeNF@KOrL_t(oh3%BhD@0Kkho3v#n7iBXd2zb_$V%JITp+`BF?=FDfijEr}v!m^gAEm zx!!8&HNGO?b)pd|<0AX~Nq@{O<+6?Sl>v-M*{AV> zgx4gbC-u*si=#cKSSMy`NF|>D(3=%9S;5X!$hCy4BdCq4)J9bR7H4nhj#U7V$qE|Q zM;VKou8%`nU~49#G)6y)lu7_3S`QhEo5GEVs{{%XJ$-6XWNrB#z4!TS0WqA@iWp-V_E9-${5909e`FRlpPjPdRkWVW?}LycJ}}GT2C8 zNw4EspePYH#XwVzycGl>^Pv71dnulO!U88bi}ZB}fGEY&j`w7KnNFik$liJ%A0MAT Z$17;khcQ`&Z3qAW002ovPDHLkV1klN&~X3& delta 340 zcmV-a0jvJj1N;JzF@H8mL_t(oh3%A2YQjJihkp|t>dp!_&=8|!B|SiuE<�qT3!q z3Z5ZQdI%TUy3MjEi0uK2%Sa@JP-we}twN`Z!9O%EW+J$8zTJDwJid8vW&njkp*VGj z=)(KS7u$`iB@OT2zj$bug=_3X%e%2@6p%#AjF>D%(S_BLhJU6}$mG`&c{?Gz$@OCP zI$3SvyWTlo#yGB6XYGW_yNYotw0000Px#_DMuRR9J=W(jkiiK^VsIzoKC`8jc0aA}CwLO9o-mV861}&)`S#GhFo>99R?# zmgBI93u0NA;@XsB!(5PsD|&Of!SMe2JM+vlF9;!o5TYcpRyNkk{&%icW{6R14O~J@ zXN!u8+(djN2j_DhTEgjU zQ9&y^Y^G$!17Lru|5^KQ4=>?1H6+Iu0N!_9=j|_5FKS!YtrtRwr}G0PXHUx1+1AVe O0000 Date: Sun, 1 Jun 2025 21:55:20 +0300 Subject: [PATCH 07/55] d (#1351) --- .../_CP14/MagicEnergy/CP14MagicEnergySystem.cs | 9 --------- .../Prototypes/Reagents/Consumable/Food/food.yml | 6 +++--- .../Entities/Objects/Specific/Alchemy/vial_bomb.yml | 5 ++++- Resources/Prototypes/_CP14/Trading/brad_potions.yml | 11 +++++++++++ 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.cs b/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.cs index fbc6f0381d..541ef6a77f 100644 --- a/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.cs +++ b/Content.Server/_CP14/MagicEnergy/CP14MagicEnergySystem.cs @@ -1,6 +1,4 @@ -using Content.Server.Cargo.Systems; using Content.Shared._CP14.MagicEnergy; -using Content.Shared._CP14.MagicEnergy.Components; using Robust.Shared.Timing; namespace Content.Server._CP14.MagicEnergy; @@ -16,13 +14,6 @@ public sealed partial class CP14MagicEnergySystem : SharedCP14MagicEnergySystem InitializeDraw(); InitializePortRelay(); - - SubscribeLocalEvent(OnMagicPrice); - } - - private void OnMagicPrice(Entity ent, ref PriceCalculationEvent args) - { - args.Price += ent.Comp.Energy.Double() * 0.1; } public override void Update(float frameTime) diff --git a/Resources/Prototypes/Reagents/Consumable/Food/food.yml b/Resources/Prototypes/Reagents/Consumable/Food/food.yml index e78b4d2c56..89f949a23f 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: 0.2 + pricePerUnit: 0.05 - type: reagent id: Vitamin #Anything "healthy" @@ -53,7 +53,7 @@ amount: 0.5 - !type:PlantAdjustHealth amount: 1.5 - pricePerUnit: 0.25 + pricePerUnit: 0.07 - type: reagent id: Protein #Meat and beans @@ -78,7 +78,7 @@ - !type:OrganType type: CP14Vampire shouldHave: false - pricePerUnit: 0.3 + pricePerUnit: 0.1 - type: reagent id: Sugar #Candy and grains diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vial_bomb.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vial_bomb.yml index 99b62b29e6..d1f78ad13e 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vial_bomb.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Alchemy/vial_bomb.yml @@ -39,4 +39,7 @@ - state: label visible: false map: ["enum.PaperLabelVisuals.Layer"] - + - type: PhysicalComposition + materialComposition: + CP14Glass: 10 + CP14Gold: 10 diff --git a/Resources/Prototypes/_CP14/Trading/brad_potions.yml b/Resources/Prototypes/_CP14/Trading/brad_potions.yml index fc20844625..d92d5aff34 100644 --- a/Resources/Prototypes/_CP14/Trading/brad_potions.yml +++ b/Resources/Prototypes/_CP14/Trading/brad_potions.yml @@ -200,6 +200,17 @@ service: !type:CP14BuyItemsService product: CP14Cauldron +- type: cp14TradingPosition + id: CP14BaseAlchemyBomb + faction: BradPotions + reputationLevel: 2 + uiPosition: 7 + icon: + sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi + state: vial + service: !type:CP14BuyItemsService + product: CP14BaseAlchemyBomb + # Rep 3 - type: cp14TradingPosition From c35052b9facc506c6bc84b6323150a5995cd66ab Mon Sep 17 00:00:00 2001 From: Kit Date: Mon, 2 Jun 2025 03:21:51 -0400 Subject: [PATCH 08/55] STOP POSTING ABOUT THE THING ALL MY FRIENDS ON TIK TOK SENT ME "THE THING" (#1353) --- Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml index 3f031afbd6..a193428aa1 100644 --- a/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/pickaxe.yml @@ -32,7 +32,6 @@ storedOffsetBonus: 0, 5 - !type:EditModularSlots addSlots: - - Garde - BladeInlay - type: modularPart From e9534102050e23f15e4f28a4544299907296ddb2 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 11:32:01 +0300 Subject: [PATCH 09/55] Update peace_ballade.yml --- .../_CP14/Entities/Actions/Spells/Life/peace_ballade.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/peace_ballade.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/peace_ballade.yml index 501c9dce9e..7b58dd4a81 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/peace_ballade.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Life/peace_ballade.yml @@ -40,8 +40,8 @@ - type: TimedDespawn lifetime: 1.6 - type: CP14AreaEntityEffect - range: 3 - maxTargets: 4 + range: 5 + maxTargets: 8 whitelist: components: - MobState From 483a82fdd433247ad7a01d398e983abf53daf41a Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 11:34:01 +0300 Subject: [PATCH 10/55] Update grasshighbush.yml --- .../_CP14/Entities/Structures/Flora/grasshighbush.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Flora/grasshighbush.yml b/Resources/Prototypes/_CP14/Entities/Structures/Flora/grasshighbush.yml index 4b657997aa..9e688eb4bb 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Flora/grasshighbush.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Flora/grasshighbush.yml @@ -8,7 +8,7 @@ - type: CP14WaveShader speed: 2.5 dis: 4 - - type: SpriteFade + #- type: SpriteFade #Hard to attack - type: Clickable - type: Sprite noRot: true From 5a2ccc3e0846209ac5f8831f38c1e640d4ffe599 Mon Sep 17 00:00:00 2001 From: Nim <128169402+Nimfar11@users.noreply.github.com> Date: Mon, 2 Jun 2025 14:16:42 +0300 Subject: [PATCH 11/55] Resprite (#1328) * well resprite * broken well * Campfire * meta * Quantity --- .../_CP14/Entities/Structures/well.yml | 44 ++++++++++++++++++ .../aristocratic_cloak.rsi/inhand-left.png | Bin 0 -> 1088 bytes .../aristocratic_cloak.rsi/inhand-right.png | Bin 0 -> 1078 bytes .../General/aristocratic_cloak.rsi/meta.json | 8 ++++ .../Structures/Furniture/bonfire.rsi/base.png | Bin 664 -> 808 bytes .../Furniture/bonfire.rsi/meta.json | 2 +- .../Specific/Farming/well.rsi/broken.png | Bin 0 -> 1658 bytes .../Specific/Farming/well.rsi/grovelling.png | Bin 0 -> 2156 bytes .../Specific/Farming/well.rsi/icon.png | Bin 1807 -> 2161 bytes .../Specific/Farming/well.rsi/meta.json | 8 +++- 10 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/General/aristocratic_cloak.rsi/inhand-left.png create mode 100644 Resources/Textures/_CP14/Clothing/Cloak/Roles/General/aristocratic_cloak.rsi/inhand-right.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/broken.png create mode 100644 Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/grovelling.png diff --git a/Resources/Prototypes/_CP14/Entities/Structures/well.yml b/Resources/Prototypes/_CP14/Entities/Structures/well.yml index b352041586..d9aa4e6a84 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/well.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/well.yml @@ -28,3 +28,47 @@ solution: pool - type: Drink solution: pool + +- type: entity + id: CP14StoneWellBroken + parent: CP14StoneWell + categories: [ ForkFiltered ] + name: broken well + description: A barely surviving well that's been through too much, maybe there's still water left. + components: + - type: Sprite + noRot: true + offset: 0, 0.3 + drawdepth: Mobs + sprite: _CP14/Structures/Specific/Farming/well.rsi + layers: + - state: broken + - type: SolutionContainerManager + solutions: + pool: + maxVol: 999 + reagents: + - ReagentId: Water + Quantity: 200 + +- type: entity + id: CP14StoneWellGrovelling + parent: CP14StoneWell + categories: [ ForkFiltered ] + name: grovelling well + description: A well ruined by time, overgrown with moss and grass, perhaps there was at least a couple of buckets of water left there. + components: + - type: Sprite + noRot: true + offset: 0, 0.3 + drawdepth: Mobs + sprite: _CP14/Structures/Specific/Farming/well.rsi + layers: + - state: grovelling + - type: SolutionContainerManager + solutions: + pool: + maxVol: 999 + reagents: + - ReagentId: Water + Quantity: 50 diff --git a/Resources/Textures/_CP14/Clothing/Cloak/Roles/General/aristocratic_cloak.rsi/inhand-left.png b/Resources/Textures/_CP14/Clothing/Cloak/Roles/General/aristocratic_cloak.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d6809572eac9c5cf30e321d18fbedd5cad4d5b GIT binary patch literal 1088 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 N002ovPDHLkV1gz8D$oD` diff --git a/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/meta.json index d985b0816d..549c953753 100644 --- a/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-4.0", - "copyright": "Created by TheShuEd ", + "copyright": "Created by TheShuEd, base by resprite Jaraten", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/broken.png b/Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/broken.png new file mode 100644 index 0000000000000000000000000000000000000000..d3af58cec872942d309054756c375464cabcd7a6 GIT binary patch literal 1658 zcmV-=28H>FP)Px*G)Y83RCt{2nNMijRvgE_8N0|}UnB@vHU!%sn~;Mc4YUoEC1e?cmF3_=U<^iX zW6)8`jy>!+##o{B))q=>17>7oV{8k_81xUM1(TFg8`=zw;jYgxfPDp5#w(H8@QG!J&j?Wuc8SjoW zSw(%>X0rwKUY5?~>?{D_wfhD+JB!VYI*g2orNsp~A55@jvxTL_g}!Ie{Yu43@bcA* zQ!61+1*le9T3o>Ty<0ecVHs`L#o4(t0D#+f?g9Y(V=wfd&nFM^k3DQ|)Nyg8CY6Vt z0+S%I5U8!L1*(;AT)&2{-+?(fCC8DlMAz>iWu#$bOaQ=VpMC=L1YEy&3n?QF0P?zJ zS@`I~4*&o^{qif?2Q5_R&dK|Y8WM>rAj-mBzXJd;C#R(FbdE!Ua%h~Y1cL5&aiu2D z#Z9clJ8=gNgIiy9Z^An|MAz?x6heQ_^eno52l;}7e8G|9NN_s#jt=|on=d%n+TM{~ zH!R^sk%$M(RObVFF(YI4S(-w?vMc~V`=A9QWA+_`d5t+aC9e~$=TG~d?M%-?2q8n` zwfhE*y?y+#^U;no6o*iRw=7EvBZQD+gb-*SwB#`t9zDhI>nS4*XL=US z^sF31N@*XoaQn{PP@;@OB2|FO)I;XtV6iKNh>U+DV@i+ljt)a}xT~v5;|isDWB>}m zxQwj;|JajtK4ql)5*H%!0Y9&f?1JYOhZsF$Khly_Aubf{-N%vOKRQVAiKT zg2F@189ez3;e|YD7-K8I$e5s(l~7|?Jyu)bDDO~-$|EHF*7gqkV^4ZQT;Y*KAHaKn zL7iJv9vB8sh{LXP*WcWz1HD`#gut`LgIKa95&~-Jqb@Eg%M&~=47*Wg z8~K$QHaF^hO5loA%UrqaKnM@5=TGI@ATEiOK~e&GVUaI5Xgz-lA;dt}RO6VG^7$8+ zZ%UCJki+O2Ut9FW$+%s$e7sL-U+Q9 z`G10}KdAMNBDMl(!-K5!-M3#)(96*Rg_;`@K4qj~S=LaOZ0zkz&*AV2LAj*OnkVWK z$^F|0t&v=xh^+uhG_>neTU`t4_is)-Ydn}J6)S=0y(raT^przZit69_%1(WG5>V|i z=>Pc(%aQLniuEyS2sCyd$=^KlzI^p!qExKN9bMkfQ@y9a9m=t)dy{oJ)N%5A zso}+Uh%aBc8i09g6eD+nBxuxDbg5VgxCd}SX$5FmW=I%P&1bGa%H2=-Rji6mB^n~Z0 ztCDCHp#FQNIv?v!aJf{!ER^6UPwH_#}Lcc1h%Nh)vU+u+YXT*8-M z{T`sF40V5yCpx|dz(a)2#aZOcROf?o*$IW&ASJ!EkE0yEg5-Sv&HEEvQAFI8-JoX- z3)_E10ZE~LjT)Bh1~JyQcx`np;2$*OjHl8xE+l-;&Pw4=iuWi^t$>;8d~kN|4Dz;( zQH09b*^$N%qSW zeGsQEgT03Z=(WdD{rr%5iI9X6$EH-Q1iTH_X#QLL1@f5UI~qOTZ2$lO07*qoM6N<$ Eg2YrCBLDyZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/grovelling.png b/Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/grovelling.png new file mode 100644 index 0000000000000000000000000000000000000000..367648bce5afb481e5ef3b37f497618d8736e256 GIT binary patch literal 2156 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 VQ+L)kpEdvh002ovPDHLkV1oMcV`TsU diff --git a/Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/meta.json b/Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/meta.json index 45007d99a5..5c171bd5e5 100644 --- a/Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Specific/Farming/well.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-4.0", - "copyright": "Created by omsoyk", + "copyright": "Created by omsoyk and gogenych", "size": { "x": 64, "y": 64 @@ -9,6 +9,12 @@ "states": [ { "name": "icon" + }, + { + "name": "grovelling" + }, + { + "name": "broken" } ] } From c93976173730e3c996fa2e75fcd4345f0d0c4ba8 Mon Sep 17 00:00:00 2001 From: Viator-MV Date: Mon, 2 Jun 2025 14:20:45 +0300 Subject: [PATCH 12/55] skelemake (#1276) * skelemake * sharded * mastery * Not so slow cast * ok no demi deipletion * skillstorage and Species * ressurection dead * fixed --------- Co-authored-by: Red <96445749+TheShuEd@users.noreply.github.com> --- .../Spells/Death/cure_dead_ballade.yml | 1 + .../{cure_dead.yml => resurrection_dead.yml} | 50 ++++++++++--------- .../Entities/Actions/Spells/Physical/kick.yml | 4 +- .../Player/DemiplaneAntag/Skeletons/T1.yml | 6 +++ .../Player/DemiplaneAntag/Skeletons/T2.yml | 40 +++++++++++---- .../Entities/Mobs/Player/TownRaids/undead.yml | 28 ++++++++++- .../_CP14/Entities/Mobs/Species/base.yml | 1 + .../Weapons/ModularPresets/daggers.yml | 3 +- .../Weapons/ModularPresets/skimitar.yml | 46 +++++++++++++++++ .../Loadouts/Misc/skeleton_startinggear.yml | 20 ++++++-- 10 files changed, 156 insertions(+), 43 deletions(-) rename Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/{cure_dead.yml => resurrection_dead.yml} (56%) diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/cure_dead_ballade.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/cure_dead_ballade.yml index 9d42ae7c4d..742902d664 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/cure_dead_ballade.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/cure_dead_ballade.yml @@ -11,6 +11,7 @@ - type: CP14MagicEffectManaCost manaCost: 1 - type: CP14MagicEffect + magicType: Life effects: - !type:CP14SpellSpawnEntityOnTarget # TODO заставить работать только на нежить spawns: diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/cure_dead.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/resurrection_dead.yml similarity index 56% rename from Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/cure_dead.yml rename to Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/resurrection_dead.yml index 8a5a641620..dca7674f14 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/cure_dead.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Death/resurrection_dead.yml @@ -1,16 +1,19 @@ - type: entity - id: CP14ActionSpellCureFromDeath - name: Cure from death - description: You heal the target from all kinds of damage. + id: CP14ActionSpellResurrectionDead + name: Death resurrection + description: You resurrect the target and cure it from damage. components: - type: Sprite sprite: _CP14/Actions/Spells/necromancy.rsi state: cure_dead - type: CP14MagicEffectCastSlowdown - speedMultiplier: 0.7 + speedMultiplier: 0.9 - type: CP14MagicEffectManaCost - manaCost: 4 + manaCost: 20 + - type: CP14MagicEffectAliveTargetRequired + inverted: true - type: CP14MagicEffect + magicType: Life telegraphyEffects: - !type:CP14SpellSpawnEntityOnTarget spawns: @@ -19,27 +22,27 @@ - !type:CP14SpellSpawnEntityOnTarget spawns: - CP14ImpactEffectResurrection - - !type:CP14SpellResurrectionEffect # TODO заставить работать только на нежить + - !type:CP14SpellResurrectionEffect - !type:CP14SpellApplyEntityEffect effects: - !type:HealthChange damage: types: - Asphyxiation: -2 - Bloodloss: -2 - Blunt: -2 - Cellular: -1 - Caustic: -2 - Cold: -1 - Heat: -1 - Piercing: -2 - Poison: -2 - Radiation: -2 - Shock: -2 - Slash: -2 - - type: CP14MagicEffectSomaticAspect + Asphyxiation: -500 + Bloodloss: -100 + Blunt: -25 + Caustic: -25 + Cold: -25 + Heat: -50 + Piercing: -25 + Poison: -25 + Radiation: -25 + Shock: -25 + Slash: -25 + - !type:Jitter - type: CP14MagicEffectVerbalAspect - startSpeech: "Surge, hominem mortuum!" + startSpeech: "Surge..." + endSpeech: "Hominem mortuum" - type: CP14MagicEffectCastingVisual proto: CP14RuneResurrection - type: EntityTargetAction @@ -49,14 +52,15 @@ range: 10 itemIconStyle: BigAction interactOnMiss: false + canTargetSelf: false sound: !type:SoundPathSpecifier path: /Audio/Magic/rumble.ogg icon: sprite: _CP14/Actions/Spells/necromancy.rsi state: cure_dead - event: !type:CP14ToggleableEntityTargetActionEvent - cooldown: 2 - castTime: 10 + event: !type:CP14DelayedEntityTargetActionEvent + cooldown: 10 + castDelay: 2 breakOnMove: false breakOnDamage: false diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Physical/kick.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Physical/kick.yml index aa230363a5..db9ef6acac 100644 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Physical/kick.yml +++ b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Physical/kick.yml @@ -94,4 +94,6 @@ event: !type:CP14DelayedEntityTargetActionEvent cooldown: 5 castDelay: 0.4 - + distanceThreshold: 1.5 + breakOnMove: false + breakOnDamage: false diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/Skeletons/T1.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/Skeletons/T1.yml index c75edef6f2..577a28c475 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/Skeletons/T1.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/Skeletons/T1.yml @@ -8,6 +8,12 @@ - type: NpcFactionMember factions: - CP14Monster + - type: CP14SkillStorage + experienceMaxCap: 0 + freeLearnedSkills: + - SwordMastery + - RapierMastery + - SkimitarMastery - type: entity id: CP14MobUndeadSkeletonHalberdT1 diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/Skeletons/T2.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/Skeletons/T2.yml index 8db6c3d617..1260c6be37 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/Skeletons/T2.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Player/DemiplaneAntag/Skeletons/T2.yml @@ -1,6 +1,6 @@ - type: entity id: CP14MobUndeadSkeletonDemiplaneT2 - parent: CP14BaseMobSkeleton + parent: CP14MobUndeadSkeletonDemiplaneT1 name: skeleton abstract: true components: @@ -77,20 +77,38 @@ - type: Loadout prototypes: - CP14MobSkeletonWizardT2 - - type: CP14MagicEnergyDraw - energy: 1 - delay: 1 + - type: CP14MagicEnergyContainer + magicAlert: CP14MagicEnergy + maxEnergy: 200 + energy: 200 + unsafeSupport: true + - type: PassiveDamage + allowedStates: + - Alive + damage: + types: + CP14ManaDepletion: -0.1 + - type: CP14SkillStorage + experienceMaxCap: 0 + freeLearnedSkills: + - SwordMastery + - RapierMastery + - SkimitarMastery + - HydrosophistryT1 + - HydrosophistryT2 + - MetamagicT1 + - MetamagicT2 + - CP14ActionSpellFreeze + - CP14ActionSpellIceShards + - CP14ActionSpellManaConsumeElf + - CP14ActionSpellManaGiftElf + - CP14ActionSpellMagicSplitting + - CP14ActionSpellManaTrance - type: CP14SpellStorage grantAccessToSelf: true spells: - - CP14ActionSpellFreeze - - CP14ActionSpellIceShards - - CP14ActionSpellIceDagger - - CP14ActionSpellCureFromDeath + - CP14ActionSpellResurrectionDead - CP14ActionSpellShadowStep - - CP14ActionSpellShadowSwap - - CP14ActionSpellShadowGrab - - type: entity id: CP14MobUndeadSkeletonBardT2 parent: CP14MobUndeadSkeletonDemiplaneT2 diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Player/TownRaids/undead.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Player/TownRaids/undead.yml index 365e533fd3..e7aaac5a88 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Player/TownRaids/undead.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Player/TownRaids/undead.yml @@ -39,7 +39,7 @@ offset: 1 table: !type:GroupSelector rolls: !type:RangeNumberSelector - range: 1, 5 + range: 3, 5 children: - id: CP14MobUndeadZombie weight: 2 @@ -50,6 +50,32 @@ tags: - FootstepSound - CP14RaidLeader + - type: CP14SkillStorage + experienceMaxCap: 0 + freeLearnedSkills: + - SwordMastery + - RapierMastery + - SkimitarMastery + - MetamagicT1 + - MetamagicT2 + - HydrosophistryT1 + - HydrosophistryT2 + - PyrokineticT1 + - PyrokineticT2 + - CP14ActionSpellFireball + - CP14ActionSpellFreeze + - CP14ActionSpellIceShards + - CP14ActionSpellManaConsumeElf + - CP14ActionSpellManaGiftElf + - CP14ActionSpellMagicSplitting + - CP14ActionSpellManaTrance + - type: CP14SpellStorage + grantAccessToSelf: true + spells: + - CP14ActionSpellResurrectionDead + - type: Loadout + prototypes: + - CP14MobSkeletonWizardTownRaid - type: entity id: CP14SpawnPointTownRaidUndeadEasy diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml index 67c635a64c..6a5e0f8f32 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/Species/base.yml @@ -400,6 +400,7 @@ - BaseMob - CP14MobDamageable - CP14MobMagical + - CP14BaseMobSpecies id: CP14BaseMobSpeciesNoLife categories: [ ForkFiltered ] abstract: true diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/daggers.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/daggers.yml index 50ca9df508..1030bc0f89 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/daggers.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/daggers.yml @@ -43,5 +43,4 @@ - type: CP14ModularCraftAutoAssemble details: - BladeIronDagger - - InlayQuartzElectric - + - InlayQuartzElectric \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/skimitar.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/skimitar.yml index 3ab26f71d5..a96e33eb95 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/skimitar.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/skimitar.yml @@ -13,3 +13,49 @@ details: - BladeIronSkimitar +- type: entity + id: CP14ModularCopperSkimitar + parent: CP14ModularGripWooden + name: copper skimitar + description: the gold standard of edged weapons. Medium length, comfortable grip. No frills. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/Blade/Skimitar/metall_skimitar.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeCopperSkimitar + +- type: entity + id: CP14ModularIronSkimitarTundra + parent: CP14ModularGripWooden + name: Skimitar Tundra + description: the gold standard of edged weapons. Medium length, comfortable grip. It has "tundra" engraved on it. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronSkimitar + - InlayQuartzWater + +- type: entity + id: CP14ModularGoldSkimitarAgony + parent: CP14ModularGripWooden + name: Skimitar Agony + description: the gold standard of edged weapons. Medium length, comfortable grip. It has "agony" engraved on it. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/Blade/Dagger/metall_dagger.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeGoldSkimitar + - InlayQuartzElectric diff --git a/Resources/Prototypes/_CP14/Loadouts/Misc/skeleton_startinggear.yml b/Resources/Prototypes/_CP14/Loadouts/Misc/skeleton_startinggear.yml index a72ee5e71d..1a7bb314f6 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Misc/skeleton_startinggear.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Misc/skeleton_startinggear.yml @@ -6,6 +6,18 @@ equipment: pants: CP14ClothingPantsLoincloth +- type: startingGear + id: CP14MobSkeletonWizardTownRaid + equipment: + outerClothing: CP14ClothingOuterClothingBoneArmor + cloak: CP14ClothingCloakBoneMage + head: CP14ClothingHeadTriangularHatGolden + shirt: CP14ClothingShirtCottonBlack + pants: CP14ClothingPantsBrown + shoes: CP14LongLeatherBoots + belt1: CP14ModularSkeletonSwordUpgrade + neck: CP14ModularIronPickaxe + # TIER 1 - type: startingGear @@ -35,7 +47,7 @@ equipment: mask: CP14ClothingMaskSinner pants: CP14ClothingPantsLoincloth - belt1: CP14ModularIronDagger + belt1: CP14ModularCopperSkimitar belt2: CP14ModularIronDagger - type: startingGear @@ -77,8 +89,8 @@ outerClothing: CP14ClothingOuterClothingBoneArmor mask: CP14ClothingMaskBoneHornedMask pants: CP14ClothingPantsLoincloth - belt1: CP14ModularIronDaggerTundra - belt2: CP14ModularIronDaggerAgony + belt1: CP14ModularIronSkimitarTundra + belt2: CP14ModularGoldSkimitarAgony shoes: CP14ClothingShoesSandals - type: startingGear @@ -104,8 +116,6 @@ shoes: CP14LongLeatherBoots ring2: CP14ClothingCloakAmuletMana belt1: CP14ModularSkeletonSword - inhand: - - CP14ManaOperationGlove - type: startingGear id: CP14MobSkeletonBardT2 From acc8093f9a0b1329b906dbb21f22dc7de70cdaca Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 18:06:56 +0300 Subject: [PATCH 13/55] More economy fixes (#1356) * fic * Update base_instruments.yml * fix * Update chests.yml --- .../Entities/Objects/Fun/Instruments/base_instruments.yml | 4 ++-- .../Prototypes/_CP14/Entities/Objects/Materials/simple.yml | 6 ++++++ .../_CP14/Entities/Structures/Storage/Crates/base_chest.yml | 2 +- .../_CP14/Entities/Structures/Storage/Crates/coffin.yml | 6 ++++++ .../_CP14/Recipes/Construction/Graphs/Storage/coffins.yml | 4 ++-- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml index d6bd2e949a..9e37dcd57b 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml @@ -18,8 +18,8 @@ type: InstrumentBoundUserInterface - type: Item size: Normal - - type: StaticPrice - price: 200 + #- type: StaticPrice + # price: 200 #These are for instruments that are larger, can't be picked up, or have collision - type: entity diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml index d06372a927..03a2fad0d1 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/simple.yml @@ -10,6 +10,9 @@ - type: Sprite sprite: _CP14/Objects/Materials/string.rsi state: icon + - type: PhysicalComposition + materialComposition: + CP14Cloth: 5 - type: entity id: CP14Web @@ -34,6 +37,9 @@ icon2: "" icon3: "" icon4: "" + - type: PhysicalComposition + materialComposition: + CP14Cloth: 2 - type: entity id: CP14Cloth1 diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml index 856c2da767..fe65ae7370 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/base_chest.yml @@ -52,7 +52,7 @@ paper_label: !type:ContainerSlot - type: ItemSlots - type: StaticPrice - price: 50 + price: 5 - type: CP14Lock #Empty, for installing new locks - type: Lock locked: false diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/coffin.yml b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/coffin.yml index 4690ca2bd7..2f2ecc1717 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/coffin.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Storage/Crates/coffin.yml @@ -41,3 +41,9 @@ node: CP14CrateCoffin containers: - entity_storage + - type: PhysicalComposition + materialComposition: + CP14WoodenPlanks: 30 + CP14Cloth: 20 + - type: EntityStorage + capacity: 1 diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/coffins.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/coffins.yml index f980e2f899..e3a04cdedc 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/coffins.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Storage/coffins.yml @@ -11,7 +11,7 @@ - !type:SnapToGrid steps: - material: CP14WoodenPlanks - amount: 2 + amount: 3 doAfter: 2 - material: CP14Cloth amount: 2 @@ -26,7 +26,7 @@ completed: - !type:SpawnPrototype prototype: CP14WoodenPlanks1 - amount: 2 + amount: 3 - !type:SpawnPrototype prototype: CP14Cloth1 amount: 2 From 08c1560a111b6285bd25da776b90d2f4a3126ef9 Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:11:11 +0300 Subject: [PATCH 14/55] Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 5e65967968..32de44bf2e 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,3 +15,15 @@ Small fixes/refactors are exempt. Пулл реквесты, которые несут за собой игровые изменения (добавления одежды, предметов и так далее) требуют чтобы вы прикрепили скриншоты или видеоролики, демонстрирующие эти изменения. Небольшие исправления не считаются. --> + +**Changelog** + + From 2b1cef9d729ff586924cb83d62ff552b2235ba9b Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:16:07 +0300 Subject: [PATCH 15/55] Update fire.yml (#1357) --- Resources/Prototypes/_CP14/Entities/fire.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/_CP14/Entities/fire.yml b/Resources/Prototypes/_CP14/Entities/fire.yml index 13f7c93924..505baa0c90 100644 --- a/Resources/Prototypes/_CP14/Entities/fire.yml +++ b/Resources/Prototypes/_CP14/Entities/fire.yml @@ -132,4 +132,3 @@ - type: CP14FireSpread spreadCooldownMin: 1 spreadCooldownMax: 3 - From 3bdb9c646da1f66877615bd7c24f9e8b4b63eb1e Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:18:58 +0300 Subject: [PATCH 16/55] Ed 02 06 2025 changelog test 2 (#1358) * Update fire.yml * Update fire.yml From 96dc23c9ff871acc869151dcc20327a04db76a7b Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:40:15 +0300 Subject: [PATCH 17/55] Ed 02 06 2025 changelog test 3 (#1359) * Update fire.yml * Update fire.yml * Update fire.yml From c037af2f7749fb7a7845b70666c4147e6b228a4d Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:44:46 +0300 Subject: [PATCH 18/55] Ed 02 06 2025 changelog test 4 (#1360) * Update fire.yml * Update fire.yml * Update fire.yml * Create CP14_Changelog.yml --- Resources/Changelog/CP14_Changelog.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Resources/Changelog/CP14_Changelog.yml diff --git a/Resources/Changelog/CP14_Changelog.yml b/Resources/Changelog/CP14_Changelog.yml new file mode 100644 index 0000000000..78b08c3e09 --- /dev/null +++ b/Resources/Changelog/CP14_Changelog.yml @@ -0,0 +1,10 @@ +Entries: +- author: ScarKy0 + changes: + - message: Mindshield implants can now be removed using an empty implanter. + type: Tweak + - message: Revolutionaries can now win by converting all command members. + type: Add + id: 8050 + time: '2025-03-11T09:41:13.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/35769 \ No newline at end of file From c0cda3fb8e0807d8379b769d36d369923cab686e Mon Sep 17 00:00:00 2001 From: Red <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:49:08 +0300 Subject: [PATCH 19/55] Ed 02 06 2025 changelog test 5 (#1361) * Update fire.yml * Update fire.yml * Update fire.yml * Create CP14_Changelog.yml * Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 32de44bf2e..2389606031 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,20 +1,14 @@ ## About the PR - ## Why / Balance - ## Media - **Changelog**