From 3313a2968e7e26be99097b6b0a738fbc7bcb744d Mon Sep 17 00:00:00 2001 From: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Date: Sat, 10 Aug 2024 09:59:47 +0300 Subject: [PATCH 01/26] FIX emergency medipen loadout (#1556) --- Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml b/Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml index e5ac6e9eef013d..665c3ed538fa5e 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/emergency.yml @@ -39,6 +39,7 @@ - id: ClothingMaskBreath - id: EmergencyNitrogenTankFilled - id: EmergencyMedipen + - id: SpaceMedipen # SS220 Revert deleted Medipen - id: Flare - id: FoodSnackNutribrick - id: DrinkWaterBottleFull @@ -87,6 +88,7 @@ - id: ClothingMaskBreath - id: ExtendedEmergencyNitrogenTankFilled - id: EmergencyMedipen + - id: SpaceMedipen # SS220 Revert deleted Medipen - id: Flare - id: FoodSnackNutribrick - id: DrinkWaterBottleFull @@ -167,6 +169,7 @@ - id: ClothingMaskGasSecurity - id: EmergencyNitrogenTankFilled - id: EmergencyMedipen + - id: SpaceMedipen # SS220 Revert deleted Medipen - id: Flare - id: FoodSnackNutribrick - id: DrinkWaterBottleFull @@ -216,6 +219,7 @@ - id: ClothingMaskBreathMedical - id: EmergencyNitrogenTankFilled - id: EmergencyMedipen + - id: SpaceMedipen # SS220 Revert deleted Medipen - id: Flare - id: FoodSnackNutribrick - id: DrinkWaterBottleFull @@ -268,6 +272,7 @@ - id: ClothingMaskBreath - id: EmergencyNitrogenTankFilled - id: EmergencyMedipen + - id: SpaceMedipen # SS220 Revert deleted Medipen - id: Flare - id: FoodSnackNutribrick - id: DrinkWaterBottleFull @@ -314,6 +319,7 @@ - id: ClothingMaskGasSyndicate - id: ExtendedEmergencyNitrogenTankFilled - id: EmergencyMedipen + - id: SpaceMedipen # SS220 Revert deleted Medipen - id: Flare - id: FoodSnackNutribrick # Intentionally wrong picture on the box to mimic the NT one From e0c2a27e9e33bf971234183fe564164739125f94 Mon Sep 17 00:00:00 2001 From: Maxon Date: Sat, 10 Aug 2024 07:00:51 +0000 Subject: [PATCH 02/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 80103dcfe76b06..c2091463f5b82a 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4627,3 +4627,15 @@ id: 365 time: '2024-08-07T21:04:53.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1536 +- author: ReeZii + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043D\u0435\ + \u043F\u043E\u044F\u0432\u043B\u0435\u043D\u0438\u0435 \u043A\u043E\u0441\u043C\ + \u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043C\u0435\u0434\u0438\u043F\u0435\ + \u043D\u043E\u0432 \u0432 \u0430\u0437\u043E\u0442\u043D\u044B\u0445 \u0430\u0432\ + \u0430\u0440\u0438\u0439\u043D\u044B\u0445 \u0437\u0430\u043F\u0430\u0441\u0430\ + \u0445" + type: Fix + id: 366 + time: '2024-08-10T06:59:47.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1556 From eb2e9c6a623c3dfad171d81725a4222c0ff2e453 Mon Sep 17 00:00:00 2001 From: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Date: Sat, 10 Aug 2024 10:01:14 +0300 Subject: [PATCH 03/26] FIX wires cut not properly work (#1558) --- .../Structures/Machines/vending_machines.yml | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 6a50de3f6ae0f1..12517b788ce909 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -141,6 +141,10 @@ - type: Speech - type: Transform noRot: false + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -168,6 +172,10 @@ shader: unshaded - state: panel map: ["enum.WiresVisualLayers.MaintenancePanel"] + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -297,6 +305,10 @@ shader: unshaded - state: panel map: ["enum.WiresVisualLayers.MaintenancePanel"] + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -329,6 +341,10 @@ radius: 1.8 energy: 1.6 color: "#3db83b" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -361,6 +377,10 @@ radius: 1.8 energy: 1.6 color: "#3db83b" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -403,6 +423,10 @@ radius: 1.5 energy: 1.3 color: "#ad7c4b" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -440,6 +464,10 @@ radius: 1.5 energy: 1.6 color: "#3c5eb5" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineCola @@ -460,6 +488,10 @@ radius: 1.5 energy: 1.6 color: "#423438" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineCola @@ -481,6 +513,10 @@ radius: 1.5 energy: 1.6 color: "#A50824" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineCola @@ -504,6 +540,10 @@ radius: 1.5 energy: 1.6 color: "#44964A" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineCola @@ -526,6 +566,10 @@ radius: 1.5 energy: 1.6 color: "#CBC6BE" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineCola @@ -549,6 +593,10 @@ radius: 1.5 energy: 1.6 color: "#D3A44D" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -584,6 +632,10 @@ radius: 1.5 energy: 1.6 color: "#66538F" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -621,6 +673,10 @@ radius: 1.5 energy: 1.6 color: "#6927C5" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -658,6 +714,10 @@ radius: 1.5 energy: 1.6 color: "#D82929" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -721,6 +781,10 @@ radius: 1.5 energy: 1.6 color: "#9a18d6" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -755,6 +819,10 @@ radius: 1.5 energy: 1.6 color: "#6148c7" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -928,6 +996,10 @@ radius: 1.5 energy: 1.6 color: "#326e3f" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineSeedsUnlocked @@ -972,6 +1044,10 @@ radius: 1.5 energy: 1.6 color: "#c73434" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineSnack @@ -1002,6 +1078,10 @@ radius: 1.5 energy: 1.6 color: "#737785" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineSnack @@ -1022,6 +1102,10 @@ radius: 1.5 energy: 1.6 color: "#3c5eb5" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineSnack @@ -1042,6 +1126,10 @@ radius: 1.5 energy: 1.6 color: "#CE3401" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineSnack @@ -1062,6 +1150,10 @@ radius: 1.5 energy: 1.6 color: "#5F6A1C" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineSnack @@ -1082,6 +1174,10 @@ radius: 1.5 energy: 1.6 color: "#207E79" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -1118,6 +1214,10 @@ radius: 1.5 energy: 1.6 color: "#389690" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -1190,6 +1290,10 @@ radius: 1.5 energy: 1.6 color: "#9dc5c9" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -1256,6 +1360,10 @@ radius: 1.5 energy: 1.6 color: "#d4ab33" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -1288,6 +1396,10 @@ radius: 1.5 energy: 1.6 color: "#326e3f" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -1322,6 +1434,10 @@ radius: 1.5 energy: 1.6 color: "#ffe599" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -1388,6 +1504,10 @@ radius: 1.5 energy: 1.6 color: "#d4ab33" + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end # wallmounted machines @@ -1409,6 +1529,10 @@ arc: 175 - type: Transform noRot: false + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachineWallmount @@ -2085,6 +2209,10 @@ - type: Sprite sprite: Structures/Machines/VendingMachines/tankdispenser.rsi #TODO add visualiser for remaining tanks as layers state: dispenser + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine @@ -2100,6 +2228,10 @@ layers: - state: dispenser - state: dispensereng + #ss220 wires cut fix start + - type: AccessReader + access: [] + #ss220 wires cut fix end - type: entity parent: VendingMachine From 99440a85417535a1db059e60d6b85dc801ba43e2 Mon Sep 17 00:00:00 2001 From: Maxon Date: Sat, 10 Aug 2024 07:02:18 +0000 Subject: [PATCH 04/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index c2091463f5b82a..5f7308d78c9a00 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4639,3 +4639,14 @@ id: 366 time: '2024-08-10T06:59:47.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1556 +- author: ReeZii + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043D\u0435\ + \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u0430\u044F \u0440\u0430\u0431\ + \u043E\u0442\u0430 \u0440\u0435\u0437\u043A\u0438 \u043F\u0440\u043E\u0432\u043E\ + \u0434\u043E\u0432 \u0432 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445\ + \ \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0430\u0445" + type: Fix + id: 367 + time: '2024-08-10T07:01:14.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1558 From 8288b4104027493bc4838cd89633b1e31bf7de92 Mon Sep 17 00:00:00 2001 From: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Date: Sat, 10 Aug 2024 10:03:10 +0300 Subject: [PATCH 05/26] FIX pack beer visuals (#1561) --- .../SS220/Entities/Objects/Consumable/Drinks/drinks_cans.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/SS220/Entities/Objects/Consumable/Drinks/drinks_cans.yml b/Resources/Prototypes/SS220/Entities/Objects/Consumable/Drinks/drinks_cans.yml index 0b7472729f89da..53f2b1ce7bb581 100644 --- a/Resources/Prototypes/SS220/Entities/Objects/Consumable/Drinks/drinks_cans.yml +++ b/Resources/Prototypes/SS220/Entities/Objects/Consumable/Drinks/drinks_cans.yml @@ -35,6 +35,7 @@ whitelist: tags: - Beer + hideStackVisualsWhenClosed: false - type: StorageFill contents: - id: DrinkBeerCan From 7edb8ebed061768fdfde0a6c731aabf87b97027e Mon Sep 17 00:00:00 2001 From: Maxon Date: Sat, 10 Aug 2024 07:04:14 +0000 Subject: [PATCH 06/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 5f7308d78c9a00..529c86e56983ef 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4650,3 +4650,12 @@ id: 367 time: '2024-08-10T07:01:14.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1558 +- author: ReeZii + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043E\u0442\ + \u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043F\u0438\u0432\u043D\ + \u043E\u0433\u043E \u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043B\u044F" + type: Fix + id: 368 + time: '2024-08-10T07:03:10.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1561 From 29311cb7bd6a484d32739130fc5cac1d4a4ce87f Mon Sep 17 00:00:00 2001 From: Gnomeev <137652177+Gnomeev@users.noreply.github.com> Date: Sat, 10 Aug 2024 10:04:23 +0300 Subject: [PATCH 07/26] Security Jackboots Fix (#1562) --- .../Prototypes/SS220/Entities/Clothing/Shoes/secboots.yml | 8 ++++++++ .../SS220/Loadouts/Jobs/Security/security_officer.yml | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/SS220/Entities/Clothing/Shoes/secboots.yml diff --git a/Resources/Prototypes/SS220/Entities/Clothing/Shoes/secboots.yml b/Resources/Prototypes/SS220/Entities/Clothing/Shoes/secboots.yml new file mode 100644 index 00000000000000..1cac0c2b348ab5 --- /dev/null +++ b/Resources/Prototypes/SS220/Entities/Clothing/Shoes/secboots.yml @@ -0,0 +1,8 @@ +- type: entity + parent: ClothingShoesBootsJackSec + id: ClothingShoesBootsJackSecFilled + components: + - type: ContainerFill + containers: + item: + - CombatKnife diff --git a/Resources/Prototypes/SS220/Loadouts/Jobs/Security/security_officer.yml b/Resources/Prototypes/SS220/Loadouts/Jobs/Security/security_officer.yml index b2558a4339e549..d41b9e23962b01 100644 --- a/Resources/Prototypes/SS220/Loadouts/Jobs/Security/security_officer.yml +++ b/Resources/Prototypes/SS220/Loadouts/Jobs/Security/security_officer.yml @@ -57,6 +57,6 @@ - type: loadout id: BootsJackSec equipment: - shoes: ClothingShoesBootsJackSec + shoes: ClothingShoesBootsJackSecFilled From 5e1f0ddfe4bd4c1b8187a8be47fa982e751677bc Mon Sep 17 00:00:00 2001 From: Maxon Date: Sat, 10 Aug 2024 07:05:27 +0000 Subject: [PATCH 08/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 529c86e56983ef..35d2e0c2c0b9d9 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4659,3 +4659,12 @@ id: 368 time: '2024-08-10T07:03:10.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1561 +- author: Gnomeev + changes: + - message: "\u0412 \u043F\u043E\u0434\u043A\u043E\u0432\u0430\u043D\u043D\u044B\u0435\ + \ \u0431\u043E\u0442\u0438\u043D\u043A\u0438 \u0421\u0411 \u0431\u044B\u043B\ + \ \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043D\u043E\u0436!" + type: Fix + id: 369 + time: '2024-08-10T07:04:23.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1562 From 30a24fcdf0c9a3f2fa1cec159f706b574c700cad Mon Sep 17 00:00:00 2001 From: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Date: Sat, 10 Aug 2024 12:25:49 +0300 Subject: [PATCH 09/26] FIX change transfer amount (#1560) --- .../Chemistry/Components/SolutionTransferComponent.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs b/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs index 86d8da9d3d9254..ace4a051f4f137 100644 --- a/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs +++ b/Content.Shared/Chemistry/Components/SolutionTransferComponent.cs @@ -22,14 +22,14 @@ public sealed partial class SolutionTransferComponent : Component /// [DataField("minTransferAmount")] [ViewVariables(VVAccess.ReadWrite)] - public FixedPoint2 MinimumTransferAmount { get; set; } = FixedPoint2.New(5); + public FixedPoint2 MinimumTransferAmount { get; set; } = FixedPoint2.New(1); // ss220 change amount transfer fix /// /// The maximum amount of solution that can be transferred at once from this solution. /// [DataField("maxTransferAmount")] [ViewVariables(VVAccess.ReadWrite)] - public FixedPoint2 MaximumTransferAmount { get; set; } = FixedPoint2.New(50); + public FixedPoint2 MaximumTransferAmount { get; set; } = FixedPoint2.New(1000); // ss220 change amount transfer fix /// /// Can this entity take reagent from reagent tanks? From c706b9f6a5bfe1e2d55be52a361b6b069488f43b Mon Sep 17 00:00:00 2001 From: Maxon Date: Sat, 10 Aug 2024 09:26:54 +0000 Subject: [PATCH 10/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 35d2e0c2c0b9d9..42df8cb4782bec 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4668,3 +4668,12 @@ id: 369 time: '2024-08-10T07:04:23.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1562 +- author: ReeZii + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043F\u0435\ + \u0440\u0435\u043C\u0435\u0449\u0430\u0435\u043C\u043E\u0435 \u0437\u043D\u0430\ + \u0447\u0435\u043D\u0438\u0435 \u0436\u0438\u0434\u043A\u043E\u0441\u0442\u0438" + type: Fix + id: 370 + time: '2024-08-10T09:25:50.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1560 From 77b6152697597d1a9c543f5ecd2fd6f64fa3c891 Mon Sep 17 00:00:00 2001 From: Mira <42539014+MiraHell@users.noreply.github.com> Date: Sat, 10 Aug 2024 18:08:04 +0300 Subject: [PATCH 11/26] Fix loc (#1537) * fixes * fix fix * no CE * issue * emergency toolbox * health scan * uplink loc * mark * mark 2 * fix mark * fix mark 2 * linter * settings --- .../UI/ParticleAcceleratorControlMenu.xaml | 4 +-- .../entities/structures/dispensers/soda.ftl | 3 +- .../structures/machines/chem_master.ftl | 3 +- .../ru-RU/cargo/cargo-console-component.ftl | 3 +- .../ru-RU/escape-menu/ui/options-menu.ftl | 3 +- .../components/health-analyzer-component.ftl | 2 ++ .../ui/particle-accelerator-control-menu.ftl | 29 ++++++++++++------- .../entities/clothing/eyes/misc.ftl | 4 +++ .../reinforcement_teleporter.ftl | 12 ++++++-- .../objects/misc/fire_extinguisher.ftl | 4 +++ .../entities/structures/dispensers/soda.ftl | 8 +++-- .../structures/machines/chem_master.ftl | 3 +- .../station-events/events/meteor-swarm.ftl | 2 ++ .../Locale/ru-RU/store/uplink-catalog.ftl | 3 +- .../Catalog/Fills/Items/toolboxes.yml | 2 +- 15 files changed, 61 insertions(+), 24 deletions(-) create mode 100644 Resources/Locale/ru-RU/ss220/station-events/events/meteor-swarm.ftl diff --git a/Content.Client/ParticleAccelerator/UI/ParticleAcceleratorControlMenu.xaml b/Content.Client/ParticleAccelerator/UI/ParticleAcceleratorControlMenu.xaml index 63f15837068a72..2443a1fe7d263d 100644 --- a/Content.Client/ParticleAccelerator/UI/ParticleAcceleratorControlMenu.xaml +++ b/Content.Client/ParticleAccelerator/UI/ParticleAcceleratorControlMenu.xaml @@ -4,8 +4,8 @@ xmlns:ui="clr-namespace:Content.Client.ParticleAccelerator.UI" xmlns:customControls="clr-namespace:Content.Client.Administration.UI.CustomControls" Title="{Loc 'particle-accelerator-control-menu-device-version-label'}" - MinSize="420 320" - SetSize="420 320"> + MinSize="480 320" + SetSize="530 320"> diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/dispensers/soda.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/dispensers/soda.ftl index e32b1ecc8a4b12..69481e19d50999 100644 --- a/Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/dispensers/soda.ftl +++ b/Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/dispensers/soda.ftl @@ -1,2 +1,3 @@ -ent-soda_dispenser = soda dispenser +# 220 Loc Fix +ent-SodaDispenser = soda dispenser .desc = A beverage dispenser with a selection of soda and several other common beverages. Has a single fill slot for containers. diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/machines/chem_master.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/machines/chem_master.ftl index d039ae4201ec17..42ec4752660356 100644 --- a/Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/machines/chem_master.ftl +++ b/Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/machines/chem_master.ftl @@ -1,2 +1,3 @@ -ent-chem_master = ChemMaster 4000 +# 220 Loc Fix +ent-ChemMaster = ChemMaster 4000 .desc = An industrial grade chemical manipulator with pill and bottle production included. diff --git a/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl b/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl index 86468ed7f01e4e..dbf4c3d651f3f9 100644 --- a/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl +++ b/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl @@ -30,7 +30,8 @@ cargo-console-snip-snip = Заказ урезан до вместимости cargo-console-insufficient-funds = Недостаточно средств (требуется { $cost }) cargo-console-unfulfilled = Нет места для выполнения заказа cargo-console-trade-station = Отправить на { $destination } -cargo-console-unlock-approved-order-broadcast = [bold]Заказ на { $productName } x{ $orderAmount }[/bold], стоимостью [bold]{ $cost }[/bold], был одобрен [bold]{ $approverName }, { $approverJob }[/bold] +# 220 Loc Fix +cargo-console-unlock-approved-order-broadcast = [bold]Заказ на {$productName} x{$orderAmount}[/bold], стоимостью [bold]{$cost}[/bold], был одобрен [bold]{$approver}[/bold] cargo-console-paper-print-name = Заказ #{ $orderNumber } cargo-console-paper-print-text = Заказ #{ $orderNumber } diff --git a/Resources/Locale/ru-RU/escape-menu/ui/options-menu.ftl b/Resources/Locale/ru-RU/escape-menu/ui/options-menu.ftl index 968309c7d8074e..106bc8f5002714 100644 --- a/Resources/Locale/ru-RU/escape-menu/ui/options-menu.ftl +++ b/Resources/Locale/ru-RU/escape-menu/ui/options-menu.ftl @@ -36,7 +36,8 @@ ui-options-event-music = Музыка событий ui-options-admin-sounds = Музыка админов ui-options-ahelp-sounds = Звуки АХелпа ui-options-volume-label = Громкость -ui-options-volume-percent = { TOSTRING($volume, "P0") } +# 220 loc fix +ui-options-value-percent = { TOSTRING($value, "P0") } ## Graphics menu diff --git a/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl b/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl index 35e318f1cd666b..92601edfe85807 100644 --- a/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl +++ b/Resources/Locale/ru-RU/medical/components/health-analyzer-component.ftl @@ -28,3 +28,5 @@ health-analyzer-window-damage-type-Poison = Яды health-analyzer-window-damage-type-Radiation = Радиация health-analyzer-window-damage-group-Genetic = Генетические health-analyzer-window-damage-type-Cellular = Клеточные +# 220 Loc Fix +health-analyzer-popup-scan-target = {CAPITALIZE(THE($user))} пытается тебя просканировать! diff --git a/Resources/Locale/ru-RU/particle-accelerator/components/ui/particle-accelerator-control-menu.ftl b/Resources/Locale/ru-RU/particle-accelerator/components/ui/particle-accelerator-control-menu.ftl index 142f5c29a5da0e..ef2dbe18a43e7e 100644 --- a/Resources/Locale/ru-RU/particle-accelerator/components/ui/particle-accelerator-control-menu.ftl +++ b/Resources/Locale/ru-RU/particle-accelerator/components/ui/particle-accelerator-control-menu.ftl @@ -2,16 +2,25 @@ particle-accelerator-control-menu-on-button = ВКЛ particle-accelerator-control-menu-off-button = ВЫКЛ particle-accelerator-control-menu-service-manual-reference = См. стр. 132 руководства по обслуживанию particle-accelerator-control-menu-device-version-label = Ускоритель частиц Mark 2 -particle-accelerator-control-menu-power-label = Питание: -particle-accelerator-control-menu-strength-label = Сила: -particle-accelerator-control-menu-alarm-control = - МОЩНОСТЬ ЧАСТИЦ - СБОЙ ОГРАНИЧИТЕЛЯ +# start 220 Loc Fix +particle-accelerator-control-menu-power-label = [bold]Питание:[/bold] +particle-accelerator-control-menu-strength-label = [bold]Сила:[/bold] +particle-accelerator-control-menu-alarm-control-1 = [bold][color=red]МОЩНОСТЬ ЧАСТИЦ[/bold][/color] +particle-accelerator-control-menu-alarm-control-2 = [bold][color=red]СБОЙ ОГРАНИЧИТЕЛЯ[/bold][/color] +# end 220 Loc Fix particle-accelerator-control-menu-scan-parts-button = Сканировать части particle-accelerator-control-menu-check-containment-field-warning = Убедитесь, что сдерживающее поле активно! particle-accelerator-control-menu-foo-bar-baz = FOO-BAR-BAZ -particle-accelerator-control-menu-status-label = Статус: { $status } -particle-accelerator-control-menu-status-operational = Работает -particle-accelerator-control-menu-status-incomplete = Не завершено -particle-accelerator-control-menu-draw-not-available = Мощность: Н/Д -particle-accelerator-control-menu-draw = Мощность: { $watts }/{ $lastReceive } +# start 220 Loc Fix +particle-accelerator-control-menu-status-label = [bold]Статус:[/bold] +particle-accelerator-control-menu-status-unknown = [font="Monospace"][color=red]Неизвестно[/color][/bold] +particle-accelerator-control-menu-status-operational = [font="Monospace"][color=green]Работает[/color][/bold] +particle-accelerator-control-menu-status-incomplete = [font="Monospace"][color=red]Не завершен[/color][/bold] +particle-accelerator-control-menu-draw = [bold]Мощность:[/bold] +particle-accelerator-control-menu-draw-value = [font="Monospace"]{$watts}/{$lastReceive}[/font] +particle-accelerator-control-menu-draw-not-available = [font="Monospace"][color=gray]Н/Д[/color][/font] + +particle-accelerator-radio-message-on = Ускоритель частиц был активирован. +particle-accelerator-radio-message-off = Ускоритель частиц был деактивирован. +particle-accelerator-radio-message-num = Мощность ускорителя частиц была установлена на уровень {$level}. +# end 220 Loc Fix diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/eyes/misc.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/eyes/misc.ftl index ea84561313d39c..ca954edd1fa085 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/eyes/misc.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/eyes/misc.ftl @@ -1,4 +1,8 @@ ent-ClothingEyesEyepatch = глазная повязка .desc = Яррр. +# start 220 Loc Fix +ent-ClothingEyesEyepatchFlipped = { ent-ClothingEyesEyepatch } + .desc = { ent-ClothingEyesEyepatch.desc } +# end 220 Loc Fix ent-ClothingEyesBlindfold = повязка на глаза .desc = Полоса непроницаемого материала. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/devices/syndicate_gadgets/reinforcement_teleporter.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/devices/syndicate_gadgets/reinforcement_teleporter.ftl index c7dc899045e4a7..cdca1fdf56527a 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/devices/syndicate_gadgets/reinforcement_teleporter.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/devices/syndicate_gadgets/reinforcement_teleporter.ftl @@ -5,8 +5,11 @@ ent-ReinforcementRadioSyndicate = старое радио ent-ReinforcementRadioSyndicateNukeops = { ent-ReinforcementRadioSyndicate } .suffix = Радио подкрепления ЯО, Ядерный Оперативник .desc = { ent-ReinforcementRadioSyndicate.desc } -ent-ReinforcementRadioSyndicateAncestor = телепорт подкрепления генетическим предком Синдиката - .desc = Призывает на помощь специально обученного предка по вашему выбору. +# start 220 Loc Fix +ent-ReinforcementRadioSyndicateAncestor = { ent-ReinforcementRadioSyndicate } + .desc = { ent-ReinforcementRadioSyndicate.desc } + .suffix = Генетический предок +# end 220 Loc Fix ent-ReinforcementRadioSyndicateAncestorNukeops = { ent-ReinforcementRadioSyndicateAncestor } .suffix = Ядерные оперативники .desc = { ent-ReinforcementRadioSyndicateAncestor.desc } @@ -14,4 +17,9 @@ ent-ReinforcementRadioSyndicateCyborgAssault = { ent-ReinforcementRadioSyndicate .suffix = радио подкрепления штурмового киборга Синдиката .desc = Призовите хорошо вооружённого штурмового киборга, немедленно! .suffix = Ядерные оперативники +# start 220 Loc Fix +ent-ReinforcementRadioSyndicateSyndiCat = { ent-ReinforcementRadioSyndicate } + .desc = { ent-ReinforcementRadioSyndicate.desc } + .suffix = Синдикот +# end 220 Loc Fix # Corvax-HiddenDesc-End diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/fire_extinguisher.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/fire_extinguisher.ftl index 3109818390a662..cc1d0b300d67b6 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/fire_extinguisher.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/objects/misc/fire_extinguisher.ftl @@ -2,3 +2,7 @@ ent-FireExtinguisher = огнетушитель .desc = Он тушит пожары. ent-ExtinguisherSpray = струя огнетушителя .desc = { ent-Vapor.desc } +# start 220 Loc Fix +ent-FireExtinguisherMini = карманный огнетушитель + .desc = { ent-FireExtinguisher.desc } +# end 220 Loc Fix diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/dispensers/soda.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/dispensers/soda.ftl index e8da17ffcde4d8..3e5e62756d8b69 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/dispensers/soda.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/dispensers/soda.ftl @@ -1,6 +1,8 @@ -ent-soda_dispenser = раздатчик безалкоголя +# start 220 Loc Fix +ent-SodaDispenser = раздатчик безалкоголя .desc = Разливочный автомат с ассортиментом из газировки и ряда других популярных напитков. Имеет один слот для ёмкостей. .suffix = Заполненный -ent-SodaDispenserEmpty = { ent-soda_dispenser } +ent-SodaDispenserEmpty = { ent-SodaDispenser } .suffix = Пустой - .desc = { ent-soda_dispenser.desc } + .desc = { ent-SodaDispenser.desc } +# end 220 Loc Fix diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/machines/chem_master.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/machines/chem_master.ftl index 0cef1e81bbc3fb..85fba23281376a 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/machines/chem_master.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/machines/chem_master.ftl @@ -1,2 +1,3 @@ -ent-chem_master = ХимМастер 4000 +# 220 Loc Fix +ent-ChemMaster = ХимМастер 4000 .desc = Химический манипулятор промышленного класса с возможностью производства таблеток и бутылочек. diff --git a/Resources/Locale/ru-RU/ss220/station-events/events/meteor-swarm.ftl b/Resources/Locale/ru-RU/ss220/station-events/events/meteor-swarm.ftl new file mode 100644 index 00000000000000..de30822cb153ca --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/station-events/events/meteor-swarm.ftl @@ -0,0 +1,2 @@ +station-event-space-dust-start-announcement = Станция проходит через облако обломков, ожидается незначительный ущерб внешнему оборудованию и обшивке. +station-event-meteor-urist-start-announcement = Станция столкнулась с неопознанным роем обломков. Пожалуйста, сохраняйте спокойствие и не слушайте их. diff --git a/Resources/Locale/ru-RU/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/store/uplink-catalog.ftl index 78c1f88cad9b09..8aa305a8fa51eb 100644 --- a/Resources/Locale/ru-RU/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/store/uplink-catalog.ftl @@ -87,7 +87,8 @@ uplink-black-jetpack-desc = Чёрный джетпак. Позволяет ле uplink-reinforcement-radio-ancestor-name = Телепорт подкрепления генетическим предком uplink-reinforcement-radio-ancestor-desc = Призовите на помощь специально обученного предка по вашему выбору. Комплектуются одной сигаретой Синдиката. uplink-reinforcement-radio-name = Телепорт подкрепления -uplink-reinforcement-radio-desc = Телепортирует агента крайне сомнительного качества. Не имеет кнопки отключения, покупайте его только если вы готовы к вечеринке. У агента есть пистолет без запасных патронов и нож. Это всё. +# 220 Loc Fix +uplink-reinforcement-radio-traitor-desc = Телепортирует агента крайне сомнительного качества. Не имеет кнопки отключения, покупайте его только если вы готовы к вечеринке. У агента есть пистолет без запасных патронов и нож. Это всё. uplink-reinforcement-radio-cyborg-assault-name = Телепорт штурмового киборга Синдиката uplink-reinforcement-radio-cyborg-assault-desc = Машина для убийств с доступом к энергомечу, пулемёту, криптографическому секвенсору и пинпоинтеру. uplink-stealth-box-name = Стелс-коробка diff --git a/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml b/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml index 1091207bba4748..e3b78c0c8a17fb 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/toolboxes.yml @@ -7,7 +7,7 @@ - type: StorageFill contents: - id: CrowbarRed - - id: RadioHandheld + - id: HandheldRadio # 220 radio - id: WelderMini - id: FireExtinguisherMini # Random lighting item orGroup From 77df1b8f59909bf99f0fd421f5f735c8447d7e91 Mon Sep 17 00:00:00 2001 From: Kirus59 <145689588+Kirus59@users.noreply.github.com> Date: Mon, 12 Aug 2024 07:39:06 +0300 Subject: [PATCH 12/26] Add new highrisk to quartermaster (#1415) * Add new highrisk to quartermaster * Add Steal objective * moved to SS220 * Fix meta * Add glass case * Some prototype and sprite changes * Sprite update and add to Qm locker * Some fixes * Some fixes 2 * Fix description --- .../WeaponRandom/WeaponRandomComponent.cs | 2 +- .../Weapons/brassKnukles/attributions.yml | 4 + .../Weapons/brassKnukles/critical-hit.ogg | Bin 0 -> 14134 bytes Resources/Locale/ru-RU/ss220/misc/case.ftl | 7 ++ .../ru-RU/ss220/weapons/brass_knuckles.ftl | 2 + .../Catalog/Fills/Lockers/heads.yml | 1 + .../Prototypes/Objectives/objectiveGroups.yml | 1 + .../SS220/Entities/Objects/Misc/case.yml | 87 ++++++++++++++++++ .../Entities/Weapons/Melee/brass_knuckles.yml | 43 +++++++++ .../SS220/Objectives/stealTargetGroups.yml | 9 +- .../Prototypes/SS220/Objectives/traitor.yml | 11 +++ Resources/Prototypes/SS220/tags.yml | 6 +- .../etched_brass_knuckles_case.rsi/base.png | Bin 0 -> 320 bytes .../brassknukles.png | Bin 0 -> 189 bytes .../etched_brass_knuckles_case.rsi/closed.png | Bin 0 -> 298 bytes .../etched_brass_knuckles_case.rsi/icon.png | Bin 0 -> 387 bytes .../etched_brass_knuckles_case.rsi/locked.png | Bin 0 -> 167 bytes .../etched_brass_knuckles_case.rsi/meta.json | 32 +++++++ .../etched_brass_knuckles_case.rsi/open.png | Bin 0 -> 293 bytes .../unlocked.png | Bin 0 -> 165 bytes .../equipped-HAND.png | Bin 0 -> 287 bytes .../Melee/etched_brass_knuckles.rsi/icon.png | Bin 0 -> 369 bytes .../etched_brass_knuckles.rsi/inhand-left.png | Bin 0 -> 271 bytes .../inhand-right.png | Bin 0 -> 287 bytes .../Melee/etched_brass_knuckles.rsi/meta.json | 26 ++++++ 25 files changed, 228 insertions(+), 3 deletions(-) create mode 100644 Resources/Audio/SS220/Weapons/brassKnukles/attributions.yml create mode 100644 Resources/Audio/SS220/Weapons/brassKnukles/critical-hit.ogg create mode 100644 Resources/Locale/ru-RU/ss220/misc/case.ftl create mode 100644 Resources/Locale/ru-RU/ss220/weapons/brass_knuckles.ftl create mode 100644 Resources/Prototypes/SS220/Entities/Objects/Misc/case.yml create mode 100644 Resources/Prototypes/SS220/Entities/Weapons/Melee/brass_knuckles.yml create mode 100644 Resources/Prototypes/SS220/Objectives/traitor.yml create mode 100644 Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/base.png create mode 100644 Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/brassknukles.png create mode 100644 Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/closed.png create mode 100644 Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/icon.png create mode 100644 Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/locked.png create mode 100644 Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/meta.json create mode 100644 Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/open.png create mode 100644 Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/unlocked.png create mode 100644 Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/equipped-HAND.png create mode 100644 Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/icon.png create mode 100644 Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/meta.json diff --git a/Content.Server/Weapons/Melee/WeaponRandom/WeaponRandomComponent.cs b/Content.Server/Weapons/Melee/WeaponRandom/WeaponRandomComponent.cs index ef15498a700563..4ee5212ae7176e 100644 --- a/Content.Server/Weapons/Melee/WeaponRandom/WeaponRandomComponent.cs +++ b/Content.Server/Weapons/Melee/WeaponRandom/WeaponRandomComponent.cs @@ -16,7 +16,7 @@ internal sealed partial class WeaponRandomComponent : Component /// /// Chance for the damage bonus to occur (1 = 100%). /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField("randomDamageChance"), ViewVariables(VVAccess.ReadWrite)] // SS220 add DataField public float RandomDamageChance = 0.00001f; /// diff --git a/Resources/Audio/SS220/Weapons/brassKnukles/attributions.yml b/Resources/Audio/SS220/Weapons/brassKnukles/attributions.yml new file mode 100644 index 00000000000000..e25fb0f8cb710b --- /dev/null +++ b/Resources/Audio/SS220/Weapons/brassKnukles/attributions.yml @@ -0,0 +1,4 @@ +- files: ["critical-hit.ogg"] + license: "CC-BY-4.0" + copyright: "Modified by kirus59 (Github), converted to OGG." + source: "https://wiki.teamfortress.com/wiki/Category:Sound_cues" diff --git a/Resources/Audio/SS220/Weapons/brassKnukles/critical-hit.ogg b/Resources/Audio/SS220/Weapons/brassKnukles/critical-hit.ogg new file mode 100644 index 0000000000000000000000000000000000000000..49a8585cef4a386377a6fccccc5145ad53b74d45 GIT binary patch literal 14134 zcmeIZXH-+o*Ef6;0wmM`0RvJ31SBCS2qHx=fzW#(bfhCeK)Q;k0Ro01(#24umr$gG zh>8?N5u}4478EI>7hX2(&q4q7`EtK&-S4M&y|X5hJ$v?){hK-a?3qk#jvloKpuj(Z zKo4Ke4jG0}T82nNVva}n&?0vjP;$f07XZ*ZAiux6AvQZT{}py>?vw;yymwt_`qzI4 zZjL`K@q+@E-Z23OwDum<+^eRl$^|ko;Kx7I_qd;bgdSMv3l^%WYwVO_f@wZ~Dk4Fd z5bvPl5uQE~-l2Yae%_IRf;&7~D9DTPkBFol57kqZ09n4rL&ChHXg5GqJsVP z3?pb!G+*yvj43S&V}Cq4)Grca6cFI=8wKI~Gc*MQLq`Ze1ORL#8gE<`DaJrb7}$!x zkTe)Owkd94DU=|&-_mVFAu?08veba-rW8M(Nd;Y5TL@w<$ zNk%_GDK%kGwOfnm2#lfV&h zX?LR-Bcxgh23{L3!@y|xi2|7bP+G2(TCT){lxXDvh5-Ocv_stum%NuHd9Ov17tZg( z2>=iP4$7IPR+?tKG|k4kWGnoRuTt2Ak=EaF|L^Li0AOp!XB3X&{$0-x0N|xssa4LY zRe`Ci%nUdqxd95$0RRSeqhV-&$RwBi(1AMF8M62v(JkL!{C9N_L*yhappJ{F$|276 zdmg}H(1lV}2kHL=nT|FWC`UAEKP`Gu>LS20Z_$=2GVM5(U6^`Jd$lNX?B1&)wK0$? zFLL2yfpV)wgQYG!f2chzr^Z?M9bWj@x>u3V9gtFNJeA41&;e4MjkFAwMGHuoUOPo8 zwAkTA?lko~*%(@vEE3tt*50_5UpPJlQZ{$ipA;egCGuPDH^`vAL}c;>@5ea!@mtxSG-g zb9`NGdHVhlLfeDiiOyz2n}9B#+91+Uxp9zUA97&U`Pf_SRaRoVqwBH84vIOhDwo3Z z8$S$)y#bfFU#8to%RWq8O;H37zV;8Cn4PHs0Gq!hCxoQ_9p6bl6jHDg2BXT<{sU9? zM$~Bkx%_CCt}|})NgkiiEP-)5+S@tb-{rsJAJswIg8>)&A4PC?(2)|vgL5uFSIhSX2if@JV4~yc_LGnl`>vvWn;~<6=>N< zPvzHMX02Z?!Lxsh0LUGYose36GPUkxYVFC4HD-3;<^0+@mh%1T&7P*$|5N1sy}+@c zb-|iMU`;4kBMM0TMwiaFgRbO&8rCR+Ffys}N5=^fJrGc*s6R&I9}@roeD|7BBNLKV z!U{7K6{@|;48>^1p87upt0@gD5fE4ekO=`Yk@hMocUXuttj}aneW@=WWwWZq6o0g% z>%LkNy5oq%`CL2X={l@$D(Qhr%g3TH`)_EsjtvCoa92yTf{$&4GDREMR`2G+W|IrHA(bgfMEwa!*@`Q&R z8WS9c>_F@BzYhO*U(H}&WTEjx|IruN(V>a|H}v{n5BC3W;Q#9gfDRDy8Tj#%MM<>E z0Zb7f%v2bQ$cBw_nC5d@C05_ofMolVrb=n5R{zEV3l@;3FsXnUSTL@^l>2v4Hds(f zLmJU5!Gb`Ee?3E>#6u0)RHRXXVxPJdQ;sZDjre!1|D-_6j1B`|;HqVO{~D84sy_sv zztGADeS(Y^&SC)IoUf1y0A4OECD73S@4|m~C=4*6K$sHP;oTO(Gq6YOy;dNfbNmp! z8Uktq3M=i5u9;--6HW&WKNPS70Is1Hf|ZC-b|sCqClzZpb;t%qW38Slq4mE%w4-); zAPZ?^r(so4O=II#t*D})zw&Gc_QdMJWgscJ0R|XA0m)P!7uKs&C3{k<>sWtUF`Ce@ zvZtD5SDz{Yoh2Hpn%zpUdVgr=73DysCjEoWW^aHU*`Ppa>P+Kkv zl}L#@SO&^KQK4#*!p2lmC^%7ugE?NIB9{_`qarD|x?COuyh0uY0OsR4z)zBG;IKJ> z5d`R}#yc-12>3NKKA!)DY2>*&HhXP z``$nC%mb%!2YNPsP89SDtf*9vR>E&AH+oceU;|$fABl|?}V~b`tR)jBT5By&VGAn|B-M4U#VKa_Tl+voqn?k zXD@I@A#`xL_o1uMk$eWYDhD_?15pmHX)Oj!wN-58v}^ECJ|ib_hlHn=JT4B%xBAn!LNo14C~dVcSJDCQvVHhF#})6?*x4fCsuF*fBF&YmDpCK~G1XP(?obp1P+M@Ke#&70Mhg3l@Sr2XjOjLl|6~JJ^E_nB&0NmDB>AV>D@xI91HM z0G;}C<8u& z4asOr9G6NS+Taelaz4VMEK&fpiX?ze&jbJt7^gbW_Y8O*iHw56Om+iw3^{;F9xw4tghee%?qcfQ4nV^9LgE$Ze`e+J7GFc-MEiSQJQc79|BP%D5 z1yRl00FOBcyeAi zOH_)tA)8e9yna5tBJ$Yz$T@f%`C|A>`H32-JMn)BWko=2PkeoU>zu2!`!8Xh$L4fQ zUU*@z?xaQ-e$Q#M?20BH4^OC0%C~G8>?!l+}6?H~cY|yJrffs08Xl+uu6XeD)e=iYNW!qD7Z-48h+PE1x zC__Jm|4xI^ntk%^c_Z>Z{AGw~WuvsPjw4J#J}-R*)0g1IwlAH#Z<60gGupmRD z;HLu2!$b>{M6C`i1i7t~7b8!3-cLJtRKB+>b;HpuZ!e7z*dM4Q8M2P3Bm$(A5+ZP$ zS)!O=dhLa%X2@a&(5HEqeBe&dLHdZrB&ou|KpSJ?^3U9BjzkcS(ZuD}OVXIH}lX@tcwcw3XPOF*{xw5P&1 z1U*%P@6Ox6NDaOL_U1QBR&wY!%k;tt2r_7Uy1b6r zj+&7NzEhk7xa&Q6MmD{oXGd)lwFY7gp`{Z_sRyWp7?FVpNeB#)1($nA`1PxQFOGZ7 zadE@0tWZ@p)e7sN!w*QX_)U=y(WauCT)d-PSmsf_N}ia+Gk7DH)YeerfXcN($HQo= z7#$bw(4f2(9rh;pT2h;p6SHg4nx7ULWQ(=Tb6RvQYLci2>!jDsSsRmi!o}8kL3Vl8 zecuY5BX zs=lR2U;7YT?=LF%vNt)V{)+ti=1+MC7vxcOIKx0>) z^pN=U-~<%t1?r?{96R*ZG_9y6q8c+%2t3NJ4_UMtmi2X=_ndjyms@Ohq2pquGOd1U zjR*L7$U4Qil9QyFm7{;rzFde#%Cve}*_EF(+B#+S;68ptyS_-h&Jj@EtY(REo4`8I z68r<>DdZG{FCs|i8H73a zvJ0_Mar9;;(&uL>soEi;ebPYn@3p1ek7x5*o_;^cnX_NXz~Sj76_Zfk{nOB-a|)M7 zE!I@*&<$hf>iAcFz64yB{Z}obXKe(5pLN4%6xM|KLxqOLg1*~W$w^V z91i%Z9;~$J~mgJ zQ?dtVlRDr$)1DRN8x7lLY|B5*`w$s)l^+mD5yTeS>MaEEnu>U+B1Luy?2@R|o&#=v zTVV)9#5=0^m0kC=Uc>APoG}oKEwl{Obje>Kg!(wFNFT{_Mde$NEOw$p{nPGk3+?JT5?AemsVZ$nL9|62C%x zS<|Cz=$NIMsIkO@!rQ`c4{_2rbr-P%5#$n&sFQifP^5VdBDCGWi zhs91;a*bS-3bE#>eF&b@h$Wq>MFKr-pyb$!6fX*6m~rKw#JQN9M#6~NYW5*IRZSPL zZICR)=qsj^4TjE75Y@_{{i^U~;lVq1g?BRqDpE|!W0=ArI(k!97lUGBbggn64Wr9b z%~KY-;>HF7u!YY>G?-#KoYcS%wva1vteli8syva`yir3!e!jQZ{-_DCc_D49OKr%&2B&dcHQ6YB#@4m6Dro`ntbIDOdgBkB#( z4U40eubb4*ai9hDOBd5m(~re>)0e|zimlKkPl)=^dz(F+DOR#k=l@n5age{lR5ZWcJuF>AE$_jSx;;!;9I4R@8hjzd~6r9fEx z8vLQaR#g&pg7-x9MfX^HM&j|SgTIU{DC!#o<8V0*Xqm9sd0zoxZffRvKM6eZZcmv3 zFn7xpp7?xrtaVL7woETHsgr+F^lel#;0`o=a`So9HmF5Tb3DT$E( zFDk}yvJggaQ&t{v(as-YLj(ZL`kC8<8qLmDA_|IJ3c`lu39a*tR!K(cKo*R|7k<@V z_b7G6XP*z}y|W(#i~=K)?aL7fJnMCoL7Ub54Y-2N?pwb~NAM zKDOf$-PdH)z`msm6KH3l_jm#tzcBjlhmgd?pj8PziZ3p1t~VaSg1 zRG*6G#fmz%v}mISZK0iCWxQ_V#J7&4n)*#n^-TAXJ>Pb7yVx{jIOaKI2OjbrdJ*HT zGVJ*J)0`xt;e3&qHGk=%>{b_4FI5Hj$T&Lf)m;h5hov&oOebAxcUjf6bAnIzjnKRC z(Oqld?aPUMvQPO-_!*N4lRqvKI3Ztr+Lt@mzI_WR;GBjg>wnAOXVz2L>kb;_W;G}t zKzjEp=aj$E0Fytmfh;Z#Y$Jf?!r-?1{%S|H16JH0a04iSxQ9_^Y@U*-L`3f5PvJ@# zG)g2Vo-`8S7jSq#w1e&HDz_4?BxUBgw4@%^(Xt=Njght;y5ng~kH^92}h%Z3|cc}^dSB{|edHH@|N z>U~~6@rlM=Op&J_>OHp346RD${n8V~%2lE&sQl1#@$k$rF|e_tP83PW*^HPpiL_qR zFENm~Yp(h%vf)#;4trccxHtQ>;|7u9K_ykZaR7fpEYQ_+0}ZAt^|IhH2SBOEN0Pn+ z^rIY^rpEM!VAX(@R>JPgk^7b42~#qSO{1sGhXgr^pgIZ#1Y+tjR+H+q-IHzh<_F9t zKM?YQRyaw+_11264xF6Yb~q!0Djm@>RIH{F%T|PYJ=Z!tJq~Fu76eQP-#+Z!EFSN4 zpP6gOzpL_#ZqmwtZ)eq-o@oO$qWA*usSu`xlwg7Z>|sScAj~~URDQ$UNR?+rY7X}3 z_FQnxf@&@tS`9~P0{nMz-)NR={0ZK8{klBUs!jOzHOpEIazgEa-ZrTkG_S*?2$Yt zzUvtO1M=nKe63bni{nSnOB|6!7Yf=uA&Xb_Wi9o0pai5|J#PQrTz>q1szF_6T{*5Q zI}{O;lWA-rn9E(%6;4OEc|hg?ywyS6*ZZ+bz{3|dUr1PWesCX~Z-nFp9Mz_SppFBn&*^oJ;V?DJ z4sWEaty~J1ESH?p46S}$qfW8b&IIMH(#w6h#3cEt(>_lYY@(t)ULWn5ywzLyNjf}# zE#n~aFRdl>EfQzBP`7!RfetduszT)6+SI5Nfx=^U{G}^j)N9@)1UKI?nGCVS=U+w| z2D59WZ+z}DJcrrdR;ZG1=X~)=0GV>r7@$*km%gT|=Mdw#K9mRnpOaR&T0iRnz)f5S zkv9S+ZrJ=!B5Ys7V=Mi8YH2QF_4t0eKcra~U0nf`Y8t9!k^PLI(1dwdd?Jk0OO%yG zI$Pz0_7rOhh3wIr)Ldfc8yvV=AT@Lu%Q$qSC<8z*hC_Y#X~n74Mp`}yQSCi@L|m@M z6_-%Ed6?_HmgUl%Lf}(x_E%&U;#;`ot&N}dEX3h)CgW~PzV=>&X;!#X_N!>c)AG2` zb*ZX!iIYO|e)fS6&NIgWZp-Wf55}-E02~_}lSE1r_PwssuYdw)wfXx{FAoFHA|&Xz z;d4M=8$^XZTP0ZAeQ&=BitYYD`_c%62k_F-adqHFs!44I*%zXdaS1cFg$q)Ag)~D* zhfb=JQH{o=sojOORQBXVjO*EvY~`y7f=cWxe9uy~xkzkj=)8dE#JK>NiTnh))(b^f z%|UR9Cc`=08M#jk$;dsI?3Qtlsd9C;ly?g^3owUZ*uPXRmMpwF1CR+RAO=2OKl)-94eM zr0TB|*yv!zA;+%R<+P;P4?e z3l8g!(S?rfSq>%&5~9@1S7okoFZwSih4}N}qZY9%aXKyOJ!{-Vwz4dY)=ufEgZ2e9 zvDO0|m0n*o4AHLXQPq8sRMgmme0KFsTFtGBw(Bvo*ROltoZl4eJK`?Jt_ZD~C5o@0 zZ}EAK_vXr_Ua?kFeS5~N%_;ZNuJ|Dj!DUx9m8bzx&L)<8_LRcSX$YX3E(qE`=~L8U z{|qTRH7e$BcIJqrZn+P;?-GnWdw~p)ljaF-E{apAW#=)Y2mz9$B9JbWp2{}j^GRnz z61^Jjm<$M`+*{)~hD|XC%^C&(! zdTjls72Mx|zgZB9Jy_)4>mVDe!dNFwr8sNK`-@*V^Pz^RYk9S!@ZQWD<GvrL^R20lXdRu0nk4-}UB zipx+o=R}=qIp2x@*j*b`C1P$L9cXjc$3g7gsT*fA?4;&q2XCk=-a~}cnzW5>)OZ~H z@Tj3w(=!XRz*(DlI!99_;Pw~U*sPBm2j-C#99`UPP+(5GI7kE_QXhivr7tiqflu*- zf~|*fP*v`4L@~?l!(6Nl&t7zXNdCEB$;2BWhJfli(W+hv_DX&(lW-i(Br}22l zEhGAra#0F_J>dBxt~{$LfqV@QSN2#+aA3yP#QC!@>oL1S6b>F9F;AgLq2YJlR&qYpP1-!a6UAKDzOqi19ipY4-9+hTi^d#L^w zO7n`GZGVzMyeaYkfjXRT)Ts{;;+r_1mEMPIf-2yKy!c~aB#rd&%M`v@FB2qr0R34} zgvsJlJXKueke;_vAj%8W0_ge#Q9I??TDB29qC7>BS)lp^VL%8rNh0?=k@K2)f()Pf zahJVdKpk%^|I3Gqfe^mP>6a2X01@bi?;rG*zv5+nr$YG3((W_weO`RZu79F0D@mQX z@I(lK&^le{x4nJp66qQ4#ADJ6%~ZKi{~N2EgsO9l`uS#_fNMqdMI3-8ASN=@ zuI)T6=QA&vXBr1RFOX{*C^x>Q8DejB(UE2^l-F5UzEB-{ZC`EdT~+15OH!{deXW?1 z&rgas#U9bjwQlCYFFCSbP7@%E`b;Q<34}HK_-&+>+!&=t-*{-c=bmixcpCI_=wVIN za~p50t!E?bOtFi#}n=;&N0oz*BJU9@jy97QX*I;2*?>M5KHM&E)tG6LKTYAF0t_^mN%*M1wR@|Gw zA0{A3JA0Mt0!_(j4Tzm&WA*bu=S>0g9E0^wYvyGkg${cv7n7|kQ-X4htIk~?m0p%^ zq|u&~0_iCn@;AwXnWq-x+?E?1N)MEYyIYI&9d(`gJL{Gx`oy{8r0Gx1)f-2+1ld!k zZ3b>Z6;C$as?1ke|1vsz;l)c&*@l9#)W|}`XY-5)dE6q>zgjlLN-zPLLvhW6Pox3q z%M35XcYt?WE(b}7m+^u;)l2hh9u2UEM*6P=?VJ;EzqXtkfgaSwE{DN)XLBzJ|9rkzDY=bI{dN-PlHT5T~ z6#4tF6r{O;gYOGSt*u}=8V=pQod5}9^CbHiF$S@UT$LDRUb+z0AL`56JBf>KZN{Sy>PKa8AhS(0y~WGQ|nWq=G52H-+)^{EF>rljrGW> z@?TE`Zaxd)SzJ2y=#@w?$2W~rrGZz=8CvTd*Am;h-(&kO5tRU2|4od?4Rz#u1l*46 zh;KIx(7!jhH7qQTud|Q&c*W1>q+g0q-ZbvI#5Z`K@POB`kk*38vFy|XJLuPXOC%eK zUU%j+w43r_vMV^sgIZ$Pg(Y>0OVwGO3xO=_u6-fx%grVJ*B0W#aO;z7)1mF`ZD75! z#v!+too9W}wyN&_lv=!$h~$&E87JL8RO&uE>?{8%Z8+QWj`2+w?(KMQhlP2bflN+O z5>F|0AnFXTM1d%MXZU#}4fJHZXxeV1G+vL3y&cv1%MI8R{q?hUiFv~-WdK2Z$wF+H@m z{lliCPN1$;)uQRaD*H0~s#NK6TdOKZd}5AWof2+B?c9Jo1CSGfi9J-i+HORxOpC~J zTAE)w;iNtrQuSH%ss8>PCnt|l4isE8djrK7II`M#wLiD?+Lu<|BX`O2`;IRG#CopS z`0L)w&3WZ@RqgqHyAy*sHcvmH^0qxP$}2!BE*z)ZO>*S?&d#lJtV6PMk@ zHE``YaY`1m!p`t0LvU(2U>HON2CJUscJZxHmb`L*$CpV-v1U0{Ida0DrA#5Qctd1Q zxf1caGT@;QEn5!9|_EV}~?3zm8r0dkYDP zlbMJ~aHz-c41X|dXZTlD5ls2>GQwh8y1L!kArWFu{%R)fVh|XFsG;}{xK}2+J0(Ra ztNSEpR-k1+;6iE;!Jr0(8Tr2DQ=jB%^)lq}g3IKHB)GaU)Tk;apWYeE(VdP3_DBrJ zf7nV3(nttAP0o|(QK&TAJ1|KvOKaOJe9(WpKK#Q>uo8qaG(r4Qnt?Gd*IHxqjy zWeJVAxA*K?rk~o|w!&b4?WBYj@BxNM0-zTCrU`&h77B|`Lcp16W)7{zs(gv6idaWA z1d6xR`k-mOohZJ_zFY;bue$x0#hd(hv2MBJ_9ac{M-d6$MVO7&){8d9BLFmCt_5xu_-ziqmEZrR9xn3EC%Z-d`o-bFtK}^zA0BZQ zNT-Kg4)zg?Om`uq(RmPb9cQBYN-}H8_J5Zh(6t3T)kLvKDn9| zwVQ%YLnbAViwc?*iZIQ{gg#^{1iD+54k)N9qP(IM+C{1C2`VnOb@2RdSLKjr9OOQk z?M{%75ue3R*^z6AX^`0-c1V?Ny zc)cFc*KsIIV|S_P379LPHp^3IwV8W5yw!X7RH2Rf_(JbNGR=z4HGV_Z)oE%tsAV zB}jPX7N{Cen4-B_BG58g3E}QYs1+VJW6;I_S#aCtRvBd`iq3ZAV>9T@%@yx>RK&~O zM2!S|nz)BU>L)x;7b5+<8(`U?k34Bf=W(moZVHH8y2`faeeQE!c1Y#2EKdTt*EaMS z^4=EWH2ubxd99E#7sl&>RZmKdJy7@{1__ML&cUG55AIJt3Dj-J(KSs>!uX{NDnS*_ z<6}o$$&-E9ywg309VVP+<+2Y4VTI+=nu%@JvtERNYY{G`cm`cal+)L?;tr3GgyvBD zBhJ3r^_azKhZ>WI){C7Ve_fQAv^KY)@TxAKQ6O_8j_jRnY`$*CsKg-c|1Q%ix4XuxT9{(lWXB)TsE(ghl^_m<11 zE_NBp7na7GHC`gTv;Fwujct}y^R=Y*%cmmQ)75BY1d0L&ID~d5*II>WCe3#TV)vpt zmnC=Glp~SGP@fdMZCs5Nbt-ofUPXR2TP5n}!tayUOGtT^_eht5Gx`unx-Q!d{#-_m zL%IsLCgWy)S|0v(SkPN4s(6U$%sISCuqVLT6qr+Fy6I;RUG3^Ykl-m zAh~%C@wQF!OmMoT>x~|S83tFn!cVV2Tpp>1Uqf75DKOHy7{UgAUP8q_Y&hTW)h_u~ z<@jmG3$^U4`-^VBr1`&!$sdVe+EQhS{TRFRWdm=gHQMwn%P!MMPSL{q*Am=IJUw==J#wj`ut zQFS3)*Dj@mT3Z{Fm04%~(A>-}Byua+D`;3tA3B_T_Bg(ZHZ@*nj<|8I-Kw_RH1ZYf zSr!+hKo+?F*2W;%*h>~pSm?3lye7(Bl{EA!!_-vfc@V9h&89fkv)e~M3L|4ss81;3 z`M`J!$luDecrWYO``%}idfa8W`~$PpgTwa5$?zY!WVt@fMtqG+H=F74Ge7NUIez_u z*^Ii*6;6|BE=NbIsBrxJAXZ{n3oa!hBeEO8p&M3!k+?G?%*ZM!rWA*=ryMJ+4lJ2= zO=&h(H%f;b01tqYva=JB;+aOWvEsk(UND2u%MB}p;o_&^ldTP^&HnpBzXv5p2m;OJ zwq9mF#68X=VN$B>(4dEHddwq(y<9%B77=qz3_x4;u;e%Q`IhKTwJC!O61Hx*!##)bFyjZ-rn&qiIfxo$QTOx^_ z+IB>t=$>vW#|i&S-<{vq)k+3p#M{icx$dR}`F*1D-n4@2qJi8w+fAtRPu@|z z(zu^Xn!A@RDqqg0tMQx-czoA4lK;b5H^xm?_gWa3eN){({>7bfGatG}Do_hV-p_J8REsqK%&q_dI$-rSi&zPvBU+!V^tn!s7YIvao8Vlh98pd>rP| z2aD+%R<^M);(Uf72Q5Cz}; zTE0Skm+`e6U&DekrTipcaxqj&fhYNdHzoPPH>|_^jmkUx*q_^T*FLgD6vc{?R_av) z$+xj1;PpQqBE-%ukJB!~*56%2Aqo6*h$hlOr~_)a#`N)BezC#u_Ifl^Y_AYOmqPN4 zC`Jd;zO*@%v9sr)zc&)8ga4g<8D=zv*U7`pQD<#ywBE71i!!GHV&WA zhQ?i1fBDrh27+w92Q}o@p!5IqCv+{I;o+WpC3ofhb7hy%&))l=D%xk$5M8a;k$QQ^qtoD=;2`)9)*5%X5{kL9>og@z%S2+TMAbcb*5hNY-*66S zfI6h&ggyh9IVfrv6aR=8F5lt|Fsna@2PvT@GdL!4zC3fz_RnnYkCyx^?2YtI{Hcp8 z!TrVZ1Vmv-I`8_05V=--uN&HA#VknIVrkM%R&yVx?biB?BhR3(Qcm6y2 z(XEvPA*8U+!2{~u6Q%2>;8lI_PL)_pU-8X!5uOp~+2f~w%_jZmIFZ55%N8m5g~Fbm z3dCDzrP_dfLqV%jN*H4sn zf9?8lYGSRrEXL07^1@JDy2^(=Asv_;J6|pwQF8k8llL=`C(UBnZO1-8r7cy5J}P@?^)d5;JPyX_4!j-BM{mrrK++Xv{=V~>G2~*u}*DJe!kzT#S_#RKR zD+k8fF$w&Bsm+jVf_O%spupp^swWDLAi2l;p6~Cgh9H4I!|eeCRKal*JbR!!ck=!_ I2>e(0Ki7r>xBvhE literal 0 HcmV?d00001 diff --git a/Resources/Locale/ru-RU/ss220/misc/case.ftl b/Resources/Locale/ru-RU/ss220/misc/case.ftl new file mode 100644 index 00000000000000..cd813ef31fd68a --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/misc/case.ftl @@ -0,0 +1,7 @@ +ent-GlassCaseEtchedBrassKnuckles = стеклянный кейс + .desc = Изготовлен на заказ для хранения ценных предметов. Крышка выполнена из закалённого стекла, а основание из дерева, выращенного на тропических планетах. Коробка украшена бархатной подушкой, чтобы предотвратить возможные царапины. + .suffix = Гравированный кастет + +ent-GlassCaseEtchedBrassKnucklesFilled = стеклянный кейс + .desc = { ent-GlassCase.desc } + .suffix = Гравированный кастет, Заполненый diff --git a/Resources/Locale/ru-RU/ss220/weapons/brass_knuckles.ftl b/Resources/Locale/ru-RU/ss220/weapons/brass_knuckles.ftl new file mode 100644 index 00000000000000..5faf431076acc9 --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/weapons/brass_knuckles.ftl @@ -0,0 +1,2 @@ +ent-EtchedBrassKnuckles = гравированный кастет + .desc = Гравированный кастет квартирмейстера, изготовленный по специальному заказу. Выдан в качестве средства борьбы с участившимися случаями краж личных вещей и материалов из отдела снабжения. diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index aff9f0694657b5..1287fbfd593e50 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -22,6 +22,7 @@ - id: ClothingHeadsetAltCargo - id: BoxEncryptionKeyCargo - id: ClothingWristWatchGold # SS220 Wrist Watch + - id: GlassCaseEtchedBrassKnucklesFilled # SS220 New Qm highrisk - type: entity id: LockerCaptainFilledHardsuit diff --git a/Resources/Prototypes/Objectives/objectiveGroups.yml b/Resources/Prototypes/Objectives/objectiveGroups.yml index 66f4e66ee9327a..086979ecb5e0a6 100644 --- a/Resources/Prototypes/Objectives/objectiveGroups.yml +++ b/Resources/Prototypes/Objectives/objectiveGroups.yml @@ -18,6 +18,7 @@ MagbootsStealObjective: 1 CorgiMeatStealObjective: 1 ClipboardStealObjective: 1 + EtchedBrassKnucklesStealObjective: 1 #SS220 New Qm highrisk CaptainGunStealObjective: 0.5 CaptainJetpackStealObjective: 0.5 HandTeleporterStealObjective: 0.5 diff --git a/Resources/Prototypes/SS220/Entities/Objects/Misc/case.yml b/Resources/Prototypes/SS220/Entities/Objects/Misc/case.yml new file mode 100644 index 00000000000000..91a4886fbd60c4 --- /dev/null +++ b/Resources/Prototypes/SS220/Entities/Objects/Misc/case.yml @@ -0,0 +1,87 @@ +# © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt + +- type: entity + parent: [BaseItem, BaseItemCabinet] + id: GlassCaseEtchedBrassKnuckles + name: glass case + suffix: Etched brass knuckles + description: Made to order for storing valuables. The lid is made of tempered glass, and the base is made of wood grown on tropical planets and decorated with a velvet pad to prevent possible scratches. + components: + - type: Item + size: Large + - type: Lock + - type: LockVisuals + - type: Sprite + sprite: SS220/Misc/etched_brass_knuckles_case.rsi + layers: + - state: base + map: ["enum.StorageVisualLayers.Base"] + - state: brassknukles + map: ["enum.ItemCabinetVisuals.Layer"] + visible: true + - state: closed + map: ["enum.OpenableVisuals.Layer"] + - state: locked + shader: unshaded + map: ["enum.LockVisualLayers.Lock"] + - type: Appearance + - type: ItemSlots + slots: + ItemCabinet: + ejectOnInteract: true + whitelist: + tags: + - EtchedBrassKnuckles + ejectSound: /Audio/Machines/machine_switch.ogg + - type: GenericVisualizer + visuals: + enum.ItemCabinetVisuals.ContainsItem: + enum.ItemCabinetVisuals.Layer: + True: { visible: true } + False: { visible: false } + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: { state: open } + False: { state: closed } + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: MeleeSound + soundGroups: + Brute: + collection: GlassSmash + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 40 + behaviors: + - !type:EmptyAllContainersBehaviour + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassReinforced: + min: 1 + max: 2 + MaterialWoodPlank1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 200 + +- type: entity + parent: GlassCaseEtchedBrassKnuckles + id: GlassCaseEtchedBrassKnucklesFilled + name: glass case + suffix: Etched brass knuckles, Filled + components: + - type: AccessReader + access: [["Quartermaster"]] + - type: ContainerFill + containers: + ItemCabinet: + - EtchedBrassKnuckles diff --git a/Resources/Prototypes/SS220/Entities/Weapons/Melee/brass_knuckles.yml b/Resources/Prototypes/SS220/Entities/Weapons/Melee/brass_knuckles.yml new file mode 100644 index 00000000000000..f56e2e24f6d8d9 --- /dev/null +++ b/Resources/Prototypes/SS220/Entities/Weapons/Melee/brass_knuckles.yml @@ -0,0 +1,43 @@ +# © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt + +#Quartermaster +- type: entity + name: brass knuckles + parent: BaseItem + id: EtchedBrassKnuckles + description: кастет + components: + - type: Sprite + sprite: SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi + state: icon + - type: Clothing + sprite: SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi + slots: [gloves] + - type: Item + size: Small + storedRotation: -90 + - type: MeleeWeapon + autoAttack: true + attackRate: 1 + damage: + types: + Blunt: 10 + Stamina: 28 + soundHit: + collection: GenericHit + animation: WeaponArcFist + mustBeEquippedToUse: true + - type: WeaponRandom + damageBonus: + types: + Blunt: 10 + Stamina: 72 # 28 + 72 = 100 => куклу без стаминрезиста сразу ложит в стаминкрит + randomDamageChance: 0.2 + damageSound: /Audio/SS220/Weapons/brassKnukles/critical-hit.ogg + - type: Tag + tags: + - EtchedBrassKnuckles + - type: StaticPrice + price: 1000 + - type: StealTarget + stealGroup: EtchedBrassKnuckles diff --git a/Resources/Prototypes/SS220/Objectives/stealTargetGroups.yml b/Resources/Prototypes/SS220/Objectives/stealTargetGroups.yml index 8508c424363e4a..49d5b7616d1362 100644 --- a/Resources/Prototypes/SS220/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/SS220/Objectives/stealTargetGroups.yml @@ -3,4 +3,11 @@ name: secway sprite: sprite: Objects/Vehicles/secway.rsi - state: icon \ No newline at end of file + state: icon + +- type: stealTargetGroup + id: EtchedBrassKnuckles + name: engraved brass knuckles + sprite: + sprite: SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi + state: icon diff --git a/Resources/Prototypes/SS220/Objectives/traitor.yml b/Resources/Prototypes/SS220/Objectives/traitor.yml new file mode 100644 index 00000000000000..330f44d2241efa --- /dev/null +++ b/Resources/Prototypes/SS220/Objectives/traitor.yml @@ -0,0 +1,11 @@ +# © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt + +- type: entity + parent: BaseTraitorStealObjective + id: EtchedBrassKnucklesStealObjective + components: + - type: NotJobRequirement + job: Quartermaster + - type: StealCondition + stealGroup: EtchedBrassKnuckles + owner: job-name-qm diff --git a/Resources/Prototypes/SS220/tags.yml b/Resources/Prototypes/SS220/tags.yml index 3ae51d4e690e18..e4bb91bcc6ef34 100644 --- a/Resources/Prototypes/SS220/tags.yml +++ b/Resources/Prototypes/SS220/tags.yml @@ -86,4 +86,8 @@ id: PowerCellHigh - type: Tag - id: WeaponFlareGun \ No newline at end of file + id: WeaponFlareGun + +# New Qm highrisk +- type: Tag + id: EtchedBrassKnuckles diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/base.png b/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..2d2606c115910f6ddc7367e31cee5d01e8251795 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6-RJY5_^BHWWDSQjUV^fUz;TxbyVdd%|fR?z>2K9dffTYa8mmj4uH6FHmY zA3P;&`T?dJzwokZE|NLGvh*X5aH-`jgG>ST4XY?#)d!EW>C z^nnlW&gZMAG^C(C}|6lL=kKZJU&rF2H!H#8P z;Y9<}*XLc046=09Gwd8$m(LdYH@hXm$lybyVZ@Cqj;@8x!tS#qBtR literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/brassknukles.png b/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/brassknukles.png new file mode 100644 index 0000000000000000000000000000000000000000..639254ff4ccc6c0f4c2438bc0f96ff7e13a22067 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6kiU|n}3_;}v*^`6!lvI6%a%kmfikFYyAF=oAui34lbzcJ%=QMD7J!YMhbcj#Ex$~&P z*MPMwjDdU$R28ha&TI+2v%rbv;L6qIWrEVIEV2pmw>F+Xa{t+f+3N2XD77?p^avcD z+3TLeziwSY6W2o)7gt8jY0V6puR6IHH72Jx_;7%n$K`fVLxPo=M?!*Ob8FnTH-Eku j0e!)j8sVAd>&u`8WOD#92wV!D45B<;{an^LB{Ts5LVssc literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/icon.png b/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aa63a62dee73e836ce63d2f975c8457b1f908c1e GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6CVJzX3_BHWWDSQjUV^fUz;aJe1qVDAZ#QvdMr9ovw4 zTCC}raEO4+)Nl7)Lnk%*hRtkbJ@KFUNXv`({`W?2cK)4{_;yny%h~j%OBIb>tF4(& ze`e>AZ(tL4ZoVSS-BHBgak1ULUh+oAl1?KLu8uyY-!mjO9Q@xfL!h?cq|lK-QC*q*EPH1omr_yzOr>eDAACZ`E7tWs-ZTgm=f znTcWR19r7vhj{wy3yfp_o;mp8gSGi#S0)n=Sr1zedBcVTfw_4>Kk|i=P98Xrel#I5 zm|gTJub)h2Qo@gto`+{{31UI!pl=Tzsh!o@u_m Z3|c@o2M~k6rQpdR%G1@)Wt~$(697t!lJEck literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/locked.png b/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/locked.png new file mode 100644 index 0000000000000000000000000000000000000000..8768a906e462d3e7f5f8d8f707442a47a03f1a2d GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6<$o-U3d5$9`w$p=mo2c-@AH(&61PEy%Bt*qa) zXo~53mZ^n*l|6sS`b?{0Wy&(wwg(!)mm1-j=IhI#1!QvoF$i1=o(!TqUHx3vIVCg! E04S<0bpQYW literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/meta.json b/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/meta.json new file mode 100644 index 00000000000000..951196bbfb71c2 --- /dev/null +++ b/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt", + "copyright": "Made by okroshka59 (Discord) for SS220, modified by Bomjojuk (Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "base" + }, + { + "name": "open" + }, + { + "name": "closed" + }, + { + "name": "locked" + }, + { + "name": "unlocked" + }, + { + "name": "brassknukles" + } + ] +} diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/open.png b/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/open.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e4e0702a2853145ce1714e8ab4e07439983c72 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;AJzX3_BHWWDSebbx7Ml1a$luz??;*+Xk#z$D=Yt2YxYRX-)fG-L7VYxt z^2w3uUf{&i*wG_!cxJDAPG=#5@Dw=%2LqNz)@G)+W}dG8dFwT&Ln}v9aQOQ-QG37s zn%yc|_ccIqPJ;&f5|a+rA}Bp5C%*X8+sR}|y{zSIcM cG+$o^Eg+i%h(X{|@MI9>>FVdQ&MBb@0RAmtO8@`> literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/unlocked.png b/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/unlocked.png new file mode 100644 index 0000000000000000000000000000000000000000..93b8c108c62fe84deefe7670165460f4b8471448 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6<0o-U3d5$O zum85eCcS2!;Qj9+liz1w{Iu=P-r8SsuWM)5cy7F``APQoqOE^^-rFsw>RM*HKI7c1 z-(1qkCbP0l+XkKq26I% literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/icon.png b/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4684d65499e8552742dff70fb29655dfc75fbd95 GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFv@wlIEF-Uz76r@J7mD~M!JIW z{;TpIOzCk)*0$f9SmE^E?Qxn?@=UYXJPA%q$$r~&Dp}W`>dShtUurB#XlDMjuiK|N zL#Em>vn4m~6@vd$@?2>=+KnJ54N literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-left.png b/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..8b89ab1a58655e7b65f775535ad7c409cf39a821 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=dpunnLn;{G-rC69V!*>1;FhR+ zZKtTjYb!3b9fB`vy(UgNWhnF^LrL-H@k-6dnV$p|92yuHnOHak;0zDW8vEiUOnzOf zi~P5p{@a(_{bQ}OLX_X>)1@VarTJFhRIgU7mhY_8bpG~X@6A9<+w)%NM!?MiF&d+} z?quaH@Y-R&aKBjc6&t6ktW%$FlWe+vuWsi$UYN!HqCc1)uJLNz_`Pux&>wuM5uRzj az6@GGHU|)cz@^~HAj;F#&t;ucLK6UgD^{TZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-right.png b/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2dfed123130ff911d902e904942a61eb389f8a1f GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=XFOdTLn;{G-rC69Y#_iI;C3=9 zQe8V`O^N0V1?46CPk7`BoLwl~x759v=f|JFKI!`1-3*LOEF1y~4h?X|frSTN7j_>O zum85eCcS2!;Qj9+liz1w{Iu=P-r8SsuWM)5cy7F``APQoqOE^^-rFsw>RM*HKI7c1 z-(1qkCbP0l+XkKq26I% literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/meta.json b/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/meta.json new file mode 100644 index 00000000000000..776963ab612a4c --- /dev/null +++ b/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220club/Paradise-SS220/blob/master/icons/obj/weapons/knuckleduster.dmi, modifided by okroshka59 (Discord) for SS220", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HAND", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} From fe0a1b8e12860dea42bc12ac3e5ae1cdecedecf3 Mon Sep 17 00:00:00 2001 From: Maxon Date: Mon, 12 Aug 2024 04:40:11 +0000 Subject: [PATCH 13/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 42df8cb4782bec..c5170cd80faf88 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4677,3 +4677,19 @@ id: 370 time: '2024-08-10T09:25:50.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1560 +- author: kirus59, okroshka1984, Bomjojuk + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D \u043D\u043E\u0432\u044B\ + \u0439 \u0445\u0430\u0439\u0440\u0438\u0441\u043A \u0434\u043B\u044F \u041A\u0432\ + \u0430\u0440\u0442\u0438\u0440\u043C\u0435\u0439\u0441\u0442\u0435\u0440\u0430\ + \ - \u0433\u0440\u0430\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\ + \u0439 \u043A\u0430\u0441\u0442\u0435\u0442!" + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0446\u0435\u043B\ + \u044C \u043D\u0430 \u043A\u0440\u0430\u0436\u0443 \u043A\u0430\u0441\u0442\u0435\ + \u0442\u0430 \u0434\u043B\u044F \u0442\u0440\u0435\u0439\u0442\u043E\u0440\u043E\ + \u0432." + type: Add + id: 371 + time: '2024-08-12T04:39:07.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1415 From 3eb289bd69149908a0b613bad98ae9811f9bb8c0 Mon Sep 17 00:00:00 2001 From: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:09:56 +0300 Subject: [PATCH 14/26] FIX security uniform error fix (#1569) --- .../Entities/Clothing/Uniforms/jumpsuits.yml | 80 ++++++++++--------- 1 file changed, 42 insertions(+), 38 deletions(-) diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml index 21fd0e645056bc..7ad56dbd779acf 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml @@ -342,19 +342,20 @@ sprite: Clothing/Uniforms/Jumpsuit/hos.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpsuit/hos.rsi - - type: Item - inhandVisuals: - left: - - state: inhand-left - color: "#C12D30" - sprite: Clothing/Uniforms/Jumpsuit/color.rsi - - state: overlay-inhand-left - right: - - state: inhand-right - color: "#C12D30" - sprite: Clothing/Uniforms/Jumpsuit/color.rsi - - state: overlay-inhand-right - + # ss220 error fix start + #- type: Item + # inhandVisuals: + # left: + # - state: inhand-left + # color: "#C12D30" + # sprite: Clothing/Uniforms/Jumpsuit/color.rsi + # - state: overlay-inhand-left + # right: + # - state: inhand-right + # color: "#C12D30" + # sprite: Clothing/Uniforms/Jumpsuit/color.rsi + # - state: overlay-inhand-right + # ss220 error fix end - type: entity parent: ClothingUniformBase id: ClothingUniformJumpsuitHoSAlt @@ -609,18 +610,20 @@ sprite: Clothing/Uniforms/Jumpsuit/security.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpsuit/security.rsi - - type: Item - inhandVisuals: - left: - - state: inhand-left - color: "#C12D30" - sprite: Clothing/Uniforms/Jumpsuit/color.rsi - - state: overlay-inhand-left - right: - - state: inhand-right - color: "#C12D30" - sprite: Clothing/Uniforms/Jumpsuit/color.rsi - - state: overlay-inhand-right + # ss220 error fix start + #- type: Item + # inhandVisuals: + # left: + # - state: inhand-left + # color: "#C12D30" + # sprite: Clothing/Uniforms/Jumpsuit/color.rsi + # - state: overlay-inhand-left + # right: + # - state: inhand-right + # color: "#C12D30" + # sprite: Clothing/Uniforms/Jumpsuit/color.rsi + # - state: overlay-inhand-right + # ss220 error fix end - type: entity parent: ClothingUniformBase @@ -654,19 +657,20 @@ sprite: Clothing/Uniforms/Jumpsuit/warden.rsi - type: Clothing sprite: Clothing/Uniforms/Jumpsuit/warden.rsi - - type: Item - inhandVisuals: - left: - - state: inhand-left - color: "#C12D30" - sprite: Clothing/Uniforms/Jumpsuit/color.rsi - - state: overlay-inhand-left - right: - - state: inhand-right - color: "#C12D30" - sprite: Clothing/Uniforms/Jumpsuit/color.rsi - - state: overlay-inhand-right - + # ss220 error fix start + #- type: Item + # inhandVisuals: + # left: + # - state: inhand-left + # color: "#C12D30" + # sprite: Clothing/Uniforms/Jumpsuit/color.rsi + # - state: overlay-inhand-left + # right: + # - state: inhand-right + # color: "#C12D30" + # sprite: Clothing/Uniforms/Jumpsuit/color.rsi + # - state: overlay-inhand-right + # ss220 error fix end - type: entity parent: ClothingUniformBase id: ClothingUniformOveralls From a4cd085a2b77204a479961c8abf8d58465b44ad0 Mon Sep 17 00:00:00 2001 From: Maxon Date: Mon, 12 Aug 2024 14:11:01 +0000 Subject: [PATCH 15/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index c5170cd80faf88..a1df6e937c0d29 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4693,3 +4693,13 @@ id: 371 time: '2024-08-12T04:39:07.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1415 +- author: ReeZii + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043E\u0442\ + \u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u043A\u043E\ + \u0442\u043E\u0440\u044B\u0445 \u043A\u043E\u043C\u0431\u0438\u043D\u0435\u0437\ + \u043E\u043D\u043E\u0432 \u0432 \u0440\u0443\u043A\u0430\u0445" + type: Fix + id: 372 + time: '2024-08-12T14:09:56.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1569 From 679f24f849fc281f154821d63931d6d78228d83e Mon Sep 17 00:00:00 2001 From: Kirus59 <145689588+Kirus59@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:12:38 +0300 Subject: [PATCH 16/26] GiftsGamma event fix (#1573) * GiftsGamma event fix * CargoGifts events color fix --- .../Components/StationEventComponent.cs | 8 ++++++ .../StationEvents/EventManagerSystem.cs | 5 ++++ .../Prototypes/GameRules/cargo_gifts.yml | 26 +++++++++++-------- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/Content.Server/StationEvents/Components/StationEventComponent.cs b/Content.Server/StationEvents/Components/StationEventComponent.cs index a188d5c052c994..efbde8fa0b348b 100644 --- a/Content.Server/StationEvents/Components/StationEventComponent.cs +++ b/Content.Server/StationEvents/Components/StationEventComponent.cs @@ -87,4 +87,12 @@ public sealed partial class StationEventComponent : Component /// [DataField] public bool OccursDuringRoundEnd = true; + + //SS220 GiftsGamma event fix begin + /// + /// If true, the event isn't triggered randomly in round + /// + [DataField] + public bool CannotStartRandomly = false; + //SS220 GiftsGamma event fix end } diff --git a/Content.Server/StationEvents/EventManagerSystem.cs b/Content.Server/StationEvents/EventManagerSystem.cs index 17677944b3a9b8..88acc49a801771 100644 --- a/Content.Server/StationEvents/EventManagerSystem.cs +++ b/Content.Server/StationEvents/EventManagerSystem.cs @@ -180,6 +180,11 @@ private bool CanRun(EntityPrototype prototype, StationEventComponent stationEven if (GameTicker.IsGameRuleActive(prototype.ID)) return false; + //SS220 GiftsGamma event fix begin + if (stationEvent.CannotStartRandomly) + return false; + //SS220 GiftsGamma event fix end + if (stationEvent.MaxOccurrences.HasValue && GetOccurrences(prototype) >= stationEvent.MaxOccurrences.Value) { return false; diff --git a/Resources/Prototypes/GameRules/cargo_gifts.yml b/Resources/Prototypes/GameRules/cargo_gifts.yml index c5b766ebc2dea4..5f567e13ffbf03 100644 --- a/Resources/Prototypes/GameRules/cargo_gifts.yml +++ b/Resources/Prototypes/GameRules/cargo_gifts.yml @@ -8,7 +8,7 @@ min: 10 max: 10 - type: StationEvent - startColor: "#18abf5" + startAnnouncementColor: "#18abf5" #SS220 CargoGifts events color fix startAudio: path: /Audio/Announcements/announce.ogg - type: CargoGiftsRule @@ -198,16 +198,20 @@ #ss220-gamma - type: entity id: GiftsGamma - parent: BaseGameRule + parent: CargoGiftsBase #SS220 GiftsGamma event fix categories: [ GameRules ] components: - - type: CargoGiftsRule - description: cargo-gift-dest-gamma - sender: cargo-gift-default-sender - dest: cargo-gift-dest-all - gifts: - SecurityArmor: 2 - SecurityHelmet: 2 - ArmorySmg: 3 - ArmoryShotgun: 3 + #SS220 GiftsGamma event fix begin + - type: StationEvent + cannotStartRandomly: true + #SS220 GiftsGamma event fix end + - type: CargoGiftsRule + description: cargo-gift-dest-gamma + sender: cargo-gift-default-sender + dest: cargo-gift-dest-all + gifts: + SecurityArmor: 2 + SecurityHelmet: 2 + ArmorySmg: 3 + ArmoryShotgun: 3 #ss220-gammaend From f07e7d61b10474d9b0cb8ede601cba0f8595e71b Mon Sep 17 00:00:00 2001 From: EstKemran <157578255+EstKemran@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:13:16 +0300 Subject: [PATCH 17/26] Walls-Sprite-Update-V2 (#1574) --- .../Entities/Structures/Walls/walls.yml | 8 +-- .../cobblebrick_basalt.rsi/cobblebrick0.png | Bin 0 -> 1940 bytes .../cobblebrick_basalt.rsi/cobblebrick1.png | Bin 0 -> 1612 bytes .../cobblebrick_basalt.rsi/cobblebrick2.png | Bin 0 -> 1940 bytes .../cobblebrick_basalt.rsi/cobblebrick3.png | Bin 0 -> 1612 bytes .../cobblebrick_basalt.rsi/cobblebrick4.png | Bin 0 -> 1668 bytes .../cobblebrick_basalt.rsi/cobblebrick5.png | Bin 0 -> 1579 bytes .../cobblebrick_basalt.rsi/cobblebrick6.png | Bin 0 -> 1668 bytes .../cobblebrick_basalt.rsi/cobblebrick7.png | Bin 0 -> 214 bytes .../Walls/cobblebrick_basalt.rsi/full.png | Bin 0 -> 1503 bytes .../Walls/cobblebrick_basalt.rsi/meta.json | 46 ++++++++++++++++++ .../cobblebrick_sand.rsi/cobblebrick0.png | Bin 0 -> 2339 bytes .../cobblebrick_sand.rsi/cobblebrick1.png | Bin 0 -> 1707 bytes .../cobblebrick_sand.rsi/cobblebrick2.png | Bin 0 -> 2339 bytes .../cobblebrick_sand.rsi/cobblebrick3.png | Bin 0 -> 1707 bytes .../cobblebrick_sand.rsi/cobblebrick4.png | Bin 0 -> 1973 bytes .../cobblebrick_sand.rsi/cobblebrick5.png | Bin 0 -> 1611 bytes .../cobblebrick_sand.rsi/cobblebrick6.png | Bin 0 -> 1973 bytes .../cobblebrick_sand.rsi/cobblebrick7.png | Bin 0 -> 214 bytes .../Walls/cobblebrick_sand.rsi/full.png | Bin 0 -> 1918 bytes .../Walls/cobblebrick_sand.rsi/meta.json | 46 ++++++++++++++++++ 21 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick0.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick1.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick2.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick3.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick4.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick5.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick6.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick7.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/full.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/cobblebrick0.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/cobblebrick1.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/cobblebrick2.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/cobblebrick3.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/cobblebrick4.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/cobblebrick5.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/cobblebrick6.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/cobblebrick7.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/full.png create mode 100644 Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/meta.json diff --git a/Resources/Prototypes/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/Entities/Structures/Walls/walls.yml index dd94580434f8d8..cb3f4d10803c85 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/walls.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/walls.yml @@ -1275,9 +1275,9 @@ name: basalt brick wall components: - type: Sprite - sprite: Structures/Walls/cobblebrick_basalt.rsi + sprite: SS220/Structures/Walls/cobblebrick_basalt.rsi #SS220-Walls-Sprite-Update-V2 - type: Icon - sprite: Structures/Walls/cobblebrick_basalt.rsi + sprite: SS220/Structures/Walls/cobblebrick_basalt.rsi #SS220-Walls-Sprite-Update-V2 - type: IconSmooth key: cobblebricks base: cobblebrick @@ -1315,9 +1315,9 @@ name: sandstone brick wall components: - type: Sprite - sprite: Structures/Walls/cobblebrick_sand.rsi + sprite: SS220/Structures/Walls/cobblebrick_sand.rsi #SS220-Walls-Sprite-Update-V2 - type: Icon - sprite: Structures/Walls/cobblebrick_sand.rsi + sprite: SS220/Structures/Walls/cobblebrick_sand.rsi #SS220-Walls-Sprite-Update-V2 - type: IconSmooth key: cobblebricks base: cobblebrick diff --git a/Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick0.png b/Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick0.png new file mode 100644 index 0000000000000000000000000000000000000000..708699e05677ef986f205f51202165ad49288958 GIT binary patch literal 1940 zcmV;F2W$9=P)_cnPG-=a5^x4On+CFQa8k?HbC}=C9fc2q@A|Nb3%OaqQfGGd4EWO{r zT<>0i80R)S?w7#KotFd_e z*!YAtHa;<~^;42l*frX4BtkZ;Rl7C=F(-hdFyF)4!Qo*Fhr`-9`Z-xytpE7w7;E{p z8IXnmptpa3O1EvL+PeCv@zCHSDk|JSp`l^2DGIxGI-N8*IVrrRGz8%0fh|Qoawa9w z<%S0Bvs8zZh8~YHYjCOr%r8W=Rus|@;K_AqB=`dX_36$~vLlh4j%13cj$(Q)Om>@< z_2*`$DWW)7D+*}{;JDk?9(C<-D6~d(c=tntl>S;eO{)>ZSGbAb`sc!P!s|&x0G>Xq zU^#5^7Es^d5M^g%kQy}D%?Aets313&?zXfFtt$-yiju@gsMuA`d_a3=K>Mt*rG-BE z@Bk@^iL@{uj{4rYOMeNiD+K{lvr9K+O`ua}{veCRLdNW7^TtBz4ffI-WxMFiucu90 zTM7akb{nlvPiIdb=nC}EjoVF>h$n8fsXta~4-8PCr;m=GIArSDQV_sVTi>9O@aWMH zivpEp<+S(RO0uZd;jo73ocdYlVV`MhNlZ#)O!(E9*5!DE#bbng5G)7O@Q09Zh>b8&NnOt7lv3JZ67_&d93TS*C3*VLK1 zwiE=g1ZR42OKePpICvB=8)guoJ*=#3H+}Qv=j2g$c0c}flBKP9x)W1#ax64J1 zcbeE-#QiZf-ED1cj*579nwt%OzLWi~`{xGz9}p%0H*EyWbveMiIRPNXu9&l@7lAMV zc;ZIDT&r}~c*L8%-YD~i*~0>24PgR2O9vTxAZaNrE~cAH=4^Cm$ocPe_~XL@>aJd; z#^x3(Eh*NlMn*=cTMbWvV354|`K(RL%w}WhsZQz$bkn371sZNPQvJWTNHz!) zFfkpb=JrLe&)YOzAAk=i-(E_E-U2%P+Zh%DfwAyB#Tvo{>?zy9T4ZU!*{Vx)VBdS% z=RB^nW3HJQ?dXe>5Nik%;Pd%d*hB0`3-HK*F?`PF`Tc(FWddC)L+aT zAX<(SCx50_0m20E2!OVGDOX1Xz%@uQ&aJ(EBfee%e$zY(@G*T<(9h)upKoeAo3=n?>-g^7FvCOR87y52nYZJv9!UQ}S9eL^R=D6J04pS^4OhB-w zi(VFXd+Z&dFadU3f>y8B*X?;NejH6gDtxy3vew6D zXTQx!QxO|gRiCGb8V2X*!<3nsq0Ra9;72SJ#*GE&YxSrSy}rRso_rUDiZ)S4PY(rp zAIA5g=t{sr=+p6Wa_6{M6yS%Vc=|jGjEh6jm4Mi=wWuhnFrrU{;>HK81c(~8_sMdAK)$0#DAeD_s!_zo#MhRB zfYqe3Pt;I(yS0@l!LErh%!CvKa36ruIra(wq_VyZ`SdUpV%N|dT)t+mMi7vK0KHOF zFO}^I_G@#XIe-?yY)CE|jhX|1=Mn*dx&$Bv0Y)4>a#+(Ea;<@0 za{%y2APOl7;MxL|)0xLt9U!20f@VYjKneoj19&3Tt(w14bvCL-0^B^XobEsbQV_tw zH%VM`z$JJ3F}?19>k&jC4FN_ifgXCzfqw34-+56;K|pSSPyJba&PtktS3U|rBOszN a5XFCW?SHR1MDl zu}mbBM3=VZ0CxfqIHCI5TCtr-Br@t$_Uy$=Qc87M!JUA^!$Z(&v=CX}0He_e(P%VB z2W9Oo=OMDW1-jDGSL*&(a3=u&!zPmv$_+-+K1wBXbWpbWY=`I?1p-iqmaO1Tz?)T7 zq)evLw$M~+$k9RBK|BG)IxVTkV+W8F^srkZi1ka|SD?$@l=J=VyMHi^&z%7G@`_k5)$76S z@rvz0a24#fW>Q}ZuY*CG0J*`PfLqStSIXyH%VK?cM*i`+6A%dpxsK1B0N!{_0Q}GK zngAL822(x{08IHjE0_tWt+OzFf9AcwH(!03)AwX02ydTH6Ei(Gmm#~@*_qM)`rGe- zCzuInvgU@T`$?V9Zx-c?ODDn1K|Bs^tu3GyFcUET-~mj{%|mx*huAmy)D4a=J|{8? z)S++=rAz5IyueI=bn;j~S6)u)(#a!Ghmt_`SA2fp4Q2wix3|eeJU$=TtX5K1)YRpj z93@8$6Q^J%VDBIyCM>k9fXpOD&0r>=_x*QBNv->>J9pvZfsaIaJ}*G~RstdLc=-~= zOn}4TAXXhMJ+)OWt56fKHlv0oo_^3fZ~{lCnMVhS#1Zg@VkbgV^YhRt!~kxOhqP-d-vEo*3{%rHuovAW*IX|PnSgx2n;sxGefBN=_v4Wbcz>Rv2N8-RBLcr1R$`8y<&NjN%6Kut}xDF5u! zPhj-nMB%Ogyb!@Vfk?ZZgu)(w7^3@en0Pb=5C5J7wL!5hfR_Ko?k-sB%_JANdbt}~ zY|Z4qPouzs4u#S8V;pe*&k3;)A3@PTs96}lI| zKo+HRrhJPy@9~V*`V~UprfNRRc0t5PiB#v?u%Uz z428h8AHG+7iFz0fSlV-mH z&+Ak}03MK_C&>Qgn9@)M0T>D!%g&K~KRG)u{(cbQ4F(lWhW-JKj*i-7252P!0000< KMNUMnLSTZUbl%GV literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick2.png b/Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick2.png new file mode 100644 index 0000000000000000000000000000000000000000..708699e05677ef986f205f51202165ad49288958 GIT binary patch literal 1940 zcmV;F2W$9=P)_cnPG-=a5^x4On+CFQa8k?HbC}=C9fc2q@A|Nb3%OaqQfGGd4EWO{r zT<>0i80R)S?w7#KotFd_e z*!YAtHa;<~^;42l*frX4BtkZ;Rl7C=F(-hdFyF)4!Qo*Fhr`-9`Z-xytpE7w7;E{p z8IXnmptpa3O1EvL+PeCv@zCHSDk|JSp`l^2DGIxGI-N8*IVrrRGz8%0fh|Qoawa9w z<%S0Bvs8zZh8~YHYjCOr%r8W=Rus|@;K_AqB=`dX_36$~vLlh4j%13cj$(Q)Om>@< z_2*`$DWW)7D+*}{;JDk?9(C<-D6~d(c=tntl>S;eO{)>ZSGbAb`sc!P!s|&x0G>Xq zU^#5^7Es^d5M^g%kQy}D%?Aets313&?zXfFtt$-yiju@gsMuA`d_a3=K>Mt*rG-BE z@Bk@^iL@{uj{4rYOMeNiD+K{lvr9K+O`ua}{veCRLdNW7^TtBz4ffI-WxMFiucu90 zTM7akb{nlvPiIdb=nC}EjoVF>h$n8fsXta~4-8PCr;m=GIArSDQV_sVTi>9O@aWMH zivpEp<+S(RO0uZd;jo73ocdYlVV`MhNlZ#)O!(E9*5!DE#bbng5G)7O@Q09Zh>b8&NnOt7lv3JZ67_&d93TS*C3*VLK1 zwiE=g1ZR42OKePpICvB=8)guoJ*=#3H+}Qv=j2g$c0c}flBKP9x)W1#ax64J1 zcbeE-#QiZf-ED1cj*579nwt%OzLWi~`{xGz9}p%0H*EyWbveMiIRPNXu9&l@7lAMV zc;ZIDT&r}~c*L8%-YD~i*~0>24PgR2O9vTxAZaNrE~cAH=4^Cm$ocPe_~XL@>aJd; z#^x3(Eh*NlMn*=cTMbWvV354|`K(RL%w}WhsZQz$bkn371sZNPQvJWTNHz!) zFfkpb=JrLe&)YOzAAk=i-(E_E-U2%P+Zh%DfwAyB#Tvo{>?zy9T4ZU!*{Vx)VBdS% z=RB^nW3HJQ?dXe>5Nik%;Pd%d*hB0`3-HK*F?`PF`Tc(FWddC)L+aT zAX<(SCx50_0m20E2!OVGDOX1Xz%@uQ&aJ(EBfee%e$zY(@G*T<(9h)upKoeAo3=n?>-g^7FvCOR87y52nYZJv9!UQ}S9eL^R=D6J04pS^4OhB-w zi(VFXd+Z&dFadU3f>y8B*X?;NejH6gDtxy3vew6D zXTQx!QxO|gRiCGb8V2X*!<3nsq0Ra9;72SJ#*GE&YxSrSy}rRso_rUDiZ)S4PY(rp zAIA5g=t{sr=+p6Wa_6{M6yS%Vc=|jGjEh6jm4Mi=wWuhnFrrU{;>HK81c(~8_sMdAK)$0#DAeD_s!_zo#MhRB zfYqe3Pt;I(yS0@l!LErh%!CvKa36ruIra(wq_VyZ`SdUpV%N|dT)t+mMi7vK0KHOF zFO}^I_G@#XIe-?yY)CE|jhX|1=Mn*dx&$Bv0Y)4>a#+(Ea;<@0 za{%y2APOl7;MxL|)0xLt9U!20f@VYjKneoj19&3Tt(w14bvCL-0^B^XobEsbQV_tw zH%VM`z$JJ3F}?19>k&jC4FN_ifgXCzfqw34-+56;K|pSSPyJba&PtktS3U|rBOszN a5XFCW?SHR1MDl zu}mbBM3=VZ0CxfqIHCI5TCtr-Br@t$_Uy$=Qc87M!JUA^!$Z(&v=CX}0He_e(P%VB z2W9Oo=OMDW1-jDGSL*&(a3=u&!zPmv$_+-+K1wBXbWpbWY=`I?1p-iqmaO1Tz?)T7 zq)evLw$M~+$k9RBK|BG)IxVTkV+W8F^srkZi1ka|SD?$@l=J=VyMHi^&z%7G@`_k5)$76S z@rvz0a24#fW>Q}ZuY*CG0J*`PfLqStSIXyH%VK?cM*i`+6A%dpxsK1B0N!{_0Q}GK zngAL822(x{08IHjE0_tWt+OzFf9AcwH(!03)AwX02ydTH6Ei(Gmm#~@*_qM)`rGe- zCzuInvgU@T`$?V9Zx-c?ODDn1K|Bs^tu3GyFcUET-~mj{%|mx*huAmy)D4a=J|{8? z)S++=rAz5IyueI=bn;j~S6)u)(#a!Ghmt_`SA2fp4Q2wix3|eeJU$=TtX5K1)YRpj z93@8$6Q^J%VDBIyCM>k9fXpOD&0r>=_x*QBNv->>J9pvZfsaIaJ}*G~RstdLc=-~= zOn}4TAXXhMJ+)OWt56fKHlv0oo_^3fZ~{lCnMVhS#1Zg@VkbgV^YhRt!~kxOhqP-d-vEo*3{%rHuovAW*IX|PnSgx2n;sxGefBN=_v4Wbcz>Rv2N8-RBLcr1R$`8y<&NjN%6Kut}xDF5u! zPhj-nMB%Ogyb!@Vfk?ZZgu)(w7^3@en0Pb=5C5J7wL!5hfR_Ko?k-sB%_JANdbt}~ zY|Z4qPouzs4u#S8V;pe*&k3;)A3@PTs96}lI| zKo+HRrhJPy@9~V*`V~UprfNRRc0t5PiB#v?u%Uz z428h8AHG+7iFz0fSlV-mH z&+Ak}03MK_C&>Qgn9@)M0T>D!%g&K~KRG)u{(cbQ4F(lWhW-JKj*i-7252P!0000< KMNUMnLSTZUbl%GV literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick4.png b/Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/cobblebrick4.png new file mode 100644 index 0000000000000000000000000000000000000000..766c3f90bf28769b4861334b4fabe6d959a5b225 GIT binary patch literal 1668 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 MUHx3vIVCg!07#ufxc~qF literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/full.png b/Resources/Textures/SS220/Structures/Walls/cobblebrick_basalt.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..db004a5bc205264a5683629196a3f804c23f997c GIT binary patch literal 1503 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 MUHx3vIVCg!07#ufxc~qF literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/full.png b/Resources/Textures/SS220/Structures/Walls/cobblebrick_sand.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..f651b1171c4cbc87d3302808c20e02d777f0f92e GIT binary patch literal 1918 zcmV-^2Z8vBP)t+cN_56V*$>4Sr_o@%L=pidAc%^>rW5VDt?k-%8(X(_m)7?^ z?fLq(EHUU0pJhE?&pF?DpZ9ss`<_$7;>A}M^Z7jf513457>Y&U-ex z8GBBRz#tb`+v>%+p>d>XA-9_r7|O%#GQ;ULit$X@n8&4vHkHZ2N8_nXsehSA!Epa1 z*4*F|B-pq!WD#TBc6E)3K6AQ=spKp=q6xsLlnA&3HVh@QSiT~Nt}}yh`V~Y%HWWyY zcMisdE-QUDc!*ev2)d{ZdM!e&fX6~)bK-eFd3zUmyXHDSpf3tS3`vY(Ht3P;A5)bR z1lV}XiU4d)^KgZZ#CIA{q}Ytb#!#o%iGVaW+Q8u|wM7i3@+zUFOWjB%ayUgqKKM3` z8^aDYmIiwLhTCt!=%0N^b;mIf9}@kyH961`pROp-b0UEyM1V1s%!&4`&tov^^kS{> zCG&(5zn@IO<+H$HoPphJM0jNb93eZb%6S;h3=`KPni}mC^GU2;vk>2Y_yZ>UQ?NF= z;mBs;%H=RPFkY>IlNg8BMv(0tL0e}J#;2#Sbx8;hULC@OxqyAg5-`@)!PZ=lMRf*2 zB+%R-LS&EB3xyPu2?kQ@HtP4yZ-CLDuiEjf8cR47&x-E{ddDhz;FZqb)rmU#bDPa* zKOM)mWld<9HDSxD0M5t9QCFu!Ju6YHWDA3dM}JD;o>f8Nj8Jn^D-fF%<8AHV;l3?b z(>q1DNbOX-MuBacE)((RgR z&pJ-x{R6!h5D1WB>^U2iVB;@R{KJX`)5U^Hq!u-s(5V(6cDugW4STZ(f9*ev`FE|y zt(%wQtrtGQTsXAvv}il-Su5TdkEX@Fa_MmM*Bqy zJA)1+W291|fR0{GAu1Uk5t~uZ8VDJ5XtY?+cCr`G&iBCF=)=X}p$FE}J6=roCDC`d z2WBc{nSt|S6Q(H>s_MXwm%kS;ZKO1-Bk6z$#Q{sAmB)5`L5S4Uq=eLLL~*7VLcNChUFV2=MD5F11;4(I65d zy+fFonuf)#AWeo{{>nNAt#O7sU`Om&42sQ0IUj;T(zBeey?z+~2Aum1q=0cUhkQN< z4;fFDy=P|)I$dQl4|4qHg-UsBqRnUx2k~E^G8vnbhDsoln1Cl}!!Xrp>!lW) zk7eK_1$I5xSx%`+8V(&jL%Cj&vet8+?_RSAI1xqLo8MuIN^q_)i#)Y_fXUMT#NN{- z0?cS*Q$3N$!XM#dSBLQW7K)!&EXu~Y8U{C9u6oCis?-wTIsE?;6{071eE|=hl(Gs- z<3DwFRTSWZBm=qwBnza#7%9N=>yaBssUEZO_@QpRLS8Yr%FR`rnAG;&UyA2vZeNDy z?^urhu72$Ou^&(0y%?5o0~tRn_8j7xJK=(`7q1@gfr-v^rFR^rLs9i4lpeG3FjYrw zNcfP_g8P{qE5V167RB->-@f?lQ5C3$PW|l5O(J3`T`ZYIxcn@^#$`wxbZ~JS+)x>p z^JS=>+WnO{ia7*)`r^}Ai9iRP^BXAzx2z7r+v0&@wV{3ADb=`?T`nk3It~dNmf&YO zrVWWyYscd^so@c*O+(& Date: Mon, 12 Aug 2024 14:14:20 +0000 Subject: [PATCH 18/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index a1df6e937c0d29..da1228a2a7f479 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4703,3 +4703,14 @@ id: 372 time: '2024-08-12T14:09:56.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1569 +- author: MIXnikita + changes: + - message: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u0441\u043F\u0440\u0430\ + \u0439\u0442\u044B \u0431\u0430\u0437\u0430\u043B\u044C\u0442\u043E\u0432\u043E\ + \u0439 \u0438 \u043F\u0435\u0441\u0447\u0430\u043D\u043D\u0438\u043A\u043E-\u0431\ + \u0443\u043B\u044B\u0436\u043D\u0438\u043A\u043E\u0432\u043E\u0439 \u0441\u0442\ + \u0435\u043D\u044B" + type: Tweak + id: 373 + time: '2024-08-12T14:13:16.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1574 From 5a9b16405f31fcacf09066e25ce289215c42274c Mon Sep 17 00:00:00 2001 From: Kirus59 <145689588+Kirus59@users.noreply.github.com> Date: Tue, 13 Aug 2024 14:36:51 +0300 Subject: [PATCH 19/26] Engraved knukleduster hot fix (#1577) --- Resources/Locale/ru-RU/ss220/misc/case.ftl | 6 +++--- .../{brass_knuckles.ftl => knuckleduster.ftl} | 2 +- .../Catalog/Fills/Lockers/heads.yml | 2 +- .../Prototypes/Objectives/objectiveGroups.yml | 2 +- .../SS220/Entities/Objects/Misc/case.yml | 18 +++++++++--------- .../{brass_knuckles.yml => knuckleduster.yml} | 14 +++++++------- .../SS220/Objectives/stealTargetGroups.yml | 6 +++--- .../Prototypes/SS220/Objectives/traitor.yml | 4 ++-- Resources/Prototypes/SS220/tags.yml | 2 +- .../base.png | Bin .../closed.png | Bin .../icon.png | Bin .../knuckleduster.png} | Bin .../locked.png | Bin .../meta.json | 2 +- .../open.png | Bin .../unlocked.png | Bin .../equipped-HAND.png | Bin .../icon.png | Bin .../inhand-left.png | Bin .../inhand-right.png | Bin .../meta.json | 0 22 files changed, 29 insertions(+), 29 deletions(-) rename Resources/Locale/ru-RU/ss220/weapons/{brass_knuckles.ftl => knuckleduster.ftl} (84%) rename Resources/Prototypes/SS220/Entities/Weapons/Melee/{brass_knuckles.yml => knuckleduster.yml} (66%) rename Resources/Textures/SS220/Misc/{etched_brass_knuckles_case.rsi => engraved_knuckleduster_case.rsi}/base.png (100%) rename Resources/Textures/SS220/Misc/{etched_brass_knuckles_case.rsi => engraved_knuckleduster_case.rsi}/closed.png (100%) rename Resources/Textures/SS220/Misc/{etched_brass_knuckles_case.rsi => engraved_knuckleduster_case.rsi}/icon.png (100%) rename Resources/Textures/SS220/Misc/{etched_brass_knuckles_case.rsi/brassknukles.png => engraved_knuckleduster_case.rsi/knuckleduster.png} (100%) rename Resources/Textures/SS220/Misc/{etched_brass_knuckles_case.rsi => engraved_knuckleduster_case.rsi}/locked.png (100%) rename Resources/Textures/SS220/Misc/{etched_brass_knuckles_case.rsi => engraved_knuckleduster_case.rsi}/meta.json (94%) rename Resources/Textures/SS220/Misc/{etched_brass_knuckles_case.rsi => engraved_knuckleduster_case.rsi}/open.png (100%) rename Resources/Textures/SS220/Misc/{etched_brass_knuckles_case.rsi => engraved_knuckleduster_case.rsi}/unlocked.png (100%) rename Resources/Textures/SS220/Objects/Weapons/Melee/{etched_brass_knuckles.rsi => engraved_knuckleduster.rsi}/equipped-HAND.png (100%) rename Resources/Textures/SS220/Objects/Weapons/Melee/{etched_brass_knuckles.rsi => engraved_knuckleduster.rsi}/icon.png (100%) rename Resources/Textures/SS220/Objects/Weapons/Melee/{etched_brass_knuckles.rsi => engraved_knuckleduster.rsi}/inhand-left.png (100%) rename Resources/Textures/SS220/Objects/Weapons/Melee/{etched_brass_knuckles.rsi => engraved_knuckleduster.rsi}/inhand-right.png (100%) rename Resources/Textures/SS220/Objects/Weapons/Melee/{etched_brass_knuckles.rsi => engraved_knuckleduster.rsi}/meta.json (100%) diff --git a/Resources/Locale/ru-RU/ss220/misc/case.ftl b/Resources/Locale/ru-RU/ss220/misc/case.ftl index cd813ef31fd68a..3fdd6dce473030 100644 --- a/Resources/Locale/ru-RU/ss220/misc/case.ftl +++ b/Resources/Locale/ru-RU/ss220/misc/case.ftl @@ -1,7 +1,7 @@ -ent-GlassCaseEtchedBrassKnuckles = стеклянный кейс +ent-GlassCaseEngravedKnuckleduster = стеклянный кейс .desc = Изготовлен на заказ для хранения ценных предметов. Крышка выполнена из закалённого стекла, а основание из дерева, выращенного на тропических планетах. Коробка украшена бархатной подушкой, чтобы предотвратить возможные царапины. .suffix = Гравированный кастет -ent-GlassCaseEtchedBrassKnucklesFilled = стеклянный кейс - .desc = { ent-GlassCase.desc } +ent-GlassCaseEngravedKnuckledusterFilled = стеклянный кейс + .desc = { ent-GlassCaseEngravedKnuckleduster.desc } .suffix = Гравированный кастет, Заполненый diff --git a/Resources/Locale/ru-RU/ss220/weapons/brass_knuckles.ftl b/Resources/Locale/ru-RU/ss220/weapons/knuckleduster.ftl similarity index 84% rename from Resources/Locale/ru-RU/ss220/weapons/brass_knuckles.ftl rename to Resources/Locale/ru-RU/ss220/weapons/knuckleduster.ftl index 5faf431076acc9..a8888b0e5c5fbb 100644 --- a/Resources/Locale/ru-RU/ss220/weapons/brass_knuckles.ftl +++ b/Resources/Locale/ru-RU/ss220/weapons/knuckleduster.ftl @@ -1,2 +1,2 @@ -ent-EtchedBrassKnuckles = гравированный кастет +ent-EngravedKnuckleduster = гравированный кастет .desc = Гравированный кастет квартирмейстера, изготовленный по специальному заказу. Выдан в качестве средства борьбы с участившимися случаями краж личных вещей и материалов из отдела снабжения. diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index 1287fbfd593e50..40cc309e6db161 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -22,7 +22,7 @@ - id: ClothingHeadsetAltCargo - id: BoxEncryptionKeyCargo - id: ClothingWristWatchGold # SS220 Wrist Watch - - id: GlassCaseEtchedBrassKnucklesFilled # SS220 New Qm highrisk + - id: GlassCaseEngravedKnuckledusterFilled # SS220 New Qm highrisk - type: entity id: LockerCaptainFilledHardsuit diff --git a/Resources/Prototypes/Objectives/objectiveGroups.yml b/Resources/Prototypes/Objectives/objectiveGroups.yml index 086979ecb5e0a6..f173131fd75909 100644 --- a/Resources/Prototypes/Objectives/objectiveGroups.yml +++ b/Resources/Prototypes/Objectives/objectiveGroups.yml @@ -18,7 +18,7 @@ MagbootsStealObjective: 1 CorgiMeatStealObjective: 1 ClipboardStealObjective: 1 - EtchedBrassKnucklesStealObjective: 1 #SS220 New Qm highrisk + EngravedKnuckledusterStealObjective: 1 #SS220 New Qm highrisk CaptainGunStealObjective: 0.5 CaptainJetpackStealObjective: 0.5 HandTeleporterStealObjective: 0.5 diff --git a/Resources/Prototypes/SS220/Entities/Objects/Misc/case.yml b/Resources/Prototypes/SS220/Entities/Objects/Misc/case.yml index 91a4886fbd60c4..c6b948147efcd0 100644 --- a/Resources/Prototypes/SS220/Entities/Objects/Misc/case.yml +++ b/Resources/Prototypes/SS220/Entities/Objects/Misc/case.yml @@ -2,9 +2,9 @@ - type: entity parent: [BaseItem, BaseItemCabinet] - id: GlassCaseEtchedBrassKnuckles + id: GlassCaseEngravedKnuckleduster name: glass case - suffix: Etched brass knuckles + suffix: Engraved knuckleduster description: Made to order for storing valuables. The lid is made of tempered glass, and the base is made of wood grown on tropical planets and decorated with a velvet pad to prevent possible scratches. components: - type: Item @@ -12,11 +12,11 @@ - type: Lock - type: LockVisuals - type: Sprite - sprite: SS220/Misc/etched_brass_knuckles_case.rsi + sprite: SS220/Misc/engraved_knuckleduster_case.rsi layers: - state: base map: ["enum.StorageVisualLayers.Base"] - - state: brassknukles + - state: knuckleduster map: ["enum.ItemCabinetVisuals.Layer"] visible: true - state: closed @@ -31,7 +31,7 @@ ejectOnInteract: true whitelist: tags: - - EtchedBrassKnuckles + - EngravedKnuckleduster ejectSound: /Audio/Machines/machine_switch.ogg - type: GenericVisualizer visuals: @@ -74,14 +74,14 @@ price: 200 - type: entity - parent: GlassCaseEtchedBrassKnuckles - id: GlassCaseEtchedBrassKnucklesFilled + parent: GlassCaseEngravedKnuckleduster + id: GlassCaseEngravedKnuckledusterFilled name: glass case - suffix: Etched brass knuckles, Filled + suffix: Engraved knuckleduster, Filled components: - type: AccessReader access: [["Quartermaster"]] - type: ContainerFill containers: ItemCabinet: - - EtchedBrassKnuckles + - EngravedKnuckleduster diff --git a/Resources/Prototypes/SS220/Entities/Weapons/Melee/brass_knuckles.yml b/Resources/Prototypes/SS220/Entities/Weapons/Melee/knuckleduster.yml similarity index 66% rename from Resources/Prototypes/SS220/Entities/Weapons/Melee/brass_knuckles.yml rename to Resources/Prototypes/SS220/Entities/Weapons/Melee/knuckleduster.yml index f56e2e24f6d8d9..982e80e955ab5b 100644 --- a/Resources/Prototypes/SS220/Entities/Weapons/Melee/brass_knuckles.yml +++ b/Resources/Prototypes/SS220/Entities/Weapons/Melee/knuckleduster.yml @@ -2,16 +2,16 @@ #Quartermaster - type: entity - name: brass knuckles + name: engraved knuckleduster parent: BaseItem - id: EtchedBrassKnuckles - description: кастет + id: EngravedKnuckleduster + description: The quartermaster's engraved knuckleduster, made by special order. It was issued as a means of combating the increased cases of theft of personal belongings and materials from the supply department. components: - type: Sprite - sprite: SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi + sprite: SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi state: icon - type: Clothing - sprite: SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi + sprite: SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi slots: [gloves] - type: Item size: Small @@ -36,8 +36,8 @@ damageSound: /Audio/SS220/Weapons/brassKnukles/critical-hit.ogg - type: Tag tags: - - EtchedBrassKnuckles + - EngravedKnuckleduster - type: StaticPrice price: 1000 - type: StealTarget - stealGroup: EtchedBrassKnuckles + stealGroup: EngravedKnuckleduster diff --git a/Resources/Prototypes/SS220/Objectives/stealTargetGroups.yml b/Resources/Prototypes/SS220/Objectives/stealTargetGroups.yml index 49d5b7616d1362..2c6887b4f2118b 100644 --- a/Resources/Prototypes/SS220/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/SS220/Objectives/stealTargetGroups.yml @@ -6,8 +6,8 @@ state: icon - type: stealTargetGroup - id: EtchedBrassKnuckles - name: engraved brass knuckles + id: EngravedKnuckleduster + name: engraved knuckleduster sprite: - sprite: SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi + sprite: SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi state: icon diff --git a/Resources/Prototypes/SS220/Objectives/traitor.yml b/Resources/Prototypes/SS220/Objectives/traitor.yml index 330f44d2241efa..62fbb5c639d5ea 100644 --- a/Resources/Prototypes/SS220/Objectives/traitor.yml +++ b/Resources/Prototypes/SS220/Objectives/traitor.yml @@ -2,10 +2,10 @@ - type: entity parent: BaseTraitorStealObjective - id: EtchedBrassKnucklesStealObjective + id: EngravedKnuckledusterStealObjective components: - type: NotJobRequirement job: Quartermaster - type: StealCondition - stealGroup: EtchedBrassKnuckles + stealGroup: EngravedKnuckleduster owner: job-name-qm diff --git a/Resources/Prototypes/SS220/tags.yml b/Resources/Prototypes/SS220/tags.yml index e4bb91bcc6ef34..81a0cac86b1f0f 100644 --- a/Resources/Prototypes/SS220/tags.yml +++ b/Resources/Prototypes/SS220/tags.yml @@ -90,4 +90,4 @@ # New Qm highrisk - type: Tag - id: EtchedBrassKnuckles + id: EngravedKnuckleduster diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/base.png b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/base.png similarity index 100% rename from Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/base.png rename to Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/base.png diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/closed.png b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/closed.png similarity index 100% rename from Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/closed.png rename to Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/closed.png diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/icon.png b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/icon.png similarity index 100% rename from Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/icon.png rename to Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/icon.png diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/brassknukles.png b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/knuckleduster.png similarity index 100% rename from Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/brassknukles.png rename to Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/knuckleduster.png diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/locked.png b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/locked.png similarity index 100% rename from Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/locked.png rename to Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/locked.png diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/meta.json b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/meta.json similarity index 94% rename from Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/meta.json rename to Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/meta.json index 951196bbfb71c2..db695e50f3ad69 100644 --- a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/meta.json +++ b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/meta.json @@ -26,7 +26,7 @@ "name": "unlocked" }, { - "name": "brassknukles" + "name": "knuckleduster" } ] } diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/open.png b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/open.png similarity index 100% rename from Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/open.png rename to Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/open.png diff --git a/Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/unlocked.png b/Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/unlocked.png similarity index 100% rename from Resources/Textures/SS220/Misc/etched_brass_knuckles_case.rsi/unlocked.png rename to Resources/Textures/SS220/Misc/engraved_knuckleduster_case.rsi/unlocked.png diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/equipped-HAND.png b/Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/equipped-HAND.png similarity index 100% rename from Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/equipped-HAND.png rename to Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/equipped-HAND.png diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/icon.png b/Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/icon.png similarity index 100% rename from Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/icon.png rename to Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/icon.png diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-left.png b/Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/inhand-left.png similarity index 100% rename from Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-left.png rename to Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/inhand-left.png diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-right.png b/Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/inhand-right.png similarity index 100% rename from Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/inhand-right.png rename to Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/inhand-right.png diff --git a/Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/meta.json b/Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/meta.json similarity index 100% rename from Resources/Textures/SS220/Objects/Weapons/Melee/etched_brass_knuckles.rsi/meta.json rename to Resources/Textures/SS220/Objects/Weapons/Melee/engraved_knuckleduster.rsi/meta.json From b4d15923ba92707854a1df53b5a126f5061b95d3 Mon Sep 17 00:00:00 2001 From: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:57:48 +0300 Subject: [PATCH 20/26] FIX rev spectating (#1576) --- Resources/Prototypes/Entities/Mobs/NPCs/revenant.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/revenant.yml b/Resources/Prototypes/Entities/Mobs/NPCs/revenant.yml index a29d2b3e65c80c..9b9fbed8f585e8 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/revenant.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/revenant.yml @@ -97,3 +97,9 @@ - RevenantTheme - type: Speech speechVerb: Ghost + #ss220 spec fix start + - type: MobState + allowedStates: + - Alive + - Dead + #ss220 spec fix end From 831c9cee3b440498a838529b8a1d94adb52729f3 Mon Sep 17 00:00:00 2001 From: Maxon Date: Tue, 13 Aug 2024 13:58:54 +0000 Subject: [PATCH 21/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index da1228a2a7f479..640af327f2ab97 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4714,3 +4714,13 @@ id: 373 time: '2024-08-12T14:13:16.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1574 +- author: ReeZii + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043D\u0435\ + \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0441\u043B\ + \u0435\u0434\u0438\u0442\u044C \u0437\u0430 \u0440\u0435\u0432\u0435\u043D\u0430\ + \u043D\u0442\u043E\u043C" + type: Fix + id: 374 + time: '2024-08-13T13:57:48.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1576 From 0616261d0e8772491ac4f5a020675afe0362020f Mon Sep 17 00:00:00 2001 From: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Date: Wed, 14 Aug 2024 00:50:46 +0300 Subject: [PATCH 22/26] ADD traitor codewords highlight (#1582) --- .../Systems/Chat/Widgets/ChatBox.xaml.cs | 16 ++++++++++++++++ .../GameTicking/Rules/TraitorRuleSystem.cs | 8 ++++++++ .../ShowCodewords/ShowCodewordsComponent.cs | 11 +++++++++++ 3 files changed, 35 insertions(+) create mode 100644 Content.Shared/SS220/ShowCodewords/ShowCodewordsComponent.cs diff --git a/Content.Client/UserInterface/Systems/Chat/Widgets/ChatBox.xaml.cs b/Content.Client/UserInterface/Systems/Chat/Widgets/ChatBox.xaml.cs index 9853ddcf411d08..a8a0ee2d284bb3 100644 --- a/Content.Client/UserInterface/Systems/Chat/Widgets/ChatBox.xaml.cs +++ b/Content.Client/UserInterface/Systems/Chat/Widgets/ChatBox.xaml.cs @@ -1,9 +1,11 @@ using Content.Client.UserInterface.Systems.Chat.Controls; using Content.Shared.Chat; using Content.Shared.Input; +using Content.Shared.SS220.ShowCodewords; using Robust.Client.Audio; using Robust.Client.AutoGenerated; using Robust.Client.GameObjects; +using Robust.Client.Player; using Robust.Client.UserInterface; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.XAML; @@ -65,6 +67,20 @@ private void OnMessageAdded(ChatMessage msg) var color = msg.MessageColorOverride ?? msg.Channel.TextColor(); + //ss220 codewords highlight add start + var playerManager = IoCManager.Resolve(); + var entManager = IoCManager.Resolve(); + + if (playerManager.LocalEntity != null && + entManager.TryGetComponent(playerManager.LocalEntity, out var showCodewordsComponent)) + { + foreach (var codeword in showCodewordsComponent.CodeWords) + { + msg.WrappedMessage = msg.WrappedMessage.Replace(codeword, $"[color=pink]{codeword}[/color]"); + } + } + //ss220 codewords highlight add end + AddLine(msg.WrappedMessage, color); } diff --git a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs index a75d43169043f3..e033d37c645aaf 100644 --- a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs @@ -18,6 +18,7 @@ using System.Text; using Content.Shared.GameTicking.Components; using Content.Server.SS220.MindSlave; +using Content.Shared.SS220.ShowCodewords; namespace Content.Server.GameTicking.Rules; @@ -106,6 +107,13 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component, bool component.TraitorMinds.Add(mindId); + //ss220 codewords highlight add start + + var showCodewordsComp = EnsureComp(traitor); + showCodewordsComp.CodeWords = component.Codewords; + + //ss220 codewords highlight add end + // Assign briefing _roleSystem.MindAddRole(mindId, new RoleBriefingComponent { diff --git a/Content.Shared/SS220/ShowCodewords/ShowCodewordsComponent.cs b/Content.Shared/SS220/ShowCodewords/ShowCodewordsComponent.cs new file mode 100644 index 00000000000000..2f82b2c3d61efd --- /dev/null +++ b/Content.Shared/SS220/ShowCodewords/ShowCodewordsComponent.cs @@ -0,0 +1,11 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.SS220.ShowCodewords; + +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState] +public sealed partial class ShowCodewordsComponent : Component +{ + [DataField("codewords"), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + public string[] CodeWords; +} From 85e3ecf3e01559332618b09d0b6c8cd1cad2811b Mon Sep 17 00:00:00 2001 From: Maxon Date: Tue, 13 Aug 2024 21:51:51 +0000 Subject: [PATCH 23/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 640af327f2ab97..086239b9aa3479 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4724,3 +4724,13 @@ id: 374 time: '2024-08-13T13:57:48.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1576 +- author: ReeZii + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u043F\u043E\u0434\ + \u0441\u0432\u0435\u0442\u043A\u0430 \u043A\u043E\u0434\u043E\u0432\u044B\u0445\ + \ \u0441\u043B\u043E\u0432 \u0434\u043B\u044F \u0442\u0440\u0435\u0439\u0442\ + \u0435\u0440\u043E\u0432" + type: Add + id: 375 + time: '2024-08-13T21:50:47.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1582 From 4c1f8f93352839fd0272816aa27ef70fe7976b4f Mon Sep 17 00:00:00 2001 From: Stalen <33173619+stalengd@users.noreply.github.com> Date: Wed, 14 Aug 2024 01:06:20 +0300 Subject: [PATCH 24/26] Texture fade overlay (#1580) --- Content.Client/SS220/Overlays/OverlayStack.cs | 119 ++++++++++++++++++ .../SS220/TextureFade/TextureFadeOverlay.cs | 75 +++++++++++ .../TextureFadeOverlayComponent.cs | 36 ++++++ .../TextureFade/TextureFadeOverlaySystem.cs | 82 ++++++++++++ .../TextureFadeOverlayComponent.cs | 9 ++ .../SharedTextureFadeOverlayComponent.cs | 10 ++ .../Prototypes/SS220/Shaders/texture_fade.yml | 5 + .../Textures/SS220/Shaders/texture_fade.swsl | 12 ++ 8 files changed, 348 insertions(+) create mode 100644 Content.Client/SS220/Overlays/OverlayStack.cs create mode 100644 Content.Client/SS220/TextureFade/TextureFadeOverlay.cs create mode 100644 Content.Client/SS220/TextureFade/TextureFadeOverlayComponent.cs create mode 100644 Content.Client/SS220/TextureFade/TextureFadeOverlaySystem.cs create mode 100644 Content.Server/SS220/TextureFade/TextureFadeOverlayComponent.cs create mode 100644 Content.Shared/SS220/TextureFade/SharedTextureFadeOverlayComponent.cs create mode 100644 Resources/Prototypes/SS220/Shaders/texture_fade.yml create mode 100644 Resources/Textures/SS220/Shaders/texture_fade.swsl diff --git a/Content.Client/SS220/Overlays/OverlayStack.cs b/Content.Client/SS220/Overlays/OverlayStack.cs new file mode 100644 index 00000000000000..80d2433542836c --- /dev/null +++ b/Content.Client/SS220/Overlays/OverlayStack.cs @@ -0,0 +1,119 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +using Robust.Client.Graphics; +using Robust.Shared.Enums; +using Robust.Shared.Timing; + +namespace Content.Client.SS220.Overlays +{ + /// + /// Special overlays container created to bypass limits of not supporting multiple overlays of the same type. + /// + public sealed class OverlayStack : Overlay + { + public override OverlaySpace Space => _space; + private readonly SortedDictionary _overlays = new(OverlayComparer.Instance); + + private OverlaySpace _space; + + public bool AddOverlay(StackableOverlay overlay) + { + if (_overlays.ContainsKey(overlay)) + return false; + _overlays.Add(overlay, new()); + _space |= overlay.Space; + return true; + } + + public bool RemoveOverlay(StackableOverlay overlay) + { + if (!_overlays.ContainsKey(overlay)) + return false; + _overlays.Remove(overlay); + return true; + } + + protected override void FrameUpdate(FrameEventArgs args) + { + foreach (var (overlay, _) in _overlays) + { + overlay.FrameUpdatePublic(args); + } + } + + protected override bool BeforeDraw(in OverlayDrawArgs args) + { + var result = false; + foreach (var (overlay, data) in _overlays) + { + if (!ShouldDraw(overlay, args)) + continue; + var shouldDraw = overlay.BeforeDrawPublic(in args); + data.ShouldDrawThisFrame = shouldDraw; + result |= shouldDraw; + } + return result; + } + + protected override void Draw(in OverlayDrawArgs args) + { + foreach (var (overlay, data) in _overlays) + { + if (!ShouldDraw(overlay, args) || !data.ShouldDrawThisFrame) + continue; + overlay.DrawPublic(in args); + } + } + + public static OverlayStack Get(IOverlayManager overlayManager) + { + if (overlayManager.TryGetOverlay(out var overlay)) + return overlay; + overlay = new OverlayStack(); + overlayManager.AddOverlay(overlay); + return overlay; + } + + private static bool ShouldDraw(StackableOverlay overlay, OverlayDrawArgs drawArgs) + { + return (overlay.Space & drawArgs.Space) != 0; + } + + private sealed class OverlayData + { + public bool ShouldDrawThisFrame; + } + + private sealed class OverlayComparer : IComparer + { + public static readonly OverlayComparer Instance = new(); + + public int Compare(Overlay? x, Overlay? y) + { + var zX = x?.ZIndex ?? 0; + var zY = y?.ZIndex ?? 0; + return zX.CompareTo(zY); + } + } + } + + /// + /// An overlay supported by + /// + public abstract class StackableOverlay : Overlay + { + public void FrameUpdatePublic(FrameEventArgs args) + { + FrameUpdate(args); + } + + public bool BeforeDrawPublic(in OverlayDrawArgs args) + { + return BeforeDraw(in args); + } + + public void DrawPublic(in OverlayDrawArgs args) + { + Draw(in args); + } + } +} diff --git a/Content.Client/SS220/TextureFade/TextureFadeOverlay.cs b/Content.Client/SS220/TextureFade/TextureFadeOverlay.cs new file mode 100644 index 00000000000000..e0be72beb9762c --- /dev/null +++ b/Content.Client/SS220/TextureFade/TextureFadeOverlay.cs @@ -0,0 +1,75 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +using System.Numerics; +using Content.Client.SS220.Overlays; +using Robust.Client.GameObjects; +using Robust.Client.Graphics; +using Robust.Shared.Enums; +using Robust.Shared.Prototypes; +using Robust.Shared.Timing; +using Robust.Shared.Utility; + +namespace Content.Client.SS220.TextureFade; + +/// +/// Performs alpha clip on the privided texture with variable threshold (threshold filter). See for more automatic use. +/// +public sealed class TextureFadeOverlay : StackableOverlay +{ + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; + private readonly SpriteSystem _spriteSystem = default!; + + public override OverlaySpace Space => OverlaySpace.WorldSpace; + public SpriteSpecifier? Sprite; + public Color Modulate = Color.White; + public float FadeProgress = 0f; + public TimeSpan Time; + public bool Loop = true; + + private readonly ShaderInstance _shader; + + public TextureFadeOverlay() + { + IoCManager.InjectDependencies(this); + _spriteSystem = _entityManager.EntitySysManager.GetEntitySystem(); + _shader = _prototypeManager.Index("TextureFade").InstanceUnique(); + } + + protected override void FrameUpdate(FrameEventArgs args) + { + Time += TimeSpan.FromSeconds(args.DeltaSeconds); + } + + protected override void Draw(in OverlayDrawArgs args) + { + if (Sprite == null) + return; + + var texture = _spriteSystem.GetFrame(Sprite, Time, Loop); + + var worldHandle = args.WorldHandle; + _shader.SetParameter("FadeProgress", FadeProgress); + + var viewQuad = args.WorldBounds; + var viewSize = viewQuad.Box.Size; + var viewRatio = viewSize.X / viewSize.Y; + var regionSize = texture.Size; + var regionRatio = (float)regionSize.X / regionSize.Y; + var scaleBy = Vector2.One; + if (viewRatio > regionRatio) + { + scaleBy.Y = viewRatio / regionRatio; + } + else + { + scaleBy.X = regionRatio / viewRatio; + } + viewQuad.Box = viewQuad.Box.Scale(scaleBy); + + worldHandle.Modulate = Modulate; + worldHandle.UseShader(_shader); + worldHandle.DrawTextureRectRegion(texture, viewQuad); + worldHandle.UseShader(null); + worldHandle.Modulate = Color.White; + } +} diff --git a/Content.Client/SS220/TextureFade/TextureFadeOverlayComponent.cs b/Content.Client/SS220/TextureFade/TextureFadeOverlayComponent.cs new file mode 100644 index 00000000000000..52c1642e0286bd --- /dev/null +++ b/Content.Client/SS220/TextureFade/TextureFadeOverlayComponent.cs @@ -0,0 +1,36 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +using Content.Shared.SS220.TextureFade; +using Robust.Shared.Utility; + +namespace Content.Client.SS220.TextureFade; + +/// +/// Component for automatic texture fade processing, you can still use directly. +/// You can use all this data fiels directly in code to enable/disable, set progress, etc. +/// +[RegisterComponent] +public sealed partial class TextureFadeOverlayComponent : SharedTextureFadeOverlayComponent +{ + [DataField, ViewVariables(VVAccess.ReadWrite)] + public bool IsEnabled = false; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public float FadeProgress = 1; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public SpriteSpecifier Sprite = SpriteSpecifier.Invalid; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public Color Modulate = Color.White; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public int ZIndex = 0; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public float ProgressSpeed = 0; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public float MinProgress = 0; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public float MaxProgress = 1; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public float PulseMagnitude = 0; + [DataField, ViewVariables(VVAccess.ReadWrite)] + public float PulseRate = 0; + + public TextureFadeOverlay? Overlay; +} diff --git a/Content.Client/SS220/TextureFade/TextureFadeOverlaySystem.cs b/Content.Client/SS220/TextureFade/TextureFadeOverlaySystem.cs new file mode 100644 index 00000000000000..166a9c5a94ca59 --- /dev/null +++ b/Content.Client/SS220/TextureFade/TextureFadeOverlaySystem.cs @@ -0,0 +1,82 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +using Content.Client.SS220.Overlays; +using Robust.Client.Graphics; + +namespace Content.Client.SS220.TextureFade; + +public sealed class TextureFadeOverlaySystem : EntitySystem +{ + [Dependency] private readonly IOverlayManager _overlayManager = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnRemove); + } + + public override void FrameUpdate(float frameTime) + { + var componentsQuery = EntityQueryEnumerator(); + while (componentsQuery.MoveNext(out var comp)) + { + HandleOverlayActivityUpdate(comp); + HandleOverlayProgressUpdate(comp, frameTime); + } + } + + private void OnRemove(Entity entity, ref ComponentRemove args) + { + DestroyOverlay(entity.Comp); + } + + private void HandleOverlayActivityUpdate(TextureFadeOverlayComponent component) + { + if (component.IsEnabled && component.Overlay is null) + { + component.Overlay = CreateOverlay(component); + return; + } + if (!component.IsEnabled && component.Overlay is { }) + { + DestroyOverlay(component); + return; + } + } + + private void HandleOverlayProgressUpdate(TextureFadeOverlayComponent component, float frameTime) + { + if (component.Overlay == null) + return; + if (component.ProgressSpeed != 0f) + { + component.FadeProgress += component.ProgressSpeed * frameTime; + component.FadeProgress = Math.Clamp(component.FadeProgress, component.MinProgress, component.MaxProgress); + } + var fadeProgressMod = component.FadeProgress; + fadeProgressMod += (float)Math.Sin(Math.PI * component.Overlay.Time.TotalSeconds * component.PulseRate) * component.PulseMagnitude; + fadeProgressMod = Math.Clamp(fadeProgressMod, 0f, 1f); + component.Overlay.FadeProgress = fadeProgressMod; + component.Overlay.Modulate = component.Modulate; + component.Overlay.ZIndex = component.ZIndex; + } + + private TextureFadeOverlay CreateOverlay(TextureFadeOverlayComponent component) + { + var overlay = new TextureFadeOverlay() + { + Sprite = component.Sprite, + Modulate = component.Modulate, + ZIndex = component.ZIndex, + }; + OverlayStack.Get(_overlayManager).AddOverlay(overlay); + return overlay; + } + + private void DestroyOverlay(TextureFadeOverlayComponent component) + { + if (component.Overlay is null) + return; + OverlayStack.Get(_overlayManager).RemoveOverlay(component.Overlay); + component.Overlay.Dispose(); + component.Overlay = null; + } +} diff --git a/Content.Server/SS220/TextureFade/TextureFadeOverlayComponent.cs b/Content.Server/SS220/TextureFade/TextureFadeOverlayComponent.cs new file mode 100644 index 00000000000000..8b0b48d9ab93dc --- /dev/null +++ b/Content.Server/SS220/TextureFade/TextureFadeOverlayComponent.cs @@ -0,0 +1,9 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +using Content.Shared.SS220.TextureFade; + +namespace Content.Server.SS220.TextureFade; + +[RegisterComponent] +public sealed partial class TextureFadeOverlayComponent : SharedTextureFadeOverlayComponent +{ +} diff --git a/Content.Shared/SS220/TextureFade/SharedTextureFadeOverlayComponent.cs b/Content.Shared/SS220/TextureFade/SharedTextureFadeOverlayComponent.cs new file mode 100644 index 00000000000000..595f847e86e73a --- /dev/null +++ b/Content.Shared/SS220/TextureFade/SharedTextureFadeOverlayComponent.cs @@ -0,0 +1,10 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +namespace Content.Shared.SS220.TextureFade; + +/// +/// Component for automatic texture fade processing. +/// Makes sense only on client. +/// +public abstract partial class SharedTextureFadeOverlayComponent : Component +{ +} diff --git a/Resources/Prototypes/SS220/Shaders/texture_fade.yml b/Resources/Prototypes/SS220/Shaders/texture_fade.yml new file mode 100644 index 00000000000000..8b2bc8ebd7fcf7 --- /dev/null +++ b/Resources/Prototypes/SS220/Shaders/texture_fade.yml @@ -0,0 +1,5 @@ +# © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +- type: shader + id: TextureFade + kind: source + path: "/Textures/SS220/Shaders/texture_fade.swsl" \ No newline at end of file diff --git a/Resources/Textures/SS220/Shaders/texture_fade.swsl b/Resources/Textures/SS220/Shaders/texture_fade.swsl new file mode 100644 index 00000000000000..af5ad221f9f7e1 --- /dev/null +++ b/Resources/Textures/SS220/Shaders/texture_fade.swsl @@ -0,0 +1,12 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +uniform highp float FadeProgress; + +void fragment() { + + highp vec4 color = texture2D(TEXTURE, UV.xy); + if (color.a <= FadeProgress) { + discard; + } + color.a = 1; + COLOR = color; +} \ No newline at end of file From 1debfd45fd7e26ff8833d347afbadc366a27360c Mon Sep 17 00:00:00 2001 From: gogenych Date: Wed, 14 Aug 2024 19:06:14 +0300 Subject: [PATCH 25/26] RoleTime 2 (#1588) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * SS220-RoleTime №2 * roletime * fix checks * fix checks 2 * fix checks 3 * fix check 4 * fix checks 7 --- .../Roles/Jobs/Cargo/cargo_technician.yml | 3 +++ .../Prototypes/Roles/Jobs/Cargo/quartermaster.yml | 3 +++ .../Roles/Jobs/Cargo/salvage_specialist.yml | 2 ++ Resources/Prototypes/Roles/Jobs/Civilian/clown.yml | 4 +++- .../Prototypes/Roles/Jobs/Civilian/lawyer.yml | 4 ++-- Resources/Prototypes/Roles/Jobs/Civilian/mime.yml | 4 +++- .../Roles/Jobs/Civilian/service_worker.yml | 3 +++ .../Prototypes/Roles/Jobs/Command/captain.yml | 2 +- .../Roles/Jobs/Command/head_of_personnel.yml | 3 +++ .../Jobs/Engineering/atmospheric_technician.yml | 2 +- .../Roles/Jobs/Engineering/technical_assistant.yml | 2 +- .../Prototypes/Roles/Jobs/Medical/chemist.yml | 2 +- .../Roles/Jobs/Medical/chief_medical_officer.yml | 3 +++ .../Roles/Jobs/Medical/medical_intern.yml | 2 +- .../Prototypes/Roles/Jobs/Medical/paramedic.yml | 2 +- .../Roles/Jobs/Science/research_assistant.yml | 2 +- .../Roles/Jobs/Security/head_of_security.yml | 3 +++ .../Roles/Jobs/Security/security_cadet.yml | 2 +- .../Prototypes/SS220/Roles/Jobs/security_pilot.yml | 2 +- .../Prototypes/SS220/Roles/Jobs/senior_sec.yml | 5 +---- .../Prototypes/SS220/Roles/Jobs/senior_service.yml | 14 ++++++++++---- 21 files changed, 48 insertions(+), 21 deletions(-) diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml b/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml index 655e103bca25fc..18d3a31680666c 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml @@ -3,6 +3,9 @@ name: job-name-cargotech description: job-description-cargotech playTimeTracker: JobCargoTechnician + requirements: + - !type:OverallPlaytimeRequirement + time: 3600 # SS220-RoleTime 2 startingGear: CargoTechGear icon: "JobIconCargoTechnician" supervisors: job-supervisors-qm diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml index 8f64d1c60287bb..45b49369a7e63d 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml @@ -7,6 +7,9 @@ - !type:DepartmentTimeRequirement department: Cargo time: 108000 # SS220-RoleTime + - !type:RoleTimeRequirement + role: JobSalvageSpecialist + time: 18000 # SS220-RoleTime 2 - !type:OverallPlaytimeRequirement time: 180000 # SS220-RoleTime - !type:AgeRequirement diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml index 150938a05b45d6..46a9d302cda772 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml @@ -7,6 +7,8 @@ - !type:DepartmentTimeRequirement department: Cargo time: 36000 # SS220-RoleTime + - !type:OverallPlaytimeRequirement + time: 72000 # SS220-RoleTime 2 icon: "JobIconShaftMiner" startingGear: SalvageSpecialistGear supervisors: job-supervisors-qm diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml index d67c81fdef8bce..264533a27c1c8b 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml @@ -6,7 +6,9 @@ requirements: - !type:DepartmentTimeRequirement department: Civilian - time: 18000 # SS220-RoleTime + time: 36000 # SS220-RoleTime 2 + - !type:OverallPlaytimeRequirement + time: 72000 # SS220-RoleTime 2 startingGear: ClownGear icon: "JobIconClown" supervisors: job-supervisors-hop diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml b/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml index 09cf08fb5852f3..11013e52182d40 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml @@ -5,8 +5,8 @@ playTimeTracker: JobLawyer requirements: - !type:DepartmentTimeRequirement - department: Civilian - time: 72000 # SS220-RoleTime + department: Security + time: 36000 # SS220-RoleTime 2 startingGear: LawyerGear setPreference: true # SS220 return-of-the-lawyer icon: "JobIconLawyer" diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml b/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml index 2d15247f1950e4..2db3f7d9c09248 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml @@ -6,7 +6,9 @@ requirements: - !type:DepartmentTimeRequirement department: Civilian - time: 18000 # SS220-RoleTime + time: 36000 # SS220-RoleTime 2 + - !type:OverallPlaytimeRequirement + time: 72000 # SS220-RoleTime 2 startingGear: MimeGear icon: "JobIconMime" supervisors: job-supervisors-hop diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml b/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml index 1ccc8fada1e300..8e66a680b6f66b 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml @@ -3,6 +3,9 @@ name: job-name-serviceworker description: job-description-serviceworker playTimeTracker: JobServiceWorker + requirements: + - !type:OverallPlaytimeRequirement + time: 3600 # SS220-RoleTime 2 startingGear: ServiceWorkerGear icon: "JobIconServiceWorker" supervisors: job-supervisors-service diff --git a/Resources/Prototypes/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/Roles/Jobs/Command/captain.yml index ee297bf8887ac9..6bc7f58e1ca0b7 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/captain.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/captain.yml @@ -6,7 +6,7 @@ requirements: - !type:DepartmentTimeRequirement department: Command - time: 180000 # SS220-RoleTime + time: 288000 # SS220-RoleTime 2 - !type:AgeRequirement requiredAge: 20 - !type:SpeciesRequirement #SS220-jobbans begin diff --git a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml index 81b91707581200..8a28fe8ab60df3 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml @@ -6,6 +6,9 @@ requirements: - !type:OverallPlaytimeRequirement time: 180000 # SS220-RoleTime + - !type:DepartmentTimeRequirement + department: Civilian + time: 72000 # SS220-RoleTime 2 - !type:AgeRequirement requiredAge: 20 - !type:SpeciesRequirement #SS220-jobbans begin diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml b/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml index f819dfc8a83f77..bd99624e3aec7d 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml @@ -6,7 +6,7 @@ requirements: - !type:DepartmentTimeRequirement department: Engineering - time: 18000 # SS220-RoleTime + time: 36000 # SS220-RoleTime 2 startingGear: AtmosphericTechnicianGear icon: "JobIconAtmosphericTechnician" supervisors: job-supervisors-ce diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml b/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml index 87c9b0587d21e4..fb31768c7e8af7 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml @@ -5,7 +5,7 @@ playTimeTracker: JobTechnicalAssistant requirements: - !type:OverallPlaytimeRequirement - time: 18000 # SS220-RoleTime + time: 3600 # SS220-RoleTime 2 startingGear: TechnicalAssistantGear icon: "JobIconTechnicalAssistant" supervisors: job-supervisors-engineering diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml b/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml index edde75e96749a1..b2c63562f5409f 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml @@ -6,7 +6,7 @@ requirements: - !type:DepartmentTimeRequirement department: Medical - time: 18000 # SS220-RoleTime + time: 36000 # SS220-RoleTime 2 startingGear: ChemistGear icon: "JobIconChemist" supervisors: job-supervisors-cmo diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml index 59f87d46ef6e39..1527a2cb6a7fa5 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml @@ -9,6 +9,9 @@ - !type:DepartmentTimeRequirement department: Medical time: 180000 # SS220-RoleTime + - !type:RoleTimeRequirement + role: JobChemist + time: 18000 # SS220-RoleTime 2 - !type:AgeRequirement requiredAge: 20 - !type:SpeciesRequirement #SS220-jobbans begin diff --git a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml index 9d683f2fa8ae50..f55de0d2e57e4e 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml @@ -5,7 +5,7 @@ playTimeTracker: JobMedicalIntern requirements: - !type:OverallPlaytimeRequirement - time: 18000 # SS220-RoleTime + time: 3600 # SS220-RoleTime 2 startingGear: MedicalInternGear icon: "JobIconMedicalIntern" supervisors: job-supervisors-medicine diff --git a/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml b/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml index 64327448186745..bba55da9686ad8 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml @@ -6,7 +6,7 @@ requirements: - !type:DepartmentTimeRequirement department: Medical - time: 36000 # SS220-RoleTime + time: 54000 # SS220-RoleTime 2 startingGear: ParamedicGear icon: "JobIconParamedic" supervisors: job-supervisors-cmo diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml b/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml index d522618bc1c69c..fd82928b846d50 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml @@ -5,7 +5,7 @@ playTimeTracker: JobResearchAssistant requirements: - !type:OverallPlaytimeRequirement - time: 18000 # SS220-RoleTime + time: 3600 # SS220-RoleTime №2 startingGear: ResearchAssistantGear icon: "JobIconResearchAssistant" supervisors: job-supervisors-science diff --git a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml index d6793919e60b06..872460d65ee353 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml @@ -7,6 +7,9 @@ - !type:DepartmentTimeRequirement department: Security time: 180000 # SS220-RoleTime + - !type:RoleTimeRequirement + role: JobWarden + time: 43200 # SS220-RoleTime 2 - !type:AgeRequirement requiredAge: 20 - !type:SpeciesRequirement #SS220-jobbans begin diff --git a/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml b/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml index 8b88733a14d52f..b8531e63ac5fec 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml @@ -5,7 +5,7 @@ playTimeTracker: JobSecurityCadet requirements: - !type:OverallPlaytimeRequirement - time: 18000 # SS220-RoleTime + time: 36000 # SS220-RoleTime 2 - !type:SpeciesRequirement #SS220-jobbans begin inverted: true species: diff --git a/Resources/Prototypes/SS220/Roles/Jobs/security_pilot.yml b/Resources/Prototypes/SS220/Roles/Jobs/security_pilot.yml index 4b677e38b91735..fd3e59fa43760a 100644 --- a/Resources/Prototypes/SS220/Roles/Jobs/security_pilot.yml +++ b/Resources/Prototypes/SS220/Roles/Jobs/security_pilot.yml @@ -6,7 +6,7 @@ requirements: - !type:DepartmentTimeRequirement department: Security - time: 36000 # SS220-RoleTime + time: 54000 # SS220-RoleTime 2 - !type:SpeciesRequirement #SS220-jobbans begin inverted: true species: diff --git a/Resources/Prototypes/SS220/Roles/Jobs/senior_sec.yml b/Resources/Prototypes/SS220/Roles/Jobs/senior_sec.yml index 02e77924a14774..26fcb292645c42 100644 --- a/Resources/Prototypes/SS220/Roles/Jobs/senior_sec.yml +++ b/Resources/Prototypes/SS220/Roles/Jobs/senior_sec.yml @@ -7,9 +7,6 @@ - !type:RoleTimeRequirement role: JobWarden time: 43200 #12 hrs - - !type:RoleTimeRequirement - role: JobDetective - time: 15400 #4 hrs - !type:RoleTimeRequirement role: JobSecurityOfficer time: 72000 #20 hrs @@ -47,4 +44,4 @@ - MagazinePistolRubber #SS220-DeleteSecurityLetal-Begin - MagazinePistolRubber - FlashlightSeclite - - DrinkRelaxingPeachCan #SS220-DeleteSecurityLetal-End + - DrinkRelaxingPeachCan #SS220-DeleteSecurityLetal-End \ No newline at end of file diff --git a/Resources/Prototypes/SS220/Roles/Jobs/senior_service.yml b/Resources/Prototypes/SS220/Roles/Jobs/senior_service.yml index 9fcea673f5b406..5e20a86adc26d4 100644 --- a/Resources/Prototypes/SS220/Roles/Jobs/senior_service.yml +++ b/Resources/Prototypes/SS220/Roles/Jobs/senior_service.yml @@ -4,12 +4,18 @@ description: job-description-senior-service playTimeTracker: JobSeniorService requirements: - - !type:RoleTimeRequirement - role: JobServiceWorker - time: 43200 #12 ч - !type:RoleTimeRequirement role: JobJanitor - time: 43200 #12 ч + time: 18000 # SS220-RoleTime 2 + - !type:RoleTimeRequirement + role: JobChef + time: 18000 # SS220-RoleTime 2 + - !type:RoleTimeRequirement + role: JobBotanist + time: 18000 # SS220-RoleTime 2 + - !type:RoleTimeRequirement + role: JobBartender + time: 18000 # SS220-RoleTime 2 - !type:DepartmentTimeRequirement department: Civilian time: 216000 # 60 ч From 67af4adca3331fc76f7a1797433904581b75365e Mon Sep 17 00:00:00 2001 From: Maxon Date: Wed, 14 Aug 2024 16:07:18 +0000 Subject: [PATCH 26/26] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 086239b9aa3479..29537a3bd96882 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4734,3 +4734,12 @@ id: 375 time: '2024-08-13T21:50:47.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1582 +- author: gogenych + changes: + - message: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u0447\u0430\u0441\u044B\ + \ \u043D\u0430 \u043E\u0442\u043A\u0440\u044B\u0442\u0438\u0435 \u0440\u043E\ + \u043B\u0435\u0439." + type: Tweak + id: 376 + time: '2024-08-14T16:06:14.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1588