From d2f5740b49130bda11c654f005bb992997dfa500 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Thu, 22 May 2025 16:48:33 +0400 Subject: [PATCH 01/31] =?UTF-8?q?=D0=BF=D0=B8=D1=80=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D0=BA=D0=B8.start?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RPSX | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPSX b/RPSX index eb76140faea..cdf1505721f 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit eb76140faead1caba44f5727e69383bbd3d50ccc +Subproject commit cdf1505721f9856de790314aaf8144e0539f185e From a6cfea80708b0ecaf68cf5b5b7135ef4b8de5aea Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Tue, 27 May 2025 12:55:13 +0400 Subject: [PATCH 02/31] =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D1=8C=D1=88=D0=B5=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D0=BC=20=D0=BD=D0=B0?= =?UTF-8?q?=D0=B4=20=D0=BF=D0=B8=D1=80=D0=B0=D1=82=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RPSX | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPSX b/RPSX index 65281baed46..9047aac6d16 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 65281baed4632ed03014d5ac387624e2beaea7e2 +Subproject commit 9047aac6d16d8244abe9c24c3b608ac8588c65cb From f7ca08f87f50ee37e9f8d9daba8f7648df7788ee Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Mon, 2 Jun 2025 21:26:25 +0400 Subject: [PATCH 03/31] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20.bat=20=D0=B8=20.sh=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=B1=D0=B8=D0=BB=D0=B4=D0=B0=20(?= =?UTF-8?q?=D0=BD=D0=B5=20=D1=83=D0=B2=D0=B5=D1=80=D0=B5=D0=BD=20=D0=B2=20?= =?UTF-8?q?.sh,=20=D0=B8=D0=B1=D0=BE=20=D0=BD=D0=B5=20=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D1=8E=20=D0=BF=D0=B8=D1=81=D0=B0=D1=82=D1=8C=20=D1=81=D0=BA?= =?UTF-8?q?=D1=80=D0=B8=D0=BF=D1=82=D1=8B=20:cry:)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buildeverything.bat | 11 +++++++++++ buildeverything.sh | 11 +++++++++++ 2 files changed, 22 insertions(+) create mode 100644 buildeverything.bat create mode 100644 buildeverything.sh diff --git a/buildeverything.bat b/buildeverything.bat new file mode 100644 index 00000000000..6a9a0b792cc --- /dev/null +++ b/buildeverything.bat @@ -0,0 +1,11 @@ +@echo off +dotnet build -c Release --property WarningLevel=0 +cd RPSX +dotnet build -c Release --property WarningLevel=0 + +set "BASH_EXE=C:\Program Files\Git\bin\bash.exe" +set "BASE_DIR=%~dp0" +set "SCRIPT_PATH=%BASE_DIR%RPSX/sync.sh" + +"%BASH_EXE%" -c "/bin/bash '%SCRIPT_PATH%' -y" +cd .. diff --git a/buildeverything.sh b/buildeverything.sh new file mode 100644 index 00000000000..1e697fb3eb8 --- /dev/null +++ b/buildeverything.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +dotnet build -c Release --property WarningLevel=0 +cd RPSX || exit +dotnet build -c Release --property WarningLevel=0 + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +bash "$SCRIPT_DIR/sync.sh" -y + +cd .. From 3b4fe6f2d874bcbad03d5a6641db72cfb63d30b8 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Sun, 22 Jun 2025 20:18:43 +0400 Subject: [PATCH 04/31] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B4=D0=BE=D0=BB?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Server/Cargo/Systems/PricingSystem.cs | 27 ++++++++++++------- .../Pirates/PiratePriceCalculationEvent.cs | 15 +++++++++++ RPSX | 2 +- 3 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs diff --git a/Content.Server/Cargo/Systems/PricingSystem.cs b/Content.Server/Cargo/Systems/PricingSystem.cs index 3d8a8075f55..3eeb9433020 100644 --- a/Content.Server/Cargo/Systems/PricingSystem.cs +++ b/Content.Server/Cargo/Systems/PricingSystem.cs @@ -17,6 +17,7 @@ using Robust.Shared.Utility; using System.Linq; using Content.Shared.Research.Prototypes; +using Content.Shared.RPSX.GameRules.Pirates; namespace Content.Server.Cargo.Systems; @@ -35,6 +36,7 @@ public sealed class PricingSystem : EntitySystem public override void Initialize() { SubscribeLocalEvent(CalculateMobPrice); + SubscribeLocalEvent(CalculatePriceForPirates); // RPSX Pirates _consoleHost.RegisterCommand("appraisegrid", "Calculates the total value of the given grids.", @@ -100,7 +102,7 @@ private void CalculateMobPrice(EntityUid uid, MobPriceComponent component, ref P var totalPartsPresent = partList.Sum(_ => 1); var totalParts = partList.Count; - var partRatio = totalPartsPresent / (double) totalParts; + var partRatio = totalPartsPresent / (double)totalParts; var partPenalty = component.Price * (1 - partRatio) * component.MissingBodyPartPenalty; args.Price += (component.Price - partPenalty) * (_mobStateSystem.IsAlive(uid, state) ? 1.0 : component.DeathPenalty); @@ -122,7 +124,7 @@ private double GetSolutionPrice(Entity entity continue; // TODO check ReagentData for price information? - price += (float) quantity * reagentProto.PricePerUnit; + price += (float)quantity * reagentProto.PricePerUnit; } } @@ -141,7 +143,7 @@ private double GetSolutionPrice(SolutionContainerManagerComponent component) continue; // TODO check ReagentData for price information? - price += (float) quantity * reagentProto.PricePerUnit; + price += (float)quantity * reagentProto.PricePerUnit; } } @@ -280,12 +282,12 @@ private double GetMaterialsPrice(EntityPrototype prototype) if (prototype.Components.ContainsKey(Factory.GetComponentName()) && prototype.Components.TryGetValue(Factory.GetComponentName(), out var composition)) { - var compositionComp = (PhysicalCompositionComponent) composition.Component; + var compositionComp = (PhysicalCompositionComponent)composition.Component; var matPrice = GetMaterialPrice(compositionComp); if (prototype.Components.TryGetValue(Factory.GetComponentName(), out var stackProto)) { - matPrice *= ((StackComponent) stackProto.Component).Count; + matPrice *= ((StackComponent)stackProto.Component).Count; } price += matPrice; @@ -312,7 +314,7 @@ private double GetSolutionsPrice(EntityPrototype prototype) if (prototype.Components.TryGetValue(Factory.GetComponentName(), out var solManager)) { - var solComp = (SolutionContainerManagerComponent) solManager.Component; + var solComp = (SolutionContainerManagerComponent)solManager.Component; price += GetSolutionPrice(solComp); } @@ -341,8 +343,8 @@ private double GetStackPrice(EntityPrototype prototype) prototype.Components.TryGetValue(Factory.GetComponentName(), out var stackProto) && !prototype.Components.ContainsKey(Factory.GetComponentName())) { - var stackPrice = (StackPriceComponent) stackpriceProto.Component; - var stack = (StackComponent) stackProto.Component; + var stackPrice = (StackPriceComponent)stackpriceProto.Component; + var stack = (StackComponent)stackProto.Component; price += stack.Count * stackPrice.Price; } @@ -367,7 +369,7 @@ private double GetStaticPrice(EntityPrototype prototype) if (prototype.Components.TryGetValue(Factory.GetComponentName(), out var staticProto)) { - var staticPrice = (StaticPriceComponent) staticProto.Component; + var staticPrice = (StaticPriceComponent)staticProto.Component; price += staticPrice.Price; } @@ -398,6 +400,13 @@ public double AppraiseGrid(EntityUid grid, Func? predicate = nu return price; } + + // RPSX start + private void CalculatePriceForPirates(Entity entity, ref PiratePriceCalculationEvent args) + { + if (args.Handled) return; + args.Price = GetPrice(entity); + } } /// diff --git a/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs b/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs new file mode 100644 index 00000000000..94162573646 --- /dev/null +++ b/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs @@ -0,0 +1,15 @@ +namespace Content.Shared.RPSX.GameRules.Pirates; + +[ByRefEvent] +public record struct PiratePriceCalculationEvent() +{ + /// + /// The total price of the entity. + /// + public double Price = 0; + + /// + /// Whether this event was already handled. + /// + public bool Handled = false; +} diff --git a/RPSX b/RPSX index 9047aac6d16..4f1d9977f1b 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 9047aac6d16d8244abe9c24c3b608ac8588c65cb +Subproject commit 4f1d9977f1bf0c2bceff212c293854a7303fe0cb From 08cb1154034866800188cf6ef89098f69167b3c7 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Sun, 22 Jun 2025 20:19:05 +0400 Subject: [PATCH 05/31] =?UTF-8?q?=D0=BE=D0=B9,=20=D0=B5=D1=89=D0=B5=20?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RPSX | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPSX b/RPSX index 4f1d9977f1b..bb4c7bfcd53 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 4f1d9977f1bf0c2bceff212c293854a7303fe0cb +Subproject commit bb4c7bfcd532538d267a7e576e978a915a664f9c From 72fa4e21177fc9fde4e52d0d9432d19bf8576d3d Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Sat, 28 Jun 2025 23:21:27 +0400 Subject: [PATCH 06/31] pirates update, finished base --- RPSX | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPSX b/RPSX index 6f21cea85e3..9153d083ccf 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 6f21cea85e30677dbcebe1f6b69fad02bf78f087 +Subproject commit 9153d083ccf4d22085392b6cd8b674c5216cf195 From 55a2e2bfbf0cadd0a545ef3d565506b484f8b5a1 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Tue, 1 Jul 2025 13:05:45 +0400 Subject: [PATCH 07/31] =?UTF-8?q?=D1=87=D0=B8=D1=82=D0=B0=D0=B9=D1=82?= =?UTF-8?q?=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20=D1=81=D0=B0?= =?UTF-8?q?=D0=B1=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pirates/PiratePriceCalculationEvent.cs | 15 --------------- RPSX | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) delete mode 100644 Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs diff --git a/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs b/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs deleted file mode 100644 index 94162573646..00000000000 --- a/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace Content.Shared.RPSX.GameRules.Pirates; - -[ByRefEvent] -public record struct PiratePriceCalculationEvent() -{ - /// - /// The total price of the entity. - /// - public double Price = 0; - - /// - /// Whether this event was already handled. - /// - public bool Handled = false; -} diff --git a/RPSX b/RPSX index 9153d083ccf..376b0f0036c 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 9153d083ccf4d22085392b6cd8b674c5216cf195 +Subproject commit 376b0f0036cccaf4eda3fb05b5b55aa7b4976054 From 3bd483ab1fda05b3a5fe8a2dd8f66764698147a4 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Sat, 5 Jul 2025 20:12:52 +0400 Subject: [PATCH 08/31] pirates prodolzhenie --- .../Pirates/EntityEffects/DrinkAlcoholEffect.cs | 13 +++++++++++++ .../Reagents/Consumable/Drink/base_drink.yml | 1 + 2 files changed, 14 insertions(+) create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/EntityEffects/DrinkAlcoholEffect.cs diff --git a/Content.Shared/_RPSX/GameRules/Pirates/EntityEffects/DrinkAlcoholEffect.cs b/Content.Shared/_RPSX/GameRules/Pirates/EntityEffects/DrinkAlcoholEffect.cs new file mode 100644 index 00000000000..64e7737a081 --- /dev/null +++ b/Content.Shared/_RPSX/GameRules/Pirates/EntityEffects/DrinkAlcoholEffect.cs @@ -0,0 +1,13 @@ +using Content.Shared.EntityEffects; +using Robust.Shared.Prototypes; + +namespace Content.Shared.RPSX.GameRules.Pirates.EntityEffects; + +[DataDefinition] +public sealed partial class DrinkAlcoholEffect : EventEntityEffect +{ + protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) + { + return ""; + } +} diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/base_drink.yml b/Resources/Prototypes/Reagents/Consumable/Drink/base_drink.yml index 6c050a6ca69..a10abacc749 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/base_drink.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/base_drink.yml @@ -56,6 +56,7 @@ - !type:AdjustReagent reagent: Ethanol amount: 0.06 + - !type:DrinkAlcoholEffect reactiveEffects: Flammable: methods: [ Touch ] From 7fb6318ce5534fb873253b3792759b5b3237bfc4 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Sat, 5 Jul 2025 20:13:09 +0400 Subject: [PATCH 09/31] pirates docid --- RPSX | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPSX b/RPSX index 376b0f0036c..8512100eaf6 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 376b0f0036cccaf4eda3fb05b5b55aa7b4976054 +Subproject commit 8512100eaf69690e124f2a5d4f308f47275d2d4a From 9a1b3fd2c9d2b81bac8de013da843bc4a66bc637 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Sun, 6 Jul 2025 18:10:35 +0400 Subject: [PATCH 10/31] =?UTF-8?q?=D0=BE=20=D0=B4=D0=B0=D0=B0=D0=B0,=20?= =?UTF-8?q?=D0=BF=D0=B8=D1=80=D0=B0=D1=82=D1=8B,=20=D0=B4=D0=B0=D0=B0?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RPSX | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPSX b/RPSX index 8512100eaf6..3d69c9f164f 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 8512100eaf69690e124f2a5d4f308f47275d2d4a +Subproject commit 3d69c9f164f7a1398d94c4561e855ba893ce869a From de4d959c421d885be6c2012dab9b149f5a3b425e Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Tue, 8 Jul 2025 13:57:17 +0400 Subject: [PATCH 11/31] =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=B5=D1=89=D0=B5...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Abilities/Enchantment/Weapons/RatvarSwordComponent.cs | 4 ++-- RPSX | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Content.Server/_RPSX/DarkForces/Ratvar/Righteous/Abilities/Enchantment/Weapons/RatvarSwordComponent.cs b/Content.Server/_RPSX/DarkForces/Ratvar/Righteous/Abilities/Enchantment/Weapons/RatvarSwordComponent.cs index 3985852c56d..aad1f62794a 100644 --- a/Content.Server/_RPSX/DarkForces/Ratvar/Righteous/Abilities/Enchantment/Weapons/RatvarSwordComponent.cs +++ b/Content.Server/_RPSX/DarkForces/Ratvar/Righteous/Abilities/Enchantment/Weapons/RatvarSwordComponent.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using Content.Shared.Damage; using Content.Shared.FixedPoint; using Robust.Shared.GameObjects; @@ -14,7 +14,7 @@ public sealed partial class RatvarSwordComponent : Component { DamageDict = new Dictionary { - {"Piercing", -13} + {"Piercing", 13} } }; } diff --git a/RPSX b/RPSX index 1b46e49ccdf..a6cc3cc399c 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 1b46e49ccdfa6908f3d248ac9881b6fddc9f07cb +Subproject commit a6cc3cc399c846aec1d74109ee4c63bfc2df75ae From d89614940dd8433b09270fe31acfe946882068d8 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Fri, 11 Jul 2025 11:14:07 +0400 Subject: [PATCH 12/31] prod --- Content.Server/Cargo/Systems/PricingSystem.cs | 4 ++-- .../Pirates/PiratePriceCalculationEvent.cs | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs diff --git a/Content.Server/Cargo/Systems/PricingSystem.cs b/Content.Server/Cargo/Systems/PricingSystem.cs index 359794be3bc..4481788b02f 100644 --- a/Content.Server/Cargo/Systems/PricingSystem.cs +++ b/Content.Server/Cargo/Systems/PricingSystem.cs @@ -1,4 +1,4 @@ -using Content.Server.Administration; +using Content.Server.Administration; using Content.Server.Body.Systems; using Content.Server.Cargo.Components; using Content.Shared.Chemistry.EntitySystems; @@ -38,7 +38,6 @@ public override void Initialize() { SubscribeLocalEvent(CalculateMobPrice); SubscribeLocalEvent(CalculatePriceForPirates); // RPSX Pirates - _consoleHost.RegisterCommand("appraisegrid", "Calculates the total value of the given grids.", "appraisegrid ", AppraiseGridCommand); @@ -404,5 +403,6 @@ private void CalculatePriceForPirates(Entity entity, ref Pir { if (args.Handled) return; args.Price = GetPrice(entity); + args.Handled = true; } } diff --git a/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs b/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs new file mode 100644 index 00000000000..94162573646 --- /dev/null +++ b/Content.Shared/_RPSX/GameRules/Pirates/PiratePriceCalculationEvent.cs @@ -0,0 +1,15 @@ +namespace Content.Shared.RPSX.GameRules.Pirates; + +[ByRefEvent] +public record struct PiratePriceCalculationEvent() +{ + /// + /// The total price of the entity. + /// + public double Price = 0; + + /// + /// Whether this event was already handled. + /// + public bool Handled = false; +} From f4c09c56ff71208a91046f15863e4cddc59efdc7 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Fri, 11 Jul 2025 11:14:15 +0400 Subject: [PATCH 13/31] wtf --- RPSX | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPSX b/RPSX index 666f9b47f15..51c224ada25 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit 666f9b47f15536d88bdb549bd827cba87e8b1b3c +Subproject commit 51c224ada257d121b87c7262335833681482150f From cc7ce72093ce2237356154bcbf070db18728749e Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Mon, 14 Jul 2025 12:40:09 +0400 Subject: [PATCH 14/31] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=B8=D0=B1=D0=B5=D1=80-?= =?UTF-8?q?=D1=80=D1=83=D0=BA=D0=B8=20=D0=BF=D0=B8=D1=80=D0=B0=D1=82=D0=B0?= =?UTF-8?q?=D0=BC=20=D0=BD=D0=B0=20=D1=81=D0=BF=D0=B0=D0=B2=D0=BD=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RPSX | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPSX b/RPSX index f830b268088..1d559d92174 160000 --- a/RPSX +++ b/RPSX @@ -1 +1 @@ -Subproject commit f830b268088e4c48bbf26514074ee35f115182ba +Subproject commit 1d559d921740bd7c01b52f2f58de8401a08e4a0e From 9ecefdcfe8987515a29b5e724a5a9831a6c611d3 Mon Sep 17 00:00:00 2001 From: Aristophan_ <118120220+aristophanivan@users.noreply.github.com> Date: Thu, 17 Jul 2025 22:05:48 +0400 Subject: [PATCH 15/31] =?UTF-8?q?=D1=8F=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D1=8C=20=D0=BF=D0=B8=D1=80=D0=B0=D1=82=D1=8B?= =?UTF-8?q?,=20=D1=87=D1=82=D0=BE=D0=B1=D1=8B=20=D1=8F=20=D0=BB=D0=B5?= =?UTF-8?q?=D0=B3=D1=87=D0=B5=20=D0=B6=D0=B8=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PiratePalletConsoleBoundUserInterface.cs | 46 + .../Economics/Pallets/PiratePalletMenu.xaml | 25 + .../Pallets/PiratePalletMenu.xaml.cs | 46 + .../Economics/Shop/PirateProductRow.xaml | 26 + .../Economics/Shop/PirateProductRow.xaml.cs | 18 + .../Shop/PirateShopBoundUserInterface.cs | 142 + .../Economics/Shop/PirateShopOrderMenu.xaml | 27 + .../Shop/PirateShopOrderMenu.xaml.cs | 22 + .../Economics/Shop/PirateShopWindow.xaml | 36 + .../Economics/Shop/PirateShopWindow.xaml.cs | 148 + .../Pirates/PiratesProgressSystem.cs | 8 + .../Pirates/Components/PirateRoleComponent.cs | 8 + .../BalanceIncreasingObjectiveComponent.cs | 8 + .../BalanceIncreasingObjectiveSystem.cs | 15 + .../Pirates/Objectives/BasePirateObjective.cs | 15 + .../StealCmdObjectiveComponent.cs | 8 + .../CmdKidnapping/StealCmdObjectiveSystem.cs | 74 + .../Objectives/PirateObjectiveComponent.cs | 14 + .../StealSpecialsObjectiveComponent.cs | 26 + .../StealSpecialsObjectiveSystem.cs | 49 + .../PiratesProgressSystem.Objectives.cs | 73 + .../Pirates/PiratesProgressSystem.cs | 55 + .../Rules/Pirates/BasePiratesRuleComponent.cs | 7 + .../Rules/Pirates/BasePiratesRuleSystem.cs | 24 + .../Rules/Pirates/PiratesRuleComponent.cs | 11 + .../Rules/Pirates/PiratesRuleSystem.cs | 98 + .../Pirates/Components/PirateComponent.cs | 8 + .../Components/PiratesProgressComponent.cs | 58 + .../Components/PiratesShuttleComponent.cs | 8 + .../Components/PiratePalletComponent.cs | 8 + .../PiratePalletConsoleComponent.cs | 8 + .../Components/PirateShopComponent.cs | 31 + .../PirateEconomicsInterfaceState.cs | 74 + .../Economics/PirateEconomicsSystem.cs | 271 + .../Economics/PiratesStuffPrototype.cs | 90 + .../Dwarves/PirateDwarfComponent.cs | 24 + .../Properties/AlcoholRegenerationSystem.cs | 30 + .../Pirates/SharedPiratesProgressSystem.cs | 54 + RPSX | 2 +- .../ru-RU/ss14-ru/prototypes/pirates/base.ftl | 8 + .../_RPSX/GameRules/Pirates/piratesector.yml | 15285 ++++++++++++++++ .../_RPSX/Pirates/Properties/cyber_arm.yml | 43 + .../Prototypes/_RPSX/Pirates/Types/basic.yml | 63 + .../_RPSX/Pirates/Types/classic.yml | 63 + .../_RPSX/Pirates/Types/cybercorp.yml | 73 + .../Prototypes/_RPSX/Pirates/Types/dsd.yml | 74 + .../_RPSX/Pirates/Types/industrial.yml | 74 + Resources/Prototypes/_RPSX/Pirates/base.yml | 37 + Resources/Prototypes/_RPSX/Pirates/gears.yml | 67 + .../Prototypes/_RPSX/Pirates/objectives.yml | 62 + .../_RPSX/Pirates/roles_and_spawners.yml | 112 + Resources/Prototypes/_RPSX/tags.yml | 2 + .../_RPSX/Pirates/shop.rsi/broken.png | Bin 0 -> 961 bytes .../_RPSX/Pirates/shop.rsi/deny-unshaded.png | Bin 0 -> 1444 bytes .../_RPSX/Pirates/shop.rsi/eject-unshaded.png | Bin 0 -> 1567 bytes .../Textures/_RPSX/Pirates/shop.rsi/meta.json | 61 + .../Pirates/shop.rsi/normal-unshaded.png | Bin 0 -> 598 bytes .../Textures/_RPSX/Pirates/shop.rsi/off.png | Bin 0 -> 693 bytes .../Textures/_RPSX/Pirates/shop.rsi/panel.png | Bin 0 -> 143 bytes 59 files changed, 17718 insertions(+), 1 deletion(-) create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletConsoleBoundUserInterface.cs create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletMenu.xaml create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletMenu.xaml.cs create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Shop/PirateProductRow.xaml create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Shop/PirateProductRow.xaml.cs create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Shop/PirateShopBoundUserInterface.cs create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Shop/PirateShopOrderMenu.xaml create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Shop/PirateShopOrderMenu.xaml.cs create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Shop/PirateShopWindow.xaml create mode 100644 Content.Client/_RPSX/GameRules/Pirates/Economics/Shop/PirateShopWindow.xaml.cs create mode 100644 Content.Client/_RPSX/GameRules/Pirates/PiratesProgressSystem.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Components/PirateRoleComponent.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Objectives/BalanceIncreasing/BalanceIncreasingObjectiveComponent.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Objectives/BalanceIncreasing/BalanceIncreasingObjectiveSystem.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Objectives/BasePirateObjective.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Objectives/CmdKidnapping/StealCmdObjectiveComponent.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Objectives/CmdKidnapping/StealCmdObjectiveSystem.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Objectives/PirateObjectiveComponent.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Objectives/StealSpecials/StealSpecialsObjectiveComponent.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/Objectives/StealSpecials/StealSpecialsObjectiveSystem.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/PiratesProgressSystem.Objectives.cs create mode 100644 Content.Server/_RPSX/GameRules/Pirates/PiratesProgressSystem.cs create mode 100644 Content.Server/_RPSX/GameTicking/Rules/Pirates/BasePiratesRuleComponent.cs create mode 100644 Content.Server/_RPSX/GameTicking/Rules/Pirates/BasePiratesRuleSystem.cs create mode 100644 Content.Server/_RPSX/GameTicking/Rules/Pirates/PiratesRuleComponent.cs create mode 100644 Content.Server/_RPSX/GameTicking/Rules/Pirates/PiratesRuleSystem.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Components/PirateComponent.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Components/PiratesProgressComponent.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Components/PiratesShuttleComponent.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Economics/Components/PiratePalletComponent.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Economics/Components/PiratePalletConsoleComponent.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Economics/Components/PirateShopComponent.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Economics/PirateEconomicsInterfaceState.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Economics/PirateEconomicsSystem.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/Economics/PiratesStuffPrototype.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/PiratesTypes/Dwarves/PirateDwarfComponent.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/PiratesTypes/Dwarves/Properties/AlcoholRegenerationSystem.cs create mode 100644 Content.Shared/_RPSX/GameRules/Pirates/SharedPiratesProgressSystem.cs create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/pirates/base.ftl create mode 100644 Resources/Maps/_RPSX/GameRules/Pirates/piratesector.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/Properties/cyber_arm.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/Types/basic.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/Types/classic.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/Types/cybercorp.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/Types/dsd.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/Types/industrial.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/base.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/gears.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/objectives.yml create mode 100644 Resources/Prototypes/_RPSX/Pirates/roles_and_spawners.yml create mode 100644 Resources/Prototypes/_RPSX/tags.yml create mode 100644 Resources/Textures/_RPSX/Pirates/shop.rsi/broken.png create mode 100644 Resources/Textures/_RPSX/Pirates/shop.rsi/deny-unshaded.png create mode 100644 Resources/Textures/_RPSX/Pirates/shop.rsi/eject-unshaded.png create mode 100644 Resources/Textures/_RPSX/Pirates/shop.rsi/meta.json create mode 100644 Resources/Textures/_RPSX/Pirates/shop.rsi/normal-unshaded.png create mode 100644 Resources/Textures/_RPSX/Pirates/shop.rsi/off.png create mode 100644 Resources/Textures/_RPSX/Pirates/shop.rsi/panel.png diff --git a/Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletConsoleBoundUserInterface.cs b/Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletConsoleBoundUserInterface.cs new file mode 100644 index 00000000000..3f2a8c2f3c2 --- /dev/null +++ b/Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletConsoleBoundUserInterface.cs @@ -0,0 +1,46 @@ +using Content.RPSX.Shared.GameRules.Pirates.Economics; +using Content.Shared.Cargo.BUI; +using Robust.Client.UserInterface; + +namespace Content.RPSX.Client.GameRules.Pirates.Economics.Pallets; + +public sealed class PiratePalletConsoleBoundUserInterface : BoundUserInterface +{ + [ViewVariables] + private PiratePalletMenu? _menu; + + public PiratePalletConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) + { + } + + protected override void Open() + { + base.Open(); + + _menu = this.CreateWindow(); + _menu.AppraiseRequested += OnAppraisal; + _menu.SellRequested += OnSell; + } + + private void OnAppraisal() + { + SendMessage(new PiratePalletAppraiseMessage()); + } + + private void OnSell() + { + SendMessage(new PiratePalletSellMessage()); + } + + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + + if (state is not PiratePalletConsoleInterfaceState palletState) + return; + + _menu?.SetEnabled(palletState.Enabled); + _menu?.SetAppraisal(palletState.Appraisal); + _menu?.SetCount(palletState.Count); + } +} diff --git a/Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletMenu.xaml b/Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletMenu.xaml new file mode 100644 index 00000000000..6757448f940 --- /dev/null +++ b/Content.Client/_RPSX/GameRules/Pirates/Economics/Pallets/PiratePalletMenu.xaml @@ -0,0 +1,25 @@ + + + + + + +